You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

65 lines
2.6 KiB

  1. ;;; GNU Guix --- Functional package management for GNU
  2. ;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
  3. ;;;
  4. ;;; This file is part of GNU Guix.
  5. ;;;
  6. ;;; GNU Guix is free software; you can redistribute it and/or modify it
  7. ;;; under the terms of the GNU General Public License as published by
  8. ;;; the Free Software Foundation; either version 3 of the License, or (at
  9. ;;; your option) any later version.
  10. ;;;
  11. ;;; GNU Guix is distributed in the hope that it will be useful, but
  12. ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
  13. ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14. ;;; GNU General Public License for more details.
  15. ;;;
  16. ;;; You should have received a copy of the GNU General Public License
  17. ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
  18. (define-module (gnu packages bdw-gc)
  19. #:use-module (guix licenses)
  20. #:use-module (guix packages)
  21. #:use-module (guix download)
  22. #:use-module (guix build-system gnu))
  23. (define-public libgc
  24. (package
  25. (name "libgc")
  26. (version "7.2d")
  27. (source (origin
  28. (method url-fetch)
  29. (uri (string-append
  30. "http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-"
  31. version ".tar.gz"))
  32. (sha256
  33. (base32
  34. "0phwa5driahnpn79zqff14w9yc8sn3599cxz91m78hqdcpl0mznr"))))
  35. (build-system gnu-build-system)
  36. (arguments
  37. ;; Make it so that we don't rely on /proc. This is especially useful in
  38. ;; an initrd run before /proc is mounted.
  39. '(#:configure-flags '("CPPFLAGS=-DUSE_LIBC_PRIVATES")))
  40. (outputs '("out" "debug"))
  41. (synopsis "The Boehm-Demers-Weiser conservative garbage collector
  42. for C and C++")
  43. (description
  44. "The Boehm-Demers-Weiser conservative garbage collector can be used
  45. as a garbage collecting replacement for C malloc or C++ new. It allows
  46. you to allocate memory basically as you normally would, without
  47. explicitly deallocating memory that is no longer useful. The collector
  48. automatically recycles memory when it determines that it can no longer
  49. be otherwise accessed.
  50. The collector is also used by a number of programming language
  51. implementations that either use C as intermediate code, want to
  52. facilitate easier interoperation with C libraries, or just prefer the
  53. simple collector interface.
  54. Alternatively, the garbage collector may be used as a leak detector for
  55. C or C++ programs, though that is not its primary goal.")
  56. (home-page "http://www.hpl.hp.com/personal/Hans_Boehm/gc/")
  57. ;; permissive X11-style license:
  58. ;; http://www.hpl.hp.com/personal/Hans_Boehm/gc/license.txt
  59. (license x11)))