jamesdsp: add PulseAudio support

main
rewine 2 years ago
parent 482ee5dd2b
commit 9cb508adf7
  1. 40
      pkgs/applications/audio/jamesdsp/default.nix
  2. 4
      pkgs/top-level/all-packages.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;
};
}

@ -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 { };

Loading…
Cancel
Save