summary refs log tree commit diff
diff options
context:
space:
mode:
authormarius851000 <mariusdavid@laposte.net>2019-10-07 12:22:33 +0200
committerHerwig Hochleitner <herwig@bendlas.net>2019-10-12 14:57:28 +0200
commit2718c41712692b1dd37491d41158392177932ab9 (patch)
treeeb9281da7544359fed83f318fae43fcefd9346f5
parent39b7c7e6887c6408a4483967a0f5868d01aed097 (diff)
downloadnixpkgs-2718c41712692b1dd37491d41158392177932ab9.tar
nixpkgs-2718c41712692b1dd37491d41158392177932ab9.tar.gz
nixpkgs-2718c41712692b1dd37491d41158392177932ab9.tar.bz2
nixpkgs-2718c41712692b1dd37491d41158392177932ab9.tar.lz
nixpkgs-2718c41712692b1dd37491d41158392177932ab9.tar.xz
nixpkgs-2718c41712692b1dd37491d41158392177932ab9.tar.zst
nixpkgs-2718c41712692b1dd37491d41158392177932ab9.zip
faudio, wine, vkd3d: add faudio 19.10 and vkd3d 1.1 to wine
fixes https://github.com/NixOS/nixpkgs/pull/68952
-rw-r--r--pkgs/development/libraries/faudio/default.nix27
-rw-r--r--pkgs/misc/emulators/wine/base.nix9
-rw-r--r--pkgs/misc/emulators/wine/default.nix5
-rw-r--r--pkgs/misc/emulators/wine/vkd3d.nix26
-rw-r--r--pkgs/top-level/all-packages.nix2
-rw-r--r--pkgs/top-level/wine-packages.nix2
6 files changed, 68 insertions, 3 deletions
diff --git a/pkgs/development/libraries/faudio/default.nix b/pkgs/development/libraries/faudio/default.nix
new file mode 100644
index 00000000000..b0818d79dfa
--- /dev/null
+++ b/pkgs/development/libraries/faudio/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub, cmake, SDL2}:
+
+#TODO: tests
+
+stdenv.mkDerivation rec {
+	pname = "faudio";
+  version = "19.10";
+
+  src = fetchFromGitHub {
+    owner = "FNA-XNA";
+    repo = "FAudio";
+    rev = version;
+    sha256 = "1z7j803nxhgvjwpxr1m5d490yji727v7pn0ghhipbrfxlwzkw1sz";
+  };
+
+	nativeBuildInputs = [cmake];
+
+  buildInputs = [ SDL2 ];
+
+  meta = with stdenv.lib; {
+    description = "XAudio reimplementation focusing to develop a fully accurate DirectX audio library";
+    homepage = "https://github.com/FNA-XNA/FAudio";
+    license = licenses.zlib;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.marius851000 ];
+  };
+}
diff --git a/pkgs/misc/emulators/wine/base.nix b/pkgs/misc/emulators/wine/base.nix
index 01d09659915..8252c96282d 100644
--- a/pkgs/misc/emulators/wine/base.nix
+++ b/pkgs/misc/emulators/wine/base.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, pkgArches,
+{ stdenv, lib, pkgArches, callPackage,
   name, version, src, monos, geckos, platforms,
   pkgconfig, fontforge, makeWrapper, flex, bison,
   supportFlags,
@@ -7,6 +7,9 @@
 
 with import ./util.nix { inherit lib; };
 
+let
+  vkd3d = callPackage ./vkd3d.nix {};
+in
 stdenv.mkDerivation ((lib.optionalAttrs (buildScript != null) {
   builder = buildScript;
 }) // rec {
@@ -46,8 +49,10 @@ stdenv.mkDerivation ((lib.optionalAttrs (buildScript != null) {
   ++ lib.optional udevSupport            pkgs.udev
   ++ lib.optional vulkanSupport          pkgs.vulkan-loader
   ++ lib.optional sdlSupport             pkgs.SDL2
+  ++ lib.optional faudioSupport          pkgs.faudio
+  ++ lib.optional vkd3dSupport           vkd3d
   ++ lib.optionals gstreamerSupport      (with pkgs.gst_all_1;
-    [ gstreamer gst-plugins-base gst-plugins-good gst-plugins-ugly gst-libav 
+    [ gstreamer gst-plugins-base gst-plugins-good gst-plugins-ugly gst-libav
     (gst-plugins-bad.override { enableZbar = false; }) ])
   ++ lib.optionals gtkSupport    [ pkgs.gtk3 pkgs.glib ]
   ++ lib.optionals openclSupport [ pkgs.opencl-headers pkgs.ocl-icd ]
diff --git a/pkgs/misc/emulators/wine/default.nix b/pkgs/misc/emulators/wine/default.nix
index 6ecca6c2503..727eb270067 100644
--- a/pkgs/misc/emulators/wine/default.nix
+++ b/pkgs/misc/emulators/wine/default.nix
@@ -43,6 +43,8 @@
   xmlSupport ? false,
   vulkanSupport ? false,
   sdlSupport ? false,
+  faudioSupport ? false,
+  vkd3dSupport ? false,
 }:
 
 let wine-build = build: release:
@@ -54,7 +56,8 @@ let wine-build = build: release:
                   netapiSupport cursesSupport vaSupport pcapSupport v4lSupport saneSupport
                   gsmSupport gphoto2Support ldapSupport fontconfigSupport alsaSupport
                   pulseaudioSupport xineramaSupport gtkSupport openclSupport xmlSupport tlsSupport
-                  openglSupport gstreamerSupport udevSupport vulkanSupport sdlSupport;
+                  openglSupport gstreamerSupport udevSupport vulkanSupport sdlSupport faudioSupport
+                  vkd3dSupport;
         };
       });
 
diff --git a/pkgs/misc/emulators/wine/vkd3d.nix b/pkgs/misc/emulators/wine/vkd3d.nix
new file mode 100644
index 00000000000..082eb0b90c6
--- /dev/null
+++ b/pkgs/misc/emulators/wine/vkd3d.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, vulkan-headers, spirv-headers, vulkan-loader }:
+
+#TODO: MoltenVK
+#TODO: unstable
+
+stdenv.mkDerivation rec {
+  pname = "vkd3d";
+  version = "1.1";
+
+  src = fetchurl {
+    url = "https://dl.winehq.org/vkd3d/source/vkd3d-${version}.tar.xz";
+    sha256 = "1dkayp95g1691w7n2yn1q9y7klq5xa921dgmn9a5vil0rihxqnj9";
+  };
+
+  buildInputs = [ vulkan-headers spirv-headers vulkan-loader ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "A 3d library build on top on Vulkan with a similar api to DirectX 12";
+    homepage = "https://source.winehq.org/git/vkd3d.git";
+    license = licenses.lgpl21;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.marius851000 ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 7be0e132341..26bec15f568 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1629,6 +1629,8 @@ in
 
   fast-cli = nodePackages.fast-cli;
 
+  faudio = callPackage ../development/libraries/faudio { };
+
   fd = callPackage ../tools/misc/fd { };
 
   fdroidserver = python3Packages.callPackage ../development/tools/fdroidserver { };
diff --git a/pkgs/top-level/wine-packages.nix b/pkgs/top-level/wine-packages.nix
index 2c47a362c9a..88ea6a00f8c 100644
--- a/pkgs/top-level/wine-packages.nix
+++ b/pkgs/top-level/wine-packages.nix
@@ -44,6 +44,8 @@ rec {
     gsmSupport = true;
     gphoto2Support = true;
     ldapSupport = true;
+    faudioSupport = true;
+    vkd3dSupport = true;
   };
 
   stable = base.override { wineRelease = "stable"; };