Merge pull request #26152 from abbradar/wine-reorder

wine: reorganize packages
This commit is contained in:
Nikolay Amiantov 2017-06-04 00:58:42 +03:00 committed by GitHub
commit 0011f9065a
5 changed files with 84 additions and 51 deletions

View File

@ -17,6 +17,11 @@ rec {
drv // { meta = (drv.meta or {}) // newAttrs; };
/* Disable Hydra builds of given derivation.
*/
dontDistribute = drv: addMetaAttrs { hydraPlatforms = []; } drv;
/* Change the symbolic name of a package for presentation purposes
(i.e., so that nix-env users can tell them apart).
*/

View File

@ -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";
};

View File

@ -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;

View File

@ -5,18 +5,25 @@ with self;
let
# Removing recurseForDerivation prevents derivations of aliased attribute
# set to appear while listing all the packages available.
removeRecurseForDerivations = _n: alias: with lib;
removeRecurseForDerivations = alias: with lib;
if alias.recurseForDerivations or false then
removeAttrs alias ["recurseForDerivations"]
else alias;
doNotDisplayTwice = aliases:
lib.mapAttrs removeRecurseForDerivations aliases;
# Disabling distribution prevents top-level aliases for non-recursed package
# sets from building on Hydra.
removeDistribute = alias: with lib;
if isDerivation alias then
dontDistribute alias
else alias;
mapAliases = aliases:
lib.mapAttrs (n: alias: removeDistribute (removeRecurseForDerivations alias)) aliases;
in
### Deprecated aliases - for backward compatibility
doNotDisplayTwice rec {
mapAliases (rec {
accounts-qt = libsForQt5.accounts-qt; # added 2015-12-19
adobeReader = adobe-reader;
aircrackng = aircrack-ng; # added 2016-01-14
@ -141,6 +148,12 @@ doNotDisplayTwice 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
@ -156,4 +169,4 @@ doNotDisplayTwice rec {
ocaml_4_02 = ocamlPackages_4_02.ocaml;
ocaml_4_03 = ocamlPackages_4_03.ocaml;
ocaml = ocamlPackages.ocaml;
})
}))

View File

@ -18718,49 +18718,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;