distro: Add libgc.

* distro/packages/base.scm (libgc): New variable.
  (guile-2.0): Use it.
This commit is contained in:
Ludovic Courtès 2012-09-26 23:17:39 +02:00
parent cb0d69ed16
commit 75668d7916
1 changed files with 37 additions and 1 deletions

View File

@ -1174,6 +1174,42 @@ on where to find glib (or other libraries). It is language-agnostic, so
it can be used for defining the location of documentation tools, for it can be used for defining the location of documentation tools, for
instance."))) instance.")))
(define-public libgc
(package
(name "libgc")
(version "7.2alpha6")
(source (origin
(method http-fetch)
(uri (string-append
"http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-"
version ".tar.gz"))
(sha256
(base32
"05jwadjbrv8pr7z9cb4miskicxqpxm0pca4h2rg5cgbpajr2bx7b"))))
(build-system gnu-build-system)
(description "The Boehm-Demers-Weiser conservative garbage collector
for C and C++")
(long-description
"The Boehm-Demers-Weiser conservative garbage collector can be used
as a garbage collecting replacement for C malloc or C++ new. It allows
you to allocate memory basically as you normally would, without
explicitly deallocating memory that is no longer useful. The collector
automatically recycles memory when it determines that it can no longer
be otherwise accessed.
The collector is also used by a number of programming language
implementations that either use C as intermediate code, want to
facilitate easier interoperation with C libraries, or just prefer the
simple collector interface.
Alternatively, the garbage collector may be used as a leak detector for
C or C++ programs, though that is not its primary goal.")
(home-page "http://www.hpl.hp.com/personal/Hans_Boehm/gc/")
;; permissive X11-style license:
;; http://www.hpl.hp.com/personal/Hans_Boehm/gc/license.txt
(license "X11")))
(define-public guile-2.0 (define-public guile-2.0
(package (package
(name "guile") (name "guile")
@ -1200,7 +1236,7 @@ instance.")))
;; The headers and/or `guile-2.0.pc' refer to these packages, so they ;; The headers and/or `guile-2.0.pc' refer to these packages, so they
;; must be propagated. ;; must be propagated.
("bdw-gc" ,(nixpkgs-derivation* "boehmgc")) ("bdw-gc" ,libgc)
("gmp" ,gmp))) ("gmp" ,gmp)))
(self-native-input? #t) (self-native-input? #t)