distrho-ports: add build options (#458405)
This commit is contained in:
@@ -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";
|
||||
|
||||
Reference in New Issue
Block a user