summary refs log tree commit diff
path: root/pkgs/games/factorio
diff options
context:
space:
mode:
authorSean Parsons <git@futurenotfound.com>2018-01-16 21:43:09 +0000
committerSean Parsons <git@futurenotfound.com>2018-02-15 22:05:53 +0000
commit722906669d59e33361950f87e1571f8e56bf0b67 (patch)
treee8b32a499caf90c96bbab6aa3c4eb922cdf3a352 /pkgs/games/factorio
parent9b7467eecb87714662fa8c62bf0b111cbbb5f967 (diff)
downloadnixpkgs-722906669d59e33361950f87e1571f8e56bf0b67.tar
nixpkgs-722906669d59e33361950f87e1571f8e56bf0b67.tar.gz
nixpkgs-722906669d59e33361950f87e1571f8e56bf0b67.tar.bz2
nixpkgs-722906669d59e33361950f87e1571f8e56bf0b67.tar.lz
nixpkgs-722906669d59e33361950f87e1571f8e56bf0b67.tar.xz
nixpkgs-722906669d59e33361950f87e1571f8e56bf0b67.tar.zst
nixpkgs-722906669d59e33361950f87e1571f8e56bf0b67.zip
factorio: refactor derivation to add experimental branch and upgrade to 0.16.24.
Supports the experimental and stable branches of Factorio with a new configuration option "experimental".
Diffstat (limited to 'pkgs/games/factorio')
-rw-r--r--pkgs/games/factorio/default.nix34
1 files changed, 27 insertions, 7 deletions
diff --git a/pkgs/games/factorio/default.nix b/pkgs/games/factorio/default.nix
index ac04022a462..6a5cea0634d 100644
--- a/pkgs/games/factorio/default.nix
+++ b/pkgs/games/factorio/default.nix
@@ -4,6 +4,7 @@
 , releaseType
 , mods ? []
 , username ? "" , password ? ""
+, experimental ? false
 }:
 
 assert releaseType == "alpha"
@@ -14,19 +15,38 @@ let
 
   # NB If you nix-prefetch-url any of these, be sure to add a --name arg,
   #    where the ultimate "_" (before the version) is changed to a "-".
+  branch = if experimental then "experimental" else "stable";
   binDists = {
     x86_64-linux = let bdist = bdistForArch { inUrl = "linux64"; inTar = "x64"; }; in {
-      alpha    = bdist { sha256 = "1i25q8x80qdpmf00lvml67gyklrfvmr4gfyakrx954bq8giiy4ll"; fetcher = authenticatedFetch; };
-      headless = bdist { sha256 = "0v5sypz1q6x6hi6k5cyi06f9ld0cky80l0z64psd3v2ax9hyyh8h"; };
-      demo     = bdist { sha256 = "0aca8gks7wl7yi821bcca16c94zcc41agin5j0vfz500i0sngzzw"; version = "0.15.36"; };
+      alpha = {
+        stable        = bdist { sha256 = "1i25q8x80qdpmf00lvml67gyklrfvmr4gfyakrx954bq8giiy4ll"; fetcher = authenticatedFetch; };
+        experimental  = bdist { sha256 = "0s7cn5xhzwn793bmvlhlmibhbxdpfmpnpn33k5a4hdprc5gc27rg"; version = "0.16.24"; fetcher = authenticatedFetch; };
+      };
+      headless = {
+        stable        = bdist { sha256 = "0v5sypz1q6x6hi6k5cyi06f9ld0cky80l0z64psd3v2ax9hyyh8h"; };
+        experimental  = bdist { sha256 = "1ff4yjybiqr5kw583hmxkbrbxa3haj4bkjj8sx811c3s269gspi2"; version = "0.16.24"; };
+      };
+      demo = {
+        stable        = bdist { sha256 = "0aca8gks7wl7yi821bcca16c94zcc41agin5j0vfz500i0sngzzw"; version = "0.15.36"; };
+        experimental  = bdist { };
+      };
     };
     i686-linux = let bdist = bdistForArch { inUrl = "linux32"; inTar = "i386"; }; in {
-      alpha    = bdist { sha256 = "0nnfkxxqnywx1z05xnndgh71gp4izmwdk026nnjih74m2k5j086l"; version = "0.14.23"; nameMut = asGz; };
-      headless = bdist { };
-      demo     = bdist { };
+      alpha = {
+        stable        = bdist { sha256 = "0nnfkxxqnywx1z05xnndgh71gp4izmwdk026nnjih74m2k5j086l"; version = "0.14.23"; nameMut = asGz; };
+        experimental  = bdist { };
+      };
+      headless = {
+        stable        = bdist { };
+        experimental  = bdist { };
+      };
+      demo = {
+        stable        = bdist { };
+        experimental  = bdist { };
+      };
     };
   };
-  actual = binDists.${stdenv.system}.${releaseType} or (throw "Factorio: unsupported platform");
+  actual = binDists.${stdenv.system}.${releaseType}.${branch} or (throw "Factorio: unsupported platform");
 
   bdistForArch = arch: { sha256 ? null
                        , version ? "0.15.40"