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