summary refs log tree commit diff
path: root/pkgs/misc/lilypond
diff options
context:
space:
mode:
authorEric Bailey <eric@ericb.me>2019-06-10 04:48:52 -0500
committerEric Bailey <eric@ericb.me>2019-06-10 12:30:35 -0500
commit859db732601d0e67b4984795de5db108c9d2e10d (patch)
treee7b3dc024e95bf9a592698462c665b1b38c11db4 /pkgs/misc/lilypond
parent54e8c673757e22ee77103d7ea96791a1eb6d79b8 (diff)
downloadnixpkgs-859db732601d0e67b4984795de5db108c9d2e10d.tar
nixpkgs-859db732601d0e67b4984795de5db108c9d2e10d.tar.gz
nixpkgs-859db732601d0e67b4984795de5db108c9d2e10d.tar.bz2
nixpkgs-859db732601d0e67b4984795de5db108c9d2e10d.tar.lz
nixpkgs-859db732601d0e67b4984795de5db108c9d2e10d.tar.xz
nixpkgs-859db732601d0e67b4984795de5db108c9d2e10d.tar.zst
nixpkgs-859db732601d0e67b4984795de5db108c9d2e10d.zip
lilypond-with-fonts: rework
- Use symlinkJoin
- Cleanup quoting
- Inherit meta and version from lilypond
Diffstat (limited to 'pkgs/misc/lilypond')
-rw-r--r--pkgs/misc/lilypond/with-fonts.nix42
1 files changed, 19 insertions, 23 deletions
diff --git a/pkgs/misc/lilypond/with-fonts.nix b/pkgs/misc/lilypond/with-fonts.nix
index 5bc74cb65dd..c8657298e44 100644
--- a/pkgs/misc/lilypond/with-fonts.nix
+++ b/pkgs/misc/lilypond/with-fonts.nix
@@ -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 ];
 
-    ${stdenv.lib.concatMapStrings (font: ''
-        lndir -silent ${font}/otf $fontsdir/otf
-        lndir -silent ${font}/svg $fontsdir/svg
-      '') fonts}
+  buildInputs = [ makeWrapper lndir ];
+
+  postBuild = ''
+    local datadir="$out/share/lilypond/${lilypond.version}"
+    local fontsdir="$datadir/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 -d "$fontsdir/otf"
+    install -m755 -d "$fontsdir/svg"
 
-      install -m755 -Dt $out/bin ${lilypond}/bin/*
+    ${stdenv.lib.concatMapStrings (font: ''
+          lndir -silent "${font}/otf" "$fontsdir/otf"
+          lndir -silent "${font}/svg" "$fontsdir/svg"
+      '') fonts}
 
       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;
 })