nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 fetchFromGitLab,
5 portaudio,
6 boost,
7 ganv,
8 gtkmm2,
9 libjack2,
10 lilv,
11 pkg-config,
12 python3,
13 raul,
14 sord,
15 sratom,
16 suil,
17 meson,
18 ninja,
19}:
20
21stdenv.mkDerivation {
22 pname = "ingen";
23 version = "0-unstable-2024-07-13";
24
25 src = fetchFromGitLab {
26 owner = "drobilla";
27 repo = "ingen";
28 rev = "bbdab98ed282291b6e29a944359c360c9cca127e";
29 hash = "sha256-BllWeVmEkHQaZD9Ba7H0JMRlxVROJ8pkIiC2VXYiweA=";
30 };
31
32 nativeBuildInputs = [
33 meson
34 ninja
35 pkg-config
36 python3
37 python3.pkgs.wrapPython
38 ];
39
40 buildInputs = [
41 boost
42 ganv
43 gtkmm2
44 libjack2
45 lilv
46 portaudio
47 raul
48 sord
49 sratom
50 suil
51 ];
52
53 strictDeps = true;
54
55 # lv2specgen.py is not packaged in lv2 but required to build docs
56 mesonFlags = [ "-Ddocs=disabled" ];
57
58 pythonPath = [
59 python3
60 python3.pkgs.rdflib
61 ];
62
63 postInstall = ''
64 wrapPythonProgramsIn "$out/bin" "$out ''${pythonPath[*]}"
65 wrapProgram "$out/bin/ingen" --set INGEN_UI_PATH "$out/share/ingen/ingen_gui.ui"
66 '';
67
68 meta = {
69 description = "Modular audio processing system using JACK and LV2 or LADSPA plugins";
70 homepage = "http://drobilla.net/software/ingen";
71 license = lib.licenses.agpl3Plus;
72 maintainers = with lib.maintainers; [ t4ccer ];
73 platforms = lib.platforms.linux;
74 };
75}