55d279809c
Disable Vulkan and VKD3D by default on Darwin while MoltenVK is forced to build using Xcode instead of the SDK in nixpkgs. They can be overriden if the user needs either of those.
60 lines
1.9 KiB
Nix
60 lines
1.9 KiB
Nix
{ stdenv, config, callPackage, wineBuild }:
|
|
|
|
rec {
|
|
fonts = callPackage ../applications/emulators/wine/fonts.nix {};
|
|
minimal = callPackage ../applications/emulators/wine {
|
|
wineRelease = config.wine.release or "stable";
|
|
inherit wineBuild;
|
|
};
|
|
|
|
base = minimal.override {
|
|
gettextSupport = true;
|
|
fontconfigSupport = stdenv.isLinux;
|
|
alsaSupport = stdenv.isLinux;
|
|
openglSupport = true;
|
|
# Works on Darwin but disabled by default to prevent Hydra build failures due to MoltenVK.
|
|
vulkanSupport = stdenv.isLinux;
|
|
tlsSupport = true;
|
|
cupsSupport = true;
|
|
dbusSupport = stdenv.isLinux;
|
|
cairoSupport = stdenv.isLinux;
|
|
cursesSupport = true;
|
|
saneSupport = stdenv.isLinux;
|
|
pulseaudioSupport = config.pulseaudio or stdenv.isLinux;
|
|
udevSupport = stdenv.isLinux;
|
|
xineramaSupport = stdenv.isLinux;
|
|
sdlSupport = true;
|
|
mingwSupport = true;
|
|
usbSupport = true;
|
|
};
|
|
|
|
full = base.override {
|
|
gtkSupport = stdenv.isLinux;
|
|
gstreamerSupport = true;
|
|
openalSupport = true;
|
|
openclSupport = true;
|
|
odbcSupport = true;
|
|
netapiSupport = stdenv.isLinux;
|
|
vaSupport = stdenv.isLinux;
|
|
pcapSupport = true;
|
|
v4lSupport = stdenv.isLinux;
|
|
gphoto2Support = true;
|
|
krb5Support = true;
|
|
ldapSupport = true;
|
|
# Works on Darwin but disabled by default to prevent Hydra build failures due to MoltenVK.
|
|
vkd3dSupport = stdenv.isLinux;
|
|
embedInstallers = true;
|
|
};
|
|
|
|
stable = base.override { wineRelease = "stable"; };
|
|
stableFull = full.override { wineRelease = "stable"; };
|
|
|
|
unstable = base.override { wineRelease = "unstable"; };
|
|
unstableFull = full.override { wineRelease = "unstable"; };
|
|
|
|
staging = base.override { wineRelease = "staging"; };
|
|
stagingFull = full.override { wineRelease = "staging"; };
|
|
|
|
wayland = base.override { wineRelease = "wayland"; };
|
|
waylandFull = full.override { wineRelease = "wayland"; };
|
|
}
|