39 lines
1.1 KiB
Nix
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"
|
||
|
'';
|
||
|
})
|