summary refs log tree commit diff
path: root/pkgs/applications/emulators/wine/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/emulators/wine/default.nix')
-rw-r--r--pkgs/applications/emulators/wine/default.nix63
1 files changed, 63 insertions, 0 deletions
diff --git a/pkgs/applications/emulators/wine/default.nix b/pkgs/applications/emulators/wine/default.nix
new file mode 100644
index 00000000000..191fd4b2980
--- /dev/null
+++ b/pkgs/applications/emulators/wine/default.nix
@@ -0,0 +1,63 @@
+## Configuration:
+# Control you default wine config in nixpkgs-config:
+# wine = {
+#   release = "stable"; # "stable", "unstable", "staging", "wayland"
+#   build = "wineWow"; # "wine32", "wine64", "wineWow"
+# };
+# Make additional configurations on demand:
+# wine.override { wineBuild = "wine32"; wineRelease = "staging"; };
+{ lib, stdenv, callPackage,
+  wineRelease ? "stable",
+  wineBuild ? if stdenv.hostPlatform.system == "x86_64-linux" then "wineWow" else "wine32",
+  gettextSupport ? false,
+  fontconfigSupport ? false,
+  alsaSupport ? false,
+  gtkSupport ? false,
+  openglSupport ? false,
+  tlsSupport ? false,
+  gstreamerSupport ? false,
+  cupsSupport ? false,
+  dbusSupport ? false,
+  openalSupport ? false,
+  openclSupport ? false,
+  cairoSupport ? false,
+  odbcSupport ? false,
+  netapiSupport ? false,
+  cursesSupport ? false,
+  vaSupport ? false,
+  pcapSupport ? false,
+  v4lSupport ? false,
+  saneSupport ? false,
+  gphoto2Support ? false,
+  ldapSupport ? false,
+  pulseaudioSupport ? false,
+  udevSupport ? false,
+  xineramaSupport ? false,
+  vulkanSupport ? false,
+  sdlSupport ? false,
+  vkd3dSupport ? false,
+  mingwSupport ? wineRelease != "stable",
+  waylandSupport ? wineRelease == "wayland",
+  embedInstallers ? false # The Mono and Gecko MSI installers
+}:
+
+let wine-build = build: release:
+      lib.getAttr build (callPackage ./packages.nix {
+        wineRelease = release;
+        supportFlags = {
+          inherit
+            cupsSupport gettextSupport dbusSupport openalSupport cairoSupport
+            odbcSupport netapiSupport cursesSupport vaSupport pcapSupport
+            v4lSupport saneSupport gphoto2Support ldapSupport fontconfigSupport
+            alsaSupport pulseaudioSupport xineramaSupport gtkSupport openclSupport
+            tlsSupport openglSupport gstreamerSupport udevSupport vulkanSupport
+            sdlSupport vkd3dSupport mingwSupport waylandSupport embedInstallers;
+        };
+      });
+
+in if wineRelease == "staging" then
+  callPackage ./staging.nix {
+    wineUnstable = wine-build wineBuild "unstable";
+  }
+else
+  wine-build wineBuild wineRelease