From 5e06828dff0fe6b97cc215826872788b55c77397 Mon Sep 17 00:00:00 2001 From: nicoo Date: Sat, 19 Jun 2021 21:11:28 +0200 Subject: [PATCH 1/2] factorio: Fix bug in update.py Prior to this change, `update.py` fails with `KeyError: 'alpha'` when upstream does not have a version in the `experimental` channel: ./update.py --username XXXXXXXX --token "$(wl-paste)" Traceback (most recent call last): File "./update.py", line 180, in app.run(main) File "/nix/store/854z51wg8fj1s6ghxasp1xxx8khb3r8v-python3-3.8.9-env/lib/python3.8/site-packages/absl/app.py", line 303, in run _run_main(main, args) File "/nix/store/854z51wg8fj1s6ghxasp1xxx8khb3r8v-python3-3.8.9-env/lib/python3.8/site-packages/absl/app.py", line 251, in _run_main sys.exit(main(argv)) File "./update.py", line 162, in main new_our_versions = generate_our_versions(factorio_versions) File "./update.py", line 92, in generate_our_versions version = factorio_versions[release_channel.name][release_type.name] KeyError: 'alpha' I chose to make it so that the versions in nixpkgs' `factorio-*` packages are either experimental (when available) or stable, as this seems like the most coherent approach --- pkgs/games/factorio/update.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/games/factorio/update.py b/pkgs/games/factorio/update.py index b1cdce6b4aa1..3806ba3614f1 100755 --- a/pkgs/games/factorio/update.py +++ b/pkgs/games/factorio/update.py @@ -80,6 +80,12 @@ def fetch_versions() -> FactorioVersionsJSON: def generate_our_versions(factorio_versions: FactorioVersionsJSON) -> OurVersionJSON: rec_dd = lambda: defaultdict(rec_dd) output = rec_dd() + + # Deal with times where there's no experimental version + for rc in RELEASE_CHANNELS: + if not factorio_versions[rc.name]: + factorio_versions[rc.name] = factorio_versions['stable'] + for system in SYSTEMS: for release_type in RELEASE_TYPES: for release_channel in RELEASE_CHANNELS: From e5baf82e87ac9f2d5bd8c60f20f3021f0d7df79e Mon Sep 17 00:00:00 2001 From: nicoo Date: Sat, 19 Jun 2021 21:16:15 +0200 Subject: [PATCH 2/2] =?UTF-8?q?factorio:=201.1.34=20=E2=86=92=201.1.35?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/games/factorio/versions.json | 48 +++++++++++++++---------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/pkgs/games/factorio/versions.json b/pkgs/games/factorio/versions.json index 29c2d6a7bb3f..b230d94cfa53 100644 --- a/pkgs/games/factorio/versions.json +++ b/pkgs/games/factorio/versions.json @@ -2,56 +2,56 @@ "x86_64-linux": { "alpha": { "experimental": { - "name": "factorio_alpha_x64-1.1.34.tar.xz", + "name": "factorio_alpha_x64-1.1.35.tar.xz", "needsAuth": true, - "sha256": "1gba6ivxdhj8khk6kfja2nzvqbbjlq1gzk8vlb23mkzqcmf4gnqc", + "sha256": "1svjjpyffdrmll1b3icsrikfi4v2r1z6j7iqq0v36iq0zw7vw3bk", "tarDirectory": "x64", - "url": "https://factorio.com/get-download/1.1.34/alpha/linux64", - "version": "1.1.34" + "url": "https://factorio.com/get-download/1.1.35/alpha/linux64", + "version": "1.1.35" }, "stable": { - "name": "factorio_alpha_x64-1.1.34.tar.xz", + "name": "factorio_alpha_x64-1.1.35.tar.xz", "needsAuth": true, - "sha256": "1gba6ivxdhj8khk6kfja2nzvqbbjlq1gzk8vlb23mkzqcmf4gnqc", + "sha256": "1svjjpyffdrmll1b3icsrikfi4v2r1z6j7iqq0v36iq0zw7vw3bk", "tarDirectory": "x64", - "url": "https://factorio.com/get-download/1.1.34/alpha/linux64", - "version": "1.1.34" + "url": "https://factorio.com/get-download/1.1.35/alpha/linux64", + "version": "1.1.35" } }, "demo": { "experimental": { - "name": "factorio_demo_x64-1.1.30.tar.xz", + "name": "factorio_demo_x64-1.1.35.tar.xz", "needsAuth": false, - "sha256": "1b3na8xn9lhlvrsd6hxr130nf9p81s26n25a4qdgkczz6waysgjv", + "sha256": "0yqb4gf2avpxr4vwafws9pv74xyd9g84zggfikfc801ldc7sp29f", "tarDirectory": "x64", - "url": "https://factorio.com/get-download/1.1.30/demo/linux64", - "version": "1.1.30" + "url": "https://factorio.com/get-download/1.1.35/demo/linux64", + "version": "1.1.35" }, "stable": { - "name": "factorio_demo_x64-1.1.34.tar.xz", + "name": "factorio_demo_x64-1.1.35.tar.xz", "needsAuth": false, - "sha256": "1ld373lxfx1xbaqq394az8sxfxpjwkyqwwr77wbmg4sm2g9dinxm", + "sha256": "0yqb4gf2avpxr4vwafws9pv74xyd9g84zggfikfc801ldc7sp29f", "tarDirectory": "x64", - "url": "https://factorio.com/get-download/1.1.34/demo/linux64", - "version": "1.1.34" + "url": "https://factorio.com/get-download/1.1.35/demo/linux64", + "version": "1.1.35" } }, "headless": { "experimental": { - "name": "factorio_headless_x64-1.1.34.tar.xz", + "name": "factorio_headless_x64-1.1.35.tar.xz", "needsAuth": false, - "sha256": "0sfafdvfhhvxnhf7q23xnvckx8nihg5xzzc6dw39a3iprwhr75i1", + "sha256": "0xpiw89ad6cfpc576g5jpsyzwjncs3jrx01056p52wj01747fm94", "tarDirectory": "x64", - "url": "https://factorio.com/get-download/1.1.34/headless/linux64", - "version": "1.1.34" + "url": "https://factorio.com/get-download/1.1.35/headless/linux64", + "version": "1.1.35" }, "stable": { - "name": "factorio_headless_x64-1.1.34.tar.xz", + "name": "factorio_headless_x64-1.1.35.tar.xz", "needsAuth": false, - "sha256": "0sfafdvfhhvxnhf7q23xnvckx8nihg5xzzc6dw39a3iprwhr75i1", + "sha256": "0xpiw89ad6cfpc576g5jpsyzwjncs3jrx01056p52wj01747fm94", "tarDirectory": "x64", - "url": "https://factorio.com/get-download/1.1.34/headless/linux64", - "version": "1.1.34" + "url": "https://factorio.com/get-download/1.1.35/headless/linux64", + "version": "1.1.35" } } }