From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:8:6d80::]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id 4D+JAY0yXWByHgEAgWs5BA (envelope-from ) for ; Fri, 26 Mar 2021 02:02:05 +0100 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 SIkpN4wyXWA2GgAA1q6Kng (envelope-from ) for ; Fri, 26 Mar 2021 01:02:04 +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 71FAA2D130 for ; Fri, 26 Mar 2021 02:02:02 +0100 (CET) Received: from localhost ([::1]:39060 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lParR-0005kM-3u for larch@yhetil.org; Thu, 25 Mar 2021 21:02:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37838) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lPaqW-0005h4-1w for guix-patches@gnu.org; Thu, 25 Mar 2021 21:01:05 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:56663) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lPaqU-0003GI-LP for guix-patches@gnu.org; Thu, 25 Mar 2021 21:01:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lPaqU-00008D-HZ for guix-patches@gnu.org; Thu, 25 Mar 2021 21:01:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#42958] Big changes from wip-desktop. Resent-From: Raghav Gururajan Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 26 Mar 2021 01:01: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 , Ricardo Wurmus , =?UTF-8?Q?L=C3=A9o?= Le Bouter Received: via spool by 42958-submit@debbugs.gnu.org id=B42958.1616720453482 (code B ref 42958); Fri, 26 Mar 2021 01:01:02 +0000 Received: (at 42958) by debbugs.gnu.org; 26 Mar 2021 01:00:53 +0000 Received: from localhost ([127.0.0.1]:39977 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lPaqL-00007i-2g for submit@debbugs.gnu.org; Thu, 25 Mar 2021 21:00:53 -0400 Received: from out2.migadu.com ([188.165.223.204]:36600) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lPaqI-00007Y-9J for 42958@debbugs.gnu.org; Thu, 25 Mar 2021 21:00:51 -0400 X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raghavgururajan.name; s=key1; t=1616720447; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=oOQwvI/DYFe7KQmwuqu5QLOzWCs9TQH90WpaGlGaZ9g=; b=LWij1AP9e6FpaHNNOE00U+2bB/dgwQKuKZG4cqCDgi9HXmBwK4Kpu15tsXiuKsv78Eqd6l A4L5Mq4/74ecNPWXUZ9kKsVyFq5Tg05/y/oOTkXPT0ujFYekPaAaRg9glV88n2D0hHnabt EUoZpPdeK0i9q0Aq5AB+hL1368uOZF3mQTshQjBV3roJJ85rtv9ICtftqOu5+mZyROPIbh hgxEkjznI4FnxBaEWuARzoLJ95MPQ7BD+dVpZaL8KRyKpaqImy2WuU9LOtX600uWr+arwp EXAeoxHELE1ne/cXIWx9zFoG7q7yAIMXeZILdk/PY0IlsiHzjEiIVfctmWGB6g== References: <7bef0b9f-b8a6-bd56-52e7-e283d8342470@raghavgururajan.name> <2b0dc6df-d533-8793-697c-82d664e93ddb@raghavgururajan.name> Message-ID: Date: Thu, 25 Mar 2021 21:00:43 -0400 MIME-Version: 1.0 In-Reply-To: <2b0dc6df-d533-8793-697c-82d664e93ddb@raghavgururajan.name> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="5BjXLCrUYP3oznVW6eIc6z4vdW6utvMvS" 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=1616720523; 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=oOQwvI/DYFe7KQmwuqu5QLOzWCs9TQH90WpaGlGaZ9g=; b=OJaOrtZAg3RNzdl1qXSMoXaIIibaCcb2n/jgiATXB+Jp0Et04AKQki9mAO3rKQd5sEcodl s1djldazSjsLnbxy1YmLuWX9FvCyvhuKdE9v7SMAWBp7dze2v67OD400F0iNa36uUAh3yL NpwGua+uQo5IKYGtBFz768i1kgXny9lYqFW7dAVzRyKuCN9/+pApl1S+34XADG+Yi3MACU 2ssr5aIWj866grOQwZh6cPEgEHMJrI/c1qosK+5BJQy5I76rPyt+W7XKZMhJIUZIPE1/SM 1hml+HjNA2cKDRiHSSvFeW9mSuJkZH6zR+UC2hkvzlewz2VI7EHjn9OquWKkZg== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1616720523; a=rsa-sha256; cv=none; b=IHj3UYCa8gGz7YqBbEFfL3/3F0y1SViCrje4v1GXwwLWDb6XoKsS3JFWAdURnL+j+ZqAnR VDGVfw+z+fRA69qC/NvYu935bjxLDtE/eFrihNBhzIGAuix/YKArcOsCsKeXOijyhKybs3 z2kV7tbWNTzayprC+zojpa5jvQfW14mLExgNNizT0Mah+GyRkT18Dm3j8733Io+Ku3jyR+ /0MWRFpr3CNqIK5BhZuxP+qgm0uizbkTNp1K+gEu9OiUOWiTz1M7HUsPRf3JKOx7RSSUnz XINsK4oluqlLB06zVLIANQ32EAOYZfCO8zgAykeK2UeR1W4xUSDrAPGO8xIbWw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=raghavgururajan.name header.s=key1 header.b=LWij1AP9; 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: -5.02 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=raghavgururajan.name header.s=key1 header.b=LWij1AP9; 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: 71FAA2D130 X-Spam-Score: -5.02 X-Migadu-Scanner: scn0.migadu.com X-TUID: fGYCA5kbObP9 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --5BjXLCrUYP3oznVW6eIc6z4vdW6utvMvS Content-Type: multipart/mixed; boundary="dDxfzwX6rz34VPYhf3Q9bmqQqxdK3vbmV"; protected-headers="v1" From: Raghav Gururajan To: 42958@debbugs.gnu.org, Danny Milosavljevic , Ricardo Wurmus , =?UTF-8?Q?L=c3=a9o_Le_Bouter?= Message-ID: Subject: Re: Big changes from wip-desktop. References: <7bef0b9f-b8a6-bd56-52e7-e283d8342470@raghavgururajan.name> <2b0dc6df-d533-8793-697c-82d664e93ddb@raghavgururajan.name> In-Reply-To: <2b0dc6df-d533-8793-697c-82d664e93ddb@raghavgururajan.name> --dDxfzwX6rz34VPYhf3Q9bmqQqxdK3vbmV Content-Type: multipart/mixed; boundary="------------13C838295F3F8C51CF879FBC" Content-Language: en-US This is a multi-part message in MIME format. --------------13C838295F3F8C51CF879FBC Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable @(rekado|lle-bout|danny) > Could any of you please review and merge the attached patches to=20 > core-updates? >=20 > These patches has been successfully built on bayfront, from which you=20 > can obtain substitutes, if needed. >=20 > I will send some more patches for this #42958 by tomorrow. >=20 > It would be great if we could together finish-off this #42958 ASAP, so = > that I can bring remaining patches from wip-deskop. >=20 > P.S > Please pardon two cosmetic changes patches, which were done very long=20 > ago and had to use it to cleanly apply succeeding patches. Also, I must= =20 > have used #t with lambda out of habit. Since there was master <--> core-updates merge, here I have attached=20 rebased patches. Thanks to L=C3=A9o Le Bouter. Regards, RG. --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0001-gnu-glib-Make-some-cosmetic-changes.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0001-gnu-glib-Make-some-cosmetic-changes.patch" =46rom 8d8b0bd7f2178d8c0abe1eb27317acbca6dee262 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 11 Mar 2021 06:39:29 -0500 Subject: [PATCH 01/56] gnu: glib: Make some cosmetic changes. * gnu/packages/patches/glib-CVE-2021-27218.patch gnu/packages/patches/glib-CVE-2021-27219-01.patch gnu/packages/patches/glib-CVE-2021-27219-02.patch gnu/packages/patches/glib-CVE-2021-27219-03.patch gnu/packages/patches/glib-CVE-2021-27219-04.patch gnu/packages/patches/glib-CVE-2021-27219-05.patch gnu/packages/patches/glib-CVE-2021-27219-06.patch gnu/packages/patches/glib-CVE-2021-27219-07.patch gnu/packages/patches/glib-CVE-2021-27219-08.patch gnu/packages/patches/glib-CVE-2021-27219-09.patch gnu/packages/patches/glib-CVE-2021-27219-10.patch gnu/packages/patches/glib-CVE-2021-27219-11.patch gnu/packages/patches/glib-CVE-2021-27219-12.patch gnu/packages/patches/glib-CVE-2021-27219-13.patch gnu/packages/patches/glib-CVE-2021-27219-14.patch gnu/packages/patches/glib-CVE-2021-27219-15.patch gnu/packages/patches/glib-CVE-2021-27219-16.patch gnu/packages/patches/glib-CVE-2021-27219-17.patch gnu/packages/patches/glib-CVE-2021-27219-18.patch gnu/packages/patches/glib-CVE-2021-28153.patch: Remove patches. * gnu/local.mk (dist_patch_DATA): Unregister them. * gnu/packages/glib.scm (glib): Make some cosmetic changes. [replacement]: Remove. (glib/fixed): Remove. --- gnu/local.mk | 20 - gnu/packages/glib.scm | 454 ++++++++---------- .../patches/glib-CVE-2021-27218.patch | 132 ----- .../patches/glib-CVE-2021-27219-01.patch | 176 ------- .../patches/glib-CVE-2021-27219-02.patch | 264 ---------- .../patches/glib-CVE-2021-27219-03.patch | 136 ------ .../patches/glib-CVE-2021-27219-04.patch | 308 ------------ .../patches/glib-CVE-2021-27219-05.patch | 47 -- .../patches/glib-CVE-2021-27219-06.patch | 94 ---- .../patches/glib-CVE-2021-27219-07.patch | 118 ----- .../patches/glib-CVE-2021-27219-08.patch | 94 ---- .../patches/glib-CVE-2021-27219-09.patch | 98 ---- .../patches/glib-CVE-2021-27219-10.patch | 52 -- .../patches/glib-CVE-2021-27219-11.patch | 57 --- .../patches/glib-CVE-2021-27219-12.patch | 30 -- .../patches/glib-CVE-2021-27219-13.patch | 32 -- .../patches/glib-CVE-2021-27219-14.patch | 32 -- .../patches/glib-CVE-2021-27219-15.patch | 95 ---- .../patches/glib-CVE-2021-27219-16.patch | 43 -- .../patches/glib-CVE-2021-27219-17.patch | 37 -- .../patches/glib-CVE-2021-27219-18.patch | 232 --------- .../patches/glib-CVE-2021-28153.patch | 283 ----------- 22 files changed, 202 insertions(+), 2632 deletions(-) delete mode 100644 gnu/packages/patches/glib-CVE-2021-27218.patch delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-01.patch delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-02.patch delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-03.patch delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-04.patch delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-05.patch delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-06.patch delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-07.patch delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-08.patch delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-09.patch delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-10.patch delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-11.patch delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-12.patch delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-13.patch delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-14.patch delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-15.patch delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-16.patch delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-17.patch delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-18.patch delete mode 100644 gnu/packages/patches/glib-CVE-2021-28153.patch diff --git a/gnu/local.mk b/gnu/local.mk index ce0a79fb4d..d924b20bcf 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1082,26 +1082,6 @@ dist_patch_DATA =3D \ %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-CVE-2021-27218.patch \ - %D%/packages/patches/glib-CVE-2021-27219-01.patch \ - %D%/packages/patches/glib-CVE-2021-27219-02.patch \ - %D%/packages/patches/glib-CVE-2021-27219-03.patch \ - %D%/packages/patches/glib-CVE-2021-27219-04.patch \ - %D%/packages/patches/glib-CVE-2021-27219-05.patch \ - %D%/packages/patches/glib-CVE-2021-27219-06.patch \ - %D%/packages/patches/glib-CVE-2021-27219-07.patch \ - %D%/packages/patches/glib-CVE-2021-27219-08.patch \ - %D%/packages/patches/glib-CVE-2021-27219-09.patch \ - %D%/packages/patches/glib-CVE-2021-27219-10.patch \ - %D%/packages/patches/glib-CVE-2021-27219-11.patch \ - %D%/packages/patches/glib-CVE-2021-27219-12.patch \ - %D%/packages/patches/glib-CVE-2021-27219-13.patch \ - %D%/packages/patches/glib-CVE-2021-27219-14.patch \ - %D%/packages/patches/glib-CVE-2021-27219-15.patch \ - %D%/packages/patches/glib-CVE-2021-27219-16.patch \ - %D%/packages/patches/glib-CVE-2021-27219-17.patch \ - %D%/packages/patches/glib-CVE-2021-27219-18.patch \ - %D%/packages/patches/glib-CVE-2021-28153.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 0ddaf4d0b9..a446ce1ace 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -170,258 +170,208 @@ shared NFS home directories.") =20 (define glib (package - (name "glib") - (version "2.62.6") - (replacement glib/fixed) - (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 120") - (("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+))) - -(define glib/fixed - (package - (inherit glib) - (source (origin - (inherit (package-source glib)) - (patches - (append (search-patches "glib-CVE-2021-27218.patch" - "glib-CVE-2021-27219-01.patch" - "glib-CVE-2021-27219-02.patch" - "glib-CVE-2021-27219-03.patch" - "glib-CVE-2021-27219-04.patch" - "glib-CVE-2021-27219-05.patch" - "glib-CVE-2021-27219-06.patch" - "glib-CVE-2021-27219-07.patch" - "glib-CVE-2021-27219-08.patch" - "glib-CVE-2021-27219-09.patch" - "glib-CVE-2021-27219-10.patch" - "glib-CVE-2021-27219-11.patch" - "glib-CVE-2021-27219-12.patch" - "glib-CVE-2021-27219-13.patch" - "glib-CVE-2021-27219-14.patch" - "glib-CVE-2021-27219-15.patch" - "glib-CVE-2021-27219-16.patch" - "glib-CVE-2021-27219-17.patch" - "glib-CVE-2021-27219-18.patch" - "glib-CVE-2021-28153.patch") - (origin-patches (package-source glib)))))))) + (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)))) + (properties '((hidden? . #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, diff --git a/gnu/packages/patches/glib-CVE-2021-27218.patch b/gnu/package= s/patches/glib-CVE-2021-27218.patch deleted file mode 100644 index 00fa5ebf79..0000000000 --- a/gnu/packages/patches/glib-CVE-2021-27218.patch +++ /dev/null @@ -1,132 +0,0 @@ -Backport of: - -From 0f384c88a241bbbd884487b1c40b7b75f1e638d3 Mon Sep 17 00:00:00 2001 -From: Krzesimir Nowak -Date: Wed, 10 Feb 2021 23:51:07 +0100 -Subject: [PATCH] gbytearray: Do not accept too large byte arrays - -GByteArray uses guint for storing the length of the byte array, but it -also has a constructor (g_byte_array_new_take) that takes length as a -gsize. gsize may be larger than guint (64 bits for gsize vs 32 bits -for guint). It is possible to call the function with a value greater -than G_MAXUINT, which will result in silent length truncation. This -may happen as a result of unreffing GBytes into GByteArray, so rather -be loud about it. - -(Test case tweaked by Philip Withnall.) - -(Backport 2.66: Add #include gstrfuncsprivate.h in the test case for -`g_memdup2()`.) ---- - glib/garray.c | 6 ++++++ - glib/gbytes.c | 4 ++++ - glib/tests/bytes.c | 35 ++++++++++++++++++++++++++++++++++- - 3 files changed, 44 insertions(+), 1 deletion(-) - -diff --git a/glib/garray.c b/glib/garray.c -index 942e74c9f..fb1a42aaf 100644 ---- a/glib/garray.c -+++ b/glib/garray.c -@@ -2013,6 +2013,10 @@ g_byte_array_new (void) - * Create byte array containing the data. The data will be owned by the= array - * and will be freed with g_free(), i.e. it could be allocated using g_= strdup(). - * -+ * Do not use it if @len is greater than %G_MAXUINT. #GByteArray -+ * stores the length of its data in #guint, which may be shorter than -+ * #gsize. -+ * - * Since: 2.32 - * - * Returns: (transfer full): a new #GByteArray -@@ -2024,6 +2028,8 @@ g_byte_array_new_take (guint8 *data, - GByteArray *array; - GRealArray *real; -=20 -+ g_return_val_if_fail (len <=3D G_MAXUINT, NULL); -+ - array =3D g_byte_array_new (); - real =3D (GRealArray *)array; - g_assert (real->data =3D=3D NULL); -diff --git a/glib/gbytes.c b/glib/gbytes.c -index 7b72886e5..d56abe6c3 100644 ---- a/glib/gbytes.c -+++ b/glib/gbytes.c -@@ -519,6 +519,10 @@ g_bytes_unref_to_data (GBytes *bytes, - * g_bytes_new(), g_bytes_new_take() or g_byte_array_free_to_bytes(). I= n all - * other cases the data is copied. - * -+ * Do not use it if @bytes contains more than %G_MAXUINT -+ * bytes. #GByteArray stores the length of its data in #guint, which -+ * may be shorter than #gsize, that @bytes is using. -+ * - * Returns: (transfer full): a new mutable #GByteArray containing the s= ame byte data - * - * Since: 2.32 -diff --git a/glib/tests/bytes.c b/glib/tests/bytes.c -index 5ea5c2b35..15a6aaad6 100644 ---- a/glib/tests/bytes.c -+++ b/glib/tests/bytes.c -@@ -10,12 +10,12 @@ - */ -=20 - #undef G_DISABLE_ASSERT --#undef G_LOG_DOMAIN -=20 - #include - #include - #include - #include "glib.h" -+#include "glib/gstrfuncsprivate.h" -=20 - /* Keep in sync with glib/gbytes.c */ - struct _GBytes -@@ -333,6 +333,38 @@ test_to_array_transferred (void) - g_byte_array_unref (array); - } -=20 -+static void -+test_to_array_transferred_oversize (void) -+{ -+ g_test_message ("g_bytes_unref_to_array() can only take GBytes up to = " -+ "G_MAXUINT in length; test that longer ones are rejec= ted"); -+ -+ if (sizeof (guint) >=3D sizeof (gsize)) -+ { -+ g_test_skip ("Skipping test as guint is not smaller than gsize");= -+ } -+ else if (g_test_undefined ()) -+ { -+ GByteArray *array =3D NULL; -+ GBytes *bytes =3D NULL; -+ gpointer data =3D g_memdup2 (NYAN, N_NYAN); -+ gsize len =3D ((gsize) G_MAXUINT) + 1; -+ -+ bytes =3D g_bytes_new_take (data, len); -+ g_test_expect_message (G_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL, -+ "g_byte_array_new_take: assertion 'len <=3D= G_MAXUINT' failed"); -+ array =3D g_bytes_unref_to_array (g_steal_pointer (&bytes)); -+ g_test_assert_expected_messages (); -+ g_assert_null (array); -+ -+ g_free (data); -+ } -+ else -+ { -+ g_test_skip ("Skipping test as testing undefined behaviour is dis= abled"); -+ } -+} -+ - static void - test_to_array_two_refs (void) - { -@@ -410,6 +442,7 @@ main (int argc, char *argv[]) - g_test_add_func ("/bytes/to-array/transfered", test_to_array_transfer= red); - g_test_add_func ("/bytes/to-array/two-refs", test_to_array_two_refs);= - g_test_add_func ("/bytes/to-array/non-malloc", test_to_array_non_mall= oc); -+ g_test_add_func ("/bytes/to-array/transferred/oversize", test_to_arra= y_transferred_oversize); - g_test_add_func ("/bytes/null", test_null); -=20 - return g_test_run (); ---=20 -2.30.1 - diff --git a/gnu/packages/patches/glib-CVE-2021-27219-01.patch b/gnu/pack= ages/patches/glib-CVE-2021-27219-01.patch deleted file mode 100644 index 5db360d468..0000000000 --- a/gnu/packages/patches/glib-CVE-2021-27219-01.patch +++ /dev/null @@ -1,176 +0,0 @@ -Backport of: - -From 5e5f75a77e399c638be66d74e5daa8caeb433e00 Mon Sep 17 00:00:00 2001 -From: Philip Withnall -Date: Thu, 4 Feb 2021 13:30:52 +0000 -Subject: [PATCH 01/11] gstrfuncs: Add internal g_memdup2() function -MIME-Version: 1.0 -Content-Type: text/plain; charset=3DUTF-8 -Content-Transfer-Encoding: 8bit - -This will replace the existing `g_memdup()` function for use within -GLib. It has an unavoidable security flaw of taking its `byte_size` -argument as a `guint` rather than as a `gsize`. Most callers will -expect it to be a `gsize`, and may pass in large values which could -silently be truncated, resulting in an undersize allocation compared -to what the caller expects. - -This could lead to a classic buffer overflow vulnerability for many -callers of `g_memdup()`. - -`g_memdup2()`, in comparison, takes its `byte_size` as a `gsize`. - -Spotted by Kevin Backhouse of GHSL. - -In GLib 2.68, `g_memdup2()` will be a new public API. In this version -for backport to older stable releases, it=E2=80=99s a new `static inline= ` API -in a private header, so that use of `g_memdup()` within GLib can be -fixed without adding a new API in a stable release series. - -Signed-off-by: Philip Withnall -Helps: GHSL-2021-045 -Helps: #2319 ---- - docs/reference/glib/meson.build | 1 + - glib/gstrfuncsprivate.h | 55 +++++++++++++++++++++++++++++++++ - glib/meson.build | 1 + - glib/tests/strfuncs.c | 23 ++++++++++++++ - 4 files changed, 80 insertions(+) - create mode 100644 glib/gstrfuncsprivate.h - -diff --git a/docs/reference/glib/meson.build b/docs/reference/glib/meson= =2Ebuild -index bba7649f0..ee39f6d04 100644 ---- a/docs/reference/glib/meson.build -+++ b/docs/reference/glib/meson.build -@@ -22,6 +22,7 @@ if get_option('gtk_doc') - 'gprintfint.h', - 'gmirroringtable.h', - 'gscripttable.h', -+ 'gstrfuncsprivate.h', - 'glib-mirroring-tab', - 'gnulib', - 'pcre', -diff --git a/glib/gstrfuncsprivate.h b/glib/gstrfuncsprivate.h -new file mode 100644 -index 000000000..85c88328a ---- /dev/null -+++ b/glib/gstrfuncsprivate.h -@@ -0,0 +1,55 @@ -+/* GLIB - Library of useful routines for C programming -+ * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacD= onald -+ * -+ * This library is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Lesser General Public -+ * License as published by the Free Software Foundation; either -+ * version 2.1 of the License, or (at your option) any later version. -+ * -+ * This library is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public -+ * License along with this library; if not, see . -+ */ -+ -+#include -+#include -+ -+/* -+ * g_memdup2: -+ * @mem: (nullable): the memory to copy. -+ * @byte_size: the number of bytes to copy. -+ * -+ * Allocates @byte_size bytes of memory, and copies @byte_size bytes in= to it -+ * from @mem. If @mem is %NULL it returns %NULL. -+ * -+ * This replaces g_memdup(), which was prone to integer overflows when -+ * converting the argument from a #gsize to a #guint. -+ * -+ * This static inline version is a backport of the new public API from -+ * GLib 2.68, kept internal to GLib for backport to older stable releas= es. -+ * See https://gitlab.gnome.org/GNOME/glib/-/issues/2319. -+ * -+ * Returns: (nullable): a pointer to the newly-allocated copy of the me= mory, -+ * or %NULL if @mem is %NULL. -+ * Since: 2.68 -+ */ -+static inline gpointer -+g_memdup2 (gconstpointer mem, -+ gsize byte_size) -+{ -+ gpointer new_mem; -+ -+ if (mem && byte_size !=3D 0) -+ { -+ new_mem =3D g_malloc (byte_size); -+ memcpy (new_mem, mem, byte_size); -+ } -+ else -+ new_mem =3D NULL; -+ -+ return new_mem; -+} -diff --git a/glib/meson.build b/glib/meson.build -index aaf5f00f5..5a6eea397 100644 ---- a/glib/meson.build -+++ b/glib/meson.build -@@ -268,6 +268,7 @@ glib_sources =3D files( - 'gslist.c', - 'gstdio.c', - 'gstrfuncs.c', -+ 'gstrfuncsprivate.h', - 'gstring.c', - 'gstringchunk.c', - 'gtestutils.c', -diff --git a/glib/tests/strfuncs.c b/glib/tests/strfuncs.c -index e1f9619c7..d968afff9 100644 ---- a/glib/tests/strfuncs.c -+++ b/glib/tests/strfuncs.c -@@ -32,6 +32,8 @@ - #include - #include "glib.h" -=20 -+#include "gstrfuncsprivate.h" -+ - #if defined (_MSC_VER) && (_MSC_VER <=3D 1800) - #define isnan(x) _isnan(x) -=20 -@@ -219,6 +221,26 @@ test_memdup (void) - g_free (str_dup); - } -=20 -+/* Testing g_memdup2() function with various positive and negative case= s */ -+static void -+test_memdup2 (void) -+{ -+ gchar *str_dup =3D NULL; -+ const gchar *str =3D "The quick brown fox jumps over the lazy dog"; -+ -+ /* Testing negative cases */ -+ g_assert_null (g_memdup2 (NULL, 1024)); -+ g_assert_null (g_memdup2 (str, 0)); -+ g_assert_null (g_memdup2 (NULL, 0)); -+ -+ /* Testing normal usage cases */ -+ str_dup =3D g_memdup2 (str, strlen (str) + 1); -+ g_assert_nonnull (str_dup); -+ g_assert_cmpstr (str, =3D=3D, str_dup); -+ -+ g_free (str_dup); -+} -+ - /* Testing g_strpcpy() function with various positive and negative case= s */ - static void - test_stpcpy (void) -@@ -2523,6 +2545,7 @@ main (int argc, - g_test_add_func ("/strfuncs/has-prefix", test_has_prefix); - g_test_add_func ("/strfuncs/has-suffix", test_has_suffix); - g_test_add_func ("/strfuncs/memdup", test_memdup); -+ g_test_add_func ("/strfuncs/memdup2", test_memdup2); - g_test_add_func ("/strfuncs/stpcpy", test_stpcpy); - g_test_add_func ("/strfuncs/str_match_string", test_str_match_string)= ; - g_test_add_func ("/strfuncs/str_tokenize_and_fold", test_str_tokenize= _and_fold); ---=20 -2.30.1 - diff --git a/gnu/packages/patches/glib-CVE-2021-27219-02.patch b/gnu/pack= ages/patches/glib-CVE-2021-27219-02.patch deleted file mode 100644 index 431959fa8f..0000000000 --- a/gnu/packages/patches/glib-CVE-2021-27219-02.patch +++ /dev/null @@ -1,264 +0,0 @@ -Backport of: - -From be8834340a2d928ece82025463ae23dee2c333d0 Mon Sep 17 00:00:00 2001 -From: Philip Withnall -Date: Thu, 4 Feb 2021 13:37:56 +0000 -Subject: [PATCH 02/11] gio: Use g_memdup2() instead of g_memdup() in obv= ious - places -MIME-Version: 1.0 -Content-Type: text/plain; charset=3DUTF-8 -Content-Transfer-Encoding: 8bit - -Convert all the call sites which use `g_memdup()`=E2=80=99s length argum= ent -trivially (for example, by passing a `sizeof()`), so that they use -`g_memdup2()` instead. - -In almost all of these cases the use of `g_memdup()` would not have -caused problems, but it will soon be deprecated, so best port away from -it. - -Signed-off-by: Philip Withnall -Helps: #2319 ---- - gio/gdbusconnection.c | 5 +++-- - gio/gdbusinterfaceskeleton.c | 3 ++- - gio/gfile.c | 7 ++++--- - gio/gsettingsschema.c | 5 +++-- - gio/gwin32registrykey.c | 8 +++++--- - gio/tests/async-close-output-stream.c | 6 ++++-- - gio/tests/gdbus-export.c | 5 +++-- - gio/win32/gwinhttpfile.c | 9 +++++---- - 8 files changed, 29 insertions(+), 19 deletions(-) - -diff --git a/gio/gdbusconnection.c b/gio/gdbusconnection.c -index f1f0921d4..d56453486 100644 ---- a/gio/gdbusconnection.c -+++ b/gio/gdbusconnection.c -@@ -110,6 +110,7 @@ - #include "gasyncinitable.h" - #include "giostream.h" - #include "gasyncresult.h" -+#include "gstrfuncsprivate.h" - #include "gtask.h" - #include "gmarshal-internal.h" -=20 -@@ -3997,7 +3998,7 @@ _g_dbus_interface_vtable_copy (const GDBusInterfac= eVTable *vtable) - /* Don't waste memory by copying padding - remember to update this - * when changing struct _GDBusInterfaceVTable in gdbusconnection.h - */ -- return g_memdup ((gconstpointer) vtable, 3 * sizeof (gpointer)); -+ return g_memdup2 ((gconstpointer) vtable, 3 * sizeof (gpointer)); - } -=20 - static void -@@ -4014,7 +4015,7 @@ _g_dbus_subtree_vtable_copy (const GDBusSubtreeVTa= ble *vtable) - /* Don't waste memory by copying padding - remember to update this - * when changing struct _GDBusSubtreeVTable in gdbusconnection.h - */ -- return g_memdup ((gconstpointer) vtable, 3 * sizeof (gpointer)); -+ return g_memdup2 ((gconstpointer) vtable, 3 * sizeof (gpointer)); - } -=20 - static void -diff --git a/gio/gdbusinterfaceskeleton.c b/gio/gdbusinterfaceskeleton.c= -index 4a06516c1..4a4b719a5 100644 ---- a/gio/gdbusinterfaceskeleton.c -+++ b/gio/gdbusinterfaceskeleton.c -@@ -28,6 +28,7 @@ - #include "gdbusmethodinvocation.h" - #include "gdbusconnection.h" - #include "gmarshal-internal.h" -+#include "gstrfuncsprivate.h" - #include "gtask.h" - #include "gioerror.h" -=20 -@@ -701,7 +702,7 @@ add_connection_locked (GDBusInterfaceSkeleton *inter= face_, - * properly before building the hooked_vtable, so we create it - * once at the last minute. - */ -- interface_->priv->hooked_vtable =3D g_memdup (g_dbus_interface_sk= eleton_get_vtable (interface_), sizeof (GDBusInterfaceVTable)); -+ interface_->priv->hooked_vtable =3D g_memdup2 (g_dbus_interface_s= keleton_get_vtable (interface_), sizeof (GDBusInterfaceVTable)); - interface_->priv->hooked_vtable->method_call =3D skeleton_interce= pt_handle_method_call; - } -=20 -diff --git a/gio/gfile.c b/gio/gfile.c -index ba93f7c75..88b341e7d 100644 ---- a/gio/gfile.c -+++ b/gio/gfile.c -@@ -60,6 +60,7 @@ - #include "gasyncresult.h" - #include "gioerror.h" - #include "glibintl.h" -+#include "gstrfuncsprivate.h" -=20 -=20 - /** -@@ -7884,7 +7885,7 @@ measure_disk_usage_progress (gboolean reporting, - g_main_context_invoke_full (g_task_get_context (task), - g_task_get_priority (task), - measure_disk_usage_invoke_progress, -- g_memdup (&progress, sizeof progress), -+ g_memdup2 (&progress, sizeof progress), - g_free); - } -=20 -@@ -7902,7 +7903,7 @@ measure_disk_usage_thread (GTask *task, - data->progress_callback ? measure_disk= _usage_progress : NULL, task, - &result.disk_usage, &result.num_dirs, = &result.num_files, - &error)) -- g_task_return_pointer (task, g_memdup (&result, sizeof result), g_f= ree); -+ g_task_return_pointer (task, g_memdup2 (&result, sizeof result), g_= free); - else - g_task_return_error (task, error); - } -@@ -7926,7 +7927,7 @@ g_file_real_measure_disk_usage_async (GFile = *file, -=20 - task =3D g_task_new (file, cancellable, callback, user_data); - g_task_set_source_tag (task, g_file_real_measure_disk_usage_async); -- g_task_set_task_data (task, g_memdup (&data, sizeof data), g_free); -+ g_task_set_task_data (task, g_memdup2 (&data, sizeof data), g_free); - g_task_set_priority (task, io_priority); -=20 - g_task_run_in_thread (task, measure_disk_usage_thread); -diff --git a/gio/gsettingsschema.c b/gio/gsettingsschema.c -index 3a60b8c64..dded9b1ca 100644 ---- a/gio/gsettingsschema.c -+++ b/gio/gsettingsschema.c -@@ -20,6 +20,7 @@ -=20 - #include "gsettingsschema-internal.h" - #include "gsettings.h" -+#include "gstrfuncsprivate.h" -=20 - #include "gvdb/gvdb-reader.h" - #include "strinfo.c" -@@ -1058,9 +1059,9 @@ g_settings_schema_list_children (GSettingsSchema *= schema) -=20 - if (g_str_has_suffix (key, "/")) - { -- gint length =3D strlen (key); -+ gsize length =3D strlen (key); -=20 -- strv[j] =3D g_memdup (key, length); -+ strv[j] =3D g_memdup2 (key, length); - strv[j][length - 1] =3D '\0'; - j++; - } -diff --git a/gio/gwin32registrykey.c b/gio/gwin32registrykey.c -index c19fede4e..619fd48af 100644 ---- a/gio/gwin32registrykey.c -+++ b/gio/gwin32registrykey.c -@@ -28,6 +28,8 @@ - #include - #include -=20 -+#include "gstrfuncsprivate.h" -+ - #ifndef _WDMDDK_ - typedef enum _KEY_INFORMATION_CLASS { - KeyBasicInformation, -@@ -247,7 +249,7 @@ g_win32_registry_value_iter_copy (const GWin32Regist= ryValueIter *iter) - new_iter->value_name_size =3D iter->value_name_size; -=20 - if (iter->value_data !=3D NULL) -- new_iter->value_data =3D g_memdup (iter->value_data, iter->value_da= ta_size); -+ new_iter->value_data =3D g_memdup2 (iter->value_data, iter->value_d= ata_size); -=20 - new_iter->value_data_size =3D iter->value_data_size; -=20 -@@ -268,8 +270,8 @@ g_win32_registry_value_iter_copy (const GWin32Regist= ryValueIter *iter) - new_iter->value_data_expanded_charsize =3D iter->value_data_expanded_= charsize; -=20 - if (iter->value_data_expanded_u8 !=3D NULL) -- new_iter->value_data_expanded_u8 =3D g_memdup (iter->value_data_exp= anded_u8, -- iter->value_data_expan= ded_charsize); -+ new_iter->value_data_expanded_u8 =3D g_memdup2 (iter->value_data_ex= panded_u8, -+ iter->value_data_expa= nded_charsize); -=20 - new_iter->value_data_expanded_u8_size =3D iter->value_data_expanded_c= harsize; -=20 -diff --git a/gio/tests/async-close-output-stream.c b/gio/tests/async-clo= se-output-stream.c -index 5f6620275..d3f97a119 100644 ---- a/gio/tests/async-close-output-stream.c -+++ b/gio/tests/async-close-output-stream.c -@@ -24,6 +24,8 @@ - #include - #include -=20 -+#include "gstrfuncsprivate.h" -+ - #define DATA_TO_WRITE "Hello world\n" -=20 - typedef struct -@@ -147,9 +149,9 @@ prepare_data (SetupData *data, -=20 - data->expected_size =3D g_memory_output_stream_get_data_size (G_MEMOR= Y_OUTPUT_STREAM (data->data_stream)); -=20 -- g_assert_cmpint (data->expected_size, >, 0); -+ g_assert_cmpuint (data->expected_size, >, 0); -=20 -- data->expected_output =3D g_memdup (written, (guint)data->expected_si= ze); -+ data->expected_output =3D g_memdup2 (written, data->expected_size); -=20 - /* then recreate the streams and prepare them for the asynchronous cl= ose */ - destroy_streams (data); -diff --git a/gio/tests/gdbus-export.c b/gio/tests/gdbus-export.c -index 506c7458a..5513306f8 100644 ---- a/gio/tests/gdbus-export.c -+++ b/gio/tests/gdbus-export.c -@@ -23,6 +23,7 @@ - #include -=20 - #include "gdbus-tests.h" -+#include "gstrfuncsprivate.h" -=20 - /* all tests rely on a shared mainloop */ - static GMainLoop *loop =3D NULL; -@@ -671,7 +672,7 @@ subtree_introspect (GDBusConnection *connectio= n, - g_assert_not_reached (); - } -=20 -- return g_memdup (interfaces, 2 * sizeof (void *)); -+ return g_memdup2 (interfaces, 2 * sizeof (void *)); - } -=20 - static const GDBusInterfaceVTable * -@@ -727,7 +728,7 @@ dynamic_subtree_introspect (GDBusConnection *c= onnection, - { - const GDBusInterfaceInfo *interfaces[2] =3D { &dyna_interface_info, N= ULL }; -=20 -- return g_memdup (interfaces, 2 * sizeof (void *)); -+ return g_memdup2 (interfaces, 2 * sizeof (void *)); - } -=20 - static const GDBusInterfaceVTable * -diff --git a/gio/win32/gwinhttpfile.c b/gio/win32/gwinhttpfile.c -index cf5eed31d..040ee8564 100644 ---- a/gio/win32/gwinhttpfile.c -+++ b/gio/win32/gwinhttpfile.c -@@ -29,6 +29,7 @@ - #include "gio/gfile.h" - #include "gio/gfileattribute.h" - #include "gio/gfileinfo.h" -+#include "gstrfuncsprivate.h" - #include "gwinhttpfile.h" - #include "gwinhttpfileinputstream.h" - #include "gwinhttpfileoutputstream.h" -@@ -393,10 +394,10 @@ g_winhttp_file_resolve_relative_path (GFile *= file, - child =3D g_object_new (G_TYPE_WINHTTP_FILE, NULL); - child->vfs =3D winhttp_file->vfs; - child->url =3D winhttp_file->url; -- child->url.lpszScheme =3D g_memdup (winhttp_file->url.lpszScheme, (wi= nhttp_file->url.dwSchemeLength+1)*2); -- child->url.lpszHostName =3D g_memdup (winhttp_file->url.lpszHostName,= (winhttp_file->url.dwHostNameLength+1)*2); -- child->url.lpszUserName =3D g_memdup (winhttp_file->url.lpszUserName,= (winhttp_file->url.dwUserNameLength+1)*2); -- child->url.lpszPassword =3D g_memdup (winhttp_file->url.lpszPassword,= (winhttp_file->url.dwPasswordLength+1)*2); -+ child->url.lpszScheme =3D g_memdup2 (winhttp_file->url.lpszScheme, (w= inhttp_file->url.dwSchemeLength+1)*2); -+ child->url.lpszHostName =3D g_memdup2 (winhttp_file->url.lpszHostName= , (winhttp_file->url.dwHostNameLength+1)*2); -+ child->url.lpszUserName =3D g_memdup2 (winhttp_file->url.lpszUserName= , (winhttp_file->url.dwUserNameLength+1)*2); -+ child->url.lpszPassword =3D g_memdup2 (winhttp_file->url.lpszPassword= , (winhttp_file->url.dwPasswordLength+1)*2); - child->url.lpszUrlPath =3D wnew_path; - child->url.dwUrlPathLength =3D wcslen (wnew_path); - child->url.lpszExtraInfo =3D NULL; ---=20 -2.30.1 - diff --git a/gnu/packages/patches/glib-CVE-2021-27219-03.patch b/gnu/pack= ages/patches/glib-CVE-2021-27219-03.patch deleted file mode 100644 index 99e849c43c..0000000000 --- a/gnu/packages/patches/glib-CVE-2021-27219-03.patch +++ /dev/null @@ -1,136 +0,0 @@ -From 6110caea45b235420b98cd41d845cc92238f6781 Mon Sep 17 00:00:00 2001 -From: Philip Withnall -Date: Thu, 4 Feb 2021 13:39:25 +0000 -Subject: [PATCH 03/11] gobject: Use g_memdup2() instead of g_memdup() in= - obvious places -MIME-Version: 1.0 -Content-Type: text/plain; charset=3DUTF-8 -Content-Transfer-Encoding: 8bit - -Convert all the call sites which use `g_memdup()`=E2=80=99s length argum= ent -trivially (for example, by passing a `sizeof()`), so that they use -`g_memdup2()` instead. - -In almost all of these cases the use of `g_memdup()` would not have -caused problems, but it will soon be deprecated, so best port away from -it. - -Signed-off-by: Philip Withnall -Helps: #2319 ---- - gobject/gsignal.c | 3 ++- - gobject/gtype.c | 9 +++++---- - gobject/gtypemodule.c | 3 ++- - gobject/tests/param.c | 4 +++- - 4 files changed, 12 insertions(+), 7 deletions(-) - -diff --git a/gobject/gsignal.c b/gobject/gsignal.c -index 77d8f211e..41c54ab57 100644 ---- a/gobject/gsignal.c -+++ b/gobject/gsignal.c -@@ -28,6 +28,7 @@ - #include -=20 - #include "gsignal.h" -+#include "gstrfuncsprivate.h" - #include "gtype-private.h" - #include "gbsearcharray.h" - #include "gvaluecollector.h" -@@ -1730,7 +1731,7 @@ g_signal_newv (const gchar *signal_name, - node->single_va_closure_is_valid =3D FALSE; - node->flags =3D signal_flags & G_SIGNAL_FLAGS_MASK; - node->n_params =3D n_params; -- node->param_types =3D g_memdup (param_types, sizeof (GType) * n_param= s); -+ node->param_types =3D g_memdup2 (param_types, sizeof (GType) * n_para= ms); - node->return_type =3D return_type; - node->class_closure_bsa =3D NULL; - if (accumulator) -diff --git a/gobject/gtype.c b/gobject/gtype.c -index 7d3789400..8441b90e9 100644 ---- a/gobject/gtype.c -+++ b/gobject/gtype.c -@@ -33,6 +33,7 @@ -=20 - #include "glib-private.h" - #include "gconstructor.h" -+#include "gstrfuncsprivate.h" -=20 - #ifdef G_OS_WIN32 - #include -@@ -1470,7 +1471,7 @@ type_add_interface_Wm (TypeNode *node,= - iholder->next =3D iface_node_get_holders_L (iface); - iface_node_set_holders_W (iface, iholder); - iholder->instance_type =3D NODE_TYPE (node); -- iholder->info =3D info ? g_memdup (info, sizeof (*info)) : NULL; -+ iholder->info =3D info ? g_memdup2 (info, sizeof (*info)) : NULL; - iholder->plugin =3D plugin; -=20 - /* create an iface entry for this type */ -@@ -1731,7 +1732,7 @@ type_iface_retrieve_holder_info_Wm (TypeNode *ifac= e, - INVALID_RECURSION ("g_type_plugin_*", iholder->plugin, NODE_NAM= E (iface)); - =20 - check_interface_info_I (iface, instance_type, &tmp_info); -- iholder->info =3D g_memdup (&tmp_info, sizeof (tmp_info)); -+ iholder->info =3D g_memdup2 (&tmp_info, sizeof (tmp_info)); - } - =20 - return iholder; /* we don't modify write lock upon returning NULL */ -@@ -2016,10 +2017,10 @@ type_iface_vtable_base_init_Wm (TypeNode *iface,= - IFaceEntry *pentry =3D type_lookup_iface_entry_L (pnode, iface); - =20 - if (pentry) -- vtable =3D g_memdup (pentry->vtable, iface->data->iface.vtable_size); -+ vtable =3D g_memdup2 (pentry->vtable, iface->data->iface.vtable_size);= - } - if (!vtable) -- vtable =3D g_memdup (iface->data->iface.dflt_vtable, iface->data->i= face.vtable_size); -+ vtable =3D g_memdup2 (iface->data->iface.dflt_vtable, iface->data->= iface.vtable_size); - entry->vtable =3D vtable; - vtable->g_type =3D NODE_TYPE (iface); - vtable->g_instance_type =3D NODE_TYPE (node); -diff --git a/gobject/gtypemodule.c b/gobject/gtypemodule.c -index 4ecaf8c88..20911fafd 100644 ---- a/gobject/gtypemodule.c -+++ b/gobject/gtypemodule.c -@@ -19,6 +19,7 @@ -=20 - #include -=20 -+#include "gstrfuncsprivate.h" - #include "gtypeplugin.h" - #include "gtypemodule.h" -=20 -@@ -436,7 +437,7 @@ g_type_module_register_type (GTypeModule *module= , - module_type_info->loaded =3D TRUE; - module_type_info->info =3D *type_info; - if (type_info->value_table) -- module_type_info->info.value_table =3D g_memdup (type_info->value_t= able, -+ module_type_info->info.value_table =3D g_memdup2 (type_info->value_= table, - sizeof (GTypeValueTable)); -=20 - return module_type_info->type; -diff --git a/gobject/tests/param.c b/gobject/tests/param.c -index 758289bf8..971cff162 100644 ---- a/gobject/tests/param.c -+++ b/gobject/tests/param.c -@@ -2,6 +2,8 @@ - #include - #include -=20 -+#include "gstrfuncsprivate.h" -+ - static void - test_param_value (void) - { -@@ -851,7 +853,7 @@ main (int argc, char *argv[]) - test_path =3D g_strdup_printf ("/param/implement/subprocess= /%d-%d-%d-%d", - data.change_this_flag, data.ch= ange_this_type, - data.use_this_flag, data.use_t= his_type); -- test_data =3D g_memdup (&data, sizeof (TestParamImplementDa= ta)); -+ test_data =3D g_memdup2 (&data, sizeof (TestParamImplementD= ata)); - g_test_add_data_func_full (test_path, test_data, test_param= _implement_child, g_free); - g_free (test_path); - } ---=20 -2.30.1 - diff --git a/gnu/packages/patches/glib-CVE-2021-27219-04.patch b/gnu/pack= ages/patches/glib-CVE-2021-27219-04.patch deleted file mode 100644 index 3ae01f34b1..0000000000 --- a/gnu/packages/patches/glib-CVE-2021-27219-04.patch +++ /dev/null @@ -1,308 +0,0 @@ -Backport of: - -From 0736b7c1e7cf4232c5d7eb2b0fbfe9be81bd3baa Mon Sep 17 00:00:00 2001 -From: Philip Withnall -Date: Thu, 4 Feb 2021 13:41:21 +0000 -Subject: [PATCH 04/11] glib: Use g_memdup2() instead of g_memdup() in ob= vious - places -MIME-Version: 1.0 -Content-Type: text/plain; charset=3DUTF-8 -Content-Transfer-Encoding: 8bit - -Convert all the call sites which use `g_memdup()`=E2=80=99s length argum= ent -trivially (for example, by passing a `sizeof()` or an existing `gsize` -variable), so that they use `g_memdup2()` instead. - -In almost all of these cases the use of `g_memdup()` would not have -caused problems, but it will soon be deprecated, so best port away from -it - -In particular, this fixes an overflow within `g_bytes_new()`, identified= -as GHSL-2021-045 by GHSL team member Kevin Backhouse. - -Signed-off-by: Philip Withnall -Fixes: GHSL-2021-045 -Helps: #2319 ---- - glib/gbytes.c | 6 ++++-- - glib/gdir.c | 3 ++- - glib/ghash.c | 7 ++++--- - glib/giochannel.c | 3 ++- - glib/gslice.c | 3 ++- - glib/gtestutils.c | 3 ++- - glib/gvariant.c | 7 ++++--- - glib/gvarianttype.c | 3 ++- - glib/tests/array-test.c | 4 +++- - glib/tests/option-context.c | 6 ++++-- - 10 files changed, 29 insertions(+), 16 deletions(-) - -diff --git a/glib/gbytes.c b/glib/gbytes.c -index d56abe6c3..dee494820 100644 ---- a/glib/gbytes.c -+++ b/glib/gbytes.c -@@ -34,6 +34,8 @@ -=20 - #include -=20 -+#include "gstrfuncsprivate.h" -+ - /** - * GBytes: - * -@@ -95,7 +97,7 @@ g_bytes_new (gconstpointer data, - { - g_return_val_if_fail (data !=3D NULL || size =3D=3D 0, NULL); -=20 -- return g_bytes_new_take (g_memdup (data, size), size); -+ return g_bytes_new_take (g_memdup2 (data, size), size); - } -=20 - /** -@@ -499,7 +501,7 @@ g_bytes_unref_to_data (GBytes *bytes, - * Copy: Non g_malloc (or compatible) allocator, or static memory= , - * so we have to copy, and then unref. - */ -- result =3D g_memdup (bytes->data, bytes->size); -+ result =3D g_memdup2 (bytes->data, bytes->size); - *size =3D bytes->size; - g_bytes_unref (bytes); - } -diff --git a/glib/gdir.c b/glib/gdir.c -index 6b85e99c8..6747a8c6f 100644 ---- a/glib/gdir.c -+++ b/glib/gdir.c -@@ -37,6 +37,7 @@ - #include "gconvert.h" - #include "gfileutils.h" - #include "gstrfuncs.h" -+#include "gstrfuncsprivate.h" - #include "gtestutils.h" - #include "glibintl.h" -=20 -@@ -112,7 +113,7 @@ g_dir_open_with_errno (const gchar *path, - return NULL; - #endif -=20 -- return g_memdup (&dir, sizeof dir); -+ return g_memdup2 (&dir, sizeof dir); - } -=20 - /** -diff --git a/glib/ghash.c b/glib/ghash.c -index e61b03788..26f26062b 100644 ---- a/glib/ghash.c -+++ b/glib/ghash.c -@@ -34,6 +34,7 @@ - #include "gmacros.h" - #include "glib-private.h" - #include "gstrfuncs.h" -+#include "gstrfuncsprivate.h" - #include "gatomic.h" - #include "gtestutils.h" - #include "gslice.h" -@@ -964,7 +965,7 @@ g_hash_table_ensure_keyval_fits (GHashTable *hash_ta= ble, gpointer key, gpointer - if (hash_table->have_big_keys) - { - if (key !=3D value) -- hash_table->values =3D g_memdup (hash_table->keys, sizeof (= gpointer) * hash_table->size); -+ hash_table->values =3D g_memdup2 (hash_table->keys, sizeof = (gpointer) * hash_table->size); - /* Keys and values are both big now, so no need for further c= hecks */ - return; - } -@@ -972,7 +973,7 @@ g_hash_table_ensure_keyval_fits (GHashTable *hash_ta= ble, gpointer key, gpointer - { - if (key !=3D value) - { -- hash_table->values =3D g_memdup (hash_table->keys, sizeof= (guint) * hash_table->size); -+ hash_table->values =3D g_memdup2 (hash_table->keys, sizeo= f (guint) * hash_table->size); - is_a_set =3D FALSE; - } - } -@@ -1000,7 +1001,7 @@ g_hash_table_ensure_keyval_fits (GHashTable *hash_= table, gpointer key, gpointer -=20 - /* Just split if necessary */ - if (is_a_set && key !=3D value) -- hash_table->values =3D g_memdup (hash_table->keys, sizeof (gpointer= ) * hash_table->size); -+ hash_table->values =3D g_memdup2 (hash_table->keys, sizeof (gpointe= r) * hash_table->size); -=20 - #endif - } -diff --git a/glib/giochannel.c b/glib/giochannel.c -index 1956e9dc6..15927c391 100644 ---- a/glib/giochannel.c -+++ b/glib/giochannel.c -@@ -37,6 +37,7 @@ - #include "giochannel.h" -=20 - #include "gstrfuncs.h" -+#include "gstrfuncsprivate.h" - #include "gtestutils.h" - #include "glibintl.h" -=20 -@@ -892,7 +893,7 @@ g_io_channel_set_line_term (GIOChannel *channel, - length =3D strlen (line_term); -=20 - g_free (channel->line_term); -- channel->line_term =3D line_term ? g_memdup (line_term, length) : NUL= L; -+ channel->line_term =3D line_term ? g_memdup2 (line_term, length) : NU= LL; - channel->line_term_len =3D length; - } -=20 -diff --git a/glib/gslice.c b/glib/gslice.c -index 4c758c3be..bcdbb8853 100644 ---- a/glib/gslice.c -+++ b/glib/gslice.c -@@ -41,6 +41,7 @@ - #include "gmain.h" - #include "gmem.h" /* gslice.h */ - #include "gstrfuncs.h" -+#include "gstrfuncsprivate.h" - #include "gutils.h" - #include "gtrashstack.h" - #include "gtestutils.h" -@@ -350,7 +351,7 @@ g_slice_get_config_state (GSliceConfig ckey, - array[i++] =3D allocator->contention_counters[address]; - array[i++] =3D allocator_get_magazine_threshold (allocator, addre= ss); - *n_values =3D i; -- return g_memdup (array, sizeof (array[0]) * *n_values); -+ return g_memdup2 (array, sizeof (array[0]) * *n_values); - default: - return NULL; - } -diff --git a/glib/gtestutils.c b/glib/gtestutils.c -index dd789482f..5887ecc36 100644 ---- a/glib/gtestutils.c -+++ b/glib/gtestutils.c -@@ -49,6 +49,7 @@ - #include "gpattern.h" - #include "grand.h" - #include "gstrfuncs.h" -+#include "gstrfuncsprivate.h" - #include "gtimer.h" - #include "gslice.h" - #include "gspawn.h" -@@ -3798,7 +3799,7 @@ g_test_log_extract (GTestLogBuffer *tbuffer) - if (p <=3D tbuffer->data->str + mlength) - { - g_string_erase (tbuffer->data, 0, mlength); -- tbuffer->msgs =3D g_slist_prepend (tbuffer->msgs, g_memdup (&= msg, sizeof (msg))); -+ tbuffer->msgs =3D g_slist_prepend (tbuffer->msgs, g_memdup2 (= &msg, sizeof (msg))); - return TRUE; - } -=20 -diff --git a/glib/gvariant.c b/glib/gvariant.c -index b61bf7278..d6f68a9ea 100644 ---- a/glib/gvariant.c -+++ b/glib/gvariant.c -@@ -33,6 +33,7 @@ -=20 - #include -=20 -+#include "gstrfuncsprivate.h" -=20 - /** - * SECTION:gvariant -@@ -725,7 +726,7 @@ g_variant_new_variant (GVariant *value) - g_variant_ref_sink (value); -=20 - return g_variant_new_from_children (G_VARIANT_TYPE_VARIANT, -- g_memdup (&value, sizeof value), -+ g_memdup2 (&value, sizeof value),= - 1, g_variant_is_trusted (value));= - } -=20 -@@ -1229,7 +1230,7 @@ g_variant_new_fixed_array (const GVariantType *el= ement_type, - return NULL; - } -=20 -- data =3D g_memdup (elements, n_elements * element_size); -+ data =3D g_memdup2 (elements, n_elements * element_size); - value =3D g_variant_new_from_data (array_type, data, - n_elements * element_size, - FALSE, g_free, data); -@@ -1908,7 +1909,7 @@ g_variant_dup_bytestring (GVariant *value, - if (length) - *length =3D size; -=20 -- return g_memdup (original, size + 1); -+ return g_memdup2 (original, size + 1); - } -=20 - /** -diff --git a/glib/gvarianttype.c b/glib/gvarianttype.c -index 1a228f73b..07659ff12 100644 ---- a/glib/gvarianttype.c -+++ b/glib/gvarianttype.c -@@ -28,6 +28,7 @@ -=20 - #include -=20 -+#include "gstrfuncsprivate.h" -=20 - /** - * SECTION:gvarianttype -@@ -1181,7 +1182,7 @@ g_variant_type_new_tuple (const GVariantType * con= st *items, - g_assert (offset < sizeof buffer); - buffer[offset++] =3D ')'; -=20 -- return (GVariantType *) g_memdup (buffer, offset); -+ return (GVariantType *) g_memdup2 (buffer, offset); - } -=20 - /** -diff --git a/glib/tests/array-test.c b/glib/tests/array-test.c -index 3fcf1136a..11982f822 100644 ---- a/glib/tests/array-test.c -+++ b/glib/tests/array-test.c -@@ -29,6 +29,8 @@ - #include - #include "glib.h" -=20 -+#include "gstrfuncsprivate.h" -+ - /* Test data to be passed to any function which calls g_array_new(), pr= oviding - * the parameters for that call. Most #GArray tests should be repeated = for all - * possible values of #ArrayTestData. */ -@@ -1642,7 +1644,7 @@ byte_array_new_take (void) - GByteArray *gbarray; - guint8 *data; -=20 -- data =3D g_memdup ("woooweeewow", 11); -+ data =3D g_memdup2 ("woooweeewow", 11); - gbarray =3D g_byte_array_new_take (data, 11); - g_assert (gbarray->data =3D=3D data); - g_assert_cmpuint (gbarray->len, =3D=3D, 11); -diff --git a/glib/tests/option-context.c b/glib/tests/option-context.c -index 149d22353..88d2b80d1 100644 ---- a/glib/tests/option-context.c -+++ b/glib/tests/option-context.c -@@ -27,6 +27,8 @@ - #include - #include -=20 -+#include "gstrfuncsprivate.h" -+ - static GOptionEntry main_entries[] =3D { - { "main-switch", 0, 0, - G_OPTION_ARG_NONE, NULL, -@@ -256,7 +258,7 @@ join_stringv (int argc, char **argv) - static char ** - copy_stringv (char **argv, int argc) - { -- return g_memdup (argv, sizeof (char *) * (argc + 1)); -+ return g_memdup2 (argv, sizeof (char *) * (argc + 1)); - } -=20 - static void -@@ -2323,7 +2325,7 @@ test_group_parse (void) - g_option_context_add_group (context, group); -=20 - argv =3D split_string ("program --test arg1 -f arg2 --group-test arg3= --frob arg4 -z arg5", &argc); -- orig_argv =3D g_memdup (argv, (argc + 1) * sizeof (char *)); -+ orig_argv =3D g_memdup2 (argv, (argc + 1) * sizeof (char *)); -=20 - retval =3D g_option_context_parse (context, &argc, &argv, &error); -=20 ---=20 -2.30.1 - diff --git a/gnu/packages/patches/glib-CVE-2021-27219-05.patch b/gnu/pack= ages/patches/glib-CVE-2021-27219-05.patch deleted file mode 100644 index 62bce1b188..0000000000 --- a/gnu/packages/patches/glib-CVE-2021-27219-05.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 0cbad673215ec8a049b7fe2ff44b0beed31b376e Mon Sep 17 00:00:00 2001 -From: Philip Withnall -Date: Thu, 4 Feb 2021 16:12:24 +0000 -Subject: [PATCH 05/11] gwinhttpfile: Avoid arithmetic overflow when - calculating a size -MIME-Version: 1.0 -Content-Type: text/plain; charset=3DUTF-8 -Content-Transfer-Encoding: 8bit - -The members of `URL_COMPONENTS` (`winhttp_file->url`) are `DWORD`s, i.e.= -32-bit unsigned integers. Adding to and multiplying them may cause them -to overflow the unsigned integer bounds, even if the result is passed to= -`g_memdup2()` which accepts a `gsize`. - -Cast the `URL_COMPONENTS` members to `gsize` first to ensure that the -arithmetic is done in terms of `gsize`s rather than unsigned integers. - -Spotted by Sebastian Dr=C3=B6ge. - -Signed-off-by: Philip Withnall -Helps: #2319 ---- - gio/win32/gwinhttpfile.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/gio/win32/gwinhttpfile.c b/gio/win32/gwinhttpfile.c -index 040ee8564..246ec0578 100644 ---- a/gio/win32/gwinhttpfile.c -+++ b/gio/win32/gwinhttpfile.c -@@ -394,10 +394,10 @@ g_winhttp_file_resolve_relative_path (GFile *= file, - child =3D g_object_new (G_TYPE_WINHTTP_FILE, NULL); - child->vfs =3D winhttp_file->vfs; - child->url =3D winhttp_file->url; -- child->url.lpszScheme =3D g_memdup2 (winhttp_file->url.lpszScheme, (w= inhttp_file->url.dwSchemeLength+1)*2); -- child->url.lpszHostName =3D g_memdup2 (winhttp_file->url.lpszHostName= , (winhttp_file->url.dwHostNameLength+1)*2); -- child->url.lpszUserName =3D g_memdup2 (winhttp_file->url.lpszUserName= , (winhttp_file->url.dwUserNameLength+1)*2); -- child->url.lpszPassword =3D g_memdup2 (winhttp_file->url.lpszPassword= , (winhttp_file->url.dwPasswordLength+1)*2); -+ child->url.lpszScheme =3D g_memdup2 (winhttp_file->url.lpszScheme, ((= gsize) winhttp_file->url.dwSchemeLength + 1) * 2); -+ child->url.lpszHostName =3D g_memdup2 (winhttp_file->url.lpszHostName= , ((gsize) winhttp_file->url.dwHostNameLength + 1) * 2); -+ child->url.lpszUserName =3D g_memdup2 (winhttp_file->url.lpszUserName= , ((gsize) winhttp_file->url.dwUserNameLength + 1) * 2); -+ child->url.lpszPassword =3D g_memdup2 (winhttp_file->url.lpszPassword= , ((gsize) winhttp_file->url.dwPasswordLength + 1) * 2); - child->url.lpszUrlPath =3D wnew_path; - child->url.dwUrlPathLength =3D wcslen (wnew_path); - child->url.lpszExtraInfo =3D NULL; ---=20 -2.30.1 - diff --git a/gnu/packages/patches/glib-CVE-2021-27219-06.patch b/gnu/pack= ages/patches/glib-CVE-2021-27219-06.patch deleted file mode 100644 index 4e2435f5fd..0000000000 --- a/gnu/packages/patches/glib-CVE-2021-27219-06.patch +++ /dev/null @@ -1,94 +0,0 @@ -From f9ee2275cbc312c0b4cdbc338a4fbb76eb36fb9a Mon Sep 17 00:00:00 2001 -From: Philip Withnall -Date: Thu, 4 Feb 2021 13:49:00 +0000 -Subject: [PATCH 06/11] gdatainputstream: Handle stop_chars_len internall= y as - gsize - -Previously it was handled as a `gssize`, which meant that if the -`stop_chars` string was longer than `G_MAXSSIZE` there would be an -overflow. - -Signed-off-by: Philip Withnall -Helps: #2319 ---- - gio/gdatainputstream.c | 25 +++++++++++++++++-------- - 1 file changed, 17 insertions(+), 8 deletions(-) - -diff --git a/gio/gdatainputstream.c b/gio/gdatainputstream.c -index 2e7750cb5..2cdcbda19 100644 ---- a/gio/gdatainputstream.c -+++ b/gio/gdatainputstream.c -@@ -27,6 +27,7 @@ - #include "gioenumtypes.h" - #include "gioerror.h" - #include "glibintl.h" -+#include "gstrfuncsprivate.h" -=20 - #include -=20 -@@ -856,7 +857,7 @@ static gssize - scan_for_chars (GDataInputStream *stream, - gsize *checked_out, - const char *stop_chars, -- gssize stop_chars_len) -+ gsize stop_chars_len) - { - GBufferedInputStream *bstream; - const char *buffer; -@@ -952,7 +953,7 @@ typedef struct - gsize checked; -=20 - gchar *stop_chars; -- gssize stop_chars_len; -+ gsize stop_chars_len; - gsize length; - } GDataInputStreamReadData; -=20 -@@ -1078,12 +1079,17 @@ g_data_input_stream_read_async (GDataInputStream= *stream, - { - GDataInputStreamReadData *data; - GTask *task; -+ gsize stop_chars_len_unsigned; -=20 - data =3D g_slice_new0 (GDataInputStreamReadData); -- if (stop_chars_len =3D=3D -1) -- stop_chars_len =3D strlen (stop_chars); -- data->stop_chars =3D g_memdup (stop_chars, stop_chars_len); -- data->stop_chars_len =3D stop_chars_len; -+ -+ if (stop_chars_len < 0) -+ stop_chars_len_unsigned =3D strlen (stop_chars); -+ else -+ stop_chars_len_unsigned =3D (gsize) stop_chars_len; -+ -+ data->stop_chars =3D g_memdup2 (stop_chars, stop_chars_len_unsigned);= -+ data->stop_chars_len =3D stop_chars_len_unsigned; - data->last_saw_cr =3D FALSE; -=20 - task =3D g_task_new (stream, cancellable, callback, user_data); -@@ -1338,17 +1344,20 @@ g_data_input_stream_read_upto (GDataInputStream = *stream, - gssize found_pos; - gssize res; - char *data_until; -+ gsize stop_chars_len_unsigned; -=20 - g_return_val_if_fail (G_IS_DATA_INPUT_STREAM (stream), NULL); -=20 - if (stop_chars_len < 0) -- stop_chars_len =3D strlen (stop_chars); -+ stop_chars_len_unsigned =3D strlen (stop_chars); -+ else -+ stop_chars_len_unsigned =3D (gsize) stop_chars_len; -=20 - bstream =3D G_BUFFERED_INPUT_STREAM (stream); -=20 - checked =3D 0; -=20 -- while ((found_pos =3D scan_for_chars (stream, &checked, stop_chars, s= top_chars_len)) =3D=3D -1) -+ while ((found_pos =3D scan_for_chars (stream, &checked, stop_chars, s= top_chars_len_unsigned)) =3D=3D -1) - { - if (g_buffered_input_stream_get_available (bstream) =3D=3D - g_buffered_input_stream_get_buffer_size (bstream)) ---=20 -2.30.1 - diff --git a/gnu/packages/patches/glib-CVE-2021-27219-07.patch b/gnu/pack= ages/patches/glib-CVE-2021-27219-07.patch deleted file mode 100644 index dad3d285f4..0000000000 --- a/gnu/packages/patches/glib-CVE-2021-27219-07.patch +++ /dev/null @@ -1,118 +0,0 @@ -Backport of: - -From 2aaf593a9eb96d84fe3be740aca2810a97d95592 Mon Sep 17 00:00:00 2001 -From: Philip Withnall -Date: Thu, 4 Feb 2021 13:50:37 +0000 -Subject: [PATCH 07/11] gwin32: Use gsize internally in g_wcsdup() -MIME-Version: 1.0 -Content-Type: text/plain; charset=3DUTF-8 -Content-Transfer-Encoding: 8bit - -This allows it to handle strings up to length `G_MAXSIZE` =E2=80=94 prev= iously -it would overflow with such strings. - -Update the several copies of it identically. - -Signed-off-by: Philip Withnall -Helps: #2319 ---- - gio/gwin32appinfo.c | 33 ++++++++++++++++++++++++++------- - gio/gwin32registrykey.c | 34 ++++++++++++++++++++++++++-------- - 2 files changed, 52 insertions(+), 15 deletions(-) - -diff --git a/gio/gwin32appinfo.c b/gio/gwin32appinfo.c -index 9f335b370..dd7a96a4a 100644 ---- a/gio/gwin32appinfo.c -+++ b/gio/gwin32appinfo.c -@@ -464,15 +464,34 @@ static GWin32RegistryKey *applications_key; - /* Watch this key */ - static GWin32RegistryKey *classes_root_key; -=20 -+static gsize -+g_utf16_len (const gunichar2 *str) -+{ -+ gsize result; -+ -+ for (result =3D 0; str[0] !=3D 0; str++, result++) -+ ; -+ -+ return result; -+} -+ - static gunichar2 * --g_wcsdup (const gunichar2 *str, gssize str_size) -+g_wcsdup (const gunichar2 *str, gssize str_len) - { -- if (str_size =3D=3D -1) -- { -- str_size =3D wcslen (str) + 1; -- str_size *=3D sizeof (gunichar2); -- } -- return g_memdup (str, str_size); -+ gsize str_len_unsigned; -+ gsize str_size; -+ -+ g_return_val_if_fail (str !=3D NULL, NULL); -+ -+ if (str_len < 0) -+ str_len_unsigned =3D g_utf16_len (str); -+ else -+ str_len_unsigned =3D (gsize) str_len; -+ -+ g_assert (str_len_unsigned <=3D G_MAXSIZE / sizeof (gunichar2) - 1); -+ str_size =3D (str_len_unsigned + 1) * sizeof (gunichar2); -+ -+ return g_memdup2 (str, str_size); - } -=20 - #define URL_ASSOCIATIONS L"HKEY_CURRENT_USER\\Software\\Microsoft\\Wind= ows\\Shell\\Associations\\UrlAssociations\\" -diff --git a/gio/gwin32registrykey.c b/gio/gwin32registrykey.c -index 619fd48af..fbd65311a 100644 ---- a/gio/gwin32registrykey.c -+++ b/gio/gwin32registrykey.c -@@ -127,16 +127,34 @@ typedef enum - G_WIN32_REGISTRY_UPDATED_PATH =3D 1, - } GWin32RegistryKeyUpdateFlag; -=20 -+static gsize -+g_utf16_len (const gunichar2 *str) -+{ -+ gsize result; -+ -+ for (result =3D 0; str[0] !=3D 0; str++, result++) -+ ; -+ -+ return result; -+} -+ - static gunichar2 * --g_wcsdup (const gunichar2 *str, -- gssize str_size) -+g_wcsdup (const gunichar2 *str, gssize str_len) - { -- if (str_size =3D=3D -1) -- { -- str_size =3D wcslen (str) + 1; -- str_size *=3D sizeof (gunichar2); -- } -- return g_memdup (str, str_size); -+ gsize str_len_unsigned; -+ gsize str_size; -+ -+ g_return_val_if_fail (str !=3D NULL, NULL); -+ -+ if (str_len < 0) -+ str_len_unsigned =3D g_utf16_len (str); -+ else -+ str_len_unsigned =3D (gsize) str_len; -+ -+ g_assert (str_len_unsigned <=3D G_MAXSIZE / sizeof (gunichar2) - 1); -+ str_size =3D (str_len_unsigned + 1) * sizeof (gunichar2); -+ -+ return g_memdup2 (str, str_size); - } -=20 - /** ---=20 -2.30.1 - diff --git a/gnu/packages/patches/glib-CVE-2021-27219-08.patch b/gnu/pack= ages/patches/glib-CVE-2021-27219-08.patch deleted file mode 100644 index 2c021ad317..0000000000 --- a/gnu/packages/patches/glib-CVE-2021-27219-08.patch +++ /dev/null @@ -1,94 +0,0 @@ -From ba8ca443051f93a74c0d03d62e70402036f967a5 Mon Sep 17 00:00:00 2001 -From: Philip Withnall -Date: Thu, 4 Feb 2021 13:58:32 +0000 -Subject: [PATCH 08/11] gkeyfilesettingsbackend: Handle long keys when - converting paths - -Previously, the code in `convert_path()` could not handle keys longer -than `G_MAXINT`, and would overflow if that was exceeded. - -Convert the code to use `gsize` and `g_memdup2()` throughout, and -change from identifying the position of the final slash in the string -using a signed offset `i`, to using a pointer to the character (and -`strrchr()`). This allows the slash to be at any position in a -`G_MAXSIZE`-long string, without sacrificing a bit of the offset for -indicating whether a slash was found. - -Signed-off-by: Philip Withnall -Helps: #2319 ---- - gio/gkeyfilesettingsbackend.c | 21 ++++++++++----------- - 1 file changed, 10 insertions(+), 11 deletions(-) - -diff --git a/gio/gkeyfilesettingsbackend.c b/gio/gkeyfilesettingsbackend= =2Ec -index cd5765afd..25b057672 100644 ---- a/gio/gkeyfilesettingsbackend.c -+++ b/gio/gkeyfilesettingsbackend.c -@@ -33,6 +33,7 @@ - #include "gfilemonitor.h" - #include "gsimplepermission.h" - #include "gsettingsbackendinternal.h" -+#include "gstrfuncsprivate.h" - #include "giomodule-priv.h" - #include "gportalsupport.h" -=20 -@@ -145,8 +146,8 @@ convert_path (GKeyfileSettingsBackend *kfsb, - gchar **group, - gchar **basename) - { -- gint key_len =3D strlen (key); -- gint i; -+ gsize key_len =3D strlen (key); -+ const gchar *last_slash; -=20 - if (key_len < kfsb->prefix_len || - memcmp (key, kfsb->prefix, kfsb->prefix_len) !=3D 0) -@@ -155,38 +156,36 @@ convert_path (GKeyfileSettingsBackend *kfsb, - key_len -=3D kfsb->prefix_len; - key +=3D kfsb->prefix_len; -=20 -- for (i =3D key_len; i >=3D 0; i--) -- if (key[i] =3D=3D '/') -- break; -+ last_slash =3D strrchr (key, '/'); -=20 - if (kfsb->root_group) - { - /* if a root_group was specified, make sure the user hasn't given= - * a path that ghosts that group name - */ -- if (i =3D=3D kfsb->root_group_len && memcmp (key, kfsb->root_grou= p, i) =3D=3D 0) -+ if (last_slash !=3D NULL && (last_slash - key) =3D=3D kfsb->root_= group_len && memcmp (key, kfsb->root_group, last_slash - key) =3D=3D 0) - return FALSE; - } - else - { - /* if no root_group was given, ensure that the user gave a path *= / -- if (i =3D=3D -1) -+ if (last_slash =3D=3D NULL) - return FALSE; - } -=20 - if (group) - { -- if (i >=3D 0) -+ if (last_slash !=3D NULL) - { -- *group =3D g_memdup (key, i + 1); -- (*group)[i] =3D '\0'; -+ *group =3D g_memdup2 (key, (last_slash - key) + 1); -+ (*group)[(last_slash - key)] =3D '\0'; - } - else - *group =3D g_strdup (kfsb->root_group); - } -=20 - if (basename) -- *basename =3D g_memdup (key + i + 1, key_len - i); -+ *basename =3D g_memdup2 (last_slash + 1, key_len - (last_slash - ke= y)); -=20 - return TRUE; - } ---=20 -2.30.1 - diff --git a/gnu/packages/patches/glib-CVE-2021-27219-09.patch b/gnu/pack= ages/patches/glib-CVE-2021-27219-09.patch deleted file mode 100644 index 4de0c1b349..0000000000 --- a/gnu/packages/patches/glib-CVE-2021-27219-09.patch +++ /dev/null @@ -1,98 +0,0 @@ -From 65ec7f4d6e8832c481f6e00e2eb007b9a60024ce Mon Sep 17 00:00:00 2001 -From: Philip Withnall -Date: Thu, 4 Feb 2021 14:00:53 +0000 -Subject: [PATCH 09/11] gsocket: Use gsize to track native sockaddr's siz= e -MIME-Version: 1.0 -Content-Type: text/plain; charset=3DUTF-8 -Content-Transfer-Encoding: 8bit - -Don=E2=80=99t use an `int`, that=E2=80=99s potentially too small. In pra= ctical terms, -this is not a problem, since no socket address is going to be that big. - -By making these changes we can use `g_memdup2()` without warnings, -though. Fewer warnings is good. - -Signed-off-by: Philip Withnall -Helps: #2319 ---- - gio/gsocket.c | 16 ++++++++++------ - 1 file changed, 10 insertions(+), 6 deletions(-) - -diff --git a/gio/gsocket.c b/gio/gsocket.c -index 66073af83..a3af149e8 100644 ---- a/gio/gsocket.c -+++ b/gio/gsocket.c -@@ -75,6 +75,7 @@ - #include "gcredentialsprivate.h" - #include "glibintl.h" - #include "gioprivate.h" -+#include "gstrfuncsprivate.h" -=20 - #ifdef G_OS_WIN32 - /* For Windows XP runtime compatibility, but use the system's if_nameto= index() if available */ -@@ -174,7 +175,7 @@ static gboolean g_socket_datagram_based_conditio= n_wait (GDatagramBased - GErro= r **error); -=20 - static GSocketAddress * --cache_recv_address (GSocket *socket, struct sockaddr *native, int nativ= e_len); -+cache_recv_address (GSocket *socket, struct sockaddr *native, size_t na= tive_len); -=20 - static gssize - g_socket_receive_message_with_timeout (GSocket *socket= , -@@ -260,7 +261,7 @@ struct _GSocketPrivate - struct { - GSocketAddress *addr; - struct sockaddr *native; -- gint native_len; -+ gsize native_len; - guint64 last_used; - } recv_addr_cache[RECV_ADDR_CACHE_SIZE]; - }; -@@ -5211,14 +5212,14 @@ g_socket_send_messages_with_timeout (GSocket = *socket, - } -=20 - static GSocketAddress * --cache_recv_address (GSocket *socket, struct sockaddr *native, int nativ= e_len) -+cache_recv_address (GSocket *socket, struct sockaddr *native, size_t na= tive_len) - { - GSocketAddress *saddr; - gint i; - guint64 oldest_time =3D G_MAXUINT64; - gint oldest_index =3D 0; -=20 -- if (native_len <=3D 0) -+ if (native_len =3D=3D 0) - return NULL; -=20 - saddr =3D NULL; -@@ -5226,7 +5227,7 @@ cache_recv_address (GSocket *socket, struct sockad= dr *native, int native_len) - { - GSocketAddress *tmp =3D socket->priv->recv_addr_cache[i].addr; - gpointer tmp_native =3D socket->priv->recv_addr_cache[i].native; -- gint tmp_native_len =3D socket->priv->recv_addr_cache[i].native_l= en; -+ gsize tmp_native_len =3D socket->priv->recv_addr_cache[i].native_= len; -=20 - if (!tmp) - continue; -@@ -5256,7 +5257,7 @@ cache_recv_address (GSocket *socket, struct sockad= dr *native, int native_len) - g_free (socket->priv->recv_addr_cache[oldest_index].native); - } -=20 -- socket->priv->recv_addr_cache[oldest_index].native =3D g_memdup (nati= ve, native_len); -+ socket->priv->recv_addr_cache[oldest_index].native =3D g_memdup2 (nat= ive, native_len); - socket->priv->recv_addr_cache[oldest_index].native_len =3D native_len= ; - socket->priv->recv_addr_cache[oldest_index].addr =3D g_object_ref (sa= ddr); - socket->priv->recv_addr_cache[oldest_index].last_used =3D g_get_monot= onic_time (); -@@ -5404,6 +5405,9 @@ g_socket_receive_message_with_timeout (GSocket = *socket, - /* do it */ - while (1) - { -+ /* addrlen has to be of type int because that=E2=80=99s how WSA= RecvFrom() is defined */ -+ G_STATIC_ASSERT (sizeof addr <=3D G_MAXINT); -+ - addrlen =3D sizeof addr; - if (address) - result =3D WSARecvFrom (socket->priv->fd, ---=20 -2.30.1 - diff --git a/gnu/packages/patches/glib-CVE-2021-27219-10.patch b/gnu/pack= ages/patches/glib-CVE-2021-27219-10.patch deleted file mode 100644 index 36198b8eef..0000000000 --- a/gnu/packages/patches/glib-CVE-2021-27219-10.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 777b95a88f006d39d9fe6d3321db17e7b0d4b9a4 Mon Sep 17 00:00:00 2001 -From: Philip Withnall -Date: Thu, 4 Feb 2021 14:07:39 +0000 -Subject: [PATCH 10/11] gtlspassword: Forbid very long TLS passwords -MIME-Version: 1.0 -Content-Type: text/plain; charset=3DUTF-8 -Content-Transfer-Encoding: 8bit - -The public API `g_tls_password_set_value_full()` (and the vfunc it -invokes) can only accept a `gssize` length. Ensure that nul-terminated -strings passed to `g_tls_password_set_value()` can=E2=80=99t exceed that= length. -Use `g_memdup2()` to avoid an overflow if they=E2=80=99re longer than -`G_MAXUINT` similarly. - -Signed-off-by: Philip Withnall -Helps: #2319 ---- - gio/gtlspassword.c | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - -diff --git a/gio/gtlspassword.c b/gio/gtlspassword.c -index 1e437a7b6..dbcec41a8 100644 ---- a/gio/gtlspassword.c -+++ b/gio/gtlspassword.c -@@ -23,6 +23,7 @@ - #include "glibintl.h" -=20 - #include "gioenumtypes.h" -+#include "gstrfuncsprivate.h" - #include "gtlspassword.h" -=20 - #include -@@ -287,9 +288,14 @@ g_tls_password_set_value (GTlsPassword *password, - g_return_if_fail (G_IS_TLS_PASSWORD (password)); -=20 - if (length < 0) -- length =3D strlen ((gchar *)value); -+ { -+ /* FIXME: g_tls_password_set_value_full() doesn=E2=80=99t support= unsigned gsize */ -+ gsize length_unsigned =3D strlen ((gchar *) value); -+ g_return_if_fail (length_unsigned > G_MAXSSIZE); -+ length =3D (gssize) length_unsigned; -+ } -=20 -- g_tls_password_set_value_full (password, g_memdup (value, length), le= ngth, g_free); -+ g_tls_password_set_value_full (password, g_memdup2 (value, (gsize) le= ngth), length, g_free); - } -=20 - /** ---=20 -2.30.1 - diff --git a/gnu/packages/patches/glib-CVE-2021-27219-11.patch b/gnu/pack= ages/patches/glib-CVE-2021-27219-11.patch deleted file mode 100644 index 4413cb9827..0000000000 --- a/gnu/packages/patches/glib-CVE-2021-27219-11.patch +++ /dev/null @@ -1,57 +0,0 @@ -From ecdf91400e9a538695a0895b95ad7e8abcdf1749 Mon Sep 17 00:00:00 2001 -From: Philip Withnall -Date: Thu, 4 Feb 2021 14:09:40 +0000 -Subject: [PATCH 11/11] giochannel: Forbid very long line terminator stri= ngs -MIME-Version: 1.0 -Content-Type: text/plain; charset=3DUTF-8 -Content-Transfer-Encoding: 8bit - -The public API `GIOChannel.line_term_len` is only a `guint`. Ensure that= -nul-terminated strings passed to `g_io_channel_set_line_term()` can=E2=80= =99t -exceed that length. Use `g_memdup2()` to avoid a warning (`g_memdup()` -is due to be deprecated), but not to avoid a bug, since it=E2=80=99s als= o -limited to `G_MAXUINT`. - -Signed-off-by: Philip Withnall -Helps: #2319 ---- - glib/giochannel.c | 17 +++++++++++++---- - 1 file changed, 13 insertions(+), 4 deletions(-) - -diff --git a/glib/giochannel.c b/glib/giochannel.c -index 15927c391..66c6591f0 100644 ---- a/glib/giochannel.c -+++ b/glib/giochannel.c -@@ -884,16 +884,25 @@ g_io_channel_set_line_term (GIOChannel *channel, - const gchar *line_term, - gint length) - { -+ guint length_unsigned; -+ - g_return_if_fail (channel !=3D NULL); - g_return_if_fail (line_term =3D=3D NULL || length !=3D 0); /* Disallo= w "" */ -=20 - if (line_term =3D=3D NULL) -- length =3D 0; -- else if (length < 0) -- length =3D strlen (line_term); -+ length_unsigned =3D 0; -+ else if (length >=3D 0) -+ length_unsigned =3D (guint) length; -+ else -+ { -+ /* FIXME: We=E2=80=99re constrained by line_term_len being a guin= t here */ -+ gsize length_size =3D strlen (line_term); -+ g_return_if_fail (length_size > G_MAXUINT); -+ length_unsigned =3D (guint) length_size; -+ } -=20 - g_free (channel->line_term); -- channel->line_term =3D line_term ? g_memdup2 (line_term, length) : NU= LL; -+ channel->line_term =3D line_term ? g_memdup2 (line_term, length_unsig= ned) : NULL; - channel->line_term_len =3D length; - } -=20 ---=20 -2.30.1 - diff --git a/gnu/packages/patches/glib-CVE-2021-27219-12.patch b/gnu/pack= ages/patches/glib-CVE-2021-27219-12.patch deleted file mode 100644 index 4fdbb81750..0000000000 --- a/gnu/packages/patches/glib-CVE-2021-27219-12.patch +++ /dev/null @@ -1,30 +0,0 @@ -From f8273b9aded135fe07094faebd527e43851aaf6e Mon Sep 17 00:00:00 2001 -From: "Jan Alexander Steffens (heftig)" -Date: Sun, 7 Feb 2021 23:32:40 +0100 -Subject: [PATCH 1/5] giochannel: Fix length_size bounds check - -The inverted condition is an obvious error introduced by ecdf91400e9a. - -Fixes https://gitlab.gnome.org/GNOME/glib/-/issues/2323 - -(cherry picked from commit a149bf2f9030168051942124536e303af8ba6176) ---- - glib/giochannel.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/glib/giochannel.c b/glib/giochannel.c -index 66c6591f0..0d9d5f223 100644 ---- a/glib/giochannel.c -+++ b/glib/giochannel.c -@@ -897,7 +897,7 @@ g_io_channel_set_line_term (GIOChannel *channel, - { - /* FIXME: We=E2=80=99re constrained by line_term_len being a guin= t here */ - gsize length_size =3D strlen (line_term); -- g_return_if_fail (length_size > G_MAXUINT); -+ g_return_if_fail (length_size <=3D G_MAXUINT); - length_unsigned =3D (guint) length_size; - } -=20 ---=20 -2.30.1 - diff --git a/gnu/packages/patches/glib-CVE-2021-27219-13.patch b/gnu/pack= ages/patches/glib-CVE-2021-27219-13.patch deleted file mode 100644 index 6a287cc3a2..0000000000 --- a/gnu/packages/patches/glib-CVE-2021-27219-13.patch +++ /dev/null @@ -1,32 +0,0 @@ -From e069c50467712e6d607822afd6b6c15c2c343dff Mon Sep 17 00:00:00 2001 -From: Simon McVittie -Date: Mon, 8 Feb 2021 10:34:50 +0000 -Subject: [PATCH 2/5] giochannel: Don't store negative line_term_len in - GIOChannel struct - -Adding test coverage indicated that this was another bug in 0cc11f74. - -Fixes: 0cc11f74 "giochannel: Forbid very long line terminator strings" -Resolves: https://gitlab.gnome.org/GNOME/glib/-/issues/2323 -Signed-off-by: Simon McVittie -(cherry picked from commit 5dc8b0014c03e7491d93b90275ab442e888a9628) ---- - glib/giochannel.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/glib/giochannel.c b/glib/giochannel.c -index 0d9d5f223..4c39b9dc0 100644 ---- a/glib/giochannel.c -+++ b/glib/giochannel.c -@@ -903,7 +903,7 @@ g_io_channel_set_line_term (GIOChannel *channel, -=20 - g_free (channel->line_term); - channel->line_term =3D line_term ? g_memdup2 (line_term, length_unsig= ned) : NULL; -- channel->line_term_len =3D length; -+ channel->line_term_len =3D length_unsigned; - } -=20 - /** ---=20 -2.30.1 - diff --git a/gnu/packages/patches/glib-CVE-2021-27219-14.patch b/gnu/pack= ages/patches/glib-CVE-2021-27219-14.patch deleted file mode 100644 index 78de2846da..0000000000 --- a/gnu/packages/patches/glib-CVE-2021-27219-14.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 4506d1859a863087598c8d122740bae25b65b099 Mon Sep 17 00:00:00 2001 -From: Simon McVittie -Date: Mon, 8 Feb 2021 10:04:48 +0000 -Subject: [PATCH 4/5] gtlspassword: Fix inverted assertion - -The intention here was to assert that the length of the password fits -in a gssize. Passwords more than half the size of virtual memory are -probably excessive. - -Fixes: a8b204ff "gtlspassword: Forbid very long TLS passwords" -Signed-off-by: Simon McVittie -(cherry picked from commit 61bb52ec42de1082bfb06ce1c737fc295bfe60b8) ---- - gio/gtlspassword.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/gio/gtlspassword.c b/gio/gtlspassword.c -index dbcec41a8..bd86a6dfe 100644 ---- a/gio/gtlspassword.c -+++ b/gio/gtlspassword.c -@@ -291,7 +291,7 @@ g_tls_password_set_value (GTlsPassword *password, - { - /* FIXME: g_tls_password_set_value_full() doesn=E2=80=99t support= unsigned gsize */ - gsize length_unsigned =3D strlen ((gchar *) value); -- g_return_if_fail (length_unsigned > G_MAXSSIZE); -+ g_return_if_fail (length_unsigned <=3D G_MAXSSIZE); - length =3D (gssize) length_unsigned; - } -=20 ---=20 -2.30.1 - diff --git a/gnu/packages/patches/glib-CVE-2021-27219-15.patch b/gnu/pack= ages/patches/glib-CVE-2021-27219-15.patch deleted file mode 100644 index 37ef85b4fa..0000000000 --- a/gnu/packages/patches/glib-CVE-2021-27219-15.patch +++ /dev/null @@ -1,95 +0,0 @@ -From 3d1550354c3c6a8491c39881752d51cb7515f2c2 Mon Sep 17 00:00:00 2001 -From: Simon McVittie -Date: Mon, 8 Feb 2021 10:22:39 +0000 -Subject: [PATCH 5/5] tls-interaction: Add test coverage for various ways= to - set the password - -Signed-off-by: Simon McVittie -(cherry picked from commit df4501316ca3903072400504a5ea76498db19538) ---- - gio/tests/tls-interaction.c | 55 +++++++++++++++++++++++++++++++++++++ - 1 file changed, 55 insertions(+) - -diff --git a/gio/tests/tls-interaction.c b/gio/tests/tls-interaction.c -index 4f0737d7e..5661e8e0d 100644 ---- a/gio/tests/tls-interaction.c -+++ b/gio/tests/tls-interaction.c -@@ -174,6 +174,38 @@ test_interaction_ask_password_finish_failure (GTlsI= nteraction *interaction, - } -=20 -=20 -+/* Return a copy of @str that is allocated in a silly way, to exercise -+ * custom free-functions. The returned pointer points to a copy of @str= -+ * in a buffer of the form "BEFORE \0 str \0 AFTER". */ -+static guchar * -+special_dup (const char *str) -+{ -+ GString *buf =3D g_string_new ("BEFORE"); -+ guchar *ret; -+ -+ g_string_append_c (buf, '\0'); -+ g_string_append (buf, str); -+ g_string_append_c (buf, '\0'); -+ g_string_append (buf, "AFTER"); -+ ret =3D (guchar *) g_string_free (buf, FALSE); -+ return ret + strlen ("BEFORE") + 1; -+} -+ -+ -+/* Free a copy of @str that was made with special_dup(), after assertin= g -+ * that it has not been corrupted. */ -+static void -+special_free (gpointer p) -+{ -+ gchar *s =3D p; -+ gchar *buf =3D s - strlen ("BEFORE") - 1; -+ -+ g_assert_cmpstr (buf, =3D=3D, "BEFORE"); -+ g_assert_cmpstr (s + strlen (s) + 1, =3D=3D, "AFTER"); -+ g_free (buf); -+} -+ -+ - static GTlsInteractionResult - test_interaction_ask_password_sync_success (GTlsInteraction *interac= tion, - GTlsPassword *passwor= d, -@@ -181,6 +213,8 @@ test_interaction_ask_password_sync_success (GTlsInte= raction *interaction, - GError **error) - { - TestInteraction *self; -+ const guchar *value; -+ gsize len; -=20 - g_assert (TEST_IS_INTERACTION (interaction)); - self =3D TEST_INTERACTION (interaction); -@@ -192,6 +226,27 @@ test_interaction_ask_password_sync_success (GTlsInt= eraction *interaction, - g_assert (error !=3D NULL); - g_assert (*error =3D=3D NULL); -=20 -+ /* Exercise different ways to set the value */ -+ g_tls_password_set_value (password, (const guchar *) "foo", 4); -+ len =3D 0; -+ value =3D g_tls_password_get_value (password, &len); -+ g_assert_cmpmem (value, len, "foo", 4); -+ -+ g_tls_password_set_value (password, (const guchar *) "bar", -1); -+ len =3D 0; -+ value =3D g_tls_password_get_value (password, &len); -+ g_assert_cmpmem (value, len, "bar", 3); -+ -+ g_tls_password_set_value_full (password, special_dup ("baa"), 4, spec= ial_free); -+ len =3D 0; -+ value =3D g_tls_password_get_value (password, &len); -+ g_assert_cmpmem (value, len, "baa", 4); -+ -+ g_tls_password_set_value_full (password, special_dup ("baz"), -1, spe= cial_free); -+ len =3D 0; -+ value =3D g_tls_password_get_value (password, &len); -+ g_assert_cmpmem (value, len, "baz", 3); -+ - /* Don't do this in real life. Include a null terminator for testing = */ - g_tls_password_set_value (password, (const guchar *)"the password", 1= 3); - return G_TLS_INTERACTION_HANDLED; ---=20 -2.30.1 - diff --git a/gnu/packages/patches/glib-CVE-2021-27219-16.patch b/gnu/pack= ages/patches/glib-CVE-2021-27219-16.patch deleted file mode 100644 index 43635e72ed..0000000000 --- a/gnu/packages/patches/glib-CVE-2021-27219-16.patch +++ /dev/null @@ -1,43 +0,0 @@ -From cb9ee701ef46c1819eed4e2a4dc181682bdfc176 Mon Sep 17 00:00:00 2001 -From: Philip Withnall -Date: Wed, 10 Feb 2021 21:16:39 +0000 -Subject: [PATCH 1/3] gkeyfilesettingsbackend: Fix basename handling when= group - is unset - -Fix an effective regression in commit -7781a9cbd2fd0aa84bee0f4eee88470640ff6706, which happens when -`convert_path()` is called with a `key` which contains no slashes. In -that case, the `key` is entirely the `basename`. - -Prior to commit 7781a9cb, the code worked through a fluke of `i =3D=3D -= 1` -cancelling out with the various additions in the `g_memdup()` call, and -effectively resulting in `g_strdup (key)`. - -Spotted by Guido Berhoerster. - -Signed-off-by: Philip Withnall ---- - gio/gkeyfilesettingsbackend.c | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/gio/gkeyfilesettingsbackend.c b/gio/gkeyfilesettingsbackend= =2Ec -index 25b057672..861c3a661 100644 ---- a/gio/gkeyfilesettingsbackend.c -+++ b/gio/gkeyfilesettingsbackend.c -@@ -185,7 +185,12 @@ convert_path (GKeyfileSettingsBackend *kfsb, - } -=20 - if (basename) -- *basename =3D g_memdup2 (last_slash + 1, key_len - (last_slash - ke= y)); -+ { -+ if (last_slash !=3D NULL) -+ *basename =3D g_memdup2 (last_slash + 1, key_len - (last_slash = - key)); -+ else -+ *basename =3D g_strdup (key); -+ } -=20 - return TRUE; - } ---=20 -2.30.1 - diff --git a/gnu/packages/patches/glib-CVE-2021-27219-17.patch b/gnu/pack= ages/patches/glib-CVE-2021-27219-17.patch deleted file mode 100644 index 3153979071..0000000000 --- a/gnu/packages/patches/glib-CVE-2021-27219-17.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 31e0d403ba635dbbacbfbff74295e5db02558d76 Mon Sep 17 00:00:00 2001 -From: Philip Withnall -Date: Wed, 10 Feb 2021 21:19:30 +0000 -Subject: [PATCH 2/3] gkeyfilesettingsbackend: Disallow empty key or grou= p - names - -These should never have been allowed; they will result in precondition -failures from the `GKeyFile` later on in the code. - -A test will be added for this shortly. - -Signed-off-by: Philip Withnall ---- - gio/gkeyfilesettingsbackend.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/gio/gkeyfilesettingsbackend.c b/gio/gkeyfilesettingsbackend= =2Ec -index 861c3a661..de216e615 100644 ---- a/gio/gkeyfilesettingsbackend.c -+++ b/gio/gkeyfilesettingsbackend.c -@@ -158,6 +158,13 @@ convert_path (GKeyfileSettingsBackend *kfsb, -=20 - last_slash =3D strrchr (key, '/'); -=20 -+ /* Disallow empty group names or key names */ -+ if (key_len =3D=3D 0 || -+ (last_slash !=3D NULL && -+ (*(last_slash + 1) =3D=3D '\0' || -+ last_slash =3D=3D key))) -+ return FALSE; -+ - if (kfsb->root_group) - { - /* if a root_group was specified, make sure the user hasn't given= ---=20 -2.30.1 - diff --git a/gnu/packages/patches/glib-CVE-2021-27219-18.patch b/gnu/pack= ages/patches/glib-CVE-2021-27219-18.patch deleted file mode 100644 index c18d44ddeb..0000000000 --- a/gnu/packages/patches/glib-CVE-2021-27219-18.patch +++ /dev/null @@ -1,232 +0,0 @@ -Backport of: - -From 221c26685354dea2b2732df94404e8e5e77a1591 Mon Sep 17 00:00:00 2001 -From: Philip Withnall -Date: Wed, 10 Feb 2021 21:21:36 +0000 -Subject: [PATCH 3/3] tests: Add tests for key name handling in the keyfi= le - backend - -This tests the two recent commits. - -Signed-off-by: Philip Withnall ---- - gio/tests/gsettings.c | 171 +++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 170 insertions(+), 1 deletion(-) - -diff --git a/gio/tests/gsettings.c b/gio/tests/gsettings.c -index baadca8f5..afe594a23 100644 ---- a/gio/tests/gsettings.c -+++ b/gio/tests/gsettings.c -@@ -1,3 +1,4 @@ -+#include - #include - #include - #include -@@ -1740,6 +1741,14 @@ key_changed_cb (GSettings *settings, const gchar = *key, gpointer data) - (*b) =3D TRUE; - } -=20 -+typedef struct -+{ -+ const gchar *path; -+ const gchar *root_group; -+ const gchar *keyfile_group; -+ const gchar *root_path; -+} KeyfileTestData; -+ - /* - * Test that using a keyfile works - */ -@@ -1834,7 +1843,11 @@ test_keyfile (Fixture *fixture, - g_free (str); -=20 - g_settings_set (settings, "farewell", "s", "cheerio"); -- =20 -+ -+ /* Check that empty keys/groups are not allowed. */ -+ g_assert_false (g_settings_is_writable (settings, "")); -+ g_assert_false (g_settings_is_writable (settings, "/")); -+ - /* When executing as root, changing the mode of the keyfile will have= - * no effect on the writability of the settings. - */ -@@ -1866,6 +1879,149 @@ test_keyfile (Fixture *fixture, - g_free (keyfile_path); - } -=20 -+/* -+ * Test that using a keyfile works with a schema with no path set. -+ */ -+static void -+test_keyfile_no_path (Fixture *fixture, -+ gconstpointer user_data) -+{ -+ const KeyfileTestData *test_data =3D user_data; -+ GSettingsBackend *kf_backend; -+ GSettings *settings; -+ GKeyFile *keyfile; -+ gboolean writable; -+ gchar *key =3D NULL; -+ GError *error =3D NULL; -+ gchar *keyfile_path =3D NULL, *store_path =3D NULL; -+ -+ keyfile_path =3D g_build_filename (fixture->tmp_dir, "keyfile", NULL)= ; -+ store_path =3D g_build_filename (keyfile_path, "gsettings.store", NUL= L); -+ kf_backend =3D g_keyfile_settings_backend_new (store_path, test_data-= >root_path, test_data->root_group); -+ settings =3D g_settings_new_with_backend_and_path ("org.gtk.test.no-p= ath", kf_backend, test_data->path); -+ g_object_unref (kf_backend); -+ -+ g_settings_reset (settings, "test-boolean"); -+ g_assert_true (g_settings_get_boolean (settings, "test-boolean")); -+ -+ writable =3D g_settings_is_writable (settings, "test-boolean"); -+ g_assert_true (writable); -+ g_settings_set (settings, "test-boolean", "b", FALSE); -+ -+ g_assert_false (g_settings_get_boolean (settings, "test-boolean")); -+ -+ g_settings_delay (settings); -+ g_settings_set (settings, "test-boolean", "b", TRUE); -+ g_settings_apply (settings); -+ -+ keyfile =3D g_key_file_new (); -+ g_assert_true (g_key_file_load_from_file (keyfile, store_path, 0, NUL= L)); -+ -+ g_assert_true (g_key_file_get_boolean (keyfile, test_data->keyfile_gr= oup, "test-boolean", NULL)); -+ -+ g_key_file_free (keyfile); -+ -+ g_settings_reset (settings, "test-boolean"); -+ g_settings_apply (settings); -+ keyfile =3D g_key_file_new (); -+ g_assert_true (g_key_file_load_from_file (keyfile, store_path, 0, NUL= L)); -+ -+ g_assert_false (g_key_file_get_string (keyfile, test_data->keyfile_gr= oup, "test-boolean", &error)); -+ g_assert_error (error, G_KEY_FILE_ERROR, G_KEY_FILE_ERROR_KEY_NOT_FOU= ND); -+ g_clear_error (&error); -+ -+ /* Check that empty keys/groups are not allowed. */ -+ g_assert_false (g_settings_is_writable (settings, "")); -+ g_assert_false (g_settings_is_writable (settings, "/")); -+ -+ /* Keys which ghost the root group name are not allowed. This can onl= y be -+ * tested when the path is `/` as otherwise it acts as a prefix and p= revents -+ * any ghosting. */ -+ if (g_str_equal (test_data->path, "/")) -+ { -+ key =3D g_strdup_printf ("%s/%s", test_data->root_group, ""); -+ g_assert_false (g_settings_is_writable (settings, key)); -+ g_free (key); -+ -+ key =3D g_strdup_printf ("%s/%s", test_data->root_group, "/"); -+ g_assert_false (g_settings_is_writable (settings, key)); -+ g_free (key); -+ -+ key =3D g_strdup_printf ("%s/%s", test_data->root_group, "test-bo= olean"); -+ g_assert_false (g_settings_is_writable (settings, key)); -+ g_free (key); -+ } -+ -+ g_key_file_free (keyfile); -+ g_object_unref (settings); -+ -+ /* Clean up the temporary directory. */ -+ g_assert_cmpint (g_chmod (keyfile_path, 0777) =3D=3D 0 ? 0 : errno, =3D= =3D, 0); -+ g_assert_cmpint (g_remove (store_path) =3D=3D 0 ? 0 : errno, =3D=3D, = 0); -+ g_assert_cmpint (g_rmdir (keyfile_path) =3D=3D 0 ? 0 : errno, =3D=3D,= 0); -+ g_free (store_path); -+ g_free (keyfile_path); -+} -+ -+/* -+ * Test that a keyfile rejects writes to keys outside its root path. -+ */ -+static void -+test_keyfile_outside_root_path (Fixture *fixture, -+ gconstpointer user_data) -+{ -+ GSettingsBackend *kf_backend; -+ GSettings *settings; -+ gchar *keyfile_path =3D NULL, *store_path =3D NULL; -+ -+ keyfile_path =3D g_build_filename (fixture->tmp_dir, "keyfile", NULL)= ; -+ store_path =3D g_build_filename (keyfile_path, "gsettings.store", NUL= L); -+ kf_backend =3D g_keyfile_settings_backend_new (store_path, "/tests/ba= sic-types/", "root"); -+ settings =3D g_settings_new_with_backend_and_path ("org.gtk.test.no-p= ath", kf_backend, "/tests/"); -+ g_object_unref (kf_backend); -+ -+ g_assert_false (g_settings_is_writable (settings, "test-boolean")); -+ -+ g_object_unref (settings); -+ -+ /* Clean up the temporary directory. The keyfile probably doesn=E2=80= =99t exist, so -+ * don=E2=80=99t error on failure. */ -+ g_remove (store_path); -+ g_assert_cmpint (g_rmdir (keyfile_path) =3D=3D 0 ? 0 : errno, =3D=3D,= 0); -+ g_free (store_path); -+ g_free (keyfile_path); -+} -+ -+/* -+ * Test that a keyfile rejects writes to keys in the root if no root gr= oup is set. -+ */ -+static void -+test_keyfile_no_root_group (Fixture *fixture, -+ gconstpointer user_data) -+{ -+ GSettingsBackend *kf_backend; -+ GSettings *settings; -+ gchar *keyfile_path =3D NULL, *store_path =3D NULL; -+ -+ keyfile_path =3D g_build_filename (fixture->tmp_dir, "keyfile", NULL)= ; -+ store_path =3D g_build_filename (keyfile_path, "gsettings.store", NUL= L); -+ kf_backend =3D g_keyfile_settings_backend_new (store_path, "/", NULL)= ; -+ settings =3D g_settings_new_with_backend_and_path ("org.gtk.test.no-p= ath", kf_backend, "/"); -+ g_object_unref (kf_backend); -+ -+ g_assert_false (g_settings_is_writable (settings, "test-boolean")); -+ g_assert_true (g_settings_is_writable (settings, "child/test-boolean"= )); -+ -+ g_object_unref (settings); -+ -+ /* Clean up the temporary directory. The keyfile probably doesn=E2=80= =99t exist, so -+ * don=E2=80=99t error on failure. */ -+ g_remove (store_path); -+ g_assert_cmpint (g_rmdir (keyfile_path) =3D=3D 0 ? 0 : errno, =3D=3D,= 0); -+ g_free (store_path); -+ g_free (keyfile_path); -+} -+ - /* Test that getting child schemas works - */ - static void -@@ -2844,6 +3000,14 @@ main (int argc, char *argv[]) - gchar *override_text; - gchar *enums; - gint result; -+ const KeyfileTestData keyfile_test_data_explicit_path =3D { "/tests/"= , "root", "tests", "/" }; -+ const KeyfileTestData keyfile_test_data_empty_path =3D { "/", "root",= "root", "/" }; -+ const KeyfileTestData keyfile_test_data_long_path =3D { -+ "/tests/path/is/very/long/and/this/makes/some/comparisons/take/a/di= fferent/branch/", -+ "root", -+ "tests/path/is/very/long/and/this/makes/some/comparisons/take/a/dif= ferent/branch", -+ "/" -+ }; -=20 - /* Meson build sets this */ - #ifdef TEST_LOCALE_PATH -@@ -2967,6 +3131,11 @@ main (int argc, char *argv[]) - } -=20 - g_test_add ("/gsettings/keyfile", Fixture, NULL, setup, test_keyfile,= teardown); -+ g_test_add ("/gsettings/keyfile/explicit-path", Fixture, &keyfile_tes= t_data_explicit_path, setup, test_keyfile_no_path, teardown); -+ g_test_add ("/gsettings/keyfile/empty-path", Fixture, &keyfile_test_d= ata_empty_path, setup, test_keyfile_no_path, teardown); -+ g_test_add ("/gsettings/keyfile/long-path", Fixture, &keyfile_test_da= ta_long_path, setup, test_keyfile_no_path, teardown); -+ g_test_add ("/gsettings/keyfile/outside-root-path", Fixture, NULL, se= tup, test_keyfile_outside_root_path, teardown); -+ g_test_add ("/gsettings/keyfile/no-root-group", Fixture, NULL, setup,= test_keyfile_no_root_group, teardown); - g_test_add_func ("/gsettings/child-schema", test_child_schema); - g_test_add_func ("/gsettings/strinfo", test_strinfo); - g_test_add_func ("/gsettings/enums", test_enums); ---=20 -2.30.1 - diff --git a/gnu/packages/patches/glib-CVE-2021-28153.patch b/gnu/package= s/patches/glib-CVE-2021-28153.patch deleted file mode 100644 index 54443186d9..0000000000 --- a/gnu/packages/patches/glib-CVE-2021-28153.patch +++ /dev/null @@ -1,283 +0,0 @@ -Backport of: - -From 317b3b587058a05dca95d56dac26568c5b098d33 Mon Sep 17 00:00:00 2001 -From: Philip Withnall -Date: Wed, 24 Feb 2021 17:35:40 +0000 -Subject: [PATCH] glocalfileoutputstream: Fix CREATE_REPLACE_DESTINATION - with symlinks -MIME-Version: 1.0 -Content-Type: text/plain; charset=3DUTF-8 -Content-Transfer-Encoding: 8bit - -The `G_FILE_CREATE_REPLACE_DESTINATION` flag is equivalent to unlinking -the destination file and re-creating it from scratch. That did -previously work, but in the process the code would call `open(O_CREAT)` -on the file. If the file was a dangling symlink, this would create the -destination file (empty). That=E2=80=99s not an intended side-effect, an= d has -security implications if the symlink is controlled by a lower-privileged= -process. - -Fix that by not opening the destination file if it=E2=80=99s a symlink, = and -adjusting the rest of the code to cope with - - the fact that `fd =3D=3D -1` is not an error iff `is_symlink` is true= , - - and that `original_stat` will contain the `lstat()` results for the - symlink now, rather than the `stat()` results for its target (again, - iff `is_symlink` is true). - -This means that the target of the dangling symlink is no longer created,= -which was the bug. The symlink itself continues to be replaced (as -before) with the new file =E2=80=94 this is the intended behaviour of -`g_file_replace()`. - -The behaviour for non-symlink cases, or cases where the symlink was not -dangling, should be unchanged. - -Includes a unit test. - -Signed-off-by: Philip Withnall - -Fixes: #2325 ---- - gio/glocalfileoutputstream.c | 70 ++++++++++++++++------- - gio/tests/file.c | 108 +++++++++++++++++++++++++++++++++++ - 2 files changed, 158 insertions(+), 20 deletions(-) - -diff --git a/gio/glocalfileoutputstream.c b/gio/glocalfileoutputstream.c= -index a3dd62172..553fcbbae 100644 ---- a/gio/glocalfileoutputstream.c -+++ b/gio/glocalfileoutputstream.c -@@ -874,16 +874,22 @@ handle_overwrite_open (const char *filename, - /* Could be a symlink, or it could be a regular ELOOP error, - * but then the next open will fail too. */ - is_symlink =3D TRUE; -- fd =3D g_open (filename, open_flags, mode); -+ if (!(flags & G_FILE_CREATE_REPLACE_DESTINATION)) -+ fd =3D g_open (filename, open_flags, mode); - } --#else -- fd =3D g_open (filename, open_flags, mode); -- errsv =3D errno; -+#else /* if !O_NOFOLLOW */ - /* This is racy, but we do it as soon as possible to minimize the rac= e */ - is_symlink =3D g_file_test (filename, G_FILE_TEST_IS_SYMLINK); -+ -+ if (!is_symlink || !(flags & G_FILE_CREATE_REPLACE_DESTINATION)) -+ { -+ fd =3D g_open (filename, open_flags, mode); -+ errsv =3D errno; -+ } - #endif -=20 -- if (fd =3D=3D -1) -+ if (fd =3D=3D -1 && -+ (!is_symlink || !(flags & G_FILE_CREATE_REPLACE_DESTINATION))) - { - char *display_name =3D g_filename_display_name (filename); - g_set_error (error, G_IO_ERROR, -@@ -893,13 +899,25 @@ handle_overwrite_open (const char *filename, - g_free (display_name); - return -1; - } -- =20 -+ -+ if (!is_symlink) -+ { - #ifdef G_OS_WIN32 -- res =3D GLIB_PRIVATE_CALL (g_win32_fstat) (fd, &original_stat); -+ res =3D GLIB_PRIVATE_CALL (g_win32_fstat) (fd, &original_stat); - #else -- res =3D fstat (fd, &original_stat); -+ res =3D fstat (fd, &original_stat); - #endif -- errsv =3D errno; -+ errsv =3D errno; -+ } -+ else -+ { -+#ifdef G_OS_WIN32 -+ res =3D GLIB_PRIVATE_CALL (g_win32_lstat_utf8) (filename, &origin= al_stat); -+#else -+ res =3D g_lstat (filename, &original_stat); -+#endif -+ errsv =3D errno; -+ } -=20 - if (res !=3D 0) - { -@@ -916,16 +934,27 @@ handle_overwrite_open (const char *filename, - if (!S_ISREG (original_stat.st_mode)) - { - if (S_ISDIR (original_stat.st_mode)) -- g_set_error_literal (error, -- G_IO_ERROR, -- G_IO_ERROR_IS_DIRECTORY, -- _("Target file is a directory")); -- else -- g_set_error_literal (error, -- G_IO_ERROR, -- G_IO_ERROR_NOT_REGULAR_FILE, -- _("Target file is not a regular file")); -- goto err_out; -+ { -+ g_set_error_literal (error, -+ G_IO_ERROR, -+ G_IO_ERROR_IS_DIRECTORY, -+ _("Target file is a directory")); -+ goto err_out; -+ } -+ else if (!is_symlink || -+#ifdef S_ISLNK -+ !S_ISLNK (original_stat.st_mode) -+#else -+ FALSE -+#endif -+ ) -+ { -+ g_set_error_literal (error, -+ G_IO_ERROR, -+ G_IO_ERROR_NOT_REGULAR_FILE, -+ _("Target file is not a regular file"));= -+ goto err_out; -+ } - } - =20 - if (etag !=3D NULL) -@@ -1006,7 +1035,8 @@ handle_overwrite_open (const char *filename, - } - } -=20 -- g_close (fd, NULL); -+ if (fd >=3D 0) -+ g_close (fd, NULL); - *temp_filename =3D tmp_filename; - return tmpfd; - } -diff --git a/gio/tests/file.c b/gio/tests/file.c -index efb2eaadd..bc55f3af4 100644 ---- a/gio/tests/file.c -+++ b/gio/tests/file.c -@@ -804,6 +804,113 @@ test_replace_cancel (void) - g_object_unref (tmpdir); - } -=20 -+static void -+test_replace_symlink (void) -+{ -+#ifdef G_OS_UNIX -+ gchar *tmpdir_path =3D NULL; -+ GFile *tmpdir =3D NULL, *source_file =3D NULL, *target_file =3D NULL;= -+ GFileOutputStream *stream =3D NULL; -+ const gchar *new_contents =3D "this is a test message which should be= written to source and not target"; -+ gsize n_written; -+ GFileEnumerator *enumerator =3D NULL; -+ GFileInfo *info =3D NULL; -+ gchar *contents =3D NULL; -+ gsize length =3D 0; -+ GError *local_error =3D NULL; -+ -+ g_test_bug ("https://gitlab.gnome.org/GNOME/glib/-/issues/2325"); -+ g_test_summary ("Test that G_FILE_CREATE_REPLACE_DESTINATION doesn=E2= =80=99t follow symlinks"); -+ -+ /* Create a fresh, empty working directory. */ -+ tmpdir_path =3D g_dir_make_tmp ("g_file_replace_symlink_XXXXXX", &loc= al_error); -+ g_assert_no_error (local_error); -+ tmpdir =3D g_file_new_for_path (tmpdir_path); -+ -+ g_test_message ("Using temporary directory %s", tmpdir_path); -+ g_free (tmpdir_path); -+ -+ /* Create symlink `source` which points to `target`. */ -+ source_file =3D g_file_get_child (tmpdir, "source"); -+ target_file =3D g_file_get_child (tmpdir, "target"); -+ g_file_make_symbolic_link (source_file, "target", NULL, &local_error)= ; -+ g_assert_no_error (local_error); -+ -+ /* Ensure that `target` doesn=E2=80=99t exist */ -+ g_assert_false (g_file_query_exists (target_file, NULL)); -+ -+ /* Replace the `source` symlink with a regular file using -+ * %G_FILE_CREATE_REPLACE_DESTINATION, which should replace it *witho= ut* -+ * following the symlink */ -+ stream =3D g_file_replace (source_file, NULL, FALSE /* no backup */,= -+ G_FILE_CREATE_REPLACE_DESTINATION, NULL, &lo= cal_error); -+ g_assert_no_error (local_error); -+ -+ g_output_stream_write_all (G_OUTPUT_STREAM (stream), new_contents, st= rlen (new_contents), -+ &n_written, NULL, &local_error); -+ g_assert_no_error (local_error); -+ g_assert_cmpint (n_written, =3D=3D, strlen (new_contents)); -+ -+ g_output_stream_close (G_OUTPUT_STREAM (stream), NULL, &local_error);= -+ g_assert_no_error (local_error); -+ -+ g_clear_object (&stream); -+ -+ /* At this point, there should still only be one file: `source`. It s= hould -+ * now be a regular file. `target` should not exist. */ -+ enumerator =3D g_file_enumerate_children (tmpdir, -+ G_FILE_ATTRIBUTE_STANDARD_NAM= E "," -+ G_FILE_ATTRIBUTE_STANDARD_TYP= E, -+ G_FILE_QUERY_INFO_NOFOLLOW_SY= MLINKS, NULL, &local_error); -+ g_assert_no_error (local_error); -+ -+ info =3D g_file_enumerator_next_file (enumerator, NULL, &local_error)= ; -+ g_assert_no_error (local_error); -+ g_assert_nonnull (info); -+ -+ g_assert_cmpstr (g_file_info_get_name (info), =3D=3D, "source"); -+ g_assert_cmpint (g_file_info_get_file_type (info), =3D=3D, G_FILE_TYP= E_REGULAR); -+ -+ g_clear_object (&info); -+ -+ info =3D g_file_enumerator_next_file (enumerator, NULL, &local_error)= ; -+ g_assert_no_error (local_error); -+ g_assert_null (info); -+ -+ g_file_enumerator_close (enumerator, NULL, &local_error); -+ g_assert_no_error (local_error); -+ g_clear_object (&enumerator); -+ -+ /* Double-check that `target` doesn=E2=80=99t exist */ -+ g_assert_false (g_file_query_exists (target_file, NULL)); -+ -+ /* Check the content of `source`. */ -+ g_file_load_contents (source_file, -+ NULL, -+ &contents, -+ &length, -+ NULL, -+ &local_error); -+ g_assert_no_error (local_error); -+ g_assert_cmpstr (contents, =3D=3D, new_contents); -+ g_assert_cmpuint (length, =3D=3D, strlen (new_contents)); -+ g_free (contents); -+ -+ /* Tidy up. */ -+ g_file_delete (source_file, NULL, &local_error); -+ g_assert_no_error (local_error); -+ -+ g_file_delete (tmpdir, NULL, &local_error); -+ g_assert_no_error (local_error); -+ -+ g_clear_object (&target_file); -+ g_clear_object (&source_file); -+ g_clear_object (&tmpdir); -+#else /* if !G_OS_UNIX */ -+ g_test_skip ("Symlink replacement tests can only be run on Unix") -+#endif -+} -+ - static void - on_file_deleted (GObject *object, - GAsyncResult *result, -@@ -1754,6 +1861,7 @@ main (int argc, char *argv[]) - g_test_add_data_func ("/file/async-create-delete/4096", GINT_TO_POINT= ER (4096), test_create_delete); - g_test_add_func ("/file/replace-load", test_replace_load); - g_test_add_func ("/file/replace-cancel", test_replace_cancel); -+ g_test_add_func ("/file/replace-symlink", test_replace_symlink); - g_test_add_func ("/file/async-delete", test_async_delete); - #ifdef G_OS_UNIX - g_test_add_func ("/file/copy-preserve-mode", test_copy_preserve_mode)= ; ---=20 -2.30.1 - --=20 2.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0002-gnu-glib-Update-to-2.68.0.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0002-gnu-glib-Update-to-2.68.0.patch" =46rom f96abf4ed2388b838705f086fdea041ccdf53bbc Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 11 Mar 2021 07:22:07 -0500 Subject: [PATCH 02/56] gnu: glib: Update to 2.68.0. * gnu/packages/glib.scm (glib) [version]: Update to 2.68.0. [patches]: 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]: Modify phase. ['check]: Remove phase. ['move-executables]: Remove phase. [native-inputs]: Add intltool, python, libxml2 and libxslt. Remove dbus. [inputs]: Add bash-completion, dbus and libelf. [propagated-inputs]: Add libselinux. * gnu/packages/patches/glib-tests-timer.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Adjust. --- gnu/local.mk | 1 - gnu/packages/glib.scm | 168 ++++++-------------- gnu/packages/patches/glib-tests-timer.patch | 15 -- 3 files changed, 53 insertions(+), 131 deletions(-) delete mode 100644 gnu/packages/patches/glib-tests-timer.patch diff --git a/gnu/local.mk b/gnu/local.mk index d924b20bcf..fc05786287 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1081,7 +1081,6 @@ 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/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 a446ce1ace..d29dca2db8 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -36,11 +36,13 @@ #:use-module (gnu packages) #:use-module (gnu packages backup) #:use-module (gnu packages base) + #:use-module (gnu packages bash) #:use-module (gnu packages bison) #:use-module (gnu packages check) #: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 +62,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 +174,7 @@ shared NFS home directories.") (define glib (package (name "glib") - (version "2.62.6") + (version "2.68.0") (source (origin (method url-fetch) @@ -180,9 +183,9 @@ shared NFS home directories.") name "/" (string-take version 4) "/" name "-" version ".tar.xz")) (sha256 - (base32 "174bsmbmcvaw69ff9g60q5sx0fn23rkhqcwqz17h5s7sprps4kqh"))= + (base32 "1sh3h6b734cxhdd1qlzvhxq6rc7k73dsisap5y3s419s9xc4ywv7"))= (patches - (search-patches "glib-tests-timer.patch" "glib-appinfo-watch.pat= ch")) + (search-patches "glib-appinfo-watch.patch")) (modules '((guix build utils))) (snippet '(begin @@ -208,24 +211,31 @@ shared NFS home directories.") (("test_timeout_slow =3D 120") "test_timeout_slow =3D 180"))))) '()) - (add-after 'unpack 'patch-dbus-launch-path + (add-after 'unpack 'disable-failing-tests + (lambda _ + (with-directory-excursion "glib/tests" + (substitute* '("unix.c" "utils.c") + (("[ \t]*g_test_add_func.*;") ""))) + (with-directory-excursion "gio/tests" + (substitute* '("contenttype.c" "gdbus-address-get-session= =2Ec" + "gdbus-peer.c" "appinfo.c" "desktop-app-in= fo.c") + (("[ \t]*g_test_add_func.*;") ""))) + #t)) + ;; 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" @@ -235,103 +245,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)))))) @@ -340,15 +270,23 @@ 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 + `(("bash-completion" ,bash-completion) + ("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-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.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0003-gnu-glib-Enable-man-pages.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0003-gnu-glib-Enable-man-pages.patch" =46rom 170497cb8040081c589bd0f0c4c5b3b9120eb308 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 25 Mar 2021 02:14:27 -0400 Subject: [PATCH 03/56] gnu: glib: Enable man pages. * gnu/packages/glib.scm (glib)[arguments]<#:configure-flags>[-Dman]: New = flag. [native-inputs]: Add docbook-xsl. --- gnu/packages/glib.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index d29dca2db8..d13ba5998e 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -198,6 +198,7 @@ shared NFS home directories.") "bin")) ; glib-mkenums, gtester, etc.; depends on Python (arguments `(#:disallowed-references (,tzdata-for-tests) + #:configure-flags '("-Dman=3Dtrue") #:phases (modify-phases %standard-phases ;; TODO: Remove the conditional in the next core-updates cycle.= @@ -270,7 +271,8 @@ shared NFS home directories.") ;; (assoc-ref %outputs "bin")= ;; "/bin")) (native-inputs - `(("gettext" ,gettext-minimal) + `(("docbook-xsl" ,docbook-xsl) + ("gettext" ,gettext-minimal) ("libintl" ,intltool) ("m4" ,m4) ; for installing m4 macros ("perl" ,perl) ; needed by GIO tests --=20 2.31.0 --------------13C838295F3F8C51CF879FBC 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 cd01ed127b0d512f74a28d8da0a5aa59b561561b Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 11 Mar 2021 07:45:50 -0500 Subject: [PATCH 04/56] 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 d13ba5998e..24829fa03d 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -306,11 +306,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.31.0 --------------13C838295F3F8C51CF879FBC 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 109f222e5fab3b20f0fd14628224af5a1728cecd Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 11 Mar 2021 09:37:00 -0500 Subject: [PATCH 05/56] 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 24829fa03d..01bdcefb04 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -321,8 +321,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 @@ -333,12 +333,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 ;;; TODO: Merge into glib as a 'static' output on core-updates. --=20 2.31.0 --------------13C838295F3F8C51CF879FBC 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 59e424de77010544119017dc0dbb788e346fda74 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 11 Mar 2021 09:39:52 -0500 Subject: [PATCH 06/56] 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 | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 01bdcefb04..36cb3ed3c7 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -321,7 +321,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))) @@ -331,6 +332,17 @@ 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" + (substitute* (find-files "." "\\.xml$") + (("http://www.oasis-open.org/docbook/xml/4\\.5/") + (string-append (assoc-ref inputs "docbook-xml-4.5") + "/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)) (add-after 'install 'move-doc (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) --=20 2.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0007-gnu-Temporarily-use-glib-without-documentation.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename*0="0007-gnu-Temporarily-use-glib-without-documentation.patch" =46rom 9e441a2c23a14b97308d2507e591b42c37502605 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Wed, 24 Mar 2021 02:47:29 -0400 Subject: [PATCH 07/56] gnu: Temporarily use glib without documentation. GLib v2.68.0 refers to gtk-doc v1.32.1 which is not released yet. Therefore, hide glib-with-documentation and unhide glib. * gnu/packages/glib.scm (glib) [properties]: Remove hidden. (glib-with-documentation) [properties]: Add hidden. --- gnu/packages/glib.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 36cb3ed3c7..493b3e5b64 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -192,7 +192,7 @@ shared NFS home directories.") (substitute* "tests/spawn-test.c" (("/bin/sh") "sh")) #t)))) - (properties '((hidden? . #t))) + ;; (properties '((hidden? . #t))) (build-system meson-build-system) (outputs '("out" ; everything "bin")) ; glib-mkenums, gtester, etc.; depends on Python @@ -318,7 +318,8 @@ functions for strings and common data structures.") ;; glib's doc must be built in a separate package since it requires gt= k-doc, ;; which in turn depends on glib. (package/inherit glib - (properties (alist-delete 'hidden? (package-properties glib))) + ;; (properties (alist-delete 'hidden? (package-properties glib))) + (properties '((hidden? . #t))) (outputs (cons "doc" (package-outputs glib))) ; 20 MiB of GTK-Doc re= ference (native-inputs `(("docbook-xml-4.2" ,docbook-xml-4.2) --=20 2.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0008-gnu-libsigc-Update-to-3.0.6.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0008-gnu-libsigc-Update-to-3.0.6.patch" =46rom b0729d8d4921460155b7ec6ab704e70eeff6e9cc Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Wed, 24 Mar 2021 23:28:10 -0400 Subject: [PATCH 08/56] gnu: libsigc++: Update to 3.0.6. * gnu/packages/glib.scm (libsigc++)[version]: Update to 3.0.6. [build-system]: Change from gnu to meson. [native-inputs]: Add mm-common, perl, libxml2 and libxslt. [inputs]: Add boost. [license]: Update to lgpl3+. --- gnu/packages/glib.scm | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 493b3e5b64..9e472eb3a0 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -38,6 +38,7 @@ #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages bison) + #:use-module (gnu packages boost) #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages docbook) @@ -570,18 +571,25 @@ by GDBus included in Glib.") (define libsigc++ (package (name "libsigc++") - (version "2.10.3") + (version "3.0.6") (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/libsigc++/" - (version-major+minor version) "/" - name "-" version ".tar.xz")) - (sha256 - (base32 - "11j7j1jv4z58d9s7jvl42fnqa1dzl4idgil9r45cjv1w673dys0b")))= ) - (build-system gnu-build-system) - (native-inputs `(("pkg-config" ,pkg-config) - ("m4" ,m4))) + (method url-fetch) + (uri (string-append "mirror://gnome/sources/libsigc++/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1kn57b039lg20182lnchl1ys27vf34brn43f895cal8nc7sdq3mp"))= )) + (build-system meson-build-system) + (native-inputs + `(("m4" ,m4) + ("mm-common" ,mm-common) + ("perl" ,perl) + ("pkg-config" ,pkg-config) + ("xmllint" ,libxml2) + ("xsltproc" ,libxslt))) + (inputs + `(("boost" ,boost))) (home-page "https://libsigcplusplus.github.io/libsigcplusplus/") (synopsis "Type-safe callback system for standard C++") (description @@ -592,7 +600,7 @@ static or virtual. =20 It also contains adaptor classes for connection of dissimilar callbacks = and has an ease of use unmatched by other C++ callback libraries.") - (license license:lgpl2.1+))) + (license license:lgpl3+))) =20 (define glibmm (package --=20 2.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0009-gnu-libsigc-Enable-documentation.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0009-gnu-libsigc-Enable-documentation.patch" =46rom 23774d4549c1a152a4290d31541090a496db3fe4 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 25 Mar 2021 00:07:52 -0400 Subject: [PATCH 09/56] gnu: libsigc++: Enable documentation. * gnu/packages/glib.scm (libsigc++)[outputs]: New output "doc". [arguments]<#:configure-flags>[-Dbuild-documentation]: New flag. <#:phases>['patch-docbook-xml]: New phase. ['move-doc]: New phase. [native-inputs]: Add dblatex, doxygen and graphviz. --- gnu/packages/glib.scm | 45 +++++++++++++++++++++++++++++++++++-------- 1 file changed, 37 insertions(+), 8 deletions(-) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 9e472eb3a0..1f6098becf 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -49,6 +49,7 @@ #:use-module (gnu packages flex) #:use-module (gnu packages gettext) #:use-module (gnu packages gnome) + #:use-module (gnu packages graphviz) #:use-module (gnu packages gperf) #:use-module (gnu packages gtk) #:use-module (gnu packages libffi) @@ -581,8 +582,36 @@ by GDBus included in Glib.") (base32 "1kn57b039lg20182lnchl1ys27vf34brn43f895cal8nc7sdq3mp"))= )) (build-system meson-build-system) + (outputs '("out" "doc")) + (arguments + `(#:configure-flags + (list + "-Dbuild-documentation=3Dtrue") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-docbook-xml + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion "docs" + (substitute* (find-files "." "\\.xml$") + (("http://www.oasis-open.org/docbook/xml/4\\.1\\.2/") + (string-append (assoc-ref inputs "docbook-xml") + "/xml/dtd/docbook/")))) + #t)) + (add-after 'install 'move-doc + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (assoc-ref outputs "doc"))) + (mkdir-p (string-append doc "/share")) + (rename-file + (string-append out "/share/doc") + (string-append doc "/share/doc")) + #t)))))) (native-inputs - `(("m4" ,m4) + `(("docbook-xml" ,docbook-xml-4.1.2) + ("docbook-xsl" ,docbook-xsl) + ("dot" ,graphviz) + ("doxygen" ,doxygen) + ("m4" ,m4) ("mm-common" ,mm-common) ("perl" ,perl) ("pkg-config" ,pkg-config) @@ -594,12 +623,12 @@ by GDBus included in Glib.") (synopsis "Type-safe callback system for standard C++") (description "Libsigc++ implements a type-safe callback system for standard C++.= It -allows you to define signals and to connect those signals to any callbac= k -function, either global or a member function, regardless of whether it i= s -static or virtual. + allows you to define signals and to connect those signals to any ca= llback + function, either global or a member function, regardless of whether= it is + static or virtual. =20 -It also contains adaptor classes for connection of dissimilar callbacks = and -has an ease of use unmatched by other C++ callback libraries.") + It also contains adaptor classes for connection of dissimilar callb= acks and + has an ease of use unmatched by other C++ callback libraries.") (license license:lgpl3+))) =20 (define glibmm @@ -631,8 +660,8 @@ has an ease of use unmatched by other C++ callback li= braries.") ;; to open a TLS session; just skip it. (substitute* "tests/giomm_tls_client/main.cc" (("Gio::init.*$") - "return 77;\n")) - #t))))) + "return 77 ;\n")) + #t))))) (native-inputs `(("pkg-config" ,pkg-config) ("glib" ,glib "bin"))) (propagated-inputs --=20 2.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0010-gnu-glibmm-Update-to-2.68.0.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0010-gnu-glibmm-Update-to-2.68.0.patch" =46rom aecb79dbf9aa217cf84fe9b1411468aa4d44bd4c Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 25 Mar 2021 01:56:45 -0400 Subject: [PATCH 10/56] gnu: glibmm: Update to 2.68.0. * gnu/packages/glib.scm (glibmm)[version]: Update to 2.68.0. [arguments]<#:phases>['pre-build]: Remove phase. ['disable-failing-tests]: New phase. [native-inputs]: Add m4, mm-common, perl and libxslt. --- gnu/packages/glib.scm | 50 +++++++++++++++++++++---------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 1f6098becf..ac46b5ce45 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -634,36 +634,36 @@ by GDBus included in Glib.") (define glibmm (package (name "glibmm") - (version "2.62.0") + (version "2.68.0") (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/glibmm/" - (version-major+minor version) - "/glibmm-" version ".tar.xz")) - (sha256 - (base32 - "1ziwx6r7k7wbvg4qq1rgrv8zninapgrmhn1hs6926a3krh9ryr9n")))= ) - (build-system gnu-build-system) + (method url-fetch) + (uri (string-append "mirror://gnome/sources/glibmm/" + (version-major+minor version) + "/glibmm-" version ".tar.xz")) + (sha256 + (base32 + "0xgkyhb2876mcyyib5rk3ya9aingyj68h02nl22yvkhx35rqbwy1"))= )) + (build-system meson-build-system) (arguments `(#:phases (modify-phases %standard-phases - (add-before 'build 'pre-build + (add-after 'unpack 'disable-failing-tests (lambda _ - ;; This test uses /etc/fstab as an example file to read - ;; from; choose a better example. - (substitute* "tests/giomm_simple/main.cc" - (("/etc/fstab") - (string-append (getcwd) - "/tests/giomm_simple/main.cc"))) - - ;; This test does a DNS lookup, and then expects to be able= - ;; to open a TLS session; just skip it. - (substitute* "tests/giomm_tls_client/main.cc" - (("Gio::init.*$") - "return 77 ;\n")) - #t))))) - (native-inputs `(("pkg-config" ,pkg-config) - ("glib" ,glib "bin"))) + (substitute* "tests/meson.build" + ;; This test uses /etc/fstab as an example file to read + ;; from; disable it. + (("[ \t]*.*giomm_simple.*$") "") + ;; This test does a DNS lookup, and then expects to be ab= le + ;; to open a TLS session; just skip it. + (("[ \t]*.*giomm_tls_client.*$") "")) + #t))))) + (native-inputs + `(("glib:bin" ,glib "bin") + ("m4" ,m4) + ("mm-common" ,mm-common) + ("perl" ,perl) + ("pkg-config" ,pkg-config) + ("xsltproc" ,libxslt))) (propagated-inputs `(("libsigc++" ,libsigc++) ("glib" ,glib))) --=20 2.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0011-gnu-glibmm-Enable-documentation.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0011-gnu-glibmm-Enable-documentation.patch" =46rom 8ced07a179fe52541f8b87d1fefea5aac0b05332 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 25 Mar 2021 03:04:01 -0400 Subject: [PATCH 11/56] gnu: glibmm: Enable documentation. * gnu/packages/glib.scm (glibmm)[outputs]: New output "doc". [arguments]<#:configure-flags>[-Dbuild-documentation]: New flag. <#:phases>['move-doc]: New phase. [native-inputs]: Add doxygen and graphviz. --- gnu/packages/glib.scm | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index ac46b5ce45..bff6f281cd 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -644,8 +644,12 @@ by GDBus included in Glib.") (base32 "0xgkyhb2876mcyyib5rk3ya9aingyj68h02nl22yvkhx35rqbwy1"))= )) (build-system meson-build-system) + (outputs '("out" "doc")) (arguments - `(#:phases + `(#:configure-flags + (list + "-Dbuild-documentation=3Dtrue") + #:phases (modify-phases %standard-phases (add-after 'unpack 'disable-failing-tests (lambda _ @@ -656,9 +660,20 @@ by GDBus included in Glib.") ;; This test does a DNS lookup, and then expects to be ab= le ;; to open a TLS session; just skip it. (("[ \t]*.*giomm_tls_client.*$") "")) - #t))))) + #t)) + (add-after 'install 'move-doc + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (assoc-ref outputs "doc"))) + (mkdir-p (string-append doc "/share")) + (rename-file + (string-append out "/share/doc") + (string-append doc "/share/doc")) + #t)))))) (native-inputs - `(("glib:bin" ,glib "bin") + `(("dot" ,graphviz) + ("doxygen" ,doxygen) + ("glib:bin" ,glib "bin") ("m4" ,m4) ("mm-common" ,mm-common) ("perl" ,perl) --=20 2.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0012-gnu-gtk-doc-Change-build-system.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0012-gnu-gtk-doc-Change-build-system.patch" =46rom a967d8c345584aee0a689cc0eac94cbcb9ce418c Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Fri, 12 Mar 2021 08:51:02 -0500 Subject: [PATCH 12/56] gnu: gtk-doc: Change build-system. * gnu/packages/gtk.scm (gtk-doc) [build-system]: Change from gnu to glib-= or-gtk. --- gnu/packages/gtk.scm | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index f0c1fcccb2..dadd6bbf42 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -1742,7 +1742,7 @@ information.") (sha256 (base32 "05apmwibkmn1icx05l8aw241lhymcx01zvk5i499cb150bijj7li"))= )) - (build-system gnu-build-system) + (build-system glib-or-gtk-build-system) (arguments `(#:parallel-tests? #f #:phases @@ -1750,16 +1750,16 @@ information.") (add-after 'unpack 'patch-gtk-doc-scan (lambda* (#:key inputs #:allow-other-keys) (substitute* "gtk-doc.xsl" - (("http://docbook.sourceforge.net/release/xsl/current/html= /chunk.xsl") - (string-append (assoc-ref inputs "docbook-xsl") - "/xml/xsl/docbook-xsl-" - ,(package-version docbook-xsl) - "/html/chunk.xsl")) - (("http://docbook.sourceforge.net/release/xsl/current/comm= on/en.xml") - (string-append (assoc-ref inputs "docbook-xsl") - "/xml/xsl/docbook-xsl-" - ,(package-version docbook-xsl) - "/common/en.xml"))) + (("http://docbook.sourceforge.net/release/xsl/current/htm= l/chunk.xsl") + (string-append (assoc-ref inputs "docbook-xsl") + "/xml/xsl/docbook-xsl-" + ,(package-version docbook-xsl) + "/html/chunk.xsl")) + (("http://docbook.sourceforge.net/release/xsl/current/com= mon/en.xml") + (string-append (assoc-ref inputs "docbook-xsl") + "/xml/xsl/docbook-xsl-" + ,(package-version docbook-xsl) + "/common/en.xml"))) #t)) (add-after 'patch-gtk-doc-scan 'patch-test-out (lambda _ @@ -1768,7 +1768,7 @@ information.") ;; generator metafont outputs a lot of extra lines, this ;; test would always fail. Disable it for now. (substitute* "tests/Makefile.in" - (("empty.sh sanity.sh") "empty.sh")) + (("empty.sh sanity.sh") "empty.sh")) #t)) (add-before 'configure 'fix-docbook (lambda* (#:key inputs #:allow-other-keys) --=20 2.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0013-gnu-gtk-doc-Correct-inputs.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0013-gnu-gtk-doc-Correct-inputs.patch" =46rom 2be0bd0434356b90b2751182d345f506c7cd0393 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Fri, 12 Mar 2021 08:58:34 -0500 Subject: [PATCH 13/56] gnu: gtk-doc: Correct inputs. * gnu/packages/gtk.scm (gtk-doc) [native-inputs]: Add glib:bin, perl and python-wrapper. [inputs]: Add python-anytree, python-lxml, python-parameterized, python-pygments, python-unittest2 and yelp-tools. Remove perl. --- gnu/packages/gtk.scm | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index dadd6bbf42..049815b8e5 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -1798,21 +1798,29 @@ information.") (assoc-ref %build-inputs "docbook-xml") "/xml/dtd/docbook/catalog.xml")))) (native-inputs - `(("pkg-config" ,pkg-config) + `(("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) ("itstool" ,itstool) - ("libxml" ,libxml2) - ("gettext" ,gettext-minimal) - ("bc" ,bc))) + ("perl" ,perl) + ("pkg-config" ,pkg-config) + ("python-wrapper" ,python-wrapper))) (inputs - `(("perl" ,perl) - ("python" ,python) - ("xsltproc" ,libxslt) + `(("bc" ,bc) ("dblatex" ,dblatex) ("docbook-xml" ,docbook-xml-4.3) ("docbook-xsl" ,docbook-xsl) - ("source-highlight" ,source-highlight) ("glib" ,glib) - ("python-six" ,python-six))) + ("libxml2" ,libxml2) + ("libxslt" ,libxslt) + ("python" ,python) + ("python-anytree" ,python-anytree) + ("python-lxml" ,python-lxml) + ("python-parameterized" ,python-parameterized) + ("python-pygments" ,python-pygments) + ("python-unittest2" ,python-unittest2) + ("source-highlight" ,source-highlight) + ("yelp-tools" ,yelp-tools))) (home-page "https://www.gtk.org/gtk-doc/") (synopsis "Documentation generator from C source code") (description --=20 2.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0014-gnu-gtk-doc-Update-to-1.32.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0014-gnu-gtk-doc-Update-to-1.32.patch" =46rom 865089af4a405af3da349610d66e8e705a8dddf9 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Fri, 12 Mar 2021 09:08:32 -0500 Subject: [PATCH 14/56] gnu: gtk-doc: Update to 1.32. * gnu/packages/gtk.scm (gtk-doc) [version]: Update to 1.32. [arguments]<#:phases>['patch-test-out]: Remove phase. ['disable-failing-tests]: New phase. ['set-HOME]: New phase. --- gnu/packages/gtk.scm | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 049815b8e5..2322b5c627 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -1733,7 +1733,7 @@ information.") (define-public gtk-doc (package (name "gtk-doc") - (version "1.28") + (version "1.32") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -1741,7 +1741,7 @@ information.") name "-" version ".tar.xz")) (sha256 (base32 - "05apmwibkmn1icx05l8aw241lhymcx01zvk5i499cb150bijj7li"))= )) + "0z4h1dggpimygdp719l457jvqilps4qcfpk31jmj3jqpzcsg03ny"))= )) (build-system glib-or-gtk-build-system) (arguments `(#:parallel-tests? #f @@ -1761,14 +1761,11 @@ information.") ,(package-version docbook-xsl) "/common/en.xml"))) #t)) - (add-after 'patch-gtk-doc-scan 'patch-test-out + (add-after 'unpack 'disable-failing-tests (lambda _ - ;; sanity.sh counts the number of status lines. Since our - ;; texlive regenerates the fonts every time and the font - ;; generator metafont outputs a lot of extra lines, this - ;; test would always fail. Disable it for now. (substitute* "tests/Makefile.in" - (("empty.sh sanity.sh") "empty.sh")) + (("annotations.sh bugs.sh empty.sh fail.sh gobject.sh pro= gram.sh") + "")) #t)) (add-before 'configure 'fix-docbook (lambda* (#:key inputs #:allow-other-keys) @@ -1785,6 +1782,12 @@ information.") "^catalog.xml$")) " \"http://docbook.sourceforge.net/releas= e/xsl/"))) #t)) + (add-before 'build 'set-HOME + (lambda _ + ;; FIXME: dblatex with texlive-union does not find the buil= t + ;; metafonts, so it tries to generate them in HOME. + (setenv "HOME" "/tmp") + #t)) (add-after 'install 'wrap-executables (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) --=20 2.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0015-gnu-gtk-doc-Enable-help.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0015-gnu-gtk-doc-Enable-help.patch" =46rom adb1bbfaebbcb0336212ecbc1b59cca26f271b9a Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Fri, 12 Mar 2021 09:13:14 -0500 Subject: [PATCH 15/56] gnu: gtk-doc: Enable help. * gnu/packages/gtk.scm (gtk-doc) [outputs]: New output 'help'. [arguments]<#:configure-flags>[--with-help-dir]: New flag. --- gnu/packages/gtk.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 2322b5c627..4d3017da73 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -1743,6 +1743,7 @@ information.") (base32 "0z4h1dggpimygdp719l457jvqilps4qcfpk31jmj3jqpzcsg03ny"))= )) (build-system glib-or-gtk-build-system) + (outputs '("out" "help")) (arguments `(#:parallel-tests? #f #:phases @@ -1799,7 +1800,10 @@ information.") #:configure-flags (list (string-append "--with-xml-catalog=3D" (assoc-ref %build-inputs "docbook-xml") - "/xml/dtd/docbook/catalog.xml")))) + "/xml/dtd/docbook/catalog.xml") + (string-append "--with-help-dir=3D" + (assoc-ref %outputs "help") + "/share/help")))) (native-inputs `(("gettext" ,gettext-minimal) ("glib:bin" ,glib "bin") --=20 2.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0016-gnu-gtk-doc-Update-synopsis-description-home-page-an.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename*0="0016-gnu-gtk-doc-Update-synopsis-description-home-page-an.pa"; filename*1="tch" =46rom 8a73dc42b1a80e908f6b13496ab8944fb175c1cf Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Fri, 12 Mar 2021 09:20:40 -0500 Subject: [PATCH 16/56] gnu: gtk-doc: Update synopsis, description, home-p= age and license. * gnu/packages/gtk.scm (gtk-doc) [home-page]: Modify. [synopsis]: Modify. [description]: Modify. [license]: Add fdl1.1+. --- gnu/packages/gtk.scm | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 4d3017da73..4c7b253060 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -1828,13 +1828,19 @@ information.") ("python-unittest2" ,python-unittest2) ("source-highlight" ,source-highlight) ("yelp-tools" ,yelp-tools))) - (home-page "https://www.gtk.org/gtk-doc/") - (synopsis "Documentation generator from C source code") - (description - "GTK-Doc generates API documentation from comments added to C code.= It is -typically used to document the public API of GTK+ and GNOME libraries, b= ut it -can also be used to document application code.") - (license license:gpl2+))) + (home-page "https://wiki.gnome.org/DocumentationProject/GtkDoc") + (synopsis "GTK+ DocBook Documentation Generator") + (description "GtkDoc is a tool used to extract API documentation fro= m C-code +like Doxygen, but handles documentation of GObject (including signals an= d +properties) that makes it very suitable for GTK+ apps and libraries. It= uses +docbook for intermediate files and can produce html by default and pdf/m= an-pages +with some extra work.") + (license + (list + ;; Docs. + license:fdl1.1+ + ;; Others. + license:gpl2+)))) =20 (define-public gtk-engines (package --=20 2.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0017-gnu-gobject-introspection-Propagate-glib.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0017-gnu-gobject-introspection-Propagate-glib.patch" =46rom d7df90e58a162fcacb0f6064523767f91fd17baa Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 11 Mar 2021 09:59:44 -0500 Subject: [PATCH 17/56] gnu: gobject-introspection: Propagate glib. * gnu/packages/glib.scm (gobject-introspection) [inputs]: Move glib to ..= =2E [propagated-inputs]: ... here. --- gnu/packages/glib.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index bff6f281cd..7d31b1dc73 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -416,11 +416,11 @@ functions for strings and common data structures.")= (inputs `(("bison" ,bison) ("flex" ,flex) - ("glib" ,glib) ("python" ,python-wrapper) ("zlib" ,zlib))) (propagated-inputs - `(;; In practice, GIR users will need libffi when using + `(("glib" ,glib) + ;; In practice, GIR users will need libffi when using ;; gobject-introspection. ("libffi" ,libffi))) (native-search-paths --=20 2.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0018-gnu-cairo-Make-some-cosmetic-changes.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0018-gnu-cairo-Make-some-cosmetic-changes.patch" =46rom 9fa9752ba9b28cd8ecc6d7d539cf0a05133682ce Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Fri, 4 Dec 2020 00:49:10 -0500 Subject: [PATCH 18/56] gnu: cairo: Make some cosmetic changes. * gnu/packages/patches/cairo-CVE-2018-19876.patch, gnu/packages/patches/cairo-CVE-2020-35492.patch: Remove patches. * gnu/local.mk (dist_patch_DATA): Unregister them. * gnu/packages/gtk.scm (cairo): Make some cosmetic changes. [replacement]: Remove. (cairo/fixed): Remove. --- gnu/local.mk | 2 - gnu/packages/gtk.scm | 92 +++++++++---------- .../patches/cairo-CVE-2018-19876.patch | 37 -------- .../patches/cairo-CVE-2020-35492.patch | 49 ---------- 4 files changed, 41 insertions(+), 139 deletions(-) delete mode 100644 gnu/packages/patches/cairo-CVE-2018-19876.patch delete mode 100644 gnu/packages/patches/cairo-CVE-2020-35492.patch diff --git a/gnu/local.mk b/gnu/local.mk index fc05786287..73f3ffbcf5 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -878,8 +878,6 @@ dist_patch_DATA =3D \ %D%/packages/patches/bpftrace-disable-bfd-disasm.patch \ %D%/packages/patches/busybox-CVE-2021-28831.patch \ %D%/packages/patches/byobu-writable-status.patch \ - %D%/packages/patches/cairo-CVE-2018-19876.patch \ - %D%/packages/patches/cairo-CVE-2020-35492.patch \ %D%/packages/patches/calibre-no-updates-dialog.patch \ %D%/packages/patches/calibre-remove-test-sqlite.patch \ %D%/packages/patches/calibre-remove-test-unrar.patch \ diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 4c7b253060..d9adfe28ea 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -123,67 +123,57 @@ tools have full access to view and control running = applications.") =20 (define-public cairo (package - (name "cairo") - (version "1.16.0") - (replacement cairo/fixed) - (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/"))) - -(define cairo/fixed - (package - (inherit cairo) - (source (origin - (inherit (package-source cairo)) - (patches (append (search-patches "cairo-CVE-2018-19876.pat= ch" - "cairo-CVE-2020-35492.pat= ch") - (origin-patches (package-source cairo))))= )))) + (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. diff --git a/gnu/packages/patches/cairo-CVE-2018-19876.patch b/gnu/packag= es/patches/cairo-CVE-2018-19876.patch deleted file mode 100644 index c0fba2ecaa..0000000000 --- a/gnu/packages/patches/cairo-CVE-2018-19876.patch +++ /dev/null @@ -1,37 +0,0 @@ -Copied from Debian. - -From: Carlos Garcia Campos -Date: Mon, 19 Nov 2018 12:33:07 +0100 -Subject: ft: Use FT_Done_MM_Var instead of free when available in - cairo_ft_apply_variations - -Fixes a crash when using freetype >=3D 2.9 - -[This is considered to be security-sensitive because WebKitGTK+ sets its= -own memory allocator, which is not compatible with system free(), making= -this a remotely triggerable denial of service or memory corruption.] - -Origin: upstream, commit:90e85c2493fdfa3551f202ff10282463f1e36645 -Bug: https://gitlab.freedesktop.org/cairo/cairo/merge_requests/5 -Bug-Debian: https://bugs.debian.org/916389 -Bug-CVE: CVE-2018-19876 ---- - src/cairo-ft-font.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/cairo-ft-font.c b/src/cairo-ft-font.c -index 325dd61..981973f 100644 ---- a/src/cairo-ft-font.c -+++ b/src/cairo-ft-font.c -@@ -2393,7 +2393,11 @@ skip: - done: - free (coords); - free (current_coords); -+#if HAVE_FT_DONE_MM_VAR -+ FT_Done_MM_Var (face->glyph->library, ft_mm_var); -+#else - free (ft_mm_var); -+#endif - } - } -=20 diff --git a/gnu/packages/patches/cairo-CVE-2020-35492.patch b/gnu/packag= es/patches/cairo-CVE-2020-35492.patch deleted file mode 100644 index e8b90fa5c5..0000000000 --- a/gnu/packages/patches/cairo-CVE-2020-35492.patch +++ /dev/null @@ -1,49 +0,0 @@ -Copied from Debian. - -From 03a820b173ed1fdef6ff14b4468f5dbc02ff59be Mon Sep 17 00:00:00 2001 -From: Heiko Lewin -Date: Tue, 15 Dec 2020 16:48:19 +0100 -Subject: [PATCH] Fix mask usage in image-compositor - -[trimmed test case, since not used in Debian build] - ---- - src/cairo-image-compositor.c | 8 ++-- - ---- cairo-1.16.0.orig/src/cairo-image-compositor.c -+++ cairo-1.16.0/src/cairo-image-compositor.c -@@ -2601,14 +2601,14 @@ _inplace_src_spans (void *abstract_rende - unsigned num_spans) - { - cairo_image_span_renderer_t *r =3D abstract_renderer; -- uint8_t *m; -+ uint8_t *m, *base =3D (uint8_t*)pixman_image_get_data(r->mask); - int x0; -=20 - if (num_spans =3D=3D 0) - return CAIRO_STATUS_SUCCESS; -=20 - x0 =3D spans[0].x; -- m =3D r->_buf; -+ m =3D base; - do { - int len =3D spans[1].x - spans[0].x; - if (len >=3D r->u.composite.run_length && spans[0].coverage =3D=3D 0xf= f) { -@@ -2646,7 +2646,7 @@ _inplace_src_spans (void *abstract_rende - spans[0].x, y, - spans[1].x - spans[0].x, h); -=20 -- m =3D r->_buf; -+ m =3D base; - x0 =3D spans[1].x; - } else if (spans[0].coverage =3D=3D 0x0) { - if (spans[0].x !=3D x0) { -@@ -2675,7 +2675,7 @@ _inplace_src_spans (void *abstract_rende - #endif - } -=20 -- m =3D r->_buf; -+ m =3D base; - x0 =3D spans[1].x; - } else { - *m++ =3D spans[0].coverage; --=20 2.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0019-gnu-cairo-Change-build-system.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0019-gnu-cairo-Change-build-system.patch" =46rom 2d93be247899688e378bfd267bc884a5152ada2d Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Fri, 4 Dec 2020 00:51:10 -0500 Subject: [PATCH 19/56] 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 d9adfe28ea..27c132ab59 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.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0020-gnu-cairo-Move-documentation-to-separate-output.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename*0="0020-gnu-cairo-Move-documentation-to-separate-output.patch" =46rom 403c8fb54e60c69e1a11863c226efffbb9952b2e Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Fri, 4 Dec 2020 00:53:16 -0500 Subject: [PATCH 20/56] 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 27c132ab59..6dd281e2bc 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.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0021-gnu-cairo-Enable-some-features.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0021-gnu-cairo-Enable-some-features.patch" =46rom 67db52bb67fb57967c869a6e852288a2a32101a1 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Fri, 4 Dec 2020 01:02:00 -0500 Subject: [PATCH 21/56] 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 6dd281e2bc..f1f71c2612 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.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0022-gnu-cairo-Update-synopsis-description-and-license.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename*0="0022-gnu-cairo-Update-synopsis-description-and-license.patch" =46rom 2dd3536d8cddbfd502aace1582b764242a0fb04e Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Fri, 4 Dec 2020 01:04:37 -0500 Subject: [PATCH 22/56] 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 f1f71c2612..92a6dfc723 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.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0023-gnu-cairomm-Update-to-1.16.0.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0023-gnu-cairomm-Update-to-1.16.0.patch" =46rom cf19f2b3a3d937b35fb1293f1ee5649824358afd Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 25 Mar 2021 06:49:16 -0400 Subject: [PATCH 23/56] gnu: cairomm: Update to 1.16.0. * gnu/packages/gtk.scm (cairomm)[version]: Update to 1.16.0. [build-system]: Change from gnu to meson. [arguments]<#:glib-or-gtk?>: New argument. <#:configure-flags>[-Dboost-shared]: New flag. <#:make-flags>: Remove argument. [native-inputs]: Add boost and mm-common. --- gnu/packages/gtk.scm | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 92a6dfc723..82d59ed60b 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -58,6 +58,7 @@ #:use-module (gnu packages algebra) #:use-module (gnu packages autotools) #:use-module (gnu packages base) + #:use-module (gnu packages boost) #:use-module (gnu packages build-tools) #:use-module (gnu packages texinfo) #:use-module (gnu packages check) @@ -1264,19 +1265,24 @@ guile-gnome-platform (GNOME developer libraries),= and guile-gtksourceview.") (define-public cairomm (package (name "cairomm") - (version "1.12.2") + (version "1.16.0") (source (origin (method url-fetch) (uri (string-append "https://www.cairographics.org/release= s/" - name "-" version ".tar.gz")) + name "-" version ".tar.xz")) (sha256 (base32 - "16fmigxsaz85c3lgcls7biwyz8zy8c8h3jndfm54cxxas3a7zi25"))= )) - (build-system gnu-build-system) + "1ya4y7qa000cjawqwswbqv26y5icfkmhs5iiiil4dxgrqn91923y"))= )) + (build-system meson-build-system) (arguments - ;; The examples lack -lcairo. - '(#:make-flags '("LDFLAGS=3D-lcairo"))) - (native-inputs `(("pkg-config" ,pkg-config))) + `(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas + #:configure-flags + (list + "-Dboost-shared=3Dtrue"))) + (native-inputs + `(("boost" ,boost) + ("mm-common" ,mm-common) + ("pkg-config" ,pkg-config))) (propagated-inputs `(("libsigc++" ,libsigc++) ("freetype" ,freetype) --=20 2.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0024-gnu-cairomm-Enable-documentation.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0024-gnu-cairomm-Enable-documentation.patch" =46rom 13129ff9d6fd5656ecbe7f01cdd55e18d7beaad8 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 25 Mar 2021 07:07:14 -0400 Subject: [PATCH 24/56] gnu: cairomm: Enable documentation. * gnu/packages/gtk.scm (cairomm)[outputs]: New output "doc". [arguments]<#:configure-flags>[-Dbuild-documentation]: New flag. <#:phases>['move-doc]: New phase. [native-inputs]: Add doxygen, graphviz, perl and libxslt. --- gnu/packages/gtk.scm | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 82d59ed60b..4c3514c2a9 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -1274,15 +1274,32 @@ guile-gnome-platform (GNOME developer libraries),= and guile-gtksourceview.") (base32 "1ya4y7qa000cjawqwswbqv26y5icfkmhs5iiiil4dxgrqn91923y"))= )) (build-system meson-build-system) + (outputs '("out" "doc")) (arguments `(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas #:configure-flags (list - "-Dboost-shared=3Dtrue"))) + "-Dbuild-documentation=3Dtrue" + "-Dboost-shared=3Dtrue") + #:phases + (modify-phases %standard-phases + (add-after 'install 'move-doc + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (assoc-ref outputs "doc"))) + (mkdir-p (string-append doc "/share")) + (rename-file + (string-append out "/share/doc") + (string-append doc "/share/doc")) + #t)))))) (native-inputs `(("boost" ,boost) + ("dot" ,graphviz) + ("doxygen" ,doxygen) ("mm-common" ,mm-common) - ("pkg-config" ,pkg-config))) + ("perl" ,perl) + ("pkg-config" ,pkg-config) + ("xsltproc" ,libxslt))) (propagated-inputs `(("libsigc++" ,libsigc++) ("freetype" ,freetype) --=20 2.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0025-gnu-pango-Add-missing-arguments.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0025-gnu-pango-Add-missing-arguments.patch" =46rom a7445cc9a1fee8ca1b388a69cf28799355c5bef6 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 11 Mar 2021 10:11:10 -0500 Subject: [PATCH 25/56] gnu: pango: Add missing arguments. * gnu/packages/gtk.scm (pango) [arguments]<#:glib-or-gtk?>: New argument.= --- gnu/packages/gtk.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 4c3514c2a9..1e0cdbe265 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -325,7 +325,8 @@ applications.") "07qvxa2sk90chp1l12han6vxvy098mc37sdqcznyywyv2g6bd9b6"))))= (build-system meson-build-system) (arguments - '(#:phases (modify-phases %standard-phases + '(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas + #:phases (modify-phases %standard-phases (add-after 'unpack 'disable-cantarell-tests (lambda _ (substitute* "tests/meson.build" --=20 2.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0026-gnu-pango-Re-arrange-inputs-in-alphabetical-order.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename*0="0026-gnu-pango-Re-arrange-inputs-in-alphabetical-order.patch" =46rom f92c4e9e56a05d10774c03883163b78a409054dd Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 11 Mar 2021 10:17:09 -0500 Subject: [PATCH 26/56] gnu: pango: Re-arrange inputs in alphabetical orde= r. * gnu/packages/gtk.scm (pango) [propagated-inputs]: Modify. [native-inputs]: Modify. --- gnu/packages/gtk.scm | 35 +++++++++++++++++------------------ 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 1e0cdbe265..e5d2a2b9a4 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -336,24 +336,23 @@ applications.") (("\\[ 'test-itemize'.*") "") (("\\[ 'test-layout'.*") "")) #t))))) - (propagated-inputs - ;; These are all in Requires or Requires.private of the '.pc' files.= - `(("cairo" ,cairo) - ("fribidi" ,fribidi) - ("fontconfig" ,fontconfig) - ("freetype" ,freetype) - ("glib" ,glib) - ("harfbuzz" ,harfbuzz) - - ;; Some packages, such as Openbox, expect Pango to be built with t= he - ;; optional libxft support. - ("libxft" ,libxft))) - (inputs - `(("zlib" ,zlib))) - (native-inputs - `(("pkg-config" ,pkg-config) - ("glib" ,glib "bin") ; glib-mkenums,= etc. - ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler= , etc. + (propagated-inputs + ;; These are all in Requires or Requires.private of the '.pc' files= =2E + `(("cairo" ,cairo) + ("fontconfig" ,fontconfig) + ("freetype" ,freetype) + ("fribidi" ,fribidi) + ("glib" ,glib) + ("harfbuzz" ,harfbuzz) + ;; Some packages, such as Openbox, expect Pango to be built with = the + ;; optional libxft support. + ("libxft" ,libxft))) + (inputs + `(("zlib" ,zlib))) + (native-inputs + `(("glib" ,glib "bin") ; glib-mkenums, etc. + ("gobject-introspection" ,gobject-introspection) ; g-ir-compiler,= etc. + ("pkg-config" ,pkg-config))) (synopsis "GNOME text and font handling library") (description "Pango is the core text and font handling library used in GNOME --=20 2.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0027-gnu-pango-Update-to-1.48.3.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0027-gnu-pango-Update-to-1.48.3.patch" =46rom 457f6775855abb52eb6af8e1197df003dbf06e72 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Tue, 23 Mar 2021 23:32:15 -0400 Subject: [PATCH 27/56] gnu: pango: Update to 1.48.3. * gnu/packages/gtk.scm (pango) [version]: Update to 1.48.3. [arguments]<#:phases>['disable-cantarell-tests]: Modify. [propagated-inputs]: Add libthai and libxrender. [native-inputs]: Add help2man, perl and python-wrapper. --- gnu/packages/gtk.scm | 69 ++++++++++++++++++++++++-------------------- 1 file changed, 38 insertions(+), 31 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index e5d2a2b9a4..93c8c46bea 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -78,6 +78,7 @@ #:use-module (gnu packages image) #:use-module (gnu packages libffi) #:use-module (gnu packages linux) + #:use-module (gnu packages man) #:use-module (gnu packages pdf) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) @@ -312,30 +313,31 @@ applications.") =20 (define-public pango (package - (name "pango") - (version "1.44.7") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/pango/" - (version-major+minor version) "/" - name "-" version ".tar.xz")) - (patches (search-patches "pango-skip-libthai-test.patch")) - (sha256 - (base32 - "07qvxa2sk90chp1l12han6vxvy098mc37sdqcznyywyv2g6bd9b6"))))= - (build-system meson-build-system) - (arguments - '(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas - #:phases (modify-phases %standard-phases - (add-after 'unpack 'disable-cantarell-tests - (lambda _ - (substitute* "tests/meson.build" - ;; XXX FIXME: These tests require "font-cantarell= ", but - ;; adding it here would introduce a circular depe= ndency. - (("\\[ 'test-harfbuzz'.*") "") - (("\\[ 'test-itemize'.*") "") - (("\\[ 'test-layout'.*") "")) - #t))))) + (name "pango") + (version "1.48.3") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/pango/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (patches (search-patches "pango-skip-libthai-test.patch"))= + (sha256 + (base32 + "0ijbkcs6217ygzphlpi0vajxkccifdbsl0jdjpy8wz11h9f19sin"))= )) + (build-system meson-build-system) + (arguments + '(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas + #:phases (modify-phases %standard-phases + (add-after 'unpack 'disable-cantarell-tests + (lambda _ + (substitute* "tests/meson.build" + ;; XXX FIXME: These tests require "font-cantarel= l", but + ;; adding it here would introduce a circular dep= endency. + (("\\[ 'test-layout'.*") "") + (("\\[ 'test-itemize'.*") "") + (("\\[ 'test-font'.*") "") + (("\\[ 'test-harfbuzz'.*") "")) + #t))))) (propagated-inputs ;; These are all in Requires or Requires.private of the '.pc' files= =2E `(("cairo" ,cairo) @@ -344,22 +346,27 @@ applications.") ("fribidi" ,fribidi) ("glib" ,glib) ("harfbuzz" ,harfbuzz) + ("libthai" ,libthai) ;; Some packages, such as Openbox, expect Pango to be built with = the ;; optional libxft support. - ("libxft" ,libxft))) + ("libxft" ,libxft) + ("libxrender" ,libxrender))) (inputs `(("zlib" ,zlib))) (native-inputs `(("glib" ,glib "bin") ; glib-mkenums, etc. ("gobject-introspection" ,gobject-introspection) ; g-ir-compiler,= etc. - ("pkg-config" ,pkg-config))) - (synopsis "GNOME text and font handling library") - (description - "Pango is the core text and font handling library used in GNOME + ("help2man" ,help2man) + ("perl" ,perl) + ("pkg-config" ,pkg-config) + ("python" ,python-wrapper))) + (synopsis "GNOME text and font handling library") + (description + "Pango is the core text and font handling library used in GNOME applications. It has extensive support for the different writing system= s used throughout the world.") - (license license:lgpl2.0+) - (home-page "https://developer.gnome.org/pango/"))) + (license license:lgpl2.0+) + (home-page "https://developer.gnome.org/pango/"))) =20 (define-public pango-1.42 (package --=20 2.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0028-gnu-pango-Update-synopsis-description-and-home-page.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename*0="0028-gnu-pango-Update-synopsis-description-and-home-page.pat"; filename*1="ch" =46rom d85b2c15cf6463ef98b0a49db825c14bc534e28d Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 11 Mar 2021 10:24:42 -0500 Subject: [PATCH 28/56] gnu: pango: Update synopsis, description and home-= page. * gnu/packages/gtk.scm (pango) [synopsis]: Modify. [description]: Modify. [home-page]: Modify. --- gnu/packages/gtk.scm | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 93c8c46bea..700977fc55 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -360,13 +360,14 @@ applications.") ("perl" ,perl) ("pkg-config" ,pkg-config) ("python" ,python-wrapper))) - (synopsis "GNOME text and font handling library") - (description - "Pango is the core text and font handling library used in GNOME -applications. It has extensive support for the different writing system= s -used throughout the world.") - (license license:lgpl2.0+) - (home-page "https://developer.gnome.org/pango/"))) + (synopsis "Text and font handling library") + (description "Pango is a library for laying out and rendering of tex= t, with +an emphasis on internationalization. Pango can be used anywhere that te= xt +layout is needed, though most of the work on Pango so far has been done = in the +context of the GTK+ widget toolkit. Pango forms the core of text and fo= nt +handling for GTK+-2.x.") + (home-page "https://pango.gnome.org/") + (license license:lgpl2.0+))) =20 (define-public pango-1.42 (package --=20 2.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0029-gnu-pangomm-Update-to-2.48.0.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0029-gnu-pangomm-Update-to-2.48.0.patch" =46rom fadec9e7b29ebd93a3052209d0f0e5942940cb18 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 25 Mar 2021 07:42:10 -0400 Subject: [PATCH 29/56] gnu: pangomm: Update to 2.48.0. * gnu/packages/gtk.scm (pango)[version]: Update to 2.48.0. [build-system]: Change from gnu to meson. [arguments]<#:glib-or-gtk?>: New argument. [native-inputs]: Add m4 and mm-common. --- gnu/packages/gtk.scm | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 700977fc55..e3afdc5d64 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -1340,17 +1340,22 @@ library.") (define-public pangomm (package (name "pangomm") - (version "2.42.0") + (version "2.48.0") (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" - name "-" version ".tar.xz")) - (sha256 - (base32 - "0mmzxp3wniaafkxr30sb22mq9x44xckb5d60h1bl99lkzxks0vfa")))= ) - (build-system gnu-build-system) - (native-inputs `(("pkg-config" ,pkg-config))) + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "0y2vyp6azvhrii6rzs89kr08wg8z1p562awyr812131zqdsd83ly"))= )) + (build-system meson-build-system) + (arguments + `(#:glib-or-gtk? #t)) ; To wrap binaries and/or compile schemas + (native-inputs + `(("m4" ,m4) + ("mm-common" ,mm-common) + ("pkg-config" ,pkg-config))) (propagated-inputs `(("cairo" ,cairo) ("cairomm" ,cairomm) --=20 2.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0030-gnu-pangomm-Enable-documentation.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0030-gnu-pangomm-Enable-documentation.patch" =46rom f55217fbe8a09dd12a28a9202efd5f7dc8ec9c17 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 25 Mar 2021 07:47:41 -0400 Subject: [PATCH 30/56] gnu: pangomm: Enable documentation. * gnu/packages/gtk.scm (pangomm)[outputs]: New output "doc". [arguments]<#:configure-flags>[-Dbuild-documentation]: New flag. <#:phases>['move-doc]: New phase. [native-inputs]: Add doxygen, graphviz, perl and libxslt. --- gnu/packages/gtk.scm | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index e3afdc5d64..3d8a7b926b 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -1350,12 +1350,31 @@ library.") (base32 "0y2vyp6azvhrii6rzs89kr08wg8z1p562awyr812131zqdsd83ly"))= )) (build-system meson-build-system) + (outputs '("out" "doc")) (arguments - `(#:glib-or-gtk? #t)) ; To wrap binaries and/or compile schemas + `(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas + #:configure-flags + (list + "-Dbuild-documentation=3Dtrue") + #:phases + (modify-phases %standard-phases + (add-after 'install 'move-doc + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (assoc-ref outputs "doc"))) + (mkdir-p (string-append doc "/share")) + (rename-file + (string-append out "/share/doc") + (string-append doc "/share/doc")) + #t)))))) (native-inputs - `(("m4" ,m4) + `(("dot" ,graphviz) + ("doxygen" ,doxygen) + ("m4" ,m4) ("mm-common" ,mm-common) - ("pkg-config" ,pkg-config))) + ("perl" ,perl) + ("pkg-config" ,pkg-config) + ("xsltproc" ,libxslt))) (propagated-inputs `(("cairo" ,cairo) ("cairomm" ,cairomm) --=20 2.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0031-gnu-gdk-pixbuf-Add-missing-arguments.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0031-gnu-gdk-pixbuf-Add-missing-arguments.patch" =46rom b1282f298084d59f32dd0887e03a94869eb71982 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 11 Mar 2021 10:29:02 -0500 Subject: [PATCH 31/56] gnu: gdk-pixbuf: Add missing arguments. * gnu/packages/patches/gdk-pixbuf-CVE-2020-29385.patch: Remove patch. * gnu/local.mk (dist_patch_DATA): Unregister it. * gnu/packages/gtk.scm (gdk-pixbuf) [arguments]<#:glib-or-gtk?>: New argu= ment. [replacement]: Remove. (gdk-pixbuf/fixed): Remove. --- gnu/local.mk | 1 - gnu/packages/gtk.scm | 91 +++++++++---------- .../patches/gdk-pixbuf-CVE-2020-29385.patch | 53 ----------- 3 files changed, 41 insertions(+), 104 deletions(-) delete mode 100644 gnu/packages/patches/gdk-pixbuf-CVE-2020-29385.patch diff --git a/gnu/local.mk b/gnu/local.mk index 73f3ffbcf5..7591a90c49 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1060,7 +1060,6 @@ dist_patch_DATA =3D \ %D%/packages/patches/gdb-hurd.patch \ %D%/packages/patches/gd-fix-tests-on-i686.patch \ %D%/packages/patches/gd-brect-bounds.patch \ - %D%/packages/patches/gdk-pixbuf-CVE-2020-29385.patch \ %D%/packages/patches/gdm-default-session.patch \ %D%/packages/patches/geary-CVE-2020-24661.patch \ %D%/packages/patches/genimage-signedness.patch \ diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 3d8a7b926b..513a4ef1a6 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -579,60 +579,51 @@ highlighting and other features typical of a source= code editor.") =20 (define-public gdk-pixbuf (package - (name "gdk-pixbuf") - (version "2.42.2") - (replacement gdk-pixbuf/fixed) - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" - name "-" version ".tar.xz")) - (sha256 - (base32 - "05ggmzwvrxq9w4zcvmrnnd6qplsmb4n95lj4q607c7arzlf6mil3"))))= - (build-system meson-build-system) - (arguments - `(#:meson ,meson-0.55 - #:configure-flags '("-Dinstalled_tests=3Dfalse") - #:phases - (modify-phases %standard-phases - ;; The slow tests take longer than the specified timeout. - ,@(if (any (cute string=3D? <> (%current-system)) - '("armhf-linux" "aarch64-linux")) - '((replace 'check - (lambda _ - (invoke "meson" "test" "--timeout-multiplier" "5")))) - '())))) - (propagated-inputs - `(;; Required by gdk-pixbuf-2.0.pc - ("glib" ,glib) - ("libpng" ,libpng) - ;; Used for testing and required at runtime. - ("shared-mime-info" ,shared-mime-info))) - (inputs - `(("libjpeg" ,libjpeg-turbo) - ("libtiff" ,libtiff) - ("libx11" ,libx11))) - (native-inputs + (name "gdk-pixbuf") + (version "2.42.2") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "05ggmzwvrxq9w4zcvmrnnd6qplsmb4n95lj4q607c7arzlf6mil3"))= )) + (build-system meson-build-system) + (arguments + `(#:meson ,meson-0.55 + #:glib-or-gtk? #t ; To wrap binaries and/or compile schemas + #:configure-flags '("-Dinstalled_tests=3Dfalse") + #:phases + (modify-phases %standard-phases + ;; The slow tests take longer than the specified timeout. + ,@(if (any (cute string=3D? <> (%current-system)) + '("armhf-linux" "aarch64-linux")) + '((replace 'check + (lambda _ + (invoke "meson" "test" "--timeout-multiplier" "5"))= )) + '())))) + (propagated-inputs + `( ;; Required by gdk-pixbuf-2.0.pc + ("glib" ,glib) + ("libpng" ,libpng) + ;; Used for testing and required at runtime. + ("shared-mime-info" ,shared-mime-info))) + (inputs + `(("libjpeg" ,libjpeg-turbo) + ("libtiff" ,libtiff) + ("libx11" ,libx11))) + (native-inputs `(("pkg-config" ,pkg-config) ("gettext" ,gettext-minimal) - ("glib" ,glib "bin") ; glib-mkenums= , etc. + ("glib" ,glib "bin") ; glib-mkenums, etc. ("gobject-introspection" ,gobject-introspection))) ; g-ir-compile= r, etc. - (synopsis "GNOME image loading and manipulation library") - (description - "GdkPixbuf is a library for image loading and manipulation developed= + (synopsis "GNOME image loading and manipulation library") + (description + "GdkPixbuf is a library for image loading and manipulation develope= d in the GNOME project.") - (license license:lgpl2.0+) - (home-page "https://developer.gnome.org/gdk-pixbuf/"))) - -(define gdk-pixbuf/fixed - (package - (inherit gdk-pixbuf) - (source (origin - (inherit (package-source gdk-pixbuf)) - (patches - (append (search-patches "gdk-pixbuf-CVE-2020-29385.patch"= ) - (origin-patches (package-source gdk-pixbuf)))))))= ) + (license license:lgpl2.0+) + (home-page "https://developer.gnome.org/gdk-pixbuf/"))) =20 ;; To build gdk-pixbuf with SVG support, we need librsvg, and librsvg de= pends ;; on gdk-pixbuf, so this new varibale. Also, librsvg adds 90MiB to the= diff --git a/gnu/packages/patches/gdk-pixbuf-CVE-2020-29385.patch b/gnu/p= ackages/patches/gdk-pixbuf-CVE-2020-29385.patch deleted file mode 100644 index e6ac4de00b..0000000000 --- a/gnu/packages/patches/gdk-pixbuf-CVE-2020-29385.patch +++ /dev/null @@ -1,53 +0,0 @@ -Fix CVE-2020-29385. Note that we omit the binary test file -tests/test-images/fail/hang_114.gif from the following commit, to avoid -requiring 'git' to apply the patch. - - -From bdd3acbd48a575d418ba6bf1b32d7bda2fae1c81 Mon Sep 17 00:00:00 2001 -From: Robert Ancell -Date: Mon, 30 Nov 2020 12:26:12 +1300 -Subject: [PATCH] gif: Fix LZW decoder accepting invalid LZW code. - -The code value after a reset wasn't being validated, which means we woul= d -accept invalid codes. This could cause an infinite loop in the decoder. - -Fixes CVE-2020-29385 - -Fixes https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/issues/164 ---- - gdk-pixbuf/lzw.c | 13 +++++++------ - tests/test-images/fail/hang_114.gif | Bin 0 -> 5561 bytes - 2 files changed, 7 insertions(+), 6 deletions(-) - create mode 100644 tests/test-images/fail/hang_114.gif - -diff --git a/gdk-pixbuf/lzw.c b/gdk-pixbuf/lzw.c -index 9e052a6f7..105daf2b1 100644 ---- a/gdk-pixbuf/lzw.c -+++ b/gdk-pixbuf/lzw.c -@@ -195,19 +195,20 @@ lzw_decoder_feed (LZWDecoder *self, - if (self->last_code !=3D self->clear_co= de && self->code_table_size < MAX_CODES) { - if (self->code < self->code_tab= le_size) - add_code (self, self->c= ode); -- else if (self->code =3D=3D self= ->code_table_size) -+ else - add_code (self, self->l= ast_code); -- else { -- /* Invalid code receive= d - just stop here */ -- self->last_code =3D sel= f->eoi_code; -- return output_length; -- } -=20 - /* When table is full increase = code size */ - if (self->code_table_size =3D=3D= (1 << self->code_size) && self->code_size < LZW_CODE_MAX) - self->code_size++; - } -=20 -+ /* Invalid code received - just stop he= re */ -+ if (self->code >=3D self->code_table_si= ze) { -+ self->last_code =3D self->eoi_c= ode; -+ return output_length; -+ } -+ - /* Convert codeword into indexes */ - n_written +=3D write_indexes (self, out= put + n_written, output_length - n_written); - } --=20 2.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0032-gnu-gdk-pixbuf-Correct-inputs.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0032-gnu-gdk-pixbuf-Correct-inputs.patch" =46rom 877125c4a835cc2d08ecefbda0eac3191267a848 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 11 Mar 2021 10:35:56 -0500 Subject: [PATCH 32/56] gnu: gdk-pixbuf: Correct inputs. * gnu/packages/gtk.scm (gdk-pixbuf) [propagated-inputs]: Add libx11. Remove libpng. [inputs]: Add libpng. Remove libx11. --- gnu/packages/gtk.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 513a4ef1a6..a6bf1bb5b9 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -606,13 +606,14 @@ highlighting and other features typical of a source= code editor.") (propagated-inputs `( ;; Required by gdk-pixbuf-2.0.pc ("glib" ,glib) - ("libpng" ,libpng) + ;; Required by gdk-pixbuf-xlib-2.0.pc + ("libx11" ,libx11) ;; Used for testing and required at runtime. ("shared-mime-info" ,shared-mime-info))) (inputs `(("libjpeg" ,libjpeg-turbo) - ("libtiff" ,libtiff) - ("libx11" ,libx11))) + ("libpng" ,libpng) + ("libtiff" ,libtiff))) (native-inputs `(("pkg-config" ,pkg-config) ("gettext" ,gettext-minimal) --=20 2.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0033-gnu-gdk-pixbuf-Enable-jasper-support.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0033-gnu-gdk-pixbuf-Enable-jasper-support.patch" =46rom 959112e16f2d74c8c6695b7765a501481a97c0cf Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 11 Mar 2021 10:41:10 -0500 Subject: [PATCH 33/56] gnu: gdk-pixbuf: Enable jasper support. * gnu/packages/gtk.scm (gdk-pixbuf) [arguments]<#:configure-flags>[-Djasp= er]: New flag. [inputs]: Add jasper. --- gnu/packages/gtk.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index a6bf1bb5b9..44f688469d 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -593,7 +593,7 @@ highlighting and other features typical of a source c= ode editor.") (arguments `(#:meson ,meson-0.55 #:glib-or-gtk? #t ; To wrap binaries and/or compile schemas - #:configure-flags '("-Dinstalled_tests=3Dfalse") + #:configure-flags '("-Dinstalled_tests=3Dfalse" "-Djasper=3Dtrue"= ) #:phases (modify-phases %standard-phases ;; The slow tests take longer than the specified timeout. @@ -611,7 +611,8 @@ highlighting and other features typical of a source c= ode editor.") ;; Used for testing and required at runtime. ("shared-mime-info" ,shared-mime-info))) (inputs - `(("libjpeg" ,libjpeg-turbo) + `(("jasper" ,jasper) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libtiff" ,libtiff))) (native-inputs --=20 2.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0034-gnu-gdk-pixbuf-Fix-documentation.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0034-gnu-gdk-pixbuf-Fix-documentation.patch" =46rom d3007442312b687e287d255650550d5c7f0c39c7 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 11 Mar 2021 10:50:46 -0500 Subject: [PATCH 34/56] gnu: gdk-pixbuf: Fix documentation. * gnu/packages/gtk.scm (gdk-pixbuf) [arguments]<#:phases>['patch-docbook]= : New phase. [native-inputs]: Add docbook-xml and docbook-xsl. --- gnu/packages/gtk.scm | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 44f688469d..e6e19fb650 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -592,10 +592,22 @@ highlighting and other features typical of a source= code editor.") (build-system meson-build-system) (arguments `(#:meson ,meson-0.55 - #:glib-or-gtk? #t ; To wrap binaries and/or compile schemas + #:glib-or-gtk? #t ; To wrap binaries and/or compile schemas #:configure-flags '("-Dinstalled_tests=3Dfalse" "-Djasper=3Dtrue"= ) #:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-docbook + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion "docs" + (substitute* "meson.build" + (("http://docbook.sourceforge.net/release/xsl/current/"= ) + (string-append (assoc-ref inputs "docbook-xsl") + "/xml/xsl/docbook-xsl-1.79.2/"))) + (substitute* (find-files "." "\\.xml$") + (("http://www.oasis-open.org/docbook/xml/4\\.3/") + (string-append (assoc-ref inputs "docbook-xml") + "/xml/dtd/docbook/")))) + #t)) ;; The slow tests take longer than the specified timeout. ,@(if (any (cute string=3D? <> (%current-system)) '("armhf-linux" "aarch64-linux")) @@ -616,10 +628,12 @@ highlighting and other features typical of a source= code editor.") ("libpng" ,libpng) ("libtiff" ,libtiff))) (native-inputs - `(("pkg-config" ,pkg-config) + `(("docbook-xml" ,docbook-xml-4.3) + ("docbook-xsl" ,docbook-xsl) ("gettext" ,gettext-minimal) ("glib" ,glib "bin") ; glib-mkenums, etc. - ("gobject-introspection" ,gobject-introspection))) ; g-ir-compile= r, etc. + ("gobject-introspection" ,gobject-introspection) ; g-ir-compiler,= etc. + ("pkg-config" ,pkg-config))) (synopsis "GNOME image loading and manipulation library") (description "GdkPixbuf is a library for image loading and manipulation develope= d --=20 2.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0035-gnu-gdk-pixbuf-Update-to-2.42.4.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0035-gnu-gdk-pixbuf-Update-to-2.42.4.patch" =46rom 06fb7b3fce2e10e2428c052f87a74a9c481fd5b0 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 11 Mar 2021 10:53:43 -0500 Subject: [PATCH 35/56] gnu: gdk-pixbuf: Update to 2.42.4. * gnu/packages/gtk.scm (gdk-pixbuf) [version]: Update to 2.42.4. [native-inputs]: Add perl and libxslt. --- gnu/packages/gtk.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index e6e19fb650..1ae09a2283 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -580,7 +580,7 @@ highlighting and other features typical of a source c= ode editor.") (define-public gdk-pixbuf (package (name "gdk-pixbuf") - (version "2.42.2") + (version "2.42.4") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -588,7 +588,7 @@ highlighting and other features typical of a source c= ode editor.") name "-" version ".tar.xz")) (sha256 (base32 - "05ggmzwvrxq9w4zcvmrnnd6qplsmb4n95lj4q607c7arzlf6mil3"))= )) + "0k9f9177qxaryaxprwrhqnv5p2gdq4a8i6y05gm98qa8izc5v77y"))= )) (build-system meson-build-system) (arguments `(#:meson ,meson-0.55 @@ -633,7 +633,9 @@ highlighting and other features typical of a source c= ode editor.") ("gettext" ,gettext-minimal) ("glib" ,glib "bin") ; glib-mkenums, etc. ("gobject-introspection" ,gobject-introspection) ; g-ir-compiler,= etc. - ("pkg-config" ,pkg-config))) + ("perl" ,perl) + ("pkg-config" ,pkg-config) + ("xsltproc" ,libxslt))) (synopsis "GNOME image loading and manipulation library") (description "GdkPixbuf is a library for image loading and manipulation develope= d --=20 2.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0036-gnu-gdk-pixbuf-Update-synopsis-description-home-page.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename*0="0036-gnu-gdk-pixbuf-Update-synopsis-description-home-page.pa"; filename*1="tch" =46rom 1244000f3b9e476bbd1c921aa8d31f16e09e1cdd Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 11 Mar 2021 10:56:29 -0500 Subject: [PATCH 36/56] gnu: gdk-pixbuf: Update synopsis, description, home-page and license. * gnu/packages/gtk.scm (gdk-pixbuf) [synopsis]: Modify. [description]: Modify. [home-page]: Modify. [license]: Update to lgpl2.1+. --- gnu/packages/gtk.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 1ae09a2283..4c5b381ec0 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -636,12 +636,12 @@ highlighting and other features typical of a source= code editor.") ("perl" ,perl) ("pkg-config" ,pkg-config) ("xsltproc" ,libxslt))) - (synopsis "GNOME image loading and manipulation library") - (description - "GdkPixbuf is a library for image loading and manipulation develope= d -in the GNOME project.") - (license license:lgpl2.0+) - (home-page "https://developer.gnome.org/gdk-pixbuf/"))) + (synopsis "Image loading library") + (description "GdkPixbuf is a library that loads image data in variou= s +formats and stores it as linear buffers in memory. The buffers can then= be +scaled, composited, modified, saved, or rendered.") + (home-page "https://wiki.gnome.org/Projects/GdkPixbuf") + (license license:lgpl2.1+))) =20 ;; To build gdk-pixbuf with SVG support, we need librsvg, and librsvg de= pends ;; on gdk-pixbuf, so this new varibale. Also, librsvg adds 90MiB to the= --=20 2.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0037-gnu-gdk-pixbuf-Disable-failing-tests.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0037-gnu-gdk-pixbuf-Disable-failing-tests.patch" =46rom 682540178cb8df7da4031d2b15c1b4fe0f2fcade Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 11 Mar 2021 11:00:10 -0500 Subject: [PATCH 37/56] gnu: gdk-pixbuf: Disable failing tests. * gnu/packages/gtk.scm (gdk-pixbuf) [arguments]<#:phases>['disable-failin= g-tests]: New phase. --- gnu/packages/gtk.scm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 4c5b381ec0..1e688a40e2 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -608,6 +608,12 @@ highlighting and other features typical of a source = code editor.") (string-append (assoc-ref inputs "docbook-xml") "/xml/dtd/docbook/")))) #t)) + (add-before 'configure 'disable-failing-tests + (lambda _ + (substitute* "tests/meson.build" + (("\\[ 'pixbuf-fail', \\['conform', 'slow'\\], \\],") + "")) + #t)) ;; The slow tests take longer than the specified timeout. ,@(if (any (cute string=3D? <> (%current-system)) '("armhf-linux" "aarch64-linux")) --=20 2.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0038-gnu-gdk-pixbuf-svg-Correct-package-definition-to-inc.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename*0="0038-gnu-gdk-pixbuf-svg-Correct-package-definition-to-inc.pa"; filename*1="tch" =46rom bd265819591e71d0f99db89a8473fdf0f0ced3eb Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 11 Mar 2021 11:08:24 -0500 Subject: [PATCH 38/56] gnu: gdk-pixbuf+svg: Correct package definition to= include changes from gdk-pixbuf. * gnu/packages/gtk.scm (gdk-pixbuf+svg) [arguments]: Modify. [synopsis]: Modify. --- gnu/packages/gtk.scm | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 1e688a40e2..59c92ab4dd 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -659,10 +659,9 @@ scaled, composited, modified, saved, or rendered.") `(("librsvg" ,librsvg) ,@(package-inputs gdk-pixbuf))) (arguments - '(#:configure-flags '("-Dinstalled-tests=3Dfalse") - #:tests? #f ; tested by the gdk-pixbuf package already - #:phases - (modify-phases %standard-phases + (substitute-keyword-arguments (package-arguments gdk-pixbuf) + ((#:phases phases) + `(modify-phases ,phases (add-after 'install 'register-svg-loader (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -676,9 +675,8 @@ scaled, composited, modified, saved, or rendered.") (apply invoke gdk-pixbuf-query-loaders "--update-cache" - loaders))))))) - (synopsis - "GNOME image loading and manipulation library, with SVG support")))= + loaders)))))))) + (synopsis "Image loading library, with SVG support"))) =20 (define-public at-spi2-core (package --=20 2.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0039-gnu-vala-Change-build-system.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0039-gnu-vala-Change-build-system.patch" =46rom 785af5d8aa06859e8de074d64ded9289b09f4e34 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 11 Mar 2021 11:20:37 -0500 Subject: [PATCH 39/56] gnu: vala: Change build-system. * gnu/packages/gnome.scm (vala) [build-system]: Change from gnu to glib-o= r-gtk. --- gnu/packages/gnome.scm | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index c69fb21ba5..bbc82cfcd1 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -4279,28 +4279,28 @@ passwords in the GNOME keyring.") (sha256 (base32 "1nx5xjarpkl9hgy0qbqfczx7d7clh5g1r8xr5xp8b97c5fsc2rb1"))= )) - (build-system gnu-build-system) + (build-system glib-or-gtk-build-system) (arguments '(#:phases (modify-phases %standard-phases (add-before 'check 'pre-check - (lambda _ - (setenv "CC" "gcc") - (substitute* "valadoc/tests/libvaladoc\ + (lambda _ + (setenv "CC" "gcc") + (substitute* "valadoc/tests/libvaladoc\ /tests-extra-environment.sh" - (("export PKG_CONFIG_PATH=3D" m) - (string-append m "$PKG_CONFIG_PATH:")))))))) + (("export PKG_CONFIG_PATH=3D" m) + (string-append m "$PKG_CONFIG_PATH:")))))))) (native-inputs `(("pkg-config" ,pkg-config) ("flex" ,flex) ("bison" ,bison) ("xsltproc" ,libxslt) - ("dbus" ,dbus) ; for dbus tes= ts + ("dbus" ,dbus) ; for dbus tests ("gobject-introspection" ,gobject-introspection))) ; for gir test= s (inputs `(("graphviz" ,graphviz))) (propagated-inputs - `(("glib" ,glib))) ; required by libvala-0.40.pc + `(("glib" ,glib))) ; required by libvala-0.40.pc (home-page "https://wiki.gnome.org/Projects/Vala/") (synopsis "Compiler for the GObject type system") (description --=20 2.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0040-gnu-vala-Enable-coverage-support.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0040-gnu-vala-Enable-coverage-support.patch" =46rom 399fd3ee73eb6c36ce907a6e86f850902a31212a Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 11 Mar 2021 11:23:56 -0500 Subject: [PATCH 40/56] gnu: vala: Enable coverage support. * gnu/packages/gnome.scm (vala) [arguments]<#:configure-flags> [--enable-coverage]: New flag. --- gnu/packages/gnome.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index bbc82cfcd1..ca4484ce3e 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -4281,7 +4281,8 @@ passwords in the GNOME keyring.") "1nx5xjarpkl9hgy0qbqfczx7d7clh5g1r8xr5xp8b97c5fsc2rb1"))= )) (build-system glib-or-gtk-build-system) (arguments - '(#:phases + '(#:configure-flags '("--enable-coverage") + #:phases (modify-phases %standard-phases (add-before 'check 'pre-check (lambda _ --=20 2.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0041-gnu-vala-Fix-documentation.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0041-gnu-vala-Fix-documentation.patch" =46rom 09728014e0a3fdc8349fc0955f0e8b3797c79721 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 11 Mar 2021 11:30:26 -0500 Subject: [PATCH 41/56] gnu: vala: Fix documentation. * gnu/packages/gnome.scm (vala) [arguments]<#:phases>['patch-docbook-xml]= : New phase. [native-inputs]: Add docbook-xml and docbook-xsl. --- gnu/packages/gnome.scm | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index ca4484ce3e..92c46158ac 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -4284,6 +4284,14 @@ passwords in the GNOME keyring.") '(#:configure-flags '("--enable-coverage") #:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-docbook-xml + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion "doc/manual" + (substitute* '("manual.xml" "version.xml.in") + (("http://www.oasis-open.org/docbook/xml/4.4/") + (string-append (assoc-ref inputs "docbook-xml") + "/xml/dtd/docbook/")))) + #t)) (add-before 'check 'pre-check (lambda _ (setenv "CC" "gcc") @@ -4293,6 +4301,8 @@ passwords in the GNOME keyring.") (string-append m "$PKG_CONFIG_PATH:")))))))) (native-inputs `(("pkg-config" ,pkg-config) + ("docbook-xml" ,docbook-xml-4.4) + ("docbook-xsl" ,docbook-xsl) ("flex" ,flex) ("bison" ,bison) ("xsltproc" ,libxslt) --=20 2.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0042-gnu-vala-Update-to-0.52.0.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0042-gnu-vala-Update-to-0.52.0.patch" =46rom 3feec74ac048b3993553e078a57dceb67a74a1f8 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 11 Mar 2021 11:34:48 -0500 Subject: [PATCH 42/56] gnu: vala: Update to 0.52.0. * gnu/packages/gnome.scm (vala) [version]: Update to 0.52.0. [native-inputs]: Add help2man and perl. [inputs]: Move graphviz to ... [propagated-inputs]: ... here. --- gnu/packages/gnome.scm | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 92c46158ac..70e3c38e20 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -141,6 +141,7 @@ #:use-module (gnu packages lirc) #:use-module (gnu packages lua) #:use-module (gnu packages mail) + #:use-module (gnu packages man) #:use-module (gnu packages mp3) #:use-module (gnu packages multiprecision) #:use-module (gnu packages music) @@ -4270,7 +4271,7 @@ passwords in the GNOME keyring.") (define-public vala (package (name "vala") - (version "0.50.3") + (version "0.52.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/vala/" @@ -4278,7 +4279,7 @@ passwords in the GNOME keyring.") "vala-" version ".tar.xz")) (sha256 (base32 - "1nx5xjarpkl9hgy0qbqfczx7d7clh5g1r8xr5xp8b97c5fsc2rb1"))= )) + "12y6p8wdjp01vmfhxg2cgh32xnyqq6ivblvrar9clnj6vc867qhx"))= )) (build-system glib-or-gtk-build-system) (arguments '(#:configure-flags '("--enable-coverage") @@ -4300,18 +4301,19 @@ passwords in the GNOME keyring.") (("export PKG_CONFIG_PATH=3D" m) (string-append m "$PKG_CONFIG_PATH:")))))))) (native-inputs - `(("pkg-config" ,pkg-config) + `(("bison" ,bison) + ("dbus" ,dbus) ; for dbus tests ("docbook-xml" ,docbook-xml-4.4) ("docbook-xsl" ,docbook-xsl) ("flex" ,flex) - ("bison" ,bison) - ("xsltproc" ,libxslt) - ("dbus" ,dbus) ; for dbus tests - ("gobject-introspection" ,gobject-introspection))) ; for gir test= s - (inputs - `(("graphviz" ,graphviz))) + ("gobject-introspection" ,gobject-introspection) ; for gir tests + ("help2man" ,help2man) + ("perl" ,perl) + ("pkg-config" ,pkg-config) + ("xsltproc" ,libxslt))) (propagated-inputs - `(("glib" ,glib))) ; required by libvala-0.40.pc + `(("glib" ,glib) ; required by libvala-0.40.pc + ("libgvc" ,graphviz))) (home-page "https://wiki.gnome.org/Projects/Vala/") (synopsis "Compiler for the GObject type system") (description --=20 2.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0043-gnu-vala-Update-synopsis-and-description.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0043-gnu-vala-Update-synopsis-and-description.patch" =46rom 6ca7fb87c3fff6fcb5b2be8bea3421245b1f4487 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 11 Mar 2021 11:38:26 -0500 Subject: [PATCH 43/56] gnu: vala: Update synopsis and description. * gnu/packages/gnome.scm (vala) [synopsis]: Modify. [description]: Modify. --- gnu/packages/gnome.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 70e3c38e20..f071fd857e 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -4315,12 +4315,12 @@ passwords in the GNOME keyring.") `(("glib" ,glib) ; required by libvala-0.40.pc ("libgvc" ,graphviz))) (home-page "https://wiki.gnome.org/Projects/Vala/") - (synopsis "Compiler for the GObject type system") - (description - "Vala is a programming language that aims to bring modern programmi= ng -language features to GNOME developers without imposing any additional ru= ntime -requirements and without using a different ABI compared to applications = and -libraries written in C.") + (synopsis "Compiler using the GObject type system") + (description "Vala is a programming language using modern high level= +abstractions without imposing additional runtime requirements and withou= t using +a different ABI compared to applications and libraries written in C. Va= la uses +the GObject type system and has additional code generation routines that= make +targeting the GNOME stack simple.") (license license:lgpl2.1+))) =20 (define-public vte --=20 2.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0044-gnu-libgsf-Change-build-system.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0044-gnu-libgsf-Change-build-system.patch" =46rom e370ae58e08ae8c1fc02cb0a9857a83c315c70bb Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 11 Mar 2021 11:53:42 -0500 Subject: [PATCH 44/56] gnu: libgsf: Change build-system. * gnu/packages/gnome.scm (libgsf) [build-system]: Change from gnu to glib= -or-gtk. --- gnu/packages/gnome.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index f071fd857e..a415dde77a 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -3274,7 +3274,7 @@ XML/CSS rendering engine.") (sha256 (base32 "0kbpp9ksl7977xiga37sk1gdw1r039v6zviqznl7alvvg39yp26i"))= )) - (build-system gnu-build-system) + (build-system glib-or-gtk-build-system) (arguments '(#:configure-flags '("--disable-static"))) (native-inputs --=20 2.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0045-gnu-libgsf-Make-separate-output-for-binaries.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0045-gnu-libgsf-Make-separate-output-for-binaries.patch" =46rom 1875a2d7dd7aaba4ffb2a141d764ade7d1659cfc Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 11 Mar 2021 11:56:04 -0500 Subject: [PATCH 45/56] gnu: libgsf: Make separate output for binaries. * gnu/packages/gnome.scm (libgsf) [outputs]: New output "bin". --- gnu/packages/gnome.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index a415dde77a..fae4c3a4ff 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -3275,6 +3275,7 @@ XML/CSS rendering engine.") (base32 "0kbpp9ksl7977xiga37sk1gdw1r039v6zviqznl7alvvg39yp26i"))= )) (build-system glib-or-gtk-build-system) + (outputs '("out" "bin")) (arguments '(#:configure-flags '("--disable-static"))) (native-inputs --=20 2.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0046-gnu-libgsf-Re-arrange-inputs-in-alphabetical-order.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename*0="0046-gnu-libgsf-Re-arrange-inputs-in-alphabetical-order.patc"; filename*1="h" =46rom 4c9c2173600143f3158253c713103ecc4bf6c12d Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 11 Mar 2021 12:02:14 -0500 Subject: [PATCH 46/56] gnu: libgsf: Re-arrange inputs in alphabetical ord= er. * gnu/packages/gnome.scm (libgsf) [native-inputs]: Modify. [inputs]: Modify. --- gnu/packages/gnome.scm | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index fae4c3a4ff..3f110d786f 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -3279,15 +3279,13 @@ XML/CSS rendering engine.") (arguments '(#:configure-flags '("--disable-static"))) (native-inputs - `(("pkg-config" ,pkg-config) - ("gettext" ,gettext-minimal) - - ;; For tests. + `(("gettext" ,gettext-minimal) ("perl" ,perl) - ("perl-xml-parser" ,perl-xml-parser))) + ("perl-xml-parser" ,perl-xml-parser) + ("pkg-config" ,pkg-config))) (inputs - `(("zlib" ,zlib) - ("bzip2" ,bzip2))) + `(("bzip2" ,bzip2) + ("zlib" ,zlib))) (propagated-inputs `(("gdk-pixbuf" ,gdk-pixbuf) ("glib" ,glib) --=20 2.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0047-gnu-libgsf-Enable-missing-features.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0047-gnu-libgsf-Enable-missing-features.patch" =46rom 8a321ef51562a347464ef1805507920c334c331b Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 11 Mar 2021 12:08:10 -0500 Subject: [PATCH 47/56] gnu: libgsf: Enable missing features. * gnu/packages/gnome.scm (libgsf) [arguments]<#:configure-flag>[--enable-= introspection]: New flag. [--with-gir-dir=3D]: New flag. [--with-typelib-dir=3D]: New flag. [--with-zlib]: New flag. [--with-bz2]: New flag. [native-inputs]: Add gobject-introspection. --- gnu/packages/gnome.scm | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 3f110d786f..48f8b09ba7 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -3277,9 +3277,27 @@ XML/CSS rendering engine.") (build-system glib-or-gtk-build-system) (outputs '("out" "bin")) (arguments - '(#:configure-flags '("--disable-static"))) + `(#:configure-flags + (list + "--disable-static" + "--enable-introspection" + (string-append "--with-gir-dir=3D" + (assoc-ref %outputs "out") + "/share/gir-" + ,(version-major + (package-version gobject-introspection)) + ".0") + (string-append "--with-typelib-dir=3D" + (assoc-ref %outputs "out") + "/lib/girepository-" + ,(version-major + (package-version gobject-introspection)) + ".0") + "--with-zlib" + "--with-bz2"))) (native-inputs `(("gettext" ,gettext-minimal) + ("gobject-introspection" ,gobject-introspection) ("perl" ,perl) ("perl-xml-parser" ,perl-xml-parser) ("pkg-config" ,pkg-config))) --=20 2.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0048-gnu-libgsf-Correct-inputs.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0048-gnu-libgsf-Correct-inputs.patch" =46rom f680a33f7530f1ed93a79d5fa611aedc8bef3c43 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 11 Mar 2021 12:11:02 -0500 Subject: [PATCH 48/56] gnu: libgsf: Correct inputs. * gnu/packages/gnome.scm (libgsf) [native-inputs]: Add python-wrapper. [propagated-inputs]: Move gdk-pixbuf to ... [inputs]: ... here. --- gnu/packages/gnome.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 48f8b09ba7..101d87c96f 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -3300,13 +3300,14 @@ XML/CSS rendering engine.") ("gobject-introspection" ,gobject-introspection) ("perl" ,perl) ("perl-xml-parser" ,perl-xml-parser) - ("pkg-config" ,pkg-config))) + ("pkg-config" ,pkg-config) + ("python" ,python-wrapper))) (inputs `(("bzip2" ,bzip2) + ("gdk-pixbuf" ,gdk-pixbuf) ("zlib" ,zlib))) (propagated-inputs - `(("gdk-pixbuf" ,gdk-pixbuf) - ("glib" ,glib) + `(("glib" ,glib) ("libxml2" ,libxml2))) (home-page "https://www.gnome.org/projects/libgsf") (synopsis "GNOME's Structured File Library") --=20 2.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0049-gnu-libgsf-Enable-documentation.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0049-gnu-libgsf-Enable-documentation.patch" =46rom 136dccf07b3b885e42c20d3cde1a5222f772e784 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 11 Mar 2021 12:20:52 -0500 Subject: [PATCH 49/56] gnu: libgsf: Enable documentation. * gnu/packages/gnome.scm (libgsf) [outputs]: New output "doc". [arguments]<#:configure-flags>[--with-html-dir]: New flag. [native-inputs]: Add docbook-xml. --- gnu/packages/gnome.scm | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 101d87c96f..c715b4391b 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -3275,7 +3275,7 @@ XML/CSS rendering engine.") (base32 "0kbpp9ksl7977xiga37sk1gdw1r039v6zviqznl7alvvg39yp26i"))= )) (build-system glib-or-gtk-build-system) - (outputs '("out" "bin")) + (outputs '("out" "bin" "doc")) (arguments `(#:configure-flags (list @@ -3293,10 +3293,24 @@ XML/CSS rendering engine.") ,(version-major (package-version gobject-introspection)) ".0") + (string-append "--with-html-dir=3D" + (assoc-ref %outputs "doc") + "/share/gtk-doc/html") "--with-zlib" - "--with-bz2"))) + "--with-bz2") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-docbook-xml + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion "doc" + (substitute* "gsf-docs.xml" + (("http://www.oasis-open.org/docbook/xml/4.5/") + (string-append (assoc-ref inputs "docbook-xml") + "/xml/dtd/docbook/")))) + #t))))) (native-inputs - `(("gettext" ,gettext-minimal) + `(("docbook-xml" ,docbook-xml) + ("gettext" ,gettext-minimal) ("gobject-introspection" ,gobject-introspection) ("perl" ,perl) ("perl-xml-parser" ,perl-xml-parser) --=20 2.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0050-gnu-libgsf-Update-synopsis-description-home-page-and.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename*0="0050-gnu-libgsf-Update-synopsis-description-home-page-and.pa"; filename*1="tch" =46rom 75fd7eb6eea2cec68a9c22ef93cfa398920a4643 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 11 Mar 2021 12:22:54 -0500 Subject: [PATCH 50/56] gnu: libgsf: Update synopsis, description, home-pa= ge and license. * gnu/packages/gnome.scm (libgsf) [synopsis]: Modify. [home-page]: Modify. [description]: Modify. [license]: Modify. --- gnu/packages/gnome.scm | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index c715b4391b..50d16a6048 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -3323,14 +3323,16 @@ XML/CSS rendering engine.") (propagated-inputs `(("glib" ,glib) ("libxml2" ,libxml2))) - (home-page "https://www.gnome.org/projects/libgsf") - (synopsis "GNOME's Structured File Library") - (description - "Libgsf aims to provide an efficient extensible I/O abstraction for= -dealing with different structured file formats.") - - ;; LGPLv2.1-only. - (license license:lgpl2.1))) + (synopsis "G Structured File Library") + (description "Libgsf aims to provide an efficient extensible I/O abs= traction +for dealing with different structured file formats.") + (home-page "https://gitlab.gnome.org/GNOME/libgsf") + (license + (list + ;; Library + license:lgpl2.1+ + ;; Others + license:lgpl2.0+)))) =20 (define-public librsvg (package --=20 2.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0051-gnu-atk-Re-arrange-inputs-in-alphabetical-order.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename*0="0051-gnu-atk-Re-arrange-inputs-in-alphabetical-order.patch" =46rom a14d05bad6659679a5a8d747d7c094f1f48f697d Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 11 Mar 2021 12:39:47 -0500 Subject: [PATCH 51/56] gnu: atk: Re-arrange inputs in alphabetical order.= * gnu/packages/gtk.scm (atk) [native-inputs]: Modify. --- gnu/packages/gtk.scm | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 59c92ab4dd..791cb43d1f 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -98,30 +98,30 @@ =20 (define-public atk (package - (name "atk") - (version "2.34.1") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" - name "-" version ".tar.xz")) - (sha256 - (base32 - "1jwp16r6p5z66k4b2v8zlzhyshhwlmyi27ippkrgqr8jsary7w6l"))))= - (build-system meson-build-system) - (propagated-inputs `(("glib" ,glib))) ; required by atk.pc - (native-inputs - `(("pkg-config" ,pkg-config) - ("gettext" ,gettext-minimal) - ("glib" ,glib "bin") ; glib-mkenums,= etc. - ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler= , etc. - (synopsis "GNOME accessibility toolkit") - (description - "ATK provides the set of accessibility interfaces that are implement= ed + (name "atk") + (version "2.34.1") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1jwp16r6p5z66k4b2v8zlzhyshhwlmyi27ippkrgqr8jsary7w6l"))= )) + (build-system meson-build-system) + (propagated-inputs `(("glib" ,glib))) ; required by atk.pc + (native-inputs + `(("gettext" ,gettext-minimal) + ("glib" ,glib "bin") ; glib-mkenums, etc. + ("gobject-introspection" ,gobject-introspection) ; g-ir-compiler,= etc. + ("pkg-config" ,pkg-config))) + (synopsis "GNOME accessibility toolkit") + (description + "ATK provides the set of accessibility interfaces that are implemen= ted by other toolkits and applications. Using the ATK interfaces, accessibi= lity tools have full access to view and control running applications.") - (license license:lgpl2.0+) - (home-page "https://developer.gnome.org/atk/"))) + (license license:lgpl2.0+) + (home-page "https://developer.gnome.org/atk/"))) =20 (define-public cairo (package --=20 2.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0052-gnu-atk-Update-to-2.36.0.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0052-gnu-atk-Update-to-2.36.0.patch" =46rom 171b527ff37c884d36f2fe880f789876b4ad7e45 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 11 Mar 2021 12:44:36 -0500 Subject: [PATCH 52/56] gnu: atk: Update to 2.36.0. * gnu/packages/gtk.scm (atk) [version]: Update to 2.36.0. [arguments]<#:glib-or-gtk?>: New argument. --- gnu/packages/gtk.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 791cb43d1f..54efcee4ea 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -99,7 +99,7 @@ (define-public atk (package (name "atk") - (version "2.34.1") + (version "2.36.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -107,8 +107,10 @@ name "-" version ".tar.xz")) (sha256 (base32 - "1jwp16r6p5z66k4b2v8zlzhyshhwlmyi27ippkrgqr8jsary7w6l"))= )) + "1217cmmykjgkkim0zr1lv5j13733m4w5vipmy4ivw0ll6rz28xpv"))= )) (build-system meson-build-system) + (arguments + `(#:glib-or-gtk? #t)) ; To wrap binaries and/or compile schemas (propagated-inputs `(("glib" ,glib))) ; required by atk.pc (native-inputs `(("gettext" ,gettext-minimal) --=20 2.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0053-gnu-atk-Update-home-page-and-license.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0053-gnu-atk-Update-home-page-and-license.patch" =46rom 0aac4344b3f95c5b48c2f0a5deded6c62c7686fc Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 11 Mar 2021 12:46:00 -0500 Subject: [PATCH 53/56] gnu: atk: Update home-page and license. * gnu/packages/gtk.scm (atk) [home-page]: Modify. [license]: Update to lgpl2.1+. --- gnu/packages/gtk.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 54efcee4ea..fa5f2455db 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -122,8 +122,8 @@ "ATK provides the set of accessibility interfaces that are implemen= ted by other toolkits and applications. Using the ATK interfaces, accessibi= lity tools have full access to view and control running applications.") - (license license:lgpl2.0+) - (home-page "https://developer.gnome.org/atk/"))) + (license license:lgpl2.1+) + (home-page "https://wiki.gnome.org/Accessibility"))) =20 (define-public cairo (package --=20 2.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0054-gnu-atkmm-Update-to-2.36.0.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0054-gnu-atkmm-Update-to-2.36.0.patch" =46rom d9732bc5d67bc30c9e741d4f64e30b1d52a2d3d0 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 11 Mar 2021 12:50:53 -0500 Subject: [PATCH 54/56] gnu: atkmm: Update to 2.36.0. * gnu/packages/gtk.scm (atkmm) [version]: Update to 2.36.0. [build-system]: Change from gnu to meson. [arguments]<#:glib-or-gtk?>: New argument. [native-inputs]: Add m4, mm-common, perl and libxslt. --- gnu/packages/gtk.scm | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index fa5f2455db..bd58d24a7c 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -78,6 +78,7 @@ #:use-module (gnu packages image) #:use-module (gnu packages libffi) #:use-module (gnu packages linux) + #:use-module (gnu packages m4) #:use-module (gnu packages man) #:use-module (gnu packages pdf) #:use-module (gnu packages perl) @@ -1424,17 +1425,24 @@ library.") (define-public atkmm (package (name "atkmm") - (version "2.28.0") + (version "2.36.0") (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" - name "-" version ".tar.xz")) - (sha256 - (base32 - "0fnxrspxkhhbrjphqrpvl3zjm66n50s4cywrrrwkhbflgy8zqk2c")))= ) - (build-system gnu-build-system) - (native-inputs `(("pkg-config" ,pkg-config))) + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "0wwr0663jrqx2klsasffd9wpk3kqnwisj1y3ahdkjdk5hzrsjgy9"))= )) + (build-system meson-build-system) + (arguments + `(#:glib-or-gtk? #t)) ; To wrap binaries and/or compile schemas + (native-inputs + `(("m4" ,m4) + ("mm-common" ,mm-common) + ("perl" ,perl) + ("pkg-config" ,pkg-config) + ("xsltproc" ,libxslt))) (propagated-inputs `(("glibmm" ,glibmm) ("atk" ,atk))) (home-page "https://www.gtkmm.org") --=20 2.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0055-gnu-atkmm-Enable-documentation.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0055-gnu-atkmm-Enable-documentation.patch" =46rom ba31e2bcfa20f413c799b585aa7c6e2d49601934 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Wed, 24 Mar 2021 22:46:44 -0400 Subject: [PATCH 55/56] gnu: atkmm: Enable documentation. * gnu/packages/gtk.scm (atkmm) [outputs]: Add new output "doc". [arguments]<#:configure-flags>[-Denable-documentation]: New flag. [arguments]<#:phases>['move-doc]: New phase. [native-inputs]: Add graphviz, doxygen. --- gnu/packages/gtk.scm | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index bd58d24a7c..b6c4fe5174 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -74,6 +74,7 @@ #:use-module (gnu packages gl) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) + #:use-module (gnu packages graphviz) #:use-module (gnu packages icu4c) #:use-module (gnu packages image) #:use-module (gnu packages libffi) @@ -1435,10 +1436,27 @@ library.") (base32 "0wwr0663jrqx2klsasffd9wpk3kqnwisj1y3ahdkjdk5hzrsjgy9"))= )) (build-system meson-build-system) + (outputs '("out" "doc")) (arguments - `(#:glib-or-gtk? #t)) ; To wrap binaries and/or compile schemas + `(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas + #:configure-flags + (list + "-Dbuild-documentation=3Dtrue") + #:phases + (modify-phases %standard-phases + (add-after 'install 'move-doc + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (assoc-ref outputs "doc"))) + (mkdir-p (string-append doc "/share")) + (rename-file + (string-append out "/share/doc") + (string-append doc "/share/doc")) + #t)))))) (native-inputs - `(("m4" ,m4) + `(("dot" ,graphviz) + ("doxygen" ,doxygen) + ("m4" ,m4) ("mm-common" ,mm-common) ("perl" ,perl) ("pkg-config" ,pkg-config) --=20 2.31.0 --------------13C838295F3F8C51CF879FBC Content-Type: text/x-patch; charset=UTF-8; name="0056-gnu-atkmm-Update-synopsis-description-home-page-and-.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename*0="0056-gnu-atkmm-Update-synopsis-description-home-page-and-.pa"; filename*1="tch" =46rom 3a8f8ff0c6418511d0087e68694e830d2006f430 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 11 Mar 2021 13:01:19 -0500 Subject: [PATCH 56/56] gnu: atkmm: Update synopsis, description, home-pag= e and license. * gnu/packages/gtk.scm (atkmm) [synopsis]: Modify. [description]: Modify. [home-page]: Modify. [license]: Add gpl2+. --- gnu/packages/gtk.scm | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index b6c4fe5174..6307303a83 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -1463,12 +1463,15 @@ library.") ("xsltproc" ,libxslt))) (propagated-inputs `(("glibmm" ,glibmm) ("atk" ,atk))) - (home-page "https://www.gtkmm.org") - (synopsis "C++ interface to the ATK accessibility library") - (description - "ATKmm provides a C++ programming interface to the ATK accessibilit= y -toolkit.") - (license license:lgpl2.1+))) + (synopsis "C++ bindings for ATK") + (description "ATKmm is the C++ binding for the ATK library.") + (home-page "https://wiki.gnome.org/Accessibility") + (license + (list + ;; Library + license:lgpl2.1+ + ;; Tools + license:gpl2+)))) =20 (define-public gtkmm (package --=20 2.31.0 --------------13C838295F3F8C51CF879FBC-- --dDxfzwX6rz34VPYhf3Q9bmqQqxdK3vbmV-- --5BjXLCrUYP3oznVW6eIc6z4vdW6utvMvS Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature" -----BEGIN PGP SIGNATURE----- wnsEABYIACMWIQTNLV6qqYzLN9qR1rBfWBZkf4vlUQUCYF0yOwUDAAAAAAAKCRBfWBZkf4vlUV3+ AP9YcdfP1XzQ9TJAN02cmvBMIyWqX8SOpOwljPKSsKm0+gEAmQQ8jKmqeGcm/gr2scgbCroqmH9F 4YRJgteHcUFOywE= =k6aO -----END PGP SIGNATURE----- --5BjXLCrUYP3oznVW6eIc6z4vdW6utvMvS--