about summary refs log tree commit diff
path: root/pkgs/misc/lilypond/with-fonts.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/misc/lilypond/with-fonts.nix')
-rw-r--r--pkgs/misc/lilypond/with-fonts.nix37
1 files changed, 10 insertions, 27 deletions
diff --git a/pkgs/misc/lilypond/with-fonts.nix b/pkgs/misc/lilypond/with-fonts.nix
index 5bc74cb65ddf..829d2d4e02e4 100644
--- a/pkgs/misc/lilypond/with-fonts.nix
+++ b/pkgs/misc/lilypond/with-fonts.nix
@@ -1,35 +1,18 @@
-{ 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) meta 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 ];
 
-      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"
-      done
+  postBuild = ''
+    for p in $out/bin/*; do
+        wrapProgram "$p" --set LILYPOND_DATADIR "$datadir"
+    done
   '';
 })