Files
nixpkgs/pkgs/by-name/ls/lsp-plugins/package.nix
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

152 lines
3.4 KiB
Nix

{
lib,
stdenv,
cairo,
fetchurl,
gst_all_1,
jack2,
ladspaH,
libGL,
libGLU,
libXrandr,
libsndfile,
lv2,
php82,
pkg-config,
}:
let
php = php82;
in
stdenv.mkDerivation (finalAttrs: {
pname = "lsp-plugins";
version = "1.2.23";
outputs = [
"out"
"dev"
"doc"
];
src = fetchurl {
url = "https://github.com/lsp-plugins/lsp-plugins/releases/download/${finalAttrs.version}/lsp-plugins-src-${finalAttrs.version}.tar.gz";
hash = "sha256-GxjSnDsEPiXbaJ9khSvgQZeVONxWf4WJilurHpSf14w=";
};
# By default, GStreamer plugins are installed right alongside GStreamer itself
# We can't do that in Nixpkgs, so lets install it to $out/lib like other plugins
postPatch = ''
substituteInPlace modules/lsp-plugin-fw/src/Makefile \
--replace-fail '$(shell pkg-config --variable=pluginsdir gstreamer-1.0)' '$(LIBDIR)/gstreamer-1.0'
'';
nativeBuildInputs = [
php
pkg-config
];
buildInputs = [
cairo
gst_all_1.gst-plugins-base
gst_all_1.gstreamer
jack2
ladspaH
libGL
libGLU
libXrandr
libsndfile
lv2
];
makeFlags = [
"ETCDIR=${placeholder "out"}/etc"
"PREFIX=${placeholder "out"}"
"SHAREDDIR=${placeholder "out"}/share"
];
env.NIX_CFLAGS_COMPILE = "-DLSP_NO_EXPERIMENTAL";
configurePhase = ''
runHook preConfigure
make $makeFlags config
runHook postConfigure
'';
doCheck = true;
enableParallelBuilding = true;
meta = {
description = "Collection of open-source audio plugins";
longDescription = ''
Compatible with the following formats:
- CLAP - set of plugins for Clever Audio Plugins API
- LADSPA - set of plugins for Linux Audio Developer's Simple Plugin API
- LV2 - set of plugins and UIs for Linux Audio Developer's Simple Plugin API (LADSPA) version 2
- LinuxVST - set of plugins and UIs for Steinberg's VST 2.4 format ported on GNU/Linux Platform
- JACK - Standalone versions for JACK Audio connection Kit with UI
Contains the following plugins (https://lsp-plug.in/?page=plugins)
Equalizers:
- Fliter
- Graphic Equalizer
- Parametric Equalizer
Dynamic Processing:
- Compressor
- Dynamic Processor
- Expander
- Gate
- Limiter
Multiband Dynamic Processing:
- GOTT Compressor
- Multiband Compressor
- Multiband Dynamics Processor
- Multiband Expander
- Multiband Gate
- Multiband Limiter
Convolution / Reverb processing:
- Impulse Responses
- Impulse Reverb
- Room Builder
Delay Effects:
- Artistic Delay
- Compensation Delay
- Slap-back Delay
Analyzers:
- Oscilloscope
- Phase Detector
- Spectrum Analyzer
Multiband Processing:
- Crossover
Samplers:
- Multisampler
- Sampler
Generators / Oscillators:
- Noise Generator
- Oscillator
Utilitary Plugins:
- A/B Test Plugin
- Flanger
- Latency Meter
- Loudness Compensator
- Mixer
- Profiler
- Surge Filter
- Trigger
'';
homepage = "https://lsp-plug.in";
changelog = "https://github.com/lsp-plugins/lsp-plugins/releases/tag/${finalAttrs.version}";
maintainers = with lib.maintainers; [
magnetophon
PowerUser64
];
license = lib.licenses.gpl2;
platforms = lib.platforms.linux;
};
})