summary refs log tree commit diff
path: root/pkgs/misc
diff options
context:
space:
mode:
authorHerwig Hochleitner <herwig@bendlas.net>2016-02-02 04:55:46 +0100
committerHerwig Hochleitner <herwig@bendlas.net>2016-02-04 14:25:34 +0100
commit4ce954d02e1c44cdf5ba6b8ddbd4b0cbd88fe947 (patch)
treebbdf44ae26affb952d7c4ba56da3bcf765fc700b /pkgs/misc
parent98b365386af245dde523a889809e5ef4208eada6 (diff)
downloadnixpkgs-4ce954d02e1c44cdf5ba6b8ddbd4b0cbd88fe947.tar
nixpkgs-4ce954d02e1c44cdf5ba6b8ddbd4b0cbd88fe947.tar.gz
nixpkgs-4ce954d02e1c44cdf5ba6b8ddbd4b0cbd88fe947.tar.bz2
nixpkgs-4ce954d02e1c44cdf5ba6b8ddbd4b0cbd88fe947.tar.lz
nixpkgs-4ce954d02e1c44cdf5ba6b8ddbd4b0cbd88fe947.tar.xz
nixpkgs-4ce954d02e1c44cdf5ba6b8ddbd4b0cbd88fe947.tar.zst
nixpkgs-4ce954d02e1c44cdf5ba6b8ddbd4b0cbd88fe947.zip
wine: consolidate source packages
In order to update wine packages more easily, the source derivations are
collected into a single sources.nix, so hashes can be updated like
`nix-prefetch-url pkgs/misc/emulators/wine/sources.nix -A stable`
Diffstat (limited to 'pkgs/misc')
-rw-r--r--pkgs/misc/emulators/wine/packages.nix51
-rw-r--r--pkgs/misc/emulators/wine/sources.nix55
-rw-r--r--pkgs/misc/emulators/wine/staging.nix13
-rw-r--r--pkgs/misc/emulators/wine/versions.nix30
-rw-r--r--pkgs/misc/emulators/wine/winetricks.nix14
5 files changed, 74 insertions, 89 deletions
diff --git a/pkgs/misc/emulators/wine/packages.nix b/pkgs/misc/emulators/wine/packages.nix
index 1a7e32efcbe..69275a74b35 100644
--- a/pkgs/misc/emulators/wine/packages.nix
+++ b/pkgs/misc/emulators/wine/packages.nix
@@ -1,62 +1,35 @@
-{ system, stdenv, stdenv_32bit, lib, pkgs, pkgsi686Linux, fetchurl,
+{ system, stdenv, stdenv_32bit, lib, pkgs, pkgsi686Linux, callPackage,
   pulseaudioSupport,
   wineRelease ? "stable"
 }:
 
-let sources = with lib.getAttr wineRelease (import ./versions.nix); {
-      version = wineVersion;
-      src = fetchurl {
-        url = "mirror://sourceforge/wine/wine-${wineVersion}.tar.bz2";
-        sha256 = wineSha256;
-      };
-
-      wineGecko32 = fetchurl {
-        url = "mirror://sourceforge/wine/wine_gecko-${geckoVersion}-x86.msi";
-        sha256 = geckoSha256;
-      };
-
-      wineGecko64 = fetchurl {
-        url = "mirror://sourceforge/wine/wine_gecko-${gecko64Version}-x86_64.msi";
-        sha256 = gecko64Sha256;
-      };
-
-      wineMono = fetchurl {
-        url = "mirror://sourceforge/wine/wine-mono-${monoVersion}.msi";
-        sha256 = monoSha256;
-      };
-    };
-    inherit (sources) version;
-in {
+let src = lib.getAttr wineRelease (callPackage ./sources.nix {});
+in with src; {
   wine32 = import ./base.nix {
     name = "wine-${version}";
-    inherit (sources) version src;
+    inherit src version pulseaudioSupport;
     inherit (pkgsi686Linux) lib stdenv;
-    inherit pulseaudioSupport;
     pkgArches = [ pkgsi686Linux ];
-    geckos = with sources; [ wineGecko32 ];
-    monos = with sources; [ wineMono ];
+    geckos = [ gecko32 ];
+    monos =  [ mono ];
     platforms = [ "i686-linux" "x86_64-linux" ];
   };
   wine64 = import ./base.nix {
     name = "wine64-${version}";
-    inherit (sources) version src;
-    inherit lib stdenv;
-    inherit pulseaudioSupport;
+    inherit src version pulseaudioSupport lib stdenv;
     pkgArches = [ pkgs ];
-    geckos = with sources; [ wineGecko64 ];
-    monos = with sources; [ wineMono ];
+    geckos = [ gecko64 ];
+    monos =  [ mono ];
     configureFlags = "--enable-win64";
     platforms = [ "x86_64-linux" ];
   };
   wineWow = import ./base.nix {
     name = "wine-wow-${version}";
-    inherit (sources) version src;
-    inherit lib;
+    inherit src version pulseaudioSupport lib;
     stdenv = stdenv_32bit;
-    inherit pulseaudioSupport;
     pkgArches = [ pkgs pkgsi686Linux ];
-    geckos = with sources; [ wineGecko32 wineGecko64 ];
-    monos = with sources; [ wineMono ];
+    geckos = [ gecko32 gecko64 ];
+    monos =  [ mono ];
     buildScript = ./builder-wow.sh;
     platforms = [ "x86_64-linux" ];
   };
diff --git a/pkgs/misc/emulators/wine/sources.nix b/pkgs/misc/emulators/wine/sources.nix
new file mode 100644
index 00000000000..8c2caf8ab6c
--- /dev/null
+++ b/pkgs/misc/emulators/wine/sources.nix
@@ -0,0 +1,55 @@
+{ pkgs ? import <nixpkgs> {} }:
+let fetchurl = args@{url, sha256, ...}:
+  pkgs.fetchurl { inherit url sha256; } // args;
+    fetchFromGitHub = args@{owner, repo, rev, sha256, ...}:
+  pkgs.fetchFromGitHub { inherit owner repo rev sha256; } // args;
+in rec {
+
+  stable = fetchurl rec {
+    version = "1.8";
+    url = "mirror://sourceforge/wine/wine-${version}.tar.bz2";
+    sha256 = "1x66lzpk7v8qx57clmcq5ag7yh3mqplf1plypwghgchjh70lafzk";
+
+    ## see http://wiki.winehq.org/Gecko
+    gecko32 = fetchurl rec {
+      version = "2.40";
+      url = "mirror://sourceforge/wine/wine_gecko-${version}-x86.msi";
+      sha256 = "00nkaxhb9dwvf53ij0q75fb9fh7pf43hmwx6rripcax56msd2a8s";
+    };
+    gecko64 = fetchurl rec {
+      version = "2.40";
+      url = "mirror://sourceforge/wine/wine_gecko-${version}-x86_64.msi";
+      sha256 = "0c4jikfzb4g7fyzp0jcz9fk2rpdl1v8nkif4dxcj28nrwy48kqn3";
+    };
+    ## see http://wiki.winehq.org/Mono
+    mono = fetchurl rec {
+      version = "4.5.6";
+      url = "mirror://sourceforge/wine/wine-mono-${version}.msi";
+      sha256 = "09dwfccvfdp3walxzp6qvnyxdj2bbyw9wlh6cxw2sx43gxriys5c";
+    };
+  };
+
+  unstable = fetchurl rec {
+    version = "1.9.2";
+    url = "mirror://sourceforge/wine/wine-${version}.tar.bz2";
+    sha256 = "0yjf0i2yc0yj366kg6b2ci9bwz3jq5k5vl01bqw4lbpgf5m4sk9k";
+    inherit (stable) gecko32 gecko64 mono;
+  };
+
+  staging = fetchFromGitHub rec {
+    inherit (unstable) version;
+    sha256 = "05lxhl9rv936xh8v640l36xswszwc41iwpbjq7n5cwk361mdh1lp";
+    owner = "wine-compholio";
+    repo = "wine-staging";
+    rev = "v${version}";
+  };
+
+  winetricks = fetchFromGitHub rec {
+    version = "20160109";
+    sha256 = "0pnl5362g5q7py368vj07swbdp1fqbpvpq4jv4l5ddyclps8ajg8";
+    owner = "Winetricks";
+    repo = "winetricks";
+    rev = version;
+  };
+
+}
diff --git a/pkgs/misc/emulators/wine/staging.nix b/pkgs/misc/emulators/wine/staging.nix
index da4456c0ef9..9419aff1a39 100644
--- a/pkgs/misc/emulators/wine/staging.nix
+++ b/pkgs/misc/emulators/wine/staging.nix
@@ -1,18 +1,11 @@
-{ stdenv, callPackage, lib, fetchFromGitHub, wineUnstable, libtxc_dxtn_Name }:
+{ stdenv, callPackage, lib, wineUnstable, libtxc_dxtn_Name }:
 
 with callPackage ./util.nix {};
 
-let v = (import ./versions.nix).staging;
-    inherit (v) version;
-    patch = fetchFromGitHub {
-      inherit (v) sha256;
-      owner = "wine-compholio";
-      repo = "wine-staging";
-      rev = "v${version}";
-    };
+let patch = (callPackage ./sources.nix {}).staging;
     build-inputs = pkgNames: extra:
       (mkBuildInputs wineUnstable.pkgArches pkgNames) ++ extra;
-in assert (builtins.parseDrvName wineUnstable.name).version == version;
+in assert (builtins.parseDrvName wineUnstable.name).version == patch.version;
 
 stdenv.lib.overrideDerivation wineUnstable (self: {
   nativeBuildInputs = build-inputs [ libtxc_dxtn_Name ] self.nativeBuildInputs; 
diff --git a/pkgs/misc/emulators/wine/versions.nix b/pkgs/misc/emulators/wine/versions.nix
deleted file mode 100644
index d2c4cc6e43e..00000000000
--- a/pkgs/misc/emulators/wine/versions.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-rec {
-  stable = {
-    wineVersion = "1.8";
-    wineSha256  = "1x66lzpk7v8qx57clmcq5ag7yh3mqplf1plypwghgchjh70lafzk";
-    ## see http://wiki.winehq.org/Gecko
-    geckoVersion = "2.40";
-    geckoSha256 = "00nkaxhb9dwvf53ij0q75fb9fh7pf43hmwx6rripcax56msd2a8s";
-    gecko64Version = "2.40";
-    gecko64Sha256 = "0c4jikfzb4g7fyzp0jcz9fk2rpdl1v8nkif4dxcj28nrwy48kqn3";
-    ## see http://wiki.winehq.org/Mono
-    monoVersion = "4.5.6";
-    monoSha256 = "09dwfccvfdp3walxzp6qvnyxdj2bbyw9wlh6cxw2sx43gxriys5c";
-  };
-  unstable = {
-    wineVersion = "1.9.2";
-    wineSha256 = "0yjf0i2yc0yj366kg6b2ci9bwz3jq5k5vl01bqw4lbpgf5m4sk9k";
-    inherit (stable)
-      geckoVersion geckoSha256
-      gecko64Version gecko64Sha256
-      monoVersion monoSha256;
-  };
-  staging = {
-    version = unstable.wineVersion;
-    sha256 = "05lxhl9rv936xh8v640l36xswszwc41iwpbjq7n5cwk361mdh1lp";
-  };
-  winetricks = {
-    version = "20160109";
-    sha256 = "0pnl5362g5q7py368vj07swbdp1fqbpvpq4jv4l5ddyclps8ajg8";
-  };
-}
diff --git a/pkgs/misc/emulators/wine/winetricks.nix b/pkgs/misc/emulators/wine/winetricks.nix
index 39aaa098cfe..2d729f7185f 100644
--- a/pkgs/misc/emulators/wine/winetricks.nix
+++ b/pkgs/misc/emulators/wine/winetricks.nix
@@ -1,16 +1,10 @@
-{ stdenv, fetchFromGitHub, wine, perl, which, coreutils, zenity, curl
+{ stdenv, callPackage, wine, perl, which, coreutils, zenity, curl
 , cabextract, unzip, p7zip, gnused, gnugrep, bash } :
 
-let v = (import ./versions.nix).winetricks;
-in stdenv.mkDerivation rec {
-  name = "winetricks-${v.version}";
+stdenv.mkDerivation rec {
+  name = "winetricks-${src.version}";
 
-  src = fetchFromGitHub {
-    owner = "Winetricks";
-    repo = "winetricks";
-    rev = v.version;
-    sha256 = v.sha256;
-  };
+  src = (callPackage ./sources.nix {}).winetricks;
 
   buildInputs = [ perl which ];