diff --git a/pkgs/applications/audio/pulseeffects-legacy/default.nix b/pkgs/applications/audio/pulseeffects-legacy/default.nix new file mode 100644 index 000000000000..fad17ac71fde --- /dev/null +++ b/pkgs/applications/audio/pulseeffects-legacy/default.nix @@ -0,0 +1,115 @@ +{ lib, stdenv +, fetchFromGitHub +, meson +, ninja +, pkg-config +, itstool +, python3 +, libxml2 +, desktop-file-utils +, wrapGAppsHook +, gst_all_1 +, pulseaudio +, gtk3 +, glib +, glibmm +, gtkmm3 +, lilv +, lv2 +, serd +, sord +, sratom +, libbs2b +, libsamplerate +, libsndfile +, libebur128 +, rnnoise +, boost +, dbus +, fftwFloat +, calf +, zita-convolver +, zam-plugins +, rubberband +, lsp-plugins +}: + +let + lv2Plugins = [ + calf # limiter, compressor exciter, bass enhancer and others + lsp-plugins # delay + ]; + ladspaPlugins = [ + rubberband # pitch shifting + zam-plugins # maximizer + ]; +in stdenv.mkDerivation rec { + pname = "pulseeffects"; + version = "4.8.4"; + + src = fetchFromGitHub { + owner = "wwmm"; + repo = "pulseeffects"; + rev = "v${version}"; + sha256 = "19sndxvszafbd1l2033g2irpx2jrwi5bpbx8r35047wi0z7djiag"; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + libxml2 + itstool + python3 + desktop-file-utils + wrapGAppsHook + ]; + + buildInputs = [ + pulseaudio + glib + glibmm + gtk3 + gtkmm3 + gst_all_1.gstreamer + gst_all_1.gst-plugins-base # gst-fft + gst_all_1.gst-plugins-good # pulsesrc + gst_all_1.gst-plugins-bad + lilv lv2 serd sord sratom + libbs2b + libebur128 + libsamplerate + libsndfile + rnnoise + boost + dbus + fftwFloat + zita-convolver + ]; + + postPatch = '' + chmod +x meson_post_install.py + patchShebangs meson_post_install.py + ''; + + preFixup = '' + gappsWrapperArgs+=( + --set LV2_PATH "${lib.makeSearchPath "lib/lv2" lv2Plugins}" + --set LADSPA_PATH "${lib.makeSearchPath "lib/ladspa" ladspaPlugins}" + ) + ''; + + # Meson is no longer able to pick up Boost automatically. + # https://github.com/NixOS/nixpkgs/issues/86131 + BOOST_INCLUDEDIR = "${lib.getDev boost}/include"; + BOOST_LIBRARYDIR = "${lib.getLib boost}/lib"; + + meta = with lib; { + description = "Limiter, compressor, reverberation, equalizer and auto volume effects for Pulseaudio applications"; + homepage = "https://github.com/wwmm/pulseeffects"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ jtojnar ]; + platforms = platforms.linux; + badPlatforms = [ "aarch64-linux" ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5fb8b0cd463b..462db692cd9f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -18087,6 +18087,10 @@ in boost = boost172; }; + pulseeffects-legacy = callPackage ../applications/audio/pulseeffects-legacy { + boost = boost172; + }; + tomcat_connectors = callPackage ../servers/http/apache-modules/tomcat-connectors { }; tomcat-native = callPackage ../servers/http/tomcat/tomcat-native.nix { };