lol

Merge pull request #15367 from bendlas/update-wine

wine-unstable: 1.9.7 -> 1.9.11; add optional dependencies; opencl-icd: init; refactor flags

authored by

Nikolay Amiantov and committed by
GitHub
21f5510a 46d3001f

+147 -24
+15
pkgs/development/libraries/opencl-icd/default.nix
··· 1 + { stdenv, fetchurl, ruby, opencl-headers }: let 2 + 3 + version = "2.2.9"; 4 + 5 + in stdenv.mkDerivation { 6 + 7 + name = "opencl-icd-${version}"; 8 + buildInputs = [ ruby opencl-headers ]; 9 + configureFlags = [ "--enable-official-khronos-headers" ]; 10 + src = fetchurl { 11 + url = "https://forge.imag.fr/frs/download.php/716/ocl-icd-${version}.tar.gz"; 12 + sha256 = "1rgaixwnxmrq2aq4kcdvs0yx7i6krakarya9vqs7qwsv5hzc32hc"; 13 + }; 14 + 15 + }
+36 -9
pkgs/misc/emulators/wine/base.nix
··· 1 1 { stdenv, lib, pkgArches, 2 2 name, version, src, monos, geckos, platforms, 3 3 pkgconfig, fontforge, makeWrapper, flex, bison, 4 - pulseaudioSupport, 4 + supportFlags, 5 5 buildScript ? null, configureFlags ? "" 6 6 }: 7 7 ··· 19 19 pkgconfig fontforge makeWrapper flex bison 20 20 ]; 21 21 22 - buildInputs = toBuildInputs pkgArches (pkgs: (with pkgs; [ 23 - freetype fontconfig mesa mesa_noglu.osmesa libdrm libpng libjpeg openssl gnutls cups ncurses 24 - alsaLib libxml2 libxslt lcms2 gettext dbus mpg123 openal 25 - ]) 26 - ++ lib.optional pulseaudioSupport pkgs.libpulseaudio 22 + buildInputs = toBuildInputs pkgArches (with supportFlags; (pkgs: 23 + [ pkgs.freetype ] 24 + ++ lib.optional pngSupport pkgs.libpng 25 + ++ lib.optional jpegSupport pkgs.libjpeg 26 + ++ lib.optional cupsSupport pkgs.cups 27 + ++ lib.optional colorManagementSupport pkgs.lcms2 28 + ++ lib.optional gettextSupport pkgs.gettext 29 + ++ lib.optional dbusSupport pkgs.dbus 30 + ++ lib.optional mpg123Support pkgs.mpg123 31 + ++ lib.optional openalSupport pkgs.openal 32 + ++ lib.optional cairoSupport pkgs.cairo 33 + ++ lib.optional tiffSupport pkgs.libtiff 34 + ++ lib.optional odbcSupport pkgs.unixODBC 35 + ++ lib.optional netapiSupport pkgs.samba3_light 36 + ++ lib.optional cursesSupport pkgs.ncurses 37 + ++ lib.optional vaSupport pkgs.libva 38 + ++ lib.optional pcapSupport pkgs.libpcap 39 + ++ lib.optional v4lSupport pkgs.libv4l 40 + ++ lib.optional saneSupport pkgs.saneBackends 41 + ++ lib.optional gsmSupport pkgs.gsm 42 + ++ lib.optional gphoto2Support pkgs.libgphoto2 43 + ++ lib.optional ldapSupport pkgs.openldap 44 + ++ lib.optional fontconfigSupport pkgs.fontconfig 45 + ++ lib.optional alsaSupport pkgs.alsaLib 46 + ++ lib.optional pulseaudioSupport pkgs.libpulseaudio 47 + ++ lib.optional xineramaSupport pkgs.xorg.libXinerama 48 + ++ lib.optional gstreamerSupport pkgs.gst_plugins_base 49 + ++ lib.optionals gtkSupport [ pkgs.gtk3 pkgs.gnome.glib ] 50 + ++ lib.optionals openclSupport [ pkgs.opencl-headers pkgs.opencl-icd ] 51 + ++ lib.optionals xmlSupport [ pkgs.libxml2 pkgs.libxslt ] 52 + ++ lib.optionals tlsSupport [ pkgs.openssl pkgs.gnutls ] 53 + ++ lib.optionals openglSupport [ pkgs.mesa pkgs.mesa_noglu.osmesa pkgs.libdrm ] 27 54 ++ (with pkgs.xorg; [ 28 - libXi libXcursor libXinerama libXrandr libXrender libXxf86vm libXcomposite libXext 29 - ])); 55 + libX11 libXi libXcursor libXrandr libXrender libXxf86vm libXcomposite libXext 56 + ]))); 30 57 31 58 # Wine locates a lot of libraries dynamically through dlopen(). Add 32 59 # them to the RPATH so that the user doesn't have to set them in ··· 34 61 NIX_LDFLAGS = map (path: "-rpath " + path) ( 35 62 map (x: "${lib.getLib x}/lib") ([ stdenv.cc.cc ] ++ buildInputs) 36 63 # libpulsecommon.so is linked but not found otherwise 37 - ++ lib.optionals pulseaudioSupport (map (x: "${lib.getLib x}/lib/pulseaudio") 64 + ++ lib.optionals supportFlags.pulseaudioSupport (map (x: "${lib.getLib x}/lib/pulseaudio") 38 65 (toBuildInputs pkgArches (pkgs: [ pkgs.libpulseaudio ]))) 39 66 ); 40 67
+38 -2
pkgs/misc/emulators/wine/default.nix
··· 9 9 { lib, pkgs, system, callPackage, 10 10 wineRelease ? "stable", 11 11 wineBuild ? (if system == "x86_64-linux" then "wineWow" else "wine32"), 12 + libtxc_dxtn_Name ? "libtxc_dxtn_s2tc", 13 + pngSupport ? false, 14 + jpegSupport ? false, 15 + tiffSupport ? false, 16 + gettextSupport ? false, 17 + fontconfigSupport ? false, 18 + alsaSupport ? false, 19 + gtkSupport ? false, 20 + openglSupport ? false, 21 + tlsSupport ? false, 22 + gstreamerSupport ? false, 23 + cupsSupport ? false, 24 + colorManagementSupport ? false, 25 + dbusSupport ? false, 26 + mpg123Support ? false, 27 + openalSupport ? false, 28 + openclSupport ? false, 29 + cairoSupport ? false, 30 + odbcSupport ? false, 31 + netapiSupport ? false, 32 + cursesSupport ? false, 33 + vaSupport ? false, 34 + pcapSupport ? false, 35 + v4lSupport ? false, 36 + saneSupport ? false, 37 + gsmSupport ? false, 38 + gphoto2Support ? false, 39 + ldapSupport ? false, 12 40 pulseaudioSupport ? false, 13 - libtxc_dxtn_Name ? "libtxc_dxtn_s2tc" }: 41 + xineramaSupport ? false, 42 + xmlSupport ? false }: 14 43 15 44 let wine-build = build: release: 16 45 lib.getAttr build (callPackage ./packages.nix { 17 46 wineRelease = release; 18 - inherit pulseaudioSupport; 47 + supportFlags = { 48 + inherit pngSupport jpegSupport cupsSupport colorManagementSupport gettextSupport 49 + dbusSupport mpg123Support openalSupport cairoSupport tiffSupport odbcSupport 50 + netapiSupport cursesSupport vaSupport pcapSupport v4lSupport saneSupport 51 + gsmSupport gphoto2Support ldapSupport fontconfigSupport alsaSupport 52 + pulseaudioSupport xineramaSupport gtkSupport openclSupport xmlSupport tlsSupport 53 + openglSupport gstreamerSupport; 54 + }; 19 55 }); 20 56 21 57 in if wineRelease == "staging" then
+5 -5
pkgs/misc/emulators/wine/packages.nix
··· 1 1 { system, stdenv, stdenv_32bit, lib, pkgs, pkgsi686Linux, callPackage, callPackage_i686, 2 2 overrideCC, wrapCCMulti, gcc49, 3 - pulseaudioSupport, 4 - wineRelease ? "stable" 3 + wineRelease ? "stable", 4 + supportFlags 5 5 }: 6 6 7 7 let src = lib.getAttr wineRelease (callPackage ./sources.nix {}); 8 8 in with src; { 9 9 wine32 = callPackage_i686 ./base.nix { 10 10 name = "wine-${version}"; 11 - inherit src version pulseaudioSupport; 11 + inherit src version supportFlags; 12 12 pkgArches = [ pkgsi686Linux ]; 13 13 geckos = [ gecko32 ]; 14 14 monos = [ mono ]; ··· 16 16 }; 17 17 wine64 = callPackage ./base.nix { 18 18 name = "wine64-${version}"; 19 - inherit src version pulseaudioSupport; 19 + inherit src version supportFlags; 20 20 # FIXME: drop this when GCC is updated to >5.3. 21 21 # Corresponding bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69140 22 22 stdenv = overrideCC stdenv gcc49; ··· 28 28 }; 29 29 wineWow = callPackage ./base.nix { 30 30 name = "wine-wow-${version}"; 31 - inherit src version pulseaudioSupport; 31 + inherit src version supportFlags; 32 32 # FIXME: see above. 33 33 stdenv = overrideCC stdenv_32bit (wrapCCMulti gcc49); 34 34 pkgArches = [ pkgs pkgsi686Linux ];
+5 -5
pkgs/misc/emulators/wine/sources.nix
··· 6 6 in rec { 7 7 8 8 stable = fetchurl rec { 9 - version = "1.8.1"; 9 + version = "1.8.2"; 10 10 url = "mirror://sourceforge/wine/wine-${version}.tar.bz2"; 11 - sha256 = "15ya496qq24ipqii7ij8x8h5x8n21vgqa4h6binb74w5mzdd76hl"; 11 + sha256 = "0vsswlnaa9ndg1pais63c39xks519r9fhz0yq3q8fphly2nlyqji"; 12 12 13 13 ## see http://wiki.winehq.org/Gecko 14 14 gecko32 = fetchurl rec { ··· 30 30 }; 31 31 32 32 unstable = fetchurl rec { 33 - version = "1.9.7"; 33 + version = "1.9.11"; 34 34 url = "mirror://sourceforge/wine/wine-${version}.tar.bz2"; 35 - sha256 = "1v47i0pxqcixnh06x23kzp2dbz1cf3d2sric0bw6xqh54ph5yw29"; 35 + sha256 = "15mbrnx4zqsdsxz7rwkb1pp58bcyfqnm8f2fh7cbbdgwh117k3vj"; 36 36 inherit (stable) mono; 37 37 gecko32 = fetchurl rec { 38 38 version = "2.44"; ··· 48 48 49 49 staging = fetchFromGitHub rec { 50 50 inherit (unstable) version; 51 - sha256 = "1h5hwd07qyx0qw5whf6lcp7v57kqd6mrrcvwwg1bydir68b0zp16"; 51 + sha256 = "0q990d26wsik16w1yya2z8nwxnhnaiiy85igdnan1ib2b00z861m"; 52 52 owner = "wine-compholio"; 53 53 repo = "wine-staging"; 54 54 rev = "v${version}";
+1 -2
pkgs/misc/emulators/wine/staging.nix
··· 8 8 in assert (builtins.parseDrvName wineUnstable.name).version == patch.version; 9 9 10 10 stdenv.lib.overrideDerivation wineUnstable (self: { 11 - nativeBuildInputs = build-inputs [ libtxc_dxtn_Name ] self.nativeBuildInputs; 12 - buildInputs = build-inputs [ "perl" "utillinux" "autoconf" ] self.buildInputs; 11 + buildInputs = build-inputs [ "perl" "utillinux" "autoconf" libtxc_dxtn_Name ] self.buildInputs; 13 12 14 13 name = "${self.name}-staging"; 15 14
+47 -1
pkgs/top-level/all-packages.nix
··· 8622 8622 8623 8623 opencl-headers = callPackage ../development/libraries/opencl-headers { }; 8624 8624 8625 + opencl-icd = callPackage ../development/libraries/opencl-icd { }; 8626 + 8625 8627 opencollada = callPackage ../development/libraries/opencollada { }; 8626 8628 8627 8629 opencsg = callPackage ../development/libraries/opencsg { }; ··· 16885 16887 wineRelease = config.wine.release or "stable"; 16886 16888 wineBuild = config.wine.build or "wine32"; 16887 16889 pulseaudioSupport = config.pulseaudio or stdenv.isLinux; 16890 + pngSupport = true; 16891 + jpegSupport = true; 16892 + tiffSupport = true; 16893 + gettextSupport = true; 16894 + fontconfigSupport = true; 16895 + alsaSupport = true; 16896 + openglSupport = true; 16897 + tlsSupport = true; 16898 + cursesSupport = true; 16888 16899 }; 16889 - wineStable = wine.override { wineRelease = "stable"; }; 16900 + wineMinimal = lowPrio (self.wine.override { 16901 + pulseaudioSupport = false; 16902 + pngSupport = false; 16903 + jpegSupport = false; 16904 + tiffSupport = false; 16905 + gettextSupport = false; 16906 + fontconfigSupport = false; 16907 + alsaSupport = false; 16908 + openglSupport = false; 16909 + tlsSupport = false; 16910 + cursesSupport = false; 16911 + }); 16912 + wineFull = lowPrio (self.wine.override { 16913 + gtkSupport = true; 16914 + gstreamerSupport = true; 16915 + cupsSupport = true; 16916 + colorManagementSupport = true; 16917 + dbusSupport = true; 16918 + mpg123Support = true; 16919 + openalSupport = true; 16920 + openclSupport = true; 16921 + cairoSupport = true; 16922 + odbcSupport = true; 16923 + netapiSupport = true; 16924 + vaSupport = true; 16925 + pcapSupport = true; 16926 + v4lSupport = true; 16927 + saneSupport = true; 16928 + gsmSupport = true; 16929 + gphoto2Support = true; 16930 + ldapSupport = true; 16931 + pulseaudioSupport = true; 16932 + xineramaSupport = true; 16933 + xmlSupport = true; 16934 + }); 16935 + wineStable = self.wine.override { wineRelease = "stable"; }; 16890 16936 wineUnstable = lowPrio (self.wine.override { wineRelease = "unstable"; }); 16891 16937 wineStaging = lowPrio (self.wine.override { wineRelease = "staging"; }); 16892 16938