nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 config,
5 callPackage,
6 wineBuild,
7}:
8
9rec {
10 fonts = callPackage ../applications/emulators/wine/fonts.nix { };
11 minimal = callPackage ../applications/emulators/wine {
12 wineRelease = config.wine.release or "stable";
13 inherit wineBuild;
14 };
15
16 base = minimal.override {
17 gettextSupport = true;
18 fontconfigSupport = stdenv.hostPlatform.isLinux;
19 alsaSupport = stdenv.hostPlatform.isLinux;
20 openglSupport = true;
21 vulkanSupport = true;
22 tlsSupport = true;
23 cupsSupport = true;
24 dbusSupport = stdenv.hostPlatform.isLinux;
25 cairoSupport = stdenv.hostPlatform.isLinux;
26 cursesSupport = true;
27 saneSupport = stdenv.hostPlatform.isLinux;
28 pulseaudioSupport = config.pulseaudio or stdenv.hostPlatform.isLinux;
29 udevSupport = stdenv.hostPlatform.isLinux;
30 xineramaSupport = stdenv.hostPlatform.isLinux;
31 sdlSupport = true;
32 mingwSupport = true;
33 usbSupport = true;
34 waylandSupport = stdenv.hostPlatform.isLinux;
35 x11Support = stdenv.hostPlatform.isLinux;
36 ffmpegSupport = true;
37 };
38
39 full = base.override {
40 gtkSupport = stdenv.hostPlatform.isLinux;
41 gstreamerSupport = true;
42 openclSupport = true;
43 odbcSupport = true;
44 netapiSupport = stdenv.hostPlatform.isLinux;
45 vaSupport = stdenv.hostPlatform.isLinux;
46 pcapSupport = true;
47 v4lSupport = stdenv.hostPlatform.isLinux;
48 gphoto2Support = true;
49 krb5Support = true;
50 embedInstallers = true;
51 };
52
53 stable = base.override { wineRelease = "stable"; };
54 stableFull = full.override { wineRelease = "stable"; };
55
56 unstable = base.override { wineRelease = "unstable"; };
57 unstableFull = full.override { wineRelease = "unstable"; };
58
59 staging = base.override { wineRelease = "staging"; };
60 stagingFull = full.override { wineRelease = "staging"; };
61
62 wayland = base.override {
63 x11Support = false;
64 };
65 waylandFull = full.override {
66 x11Support = false;
67 };
68
69 yabridge =
70 let
71 yabridge = base.override { wineRelease = "yabridge"; };
72 in
73 if wineBuild == "wineWow" then yabridge else lib.dontDistribute yabridge;
74}