diff options
author | Niklas Hambüchen <mail@nh2.me> | 2024-05-16 23:42:37 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-16 23:42:37 +0200 |
commit | aec06422ff04e9b453970b78ff1bc5c25ba5dd67 (patch) | |
tree | 1bd9df6c3c6ae3f101afaf648e5204c7617ee85d /pkgs/by-name | |
parent | 1de09583aaaf06c3af2520492d19b4be207e0543 (diff) | |
parent | d796bb97aa9bcb8dc8e90e14fdb9c0946b32bf8f (diff) |
Merge pull request #309594 from chpatrick/anyk-3.33
anyk: 3.26.0 -> 3.33.0
Diffstat (limited to 'pkgs/by-name')
-rw-r--r-- | pkgs/by-name/an/anyk/package.nix | 18 | ||||
-rwxr-xr-x | pkgs/by-name/an/anyk/update.py | 29 | ||||
-rw-r--r-- | pkgs/by-name/an/anyk/version.json | 5 |
3 files changed, 41 insertions, 11 deletions
diff --git a/pkgs/by-name/an/anyk/package.nix b/pkgs/by-name/an/anyk/package.nix index dfd97fd622731..4e9a92081d5d2 100644 --- a/pkgs/by-name/an/anyk/package.nix +++ b/pkgs/by-name/an/anyk/package.nix @@ -15,13 +15,11 @@ , python3 }: let - # Downloads can be found here: https://nav.gov.hu/nyomtatvanyok/letoltesek/nyomtatvanykitolto_programok/nyomtatvany_apeh/keretprogramok/AbevJava - # There are no versioned download URLs but archive.org can be used to preserve them. - # The original download URL is: https://nav.gov.hu/pfile/programFile?path=/nyomtatvanyok/letoltesek/nyomtatvanykitolto_programok/nyomtatvany_apeh/keretprogramok/AbevJava - # You can put the URL here to create a fresh archive URL: https://web.archive.org/save - abevjavaSrc = fetchzip { - url = "https://web.archive.org/web/20231106112510if_/https://nav.gov.hu/pfile/programFile?path=/nyomtatvanyok/letoltesek/nyomtatvanykitolto_programok/nyomtatvany_apeh/keretprogramok/AbevJava"; - sha256 = "sha256-qt0mHv3HI6C8OltFjSR47+RLSnmB2Si5U8rXEvdN4/c="; + # Run update.py to update this file. + inherit (lib.importJSON ./version.json) version url sha256; + + src = fetchzip { + inherit url sha256; extension = "zip"; stripRoot = false; }; @@ -49,7 +47,7 @@ let (runCommandLocal "anyk-patch" {} '' mkdir $out cd $out - ${unzip}/bin/unzip ${abevjavaSrc}/application/abevjava.jar hu/piller/enykp/niszws/ClientStubBuilder.class + ${unzip}/bin/unzip ${src}/application/abevjava.jar hu/piller/enykp/niszws/ClientStubBuilder.class ${python3}/bin/python ${./patch_paths.py} hu/piller/enykp/niszws/ClientStubBuilder.class '') ]; @@ -89,9 +87,7 @@ let ''; in stdenv.mkDerivation { pname = "anyk"; - version = "3.26.0"; - - src = abevjavaSrc; + inherit version src; dontConfigure = true; dontBuild = true; diff --git a/pkgs/by-name/an/anyk/update.py b/pkgs/by-name/an/anyk/update.py new file mode 100755 index 0000000000000..0d20a9017870c --- /dev/null +++ b/pkgs/by-name/an/anyk/update.py @@ -0,0 +1,29 @@ +#! /usr/bin/env nix-shell +#! nix-shell -i python3 -p "python3.withPackages (p: [p.waybackpy])" +import subprocess +from pathlib import Path +import re +import json +import waybackpy + +# NAV doesn't provide stable versioned URLs so we put the download link in Wayback Machine to preserve it. + +print("Archiving...") +save_api = waybackpy.WaybackMachineSaveAPI("https://nav.gov.hu/pfile/programFile?path=/nyomtatvanyok/letoltesek/nyomtatvanykitolto_programok/nyomtatvany_apeh/keretprogramok/AbevJava") + +url = save_api.save() + +print("Prefetching...") +sha256, unpack_path = subprocess.check_output(["nix-prefetch-url", "--unpack", "--print-path", url], universal_newlines=True).split("\n")[:2] + +print("Extracting version...") +manifest = (Path(unpack_path) / "META-INF" / "MANIFEST.MF").read_text() + +version = re.search("Implementation-Version: (.+)", manifest).group(1) + +print("Writing version.json...") +(Path(__file__).parent / "version.json").write_text(json.dumps({ + "url": url, + "sha256": sha256, + "version": version, +}, indent=2) + "\n") diff --git a/pkgs/by-name/an/anyk/version.json b/pkgs/by-name/an/anyk/version.json new file mode 100644 index 0000000000000..8a1debce3d2c1 --- /dev/null +++ b/pkgs/by-name/an/anyk/version.json @@ -0,0 +1,5 @@ +{ + "url": "https://web.archive.org/web/20240506155046/https://nav.gov.hu/pfile/programFile?path=/nyomtatvanyok/letoltesek/nyomtatvanykitolto_programok/nyomtatvany_apeh/keretprogramok/AbevJava", + "sha256": "1bvhk8b5b1f5f940zzmpx7xp858p2a27iwqij43fs4kqagz2v782", + "version": "3.33.0" +} |