From 557084a0c9f2e1b91f7e7da68d3f9540c044bffb Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 22 May 2021 22:46:43 +0200 Subject: gnu: glib: Add "static" output. * gnu/packages/glib.scm (glib)[outputs]: Add "static". [arguments]: Add "--default-library=both" to #:configure-flags. Add phase move-static-libraries. (glib-static): Remove variable. * gnu/packages/virtualization.scm (qemu)[native-inputs]: Change from GLIB-STATIC to GLIB:STATIC. --- gnu/packages/glib.scm | 49 ++++++++++++++--------------------------- gnu/packages/virtualization.scm | 2 +- 2 files changed, 17 insertions(+), 34 deletions(-) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 94276ae0ef..f0be2ddaa4 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -11,7 +11,7 @@ ;;; Copyright © 2018 Alex Vong ;;; Copyright © 2019, 2021 Maxim Cournoyer ;;; Copyright © 2019 Giacomo Leidi -;;; Copyright © 2019, 2020 Marius Bakke +;;; Copyright © 2019, 2020, 2021 Marius Bakke ;;; Copyright © 2020 Nicolò Balzarotti ;;; Copyright © 2020 Florian Pelz ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen @@ -194,13 +194,14 @@ shared NFS home directories.") (substitute* "tests/spawn-test.c" (("/bin/sh") "sh")) #t)))) - ;; (properties '((hidden? . #t))) (build-system meson-build-system) - (outputs '("out" ; everything - "bin")) ; glib-mkenums, gtester, etc.; depends on Python + (outputs '("out" ;libraries, locales, etc + "static" ;static libraries + "bin")) ;executables; depends on Python (arguments `(#:disallowed-references (,tzdata-for-tests) - #:configure-flags '("-Dman=true" + #:configure-flags '("--default-library=both" + "-Dman=true" "-Dselinux=disabled") #:phases (modify-phases %standard-phases @@ -244,6 +245,16 @@ shared NFS home directories.") (setenv "HOME" (getcwd)) (setenv "XDG_CACHE_HOME" (getcwd)) #t)) + (add-after 'install 'move-static-libraries + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (static (assoc-ref outputs "static"))) + (mkdir-p (string-append static "/lib")) + (for-each (lambda (file) + (link file (string-append static "/lib/" + (basename file))) + (delete-file file)) + (find-files (string-append out "/lib") "\\.a$"))))) ;; Meson does not permit the bindir to be outside of prefix. (add-after 'install 'move-bin (lambda* (#:key outputs #:allow-other-keys) @@ -352,34 +363,6 @@ functions for strings and common data structures.") (string-append doc 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") diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index 59b660de7c..34270ff8d3 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -366,7 +366,7 @@ exec smbd $@"))) ("texinfo" ,texinfo) ;; The following static libraries are required to build ;; the static output of QEMU. - ("glib-static" ,glib-static) + ("glib:static" ,glib "static") ("pcre:static" ,pcre "static") ("zlib:static" ,zlib "static"))) (home-page "https://www.qemu.org") -- cgit v1.2.3