summary refs log tree commit diff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2021-02-20 14:55:37 -0500
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2021-03-15 18:00:35 -0400
commitce29866c01661693645daeba60657bf32bd3322b (patch)
tree9d6bfc0e89f14d8295cdf2789533d69fc4c6e795
parent3fe46eef57b068158b9efd1044fcdb581d2243a6 (diff)
downloadguix-ce29866c01661693645daeba60657bf32bd3322b.tar.gz
gnu: Add glib-static.
* gnu/packages/glib.scm (glib-static): New variable.
-rw-r--r--gnu/packages/glib.scm30
1 files changed, 29 insertions, 1 deletions
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index eaa319a2ff..0d265e8687 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -9,7 +9,7 @@
 ;;; Copyright © 2017 Petter <petter@mykolab.ch>
 ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
-;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2019, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
 ;;; Copyright © 2019, 2020 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz>
@@ -446,6 +446,34 @@ dynamic loading, and an object system.")
                  (delete-file-recursively (string-append out html))
                  #t)))))))))
 
+;;; TODO: Merge into glib as a 'static' output on core-updates.
+(define-public glib-static
+  (hidden-package
+   (package
+     (inherit glib)
+     (name "glib-static")
+     (outputs '("out"))
+     (arguments
+      (substitute-keyword-arguments (package-arguments glib)
+        ((#:configure-flags flags ''())
+         `(cons* "--default-library=static"
+                 "-Dselinux=disabled"
+                 "-Dman=false"
+                 "-Dgtk_doc=false"
+                 "-Dinternal_pcre=false"
+                 ,flags))
+        ((#:phases phases)
+         `(modify-phases ,phases
+            (delete 'move-executables)
+            (replace 'install
+              ;; Only install the static libraries.
+              (lambda* (#:key outputs #:allow-other-keys)
+                (let* ((out (assoc-ref outputs "out"))
+                       (lib (string-append out "/lib")))
+                  (for-each (lambda (f)
+                              (install-file f lib))
+                            (find-files "." "\\.a$"))))))))))))
+
 (define gobject-introspection
   (package
     (name "gobject-introspection")