aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2020-08-01 02:08:30 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2020-08-03 23:30:12 -0400
commit5cba0f48053c036466ff8a61395673ca504e0f73 (patch)
tree6b1422984db89308130e3ce78f3a47cc63adb04c
parent3557d7d8bcc5427a5c716cdd65b703812d4d681d (diff)
downloadguix-5cba0f48053c036466ff8a61395673ca504e0f73.tar.gz
guix-5cba0f48053c036466ff8a61395673ca504e0f73.zip
gnu: pjproject: Enable shared libraries.
* gnu/packages/telephony.scm (pjproject)[outputs]: Add a "static" output. [phases]: Move the 'check phase after the 'install phase. {move-static-libraries}: Add phase. [configure-flags]: Set LDFLAGS to add a runpath reference to self.
-rw-r--r--gnu/packages/telephony.scm26
1 files changed, 23 insertions, 3 deletions
diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index 2c50b34eae..58df4f5f00 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -745,12 +745,13 @@ your calls and messages.")
(("third_party/build") ""))
#t))))
(build-system gnu-build-system)
- (outputs '("out" "debug"))
+ (outputs '("out" "debug" "static"))
(arguments
`(#:tests? #t
#:test-target "selftest"
#:configure-flags
- (list "--with-external-speex"
+ (list "--enable-shared"
+ "--with-external-speex"
"--with-external-gsm"
"--with-external-srtp"
"--with-external-pa"
@@ -769,7 +770,11 @@ your calls and messages.")
;; -DNDEBUG is set to prevent pjproject from raising
;; assertions that aren't critical, crashing
;; applications as the result.
- "CFLAGS=-DNDEBUG")
+ "CFLAGS=-DNDEBUG"
+ ;; Specify a runpath reference to itself, which is missing and
+ ;; causes the validate-runpath phase to fail.
+ (string-append "LDFLAGS=-Wl,-rpath=" (assoc-ref %outputs "out")
+ "/lib"))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'make-source-files-writable
@@ -780,6 +785,21 @@ your calls and messages.")
#t))
(add-before 'build 'build-dep
(lambda _ (invoke "make" "dep")))
+ ;; The check phases is moved after the install phase so to
+ ;; use the installed shared libraries for the tests.
+ (delete 'check)
+ (add-after 'install 'move-static-libraries
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (s (string-append (assoc-ref outputs "static") "/lib")))
+ (mkdir-p s)
+ (with-directory-excursion out
+ (for-each (lambda (f)
+ (rename-file f (string-append s "/" (basename f))))
+ (find-files "." "\\.a$")))
+ #t)))
+ (add-after 'install 'check
+ (assoc-ref %standard-phases 'check))
(add-before 'patch-source-shebangs 'autoconf
(lambda _
(invoke "autoconf" "-v" "-f" "-i" "-o"