guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] Fix Ardour build.


From: Ricardo Wurmus
Subject: [PATCH] Fix Ardour build.
Date: Mon, 11 May 2015 20:27:58 +0200

>From d17b74b96eb96fa20a0b685983bff0283325878d Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
Date: Mon, 11 May 2015 20:24:59 +0200
Subject: [PATCH] gnu: ardour: Extract RUNPATH phase.

* gnu/packages/audio.scm (ardour-rpath-phase): New procedure.
* gnu/packages/audio.scm (ardour, ardour-3): Generate version-dependent build
  phase with ardour-rpath-phase.
---
 gnu/packages/audio.scm | 44 +++++++++++++++++++++++++-------------------
 1 file changed, 25 insertions(+), 19 deletions(-)

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 543fe49..e15381b 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -21,6 +21,7 @@
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix git-download)
+  #:use-module (guix utils)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system waf)
@@ -128,6 +129,22 @@ attacks, performing pitch detection, tapping the beat and 
producing MIDI
 streams from live audio.")
     (license license:gpl3+)))
 
+(define (ardour-rpath-phase major-version)
+  `(lambda* (#:key outputs #:allow-other-keys)
+     (let ((libdir (string-append (assoc-ref outputs "out")
+                                  "/lib/ardour" ,major-version)))
+       (substitute* "wscript"
+         (("linker_flags = \\[\\]")
+          (string-append "linker_flags = [\""
+                         "-Wl,-rpath="
+                         libdir ":"
+                         libdir "/backends" ":"
+                         libdir "/engines" ":"
+                         libdir "/panners" ":"
+                         libdir "/surfaces" ":"
+                         libdir "/vamp" "\"]"))))
+     #t))
+
 (define-public ardour-3
   (package
     (name "ardour")
@@ -158,24 +175,7 @@ namespace ARDOUR { const char* revision = 
\"3.5-403-gec2cb31\" ; }"))))
        (modify-phases %standard-phases
          (add-after
           'unpack 'set-rpath-in-LDFLAGS
-          (lambda _
-            (substitute* "wscript"
-              (("linker_flags = \\[\\]")
-               (string-append "linker_flags = [\""
-                              "-Wl,-rpath="
-                              (assoc-ref %outputs "out")
-                              "/lib/ardour3/" ":"
-                              (assoc-ref %outputs "out")
-                              "/lib/ardour3/backends" ":"
-                              (assoc-ref %outputs "out")
-                              "/lib/ardour3/engines" ":"
-                              (assoc-ref %outputs "out")
-                              "/lib/ardour3/panners" ":"
-                              (assoc-ref %outputs "out")
-                              "/lib/ardour3/surfaces" ":"
-                              (assoc-ref %outputs "out")
-                              "/lib/ardour3/vamp" "\"]")))
-            #t)))
+          ,(ardour-rpath-phase (version-prefix version 1))))
        #:tests? #f ; no check target
        #:python ,python-2))
     (inputs
@@ -246,7 +246,13 @@ namespace ARDOUR { const char* revision = \"4.0\" ; }"))))
               (sha256
                (base32
                 "0a8bydc24xv0cahdqfaxdmi1f43cyr9psiyshxpbrkdqw2c7a4xi"))
-              (file-name (string-append name "-" version))))))
+              (file-name (string-append name "-" version))))
+    (arguments
+     (substitute-keyword-arguments (package-arguments ardour-3)
+       ((#:phases phases)
+        `(modify-phases ,phases
+           (replace 'set-rpath-in-LDFLAGS
+                    ,(ardour-rpath-phase (version-prefix version 1)))))))))
 
 (define-public azr3
   (package
-- 
2.1.0





reply via email to

[Prev in Thread] Current Thread [Next in Thread]