From 1f3aeb467dbe01cbbc66e4f1d097b1357344f6f7 Mon Sep 17 00:00:00 2001 From: Harbiinger <=> Date: Mon, 26 Aug 2024 12:13:18 +0200 Subject: [PATCH] ankama-launcher: init at 3.12.24 Co-authored-by: FilipeS0usa --- pkgs/by-name/an/ankama-launcher/package.nix | 62 +++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 pkgs/by-name/an/ankama-launcher/package.nix diff --git a/pkgs/by-name/an/ankama-launcher/package.nix b/pkgs/by-name/an/ankama-launcher/package.nix new file mode 100644 index 000000000000..d2977d638a51 --- /dev/null +++ b/pkgs/by-name/an/ankama-launcher/package.nix @@ -0,0 +1,62 @@ +{ + appimageTools, + fetchurl, + lib, +}: +let + pname = "ankama-launcher"; + version = "3.12.24"; + + # The original URL for the launcher is: + # https://launcher.cdn.ankama.com/installers/production/Ankama%20Launcher-Setup-x86_64.AppImage + # As it does not encode the version, we use the wayback machine (web.archive.org) to get a fixed URL. + # To update the client, head to web.archive.org and create a new snapshot of the download page. + src = fetchurl { + url = "https://web.archive.org/web/20241202103051/https://launcher.cdn.ankama.com/installers/production/Ankama%20Launcher-Setup-x86_64.AppImage"; + hash = "sha256-jI/qcIIrNU9ViaZ/LKMkUETXZpintDsofSgiRfe4GOU="; + }; + + appimageContents = appimageTools.extract { inherit pname version src; }; + +in + +appimageTools.wrapType2 { + inherit pname version src; + extraPkgs = pkgs: [ pkgs.wine ]; + + extraInstallCommands = '' + desktop_file="${appimageContents}/zaap.desktop" + + nix_version="${version}" + archive_version=$(grep -oP '(?<=X-AppImage-Version=).*' $desktop_file) + + if [[ "$archive_version" != "$nix_version"* ]]; then + echo "ERROR - Version mismatch:" + echo -e "\t- Expected (pkgs.ankama-launcher.version): $nix_version" + echo -e "\t- Version found in 'zaap.desktop': $archive_version" + echo -e "\n-> Update the version attribute of the derivation." + echo "-> Note: Ignore the last part of the version: Do not write '3.12.24.19260' but '3.12.24'." + exit 1 + fi + + install -m 444 -D "$desktop_file" $out/share/applications/ankama-launcher.desktop + sed -i 's/.*Exec.*/Exec=ankama-launcher/' $out/share/applications/ankama-launcher.desktop + install -m 444 -D ${appimageContents}/zaap.png $out/share/icons/hicolor/256x256/apps/zaap.png + ''; + + meta = { + description = "Ankama Launcher"; + longDescription = '' + Ankama Launcher is a portal that allows you to access Ankama's video games, VOD animations, webtoons, and livestreams, as well as download updates, stay up to date with the latest news, and chat with your friends. + + If you encounter a `wine` error while running *Dofus*, delete or rename the `cinematics/` directory: + - Go to the directory where you installed the game and run: `mv content/gfx/cinematics content/gfx/cinematics_DISABLE` + ''; + homepage = "https://www.ankama.com/en/launcher"; + license = lib.licenses.unfree; + mainProgram = "ankama-launcher"; + maintainers = with lib.maintainers; [ harbiinger ]; + sourceProvenance = [ lib.sourceTypes.binaryNativeCode ]; + platforms = [ "x86_64-linux" ]; + }; +}