about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/audio/lsp-plugins/default.nix
blob: 43e5338cb9bb0bfcc94d8f953ade329e46fd27a5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
{ lib, stdenv, fetchurl, pkg-config, makeWrapper
, libsndfile, jack2
, libGLU, libGL, lv2, cairo
, ladspaH, php, libXrandr }:

stdenv.mkDerivation rec {
  pname = "lsp-plugins";
  version = "1.2.13";

  src = fetchurl {
    url = "https://github.com/sadko4u/${pname}/releases/download/${version}/${pname}-src-${version}.tar.gz";
    sha256 = "sha256-eJO+1fCNzqjTdGrPlhIrHc3UimkJOydRqTq49IN+Iwo=";
  };

  outputs = [ "out" "dev" "doc" ];

  nativeBuildInputs = [ pkg-config php makeWrapper ];
  buildInputs = [ jack2 libsndfile libGLU libGL lv2 cairo ladspaH libXrandr ];

  makeFlags = [
    "PREFIX=${placeholder "out"}"
    "ETCDIR=${placeholder "out"}/etc"
    "SHAREDDIR=${placeholder "out"}/share"
  ];

  env.NIX_CFLAGS_COMPILE = "-DLSP_NO_EXPERIMENTAL";

  configurePhase = ''
    make config PREFIX=${placeholder "out"}
  '';

  doCheck = true;

  enableParallelBuilding = true;

  meta = with lib;
    { 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";
      maintainers = with maintainers; [ magnetophon PowerUser64 ];
      license = licenses.gpl2;
      platforms = platforms.linux;
    };
}