2015-04-21 16:00:59 +00:00
|
|
|
## Configuration:
|
|
|
|
# Control you default wine config in nixpkgs-config:
|
|
|
|
# wine = {
|
2022-01-03 04:10:16 +00:00
|
|
|
# release = "stable"; # "stable", "unstable", "staging", "wayland"
|
2015-04-21 16:00:59 +00:00
|
|
|
# build = "wineWow"; # "wine32", "wine64", "wineWow"
|
|
|
|
# };
|
|
|
|
# Make additional configurations on demand:
|
2015-05-10 19:33:00 +00:00
|
|
|
# wine.override { wineBuild = "wine32"; wineRelease = "staging"; };
|
2022-02-17 13:29:25 +00:00
|
|
|
{ lib, stdenv, callPackage, darwin,
|
2015-04-21 16:00:59 +00:00
|
|
|
wineRelease ? "stable",
|
2018-08-20 19:11:29 +00:00
|
|
|
wineBuild ? if stdenv.hostPlatform.system == "x86_64-linux" then "wineWow" else "wine32",
|
2016-05-29 08:43:47 +00:00
|
|
|
gettextSupport ? false,
|
|
|
|
fontconfigSupport ? false,
|
|
|
|
alsaSupport ? false,
|
|
|
|
gtkSupport ? false,
|
|
|
|
openglSupport ? false,
|
|
|
|
tlsSupport ? false,
|
|
|
|
gstreamerSupport ? false,
|
|
|
|
cupsSupport ? false,
|
|
|
|
dbusSupport ? false,
|
|
|
|
openclSupport ? false,
|
|
|
|
cairoSupport ? false,
|
|
|
|
odbcSupport ? false,
|
|
|
|
netapiSupport ? false,
|
|
|
|
cursesSupport ? false,
|
|
|
|
vaSupport ? false,
|
|
|
|
pcapSupport ? false,
|
|
|
|
v4lSupport ? false,
|
|
|
|
saneSupport ? false,
|
|
|
|
gphoto2Support ? false,
|
2022-02-16 00:39:10 +00:00
|
|
|
krb5Support ? false,
|
2015-12-24 01:58:57 +00:00
|
|
|
pulseaudioSupport ? false,
|
2017-05-23 23:07:23 +00:00
|
|
|
udevSupport ? false,
|
2016-05-29 08:43:47 +00:00
|
|
|
xineramaSupport ? false,
|
2018-04-23 14:02:12 +00:00
|
|
|
vulkanSupport ? false,
|
2018-11-24 15:44:20 +00:00
|
|
|
sdlSupport ? false,
|
2022-02-16 00:39:10 +00:00
|
|
|
usbSupport ? false,
|
2021-03-21 14:08:34 +00:00
|
|
|
mingwSupport ? wineRelease != "stable",
|
2022-01-21 03:47:23 +00:00
|
|
|
waylandSupport ? wineRelease == "wayland",
|
2022-02-17 13:29:25 +00:00
|
|
|
embedInstallers ? false, # The Mono and Gecko MSI installers
|
|
|
|
moltenvk ? darwin.moltenvk # Allow users to override MoltenVK easily
|
2018-04-23 14:02:12 +00:00
|
|
|
}:
|
2015-04-21 16:00:59 +00:00
|
|
|
|
2015-10-28 20:39:46 +00:00
|
|
|
let wine-build = build: release:
|
|
|
|
lib.getAttr build (callPackage ./packages.nix {
|
|
|
|
wineRelease = release;
|
2016-05-29 08:43:47 +00:00
|
|
|
supportFlags = {
|
2022-01-18 22:33:56 +00:00
|
|
|
inherit
|
2023-01-25 17:36:43 +00:00
|
|
|
cupsSupport gettextSupport dbusSupport cairoSupport
|
2022-01-18 22:33:56 +00:00
|
|
|
odbcSupport netapiSupport cursesSupport vaSupport pcapSupport
|
2023-01-25 17:37:52 +00:00
|
|
|
v4lSupport saneSupport gphoto2Support krb5Support fontconfigSupport
|
2022-01-18 22:33:56 +00:00
|
|
|
alsaSupport pulseaudioSupport xineramaSupport gtkSupport openclSupport
|
|
|
|
tlsSupport openglSupport gstreamerSupport udevSupport vulkanSupport
|
2023-01-25 17:41:27 +00:00
|
|
|
sdlSupport usbSupport mingwSupport waylandSupport embedInstallers;
|
2016-05-29 08:43:47 +00:00
|
|
|
};
|
2022-02-17 13:29:25 +00:00
|
|
|
inherit moltenvk;
|
2015-10-28 20:39:46 +00:00
|
|
|
});
|
|
|
|
|
|
|
|
in if wineRelease == "staging" then
|
2018-03-24 14:58:35 +00:00
|
|
|
callPackage ./staging.nix {
|
|
|
|
wineUnstable = wine-build wineBuild "unstable";
|
|
|
|
}
|
2015-05-10 19:33:00 +00:00
|
|
|
else
|
2022-01-21 03:47:23 +00:00
|
|
|
wine-build wineBuild wineRelease
|