summary refs log tree commit diff
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2020-02-06 19:41:36 +0100
committerMarius Bakke <mbakke@fastmail.com>2020-02-15 22:02:56 +0100
commit5d8a4354acd081adf9ef55e07ae2cf0a257d1e95 (patch)
treef9b9403ebe641f60af93f148fee61a1684790e08
parent6457ae1339c8d3dc7ade2baa8511916d55809887 (diff)
downloadguix-5d8a4354acd081adf9ef55e07ae2cf0a257d1e95.tar.gz
gnu: isl: Move the static library to a separate output.
* gnu/packages/gcc.scm (isl)[outputs, arguments]: New fields.
* gnu/packages/make-bootstrap.scm (%gcc-static)[inputs]: Add ISL:STATIC.
-rw-r--r--gnu/packages/gcc.scm21
-rw-r--r--gnu/packages/make-bootstrap.scm1
2 files changed, 21 insertions, 1 deletions
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 90cb97e15c..f9d8b3e150 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -6,7 +6,7 @@
 ;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Carlos Sánchez de La Lama <csanchezdll@gmail.com>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2018, 2020 Marius Bakke <mbakke@fastmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -882,6 +882,25 @@ as the 'native-search-paths' field."
               (base32
                "1kf54jib0nind1pvakblnfhimmwzm0y1llz8470ag0di5vwqwrhs"))))
     (build-system gnu-build-system)
+    (outputs '("out" "static"))
+    (arguments
+     '(#:phases (modify-phases %standard-phases
+                  (add-after 'install 'move-static-library
+                    (lambda* (#:key outputs #:allow-other-keys)
+                      (let* ((out (assoc-ref outputs "out"))
+                             (static (assoc-ref outputs "static"))
+                             (source (string-append out "/lib/libisl.a"))
+                             (target (string-append static "/lib/libisl.a")))
+                        (mkdir-p (dirname target))
+                        (link source target)
+                        (delete-file source)
+
+                        ;; Remove reference to libisl.a from the .la file so
+                        ;; libtool looks for it in the usual locations.
+                        (substitute* (string-append out "/lib/libisl.la")
+                          (("^old_library=.*")
+                           "old_library=''\n"))
+                        #t))))))
     (inputs `(("gmp" ,gmp)))
     (home-page "http://isl.gforge.inria.fr/")
     (synopsis
diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index c1930582d1..ef274a2ade 100644
--- a/gnu/packages/make-bootstrap.scm
+++ b/gnu/packages/make-bootstrap.scm
@@ -513,6 +513,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
                     #t)))))))
      (inputs
       `(("zlib:static" ,zlib "static")
+        ("isl:static" ,isl "static")
         ,@(package-inputs gcc)))
      (native-inputs
       (if (%current-target-system)