diff options
author | rewine <1758075541@qq.com> | 2022-04-20 00:21:27 +0800 |
---|---|---|
committer | rewine <1758075541@qq.com> | 2022-04-21 21:35:13 +0800 |
commit | 9cb508adf7d22359a98390577a2a95ba95d78bae (patch) | |
tree | 7a1d0030c57f1270d3b82d1e530a364a918b16a1 | |
parent | 482ee5dd2be801476eb19598139a3cde8edfdfd9 (diff) | |
download | nixpkgs-9cb508adf7d22359a98390577a2a95ba95d78bae.tar nixpkgs-9cb508adf7d22359a98390577a2a95ba95d78bae.tar.gz nixpkgs-9cb508adf7d22359a98390577a2a95ba95d78bae.tar.bz2 nixpkgs-9cb508adf7d22359a98390577a2a95ba95d78bae.tar.lz nixpkgs-9cb508adf7d22359a98390577a2a95ba95d78bae.tar.xz nixpkgs-9cb508adf7d22359a98390577a2a95ba95d78bae.tar.zst nixpkgs-9cb508adf7d22359a98390577a2a95ba95d78bae.zip |
jamesdsp: add PulseAudio support
-rw-r--r-- | pkgs/applications/audio/jamesdsp/default.nix | 40 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 4 |
2 files changed, 39 insertions, 5 deletions
diff --git a/pkgs/applications/audio/jamesdsp/default.nix b/pkgs/applications/audio/jamesdsp/default.nix index 16683564b2c..61f8907f99c 100644 --- a/pkgs/applications/audio/jamesdsp/default.nix +++ b/pkgs/applications/audio/jamesdsp/default.nix @@ -2,18 +2,31 @@ , mkDerivation , fetchFromGitHub , pipewire +, pulseaudio +, gst_all_1 , glibmm , qmake +, qtbase +, qtsvg +, wrapQtAppsHook , makeDesktopItem , pkg-config , libarchive , fetchpatch +, copyDesktopItems +, usePipewire ? true +, usePulseaudio ? false }: -mkDerivation rec{ +assert lib.asserts.assertMsg (usePipewire != usePulseaudio) "You need to enable one and only one of pulseaudio or pipewire support"; + +let + pluginPath = lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0" (with gst_all_1; [ gstreamer gst-plugins-base gst-plugins-good ]); +in + mkDerivation rec { pname = "jamesdsp"; version = "2.3"; - src = fetchFromGitHub rec{ + src = fetchFromGitHub rec { owner = "Audio4Linux"; repo = "JDSP4Linux"; fetchSubmodules = true; @@ -29,13 +42,30 @@ mkDerivation rec{ }) ]; - nativeBuildInputs = [ qmake pkg-config ]; + nativeBuildInputs = [ + qmake + pkg-config + copyDesktopItems + wrapQtAppsHook + ]; + buildInputs = [ glibmm libarchive - pipewire + qtbase + qtsvg + ] ++ lib.optional usePipewire pipewire + ++ lib.optionals usePulseaudio [ + pulseaudio + gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-good + gst_all_1.gstreamer ]; + qtWrapperArgs = lib.optionals usePulseaudio [ "--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : ${pluginPath}" ]; + + qmakeFlags = lib.optionals usePulseaudio [ "CONFIG+=USE_PULSEAUDIO" ]; + desktopItems = [ (makeDesktopItem { name = "jamesdsp"; @@ -54,7 +84,7 @@ mkDerivation rec{ description = "An audio effect processor for PipeWire clients"; homepage = "https://github.com/Audio4Linux/JDSP4Linux"; license = licenses.gpl3Only; - maintainers = with maintainers;[ pasqui23 ]; + maintainers = with maintainers; [ pasqui23 rewine ]; platforms = platforms.linux; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d74be636761..7ffde878611 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6880,6 +6880,10 @@ with pkgs; jadx = callPackage ../tools/security/jadx { }; jamesdsp = libsForQt5.callPackage ../applications/audio/jamesdsp { }; + jamesdsp-pulse = libsForQt5.callPackage ../applications/audio/jamesdsp { + usePipewire = false; + usePulseaudio = true; + }; jazzy = callPackage ../development/tools/jazzy { }; |