aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/bdw-gc.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/bdw-gc.scm')
-rw-r--r--gnu/packages/bdw-gc.scm54
1 files changed, 49 insertions, 5 deletions
diff --git a/gnu/packages/bdw-gc.scm b/gnu/packages/bdw-gc.scm
index 7cce9671d1..b223721520 100644
--- a/gnu/packages/bdw-gc.scm
+++ b/gnu/packages/bdw-gc.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -20,7 +20,8 @@
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
- #:use-module (guix build-system gnu))
+ #:use-module (guix build-system gnu)
+ #:use-module (gnu packages pkg-config))
(define-public libgc
(package
@@ -59,6 +60,49 @@ 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)))
+ (license
+ (x11-style "http://www.hpl.hp.com/personal/Hans_Boehm/gc/license.txt"))))
+
+(define-public libatomic-ops
+ (package
+ (name "libatomic-ops")
+ (version "7.4.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/libatomic_ops-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0njv3n63zw6v45k68z6dz14g2hpk5p230ncwmdfkglsljb1cqx98"))))
+ (build-system gnu-build-system)
+ (outputs '("out" "debug"))
+ (synopsis "Accessing hardware atomic memory update operations")
+ (description
+ "This C library provides semi-portable access to hardware-provided atomic
+memory update operations on a number architectures. These might allow you to
+write code that does more interesting things in signal handlers, write
+lock-free code, experiment with thread programming paradigms, etc.")
+ (home-page "http://www.hpl.hp.com/research/linux/atomic_ops/")
+
+ ;; Some source files are X11-style, others are GPLv2+.
+ (license gpl2+)))
+
+(define-public libgc-7.4
+ (package (inherit libgc)
+ (version "7.4.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "10z2nph62ilab063wygg2lv0jxlsbcf2az9w1lx01jzqj5lzry31"))))
+
+ ;; New dependencies.
+ (native-inputs `(("pkg-config" ,pkg-config)))
+ (inputs `(("libatomic-ops" ,libatomic-ops)))
+
+ ;; 'USE_LIBC_PRIVATES' is now the default.
+ (arguments '())))