From patchwork Sun Sep 5 13:22:44 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Raghav Gururajan X-Patchwork-Id: 32637 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 10CA427BBE3; Sun, 5 Sep 2021 14:24:15 +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 4B71727BBE1 for ; Sun, 5 Sep 2021 14:24:14 +0100 (BST) Received: from localhost ([::1]:43152 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mMs85-00062k-4w for patchwork@mira.cbaines.net; Sun, 05 Sep 2021 09:24:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40622) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mMs7u-0005zE-Is for guix-patches@gnu.org; Sun, 05 Sep 2021 09:24:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:37893) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mMs7u-0008T1-B6 for guix-patches@gnu.org; Sun, 05 Sep 2021 09:24:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1mMs7u-00011m-2T for guix-patches@gnu.org; Sun, 05 Sep 2021 09:24:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#48554] [PATCH wip-gnome v9 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 13:24: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.16308481923879 (code B ref 48554); Sun, 05 Sep 2021 13:24:02 +0000 Received: (at 48554) by debbugs.gnu.org; 5 Sep 2021 13:23:12 +0000 Received: from localhost ([127.0.0.1]:49435 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mMs70-00010H-4k for submit@debbugs.gnu.org; Sun, 05 Sep 2021 09:23:11 -0400 Received: from out0.migadu.com ([94.23.1.103]:32379) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mMs6w-0000zj-IE for 48554@debbugs.gnu.org; Sun, 05 Sep 2021 09:23:05 -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=1630848180; 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=V9glewwrm0x6VrpbLKd0QbT45YQueMkC47+BdE3IsiE=; b=lRwt/xWjcpOCkPYZTwUUReqZ3H4AlSXtPkFhIHtd4BRyOm+NK3YgIHtjXUyPmcgd0qoppB DTkjPlMsV21e7+7RZQFnqiRD4tV+5iDzEYB2CzsKUsflrkPg7defszaemeI8mw8iAJgrCr +OEB0GiSKTK7d6j9xqIjiZFhbsK4gOHzJKpZOg6Wg4Bk+a/dP6NSUb+h2yLzpSo3EewXC2 kh68ZvsCuoGF+Lgf22yKhpoOPP6Q7G/ib99TXC/eabYNhmohu0+1fNoK5e3dtDhWb6Q6FQ xf38LC3YTbyVuqV6168O8fv9J9njko/SBjsYprZ5QF+r/LOzHJkGxCbQ3JvQWQ== Date: Sun, 5 Sep 2021 09:22:44 -0400 Message-Id: <20210905132245.20595-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 | 180 ++++++++++++++++++ .../patches/gtk4-respect-GUIX_GTK4_PATH.patch | 51 +++++ 3 files changed, 232 insertions(+) create mode 100644 gnu/packages/patches/gtk4-respect-GUIX_GTK4_PATH.patch diff --git a/gnu/local.mk b/gnu/local.mk index c42c879f5a..ced9d7d892 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1203,6 +1203,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..73e7a7b4c4 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,182 @@ 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"))) + (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 13:22:45 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Raghav Gururajan X-Patchwork-Id: 32638 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 17CA227BBE3; Sun, 5 Sep 2021 14:24: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 9559627BBE1 for ; Sun, 5 Sep 2021 14:24:26 +0100 (BST) Received: from localhost ([::1]:43616 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mMs8H-0006Lf-O3 for patchwork@mira.cbaines.net; Sun, 05 Sep 2021 09:24:25 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40624) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mMs7u-0005zm-Qx for guix-patches@gnu.org; Sun, 05 Sep 2021 09:24:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:37894) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mMs7u-0008TT-JU for guix-patches@gnu.org; Sun, 05 Sep 2021 09:24:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1mMs7u-00011u-FN for guix-patches@gnu.org; Sun, 05 Sep 2021 09:24:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#48554] [PATCH wip-gnome v9 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 13:24: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.16308481933890 (code B ref 48554); Sun, 05 Sep 2021 13:24:02 +0000 Received: (at 48554) by debbugs.gnu.org; 5 Sep 2021 13:23:13 +0000 Received: from localhost ([127.0.0.1]:49439 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mMs76-00010f-Va for submit@debbugs.gnu.org; Sun, 05 Sep 2021 09:23:13 -0400 Received: from out0.migadu.com ([94.23.1.103]:32429) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mMs75-00010P-BB for 48554@debbugs.gnu.org; Sun, 05 Sep 2021 09:23:11 -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=1630848190; 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=xamf1xsKCTF3vBXKbzgG8tQ7KdfY0o2LPoQReL+pZLQ=; b=l4fwV/2rIYdH7lA6A/boq383bA7RAXjtRVe512UQ200Pwg9oCEGMwEcD3PJ67Cs6PO831z YIiAiMyG6rsCGrsCGBtQ9SDHuRxDPVA7sW0V+TE0GsD9JOHW1VsbOyPsb1myCV420nALMs rEDh1KMSu0ZQgbQXDabQX24sqs77u49KFqiekKdkayArfc/PoGNnjPY0SguCUKfO/fknzc XDpokG6hGJXwzGTw6J9cMFP0nabW6CwHJyt7FWd3xvrKpJC7fGixQt3LcU8HqkBZb6OaGY 74qLzDjngS1a930zgoZehxvYzt4m7JEbvqqhP+AyRlyjnZ+O2sRqnhYTqrQ4Ng== Date: Sun, 5 Sep 2021 09:22:45 -0400 Message-Id: <20210905132245.20595-2-rg@raghavgururajan.name> In-Reply-To: <20210905132245.20595-1-rg@raghavgururajan.name> References: <20210905132245.20595-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. [synopsis]: Modify. [description]: Modify (gtkmm-3): New variable. (gtkmm-2)[arguments]: Strip certain inherited arguments. --- gnu/packages/gtk.scm | 48 +++++++++++++++++++++++++++++++------------- 1 file changed, 34 insertions(+), 14 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 73e7a7b4c4..eae1981672 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -1779,7 +1779,7 @@ library.") (define-public gtkmm (package (name "gtkmm") - (version "3.24.4") + (version "4.2.0") (source (origin (method url-fetch) @@ -1788,11 +1788,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 @@ -1815,6 +1816,7 @@ library.") (native-inputs `(("dot" ,graphviz) ("doxygen" ,doxygen) + ("glib:bin" ,glib "bin") ("m4" ,m4) ("mm-common" ,mm-common) ("perl" ,perl) @@ -1825,11 +1827,11 @@ library.") `(("atkmm" ,atkmm) ("cairomm" ,cairomm) ("glibmm" ,glibmm) - ("gtk+" ,gtk+) + ("gtk" ,gtk) ("pangomm" ,pangomm))) - (synopsis "C++ Interfaces for GTK+ and GNOME") + (synopsis "C++ Interfaces for GTK and GNOME") (description "GTKmm is the official C++ interface for the popular GUI -library GTK+. Highlights include typesafe callbacks, and a comprehensive set of +library GTK. Highlights include typesafe callbacks, and a comprehensive set of widgets that are easily extensible via inheritance. You can create user interfaces either in code or with the Glade User Interface designer, using libglademm. There's extensive documentation, including API reference and a @@ -1842,6 +1844,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) @@ -1858,14 +1884,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)