From patchwork Thu Aug 20 15:10:48 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Danny Milosavljevic X-Patchwork-Id: 23707 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id C341E27BBE7; Thu, 20 Aug 2020 16:13:57 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTP id 591B727BBE5 for ; Thu, 20 Aug 2020 16:13:56 +0100 (BST) Received: from localhost ([::1]:53326 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k8mGI-0001yp-Ti for patchwork@mira.cbaines.net; Thu, 20 Aug 2020 11:13:55 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:35244) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k8mEb-0007QZ-2G for guix-patches@gnu.org; Thu, 20 Aug 2020 11:12:09 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:60230) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k8mEa-00072F-M6 for guix-patches@gnu.org; Thu, 20 Aug 2020 11:12:08 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1k8mEa-0006Dg-I9 for guix-patches@gnu.org; Thu, 20 Aug 2020 11:12:08 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#42958] [PATCH core-updates 27/29] gnu: gtk+: Update package definition. Resent-From: Danny Milosavljevic Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 20 Aug 2020 15:12:08 +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 Cc: Raghav Gururajan , Danny Milosavljevic Received: via spool by 42958-submit@debbugs.gnu.org id=B42958.159793629323702 (code B ref 42958); Thu, 20 Aug 2020 15:12:08 +0000 Received: (at 42958) by debbugs.gnu.org; 20 Aug 2020 15:11:33 +0000 Received: from localhost ([127.0.0.1]:43512 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k8mE1-0006A7-5D for submit@debbugs.gnu.org; Thu, 20 Aug 2020 11:11:33 -0400 Received: from dd26836.kasserver.com ([85.13.145.193]:42354) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k8mDW-00063h-Lg for 42958@debbugs.gnu.org; Thu, 20 Aug 2020 11:11:05 -0400 Received: from dayas.lan (80-110-126-103.cgn.dynamic.surfer.at [80.110.126.103]) by dd26836.kasserver.com (Postfix) with ESMTPSA id D69C43368278; Thu, 20 Aug 2020 17:11:01 +0200 (CEST) From: Danny Milosavljevic Date: Thu, 20 Aug 2020 17:10:48 +0200 Message-Id: <20200820151050.9529-27-dannym@scratchpost.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200820151050.9529-1-dannym@scratchpost.org> References: <20200820150914.9443-1-dannym@scratchpost.org> <20200820151050.9529-1-dannym@scratchpost.org> MIME-Version: 1.0 Tags: patch 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+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches From: Raghav Gururajan * gnu/packages/gtk.scm (gtk+): Remove inheritance from gtk+-2. [version]: Update to 3.24.20. [source]: Modify base32. [arguments]<#:configure-flags>[--enable-cloudproviders]: New flag. <#:phases>['pre-configure]: Remove phase. ['pre-check]: New phase. ['disable-failing-tests]: New phase. [native-inputs]: Add docbook-xml, intltool, sassc and libxslt. [inputs]: Add graphene, harfbuzz, iso-codes, libcloudproviders and papi. [propagated-inputs]: Add cairo, fribidi, fontconfig, freetype, glib, libx11, libxcomposite, libxext, libxfixes and libxrender. Signed-off-by: Danny Milosavljevic --- gnu/packages/gtk.scm | 218 ++++++++++++++++++++++++++----------------- 1 file changed, 132 insertions(+), 86 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 9b69f788bb..fcb0f8a2a7 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -73,6 +73,7 @@ #:use-module (gnu packages graphics) #:use-module (gnu packages icu4c) #:use-module (gnu packages image) + #:use-module (gnu packages iso-codes) #:use-module (gnu packages libffi) #:use-module (gnu packages linux) #:use-module (gnu packages m4) @@ -81,11 +82,14 @@ #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pretty-print) + #:use-module (gnu packages profiling) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) #:use-module (gnu packages guile) #:use-module (gnu packages guile-xyz) #:use-module (gnu packages cups) + #:use-module (gnu packages version-control) + #:use-module (gnu packages web) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) #:use-module (gnu packages xdisorg) @@ -833,92 +837,134 @@ application suites.") (license license:lgpl2.0+))) (define-public gtk+ - (package (inherit gtk+-2) - (name "gtk+") - (version "3.24.20") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" - name "-" version ".tar.xz")) - (sha256 - (base32 - "1wqxkd3xnqwihcawncp9mkf9bv5a5fg5i4ahm6klpl782vvnkb1d")) - (patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch" - "gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch")))) - (propagated-inputs - `(("at-spi2-atk" ,at-spi2-atk) - ("atk" ,atk) - ("gdk-pixbuf" ,gdk-pixbuf+svg) - ("libepoxy" ,libepoxy) - ("libxcursor" ,libxcursor) - ("libxi" ,libxi) - ("libxinerama" ,libxinerama) - ("libxkbcommon" ,libxkbcommon) - ("libxdamage" ,libxdamage) - ("libxrandr" ,libxrandr) - ("mesa" ,mesa) - ("pango" ,pango) - ("wayland" ,wayland) - ("wayland-protocols" ,wayland-protocols))) - (inputs - `(("libxml2" ,libxml2) - ;; XXX: colord depends on mozjs (through polkit), which fails on - ;; on non-intel systems now. - ;;("colord" ,colord) - ("cups" ,cups) ;for printing support - ;; XXX: rest depends on p11-kit, which fails on mips64el now. - ;;("rest" ,rest) - ("json-glib" ,json-glib))) - (native-inputs - `(("perl" ,perl) - ("glib" ,glib "bin") - ("gettext" ,gettext-minimal) - ("pkg-config" ,pkg-config) - ("gobject-introspection" ,gobject-introspection) - ("python-wrapper" ,python-wrapper) - ;; By using a special xorg-server for GTK+'s tests, we reduce the impact - ;; of updating xorg-server directly on the master branch. - ("xorg-server" ,xorg-server-for-tests))) - (arguments - `(#:disallowed-references (,xorg-server-for-tests) - ;; 47 MiB goes to "out" (24 of which is locale data!), and 26 MiB goes - ;; to "doc". - #:configure-flags (list (string-append "--with-html-dir=" - (assoc-ref %outputs "doc") - "/share/gtk-doc/html") - ;; The header file is required - ;; by gnome-control-center - "--enable-wayland-backend" - ;; This is necessary to build both backends. - "--enable-x11-backend" - ;; This enables the HTML5 websocket backend. - "--enable-broadway-backend") - #:phases (modify-phases %standard-phases - (add-before 'configure 'pre-configure - (lambda _ - ;; Disable most tests, failing in the chroot with the message: - ;; D-Bus library appears to be incorrectly set up; failed to read - ;; machine uuid: Failed to open "/etc/machine-id": No such file or - ;; directory. - ;; See the manual page for dbus-uuidgen to correct this issue. - (substitute* "testsuite/Makefile.in" - (("SUBDIRS = gdk gtk a11y css reftests") - "SUBDIRS = gdk")) - #t)) - (add-after 'install 'move-desktop-files - ;; Move desktop files into 'bin' to avoid cycle references. - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (bin (assoc-ref outputs "bin"))) - (mkdir-p (string-append bin "/share")) - (rename-file (string-append out "/share/applications") - (string-append bin "/share/applications")) - #t)))))) - (native-search-paths - (list (search-path-specification - (variable "GUIX_GTK3_PATH") - (files '("lib/gtk-3.0"))))))) + (package + (name "gtk+") + (version "3.24.20") + (source + (origin + (method url-fetch) + (uri + (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 "1wqxkd3xnqwihcawncp9mkf9bv5a5fg5i4ahm6klpl782vvnkb1d")) + (patches + (search-patches + "gtk3-respect-GUIX_GTK3_PATH.patch" + "gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch")))) + (build-system gnu-build-system) + (outputs '("out" "bin" "doc")) + (arguments + `(#:configure-flags + (list + "--enable-x11-backend" + "--enable-broadway-backend" + "--enable-wayland-backend" + "--enable-cloudproviders" + (string-append "--with-html-dir=" (assoc-ref %outputs "doc") + "/share/gtk-doc/html")) + #:phases + (modify-phases %standard-phases + (add-before 'check 'pre-check + (lambda _ + ;; Tests require a running X server. + (system "Xvfb :1 +extension GLX &") + (setenv "DISPLAY" ":1") + ;; Tests write to $HOME. + (setenv "HOME" (getcwd)) + ;; Tests look for $XDG_RUNTIME_DIR. + (setenv "XDG_RUNTIME_DIR" (getcwd)) + ;; For missing '/etc/machine-id'. + (setenv "DBUS_FATAL_WARNINGS" "0") + #t)) + (add-after 'unpack 'disable-failing-tests + (lambda _ + (substitute* "testsuite/gtk/Makefile.in" + (("builderparser cellarea check-icon-names check-cursor-names") + "builderparser cellarea check-cursor-names") + (("notify no-gtk-init object objects-finalize papersize rbtree") + "no-gtk-init papersize rbtree") + (("stylecontext templates textbuffer textiter treemodel treepath") + "stylecontext textbuffer textiter treemodel treepath")) + (substitute* "testsuite/a11y/Makefile.in" + (("accessibility-dump tree-performance text children derive") + "tree-performance text children derive")) + (substitute* "testsuite/reftests/Makefile.in" + (("TEST_PROGS = gtk-reftest") + "TEST_PROGS = ")) + #t)) + ;; Move desktop files into 'bin' to avoid cycle references. + (add-after 'install 'move-desktop-files + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (assoc-ref outputs "bin"))) + (mkdir-p (string-append bin "/share")) + (rename-file + (string-append out "/share/applications") + (string-append bin "/share/applications")) + #t)))))) + (native-inputs + `(("docbook-xml" ,docbook-xml-4.1.2) + ("gettext" ,gettext-minimal) + ("glib" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) + ("intltool" ,intltool) + ("perl" ,perl) + ("pkg-config" ,pkg-config) + ("python-wrapper" ,python-wrapper) + ("sassc" ,sassc) + ("xorg-server" ,xorg-server-for-tests) + ("xsltproc" ,libxslt))) + (inputs + `(("colord" ,colord) + ("cups" ,cups) + ("graphene" ,graphene) + ("harfbuzz" ,harfbuzz) + ("iso-codes" ,iso-codes) + ("json-glib" ,json-glib) + ("libcloudproviders" ,libcloudproviders) + ("libxml2" ,libxml2) + ("papi" ,papi) + ("rest" ,rest))) + (propagated-inputs + `(("atk" ,atk) + ("at-spi2-atk" ,at-spi2-atk) + ("cairo" ,cairo) + ("fribidi" ,fribidi) + ("fontconfig" ,fontconfig) + ("freetype" ,freetype) + ("gdk-pixbuf" ,gdk-pixbuf+svg) + ("glib" ,glib) + ("libepoxy" ,libepoxy) + ("libx11" ,libx11) + ("libxcomposite" ,libxcomposite) + ("libxcursor" ,libxcursor) + ("libxdamage" ,libxdamage) + ("libxext" ,libxext) + ("libxfixes" ,libxfixes) + ("libxi" ,libxi) + ("libxinerama" ,libxinerama) + ("libxkbcommon" ,libxkbcommon) + ("libxrandr" ,libxrandr) + ("libxrender" ,libxrender) + ("mesa" ,mesa) + ("pango" ,pango) + ("wayland" ,wayland) + ("wayland-protocols" ,wayland-protocols))) + (native-search-paths + (list + (search-path-specification + (variable "GUIX_GTK3_PATH") + (files '("lib/gtk-3.0"))))) + (search-paths native-search-paths) + (synopsis "Cross-platform toolkit for creating graphical user interfaces") + (description "GTK+, or the GIMP Toolkit, is a multi-platform toolkit for creating +graphical user interfaces. Offering a complete set of widgets, GTK+ is +suitable for projects ranging from small one-off tools to complete +application suites.") + (home-page "https://www.gtk.org/") + (license license:lgpl2.0+))) ;;; ;;; Guile bindings.