From 0ca96aa43c2d8c36ce6515a4ff407bc4417496fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lengyel=20Bal=C3=A1zs?= Date: Thu, 24 Dec 2015 02:58:57 +0100 Subject: [PATCH] wine: add initial pulseaudio support --- pkgs/misc/emulators/wine/base.nix | 5 ++++- pkgs/misc/emulators/wine/default.nix | 2 ++ pkgs/misc/emulators/wine/packages.nix | 4 ++++ pkgs/top-level/all-packages.nix | 3 +++ 4 files changed, 13 insertions(+), 1 deletion(-) diff --git a/pkgs/misc/emulators/wine/base.nix b/pkgs/misc/emulators/wine/base.nix index 1e2d656fb0e..e031627a032 100644 --- a/pkgs/misc/emulators/wine/base.nix +++ b/pkgs/misc/emulators/wine/base.nix @@ -1,5 +1,6 @@ { stdenv, lib, pkgArches, name, version, src, monos, geckos, platforms, + pulseaudioSupport, buildScript ? null, configureFlags ? "" }: @@ -19,7 +20,9 @@ stdenv.mkDerivation ((lib.optionalAttrs (! isNull buildScript) { nativeBuildInputs = toBuildInputs pkgArches (pkgs: (with pkgs; [ freetype fontconfig mesa mesa_noglu.osmesa libdrm libpng libjpeg openssl gnutls cups ncurses - ]) ++ (with pkgs.xorg; [ + ]) + ++ lib.optional pulseaudioSupport pkgs.libpulseaudio + ++ (with pkgs.xorg; [ xlibsWrapper libXi libXcursor libXinerama libXrandr libXrender libXxf86vm libXcomposite ])); diff --git a/pkgs/misc/emulators/wine/default.nix b/pkgs/misc/emulators/wine/default.nix index 5261f79de10..a402fba69f6 100644 --- a/pkgs/misc/emulators/wine/default.nix +++ b/pkgs/misc/emulators/wine/default.nix @@ -9,11 +9,13 @@ { lib, pkgs, system, callPackage, wineRelease ? "stable", wineBuild ? (if system == "x86_64-linux" then "wineWow" else "wine32"), + pulseaudioSupport ? false, libtxc_dxtn_Name ? "libtxc_dxtn_s2tc" }: let wine-build = build: release: lib.getAttr build (callPackage ./packages.nix { wineRelease = release; + inherit pulseaudioSupport; }); in if wineRelease == "staging" then diff --git a/pkgs/misc/emulators/wine/packages.nix b/pkgs/misc/emulators/wine/packages.nix index ce983b99314..1a7e32efcbe 100644 --- a/pkgs/misc/emulators/wine/packages.nix +++ b/pkgs/misc/emulators/wine/packages.nix @@ -1,4 +1,5 @@ { system, stdenv, stdenv_32bit, lib, pkgs, pkgsi686Linux, fetchurl, + pulseaudioSupport, wineRelease ? "stable" }: @@ -30,6 +31,7 @@ in { name = "wine-${version}"; inherit (sources) version src; inherit (pkgsi686Linux) lib stdenv; + inherit pulseaudioSupport; pkgArches = [ pkgsi686Linux ]; geckos = with sources; [ wineGecko32 ]; monos = with sources; [ wineMono ]; @@ -39,6 +41,7 @@ in { name = "wine64-${version}"; inherit (sources) version src; inherit lib stdenv; + inherit pulseaudioSupport; pkgArches = [ pkgs ]; geckos = with sources; [ wineGecko64 ]; monos = with sources; [ wineMono ]; @@ -50,6 +53,7 @@ in { inherit (sources) version src; inherit lib; stdenv = stdenv_32bit; + inherit pulseaudioSupport; pkgArches = [ pkgs pkgsi686Linux ]; geckos = with sources; [ wineGecko32 wineGecko64 ]; monos = with sources; [ wineMono ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8be89661b67..3c25d094673 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15691,6 +15691,9 @@ let wine = callPackage ../misc/emulators/wine { wineRelease = config.wine.release or "stable"; wineBuild = config.wine.build or "wine32"; + pulseaudioSupport = if (config ? pulseaudio) + then config.pulseaudio + else stdenv.isLinux; }; wineStable = wine.override { wineRelease = "stable"; }; wineUnstable = lowPrio (wine.override { wineRelease = "unstable"; });