Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
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 };
37
38 full = base.override {
39 gtkSupport = stdenv.hostPlatform.isLinux;
40 gstreamerSupport = true;
41 openclSupport = true;
42 odbcSupport = true;
43 netapiSupport = stdenv.hostPlatform.isLinux;
44 vaSupport = stdenv.hostPlatform.isLinux;
45 pcapSupport = true;
46 v4lSupport = stdenv.hostPlatform.isLinux;
47 gphoto2Support = true;
48 krb5Support = true;
49 embedInstallers = true;
50 };
51
52 stable = base.override { wineRelease = "stable"; };
53 stableFull = full.override { wineRelease = "stable"; };
54
55 unstable = base.override { wineRelease = "unstable"; };
56 unstableFull = full.override { wineRelease = "unstable"; };
57
58 staging = base.override { wineRelease = "staging"; };
59 stagingFull = full.override { wineRelease = "staging"; };
60
61 wayland = base.override {
62 x11Support = false;
63 };
64 waylandFull = full.override {
65 x11Support = false;
66 };
67
68 yabridge =
69 let
70 yabridge = base.override { wineRelease = "yabridge"; };
71 in
72 if wineBuild == "wineWow" then yabridge else lib.dontDistribute yabridge;
73}