From e7530e6a5a1d8858e48f1a2c7ea90a5b6aba9478 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Sat, 27 May 2017 14:12:36 +0300 Subject: [PATCH] wine: reorganize packages Move most of wine configurations to winePackages which is not built on Hydra. Leave two top-level packages: wine: stable release with an "office" configuration; wineStaging: staging release with a "full" configuration. --- pkgs/applications/audio/airwave/default.nix | 5 +- pkgs/misc/emulators/wine/base.nix | 10 ++- pkgs/top-level/aliases.nix | 6 ++ pkgs/top-level/all-packages.nix | 92 ++++++++++++--------- 4 files changed, 67 insertions(+), 46 deletions(-) diff --git a/pkgs/applications/audio/airwave/default.nix b/pkgs/applications/audio/airwave/default.nix index 39946fd5c7df..5a6901a94348 100644 --- a/pkgs/applications/audio/airwave/default.nix +++ b/pkgs/applications/audio/airwave/default.nix @@ -1,5 +1,5 @@ { stdenv, cmake, fetchFromGitHub, file, gcc_multi, libX11, makeWrapper -, overrideCC, qt5, requireFile, unzip, wineStable +, overrideCC, qt5, requireFile, unzip, wine }: let @@ -26,7 +26,8 @@ let installPhase = "cp -r . $out"; }; - wine-wow64 = wineStable.override { + wine-wow64 = wine.override { + wineRelease = "stable"; wineBuild = "wineWow"; }; diff --git a/pkgs/misc/emulators/wine/base.nix b/pkgs/misc/emulators/wine/base.nix index 80070dec2d91..92815ffaa0af 100644 --- a/pkgs/misc/emulators/wine/base.nix +++ b/pkgs/misc/emulators/wine/base.nix @@ -91,9 +91,13 @@ stdenv.mkDerivation ((lib.optionalAttrs (! isNull buildScript) { ((map (links "share/wine/gecko") geckos) ++ (map (links "share/wine/mono") monos))} '' + lib.optionalString supportFlags.gstreamerSupport '' - wrapProgram "$out/bin/wine" \ - --argv0 "" \ - --prefix GST_PLUGIN_SYSTEM_PATH_1_0 ":" "$GST_PLUGIN_SYSTEM_PATH_1_0" + for i in wine wine64; do + if [ -e "$out/bin/$i" ]; then + wrapProgram "$out/bin/$i" \ + --argv0 "" \ + --prefix GST_PLUGIN_SYSTEM_PATH_1_0 ":" "$GST_PLUGIN_SYSTEM_PATH_1_0" + fi + done ''; enableParallelBuilding = true; diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index a14732fb8599..c47e3fe325bf 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -148,6 +148,12 @@ mapAliases (rec { xlibs = xorg; # added 2015-09 youtubeDL = youtube-dl; # added 2014-10-26 + # added 2017-05-27 + wineMinimal = winePackages.minimal; + wineFull = winePackages.full; + wineStable = winePackages.stable; + wineUnstable = winePackages.unstable; + inherit (ocaml-ng) # added 2016-09-14 ocamlPackages_3_10_0 ocamlPackages_3_11_2 ocamlPackages_3_12_1 ocamlPackages_4_00_1 ocamlPackages_4_01_0 ocamlPackages_4_02 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2fabc84c569d..a579ea3f5877 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -18640,49 +18640,59 @@ with pkgs; pythonPackages = python3Packages; }; - wineMinimal = callPackage ../misc/emulators/wine { - wineRelease = config.wine.release or "stable"; - wineBuild = config.wine.build or "wine32"; + winePackages = rec { + minimal = callPackage ../misc/emulators/wine { + wineRelease = config.wine.release or "stable"; + wineBuild = config.wine.build or "wine32"; + }; + + base = minimal.override { + pngSupport = true; + jpegSupport = true; + tiffSupport = true; + gettextSupport = true; + fontconfigSupport = true; + alsaSupport = true; + openglSupport = true; + tlsSupport = true; + cupsSupport = true; + dbusSupport = true; + cairoSupport = true; + cursesSupport = true; + saneSupport = true; + pulseaudioSupport = config.pulseaudio or stdenv.isLinux; + udevSupport = true; + xineramaSupport = true; + xmlSupport = true; + }; + + full = base.override { + gtkSupport = true; + gstreamerSupport = true; + colorManagementSupport = true; + mpg123Support = true; + openalSupport = true; + openclSupport = true; + odbcSupport = true; + netapiSupport = true; + vaSupport = true; + pcapSupport = true; + v4lSupport = true; + gsmSupport = true; + gphoto2Support = true; + ldapSupport = true; + }; + + stable = base.override { wineRelease = "stable"; }; + unstable = base.override { wineRelease = "unstable"; }; + staging = base.override { wineRelease = "staging"; }; }; - wine = lowPrio (self.wineMinimal.override { - pngSupport = true; - jpegSupport = true; - tiffSupport = true; - gettextSupport = true; - fontconfigSupport = true; - alsaSupport = true; - openglSupport = true; - tlsSupport = true; - cupsSupport = true; - colorManagementSupport = true; - dbusSupport = true; - mpg123Support = true; - openalSupport = true; - cairoSupport = true; - cursesSupport = true; - pulseaudioSupport = config.pulseaudio or stdenv.isLinux; - xineramaSupport = true; - xmlSupport = true; + + wine = winePackages.base; + + wineStaging = lowPrio (winePackages.full.override { + wineRelease = "staging"; }); - wineFull = lowPrio (self.wine.override { - gtkSupport = true; - gstreamerSupport = true; - openclSupport = true; - odbcSupport = true; - netapiSupport = true; - vaSupport = true; - pcapSupport = true; - v4lSupport = true; - saneSupport = true; - gsmSupport = true; - gphoto2Support = true; - ldapSupport = true; - pulseaudioSupport = true; - udevSupport = true; - }); - wineStable = self.wine.override { wineRelease = "stable"; }; - wineUnstable = lowPrio (self.wine.override { wineRelease = "unstable"; }); - wineStaging = lowPrio (self.wine.override { wineRelease = "staging"; }); winetricks = callPackage ../misc/emulators/wine/winetricks.nix { inherit (gnome2) zenity;