nixpkgs/pkgs/applications/audio/faust/faust2sc.nix
2023-04-22 15:59:25 +02:00

39 lines
1.1 KiB
Nix

{ faust
, baseName ? "faust2sc"
, supercollider
, makeWrapper
, python3
, stdenv
}@args:
let
faustDefaults = faust.faust2ApplBase
(args // {
baseName = "${baseName}.py";
});
in
stdenv.mkDerivation (faustDefaults // {
nativeBuildInputs = [ makeWrapper ];
propagatedBuildInputs = [ python3 faust supercollider ];
postInstall = ''
mv "$out/bin/${baseName}.py" "$out"/bin/${baseName}
'';
postFixup = ''
# export parts of the build environment
mkdir "$out"/include
# until pr #887 is merged and released in faust we need to link the header folders
ln -s "${supercollider}"/include/SuperCollider/plugin_interface "$out"/include/plugin_interface
ln -s "${supercollider}"/include/SuperCollider/common "$out"/include/common
ln -s "${supercollider}"/include/SuperCollider/server "$out"/include/server
wrapProgram "$out"/bin/${baseName} \
--append-flags "--import-dir ${faust}/share/faust" \
--append-flags "--architecture-dir ${faust}/share/faust" \
--append-flags "--architecture-dir ${faust}/include" \
--append-flags "-p $out" \
--prefix PATH : "$PATH"
'';
})