distrho-ports: add build options (#458405)

This commit is contained in:
Austin Horstman
2025-11-09 03:30:46 +00:00
committed by GitHub
+26 -12
View File
@@ -16,12 +16,18 @@
# empty means build all available plugins
plugins ? [ ],
buildVST3 ? true,
buildLV2 ? true,
buildVST2 ? true,
}:
let
rpathLibs = [
fftwFloat
];
mesonPlugins = lib.mesonOption "plugins" "[${lib.concatMapStringsSep "," (x: "\"${x}\"") plugins}]";
in
stdenv.mkDerivation {
pname = "distrho-ports";
@@ -52,19 +58,27 @@ stdenv.mkDerivation {
env.NIX_CFLAGS_COMPILE = toString [ "-fpermissive" ];
postFixup = lib.optionalString (lib.elem "vitalium" plugins || plugins == [ ]) ''
for file in \
$out/lib/lv2/vitalium.lv2/vitalium.so \
$out/lib/vst/vitalium.so \
$out/lib/vst3/vitalium.vst3/Contents/x86_64-linux/vitalium.so
do
patchelf --set-rpath "${lib.makeLibraryPath rpathLibs}:$(patchelf --print-rpath $file)" $file
done
'';
postFixup =
let
files = [
(lib.optionalString buildLV2 "$out/lib/lv2/vitalium.lv2/vitalium.so")
(lib.optionalString buildVST2 "$out/lib/vst/vitalium.so")
(lib.optionalString buildVST3 "$out/lib/vst3/vitalium.vst3/Contents/x86_64-linux/vitalium.so")
];
in
lib.optionalString (lib.elem "vitalium" plugins || plugins == [ ]) ''
for file in ${lib.concatMapStringsSep " \\\n" (x: "${x}") files}
do
patchelf --set-rpath "${lib.makeLibraryPath rpathLibs}:$(patchelf --print-rpath $file)" $file
done
'';
mesonFlags = lib.optional (plugins != [ ]) (
lib.mesonOption "plugins" "[${lib.concatMapStringsSep "," (x: "\"${x}\"") plugins}]"
);
mesonFlags = [
(lib.mesonBool "build-lv2" buildLV2)
(lib.mesonBool "build-vst2" buildVST2)
(lib.mesonBool "build-vst3" buildVST3)
]
++ lib.optional (plugins != [ ]) mesonPlugins;
meta = {
homepage = "http://distrho.sourceforge.net/ports";