diff --git a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml index a95b1dd66b96..7d046d39de75 100644 --- a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml +++ b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml @@ -342,6 +342,13 @@ release instead of the old 2.7.7 version. + + + The pulseeffects package updated to + version + 4.x and renamed to easyeffects. + + The libwnck package now defaults to the 3.x diff --git a/nixos/doc/manual/release-notes/rl-2111.section.md b/nixos/doc/manual/release-notes/rl-2111.section.md index be46591dfa16..96854ffdd745 100644 --- a/nixos/doc/manual/release-notes/rl-2111.section.md +++ b/nixos/doc/manual/release-notes/rl-2111.section.md @@ -84,6 +84,8 @@ In addition to numerous new and upgraded packages, this release has the followin * The `antlr` package now defaults to the 4.x release instead of the old 2.7.7 version. +* The `pulseeffects` package updated to [version 4.x](https://github.com/wwmm/easyeffects/releases/tag/v6.0.0) and renamed to `easyeffects`. + * The `libwnck` package now defaults to the 3.x release instead of the old 2.31.0 version. diff --git a/pkgs/applications/audio/easyeffects/default.nix b/pkgs/applications/audio/easyeffects/default.nix new file mode 100644 index 000000000000..9bbbaf22f429 --- /dev/null +++ b/pkgs/applications/audio/easyeffects/default.nix @@ -0,0 +1,85 @@ +{ lib, stdenv +, desktop-file-utils +, fetchFromGitHub +, fftwFloat +, glib +, glibmm +, gtk4 +, gtkmm4 +, itstool +, libbs2b +, libebur128 +, libsamplerate +, libsndfile +, lilv +, lv2 +, meson +, ninja +, nlohmann_json +, pipewire +, pkg-config +, python3 +, rnnoise +, rubberband +, speexdsp +, wrapGAppsHook +, zita-convolver +}: + +stdenv.mkDerivation rec { + pname = "easyeffects"; + version = "6.0.0"; + + src = fetchFromGitHub { + owner = "wwmm"; + repo = "easyeffects"; + rev = "v${version}"; + hash = "sha256:1m3jamnhgpx3z51nfc8xg7adhf5x7dirvw0wf129hzxx4fjl7rch"; + }; + + nativeBuildInputs = [ + desktop-file-utils + itstool + meson + ninja + pkg-config + python3 + wrapGAppsHook + ]; + + buildInputs = [ + fftwFloat + glib + glibmm + gtk4 + gtkmm4 + libbs2b + libebur128 + libsamplerate + libsndfile + lilv + lv2 + nlohmann_json + pipewire + rnnoise + rubberband + speexdsp + zita-convolver + ]; + + postPatch = '' + chmod +x meson_post_install.py + patchShebangs meson_post_install.py + ''; + + separateDebugInfo = true; + + meta = with lib; { + description = "Audio effects for PipeWire applications."; + homepage = "https://github.com/wwmm/easyeffects"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ jtojnar ]; + platforms = platforms.linux; + badPlatforms = [ "aarch64-linux" ]; + }; +} diff --git a/pkgs/applications/audio/pulseeffects/default.nix b/pkgs/applications/audio/pulseeffects/default.nix deleted file mode 100644 index 7a7c7175a45d..000000000000 --- a/pkgs/applications/audio/pulseeffects/default.nix +++ /dev/null @@ -1,127 +0,0 @@ -{ lib, stdenv -, fetchFromGitHub -, fetchpatch -, meson -, ninja -, pkg-config -, itstool -, python3 -, libxml2 -, desktop-file-utils -, wrapGAppsHook -, gst_all_1 -, pipewire -, 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 = "5.0.3"; - - src = fetchFromGitHub { - owner = "wwmm"; - repo = "pulseeffects"; - rev = "v${version}"; - sha256 = "1dicvq17vajk3vr4g1y80599ahkw0dp5ynlany1cfljfjz40s8sx"; - }; - - nativeBuildInputs = [ - meson - ninja - pkg-config - libxml2 - itstool - python3 - desktop-file-utils - wrapGAppsHook - ]; - - buildInputs = [ - pipewire - glib - glibmm - gtk3 - gtkmm3 - gst_all_1.gstreamer - gst_all_1.gst-plugins-base # gst-fft - gst_all_1.gst-plugins-good # spectrum plugin - gst_all_1.gst-plugins-bad - lilv lv2 serd sord sratom - libbs2b - libebur128 - libsamplerate - libsndfile - rnnoise - boost - dbus - fftwFloat - zita-convolver - ]; - - patches = [ - (fetchpatch { - # Fix build failure. - # https://github.com/wwmm/pulseeffects/pull/934 - url = "https://github.com/wwmm/pulseeffects/commit/ab7354a6850d23840b4c9af212dbebf4f31a562f.patch"; - sha256 = "1hd05xn6sp0xs632mqgwk19hl40kh2f69mx5mgzahysrj057w22c"; - }) - ]; - - 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"; - - separateDebugInfo = true; - - 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/aliases.nix b/pkgs/top-level/aliases.nix index d36f7e9719db..0df082ff35cb 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -653,7 +653,8 @@ mapAliases ({ pyo3-pack = maturin; pmenu = throw "pmenu has been removed from nixpkgs, as its maintainer is no longer interested in the package."; # added 2019-12-10 pulseaudioLight = pulseaudio; # added 2018-04-25 - pulseeffects = throw "Use pulseeffects-legacy if you use PulseAudio and pulseeffects-pw if you use PipeWire."; # added 2021-02-13, move back once we default to PipeWire audio server. + pulseeffects = throw "Use pulseeffects-legacy if you use PulseAudio and easyeffects if you use PipeWire."; # added 2021-02-13 + pulseeffects-pw = easyeffects; # added 2021-07-07 phonon-backend-gstreamer = throw "phonon-backend-gstreamer: Please use libsForQt5.phonon-backend-gstreamer, as Qt4 support in this package has been removed."; # added 2019-11-22 phonon-backend-vlc = throw "phonon-backend-vlc: Please use libsForQt5.phonon-backend-vlc, as Qt4 support in this package has been removed."; # added 2019-11-22 phonon = throw "phonon: Please use libsForQt5.phonon, as Qt4 support in this package has been removed."; # added 2019-11-22 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index be0b60596998..bc5d83614af2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -19749,8 +19749,8 @@ in libpulseaudio = libpulseaudio-vanilla; - pulseeffects-pw = callPackage ../applications/audio/pulseeffects { - boost = boost172; + easyeffects = callPackage ../applications/audio/easyeffects { + glibmm = glibmm_2_68; }; pulseeffects-legacy = callPackage ../applications/audio/pulseeffects-legacy {