summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/music.scm15
1 files changed, 13 insertions, 2 deletions
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 116e8d4823..4297f846f9 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -251,6 +251,18 @@ many input formats and provides a customisable Vi-style user interface.")
            ;; testsuite.
            (lambda _
              (zero? (system* "make" "-C" "tests" "check"))))
+         (add-before 'build 'set-lilypond
+           ;; This phase sets the default path for lilypond to its current
+           ;; location in the store.
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let* ((lilypond (string-append (assoc-ref inputs "lilypond")
+                                             "/bin/lilypond")))
+               (substitute* "src/core/prefops.c"
+                 (("g_string_new \\(\"lilypond\"\\);")
+                  (string-append "g_string_new (\""
+                                 lilypond
+                                 "\");"))))
+             #t))
          (add-after 'install 'correct-filename
            ;; "graft-derivation/shallow" from the (guix grafts) module runs in
            ;; the C locale, expecting file names to be ASCII encoded. This
@@ -283,11 +295,10 @@ many input formats and provides a customisable Vi-style user interface.")
        ("libsndfile" ,libsndfile)
        ("libtool" ,libtool)
        ("libxml2" ,libxml2)
+       ("lilypond", lilypond)
        ("portaudio" ,portaudio)
        ("portmidi" ,portmidi)
        ("rubberband" ,rubberband)))
-    (propagated-inputs
-     `(("lilypond", lilypond)))
     (synopsis "Graphical music notation, front-end to GNU Lilypond")
     (description
      "GNU Denemo is a music notation editor that provides a convenient