summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2018-12-12 20:08:28 +0100
committerMarius Bakke <mbakke@fastmail.com>2018-12-12 20:10:56 +0100
commit5b2da2a659bea9a442a36c89be241a1d6c820d45 (patch)
treeb020fe59ab08422d1273e3eae80db25435cec8c6 /gnu
parentd52680eec04c83c9350ebedebea19f9aa67ac1e9 (diff)
downloadguix-5b2da2a659bea9a442a36c89be241a1d6c820d45.tar.gz
gnu: xz: Move liblzma.a to separate output.
* gnu/packages/compression.scm (xz)[arguments, outputs]: New fields.
* gnu/packages/make-bootstrap.scm (%static-inputs)[xz]: Don't inherit outputs.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/compression.scm17
-rw-r--r--gnu/packages/make-bootstrap.scm1
2 files changed, 18 insertions, 0 deletions
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index e8a50c676c..69f72906b6 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -425,6 +425,23 @@ compressed with pbzip2 can be decompressed with bzip2).")
              (base32
               "0ibi2zsfaz6l756spjwc5rayf4ckgc9hwmy8qinppcyk4svz64mm"))))
    (build-system gnu-build-system)
+   (arguments
+    `(#:phases
+      (modify-phases %standard-phases
+        (add-after 'install 'move-static-lib
+          (lambda* (#:key outputs #:allow-other-keys)
+            (let ((out    (assoc-ref outputs "out"))
+                  (static (assoc-ref outputs "static")))
+              (mkdir-p (string-append static "/lib"))
+              (rename-file (string-append out "/lib/liblzma.a")
+                           (string-append static "/lib/liblzma.a"))
+              ;; Remove reference to the static library from the .la file
+              ;; so Libtool does the right thing when both the shared and
+              ;; static library is available.
+              (substitute* (string-append out "/lib/liblzma.la")
+                (("^old_library='liblzma.a'") "old_library=''"))
+              #t))))))
+   (outputs '("out" "static"))
    (synopsis "General-purpose data compression")
    (description
     "XZ Utils is free general-purpose data compression software with high
diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index 761420af67..d0f8d62f2f 100644
--- a/gnu/packages/make-bootstrap.scm
+++ b/gnu/packages/make-bootstrap.scm
@@ -159,6 +159,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
                                "LDFLAGS = -static"))
                             #t))))))))
         (xz (package (inherit xz)
+              (outputs '("out"))
               (arguments
                `(#:strip-flags '("--strip-all")
                  #:phases (modify-phases %standard-phases