From patchwork Sun Sep 5 14:44:42 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Raghav Gururajan X-Patchwork-Id: 32643 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 2858127BBE3; Sun, 5 Sep 2021 15:48:16 +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.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,T_DKIM_INVALID, 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 ESMTPS id 2A38427BBE1 for ; Sun, 5 Sep 2021 15:48:15 +0100 (BST) Received: from localhost ([::1]:36922 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mMtRO-0003du-AJ for patchwork@mira.cbaines.net; Sun, 05 Sep 2021 10:48:14 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56876) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mMtPG-0000F2-1k for guix-patches@gnu.org; Sun, 05 Sep 2021 10:46:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:39233) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mMtPF-0003FB-Pu for guix-patches@gnu.org; Sun, 05 Sep 2021 10:46:01 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1mMtPF-0003Ha-NP for guix-patches@gnu.org; Sun, 05 Sep 2021 10:46:01 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#48554] [PATCH wip-gnome v10 1/2] gnu: Add gtk. References: In-Reply-To: Resent-From: Raghav Gururajan Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 05 Sep 2021 14:46:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 48554 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: To: 48554@debbugs.gnu.org Cc: Raghav Gururajan Received: via spool by 48554-submit@debbugs.gnu.org id=B48554.163085310612547 (code B ref 48554); Sun, 05 Sep 2021 14:46:01 +0000 Received: (at 48554) by debbugs.gnu.org; 5 Sep 2021 14:45:06 +0000 Received: from localhost ([127.0.0.1]:50775 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mMtOI-0003G2-Jn for submit@debbugs.gnu.org; Sun, 05 Sep 2021 10:45:06 -0400 Received: from out2.migadu.com ([188.165.223.204]:26205) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mMtO9-0003FH-T5 for 48554@debbugs.gnu.org; Sun, 05 Sep 2021 10:44:59 -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=1630853091; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=+y6UwshUB3JoYyu02EAvzwd20BM2+L+OffjsSOQEGks=; b=J/pdc5m3fmO2+vv2G90nCzQip63vaWmtnydDZKMmhX4KmBivkP8o/Ilx3PMUHLky1RH6TR BRISEBvGU+6kfRSCfsClfPoSXiXqk0iKZpPQiJaoo/PCSMTP8Vyb9LKSNBcC+35DUB7hJY 85xrXZppBJ9qAZlZzH41xFaL3IksnF5dDWPrmhr8fbo220daPcvD4C+ntAhV29YsVWRmqK Q4nWrdvGWR8zyUB6ZsM5uw1bOVwktfjNz0tXb6eWrz5wiK/ceZALhGOAwUKzF6iHBZD0Z8 z7TEL8upWL2G3dk5aCwFrNcELYgsfMEAek6hm0pK28bhEz7q117/HMUt8eGo0A== Date: Sun, 5 Sep 2021 10:44:42 -0400 Message-Id: <20210905144443.17398-1-rg@raghavgururajan.name> MIME-Version: 1.0 X-Migadu-Flow: FLOW_OUT 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+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" Reply-to: Raghav Gururajan X-ACL-Warn: , Raghav Gururajan via Guix-patches X-Patchwork-Original-From: Raghav Gururajan via Guix-patches via From: Raghav Gururajan X-getmail-retrieved-from-mailbox: Patches * gnu/packages/gtk.scm (gtk): New variable. * gnu/packages/patches/gtk4-respect-GUIX_GTK4_PATH.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/gtk.scm | 181 ++++++++++++++++++ .../patches/gtk4-respect-GUIX_GTK4_PATH.patch | 51 +++++ 3 files changed, 233 insertions(+) create mode 100644 gnu/packages/patches/gtk4-respect-GUIX_GTK4_PATH.patch diff --git a/gnu/local.mk b/gnu/local.mk index eeed4953fa..bbad931643 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1200,6 +1200,7 @@ dist_patch_DATA = \ %D%/packages/patches/gtk2-theme-paths.patch \ %D%/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch \ %D%/packages/patches/gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch \ + %D%/packages/patches/gtk4-honor-GUIX_GTK4_PATH.patch \ %D%/packages/patches/gtkglext-disable-disable-deprecated.patch \ %D%/packages/patches/gtksourceview-2-add-default-directory.patch \ %D%/packages/patches/gvfs-add-support-for-libplist-2.2.patch \ diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index ada006b671..a67519f3cd 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -91,11 +91,15 @@ #:use-module (gnu packages pretty-print) #:use-module (gnu packages profiling) #:use-module (gnu packages python) + #:use-module (gnu packages python-build) #:use-module (gnu packages python-xyz) + #:use-module (gnu packages gstreamer) #: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 video) + #:use-module (gnu packages vulkan) #:use-module (gnu packages web) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) @@ -833,6 +837,183 @@ is part of the GNOME accessibility project.") (license license:lgpl2.1+) (home-page "https://wiki.gnome.org/Accessibility/"))) +(define-public gtk + (package + (name "gtk") + (version "4.2.1") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 "1rh9fd5axf79pmd93hb2fmmflic5swcvqvq6vqghlgz4bmvnjc82")) + (patches + (search-patches "gtk4-respect-GUIX_GTK4_PATH.patch")))) + (build-system meson-build-system) + (outputs '("out" "bin" "doc")) + (arguments + `(#:meson ,meson-0.55 ;project requires meson v0.55 or higher + #:configure-flags + (list + "-Dbroadway-backend=true" ;for broadway display-backend + "-Dcloudproviders=enabled" ;for cloud-providers support + "-Dtracker=enabled" ;for filechooser search support + "-Dcolord=enabled" ;for color printing support + ,@(if (%current-target-system) + ;; If true, gtkdoc-scangobj will try to execute a + ;; cross-compiled binary. + '("-Dgtk_doc=false") + '("-Dgtk_doc=true")) + "-Dman-pages=true") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch + (lambda* (#:key inputs native-inputs outputs #:allow-other-keys) + ;; Correct DTD resources of docbook. + (substitute* (find-files "docs" "\\.xml$") + (("http://www.oasis-open.org/docbook/xml/4.3/") + (string-append + (assoc-ref (or native-inputs inputs) "docbook-xml-4.3") + "/xml/dtd/docbook/"))) + ;; Disable building of icon cache. + (substitute* "meson.build" + (("gtk_update_icon_cache: true") + "gtk_update_icon_cache: false")) + ;; Disable failing tests. + ;; https://paste.sr.ht/blob/0af160f1172a58dff88a5cf6354ecba613cccdef + (substitute* (find-files "testsuite" "meson.build") + (("[ \t]*'empty-text.node',") "") + (("[ \t]*'testswitch.node',") "") + (("[ \t]*'widgetfactory.node',") "")))) + (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"))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + ;; Run tests using the x11 setup, + ;; instead of the default wayland. + (invoke "meson" "test" "--setup=x11")))) + (add-after 'install 'move-files + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (assoc-ref outputs "bin")) + (doc (assoc-ref outputs "doc"))) + (for-each mkdir-p + (list + (string-append bin "/bin") + (string-append bin "/share/applications") + (string-append bin "/share/icons") + (string-append bin "/share/man") + (string-append bin "/share/metainfo") + (string-append doc "/share/doc"))) + ;; Move programs and related files to output 'bin'. + (for-each (lambda (dir) + (rename-file + (string-append out dir) + (string-append bin dir))) + (list + "/bin" + "/share/applications" + "/share/icons" + "/share/man" + "/share/metainfo")) + ;; Move HTML documentation to output 'doc'. + (rename-file + (string-append out "/share/doc") + (string-append doc "/share/doc"))))) + (add-after 'move-files 'patch-desktop-files + (lambda* (#:key outputs #:allow-other-keys) + (let* ((bin (assoc-ref outputs "bin")) + (bindir (string-append bin "/bin")) + (appdir (string-append "/share/applications"))) + ;; Correct exec-path of programs. + (substitute* (find-files appdir "//.desktop$") + (("exec.*=.*/bin") + (string-append "exec = " bindir))))))))) + (native-inputs + `(("docbook-xml-4.3" ,docbook-xml-4.3) + ("docbook-xsl" ,docbook-xsl) + ("gettext-minimal" ,gettext-minimal) + ("glib:bin" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) ;for building introspection data + ("gtk-doc" ,gtk-doc) ;for building documentation + ("intltool" ,intltool) + ("libxslt" ,libxslt) ;for building man-pages + ("pkg-config" ,pkg-config) + ;; These python modules are required for building documentation. + ("python-jinja2" ,python-jinja2) + ("python-markdown" ,python-markdown) + ("python-markupsafe" ,python-markupsafe) + ("python-pygments" ,python-pygments) + ("python-toml" ,python-toml) + ("python-typogrify" ,python-typogrify) + ("sassc" ,sassc) ;for building themes + ("vala" ,vala) + ("xorg-server-for-tests" ,xorg-server-for-tests))) + (inputs + `(("colord" ,colord) ;for color printing support + ("cups" ,cups) ;for CUPS print-backend + ("ffmpeg" ,ffmpeg) ;for ffmpeg media-backend + ("fribidi" ,fribidi) + ("gstreamer" ,gstreamer) ;for gstreamer media-backend + ("gst-plugins-bad" ,gst-plugins-bad) ;provides gstreamer-player + ("gst-plugins-base" ,gst-plugins-base) ;provides gstreamer-gl + ("harfbuzz" ,harfbuzz) + ("iso-codes" ,iso-codes) + ("json-glib" ,json-glib) + ("libcloudproviders" ,libcloudproviders) ;for clould-providers support + ("librsvg" ,librsvg) + ("python" ,python) + ("rest" ,rest) + ("tracker" ,tracker))) ;for filechooser search support + (propagated-inputs + ;; Following dependencies are referenced in .pc files. + `(("cairo" ,cairo) + ("fontconfig" ,fontconfig) + ("gdk-pixbuf+svg" ,gdk-pixbuf+svg) + ("glib" ,glib) + ("graphene" ,graphene) + ("libepoxy" ,libepoxy) + ("libx11" ,libx11) ;for x11 display-backend + ("libxcomposite" ,libxcomposite) + ("libxcursor" ,libxcursor) + ("libxdamage" ,libxdamage) + ("libxext" ,libxext) + ("libxfixes" ,libxfixes) + ("libxi" ,libxi) + ("libxinerama" ,libxinerama) ;for xinerama support + ("libxkbcommon" ,libxkbcommon) + ("libxrandr" ,libxrandr) + ("libxrender" ,libxrender) + ("pango" ,pango) + ("vulkan-headers" ,vulkan-headers) + ("vulkan-loader" ,vulkan-loader) ;for vulkan graphics API support + ("wayland" ,wayland) ;for wayland display-backend + ("wayland-protocols" ,wayland-protocols))) + (native-search-paths + (list + (search-path-specification + (variable "GUIX_GTK4_PATH") + (files '("lib/gtk-4.0"))))) + (search-paths native-search-paths) + (home-page "https://www.gtk.org/") + (synopsis "Cross-platform widget toolkit") + (description "GTK 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.") + (license license:lgpl2.1+))) + (define-public gtk+-2 (package (name "gtk+") diff --git a/gnu/packages/patches/gtk4-respect-GUIX_GTK4_PATH.patch b/gnu/packages/patches/gtk4-respect-GUIX_GTK4_PATH.patch new file mode 100644 index 0000000000..4a60023bf7 --- /dev/null +++ b/gnu/packages/patches/gtk4-respect-GUIX_GTK4_PATH.patch @@ -0,0 +1,51 @@ +From 889294a93fc6464c2c2919bc47f6fd85ec823363 Mon Sep 17 00:00:00 2001 +From: Raghav Gururajan +Date: Tue, 18 May 2021 19:57:00 -0400 +Subject: [PATCH] [PATCH]: Honor GUIX_GTK4_PATH. + +This patch makes GTK look for additional modules in a list of directories +specified by the environment variable "GUIX_GTK4_PATH". This can be used +instead of "GTK_PATH" to make GTK find modules that are incompatible with +other major versions of GTK. +--- + gtk/gtkmodules.c | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +diff --git a/gtk/gtkmodules.c b/gtk/gtkmodules.c +index aace5dcbc9..193b6a02e9 100644 +--- a/gtk/gtkmodules.c ++++ b/gtk/gtkmodules.c +@@ -105,6 +105,7 @@ static char ** + get_module_path (void) + { + const char *module_path_env; ++ const gchar *module_guix_gtk4_path_env; + const char *exe_prefix; + char *module_path; + char *default_dir; +@@ -114,6 +115,7 @@ get_module_path (void) + return result; + + module_path_env = g_getenv ("GTK_PATH"); ++ module_guix_gtk4_path_env = g_getenv ("GUIX_GTK4_PATH"); + exe_prefix = g_getenv ("GTK_EXE_PREFIX"); + + if (exe_prefix) +@@ -121,7 +123,13 @@ get_module_path (void) + else + default_dir = g_build_filename (_gtk_get_libdir (), "gtk-4.0", NULL); + +- if (module_path_env) ++ if (module_guix_gtk4_path_env && module_path_env) ++ module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S, ++ module_guix_gtk4_path_env, module_path_env, default_dir, NULL); ++ else if (module_guix_gtk4_path_env) ++ module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S, ++ module_guix_gtk4_path_env, default_dir, NULL); ++ else if (module_path_env) + module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S, + module_path_env, default_dir, NULL); + else +-- +2.31.1 + From patchwork Sun Sep 5 14:44:43 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Raghav Gururajan X-Patchwork-Id: 32642 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 44B7C27BBE3; Sun, 5 Sep 2021 15:47:27 +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.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,T_DKIM_INVALID, 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 ESMTPS id 006E827BBE1 for ; Sun, 5 Sep 2021 15:47:27 +0100 (BST) Received: from localhost ([::1]:35488 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mMtQc-0002ez-2Y for patchwork@mira.cbaines.net; Sun, 05 Sep 2021 10:47:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56878) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mMtPG-0000Fh-F1 for guix-patches@gnu.org; Sun, 05 Sep 2021 10:46:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:39234) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mMtPG-0003FX-5g for guix-patches@gnu.org; Sun, 05 Sep 2021 10:46:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1mMtPG-0003Hk-3x for guix-patches@gnu.org; Sun, 05 Sep 2021 10:46:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#48554] [PATCH wip-gnome v10 2/2] gnu: Update gtkmm to 4.2.0, add gtkmm@3, and adjust gtkmm@2. Resent-From: Raghav Gururajan Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 05 Sep 2021 14:46:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 48554 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: To: 48554@debbugs.gnu.org Cc: Raghav Gururajan Received: via spool by 48554-submit@debbugs.gnu.org id=B48554.163085310612554 (code B ref 48554); Sun, 05 Sep 2021 14:46:02 +0000 Received: (at 48554) by debbugs.gnu.org; 5 Sep 2021 14:45:06 +0000 Received: from localhost ([127.0.0.1]:50779 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mMtOM-0003GK-8t for submit@debbugs.gnu.org; Sun, 05 Sep 2021 10:45:06 -0400 Received: from out2.migadu.com ([188.165.223.204]:43478) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mMtOK-0003G9-4T for 48554@debbugs.gnu.org; Sun, 05 Sep 2021 10:45:04 -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=1630853100; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=4G/8XII0WINKMXQ0J4n1tF5bDdb2KWeyh028gzp/gF8=; b=SRy2qBGPfuncBwxXsKs7NT8f6I8ZskkObP6Ovc9gBaoL4zDU/dxXGGFnQICM/YKC6jfnzh zatAyn2teaKkGIuQEzQeu7qwYRSn1Vxq0NmqgLC7TzYoSOCRG6sOUWcZ41hI84WBF77pTY 1opeNj0l8Izq3DXwx5HL7mA23LGIIo9vJ6ywGjp3zmz/KnY2SzNzuCNujaSF85q5zCVo7U uzk0vah4mFJJoJ+S2Uo5nvEmevfWHw2uvYYB0DBtV71voT3IsKER1UQowGxkkV/CwjSEjB Na7vhLMpEucO4VZXQ//JjZp64r8/6VwZP2lS+vAR2rcLeg64eqYjvETfLAKjSg== Date: Sun, 5 Sep 2021 10:44:43 -0400 Message-Id: <20210905144443.17398-2-rg@raghavgururajan.name> In-Reply-To: <20210905144443.17398-1-rg@raghavgururajan.name> References: <20210905144443.17398-1-rg@raghavgururajan.name> MIME-Version: 1.0 X-Migadu-Flow: FLOW_OUT 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+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" Reply-to: Raghav Gururajan X-ACL-Warn: , Raghav Gururajan via Guix-patches X-Patchwork-Original-From: Raghav Gururajan via Guix-patches via From: Raghav Gururajan X-getmail-retrieved-from-mailbox: Patches * gnu/packages/gtk.scm (gtkmm)[version]: Update to 4.2.0. [arguments](meson): New argument. [native-inputs]: Add glib:bin. [propagated-inputs]: Replace gtk+ with gtk. (gtkmm-3): New variable. (gtkmm-2)[arguments]: Strip certain inherited arguments. --- gnu/packages/gtk.scm | 44 ++++++++++++++++++++++++++++++++------------ 1 file changed, 32 insertions(+), 12 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index a67519f3cd..f28b15890e 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -1780,7 +1780,7 @@ library.") (define-public gtkmm (package (name "gtkmm") - (version "3.24.4") + (version "4.2.0") (source (origin (method url-fetch) @@ -1789,11 +1789,12 @@ library.") (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 - (base32 "0hv7pviln4cpjvpz7m7ga5krcsbibqzixdcn0dwzpz0cx71p3swv")))) + (base32 "12x9j82y37r4v0ngs22rzp4wmw7k2bbb9d3bymcczzz7y8w4q328")))) (build-system meson-build-system) (outputs '("out" "doc")) (arguments - `(#:configure-flags '("-Dbuild-documentation=true") + `(#:meson ,meson-0.55 ;project requires meson v0.54 or higher + #:configure-flags '("-Dbuild-documentation=true") #:phases (modify-phases %standard-phases (add-before 'check 'pre-check @@ -1816,6 +1817,7 @@ library.") (native-inputs `(("dot" ,graphviz) ("doxygen" ,doxygen) + ("glib:bin" ,glib "bin") ("m4" ,m4) ("mm-common" ,mm-common) ("perl" ,perl) @@ -1826,7 +1828,7 @@ library.") `(("atkmm" ,atkmm) ("cairomm" ,cairomm) ("glibmm" ,glibmm) - ("gtk+" ,gtk+) + ("gtk" ,gtk) ("pangomm" ,pangomm))) (synopsis "C++ Interfaces for GTK+ and GNOME") (description "GTKmm is the official C++ interface for the popular GUI @@ -1843,6 +1845,30 @@ tutorial.") ;; Tools license:gpl2+)))) +(define-public gtkmm-3 + (package + (inherit gtkmm) + (name "gtkmm") + (version "3.24.4") + (source + (origin + (method url-fetch) + (uri + (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 "0hv7pviln4cpjvpz7m7ga5krcsbibqzixdcn0dwzpz0cx71p3swv")))) + (arguments + (strip-keyword-arguments + '(#:meson) (package-arguments gtkmm))) + (propagated-inputs + `(("atkmm-2.28" ,atkmm-2.28) + ("cairomm-1.13" ,cairomm-1.13) + ("glibmm" ,glibmm) + ("gtk+" ,gtk+) + ("pangomm-2.42" ,pangomm-2.42))))) + (define-public gtkmm-2 (package (inherit gtkmm) @@ -1859,14 +1885,8 @@ tutorial.") (base32 "0wkbzvsx4kgw16f6xjdc1dz7f77ldngdila4yi5lw2zrgcxsb006")))) (build-system gnu-build-system) (arguments - (substitute-keyword-arguments (package-arguments gtkmm) - ((#:modules modules %gnu-build-system-modules) - `((srfi srfi-1) - ,@modules)) - ((#:configure-flags flags) - `(fold delete - ,flags - '("-Dbuild-documentation=true"))))) + (strip-keyword-arguments + '(#:meson #:configure-flags) (package-arguments gtkmm))) (propagated-inputs `(("atkmm" ,atkmm-2.28) ("cairomm" ,cairomm-1.13)