From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id iAUqKtg0SmB2SQAA0tVLHw (envelope-from ) for ; Thu, 11 Mar 2021 15:18:48 +0000 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id +JYEJtg0SmAnFAAA1q6Kng (envelope-from ) for ; Thu, 11 Mar 2021 15:18:48 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id CAFB4326E1 for ; Thu, 11 Mar 2021 16:18:46 +0100 (CET) Received: from localhost ([::1]:55010 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lKN5J-0007kh-VF for larch@yhetil.org; Thu, 11 Mar 2021 10:18:45 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:41804) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lKMac-0002o0-V3 for guix-patches@gnu.org; Thu, 11 Mar 2021 09:47:03 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:41394) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lKMac-00022M-Le for guix-patches@gnu.org; Thu, 11 Mar 2021 09:47:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lKMac-0000uE-IX for guix-patches@gnu.org; Thu, 11 Mar 2021 09:47:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#42958] References: <20200820150914.9443-1-dannym@scratchpost.org> In-Reply-To: <20200820150914.9443-1-dannym@scratchpost.org> Resent-From: Raghav Gururajan Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 11 Mar 2021 14:47:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 42958 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 42958@debbugs.gnu.org, Danny Milosavljevic Received: via spool by 42958-submit@debbugs.gnu.org id=B42958.16154739733419 (code B ref 42958); Thu, 11 Mar 2021 14:47:02 +0000 Received: (at 42958) by debbugs.gnu.org; 11 Mar 2021 14:46:13 +0000 Received: from localhost ([127.0.0.1]:52940 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lKMZf-0000sm-2q for submit@debbugs.gnu.org; Thu, 11 Mar 2021 09:46:13 -0500 Received: from out2.migadu.com ([188.165.223.204]:30255) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lKMZZ-0000sB-NC for 42958@debbugs.gnu.org; Thu, 11 Mar 2021 09:46:02 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raghavgururajan.name; s=key1; t=1615473954; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type; bh=HpWrAzcS456Khlp48czdCIQL31k8eS7qICli27gkWpc=; b=ppZWYtlJk2PjWR7wxC98AdIhjTkLtZLfyfGKLTzTdB6sck4uS5Hz/Pe15+5Xtp8w1u1Smb Rwi7bE5XdgpMsdfz2O3FFE43/7cYmJzm/M8jKX3yoS+sxf3GlCkLnsHGx4kwF7uZAz+qYo TtOCIbRFOzBmJ7wlyHYFrDM6V4l0DP/kwuHgAFQ6o5J1anAvqR9xLh/Fmurhp9lWXmVe/l 2n0oT5SCEWfrvSzvV8dtzVY0z4SMInGkkay6YhVLESsGtNQnQcnaIIeSF1k6NoTvwq9jRC jf/dhbaQZCa24xsi4XNN9Nwv7GIvRXeaXE5Ka81qaAjeapnSrsY2IEORJm6WYQ== X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. Message-ID: <31f41cbe-6522-c518-5159-4f02433a710e@raghavgururajan.name> Date: Thu, 11 Mar 2021 09:45:52 -0500 MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="y1IJJmkDmXveLon2R18Lmnl1TpwsY6jc9" X-Migadu-Auth-User: rg@raghavgururajan.name X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" Reply-to: Raghav Gururajan X-ACL-Warn: , Raghav Gururajan via Guix-patches From: Raghav Gururajan via Guix-patches via X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1615475927; h=from:from:sender:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:resent-cc:resent-from:resent-sender: resent-message-id:in-reply-to:in-reply-to:references:references: list-id:list-help:list-unsubscribe:list-subscribe:list-post: dkim-signature; bh=HpWrAzcS456Khlp48czdCIQL31k8eS7qICli27gkWpc=; b=f5c+9hM6YRAjdxsLivx2Rc7lFqL8qQdepvZFAdSQiJXeb514jcEDMniqgtmDpb2SMrQ7NW 4J7DEWIVHmQcpiXKeex3T/TkRJs5KzHv+FDzZKnH25VVtnABrDmDVPbRci+b1omq09NHjG 9K5l2GXONDRQRYscdnp5WQonvjNS7eVe5lRWxU9//r/RY5g3wNC+ufwOxukQ5LgN49K/O5 VzcpyHnSKMRw2BmgC3GGNPILQVcJknCCq2xiu3zu5ZqdjHUZUmd/jV1j/copHHyPqvxKAg Q7xE0OhBejAFoPA4lyC0RH8fC8U2pbFKYhpZ7lS5hWd2oe4QftCiGPOvzQFOUw== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1615475927; a=rsa-sha256; cv=none; b=P6mYI5qGgMHYo/a6FzKzX9tBOyAHyJTR8kd9tSrpPPkux7doK5ggD6A/CEfU35K9xeuzVB WadE0CRzbp6K4+lMAOT9+hXYFRzNnJudVuED3nquEJYkNP175q2VNBlmN6ExoL6s8mRtHg R/VbMazocciB4HDt51STy7MCmhAK2tn4pxudMgUHi3LltUG9VBLPtppLUEybIW//Cwd16p J6LgcJ6LGNkxt3BaiCId4Uck8KvXW2Ppj3dPV4PPid8aTbsRD7WsDBojrxsGZwIazfs1++ e5a/YaIBcdlroakH5EozW8Vy8TkopPD8HFD2AjeM1863X+YlExvKhVVpyTL5PQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=raghavgururajan.name header.s=key1 header.b=ppZWYtlJ; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Migadu-Spam-Score: -4.49 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=raghavgururajan.name header.s=key1 header.b=ppZWYtlJ; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Migadu-Queue-Id: CAFB4326E1 X-Spam-Score: -4.49 X-Migadu-Scanner: scn0.migadu.com X-TUID: aJPuBj2LRdcH This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --y1IJJmkDmXveLon2R18Lmnl1TpwsY6jc9 Content-Type: multipart/mixed; boundary="xljpr0SMS9qJe5XRK1QHf60vI9ztq42c6"; protected-headers="v1" From: Raghav Gururajan To: 42958@debbugs.gnu.org, Danny Milosavljevic Message-ID: <31f41cbe-6522-c518-5159-4f02433a710e@raghavgururajan.name> Subject: Re: [bug#42958] --xljpr0SMS9qJe5XRK1QHf60vI9ztq42c6 Content-Type: multipart/mixed; boundary="------------2B51BB6BCF7FD238BE97D642" Content-Language: en-US This is a multi-part message in MIME format. --------------2B51BB6BCF7FD238BE97D642 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable Hi Danny! Please find the attached patches for glib and cairo, which I re-prepared = to be applied on current core-updates. Regards, RG. --------------2B51BB6BCF7FD238BE97D642 Content-Type: text/x-patch; charset=UTF-8; name="0001-gnu-yelp-xsl-Update-to-3.36.0.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0001-gnu-yelp-xsl-Update-to-3.36.0.patch" =46rom 55c6e5d2a152645a8bc2de3bbfdd0ff16cb4f63f Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 11 Mar 2021 05:50:46 -0500 Subject: [PATCH 01/11] gnu: yelp-xsl: Update to 3.36.0. * gnu/packages/gnome.scm (yelp-xsl) [version]: Update to 3.36.0. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 36e3346499..eaea4c6cb6 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -6701,7 +6701,7 @@ of running programs and invoke methods on those int= erfaces.") (define-public yelp-xsl (package (name "yelp-xsl") - (version "3.34.2") + (version "3.36.0") (source (origin (method url-fetch) @@ -6710,7 +6710,7 @@ of running programs and invoke methods on those int= erfaces.") (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 - (base32 "1bdpgkzawhqmw52l6zx8czzg1ndfgcf1p44m2bxjdpqkc4afcgqc"))= )) + (base32 "1hsfj3q3a3kca0cf9i02xlq2qd4vy12qsjb89hh4r6mp6c11rrag"))= )) (build-system gnu-build-system) (native-inputs `(("gettext-minimal" ,gettext-minimal) --=20 2.30.1 --------------2B51BB6BCF7FD238BE97D642 Content-Type: text/x-patch; charset=UTF-8; name="0002-gnu-glib-Make-some-cosmetic-changes.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0002-gnu-glib-Make-some-cosmetic-changes.patch" =46rom 4c405fac02e07558461c7dff67df5403ba21a74d Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 11 Mar 2021 06:39:29 -0500 Subject: [PATCH 02/11] gnu: glib: Make some cosmetic changes. * gnu/packages/glib.scm (glib): Make some cosmetic changes. --- gnu/packages/glib.scm | 424 ++++++++++++++++++++---------------------- 1 file changed, 201 insertions(+), 223 deletions(-) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index fdbe6d0cdf..e5372c6f28 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -170,229 +170,207 @@ shared NFS home directories.") =20 (define glib (package - (name "glib") - (version "2.62.6") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" - name "/" (string-take version 4) "/" - name "-" version ".tar.xz")) - (sha256 - (base32 - "174bsmbmcvaw69ff9g60q5sx0fn23rkhqcwqz17h5s7sprps4kqh")) - (patches (search-patches "glib-appinfo-watch.patch" - "glib-tests-timer.patch")) - (modules '((guix build utils))) - (snippet - '(begin - (substitute* "tests/spawn-test.c" - (("/bin/sh") "sh")) - #t)))) - (build-system meson-build-system) - (outputs '("out" ; everything - "bin" ; glib-mkenums, gtester, etc.; depends on = Python - "debug")) - (propagated-inputs - `(("pcre" ,pcre) ; in the Requires.private field of glib-2.0.pc - ("libffi" ,libffi) ; in the Requires.private field of gobject-2.0.= pc - ;; These are in the Requires.private field of gio-2.0.pc - ("util-linux" ,util-linux "lib") ;for libmount - ("zlib" ,zlib))) - (native-inputs - `(("gettext" ,gettext-minimal) - ("m4" ,m4) ; for installing m4 macros - ("dbus" ,dbus) ; for GDBus tests - ("pkg-config" ,pkg-config) - ("python" ,python-minimal-wrapper) - ("perl" ,perl) ; needed by GIO tests - ("tzdata" ,tzdata-for-tests))) ; for tests/gdatet= ime.c - (arguments - `(#:disallowed-references (,tzdata-for-tests) - #:configure-flags '("-Dselinux=3Ddisabled") - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-dbus-launch-path - (lambda* (#:key inputs #:allow-other-keys) - (let ((dbus (assoc-ref inputs "dbus"))) - (substitute* "gio/gdbusaddress.c" - (("command_line =3D g_strdup_printf \\(\"dbus-launch") - (string-append "command_line =3D g_strdup_printf (\"" - dbus "/bin/dbus-launch"))) - #t))) - (add-after 'unpack 'patch-gio-launch-desktop - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - ;; See also - ;; for another future fix. - (substitute* "gio/gdesktopappinfo.c" - (("gio-launch-desktop") - (string-append out "/libexec/gio-launch-desktop"))) - #t))) - ;; TODO: Remove the conditional in the next core-updates cycle. - ;; Needed to build glib on slower ARM nodes. - ,@(if (string-prefix? "arm" (%current-system)) - `((add-after 'unpack 'increase-test-timeout - (lambda _ - (substitute* "meson.build" - (("test_timeout =3D 60") - "test_timeout =3D 90") - (("test_timeout_slow =3D 120") - "test_timeout_slow =3D 180"))))) - '()) - (add-before 'build 'pre-build - (lambda* (#:key inputs outputs #:allow-other-keys) - ;; For tests/gdatetime.c. - (setenv "TZDIR" - (string-append (assoc-ref inputs "tzdata") - "/share/zoneinfo")) - - ;; Some tests want write access there. - (setenv "HOME" (getcwd)) - (setenv "XDG_CACHE_HOME" (getcwd)) - #t)) - (add-after 'unpack 'disable-failing-tests - (lambda _ - (let ((disable - (lambda (test-file test-paths) - (define pattern+procs - (map (lambda (test-path) - (cons - ;; XXX: only works for single line statem= ents. - (format #f "g_test_add_func.*\"~a\".*" te= st-path) - (const ""))) - test-paths)) - (substitute test-file pattern+procs))) - (failing-tests - '(("glib/tests/thread.c" - (;; prlimit(2) returns ENOSYS on Linux 2.6.32-5-xe= n-amd64 - ;; as found on hydra.gnu.org, and strace(1) doesn= 't - ;; recognize it. - "/thread/thread4")) - - ;; This tries to find programs in FHS directories. - ("glib/tests/utils.c" - ("/utils/find-program")) - - ;; This fails because "glib/tests/echo-script" cann= ot be - ;; found. - ("glib/tests/spawn-singlethread.c" - ("/gthread/spawn-script")) - - ("glib/tests/timer.c" - (;; fails if compiler optimizations are enabled, w= hich they - ;; are by default. - "/timer/stop")) - - ("gio/tests/gapplication.c" - (;; XXX: proven to be unreliable. See: - ;; - ;; - "/gapplication/quit" - - ;; XXX: fails randomly for unknown reason. See: - ;; - "/gapplication/local-actions")) - - ("gio/tests/contenttype.c" - (;; XXX: requires shared-mime-info. - "/contenttype/guess" - "/contenttype/guess_svg_from_data" - "/contenttype/subtype" - "/contenttype/list" - "/contenttype/icon" - "/contenttype/symbolic-icon" - "/contenttype/tree")) - - ("gio/tests/appinfo.c" - (;; XXX: requires update-desktop-database. - "/appinfo/associations")) - - ("gio/tests/desktop-app-info.c" - (;; XXX: requires update-desktop-database. - "/desktop-app-info/delete" - "/desktop-app-info/default" - "/desktop-app-info/fallback" - "/desktop-app-info/lastused" - "/desktop-app-info/search")) - - ("gio/tests/gdbus-peer.c" - (;; Requires /etc/machine-id. - "/gdbus/codegen-peer-to-peer")) - - ("gio/tests/gdbus-address-get-session.c" - (;; Requires /etc/machine-id. - "/gdbus/x11-autolaunch")) - - ("gio/tests/gsocketclient-slow.c" - (;; These tests tries to resolve "localhost", and = fails. - "/socket-client/happy-eyeballs/slow" - "/socket-client/happy-eyeballs/cancellation/delay= ed")) - - ))) - (for-each (lambda (x) (apply disable x)) failing-tests) - #t))) - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (if tests? - (begin - (setenv "MESON_TESTTHREADS" - (number->string (parallel-job-count))) - ;; Do not run tests marked as "flaky". - (invoke "meson" "test" "--no-suite" "flaky")) - #t))) - ;; TODO: meson does not permit the bindir to be outside of prefi= x. - ;; See https://github.com/mesonbuild/meson/issues/2561 - ;; We can remove this once meson is patched. - (add-after 'install 'move-executables - (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")) - ;; This one is an implementation detail of glib. - ;; It is wrong that that's in "/bin" in the first place, - ;; but that's what upstream is doing right now. - ;; See . - (mkdir (string-append out "/libexec")) - (rename-file (string-append bin "/bin/gio-launch-desktop")= - (string-append out "/libexec/gio-launch-deskt= op")) - ;; Do not refer to "bindir", which points to "${prefix}/bi= n". - ;; We don't patch "bindir" to point to "$bin/bin", because= that - ;; would create a reference cycle between the "out" and "b= in" - ;; outputs. - (substitute* (list (string-append out "/lib/pkgconfig/gio-= 2.0.pc") - (string-append out "/lib/pkgconfig/glib= -2.0.pc")) - (("bindir=3D\\$\\{prefix\\}/bin") "") - (("=3D\\$\\{bindir\\}/") "=3D")) - #t)))))) - ;; TODO: see above for explanation. - ;; #:configure-flags (list (string-append "--bindir=3D" - ;; (assoc-ref %outputs "bin= ") - ;; "/bin")) - - (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 s= earch - ;; path for .gir files, and it's also a search path for schemas prod= uced - ;; by 'glib-compile-schemas'. - (list (search-path-specification - (variable "XDG_DATA_DIRS") - (files '("share"))) - ;; To load extra gio modules from glib-networking, etc. - (search-path-specification - (variable "GIO_EXTRA_MODULES") - (files '("lib/gio/modules"))))) - (search-paths native-search-paths) - (properties '((hidden? . #t))) - - (synopsis "Thread-safe general utility library; basis of GTK+ and GNO= ME") - (description - "GLib provides data structure handling for C, portability wrappers, -and interfaces for such runtime functionality as an event loop, threads,= -dynamic loading, and an object system.") - (home-page "https://developer.gnome.org/glib/") - (license license:lgpl2.1+))) + (name "glib") + (version "2.62.6") + (source + (origin + (method url-fetch) + (uri + (string-append "mirror://gnome/sources/" + name "/" (string-take version 4) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 "174bsmbmcvaw69ff9g60q5sx0fn23rkhqcwqz17h5s7sprps4kqh"))= + (patches + (search-patches "glib-tests-timer.patch" "glib-appinfo-watch.pat= ch")) + (modules '((guix build utils))) + (snippet + '(begin + (substitute* "tests/spawn-test.c" + (("/bin/sh") "sh")) + #t)))) + (build-system meson-build-system) + (outputs '("out" ; everything + "bin")) ; glib-mkenums, gtester, etc.; depends on Python + (arguments + `(#:disallowed-references (,tzdata-for-tests) + #:phases + (modify-phases %standard-phases + ;; TODO: Remove the conditional in the next core-updates cycle.= + ;; Needed to build glib on slower ARM nodes. + ,@(if (string-prefix? "arm" (%current-system)) + `((add-after 'unpack 'increase-test-timeout + (lambda _ + (substitute* "meson.build" + (("test_timeout =3D 60") + "test_timeout =3D 90") + (("test_timeout_slow =3D 120") + "test_timeout_slow =3D 180"))))) + '()) + (add-after 'unpack 'patch-dbus-launch-path + (lambda* (#:key inputs #:allow-other-keys) + (let ((dbus (assoc-ref inputs "dbus"))) + (substitute* "gio/gdbusaddress.c" + (("command_line =3D g_strdup_printf \\(\"dbus-launch") + (string-append "command_line =3D g_strdup_printf (\"" + dbus "/bin/dbus-launch"))) + #t))) + (add-after 'unpack 'patch-gio-launch-desktop + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + ;; See also + ;; for another future fix. + (substitute* "gio/gdesktopappinfo.c" + (("gio-launch-desktop") + (string-append out "/libexec/gio-launch-desktop"))) + #t))) + (add-before 'build 'pre-build + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; For tests/gdatetime.c. + (setenv "TZDIR" + (string-append (assoc-ref inputs "tzdata") + "/share/zoneinfo")) + ;; Some tests want write access there. + (setenv "HOME" (getcwd)) + (setenv "XDG_CACHE_HOME" (getcwd)) + #t)) + (add-after 'unpack 'disable-failing-tests + (lambda _ + (let ((disable + (lambda (test-file test-paths) + (define pattern+procs + (map (lambda (test-path) + (cons + ;; XXX: only works for single line state= ments. + (format #f "g_test_add_func.*\"~a\".*" t= est-path) + (const ""))) + test-paths)) + (substitute test-file pattern+procs))) + (failing-tests + '(("glib/tests/thread.c" + ( ;; prlimit(2) returns ENOSYS on Linux 2.6.32-5-= xen-amd64 + ;; as found on hydra.gnu.org, and strace(1) does= n't + ;; recognize it. + "/thread/thread4")) + ;; This tries to find programs in FHS directories.= + ("glib/tests/utils.c" + ("/utils/find-program")) + ;; This fails because "glib/tests/echo-script" can= not be + ;; found. + ("glib/tests/spawn-singlethread.c" + ("/gthread/spawn-script")) + ("glib/tests/timer.c" + ( ;; fails if compiler optimizations are enabled,= which they + ;; are by default. + "/timer/stop")) + ("gio/tests/gapplication.c" + ( ;; XXX: proven to be unreliable. See: + ;; + ;; + "/gapplication/quit" + ;; XXX: fails randomly for unknown reason. See: + ;; + "/gapplication/local-actions")) + ("gio/tests/contenttype.c" + ( ;; XXX: requires shared-mime-info. + "/contenttype/guess" + "/contenttype/guess_svg_from_data" + "/contenttype/subtype" + "/contenttype/list" + "/contenttype/icon" + "/contenttype/symbolic-icon" + "/contenttype/tree")) + ("gio/tests/appinfo.c" + ( ;; XXX: requires update-desktop-database. + "/appinfo/associations")) + ("gio/tests/desktop-app-info.c" + ( ;; XXX: requires update-desktop-database. + "/desktop-app-info/delete" + "/desktop-app-info/default" + "/desktop-app-info/fallback" + "/desktop-app-info/lastused" + "/desktop-app-info/search")) + ("gio/tests/gdbus-peer.c" + ( ;; Requires /etc/machine-id. + "/gdbus/codegen-peer-to-peer")) + ("gio/tests/gdbus-address-get-session.c" + ( ;; Requires /etc/machine-id. + "/gdbus/x11-autolaunch")) + ("gio/tests/gsocketclient-slow.c" + ( ;; These tests tries to resolve "localhost", an= d fails. + "/socket-client/happy-eyeballs/slow" + "/socket-client/happy-eyeballs/cancellation/dela= yed"))))) + (for-each (lambda (x) (apply disable x)) failing-tests) + #t))) + (replace 'check + (lambda _ + (setenv "MESON_TESTTHREADS" + (number->string (parallel-job-count))) + ;; Do not run tests marked as "flaky". + (invoke "meson" "test" "--no-suite" "flaky"))) + ;; TODO: meson does not permit the bindir to be outside of pref= ix. + ;; See https://github.com/mesonbuild/meson/issues/2561 + ;; We can remove this once meson is patched. + (add-after 'install 'move-executables + (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")) + ;; This one is an implementation detail of glib. + ;; It is wrong that that's in "/bin" in the first place, + ;; but that's what upstream is doing right now. + ;; See .= + (mkdir (string-append out "/libexec")) + (rename-file (string-append bin "/bin/gio-launch-desktop"= ) + (string-append out "/libexec/gio-launch-desk= top")) + ;; Do not refer to "bindir", which points to "${prefix}/b= in". + ;; We don't patch "bindir" to point to "$bin/bin", becaus= e that + ;; would create a reference cycle between the "out" and "= bin" + ;; outputs. + (substitute* (list (string-append out "/lib/pkgconfig/gio= -2.0.pc") + (string-append out "/lib/pkgconfig/gli= b-2.0.pc")) + (("bindir=3D\\$\\{prefix\\}/bin") "") + (("=3D\\$\\{bindir\\}/") "=3D")) + #t)))))) + ;; TODO: see above for explanation. + ;; #:configure-flags (list (string-append "--bindir=3D" + ;; (assoc-ref %outputs "bin")= + ;; "/bin")) + (native-inputs + `(("dbus" ,dbus) ; for GDBus tests + ("gettext" ,gettext-minimal) + ("m4" ,m4) ; for installing m4 macros + ("perl" ,perl) ; needed by GIO tests + ("pkg-config" ,pkg-config) + ("python" ,python-wrapper) + ("tzdata" ,tzdata-for-tests))) ; for tests/gdatetime.c + (propagated-inputs + `(("libffi" ,libffi) ; in the Requires.private field of gobject-2.0= =2Epc + ("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 + (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 + ;; path for .gir files, and it's also a search path for schemas pro= duced + ;; by 'glib-compile-schemas'. + (list + (search-path-specification + (variable "XDG_DATA_DIRS") + (files '("share"))) + ;; To load extra gio modules from glib-networking, etc. + (search-path-specification + (variable "GIO_EXTRA_MODULES") + (files '("lib/gio/modules"))))) + (search-paths native-search-paths) + (synopsis "Thread-safe general utility library; basis of GTK+ and GN= OME") + (description "GLib provides data structure handling for C, portabili= ty +wrappers, and interfaces for such runtime functionality as an event loop= , +threads, dynamic loading, and an object system.") + (home-page "https://developer.gnome.org/glib/") + (license license:lgpl2.1+))) =20 (define-public glib-with-documentation ;; glib's doc must be built in a separate package since it requires gt= k-doc, --=20 2.30.1 --------------2B51BB6BCF7FD238BE97D642 Content-Type: text/x-patch; charset=UTF-8; name="0003-gnu-glib-Update-to-2.64.3.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0003-gnu-glib-Update-to-2.64.3.patch" =46rom a36581713c963b0e96401ad160b042cfd4e86b9c Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 11 Mar 2021 07:22:07 -0500 Subject: [PATCH 03/11] gnu: glib: Update to 2.64.3. * gnu/packages/glib.scm (glib) [version]: Update to 2.64.3. [patches]: Add glib-disable-failing-tests.patch. Remove glib-tests-timer.patch. [arguments]<#:phases>['patch-python-references]: New phase. ['pre-check]: New phase. ['move-bin]: New phase. ['patch-dbus-launch-path]: Remove phase. ['patch-gio-launch-desktop]: Remove phase. ['pre-build]: Remove phase. ['disable-failing-tests]: Remove phase. ['check]: Remove phase. ['move-executables]: Remove phase. [native-inputs]: Add intltool, python, libxml2 and libxslt. Remove dbus. [inputs]: Add dbus and libelf. [propagated-inputs]: Add libselinux. * gnu/packages/patches/glib-disable-failing-tests.patch: New file. * gnu/packages/patches/glib-tests-timer.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Adjust. --- gnu/local.mk | 2 +- gnu/packages/glib.scm | 157 +++++------------- .../patches/glib-disable-failing-tests.patch | 84 ++++++++++ gnu/packages/patches/glib-tests-timer.patch | 15 -- 4 files changed, 127 insertions(+), 131 deletions(-) create mode 100644 gnu/packages/patches/glib-disable-failing-tests.patch= delete mode 100644 gnu/packages/patches/glib-tests-timer.patch diff --git a/gnu/local.mk b/gnu/local.mk index 6c6d1ba47b..da6af367a2 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1068,7 +1068,7 @@ dist_patch_DATA =3D \ %D%/packages/patches/ghostscript-no-header-uuid.patch \ %D%/packages/patches/ghostscript-no-header-creationdate.patch \ %D%/packages/patches/glib-appinfo-watch.patch \ - %D%/packages/patches/glib-tests-timer.patch \ + %D%/packages/patches/glib-disable-failing-tests.patch \ %D%/packages/patches/glibc-CVE-2018-11236.patch \ %D%/packages/patches/glibc-CVE-2018-11237.patch \ %D%/packages/patches/glibc-CVE-2019-7309.patch \ diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index e5372c6f28..f0548ff71c 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -41,6 +41,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages docbook) #:use-module (gnu packages documentation) + #:use-module (gnu packages elf) #:use-module (gnu packages enlightenment) #:use-module (gnu packages file) #:use-module (gnu packages flex) @@ -60,6 +61,7 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) + #:use-module (gnu packages selinux) #:use-module (gnu packages web) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) @@ -171,7 +173,7 @@ shared NFS home directories.") (define glib (package (name "glib") - (version "2.62.6") + (version "2.64.3") (source (origin (method url-fetch) @@ -180,9 +182,10 @@ shared NFS home directories.") name "/" (string-take version 4) "/" name "-" version ".tar.xz")) (sha256 - (base32 "174bsmbmcvaw69ff9g60q5sx0fn23rkhqcwqz17h5s7sprps4kqh"))= + (base32 "08pbgiv5m3rica4ydvwvpq5mrxbyswx7l1jzjc2ch52xjabvr77y"))= (patches - (search-patches "glib-tests-timer.patch" "glib-appinfo-watch.pat= ch")) + (search-patches "glib-disable-failing-tests.patch" + "glib-appinfo-watch.patch")) (modules '((guix build utils))) (snippet '(begin @@ -207,24 +210,21 @@ shared NFS home directories.") (("test_timeout_slow =3D 120") "test_timeout_slow =3D 180"))))) '()) - (add-after 'unpack 'patch-dbus-launch-path + ;; Python references are not being patched in patch-phase of bu= ild, + ;; despite using python-wrapper as input. So we patch them manu= ally. + (add-after 'unpack 'patch-python-references (lambda* (#:key inputs #:allow-other-keys) - (let ((dbus (assoc-ref inputs "dbus"))) - (substitute* "gio/gdbusaddress.c" - (("command_line =3D g_strdup_printf \\(\"dbus-launch") - (string-append "command_line =3D g_strdup_printf (\"" - dbus "/bin/dbus-launch"))) - #t))) - (add-after 'unpack 'patch-gio-launch-desktop - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - ;; See also - ;; for another future fix. - (substitute* "gio/gdesktopappinfo.c" - (("gio-launch-desktop") - (string-append out "/libexec/gio-launch-desktop"))) - #t))) - (add-before 'build 'pre-build + (substitute* '("gio/gdbus-2.0/codegen/gdbus-codegen.in" + "glib/gtester-report.in" + "gobject/glib-genmarshal.in" + "gobject/glib-mkenums.in") + (("@PYTHON@") + (string-append (assoc-ref inputs "python") + "/bin/python" + ,(version-major+minor + (package-version python))))) + #t)) + (add-before 'check 'pre-check (lambda* (#:key inputs outputs #:allow-other-keys) ;; For tests/gdatetime.c. (setenv "TZDIR" @@ -234,103 +234,23 @@ shared NFS home directories.") (setenv "HOME" (getcwd)) (setenv "XDG_CACHE_HOME" (getcwd)) #t)) - (add-after 'unpack 'disable-failing-tests - (lambda _ - (let ((disable - (lambda (test-file test-paths) - (define pattern+procs - (map (lambda (test-path) - (cons - ;; XXX: only works for single line state= ments. - (format #f "g_test_add_func.*\"~a\".*" t= est-path) - (const ""))) - test-paths)) - (substitute test-file pattern+procs))) - (failing-tests - '(("glib/tests/thread.c" - ( ;; prlimit(2) returns ENOSYS on Linux 2.6.32-5-= xen-amd64 - ;; as found on hydra.gnu.org, and strace(1) does= n't - ;; recognize it. - "/thread/thread4")) - ;; This tries to find programs in FHS directories.= - ("glib/tests/utils.c" - ("/utils/find-program")) - ;; This fails because "glib/tests/echo-script" can= not be - ;; found. - ("glib/tests/spawn-singlethread.c" - ("/gthread/spawn-script")) - ("glib/tests/timer.c" - ( ;; fails if compiler optimizations are enabled,= which they - ;; are by default. - "/timer/stop")) - ("gio/tests/gapplication.c" - ( ;; XXX: proven to be unreliable. See: - ;; - ;; - "/gapplication/quit" - ;; XXX: fails randomly for unknown reason. See: - ;; - "/gapplication/local-actions")) - ("gio/tests/contenttype.c" - ( ;; XXX: requires shared-mime-info. - "/contenttype/guess" - "/contenttype/guess_svg_from_data" - "/contenttype/subtype" - "/contenttype/list" - "/contenttype/icon" - "/contenttype/symbolic-icon" - "/contenttype/tree")) - ("gio/tests/appinfo.c" - ( ;; XXX: requires update-desktop-database. - "/appinfo/associations")) - ("gio/tests/desktop-app-info.c" - ( ;; XXX: requires update-desktop-database. - "/desktop-app-info/delete" - "/desktop-app-info/default" - "/desktop-app-info/fallback" - "/desktop-app-info/lastused" - "/desktop-app-info/search")) - ("gio/tests/gdbus-peer.c" - ( ;; Requires /etc/machine-id. - "/gdbus/codegen-peer-to-peer")) - ("gio/tests/gdbus-address-get-session.c" - ( ;; Requires /etc/machine-id. - "/gdbus/x11-autolaunch")) - ("gio/tests/gsocketclient-slow.c" - ( ;; These tests tries to resolve "localhost", an= d fails. - "/socket-client/happy-eyeballs/slow" - "/socket-client/happy-eyeballs/cancellation/dela= yed"))))) - (for-each (lambda (x) (apply disable x)) failing-tests) - #t))) - (replace 'check - (lambda _ - (setenv "MESON_TESTTHREADS" - (number->string (parallel-job-count))) - ;; Do not run tests marked as "flaky". - (invoke "meson" "test" "--no-suite" "flaky"))) - ;; TODO: meson does not permit the bindir to be outside of pref= ix. - ;; See https://github.com/mesonbuild/meson/issues/2561 - ;; We can remove this once meson is patched. - (add-after 'install 'move-executables + ;; Meson does not permit the bindir to be outside of prefix. + (add-after 'install 'move-bin (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (bin (assoc-ref outputs "bin"))) + (let* ((out (assoc-ref outputs "out")) + (bin (assoc-ref outputs "bin"))) (mkdir-p bin) - (rename-file (string-append out "/bin") - (string-append bin "/bin")) - ;; This one is an implementation detail of glib. - ;; It is wrong that that's in "/bin" in the first place, - ;; but that's what upstream is doing right now. - ;; See .= - (mkdir (string-append out "/libexec")) - (rename-file (string-append bin "/bin/gio-launch-desktop"= ) - (string-append out "/libexec/gio-launch-desk= top")) + (rename-file + (string-append out "/bin") + (string-append bin "/bin")) ;; Do not refer to "bindir", which points to "${prefix}/b= in". ;; We don't patch "bindir" to point to "$bin/bin", becaus= e that ;; would create a reference cycle between the "out" and "= bin" ;; outputs. - (substitute* (list (string-append out "/lib/pkgconfig/gio= -2.0.pc") - (string-append out "/lib/pkgconfig/gli= b-2.0.pc")) + (substitute* + (list + (string-append out "/lib/pkgconfig/gio-2.0.pc") + (string-append out "/lib/pkgconfig/glib-2.0.pc")) (("bindir=3D\\$\\{prefix\\}/bin") "") (("=3D\\$\\{bindir\\}/") "=3D")) #t)))))) @@ -339,15 +259,22 @@ shared NFS home directories.") ;; (assoc-ref %outputs "bin")= ;; "/bin")) (native-inputs - `(("dbus" ,dbus) ; for GDBus tests - ("gettext" ,gettext-minimal) + `(("gettext" ,gettext-minimal) + ("libintl" ,intltool) ("m4" ,m4) ; for installing m4 macros ("perl" ,perl) ; needed by GIO tests ("pkg-config" ,pkg-config) - ("python" ,python-wrapper) - ("tzdata" ,tzdata-for-tests))) ; for tests/gdatetime.c + ("python" ,python) ; For 'patch-python-references + ("python-wrapper" ,python-wrapper) + ("tzdata" ,tzdata-for-tests) ; for tests/gdatetime.c + ("xmllint" ,libxml2) + ("xsltproc" ,libxslt))) + (inputs + `(("dbus" ,dbus) + ("libelf" ,libelf))) (propagated-inputs `(("libffi" ,libffi) ; in the Requires.private field of gobject-2.0= =2Epc + ("libselinux" ,libselinux) ; in the Requires.private field of gio= -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 diff --git a/gnu/packages/patches/glib-disable-failing-tests.patch b/gnu/= packages/patches/glib-disable-failing-tests.patch new file mode 100644 index 0000000000..3601c42030 --- /dev/null +++ b/gnu/packages/patches/glib-disable-failing-tests.patch @@ -0,0 +1,84 @@ +From a2e6783f2278ed32b1e552691ec5d67d6940757e Mon Sep 17 00:00:00 2001 +From: Raghav Gururajan +Date: Tue, 9 Jun 2020 05:17:53 -0400 +Subject: [PATCH] PATCH: Disable failing tests. + +--- + gio/tests/meson.build | 19 ------------------- + glib/tests/meson.build | 2 -- + 2 files changed, 21 deletions(-) + +diff --git a/gio/tests/meson.build b/gio/tests/meson.build +index c7c3e3035..6e38eb39e 100644 +--- a/gio/tests/meson.build ++++ b/gio/tests/meson.build +@@ -34,7 +34,6 @@ gio_tests =3D { + 'buffered-output-stream' : {}, + 'cancellable' : {}, + 'contexts' : {}, +- 'contenttype' : {}, + 'converter-stream' : {}, + 'credentials' : {}, + 'data-input-stream' : {}, +@@ -78,7 +77,6 @@ gio_tests =3D { + 'tls-certificate' : {'extra_sources' : ['gtesttlsbackend.c']}, + 'tls-interaction' : {'extra_sources' : ['gtesttlsbackend.c']}, + 'tls-database' : {'extra_sources' : ['gtesttlsbackend.c']}, +- 'gdbus-address-get-session' : {}, + 'win32-appinfo' : {}, + } +=20 +@@ -135,10 +133,6 @@ endif + if host_machine.system() !=3D 'windows' + gio_tests +=3D { + 'file' : {}, +- 'gdbus-peer' : { +- 'dependencies' : [libgdbus_example_objectmanager_dep], +- 'install_rpath' : installed_tests_execdir +- }, + 'gdbus-peer-object-manager' : {}, + 'live-g-file' : {}, + 'socket-address' : {}, +@@ -173,19 +167,6 @@ if host_machine.system() !=3D 'windows' + } + endif +=20 +- # Uninstalled because of the check-for-executable logic in DesktopApp= Info +- # unable to find the installed executable +- if not glib_have_cocoa +- gio_tests +=3D { +- 'appinfo' : { +- 'install' : false, +- }, +- 'desktop-app-info' : { +- 'install' : false, +- }, +- } +- endif +- + test_extra_programs +=3D { + 'basic-application' : {}, + 'dbus-launch' : {}, +diff --git a/glib/tests/meson.build b/glib/tests/meson.build +index 8da477d19..9fa24dd49 100644 +--- a/glib/tests/meson.build ++++ b/glib/tests/meson.build +@@ -103,7 +103,6 @@ glib_tests =3D { + 'utf8-pointer' : {}, + 'utf8-validate' : {}, + 'utf8-misc' : {}, +- 'utils' : {}, + 'unicode' : {}, + 'uri' : {}, + '1bit-mutex' : {}, +@@ -151,7 +150,6 @@ if host_machine.system() =3D=3D 'windows' + else + glib_tests +=3D { + 'include' : {}, +- 'unix' : {}, + } + if have_rtld_next + glib_tests +=3D { +--=20 +2.26.2 + diff --git a/gnu/packages/patches/glib-tests-timer.patch b/gnu/packages/p= atches/glib-tests-timer.patch deleted file mode 100644 index e37425c0c8..0000000000 --- a/gnu/packages/patches/glib-tests-timer.patch +++ /dev/null @@ -1,15 +0,0 @@ -* On i686 floating-point roundoff errors could sometimes cause this chec= k to - fail depending on the elapsed microseconds. Improve rounding by addin= g a - fractional bit. - ---- glib-2.40.0/glib/tests/timer.c 2014-03-05 08:05:42.000000000 -0600 -+++ glib-2.40.0/glib/tests/timer.c 2014-07-10 16:33:12.746862822 -0500 -@@ -35,7 +35,7 @@ - elapsed =3D g_timer_elapsed (timer, µs); -=20 - g_assert_cmpfloat (elapsed, <, 1.0); -- g_assert_cmpuint (micros, =3D=3D, ((guint64)(elapsed * 1e6)) % 100000= 0); -+ g_assert_cmpuint (micros, =3D=3D, ((guint64)(elapsed * 1e6 + 0.5)) % = 1000000); -=20 - g_timer_destroy (timer); - } --=20 2.30.1 --------------2B51BB6BCF7FD238BE97D642 Content-Type: text/x-patch; charset=UTF-8; name="0004-gnu-glib-Update-synopsis-description-and-home-page.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename*0="0004-gnu-glib-Update-synopsis-description-and-home-page.patc"; filename*1="h" =46rom 8a337d499afb066d7323e207ae31b828359894fe Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 11 Mar 2021 07:45:50 -0500 Subject: [PATCH 04/11] gnu: glib: Update synopsis, description and home-p= age. * gnu/packages/glib.scm (glib) [synopsis]: Modify. [description]: Modify. [home-page]: Modify. --- gnu/packages/glib.scm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index f0548ff71c..5f4c5b4f73 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -292,11 +292,12 @@ shared NFS home directories.") (variable "GIO_EXTRA_MODULES") (files '("lib/gio/modules"))))) (search-paths native-search-paths) - (synopsis "Thread-safe general utility library; basis of GTK+ and GN= OME") - (description "GLib provides data structure handling for C, portabili= ty -wrappers, and interfaces for such runtime functionality as an event loop= , -threads, dynamic loading, and an object system.") - (home-page "https://developer.gnome.org/glib/") + (synopsis "Low-level core library for GNOME projects") + (description "GLib provides the core application building blocks for= +libraries and applications written in C. It provides the core object sy= stem +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+))) =20 (define-public glib-with-documentation --=20 2.30.1 --------------2B51BB6BCF7FD238BE97D642 Content-Type: text/x-patch; charset=UTF-8; name="0005-gnu-glib-with-documentation-Make-some-cosmetic-chang.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename*0="0005-gnu-glib-with-documentation-Make-some-cosmetic-chang.pa"; filename*1="tch" =46rom 438b5d21587a10bd48d4430bc6860c9d21f44b49 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 11 Mar 2021 09:37:00 -0500 Subject: [PATCH 05/11] gnu: glib-with-documentation: Make some cosmetic changes. * gnu/packages/glib.scm (glib-with-documentation): Make some cosmetic cha= nges. --- gnu/packages/glib.scm | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 5f4c5b4f73..f8d23e5802 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -307,8 +307,8 @@ functions for strings and common data structures.") (properties (alist-delete 'hidden? (package-properties glib))) (outputs (cons "doc" (package-outputs glib))) ; 20 MiB of GTK-Doc re= ference (native-inputs - `(("gtk-doc" ,gtk-doc) ; for the doc - ("docbook-xml" ,docbook-xml) + `(("docbook-xml" ,docbook-xml) + ("gtk-doc" ,gtk-doc) ; for the doc ("libxml2" ,libxml2) ,@(package-native-inputs glib))) (arguments @@ -319,12 +319,13 @@ functions for strings and common data structures.")= `(modify-phases ,phases (add-after 'install 'move-doc (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (doc (assoc-ref outputs "doc")) - (html (string-append "/share/gtk-doc"))) - (copy-recursively (string-append out html) - (string-append doc html)) - (delete-file-recursively (string-append out html)) + (let* ((out (assoc-ref outputs "out")) + (doc (assoc-ref outputs "doc")) + (html (string-append "/share/gtk-doc"))) + (mkdir-p (string-append doc "/share")) + (rename-file + (string-append out html) + (string-append doc html)) #t))))))))) =20 (define gobject-introspection --=20 2.30.1 --------------2B51BB6BCF7FD238BE97D642 Content-Type: text/x-patch; charset=UTF-8; name="0006-gnu-glib-with-documentation-Fix-documentation-build.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename*0="0006-gnu-glib-with-documentation-Fix-documentation-build.pat"; filename*1="ch" =46rom a4ee35143ba9e8a9c84d4649a18503a473779f22 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 11 Mar 2021 09:39:52 -0500 Subject: [PATCH 06/11] gnu: glib-with-documentation: Fix documentation bu= ild. * gnu/packages/glib.scm (glib-with-documentation) [native-inputs]: Add docbook-4.2. Remove libxml2. [arguments]<#:phases>['patch-docbook-xml]: New phase. --- gnu/packages/glib.scm | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index f8d23e5802..07e65e49f5 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -307,7 +307,8 @@ functions for strings and common data structures.") (properties (alist-delete 'hidden? (package-properties glib))) (outputs (cons "doc" (package-outputs glib))) ; 20 MiB of GTK-Doc re= ference (native-inputs - `(("docbook-xml" ,docbook-xml) + `(("docbook-xml-4.2" ,docbook-xml-4.2) + ("docbook-xml-4.5" ,docbook-xml) ("gtk-doc" ,gtk-doc) ; for the doc ("libxml2" ,libxml2) ,@(package-native-inputs glib))) @@ -317,6 +318,19 @@ functions for strings and common data structures.") `(cons "-Dgtk_doc=3Dtrue" ,flags)) ((#:phases phases) `(modify-phases ,phases + (add-after 'unpack 'patch-docbook-xml + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion "docs/reference" + (substitute* '("gio/gdbus-object-manager-example/.*\\.x= ml" + "gio/.*\\.xml" "glib/.*\\.xml" "gobject/= =2E*\\.xml") + (("http://www.oasis-open.org/docbook/xml/4.5/") + (string-append (assoc-ref inputs "docbook-xml-4.5") + "/xml/dtd/docbook/"))) + (substitute* "gio/gio.xml" + (("http://www.oasis-open.org/docbook/xml/4.2/") + (string-append (assoc-ref inputs "docbook-xml-4.2") + "/xml/dtd/docbook/")))) + #t)) (add-after 'install 'move-doc (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) --=20 2.30.1 --------------2B51BB6BCF7FD238BE97D642 Content-Type: text/x-patch; charset=UTF-8; name="0007-gnu-cairo-Make-some-cosmetic-changes.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0007-gnu-cairo-Make-some-cosmetic-changes.patch" =46rom 4ea541c4ca694e602dc79ee8b0ef5cccaf987d4f Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Fri, 4 Dec 2020 00:49:10 -0500 Subject: [PATCH 07/11] gnu: cairo: Make some cosmetic changes. * gnu/packages/gtk.scm (cairo): Make some cosmetic changes. --- gnu/packages/gtk.scm | 82 ++++++++++++++++++++++---------------------- 1 file changed, 41 insertions(+), 41 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index fbaacc11e4..b82a0aed8f 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -123,57 +123,57 @@ tools have full access to view and control running = applications.") =20 (define-public cairo (package - (name "cairo") - (version "1.16.0") - (source (origin - (method url-fetch) - (uri (string-append "https://cairographics.org/releases/cair= o-" - version ".tar.xz")) - (sha256 - (base32 - "0c930mk5xr2bshbdljv005j3j8zr47gqmkry3q6qgvqky6rjjysy"))))= - (build-system gnu-build-system) - (propagated-inputs - `(("fontconfig" ,fontconfig) - ("freetype" ,freetype) - ("glib" ,glib) - ("libpng" ,libpng) - ("libx11" ,libx11) - ("libxext" ,libxext) - ("libxrender" ,libxrender) - ("pixman" ,pixman))) - (inputs - `(("ghostscript" ,ghostscript) - ("libspectre" ,libspectre) - ("poppler" ,poppler) - ("xorgproto" ,xorgproto) - ("zlib" ,zlib))) - (native-inputs - `(("pkg-config" ,pkg-config) - ("python" ,python-wrapper))) + (name "cairo") + (version "1.16.0") + (source + (origin + (method url-fetch) + (uri + (string-append "https://cairographics.org/releases/cairo-" + version ".tar.xz")) + (sha256 + (base32 "0c930mk5xr2bshbdljv005j3j8zr47gqmkry3q6qgvqky6rjjysy"))= )) + (build-system gnu-build-system) (arguments - `(#:tests? #f ; see http://lists.gnu.org/archive/html/bug-guix/201= 3-06/msg00085.html - #:configure-flags '("--enable-tee" ;needed for GNU Icecat - "--enable-xml" ;for cairo-xml support - "--disable-static"))) - (synopsis "2D graphics library") - (description - "Cairo is a 2D graphics library with support for multiple output dev= ices. -Currently supported output targets include the X Window System (via both= -Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG fi= le + `(#:tests? #f ; see http://lists.gnu.org/archive/html/bug-guix/2013= -06/msg00085.html + #:configure-flags + (list + "--enable-tee" ;needed for GNU Icecat + "--enable-xml" ;for cairo-xml support + "--disable-static"))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("python" ,python-wrapper))) + (inputs + `(("ghostscript" ,ghostscript) + ("libspectre" ,libspectre) + ("poppler" ,poppler) + ("xorgproto" ,xorgproto) + ("zlib" ,zlib))) + (propagated-inputs + `(("fontconfig" ,fontconfig) + ("freetype" ,freetype) + ("glib" ,glib) + ("libpng" ,libpng) + ("libx11" ,libx11) + ("libxext" ,libxext) + ("libxrender" ,libxrender) + ("pixman" ,pixman))) + (synopsis "2D graphics library") + (description "Cairo is a 2D graphics library with support for multip= le output +devices. Currently supported output targets include the X Window System= (via +both Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and S= VG file output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.= - Cairo is designed to produce consistent output on all output media while= taking advantage of display hardware acceleration when available eg. through the X Render Extension). - The cairo API provides operations similar to the drawing operators of PostScript and PDF. Operations in cairo including stroking and filling = cubic B=C3=A9zier splines, transforming and compositing translucent images, an= d antialiased text rendering. All drawing operations can be transformed b= y any affine transformation (scale, rotation, shear, etc.).") - (license license:lgpl2.1) ; or Mozilla Public License 1.1 - (home-page "https://cairographics.org/"))) + (home-page "https://cairographics.org/") + (license license:lgpl2.1))) ; or Mozilla Public License 1.1 =20 (define-public cairo-sans-poppler ;; Variant used to break the dependency cycle between Poppler and Cair= o. --=20 2.30.1 --------------2B51BB6BCF7FD238BE97D642 Content-Type: text/x-patch; charset=UTF-8; name="0008-gnu-cairo-Change-build-system.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0008-gnu-cairo-Change-build-system.patch" =46rom 2637f9545716cf3165fba1366993b73eb7230fd6 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Fri, 4 Dec 2020 00:51:10 -0500 Subject: [PATCH 08/11] gnu: cairo: Change build-system. * gnu/packages/gtk.scm (cairo) [build-system]: Change from gnu to glib-or= -gtk. --- gnu/packages/gtk.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index b82a0aed8f..a94eca6a12 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -133,7 +133,7 @@ tools have full access to view and control running ap= plications.") version ".tar.xz")) (sha256 (base32 "0c930mk5xr2bshbdljv005j3j8zr47gqmkry3q6qgvqky6rjjysy"))= )) - (build-system gnu-build-system) + (build-system glib-or-gtk-build-system) (arguments `(#:tests? #f ; see http://lists.gnu.org/archive/html/bug-guix/2013= -06/msg00085.html #:configure-flags --=20 2.30.1 --------------2B51BB6BCF7FD238BE97D642 Content-Type: text/x-patch; charset=UTF-8; name="0009-gnu-cairo-Move-documentation-to-separate-output.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename*0="0009-gnu-cairo-Move-documentation-to-separate-output.patch" =46rom 338a129c19230480833dbdaa5b195062c99aa4a1 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Fri, 4 Dec 2020 00:53:16 -0500 Subject: [PATCH 09/11] gnu: cairo: Move documentation to separate output.= * gnu/packages/gtk.scm (cairo) [outputs]: New output "doc". [arguments]<#:configure-flags>[--with-html-dir]: New flag. --- gnu/packages/gtk.scm | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index a94eca6a12..36d39104f8 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -134,13 +134,17 @@ tools have full access to view and control running = applications.") (sha256 (base32 "0c930mk5xr2bshbdljv005j3j8zr47gqmkry3q6qgvqky6rjjysy"))= )) (build-system glib-or-gtk-build-system) + (outputs '("out" "doc")) (arguments `(#:tests? #f ; see http://lists.gnu.org/archive/html/bug-guix/2013= -06/msg00085.html #:configure-flags (list - "--enable-tee" ;needed for GNU Icecat - "--enable-xml" ;for cairo-xml support - "--disable-static"))) + "--enable-tee" ;needed for GNU Icecat + "--enable-xml" ;for cairo-xml support + "--disable-static" + (string-append "--with-html-dir=3D" + (assoc-ref %outputs "doc") + "/share/gtk-doc/html")))) (native-inputs `(("pkg-config" ,pkg-config) ("python" ,python-wrapper))) --=20 2.30.1 --------------2B51BB6BCF7FD238BE97D642 Content-Type: text/x-patch; charset=UTF-8; name="0010-gnu-cairo-Enable-some-features.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0010-gnu-cairo-Enable-some-features.patch" =46rom a674da82de3f404cbae263d76b83bcc96e0cf8a9 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Fri, 4 Dec 2020 01:02:00 -0500 Subject: [PATCH 10/11] gnu: cairo: Enable some features. * gnu/packages/gtk.scm (cairo) [native-inputs]: Add gobject-introspection= =2E [inputs]: Add libdrm. Remove xorgproto and zlib. [propagated-inputs]: Add libxcb. --- gnu/packages/gtk.scm | 39 +++++++++++++++++++++++++++------------ 1 file changed, 27 insertions(+), 12 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 36d39104f8..2032568a91 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -139,30 +139,45 @@ tools have full access to view and control running = applications.") `(#:tests? #f ; see http://lists.gnu.org/archive/html/bug-guix/2013= -06/msg00085.html #:configure-flags (list - "--enable-tee" ;needed for GNU Icecat - "--enable-xml" ;for cairo-xml support "--disable-static" + ;; XXX: To be enabled. + ;; "--enable-gallium=3Dyes" + ;; "--enable-gl=3Dyes" + ;; " --enable-glesv2=3Dyes" + ;; "--enable-glesv3=3Dyes" + ;; "--enable-cogl=3Dyes" + ;; "--enable-directfb=3Dyes" + ;; "--enable-vg=3Dyes" + "--enable-tee=3Dyes" + "--enable-xml=3Dyes" (string-append "--with-html-dir=3D" (assoc-ref %outputs "doc") "/share/gtk-doc/html")))) (native-inputs - `(("pkg-config" ,pkg-config) + `(("gobject-introspection" ,gobject-introspection) + ("pkg-config" ,pkg-config) ("python" ,python-wrapper))) (inputs - `(("ghostscript" ,ghostscript) + `(("drm" ,libdrm) + ("ghostscript" ,ghostscript) ("libspectre" ,libspectre) - ("poppler" ,poppler) - ("xorgproto" ,xorgproto) - ("zlib" ,zlib))) + ("poppler" ,poppler))) (propagated-inputs - `(("fontconfig" ,fontconfig) + `( ;; ("cogl" ,cogl) + ;; ("directfb" ,directfb) + ("fontconfig" ,fontconfig) + ("fontconfig" ,fontconfig) ("freetype" ,freetype) ("glib" ,glib) + ;; ("gtk+" ,gtk+) ("libpng" ,libpng) - ("libx11" ,libx11) - ("libxext" ,libxext) - ("libxrender" ,libxrender) - ("pixman" ,pixman))) + ;; ("librsvg" ,librsvg) + ;; ("opengl" ,mesa) + ("pixman" ,pixman) + ("x11" ,libx11) + ("xcb" ,libxcb) + ("xext" ,libxext) + ("xrender" ,libxrender))) (synopsis "2D graphics library") (description "Cairo is a 2D graphics library with support for multip= le output devices. Currently supported output targets include the X Window System= (via --=20 2.30.1 --------------2B51BB6BCF7FD238BE97D642 Content-Type: text/x-patch; charset=UTF-8; name="0011-gnu-cairo-Update-synopsis-description-and-license.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename*0="0011-gnu-cairo-Update-synopsis-description-and-license.patch" =46rom b7d65f96c1937258daeac97049d4601c213bc12c Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Fri, 4 Dec 2020 01:04:37 -0500 Subject: [PATCH 11/11] gnu: cairo: Update synopsis, description and licen= se. * gnu/packages/gtk.scm (cairo) [synopsis]: Modify. [description]: Modify. [license]: Modify. --- gnu/packages/gtk.scm | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 2032568a91..111171f65a 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -178,21 +178,17 @@ tools have full access to view and control running = applications.") ("xcb" ,libxcb) ("xext" ,libxext) ("xrender" ,libxrender))) - (synopsis "2D graphics library") + (synopsis "Multi-platform 2D graphics library") (description "Cairo is a 2D graphics library with support for multip= le output devices. Currently supported output targets include the X Window System= (via both Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and S= VG file -output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.= -Cairo is designed to produce consistent output on all output media while= -taking advantage of display hardware acceleration when available -eg. through the X Render Extension). -The cairo API provides operations similar to the drawing operators of -PostScript and PDF. Operations in cairo including stroking and filling = cubic -B=C3=A9zier splines, transforming and compositing translucent images, an= d -antialiased text rendering. All drawing operations can be transformed b= y any -affine transformation (scale, rotation, shear, etc.).") +output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.= ") (home-page "https://cairographics.org/") - (license license:lgpl2.1))) ; or Mozilla Public License 1.1 + (license + ;; This project is dual-licensed. + (list + license:lgpl2.1+ + license:mpl1.1)))) =20 (define-public cairo-sans-poppler ;; Variant used to break the dependency cycle between Poppler and Cair= o. --=20 2.30.1 --------------2B51BB6BCF7FD238BE97D642-- --xljpr0SMS9qJe5XRK1QHf60vI9ztq42c6-- --y1IJJmkDmXveLon2R18Lmnl1TpwsY6jc9 Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature" -----BEGIN PGP SIGNATURE----- wnsEABYIACMWIQTNLV6qqYzLN9qR1rBfWBZkf4vlUQUCYEotIAUDAAAAAAAKCRBfWBZkf4vlUcCn AP0Yt+eyySaJjm+dQxx6ubL+T3DZXJYWib/HmkZ0ungXzAD/aUtxWNWR7afSLJc86InrGlrci410 YcUoZXzVI2H9IAE= =ztam -----END PGP SIGNATURE----- --y1IJJmkDmXveLon2R18Lmnl1TpwsY6jc9--