diff --git a/pkgs/by-name/dr/dragonfly-reverb/package.nix b/pkgs/by-name/dr/dragonfly-reverb/package.nix index f7d73b42729b..f7874ca039fc 100644 --- a/pkgs/by-name/dr/dragonfly-reverb/package.nix +++ b/pkgs/by-name/dr/dragonfly-reverb/package.nix @@ -6,6 +6,12 @@ libGL, pkg-config, libx11, + + buildStandalone ? true, + buildVST3 ? true, + buildLV2 ? true, + buildCLAP ? true, + buildVST2 ? false, # can't distribute }: stdenv.mkDerivation (finalAttrs: { @@ -20,9 +26,22 @@ stdenv.mkDerivation (finalAttrs: { fetchSubmodules = true; }; - postPatch = '' - patchShebangs dpf/utils/generate-ttl.sh - ''; + postPatch = + let + targets = lib.concatStringsSep " " [ + (lib.optionalString buildStandalone "jack") + (lib.optionalString buildVST3 "vst3") + (lib.optionalString buildLV2 "lv2_sep") + (lib.optionalString buildCLAP "clap") + (lib.optionalString buildVST2 "vst2") + ]; + in + '' + patchShebangs dpf/utils/generate-ttl.sh + + substituteInPlace plugins/*/Makefile \ + --replace-fail "TARGETS = jack lv2_sep vst2 vst3 clap" "TARGETS = ${targets}" + ''; nativeBuildInputs = [ pkg-config ]; buildInputs = [ @@ -33,27 +52,55 @@ stdenv.mkDerivation (finalAttrs: { installPhase = '' runHook preInstall - mkdir -p $out/bin - mkdir -p $out/lib/lv2/ - mkdir -p $out/lib/vst/ - mkdir -p $out/lib/vst3/ - mkdir -p $out/lib/clap/ - cd bin - for bin in DragonflyEarlyReflections DragonflyPlateReverb DragonflyHallReverb DragonflyRoomReverb; do - cp -a $bin $out/bin/ - cp -a $bin-vst.so $out/lib/vst/ - cp -a $bin.vst3 $out/lib/vst3/ - cp -a $bin.clap $out/lib/clap/ - cp -a $bin.lv2/ $out/lib/lv2/ ; - done + + ${lib.optionalString buildVST3 '' + mkdir -p $out/lib/vst3 + ''} + + ${lib.optionalString buildLV2 '' + mkdir -p $out/lib/lv2 + ''} + + ${lib.optionalString buildCLAP '' + mkdir -p $out/lib/clap + ''} + + pushd bin + for bin in DragonflyEarlyReflections DragonflyPlateReverb DragonflyHallReverb DragonflyRoomReverb; do + ${lib.optionalString buildStandalone '' + install -Dm755 $bin -t $out/bin + ''} + + ${lib.optionalString buildVST3 '' + cp -r $bin.vst3 $out/lib/vst3 + ''} + + ${lib.optionalString buildLV2 '' + cp -r $bin.lv2 $out/lib/lv2 + ''} + + ${lib.optionalString buildCLAP '' + cp -r $bin.clap $out/lib/clap + ''} + + ${lib.optionalString buildVST2 '' + install -Dm755 $bin-vst.so -t $out/lib/vst + ''} + done + popd + runHook postInstall ''; meta = { homepage = "https://github.com/michaelwillis/dragonfly-reverb"; description = "Hall-style reverb based on freeverb3 algorithms"; - maintainers = [ lib.maintainers.magnetophon ]; + maintainers = with lib.maintainers; [ + magnetophon + mrtnvgr + ]; license = lib.licenses.gpl3Plus; - platforms = [ "x86_64-linux" ]; + platforms = lib.platforms.linux; + badPlatforms = [ lib.systems.inspect.patterns.isAarch ]; }; })