nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 stdenv,
3 lib,
4 fetchurl,
5 meson,
6 ninja,
7
8 pipewire,
9 gitUpdater,
10}:
11
12stdenv.mkDerivation rec {
13 pname = "lv2";
14 version = "1.18.10";
15
16 outputs = [
17 "out"
18 "dev"
19 ];
20
21 src = fetchurl {
22 url = "https://lv2plug.in/spec/${pname}-${version}.tar.xz";
23 hash = "sha256-eMUbzyG1Tli7Yymsy7Ta4Dsu15tSD5oB5zS9neUwlT8=";
24 };
25
26 strictDeps = true;
27
28 nativeBuildInputs = [
29 meson
30 ninja
31 ];
32
33 mesonFlags = [
34 # install validators to $dev
35 "--bindir=${placeholder "dev"}/bin"
36
37 # These are just example plugins. They pull in outdated gtk-2
38 # dependency and many other things. Upstream would like to
39 # eventually move them of the project:
40 # https://gitlab.com/lv2/lv2/-/issues/57#note_1096060029
41 "-Dplugins=disabled"
42 # Pulls in spell checkers among other things.
43 "-Dtests=disabled"
44 # Avoid heavyweight python dependencies.
45 "-Ddocs=disabled"
46 ]
47 ++ lib.optionals stdenv.hostPlatform.isDarwin [
48 "-Dlv2dir=${placeholder "out"}/lib/lv2"
49 ];
50
51 passthru = {
52 tests = {
53 inherit pipewire;
54 };
55 updateScript = gitUpdater {
56 # No nicer place to find latest release.
57 url = "https://gitlab.com/lv2/lv2.git";
58 rev-prefix = "v";
59 };
60 };
61
62 meta = with lib; {
63 homepage = "https://lv2plug.in";
64 description = "Plugin standard for audio systems";
65 mainProgram = "lv2_validate";
66 license = licenses.mit;
67 maintainers = [ ];
68 platforms = platforms.unix;
69 };
70}