summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
authorTobias Geerinckx-Rice <me@tobias.gr>2021-09-22 19:51:42 +0200
committerTobias Geerinckx-Rice <me@tobias.gr>2021-09-23 18:17:16 +0200
commit31a3c9b441e7d59bf56db7467a9d196178abbfca (patch)
treeac77cdfed5cdc62669b2ab2554f5ff2395d5a11a /gnu/packages
parent15489291d93bcd67e30eed686da0d58050ce1c0e (diff)
downloadguix-31a3c9b441e7d59bf56db7467a9d196178abbfca.tar.gz
gnu: libinih: Build & install static libraries.
* gnu/packages/linux.scm (libinih)[outputs]: Add "static".
[arguments]: Substitute "-Ddefault_library=both" for the
"-Ddefault_library=shared" configure flag.
Add a new 'separate-static phase.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/linux.scm18
1 files changed, 17 insertions, 1 deletions
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index e56132057e..fdc5cb7c8d 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -7657,8 +7657,24 @@ IP addresses and routes, and configure IPsec.")
                (base32
                 "0dqf5j2sw4hq68rqvxbrsf44ygfzx9ypiyzipk4cvp9aimbvsbc6"))))
     (build-system meson-build-system)
+    ;; Install static libraries for use by the initrd's xfsprogs/static.
+    (outputs (list "out" "static"))
     (arguments
-     '(#:configure-flags '("-Ddistro_install=true" "-Ddefault_library=shared")))
+     `(#:configure-flags
+       (list "-Ddistro_install=true"
+             "-Ddefault_library=both")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'separate-static
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out    (assoc-ref outputs "out"))
+                   (static (assoc-ref outputs "static")))
+               (with-directory-excursion out
+                 (for-each (lambda (source)
+                             (let ((target (string-append static "/" source)))
+                               (mkdir-p (dirname target))
+                               (rename-file source target)))
+                           (find-files "lib" "\\.a$")))))))))
     (home-page "https://github.com/benhoyt/inih")
     (synopsis "Simple .INI parser library for C")
     (description "The inih (INI Not Invented Here) library is a simple .INI file