distrho-ports: allow overriding which plugins to build

This commit is contained in:
bandithedoge 2025-06-13 23:32:22 +02:00
parent e78e608679
commit 215873371d

View File

@ -13,6 +13,9 @@
meson, meson,
ninja, ninja,
pkg-config, pkg-config,
# empty means build all available plugins
plugins ? [ ],
}: }:
let let
@ -49,7 +52,7 @@ stdenv.mkDerivation {
env.NIX_CFLAGS_COMPILE = toString [ "-fpermissive" ]; env.NIX_CFLAGS_COMPILE = toString [ "-fpermissive" ];
postFixup = '' postFixup = lib.optionalString (lib.any (x: x == "vitalium") plugins || plugins == [ ]) ''
for file in \ for file in \
$out/lib/lv2/vitalium.lv2/vitalium.so \ $out/lib/lv2/vitalium.lv2/vitalium.so \
$out/lib/vst/vitalium.so \ $out/lib/vst/vitalium.so \
@ -59,11 +62,23 @@ stdenv.mkDerivation {
done done
''; '';
mesonFlags = lib.optional (plugins != [ ]) (
lib.mesonOption "plugins" "[${lib.concatMapStringsSep "," (x: "\"${x}\"") plugins}]"
);
meta = { meta = {
homepage = "http://distrho.sourceforge.net/ports"; homepage = "http://distrho.sourceforge.net/ports";
description = "Linux audio plugins and LV2 ports"; description = "Linux audio plugins and LV2 ports";
longDescription = '' longDescription = ''
Includes: You can override this package to only include some plugins like so:
```nix
distrho-ports.override {
plugins = [ "vitalium" "swankyamp" ];
}
```
Available plugins:
- arctican-function - arctican-function
- arctican-pilgrim - arctican-pilgrim
- dexed - dexed
@ -107,7 +122,7 @@ stdenv.mkDerivation {
lgpl3Only lgpl3Only
mit mit
]; ];
maintainers = [ ]; maintainers = with lib.maintainers; [ bandithedoge ];
platforms = lib.systems.inspect.patternLogicalAnd lib.systems.inspect.patterns.isLinux lib.systems.inspect.patterns.isx86; platforms = lib.systems.inspect.patternLogicalAnd lib.systems.inspect.patterns.isLinux lib.systems.inspect.patterns.isx86;
}; };
} }