diff options
Diffstat (limited to 'pkgs/applications/audio/easyeffects/default.nix')
-rw-r--r-- | pkgs/applications/audio/easyeffects/default.nix | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/pkgs/applications/audio/easyeffects/default.nix b/pkgs/applications/audio/easyeffects/default.nix new file mode 100644 index 00000000000..ee4d16d6b36 --- /dev/null +++ b/pkgs/applications/audio/easyeffects/default.nix @@ -0,0 +1,107 @@ +{ lib +, stdenv +, desktop-file-utils +, fetchFromGitHub +, calf +, fftwFloat +, glib +, glibmm +, gtk4 +, gtkmm4 +, itstool +, libbs2b +, libebur128 +, libsamplerate +, libsndfile +, lilv +, lsp-plugins +, lv2 +, meson +, ninja +, nlohmann_json +, pipewire +, pkg-config +, python3 +, rnnoise +, rubberband +, speexdsp +, wrapGAppsHook +, zam-plugins +, 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 + ''; + + preFixup = + let + lv2Plugins = [ + calf # limiter, compressor exciter, bass enhancer and others + lsp-plugins # delay + ]; + ladspaPlugins = [ + rubberband # pitch shifting + zam-plugins # maximizer + ]; + in + '' + gappsWrapperArgs+=( + --set LV2_PATH "${lib.makeSearchPath "lib/lv2" lv2Plugins}" + --set LADSPA_PATH "${lib.makeSearchPath "lib/ladspa" ladspaPlugins}" + ) + ''; + + 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" ]; + }; +} |