nixpkgs/pkgs/misc/emulators/wine/default.nix
jmc-figueira 74f85d3714
wine-wayland: fixed vkd3d dependency in wineWow builds and standardized the derivation
As recommended by @FlorianFranzen, the derivation for wine-wayland builds was moved from a separate "patch-like" derivation to base.nix, by setting the appropriate supportFlags. This was also done to solve an issue when building wineWow builds, where they would fail due to the 32-bit vkd3d not being linked appropriately.
2022-01-21 04:38:09 +00:00

71 lines
2.4 KiB
Nix

## Configuration:
# Control you default wine config in nixpkgs-config:
# wine = {
# release = "stable"; # "stable", "unstable", "staging", "wayland"
# build = "wineWow"; # "wine32", "wine64", "wineWow"
# };
# Make additional configurations on demand:
# wine.override { wineBuild = "wine32"; wineRelease = "staging"; };
{ lib, stdenv, callPackage,
wineRelease ? "stable",
wineBuild ? if stdenv.hostPlatform.system == "x86_64-linux" then "wineWow" else "wine32",
pngSupport ? false,
jpegSupport ? false,
tiffSupport ? false,
gettextSupport ? false,
fontconfigSupport ? false,
alsaSupport ? false,
gtkSupport ? false,
openglSupport ? false,
tlsSupport ? false,
gstreamerSupport ? false,
cupsSupport ? false,
colorManagementSupport ? false,
dbusSupport ? false,
mpg123Support ? false,
openalSupport ? false,
openclSupport ? false,
cairoSupport ? false,
odbcSupport ? false,
netapiSupport ? false,
cursesSupport ? false,
vaSupport ? false,
pcapSupport ? false,
v4lSupport ? false,
saneSupport ? false,
gsmSupport ? false,
gphoto2Support ? false,
ldapSupport ? false,
pulseaudioSupport ? false,
udevSupport ? false,
xineramaSupport ? false,
xmlSupport ? false,
vulkanSupport ? false,
sdlSupport ? false,
faudioSupport ? false,
vkd3dSupport ? false,
mingwSupport ? wineRelease != "stable",
waylandSupport ? wineRelease == "wayland",
embedInstallers ? false # The Mono and Gecko MSI installers
}:
let wine-build = build: release:
lib.getAttr build (callPackage ./packages.nix {
wineRelease = release;
supportFlags = {
inherit pngSupport jpegSupport cupsSupport colorManagementSupport gettextSupport
dbusSupport mpg123Support openalSupport cairoSupport tiffSupport odbcSupport
netapiSupport cursesSupport vaSupport pcapSupport v4lSupport saneSupport
gsmSupport gphoto2Support ldapSupport fontconfigSupport alsaSupport
pulseaudioSupport xineramaSupport gtkSupport openclSupport xmlSupport tlsSupport
openglSupport gstreamerSupport udevSupport vulkanSupport sdlSupport faudioSupport
vkd3dSupport mingwSupport waylandSupport embedInstallers;
};
});
in if wineRelease == "staging" then
callPackage ./staging.nix {
wineUnstable = wine-build wineBuild "unstable";
}
else
wine-build wineBuild wineRelease