nixpkgs/pkgs/misc/emulators/wine/default.nix
Stefan Frijters e0c745920b
wine: Remove bundled libraries
From the wine 7.0 release notes:

- The following libraries are bundled in the source tree and built as PE
  libraries, so they are no longer required at the Unix level:
2022-01-29 21:46:38 +01:00

64 lines
2.0 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",
gettextSupport ? false,
fontconfigSupport ? false,
alsaSupport ? false,
gtkSupport ? false,
openglSupport ? false,
tlsSupport ? false,
gstreamerSupport ? false,
cupsSupport ? false,
dbusSupport ? false,
openalSupport ? false,
openclSupport ? false,
cairoSupport ? false,
odbcSupport ? false,
netapiSupport ? false,
cursesSupport ? false,
vaSupport ? false,
pcapSupport ? false,
v4lSupport ? false,
saneSupport ? false,
gphoto2Support ? false,
ldapSupport ? false,
pulseaudioSupport ? false,
udevSupport ? false,
xineramaSupport ? false,
vulkanSupport ? false,
sdlSupport ? 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
cupsSupport gettextSupport dbusSupport openalSupport cairoSupport
odbcSupport netapiSupport cursesSupport vaSupport pcapSupport
v4lSupport saneSupport gphoto2Support ldapSupport fontconfigSupport
alsaSupport pulseaudioSupport xineramaSupport gtkSupport openclSupport
tlsSupport openglSupport gstreamerSupport udevSupport vulkanSupport
sdlSupport vkd3dSupport mingwSupport waylandSupport embedInstallers;
};
});
in if wineRelease == "staging" then
callPackage ./staging.nix {
wineUnstable = wine-build wineBuild "unstable";
}
else
wine-build wineBuild wineRelease