diff --git a/pkgs/by-name/le/legends-of-equestria/package.nix b/pkgs/by-name/le/legends-of-equestria/package.nix
index 12107ca9a2f6..0fbd11cb3700 100644
--- a/pkgs/by-name/le/legends-of-equestria/package.nix
+++ b/pkgs/by-name/le/legends-of-equestria/package.nix
@@ -33,21 +33,21 @@
let
pname = "legends-of-equestria";
- version = "2025.02.001";
+ version = "2025.04.001";
description = "Free-to-play MMORPG";
srcOptions = {
x86_64-linux = {
- url = "https://mega.nz/file/w6pxUQJS#5r_oxsCqLyIUya8fbIATPtKAbsacXkD-bVArjjOBu3w";
- outputHash = "k5kASgZwCoKVtHDEFjegAl31KZlrkNse4Baph1l/SUc=";
+ url = "https://mega.nz/file/w7BQTCAD#zW1atRLzSd1-V8GV7s7yj_HVZwB4v8zuX3aWIjA0ztc";
+ outputHash = "YYPxS/qNl/DvNmiGZorRGoONbtAI3nJslqCRzctwoz8=";
};
x86_64-darwin = {
- url = "https://mega.nz/file/wyoHSZTK#ig1laiSWijTxnN_tS2m5di1Mdly8zDHP1euLVFqG_ug";
- outputHash = "pQpattmS9VmO3ZIQUFn66az8GSmB4IvYhTTCFn6SUmo=";
+ url = "https://mega.nz/file/IqgBEJTD#aUd6LgigncoQ8o3owSkadYRp7GkfIOWl4B1Hwzti1qk";
+ outputHash = "XdcHM6zCDNFU5VJo3/QISuhtYnBKm1f6IEDfy6Fjnp8=";
};
aarch64-darwin = {
- url = "https://mega.nz/file/EihRWKgb#KDtmmzLWVKW5uxkKkBEVE0yJioYPkOqutWwwMLhbedA";
- outputHash = "pQpattmS9VmO3ZIQUFn66az8GSmB4IvYhTTCFn6SUmo=";
+ url = "https://mega.nz/file/QyZnkYYB#EtAZrVdHgqX10ag09M9nhJVEboG0J_5f_nVKxCHskYg";
+ outputHash = "GA0Zin+vlgYfBFC1ZbkkgX1eSn/NVBYuxuv8fayXMLU=";
};
};
diff --git a/pkgs/by-name/le/legends-of-equestria/update.sh b/pkgs/by-name/le/legends-of-equestria/update.sh
index bcac4dbbd00b..1035b733a8da 100755
--- a/pkgs/by-name/le/legends-of-equestria/update.sh
+++ b/pkgs/by-name/le/legends-of-equestria/update.sh
@@ -4,8 +4,9 @@
set -eu -o pipefail
ATTR=legends-of-equestria
-DOWNLOADS_PAGE=https://www.legendsofequestria.com/downloads
-OLD_VERSION=$(nix-instantiate --eval -A $ATTR.version | tr -d '"')
+DOWNLOADS_PAGE="$(curl -s "$(nix-instantiate --eval -A "$ATTR.meta.downloadPage" | tr -d '"')")"
+OLD_VERSION="$(nix-instantiate --eval -A "$ATTR.version" | tr -d '"')"
+NIX_FILE="$(nix-instantiate --eval -A "$ATTR.meta.position" | sed -re 's/^"(.*):[0-9]+"$/\1/')"
TMP=$(mktemp -d)
findHash() {
@@ -30,24 +31,32 @@ applyUpdate() {
system=$1
echo "checking for updates for $system..." >&2
systemText="$2"
- regex=''"$systemText"'.+v(([0-9]+\.)+[0-9]+)'
+ regex=''"$systemText"'.+v(([0-9]+\.)+[0-9]+)'
- if [[ "$(curl -s $DOWNLOADS_PAGE | grep -Fi "$systemText")" =~ $regex ]]; then
+ mapfile -t matches < <(echo "$DOWNLOADS_PAGE" | grep -Fi "$systemText")
+ for ((i=${#matches[@]}-1; i>=0; i--)); do
+ if [[ ${matches[i]} =~ $regex ]]; then
url="${BASH_REMATCH[1]}"
version="${BASH_REMATCH[2]}"
echo "$version $url" >&2
- else
+ break
+ fi
+ done
+ if [[ -z $url || -z $version ]]; then
echo "cannot find the latest version for $system" >&2
exit 1
fi
if [[ $OLD_VERSION == $version ]]; then
echo "already up-to-date at version $version" >&2
- exit 1
+ exit 0
fi
hash="$(findHash $system "$url" | sed -E 's/sha256-(.+)/\1/')"
echo "output hash: $hash" >&2
- update-source-version $ATTR $version "$hash" "$url" --system=$system --ignore-same-version --ignore-same-hash
+
+ oldUrl="$(nix-instantiate --system $system --eval -A $ATTR.src.url | tr -d '"')"
+ oldHash="$(nix-instantiate --system $system --eval -A $ATTR.src.outputHash | tr -d '"')"
+ sed -i "s|$OLD_VERSION|$version|; s|$oldUrl|$url|; s|$oldHash|$hash|" "$NIX_FILE"
}
applyUpdate x86_64-linux Linux