summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/bdw-gc.scm49
1 files changed, 47 insertions, 2 deletions
diff --git a/gnu/packages/bdw-gc.scm b/gnu/packages/bdw-gc.scm
index f2d3119fef..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
@@ -61,3 +62,47 @@ C or C++ programs, though that is not its primary goal.")
 
    (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 '())))