diff options
author | Efraim Flashner <efraim@flashner.co.il> | 2021-12-19 15:15:11 +0200 |
---|---|---|
committer | Efraim Flashner <efraim@flashner.co.il> | 2021-12-19 15:15:11 +0200 |
commit | 6ccf8ea81f95963c0b7f945648106576008ee105 (patch) | |
tree | f39f596e6c3e98ff1e9f1de0ad41c977e9dd37c1 /gnu/packages/glib.scm | |
parent | fcaed5b81e893f34d77527fbef389ca628ca882d (diff) | |
parent | 9f916d14765b00309c742fcbff0cfabdd10dcf05 (diff) | |
download | guix-6ccf8ea81f95963c0b7f945648106576008ee105.tar guix-6ccf8ea81f95963c0b7f945648106576008ee105.tar.gz |
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu/packages/glib.scm')
-rw-r--r-- | gnu/packages/glib.scm | 286 |
1 files changed, 124 insertions, 162 deletions
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 8117d7904d..3e51045cd1 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -54,6 +54,7 @@ #:use-module (gnu packages gperf) #:use-module (gnu packages gtk) #:use-module (gnu packages libffi) + #:use-module (gnu packages libunwind) #:use-module (gnu packages linux) #:use-module (gnu packages m4) #:use-module (gnu packages nettle) @@ -140,20 +141,20 @@ "sysconfdir=/tmp/dummy" "install")))))) (native-inputs - `(("pkg-config" ,pkg-config) - ;; Dependencies to generate the doc. - ("docbook-xml" ,docbook-xml-4.4) - ("docbook-xsl" ,docbook-xsl) - ("doxygen" ,doxygen) - ("xmlto" ,xmlto) - ("libxml2" ,libxml2) ;for XML_CATALOG_FILES - ("libxslt" ,libxslt) - ("yelp-tools" ,yelp-tools))) + (list pkg-config + ;; Dependencies to generate the doc. + docbook-xml-4.4 + docbook-xsl + doxygen + xmlto + libxml2 ;for XML_CATALOG_FILES + libxslt + yelp-tools)) (inputs - `(("expat" ,expat) - ;; Add a dependency on libx11 so that 'dbus-launch' has support for - ;; '--autolaunch'. - ("libx11" ,libx11))) + (list expat + ;; Add a dependency on libx11 so that 'dbus-launch' has support for + ;; '--autolaunch'. + libx11)) (outputs '("out" "doc")) ;22 MiB of HTML doc (home-page "https://www.freedesktop.org/wiki/Software/dbus/") (synopsis "Message bus for inter-process communication (IPC)") @@ -178,7 +179,7 @@ shared NFS home directories.") (define glib (package (name "glib") - (version "2.68.3") + (version "2.70.0") (source (origin (method url-fetch) @@ -187,7 +188,7 @@ shared NFS home directories.") 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")) @@ -195,12 +196,12 @@ shared NFS home directories.") (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 @@ -211,9 +212,12 @@ shared NFS home directories.") `(,(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. @@ -224,6 +228,9 @@ shared NFS home directories.") (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.*;") ""))) @@ -232,18 +239,16 @@ shared NFS home directories.") "gdbus-peer.c" "appinfo.c" "desktop-app-info.c") (("[ \t]*g_test_add_func.*;") ""))) - ,@(if (let ((system (or (%current-target-system) - (%current-system)))) - (or (string-prefix? "i686-" system) - (string-prefix? "i586-" system))) - ;; Add the 'volatile' qualifier for doubles to avoid excess - ;; precision, which leads to test failures: + ,@(if (target-x86-32?) + ;; Comment out parts of timer.c that fail on i686 due to + ;; excess precision when building with GCC 10: ;; <https://gitlab.gnome.org/GNOME/glib/-/issues/820>. '((substitute* "glib/tests/timer.c" - (("gdouble elapsed") - "volatile gdouble elapsed"))) - '()) - #t)) + (("^ g_assert_cmpuint \\(micros.*" all) + (string-append "//" all "\n")) + (("^ g_assert_cmpfloat \\(elapsed, ==.*" all) + (string-append "//" all "\n")))) + '()))) ;; 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 @@ shared NFS home directories.") "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,36 +297,34 @@ shared NFS home directories.") (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" - ;; are for the 'patch-shebangs' phase, to make - ;; sure the installed scripts end up with a correct shebang - ;; when cross-compiling. - ("python" ,python) - ("python-wrapper" ,python-wrapper) - ("bash-minimal" ,bash-minimal) - ("dbus" ,dbus) - ("libelf" ,libelf))) + (list bash-completion + ;; "python", "python-wrapper" and "bash-minimal" + ;; are for the 'patch-shebangs' phase, to make + ;; sure the installed scripts end up with a correct shebang + ;; when cross-compiling. + python + python-wrapper + bash-minimal + dbus + 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 - ("util-linux" ,util-linux "lib") ;for libmount - ("zlib" ,zlib))) ; in the Requires.private field of glib-2.0.pc + (list libffi ; in the Requires.private field of gobject-2.0.pc + pcre ; in the Requires.private field of glib-2.0.pc + `(,util-linux "lib") ;for libmount + 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 @@ libraries and applications written in C. It provides the core object system 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 @@ functions for strings and common data structures.") "/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 @@ functions for strings and common data structures.") (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 @@ -492,10 +488,10 @@ be used when cross-compiling." `(("python" ,python) ("zlib" ,zlib))) (propagated-inputs - `(("glib" ,glib) - ;; In practice, GIR users will need libffi when using - ;; gobject-introspection. - ("libffi" ,libffi))) + (list glib + ;; In practice, GIR users will need libffi when using + ;; gobject-introspection. + libffi)) (native-search-paths (list (search-path-specification @@ -531,7 +527,7 @@ provide bindings to call into the C library.") "1karx4sb7bnm2j67q0q74hspkfn6lqprpy5r99vkn5bb36a4viv7")))) (build-system gnu-build-system) (inputs - `(("file" ,file))) + (list file)) (propagated-inputs `(;; Propagate gettext because users expect it to be there, and so does ;; the `intltool-update' script. @@ -579,9 +575,7 @@ The intltool collection can be used to do these things: "1acjgf8zlyk7qckdk19iqaca4jcmywd7vxjbcs1mm6kaf8icqcv2")))) (build-system gnu-build-system) (inputs - `(("libxml2" ,libxml2) - ("python-libxml2" ,python-libxml2) - ("python" ,python))) + (list libxml2 python-libxml2 python)) (arguments '(#:phases (modify-phases %standard-phases @@ -638,13 +632,11 @@ translated.") #+(file-append this-package "/bin/dbus-binding-tool")))) '())) (propagated-inputs ; according to dbus-glib-1.pc - `(("dbus" ,dbus) - ("glib" ,glib))) + (list dbus glib)) (inputs - `(("expat" ,expat))) + (list expat)) (native-inputs - `(("glib" ,glib "bin") - ("pkg-config" ,pkg-config))) + (list `(,glib "bin") pkg-config)) (home-page "https://dbus.freedesktop.org/doc/dbus-glib/") (synopsis "D-Bus GLib bindings") (description @@ -701,7 +693,7 @@ by GDBus included in Glib.") ("xmllint" ,libxml2) ("xsltproc" ,libxslt))) (inputs - `(("boost" ,boost))) + (list boost)) (home-page "https://libsigcplusplus.github.io/libsigcplusplus/") (synopsis "Type-safe callback system for standard C++") (description @@ -799,8 +791,7 @@ by GDBus included in Glib.") ("pkg-config" ,pkg-config) ("xsltproc" ,libxslt))) (propagated-inputs - `(("libsigc++" ,libsigc++) - ("glib" ,glib))) + (list libsigc++ glib)) (home-page "https://gtkmm.org/") (synopsis "C++ interface to the GLib library") (description @@ -823,8 +814,8 @@ useful for C++.") (sha256 (base32 "11m37sbx0i18cl17d0fkq0bik4bbzlb5n8kcl651jhci5ipci3sh")))) (propagated-inputs - `(("libsigc++" ,libsigc++-2) - ,@(package-propagated-inputs glibmm))))) + (modify-inputs (package-propagated-inputs glibmm) + (prepend libsigc++-2))))) (define-public python2-pygobject-2 (package @@ -854,7 +845,7 @@ useful for C++.") ("python2-pycairo" ,python2-pycairo) ("gobject-introspection" ,gobject-introspection))) (propagated-inputs - `(("libffi" ,libffi))) ;mentioned in pygobject-2.0.pc + (list libffi)) ;mentioned in pygobject-2.0.pc (arguments `(#:tests? #f ;segfaults during tests #:configure-flags '("LIBS=-lcairo-gobject"))) @@ -899,15 +890,13 @@ useful for C++.") (native-inputs `(("glib-bin" ,glib "bin") ("pkg-config" ,pkg-config) - ("python-pytest" ,python-pytest))) + ("python-pytest" ,python-pytest) + ("python-wrapper" ,python-wrapper))) ; For patching shebangs (inputs - `(("python" ,python) - ("python-pycairo" ,python-pycairo) - ("gobject-introspection" ,gobject-introspection))) + (list python python-pycairo gobject-introspection)) (propagated-inputs ;; pygobject-3.0.pc refers to all these. - `(("glib" ,glib) - ("libffi" ,libffi))) + (list glib libffi)) ;; For finding typelib files, since gobject-introscpetion isn't propagated. (native-search-paths (package-native-search-paths gobject-introspection)) (home-page "https://live.gnome.org/PyGObject") @@ -960,10 +949,9 @@ useful for C++.") "1q5075d6v2g5sm675hyzrcpxsrh09z83crfci8b0wl3jwmnz0frg")))) (build-system perl-build-system) (native-inputs - `(("perl-extutils-depends" ,perl-extutils-depends) - ("perl-extutils-pkgconfig" ,perl-extutils-pkgconfig))) + (list perl-extutils-depends perl-extutils-pkgconfig)) (propagated-inputs - `(("glib" ,glib))) + (list glib)) (home-page "https://metacpan.org/release/Glib") (synopsis "Perl wrappers for the GLib utility and Object libraries") (description "This module provides perl access to GLib and GLib's GObject @@ -986,12 +974,9 @@ up the Gnome environment, and are used in many unrelated projects.") (base32 "0mxg6pz8qfyipw0ypr54alij0c4adzg94f62702b2a6hkp5jhij6")))) (build-system perl-build-system) (native-inputs - `(("perl-extutils-depends" ,perl-extutils-depends) - ("perl-extutils-pkgconfig" ,perl-extutils-pkgconfig))) + (list perl-extutils-depends perl-extutils-pkgconfig)) (propagated-inputs - `(("gobject-introspection" ,gobject-introspection) - ("perl-cairo-gobject" ,perl-cairo-gobject) - ("perl-glib" ,perl-glib))) + (list gobject-introspection perl-cairo-gobject perl-glib)) (home-page "https://metacpan.org/dist/Glib-Object-Introspection") (synopsis "Dynamically create Perl language bindings") (description "Glib::Object::Introspection uses the gobject-introspection and @@ -1002,7 +987,7 @@ libraries. Examples include gtk+, webkit, libsoup and many more.") (define telepathy-glib (package (name "telepathy-glib") - (version "0.24.1") + (version "0.24.2") (source (origin (method url-fetch) @@ -1012,19 +997,7 @@ libraries. Examples include gtk+, webkit, libsoup and many more.") "telepathy-glib-" version ".tar.gz")) (sha256 (base32 - "1symyzbjmxvksn2ifdkk50lafjm2llf2sbmky062gq2pz3cg23cy")) - (patches - (list - (search-patch "telepathy-glib-channel-memory-leak.patch") - ;; Don't use the same test name for multiple tests. - ;; <https://bugs.freedesktop.org/show_bug.cgi?id=92245> - (origin - (method url-fetch) - (uri "https://bugs.freedesktop.org/attachment.cgi?id=118608") - (file-name (string-append "telepathy-glib-duplicate-tests.patch")) - (sha256 - (base32 - "0z261fwrszxb28ccg3hsg9rizig4s84zvwmx6y31a4pyv7bvs5w3"))))))) + "1w3kja8j3gz2apal79bi3hq44xk5g78aphrqbw983l6df7bp98xh")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--enable-vala-bindings") @@ -1056,9 +1029,7 @@ libraries. Examples include gtk+, webkit, libsoup and many more.") ("xsltproc" ,libxslt))) (propagated-inputs ;; There are all in the Requires.private field of telepathy-glib.pc. - `(("dbus" ,dbus) - ("dbus-glib" ,dbus-glib) - ("glib" ,glib))) + (list dbus dbus-glib glib)) (home-page "https://telepathy.freedesktop.org/wiki/") (synopsis "GLib Real-time communications framework over D-Bus") (description "Telepathy is a flexible, modular communications framework @@ -1087,13 +1058,11 @@ This package provides the library for GLib applications.") "0qafmy2i6dzx4n1dqp6pygyy6gjljnb7hwjcj2z11c1wgclsq4dw")))) (build-system gnu-build-system) (propagated-inputs - `(("dbus" ,dbus))) ;mentioned in the pkg-config file + (list dbus)) ;mentioned in the pkg-config file (inputs - `(("efl" ,efl) - ("expat" ,expat) - ("glib" ,glib))) + (list efl expat glib libunwind)) (native-inputs - `(("pkg-config" ,pkg-config))) + (list pkg-config)) (arguments `(;; The 'configure' machinery fails to detect that it needs -lpthread. #:configure-flags (list "LDFLAGS=-lpthread") @@ -1128,14 +1097,13 @@ programming language. It also provides the @command{dbusxx-xml2cpp} and `(#:configure-flags '("-DENABLE_TESTS=ON" "-DENABLE_TOOLS=ON" "-DENABLE_GLIBMM=ON"))) - (inputs `(("dbus" ,dbus) - ("libsigc++" ,libsigc++) - ("glibmm" ,glibmm) - ("python" ,python) - ("popt" ,popt) - ("expat" ,expat))) - (native-inputs `(("pkg-config" ,pkg-config) - ("m4" ,m4))) + (inputs (list dbus + libsigc++ + glibmm + python + popt + expat)) + (native-inputs (list pkg-config m4)) (synopsis "C++ wrapper for dbus") (description "Dbus-cxx is a C++ wrapper for dbus.\n It exposes the C API to allow direct manipulation and @@ -1179,7 +1147,7 @@ Some codes examples can be find at: ("gtk+" ,gtk+) ("json-glib" ,json-glib) ("libarchive" ,libarchive) - ("libsoup" ,libsoup))) + ("libsoup" ,libsoup-minimal-2))) (arguments `(#:configure-flags (list "-Ddep11=false" @@ -1218,13 +1186,11 @@ metadata.") "1g0w8i5scmh7kfy9mmvv8q326627qf38z26mvczmn8x1yjgar8g7")))) (build-system perl-build-system) (native-inputs - `(("pkg-config" ,pkg-config) - ("perl-test-pod" ,perl-test-pod) - ("perl-test-pod-coverage" ,perl-test-pod-coverage))) + (list pkg-config perl-test-pod perl-test-pod-coverage)) (inputs - `(("dbus" ,dbus))) + (list dbus)) (propagated-inputs - `(("perl-xml-twig" ,perl-xml-twig))) + (list perl-xml-twig)) (home-page "https://metacpan.org/release/Net-DBus") (synopsis "Extension for the DBus bindings") (description "@code{Net::DBus} provides a Perl XS API to the DBus @@ -1246,9 +1212,9 @@ of the DBus APIs, not concerning itself yet with the GLib or QT wrappers.") "1z4mbv8z0rad604xahijpg5szzi8qak07hbahh230z4jf96fkxvj")))) (build-system perl-build-system) (native-inputs - `(("pkg-config" ,pkg-config))) + (list pkg-config)) (inputs - `(("dbus-glib" ,dbus-glib))) + (list dbus-glib)) (home-page "https://metacpan.org/release/Net-DBus-GLib") (synopsis "Perl extension for the DBus GLib bindings") (description "This package provides an extension to the @code{Net::DBus} @@ -1309,18 +1275,16 @@ simple methods via GObject-Introspection.") "03sj1h0c2l08xa8phw013fnxr4fgav7l2mkjhzf9xk3dykwxcj8p")))) (build-system gnu-build-system) (native-inputs - `(("pkg-config" ,pkg-config) - - ;; For tests. - ("dbus" ,dbus) - - ;; These are required to build the manual. - ("docbook-xml" ,docbook-xml-4.3) - ("docbook-xsl" ,docbook-xsl) - ("libxml2" ,libxml2) - ("xsltproc" ,libxslt))) + (list pkg-config + ;; For tests. + dbus + ;; These are required to build the manual. + docbook-xml-4.3 + docbook-xsl + libxml2 + libxslt)) (inputs - `(("glib" ,glib))) + (list glib)) (home-page "https://github.com/flatpak/xdg-dbus-proxy") (synopsis "D-Bus connection proxy") (description @@ -1358,9 +1322,7 @@ to the host system, optionally with filters applied.") (("/bin/true") (which "true"))) #t))))) (inputs - `(("gtk+" ,gtk+) - ("glib" ,glib) - ("dbus-glib" ,dbus-glib))) + (list gtk+ glib dbus-glib)) (native-inputs `(("glib:bin" ,glib "bin") ("intltool" ,intltool) |