summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-06-25 20:31:10 +0200
committerLudovic Courtès <ludo@gnu.org>2013-06-25 20:31:10 +0200
commit6e1c4093d27c3d57261958df6c04996c19c74e69 (patch)
tree055c07bcafea8b376855bb504458d6e464133b6c
parent527e7961252ece5d143bfd921c1159a7a5bf8d5f (diff)
gnu: bigloo: Explicitly link libbigloopthread against libgc.
* gnu/packages/scheme.scm (bigloo): In `configure' phase, change api/thread/src/Makefile to explicitly link against libgc.
-rw-r--r--gnu/packages/scheme.scm13
1 files changed, 12 insertions, 1 deletions
diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index 1e66750b01..4d717128d9 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -128,7 +128,7 @@ development cycle.")
"1771z43nmf9awjvlvrpjfhzcfxsbw2qipir8g9r47sygf2vn59yl"))))
(build-system gnu-build-system)
(arguments
- '(#:patches (list (assoc-ref %build-inputs "patch/shebangs"))
+ `(#:patches (list (assoc-ref %build-inputs "patch/shebangs"))
#:test-target "test"
#:phases (alist-replace
'configure
@@ -138,6 +138,17 @@ development cycle.")
(("^shell=.*$")
(string-append "shell=" (which "bash") "\n")))
+ ;; Since libgc's pthread redirects are used, we end up
+ ;; using libgc symbols, so we must link against it.
+ ;; Reported on 2013-06-25.
+ (substitute* "api/pthread/src/Makefile"
+ (("^EXTRALIBS[[:blank:]]*=(.*)$" _ value)
+ (string-append "EXTRALIBS = "
+ (string-trim-right value)
+ " -l$(GCLIB)_fth-$(RELEASE)"
+ " -Wl,-rpath=" (assoc-ref outputs "out")
+ "/lib/bigloo/" ,version)))
+
;; Those variables are used by libgc's `configure'.
(setenv "SHELL" (which "bash"))
(setenv "CONFIG_SHELL" (which "bash"))