gnu: guile-static: Use libgc build with `USE_LIBC_PRIVATES'.

* gnu/packages/make-bootstrap.scm (%guile-static): Use libgc build with
  CPPFLAGS=-DUSE_LIBC_PRIVATES.
* gnu/packages/bdw-gc.scm (libgc): Add TODO to always do it.
This commit is contained in:
Ludovic Courtès 2013-02-13 21:42:34 +01:00
parent 250b0404d7
commit e3b2cf4c7a
2 changed files with 46 additions and 34 deletions

View File

@ -35,6 +35,7 @@
(base32
"05jwadjbrv8pr7z9cb4miskicxqpxm0pca4h2rg5cgbpajr2bx7b"))))
(build-system gnu-build-system)
;; TODO: Build with -DUSE_LIBC_PRIVATES (see make-bootstrap.scm).
(synopsis "The Boehm-Demers-Weiser conservative garbage collector
for C and C++")
(description

View File

@ -28,6 +28,7 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages gawk)
#:use-module (gnu packages guile)
#:use-module (gnu packages bdw-gc)
#:use-module (gnu packages linux)
#:use-module (gnu packages multiprecision)
#:use-module (ice-9 match)
@ -399,13 +400,23 @@
;; A statically-linked Guile that is relocatable--i.e., it can search
;; .scm and .go files relative to its installation directory, rather
;; than in hard-coded configure-time paths.
(let ((guile (package (inherit guile-2.0)
(let* ((libgc (package (inherit libgc)
(arguments
;; Make it so that we don't rely on /proc. This is
;; especially useful in an initrd run before /proc is
;; mounted.
'(#:configure-flags '("CPPFLAGS=-DUSE_LIBC_PRIVATES")))))
(guile (package (inherit guile-2.0)
(inputs
`(("patch/relocatable"
,(search-patch "guile-relocatable.patch"))
("patch/utf8"
,(search-patch "guile-default-utf8.patch"))
,@(package-inputs guile-2.0)))
(propagated-inputs
`(("bdw-gc" ,libgc)
,@(alist-delete "bdw-gc"
(package-propagated-inputs guile-2.0))))
(arguments
`(;; When `configure' checks for ltdl availability, it
;; doesn't try to link using libtool, and thus fails