mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2025-01-26 12:39:36 -05:00
gnu: glib: Update to 2.70, specify a bindir prefix and hide package.
* gnu/packages/glib.scm (glib): Update to 2.70. Remove trailing #t.
[outputs]: Add a debug output.
[configure-flags]: Specify --bindir and disable manpage generation.
[phases]{disable-failing-tests}: Disable the flaky testfilemonitor test.
{move-static-libraries}: Use rename-file instead of link and delete.
{move-bin}: Rename to...
{patch-pkg-config-files}: ... this, and adjust the substitutions.
[native-inputs]: Remove docbook-xsl, libxml2 and libxslt.
[properties]: Re-add the hidden? property that commit 18f73d8041
had
temporarily removed.
(glib-with-documentation)[properties]: Revert to a visible package.
[native-inputs]: Add docbook-xsl and libxslt.
[configure-flags]: Delete the inherited "-Dman=false" flag.
This commit is contained in:
parent
6d08d40cfa
commit
f22f6fc3b6
1 changed files with 42 additions and 46 deletions
|
@ -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, 2021 Marius Bakke <marius@gnu.org>
|
||||
;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz>
|
||||
|
@ -179,7 +179,7 @@ (define dbus
|
|||
(define glib
|
||||
(package
|
||||
(name "glib")
|
||||
(version "2.68.3")
|
||||
(version "2.70.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -188,7 +188,7 @@ (define glib
|
|||
name "/" (string-take version 4) "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "0f1iprj7v0b5wn9njj39dkl25g6filfs7i4ybk20jq821k1a7qg7"))
|
||||
(base32 "0hh7hk02fkm1bn48k4z8f3kgv9qbni5z22gizd567fn527w7s390"))
|
||||
(patches
|
||||
(search-patches "glib-appinfo-watch.patch"
|
||||
"glib-skip-failing-test.patch"))
|
||||
|
@ -196,12 +196,12 @@ (define glib
|
|||
(snippet
|
||||
'(begin
|
||||
(substitute* "tests/spawn-test.c"
|
||||
(("/bin/sh") "sh"))
|
||||
#t))))
|
||||
(("/bin/sh") "sh"))))))
|
||||
(build-system meson-build-system)
|
||||
(outputs '("out" ;libraries, locales, etc
|
||||
"static" ;static libraries
|
||||
"bin")) ;executables; depends on Python
|
||||
"bin" ;executables; depends on Python
|
||||
"debug"))
|
||||
(arguments
|
||||
`(#:disallowed-references
|
||||
(,tzdata-for-tests
|
||||
|
@ -212,9 +212,12 @@ (define glib
|
|||
`(,(this-package-native-input "python")
|
||||
,(this-package-native-input "python-wrapper")))
|
||||
'()))
|
||||
#:configure-flags '("--default-library=both"
|
||||
"-Dman=true"
|
||||
"-Dselinux=disabled")
|
||||
#:configure-flags (list "--default-library=both"
|
||||
"-Dman=false"
|
||||
"-Dselinux=disabled"
|
||||
(string-append "--bindir="
|
||||
(assoc-ref %outputs "bin")
|
||||
"/bin"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; Needed to pass the test phase on slower ARM and i686 machines.
|
||||
|
@ -225,6 +228,9 @@ (define glib
|
|||
(string-append first " = " second "0")))))
|
||||
(add-after 'unpack 'disable-failing-tests
|
||||
(lambda _
|
||||
(substitute* "gio/tests/meson.build"
|
||||
((".*'testfilemonitor'.*") ;marked as flaky
|
||||
""))
|
||||
(with-directory-excursion "glib/tests"
|
||||
(substitute* '("unix.c" "utils.c")
|
||||
(("[ \t]*g_test_add_func.*;") "")))
|
||||
|
@ -242,8 +248,7 @@ (define glib
|
|||
(string-append "//" all "\n"))
|
||||
(("^ g_assert_cmpfloat \\(elapsed, ==.*" all)
|
||||
(string-append "//" all "\n"))))
|
||||
'())
|
||||
#t))
|
||||
'())))
|
||||
;; Python references are not being patched in patch-phase of build,
|
||||
;; despite using python-wrapper as input. So we patch them manually.
|
||||
;;
|
||||
|
@ -271,27 +276,19 @@ (define glib
|
|||
"share/zoneinfo"))
|
||||
;; Some tests want write access there.
|
||||
(setenv "HOME" (getcwd))
|
||||
(setenv "XDG_CACHE_HOME" (getcwd))
|
||||
#t))
|
||||
(setenv "XDG_CACHE_HOME" (getcwd))))
|
||||
(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
|
||||
(for-each (lambda (a)
|
||||
(rename-file a (string-append static "/lib/"
|
||||
(basename a))))
|
||||
(find-files out "\\.a$")))))
|
||||
(add-after 'install 'patch-pkg-config-files
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (assoc-ref outputs "bin")))
|
||||
(mkdir-p bin)
|
||||
(rename-file
|
||||
(string-append out "/bin")
|
||||
(string-append bin "/bin"))
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
;; Do not refer to "bindir", which points to "${prefix}/bin".
|
||||
;; We don't patch "bindir" to point to "$bin/bin", because that
|
||||
;; would create a reference cycle between the "out" and "bin"
|
||||
|
@ -300,20 +297,18 @@ (define glib
|
|||
(list
|
||||
(string-append out "/lib/pkgconfig/gio-2.0.pc")
|
||||
(string-append out "/lib/pkgconfig/glib-2.0.pc"))
|
||||
(("bindir=\\$\\{prefix\\}/bin") "")
|
||||
(("=\\$\\{bindir\\}/") "="))
|
||||
#t))))))
|
||||
(("^bindir=.*")
|
||||
"")
|
||||
(("=\\$\\{bindir\\}/")
|
||||
"="))))))))
|
||||
(native-inputs
|
||||
`(("docbook-xsl" ,docbook-xsl)
|
||||
("gettext" ,gettext-minimal)
|
||||
`(("gettext" ,gettext-minimal)
|
||||
("m4" ,m4) ; for installing m4 macros
|
||||
("perl" ,perl) ; needed by GIO tests
|
||||
("pkg-config" ,pkg-config)
|
||||
("python" ,python) ; For 'patch-python-references
|
||||
("python-wrapper" ,python-wrapper)
|
||||
("tzdata" ,tzdata-for-tests) ; for tests/gdatetime.c
|
||||
("xmllint" ,libxml2)
|
||||
("xsltproc" ,libxslt)))
|
||||
("tzdata" ,tzdata-for-tests))) ; for tests/gdatetime.c
|
||||
(inputs
|
||||
`(("bash-completion" ,bash-completion)
|
||||
;; "python", "python-wrapper" and "bash-minimal"
|
||||
|
@ -326,10 +321,10 @@ (define glib
|
|||
("dbus" ,dbus)
|
||||
("libelf" ,libelf)))
|
||||
(propagated-inputs
|
||||
`(("libffi" ,libffi) ; in the Requires.private field of gobject-2.0.pc
|
||||
("pcre" ,pcre) ; in the Requires.private field of glib-2.0.pc
|
||||
`(("libffi" ,libffi) ; in the Requires.private field of gobject-2.0.pc
|
||||
("pcre" ,pcre) ; in the Requires.private field of glib-2.0.pc
|
||||
("util-linux" ,util-linux "lib") ;for libmount
|
||||
("zlib" ,zlib))) ; in the Requires.private field of glib-2.0.pc
|
||||
("zlib" ,zlib))) ; in the Requires.private field of glib-2.0.pc
|
||||
(native-search-paths
|
||||
;; This variable is not really "owned" by GLib, but several related
|
||||
;; packages refer to it: gobject-introspection's tools use it as a search
|
||||
|
@ -350,25 +345,28 @@ (define glib
|
|||
used in GNOME, the main loop implementation, and a large set of utility
|
||||
functions for strings and common data structures.")
|
||||
(home-page "https://wiki.gnome.org/Projects/GLib")
|
||||
(license license:lgpl2.1+)))
|
||||
(license license:lgpl2.1+)
|
||||
(properties '((hidden? . #t)))))
|
||||
|
||||
(define-public glib-with-documentation
|
||||
;; glib's doc must be built in a separate package since it requires gtk-doc,
|
||||
;; which in turn depends on glib.
|
||||
(package/inherit glib
|
||||
;; (properties (alist-delete 'hidden? (package-properties glib)))
|
||||
(properties '((hidden? . #t)))
|
||||
(properties (alist-delete 'hidden? (package-properties glib)))
|
||||
(outputs (cons "doc" (package-outputs glib))) ; 20 MiB of GTK-Doc reference
|
||||
(native-inputs
|
||||
`(("docbook-xml-4.2" ,docbook-xml-4.2)
|
||||
("docbook-xml-4.5" ,docbook-xml)
|
||||
("gtk-doc" ,gtk-doc) ; for the doc
|
||||
("docbook-xsl" ,docbook-xsl)
|
||||
("gtk-doc" ,gtk-doc)
|
||||
("libxml2" ,libxml2)
|
||||
("xsltproc" ,libxslt)
|
||||
,@(package-native-inputs glib)))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments glib)
|
||||
((#:configure-flags flags ''())
|
||||
`(cons "-Dgtk_doc=true" ,flags))
|
||||
`(cons "-Dgtk_doc=true"
|
||||
(delete "-Dman=false" ,flags)))
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(add-after 'unpack 'patch-docbook-xml
|
||||
|
@ -380,8 +378,7 @@ (define-public glib-with-documentation
|
|||
"/xml/dtd/docbook/"))
|
||||
(("http://www.oasis-open.org/docbook/xml/4\\.2/")
|
||||
(string-append (assoc-ref inputs "docbook-xml-4.2")
|
||||
"/xml/dtd/docbook/"))))
|
||||
#t))
|
||||
"/xml/dtd/docbook/"))))))
|
||||
(add-after 'install 'move-doc
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
|
@ -390,8 +387,7 @@ (define-public glib-with-documentation
|
|||
(mkdir-p (string-append doc "/share"))
|
||||
(rename-file
|
||||
(string-append out html)
|
||||
(string-append doc html))
|
||||
#t)))))))))
|
||||
(string-append doc html)))))))))))
|
||||
|
||||
(define (python-extension-suffix python triplet)
|
||||
"Determine the suffix for C extensions for PYTHON when compiled
|
||||
|
|
Loading…
Reference in a new issue