2
0
mirror of https://github.com/NixOS/nixpkgs.git synced 2024-12-29 09:04:17 +00:00
nixpkgs/pkgs/top-level/wine-packages.nix
Randy Eckenrode 55d279809c
wine-packages: fix Hydra build failures on Darwin
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.
2022-04-22 09:38:47 -04:00

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