nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at python-updates 195 lines 4.4 kB view raw
1{ 2 lib, 3 stdenv, 4 cairo, 5 fetchurl, 6 gst_all_1, 7 jack2, 8 ladspaH, 9 libGL, 10 libGLU, 11 libXrandr, 12 libsndfile, 13 lv2, 14 php84, 15 pkg-config, 16 17 buildVST3 ? true, 18 buildVST2 ? true, 19 buildCLAP ? true, 20 buildLV2 ? true, 21 buildLADSPA ? true, 22 buildJACK ? true, 23 buildGStreamer ? true, 24}: 25 26let 27 php = php84; 28 29 subFeatures = [ 30 (lib.optionalString (!buildVST3) "vst3") 31 (lib.optionalString (!buildVST2) "vst2") 32 (lib.optionalString (!buildCLAP) "clap") 33 (lib.optionalString (!buildLV2) "lv2") 34 (lib.optionalString (!buildLADSPA) "ladspa") 35 (lib.optionalString (!buildJACK) "jack") 36 (lib.optionalString (!buildGStreamer) "gst") 37 ]; 38in 39 40stdenv.mkDerivation (finalAttrs: { 41 pname = "lsp-plugins"; 42 version = "1.2.26"; 43 44 outputs = [ 45 "out" 46 "dev" 47 "doc" 48 ]; 49 50 src = fetchurl { 51 url = "https://github.com/lsp-plugins/lsp-plugins/releases/download/${finalAttrs.version}/lsp-plugins-src-${finalAttrs.version}.tar.gz"; 52 hash = "sha256-RIMqmSJkF90u+nSICZCj3nGrAx1mfUXsPQb3lXicCfM="; 53 }; 54 55 # By default, GStreamer plugins are installed right alongside GStreamer itself 56 # We can't do that in Nixpkgs, so lets install it to $out/lib like other plugins 57 postPatch = '' 58 substituteInPlace modules/lsp-plugin-fw/src/Makefile \ 59 --replace-fail '$(shell pkg-config --variable=pluginsdir gstreamer-1.0)' '$(LIBDIR)/gstreamer-1.0' 60 ''; 61 62 nativeBuildInputs = [ 63 php 64 pkg-config 65 ]; 66 67 buildInputs = [ 68 cairo 69 gst_all_1.gst-plugins-base 70 gst_all_1.gstreamer 71 jack2 72 ladspaH 73 libGL 74 libGLU 75 libXrandr 76 libsndfile 77 lv2 78 ]; 79 80 makeFlags = [ 81 "ETCDIR=${placeholder "out"}/etc" 82 "PREFIX=${placeholder "out"}" 83 "SHAREDDIR=${placeholder "out"}/share" 84 ]; 85 86 env.NIX_CFLAGS_COMPILE = "-DLSP_NO_EXPERIMENTAL"; 87 88 configurePhase = '' 89 runHook preConfigure 90 91 make $makeFlags config SUB_FEATURES="${lib.concatStringsSep " " subFeatures}" 92 93 runHook postConfigure 94 ''; 95 96 doCheck = true; 97 98 enableParallelBuilding = true; 99 100 meta = { 101 description = "Collection of open-source audio plugins"; 102 longDescription = '' 103 Compatible with the following formats: 104 105 - CLAP - set of plugins for Clever Audio Plugins API 106 - LADSPA - set of plugins for Linux Audio Developer's Simple Plugin API 107 - LV2 - set of plugins and UIs for Linux Audio Developer's Simple Plugin API (LADSPA) version 2 108 - LinuxVST - set of plugins and UIs for Steinberg's VST 2.4 format ported on GNU/Linux Platform 109 - VST3 - set of plugins and UIs for Steinberg's VST 3 format 110 - JACK - Standalone versions for JACK Audio connection Kit with UI 111 112 Contains the following plugins (https://lsp-plug.in/?page=plugins) 113 114 Equalizers: 115 - Filter 116 - Graphic Equalizer 117 - Parametric Equalizer 118 119 Dynamic Processing: 120 - Beat Breather 121 - Clipper 122 - Compressor 123 - Dynamics Processor 124 - Expander 125 - Gate 126 - Limiter 127 128 Multiband Dynamic Processing: 129 - GOTT Compressor 130 - Multiband Clipper 131 - Multiband Compressor 132 - Multiband Dynamics Processor 133 - Multiband Expander 134 - Multiband Gate 135 - Multiband Limiter 136 137 Convolution / Reverb Processing: 138 - Impulse Responses 139 - Impulse Reverb 140 - Room Builder 141 142 Delay Effects: 143 - Artistic Delay 144 - Compensation Delay 145 - Slap-back Delay 146 147 Modulation Effects: 148 - Chorus 149 - Flanger 150 - Phaser 151 152 Analyzers: 153 - Oscilloscope 154 - Phase Detector 155 - Spectrum Analyzer 156 157 Multiband Processing: 158 - Crossover 159 160 Samplers: 161 - Multisampler 162 - Sampler 163 164 Generators / Oscillators: 165 - Noise Generator 166 - Oscillator 167 168 Utility Plugins: 169 - A/B Test Plugin 170 - Automatic Gain Control 171 - Latency Meter 172 - Loudness Compensator 173 - Mixer 174 - Profiler 175 - Referencer 176 - Return 177 - Ring Modulated Sidechain 178 - Send 179 - Surge Filter 180 - Trigger 181 182 Matcher plugins: 183 - Matcher 184 - Sidechain Matcher 185 ''; 186 homepage = "https://lsp-plug.in"; 187 changelog = "https://github.com/lsp-plugins/lsp-plugins/releases/tag/${finalAttrs.version}"; 188 maintainers = with lib.maintainers; [ 189 magnetophon 190 PowerUser64 191 ]; 192 license = lib.licenses.gpl2; 193 platforms = lib.platforms.linux; 194 }; 195})