gnu: freecad: Update to 0.18.4.
[jackhill/guix/guix.git] / gnu / packages / bdw-gc.scm
index c7491f8..7196ffc 100644 (file)
@@ -3,6 +3,7 @@
 ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2016, 2018 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org>
+;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
 (define-public libgc
   (package
    (name "libgc")
-   (version "7.6.6")
+   (version "7.6.12")
    (source (origin
             (method url-fetch)
             (uri (string-append "https://github.com/ivmai/bdwgc/releases"
                                 "/download/v" version "/gc-" version ".tar.gz"))
             (sha256
              (base32
-              "1p1r015a7jbpvkkbgzv1y8nxrbbp6dg0mq3ksi6ji0qdz3wfss79"))))
+              "10jhhi79d5brwlsyhwgpnrmc8nhlf7aan2lk9xhgihk5jc6srbvc"))))
    (build-system gnu-build-system)
    (arguments
     `(#:configure-flags
        ,@(if (hurd-triplet? (or (%current-system)
                                 (%current-target-system)))
              '("--disable-gcj-support")
-             '()))))
+             '()))
+      #:phases (modify-phases %standard-phases
+                 (add-after 'unpack 'adjust-pc-file
+                   (lambda* (#:key inputs #:allow-other-keys)
+                     (let ((libatomic-ops (assoc-ref inputs "libatomic-ops")))
+                       ;; GC 7.6.10 and later includes -latomic_ops in the
+                       ;; pkg-config file.  To avoid propagation, insert an
+                       ;; absolute reference so dependent programs can find it.
+                       (substitute* "bdw-gc.pc.in"
+                         (("@ATOMIC_OPS_LIBS@" match)
+                          (string-append "-L" libatomic-ops "/lib "
+                                         match)))
+                       #t))))))
    (native-inputs `(("pkg-config" ,pkg-config)))
    (inputs `(("libatomic-ops" ,libatomic-ops)))
    (outputs '("out" "debug"))
@@ -91,7 +104,7 @@ C or C++ programs, though that is not its primary goal.")
 (define-public libatomic-ops
   (package
     (name "libatomic-ops")
-    (version "7.6.6")
+    (version "7.6.10")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -99,7 +112,7 @@ C or C++ programs, though that is not its primary goal.")
                     version "/libatomic_ops-" version ".tar.gz"))
               (sha256
                (base32
-                "0x7071z707msvyrv9dmgahd1sghbkw8fpbagvcag6xs8yp2spzlr"))))
+                "1bwry043f62pc4mgdd37zx3fif19qyrs8f5bw7qxlmkzh5hdyzjq"))))
     (build-system gnu-build-system)
     (outputs '("out" "debug"))
     (synopsis "Accessing hardware atomic memory update operations")