From 2718c41712692b1dd37491d41158392177932ab9 Mon Sep 17 00:00:00 2001 From: marius851000 Date: Mon, 7 Oct 2019 12:22:33 +0200 Subject: faudio, wine, vkd3d: add faudio 19.10 and vkd3d 1.1 to wine fixes https://github.com/NixOS/nixpkgs/pull/68952 --- pkgs/development/libraries/faudio/default.nix | 27 +++++++++++++++++++++++++++ pkgs/misc/emulators/wine/base.nix | 9 +++++++-- pkgs/misc/emulators/wine/default.nix | 5 ++++- pkgs/misc/emulators/wine/vkd3d.nix | 26 ++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ pkgs/top-level/wine-packages.nix | 2 ++ 6 files changed, 68 insertions(+), 3 deletions(-) create mode 100644 pkgs/development/libraries/faudio/default.nix create mode 100644 pkgs/misc/emulators/wine/vkd3d.nix 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"; }; -- cgit 1.4.1