lilypond-with-fonts: rework

- Use symlinkJoin
- Cleanup quoting
- Inherit meta and version from lilypond
This commit is contained in:
Eric Bailey 2019-06-10 04:48:52 -05:00
parent 54e8c67375
commit 859db73260

View file

@ -1,35 +1,31 @@
{ stdenv
, lndir
, lilypond
, openlilylib-fonts
{ stdenv, lndir, symlinkJoin, makeWrapper
, lilypond, openlilylib-fonts
, fonts ? openlilylib-fonts.all
}:
stdenv.lib.appendToName "with-fonts" (stdenv.mkDerivation {
inherit (lilypond) name;
phases = "installPhase";
buildInputs = fonts;
nativeBuildInputs = [ lndir ];
installPhase = ''
local fontsdir=$out/share/lilypond/${lilypond.version}/fonts
stdenv.lib.appendToName "with-fonts" (symlinkJoin {
inherit (lilypond) name version;
install -m755 -d $fontsdir/otf
install -m755 -d $fontsdir/svg
paths = [ lilypond ];
buildInputs = [ makeWrapper lndir ];
postBuild = ''
local datadir="$out/share/lilypond/${lilypond.version}"
local fontsdir="$datadir/fonts"
install -m755 -d "$fontsdir/otf"
install -m755 -d "$fontsdir/svg"
${stdenv.lib.concatMapStrings (font: ''
lndir -silent ${font}/otf $fontsdir/otf
lndir -silent ${font}/svg $fontsdir/svg
lndir -silent "${font}/otf" "$fontsdir/otf"
lndir -silent "${font}/svg" "$fontsdir/svg"
'') fonts}
install -m755 -d $out/lib
lndir -silent ${lilypond}/lib $out/lib
install -m755 -d $out/share
lndir -silent ${lilypond}/share $out/share
install -m755 -Dt $out/bin ${lilypond}/bin/*
for p in $out/bin/*; do
substituteInPlace $p --replace "exec -a \"${lilypond}" "exec -a \"$out"
wrapProgram "$p" --set LILYPOND_DATADIR "$datadir"
done
'';
inherit (lilypond) meta;
})