From unknown Wed Jun 18 23:08:30 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#76246 <76246@debbugs.gnu.org> To: bug#76246 <76246@debbugs.gnu.org> Subject: Status: [PATCH 0/2] Add G-Golf's GTK-4 examples. Reply-To: bug#76246 <76246@debbugs.gnu.org> Date: Thu, 19 Jun 2025 06:08:30 +0000 retitle 76246 [PATCH 0/2] Add G-Golf's GTK-4 examples. reassign 76246 guix-patches submitter 76246 Florian Pelz severity 76246 normal tag 76246 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Wed Feb 12 21:50:17 2025 Received: (at submit) by debbugs.gnu.org; 13 Feb 2025 02:50:17 +0000 Received: from localhost ([127.0.0.1]:39206 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tiPIv-0007Af-1i for submit@debbugs.gnu.org; Wed, 12 Feb 2025 21:50:17 -0500 Received: from lists.gnu.org ([2001:470:142::17]:56046) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tiPIs-000766-If for submit@debbugs.gnu.org; Wed, 12 Feb 2025 21:50:15 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tiPIl-0002I0-2X for guix-patches@gnu.org; Wed, 12 Feb 2025 21:50:07 -0500 Received: from relay.yourmailgateway.de ([188.68.63.98]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tiPIi-0000sP-8M for guix-patches@gnu.org; Wed, 12 Feb 2025 21:50:06 -0500 Received: from mors-relay-2501.netcup.net (localhost [127.0.0.1]) by mors-relay-2501.netcup.net (Postfix) with ESMTPS id 4YtfmR5T3xz67HV; Thu, 13 Feb 2025 03:49:59 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=pelzflorian.de; s=key2; t=1739414999; bh=RUQsH4s+zVnskZiUur9tgYxbXaLegFGqAZwBmejbmAA=; h=From:To:Cc:Subject:Date:From; b=jeA46fEFAYcaT2gJvQg9W83xJ/Dv8808N7WUzia9j6hEiBGWvJjTBbdUwz/CJMsg4 dpNjwHKsS65a6B4lhUXakbiugmITIMhFNBsAqJbXVK8WPDk3AnA34cPEV0eEI7l6XG 8dD+bWVK+b/OdSB/h7pDzpnhmQNMEab8L9W+r32jXAMNKlT2fyRaQvTbDt9uoOGfl0 haF1nowYWe0CrnNZ+n1GCQgGpXxXwx78iJEpVHH81Z34Ty/1mtCyadThrlP/xb3uh4 IgzOQsKikCGfnNMTN3A+E/TbHKg5MTbOKJ6YWs6IBcNg2PIl3jvN4tKCHH23byfPlb ZDg8JXKxMRRUg== Received: from policy02-mors.netcup.net (unknown [46.38.225.35]) by mors-relay-2501.netcup.net (Postfix) with ESMTPS id 4YtfmR4lQLz4xhJ; Thu, 13 Feb 2025 03:49:59 +0100 (CET) Received: from mxe217.netcup.net (unknown [10.243.12.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by policy02-mors.netcup.net (Postfix) with ESMTPS id 4YtfmR1TsDz8sgT; Thu, 13 Feb 2025 03:49:59 +0100 (CET) Received: from florianhp.fritz.box (ipb21a5dbf.dynamic.kabel-deutschland.de [178.26.93.191]) by mxe217.netcup.net (Postfix) with ESMTPSA id D17DF83F2D; Thu, 13 Feb 2025 03:49:56 +0100 (CET) From: Florian Pelz To: guix-patches@gnu.org Subject: [PATCH 0/2] Add G-Golf's GTK-4 examples. Date: Thu, 13 Feb 2025 03:48:00 +0100 Message-ID: X-Mailer: git-send-email 2.48.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-NC-CID: JTN9EErPy/BJHDJuJtdbGa2DSofmrcB6k+WhaXa87YTW3wfuTzADaVh7 Received-SPF: pass client-ip=188.68.63.98; envelope-from=pelzflorian@pelzflorian.de; helo=relay.yourmailgateway.de X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.9 (/) X-Debbugs-Envelope-To: submit Cc: "pelzflorian \(Florian Pelz\)" , David Pirotte X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.1 (/) From: "pelzflorian (Florian Pelz)" This is in response to David Pirotte's request [1] to package in Guix his G-Golf examples. I would be happy to receive feedback on whether this patch’s direction is okay. Not all examples work fine yet. hello-world does work, though, and strangely it is unaffected by the grafts bug [2] that plagues me when I use G-Golf in my Guix Home configuration... [1] https://lists.gnu.org/archive/html/guix-devel/2025-02/msg00172.html [2] https://bugs.gnu.org/75157 pelzflorian (Florian Pelz) (2): gnu: Add guile-cairo-next. UNFINISHED gnu: Add G-Golf's GTK-4 examples. gnu/local.mk | 1 + gnu/packages/gtk.scm | 23 ++ gnu/packages/guile-xyz.scm | 73 ++++ .../patches/guile-cairo-fix-make-check.patch | 352 ++++++++++++++++++ 4 files changed, 449 insertions(+) create mode 100644 gnu/packages/patches/guile-cairo-fix-make-check.patch base-commit: d59a13b6401e7494d8d5c9c9f66df3318451be79 -- 2.48.1 From debbugs-submit-bounces@debbugs.gnu.org Wed Feb 12 21:55:53 2025 Received: (at 76246) by debbugs.gnu.org; 13 Feb 2025 02:55:54 +0000 Received: from localhost ([127.0.0.1]:39223 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tiPOF-0007SQ-34 for submit@debbugs.gnu.org; Wed, 12 Feb 2025 21:55:53 -0500 Received: from relay.yourmailgateway.de ([188.68.61.103]:35543) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tiPO8-0007S7-OA for 76246@debbugs.gnu.org; Wed, 12 Feb 2025 21:55:44 -0500 Received: from mors-relay-8403.netcup.net (localhost [127.0.0.1]) by mors-relay-8403.netcup.net (Postfix) with ESMTPS id 4Ytftz1dhpz86Vq for <76246@debbugs.gnu.org>; Thu, 13 Feb 2025 03:55:39 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=pelzflorian.de; s=key2; t=1739415339; bh=7mUs4S0BwYipfogIYZY4I/3WB1lTJItPmK6U0oN3gZ8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=BHaP8q+ljkHI1JJLBX5NWIJJr5wd5ejq9Vfkc1e5KsEbHq8P2B8D2z3edvbmn6z5a CN+xtPJqhLJYJFWKSo9zphWYk8EuuYZbi88iohxrMzk2DArgWklfdpqAd/9wU8SKtG 8AkEeYd7TRRDd8mR0FUNthB1/h77VSLzcou69/q/TeV0priOEe3Tp1IUeNDoB1pU6c AhHxXerDc7wj7C7TNuI63FI7dwoFmcAQEUpvfcOhDaH2oehJn8z2QcclcEQmvXuicK uCCWmppz6R2kOaMq9kV5E8fVz5Fh/3Pktdus5F0/4kgbugEP1t8BL0QcEER+ki5DsI j/qYuUez2Dyww== Received: from policy01-mors.netcup.net (unknown [46.38.225.35]) by mors-relay-8403.netcup.net (Postfix) with ESMTPS id 4Ytftz1FBrz86V8 for <76246@debbugs.gnu.org>; Thu, 13 Feb 2025 03:55:39 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at policy01-mors.netcup.net X-Spam-Flag: NO X-Spam-Score: -2.897 X-Spam-Level: X-Spam-Status: No, score=-2.897 required=6.31 tests=[ALL_TRUSTED=-1, BAYES_00=-1.9, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no Received: from mxe217.netcup.net (unknown [10.243.12.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by policy01-mors.netcup.net (Postfix) with ESMTPS id 4Ytftv28qKz8tXN for <76246@debbugs.gnu.org>; Thu, 13 Feb 2025 03:55:35 +0100 (CET) Received: from florianhp.fritz.box (ipb21a5dbf.dynamic.kabel-deutschland.de [178.26.93.191]) by mxe217.netcup.net (Postfix) with ESMTPSA id D2ED884497; Thu, 13 Feb 2025 03:55:29 +0100 (CET) From: Florian Pelz To: 76246@debbugs.gnu.org Subject: [PATCH 1/2] gnu: Add guile-cairo-next. Date: Thu, 13 Feb 2025 03:55:11 +0100 Message-ID: <315e4d5e141cc2cade7b65bd0b6d5ed28a41184d.1739413638.git.pelzflorian@pelzflorian.de> X-Mailer: git-send-email 2.48.1 In-Reply-To: References: MIME-Version: 1.0 X-Debbugs-Cc: Liliana Marie Prikler , Maxim Cournoyer , Vivien Kraus Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: D2ED884497 X-Rspamd-Server: rspamd-worker-8404 X-NC-CID: QfK82CWzB218ZFL15cCbAKNbAltpeeJuDa4X0WsBlvTyjsv0lVabqLbd X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76246 Cc: "pelzflorian \(Florian Pelz\)" X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) From: "pelzflorian (Florian Pelz)" * gnu/packages/patches/guile-cairo-fix-make-check.patch: New patch. * gnu/local.mk (dist_patch_DATA): Register patch. * gnu/packages/gtk.scm (guile-cairo-next): New variable. Change-Id: I328afe58d46e60243e075edead12afc0d1c4a98a --- gnu/local.mk | 1 + gnu/packages/gtk.scm | 23 ++ .../patches/guile-cairo-fix-make-check.patch | 352 ++++++++++++++++++ 3 files changed, 376 insertions(+) create mode 100644 gnu/packages/patches/guile-cairo-fix-make-check.patch diff --git a/gnu/local.mk b/gnu/local.mk index 9e192f1e4f..70cc51152f 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1535,6 +1535,7 @@ dist_patch_DATA = \ %D%/packages/patches/guile-linux-syscalls.patch \ %D%/packages/patches/guile-3.0-linux-syscalls.patch \ %D%/packages/patches/guile-ac-d-bus-fix-tests.patch \ + %D%/packages/patches/guile-cairo-fix-make-check.patch \ %D%/packages/patches/guile-lib-fix-tests-for-guile2.2.patch \ %D%/packages/patches/guile-fibers-cross-build-fix.patch \ %D%/packages/patches/guile-fibers-destroy-peer-schedulers.patch \ diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 7ed7d7b7df..4d2356d8cf 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -37,6 +37,7 @@ ;;; Copyright © 2023, 2024 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2023 Janneke Nieuwenhuizen ;;; Copyright © 2024 John Kehayias +;;; Copyright © 2025 Florian Pelz ;;; ;;; This file is part of GNU Guix. ;;; @@ -1495,6 +1496,28 @@ (define-public guile2.2-cairo ,@(fold alist-delete (package-inputs guile-cairo) '("guile" "guile-lib")))))) +(define-public guile-cairo-next + (package + (inherit guile-cairo) + (name "guile-cairo-next") + ;; A commit with cairo-pointer->context, missing from guile-cairo@1.11.2 + ;; and needed by animated-paintable from g-golf-gtk-4-examples. + (source (origin + (method git-fetch) + (uri (git-reference + (url "git://git.savannah.nongnu.org/guile-cairo.git") + (commit "30da459d7a4380174ff243b1560d5512a4bca86e"))) + (sha256 + (base32 + "0dslfldzgxis8g0g3xaffcqnd1njzz23fjy0v3lc0r2694ra4ny4")) + ;; A patch to allow running the check phase before install. + (patches (search-patches "guile-cairo-fix-make-check.patch")) + (file-name (string-append "guile-cairo-next")))) + (inputs + (list guile-lib guile-3.0 gettext-minimal)) + (native-inputs + (list autoconf-2.71 automake libtool pkg-config texinfo)))) + (define-public guile-rsvg ;; Use a recent snapshot that supports Guile 2.2 and beyond. (let ((commit "05c6a2fd67e4fea1a7c3ff776729dc931bae6678") diff --git a/gnu/packages/patches/guile-cairo-fix-make-check.patch b/gnu/packages/patches/guile-cairo-fix-make-check.patch new file mode 100644 index 0000000000..d14de7717e --- /dev/null +++ b/gnu/packages/patches/guile-cairo-fix-make-check.patch @@ -0,0 +1,352 @@ +From 1de7b5e994fd99e20849d9372963c2aadf782ed1 Mon Sep 17 00:00:00 2001 +From: David Pirotte +Date: Tue, 21 Mar 2023 01:54:04 -0300 +Subject: [PATCH] Fixing make check and make distcheck + + Notes: the main goal of this patch is to remove the hard coded + libguile-cairo path, which makes it impossible to run 'make check', + unless you actualy first install the version you are working + on/checking [which is 'none sense']. + + Also, even with the above problem fixed, there were still a few + nitpick things to solve so that make distcheck pass. + + Finally, while workig on this patch, I also made a few cosmetic + changes, mostly adding a space before and after '=' in Makefile.am + targets, as well as having each filename on its own line for targets + that requires filenames. Those changes are not commented here below. + +* Makefile.am: (1) removing the env target, as we update env.in + this is not only not necessary anymore, but would actually + raise an error; (2) the CLEANFILES target misses $(GOBJECTS); + (3) using $(AM_V_GEN) in .scm.go target; (4) the EXTRA_DIST + target misses $(SOURCES), and does not need to ship autogen.sh + nor build-aux/git-version-gen. + +* cairo.scm: Call (dynamic-link "libguile-cairo"), + not (dynamic-link *cairo-lib-path*). + +* cairo/Makefile.am: (1) using $(AM_V_GEN) in .scm.go target; (2) in the + config.scm target, removing the @cairolibpath@ substitution; (3) the + EXTRA_DIST target misses vector-types.scm and $(NOCOMP_SOURCES). + +* cairo/config.scm.in: Removing the *cairo-lib-path* definition. + +* env.in: (1) define and use abs_top_srcdir and abs_top_builddir; (2) + define and export GUILE_LOAD_PATH, GUILE_LOAD_COMPILED_PATH and + LTDL_LIBRARY_PATH. + +* tests/unit-tests/Makefile.am: (1) add context-pointer.scm to the TESTS + target; (2) add a TEST_EXTENSIONS = .scm target; (3) update the + TESTS_ENVIRONMENT to use $(abs_top_builddir); (4) remove the %.check + target (unecessary in 'modern' autotools). +--- + Makefile.am | 26 ++++++++----- + cairo.scm | 4 +- + cairo/Makefile.am | 30 ++++++++++----- + cairo/config.scm.in | 8 ++-- + env.in | 75 +++++++++++++++++++++++++++++++++--- + tests/unit-tests/Makefile.am | 21 +++++----- + 6 files changed, 125 insertions(+), 39 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 82e41b2..514b758 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -1,5 +1,6 @@ + # guile-cairo + # Copyright (C) 2007,2011 Andy Wingo ++# Copyright (C) 2023 David Pirotte + # + # This program is free software: you can redistribute it and/or modify + # it under the terms of the GNU Lesser General Public License as +@@ -15,18 +16,20 @@ + # License along with this program. If not, see + # . + +-SUBDIRS = guile-cairo cairo examples tests doc +- +-env: Makefile env.in +- sed -e "s|@top_srcdir\@|$(shell cd $(top_srcdir) && pwd)|" \ +- $(srcdir)/env.in > env +- chmod +x env ++SUBDIRS = \ ++ guile-cairo \ ++ cairo \ ++ examples \ ++ tests \ ++ doc + + BUILT_SOURCES = env + + ACLOCAL_AMFLAGS = -I m4 + +-CLEANFILES = env ++CLEANFILES = \ ++ env \ ++ $(GOBJECTS) + + GOBJECTS = $(SOURCES:%.scm=%.go) + +@@ -39,7 +42,8 @@ nobase_nodist_obj_DATA = $(GOBJECTS) + GUILE_WARNINGS = -Wunbound-variable -Warity-mismatch -Wformat + SUFFIXES = .scm .go + .scm.go: +- $(top_builddir)/env $(GUILD) compile $(GUILE_TARGET) $(GUILE_WARNINGS) -o "$@" "$<" ++ $(AM_V_GEN) $(top_builddir)/env \ ++ $(GUILD) compile $(GUILE_TARGET) $(GUILE_WARNINGS) -o "$@" "$<" + + SOURCES = cairo.scm + +@@ -58,4 +62,8 @@ gen-ChangeLog: + mv $(distdir)/cl-t $(distdir)/ChangeLog; \ + fi + +-EXTRA_DIST = env.in autogen.sh build-aux/git-version-gen HACKING COPYING.LESSER $(scm_DATA) ++EXTRA_DIST = \ ++ env.in \ ++ HACKING \ ++ COPYING.LESSER \ ++ $(SOURCES) +diff --git a/cairo.scm b/cairo.scm +index 1361d85..2cb2793 100644 +--- a/cairo.scm ++++ b/cairo.scm +@@ -1,5 +1,6 @@ + ;; guile-cairo + ;; Copyright (C) 2007, 2011 Andy Wingo ++;; Copyright (C) 2023 David Pirotte + + ;; This program is free software; you can redistribute it and/or modify + ;; it under the terms of the GNU Lesser General Public License as +@@ -31,9 +32,10 @@ + (module-use! (module-public-interface (current-module)) + (resolve-interface '(cairo vector-types))) + ++ + ;; This will export many things + (dynamic-call "scm_init_cairo" +- (dynamic-link *cairo-lib-path*)) ++ (dynamic-link "libguile-cairo")) + + (if (not (member *cairo-documentation-path* documentation-files)) + (set! documentation-files (cons *cairo-documentation-path* +diff --git a/cairo/Makefile.am b/cairo/Makefile.am +index 05b5973..0299d34 100644 +--- a/cairo/Makefile.am ++++ b/cairo/Makefile.am +@@ -1,5 +1,6 @@ + # guile-cairo + # Copyright (C) 2007,2011 Andy Wingo ++# Copyright (C) 2023 David Pirotte + # + # This program is free software: you can redistribute it and/or modify + # it under the terms of the GNU Lesser General Public License as +@@ -15,11 +16,15 @@ + # License along with this program. If not, see + # . + +-moddir=$(datadir)/guile/site/$(GUILE_EFFECTIVE_VERSION)/cairo +-objdir=$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/site-ccache/cairo ++moddir = $(datadir)/guile/site/$(GUILE_EFFECTIVE_VERSION)/cairo ++objdir = $(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/site-ccache/cairo + +-SOURCES = config.scm vector-types.scm +-NOCOMP_SOURCES = cairo-procedures.txt ++SOURCES = \ ++ config.scm \ ++ vector-types.scm ++ ++NOCOMP_SOURCES = \ ++ cairo-procedures.txt + + GOBJECTS = $(SOURCES:%.scm=%.go) + +@@ -29,12 +34,12 @@ nobase_nodist_obj_DATA = $(GOBJECTS) + GUILE_WARNINGS = -Wunbound-variable -Warity-mismatch -Wformat + SUFFIXES = .scm .go + .scm.go: +- $(top_builddir)/env $(GUILD) compile $(GUILE_TARGET) $(GUILE_WARNINGS) -o "$@" "$<" ++ $(AM_V_GEN) $(top_builddir)/env \ ++ $(GUILD) compile $(GUILE_TARGET) $(GUILE_WARNINGS) -o "$@" "$<" + + config.scm: Makefile config.scm.in +- sed -e "s|@cairolibpath\@|$(libdir)/libguile-cairo|" \ +- -e "s|@cairodocumentationpath\@|$(moddir)/cairo-procedures.txt|" \ +- $(srcdir)/config.scm.in > config.scm ++ sed -e "s|\@cairodocumentationpath\@|$(moddir)/cairo-procedures.txt|" \ ++ $(srcdir)/config.scm.in > config.scm + + cairo-procedures.txt.update: + echo "Generated from upstream documentation; see COPYING.docs for info." \ +@@ -42,6 +47,11 @@ cairo-procedures.txt.update: + $(top_srcdir)/doc/docbook-to-guile-doc $(CAIRO_XML_DIR)/*.xml \ + >> $(srcdir)/cairo-procedures.txt + +-CLEANFILES = config.scm $(GOBJECTS) ++CLEANFILES = \ ++ config.scm \ ++ $(GOBJECTS) + +-EXTRA_DIST = config.scm.in ++EXTRA_DIST = \ ++ config.scm.in \ ++ vector-types.scm \ ++ $(NOCOMP_SOURCES) +diff --git a/cairo/config.scm.in b/cairo/config.scm.in +index ab008fb..92895b9 100644 +--- a/cairo/config.scm.in ++++ b/cairo/config.scm.in +@@ -1,5 +1,6 @@ + ;; guile-cairo + ;; Copyright (C) 2007, 2011 Andy Wingo ++;; Copyright (C) 2023 David Pirotte + + ;; This program is free software; you can redistribute it and/or modify + ;; it under the terms of the GNU Lesser General Public License as +@@ -22,8 +23,7 @@ + ;;; Code: + + (define-module (cairo config) +- :export (*cairo-lib-path* +- *cairo-documentation-path*)) ++ :export (*cairo-documentation-path*)) + +-(define *cairo-lib-path* "@cairolibpath@") +-(define *cairo-documentation-path* "@cairodocumentationpath@") ++(define *cairo-documentation-path* ++ "@cairodocumentationpath@") +diff --git a/env.in b/env.in +index eb9d020..e93d212 100644 +--- a/env.in ++++ b/env.in +@@ -2,6 +2,7 @@ + + # guile-cairo + # Copyright (C) 2007,2011 Andy Wingo ++# Copyright (C) 2023 David Pirotte + # + # This program is free software: you can redistribute it and/or modify + # it under the terms of the GNU Lesser General Public License as +@@ -17,15 +18,77 @@ + # License along with this program. If not, see + # . + +-this_dir=$(cd $(dirname $0) && pwd) +-src_dir="@top_srcdir@" + +-if [ "$src_dir" != "$this_dir" ]; then +- GUILE_LOAD_PATH=$src_dir/$pkg:$this_dir/$pkg:$GUILE_LOAD_PATH ++abs_top_srcdir="@abs_top_srcdir@" ++abs_top_builddir="@abs_top_builddir@" ++ ++[ x"$abs_top_srcdir" = x -o ! -d "$abs_top_srcdir" -o \ ++ x"$abs_top_builddir" = x -o ! -d "$abs_top_builddir" ] && { ++ echo $0: bad environment ++ echo abs_top_srcdir=$abs_top_srcdir ++ echo abs_top_builddir=$abs_top_builddir ++ exit 1 ++} ++ ++ ++### ++### GUILE_LOAD_PATH ++### ++ ++if [ x"$GUILE_LOAD_PATH" = x ] ++then ++ GUILE_LOAD_PATH="${abs_top_srcdir}" ++ if test "${abs_top_srcdir}" != "${abs_top_builddir}"; then ++ GUILE_LOAD_PATH="${abs_top_builddir}:$GUILE_LOAD_PATH" ++ fi + else +- GUILE_LOAD_PATH=$this_dir/$pkg:$GUILE_LOAD_PATH ++ GUILE_LOAD_PATH="${abs_top_srcdir}:$GUILE_LOAD_PATH" ++ if test "${abs_top_srcdir}" != "${abs_top_builddir}"; then ++ GUILE_LOAD_PATH="${abs_top_builddir}:$GUILE_LOAD_PATH" ++ fi + fi +- ++## echo $GUILE_LOAD_PATH + export GUILE_LOAD_PATH + ++ ++### ++### GUILE_LOAD_COMPILED_PATH ++### ++ ++if [ x"$GUILE_LOAD_COMPILED_PATH" = x ] ++then ++ GUILE_LOAD_COMPILED_PATH="${abs_top_srcdir}" ++ if test "${abs_top_srcdir}" != "${abs_top_builddir}"; then ++ GUILE_LOAD_COMPILED_PATH="${abs_top_builddir}:$GUILE_LOAD_COMPILED_PATH" ++ fi ++else ++ GUILE_LOAD_COMPILED_PATH="${abs_top_srcdir}:$GUILE_LOAD_COMPILED_PATH" ++ if test "${abs_top_srcdir}" != "${abs_top_builddir}"; then ++ GUILE_LOAD_COMPILED_PATH="${abs_top_builddir}:$GUILE_LOAD_COMPILED_PATH" ++ fi ++fi ++ ++## echo $GUILE_LOAD_COMPILED_PATH ++export GUILE_LOAD_COMPILED_PATH ++ ++ ++### ++### LTDL_LIBRARY_PATH ++### ++ ++if [ x"$LTDL_LIBRARY_PATH" = x ] ++then ++ LTDL_LIBRARY_PATH="${abs_top_srcdir}/guile-cairo:${abs_top_srcdir}/guile-cairo/.libs" ++ if test "${abs_top_srcdir}" != "${abs_top_builddir}"; then ++ LTDL_LIBRARY_PATH="${abs_top_builddir}/guile-cairo:${abs_top_builddir}/guile-cairo/.libs:$LTDL_LIBRARY_PATH" ++ fi ++else ++ LTDL_LIBRARY_PATH="${abs_top_srcdir}/guile-cairo:${abs_top_srcdir}/guile-cairo/.libs:$LTDL_LIBRARY_PATH" ++ if test "${abs_top_srcdir}" != "${abs_top_builddir}"; then ++ LTDL_LIBRARY_PATH="${abs_top_builddir}/guile-cairo:${abs_top_builddir}/guile-cairo/.libs:$LTDL_LIBRARY_PATH" ++ fi ++fi ++## echo $LTDL_LIBRARY_PATH ++export LTDL_LIBRARY_PATH ++ + exec "$@" +diff --git a/tests/unit-tests/Makefile.am b/tests/unit-tests/Makefile.am +index 3ba6af9..9b13bbd 100644 +--- a/tests/unit-tests/Makefile.am ++++ b/tests/unit-tests/Makefile.am +@@ -16,18 +16,21 @@ + # License along with this program. If not, see + # . + +-TESTS= \ +- context-pointer.scm \ ++TESTS = \ + api-stability.scm \ ++ context-pointer.scm \ + version.scm + +-TESTS_ENVIRONMENT=\ +- API_FILE=$(srcdir)/cairo.api $(top_builddir)/env guile -s ++TEST_EXTENSIONS = .scm + +-%.api.update: +- $(top_builddir)/env $(srcdir)/update-api $(subst ., ,$*) > $(srcdir)/$*.api ++TESTS_ENVIRONMENT = \ ++ API_FILE=$(srcdir)/cairo.api \ ++ $(abs_top_builddir)/env $(GUILE) --no-auto-compile + +-%.check: % +- $(TESTS_ENVIRONMENT) $* ++%.api.update: ++ $(abs_top_builddir)/env \ ++ $(srcdir)/update-api $(subst ., ,$*) > $(srcdir)/$*.api + +-EXTRA_DIST=$(TESTS) cairo.api ++EXTRA_DIST = \ ++ $(TESTS) \ ++ cairo.api +-- +2.39.2 + -- 2.48.1 From debbugs-submit-bounces@debbugs.gnu.org Wed Feb 12 21:56:09 2025 Received: (at 76246) by debbugs.gnu.org; 13 Feb 2025 02:56:09 +0000 Received: from localhost ([127.0.0.1]:39236 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tiPOb-0007UB-7t for submit@debbugs.gnu.org; Wed, 12 Feb 2025 21:56:09 -0500 Received: from relay.yourmailgateway.de ([188.68.63.162]:48231) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tiPOY-0007To-H2 for 76246@debbugs.gnu.org; Wed, 12 Feb 2025 21:56:07 -0500 Received: from mors-relay-8201.netcup.net (localhost [127.0.0.1]) by mors-relay-8201.netcup.net (Postfix) with ESMTPS id 4YtfvR4CDrz41FZ for <76246@debbugs.gnu.org>; Thu, 13 Feb 2025 03:56:03 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=pelzflorian.de; s=key2; t=1739415363; bh=f/sPQRP1Yy60d1wKkmth7nwYAI8cGewBpbUMOQYousk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ZkelmBPBnt96ct4WMVdEanXoiLsybVhueZyrico6oD/iwI3RnKIa1IaPqk/Ua65Hn 3m5AFhlR78+kZ/PaMgRz9EC1kWW8ZKZpSEdU+CZb2fgkFVVa7jWV4zwEpY/6XiIPxt VmfeNLQg0Gozghpe3Nt1tCoCdC/qyu55KB0rJRioQ8ZSOyzRWVSXGTu0kf+NkS3IEu xg/TDCw3YYXzTnKmYuGlj0hIFdV6KzoGFkdxYkUagTvDnjOeUzTlNum/qf4zXIHe/r VyFEncy6IZrervU99jEdLuoYtslSS57sSJznkv+PDMc+uhz/gES+Uv8Gc4C0KpHDtg LRpiZLrU317SA== Received: from policy01-mors.netcup.net (unknown [46.38.225.35]) by mors-relay-8201.netcup.net (Postfix) with ESMTPS id 4YtfvR3VfMz41FN for <76246@debbugs.gnu.org>; Thu, 13 Feb 2025 03:56:03 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at policy01-mors.netcup.net X-Spam-Flag: NO X-Spam-Score: -2.897 X-Spam-Level: X-Spam-Status: No, score=-2.897 required=6.31 tests=[ALL_TRUSTED=-1, BAYES_00=-1.9, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no Received: from mxe217.netcup.net (unknown [10.243.12.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by policy01-mors.netcup.net (Postfix) with ESMTPS id 4YtfvQ6ljnz8tX7 for <76246@debbugs.gnu.org>; Thu, 13 Feb 2025 03:56:02 +0100 (CET) Received: from florianhp.fritz.box (ipb21a5dbf.dynamic.kabel-deutschland.de [178.26.93.191]) by mxe217.netcup.net (Postfix) with ESMTPSA id BC4E384497; Thu, 13 Feb 2025 03:55:56 +0100 (CET) From: Florian Pelz To: 76246@debbugs.gnu.org Subject: [PATCH 2/2] UNFINISHED gnu: Add G-Golf's GTK-4 examples. Date: Thu, 13 Feb 2025 03:55:13 +0100 Message-ID: <3e44e34b7a32f6c1adad22ab36c303e93226f320.1739413638.git.pelzflorian@pelzflorian.de> X-Mailer: git-send-email 2.48.1 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: BC4E384497 X-Rspamd-Server: rspamd-worker-8404 X-NC-CID: IM7YA0ygdgAB2QGxdtQdpubiI+z2/zOO2IoXt026ulzJdOjjHNNzACbq X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76246 Cc: "pelzflorian \(Florian Pelz\)" X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) From: "pelzflorian (Florian Pelz)" * gnu/packages/guile-xyz.scm (g-golf-gtk-4-examples): New variable. Change-Id: I19b182eb71095ca2deacdb4011c8f50dfcfc8476 --- gnu/packages/guile-xyz.scm | 73 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 92d5d90194..520d1b9f87 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -53,6 +53,7 @@ ;;; Copyright © 2024 Alec Barreto ;;; Copyright © 2024 Josep Bigorra ;;; Copyright © 2024 Ashish SHUKLA +;;; Copyright © 2025 Florian Pelz ;;; ;;; This file is part of GNU Guix. ;;; @@ -2618,6 +2619,78 @@ (define-public guile2.2-g-golf (replace "guile" guile-2.2) (replace "guile-lib" guile2.2-lib))))) +(define-public g-golf-gtk-4-examples + (package + (inherit guile-g-golf) + (name "g-golf-gtk-4-examples") + (arguments + (list + #:modules `(((guix build guile-build-system) + #:select + (target-guile-effective-version)) + ,@%default-gnu-modules) + #:tests? #f ;there are no tests for examples + ;; XXX: Maybe Guix should ship a reftest on its own? + #:phases + (with-imported-modules `((guix build guile-build-system) + ,@%default-gnu-imported-modules) + #~(modify-phases %standard-phases + (add-after 'unpack 'prepare-examples + (lambda _ + (chdir "examples/gtk-4") + ;; Re-use the existing Makefile for its wildcard syntax. + (rename-file "Makefile.am" "Makefile") + ;; Add a rule to install the examples. This also + ;; installs UI, CSS and Scheme files to /bin, but + ;; better keep how G-Golf packages them. + (let ((port (open-file "Makefile" "al"))) + (format port " +prefix = ~a +bindir = $(prefix)/bin +.PHONY: install +install: + mkdir -p $(bindir) + for f in $(EXTRA_DIST); do \\ + install $$f $(bindir); \\ + done +" #$output) + (close-port port)))) + (delete 'configure) + (add-after 'install 'wrap-binaries + (lambda* (#:key inputs #:allow-other-keys) + (let* ((version (target-guile-effective-version)) + (g-golf (assoc-ref inputs "guile-g-golf")) + (scm (string-append "/share/guile/site/" version)) + (go (string-append "/lib/guile/" + version "/site-ccache")) + (binaries + (find-files "." (lambda (file stat) ;only executables + (= (stat:perms stat) #o755))))) + (map (lambda (binary) + ;; The `current-filename' calls in examples are broken. + (system* "sed" "-i" "s/(add-to-load-path.*//g" binary) + ;;TODO DOES NOT WORK (substitute* binary + ;; (("add-to-load-path.*") + ;; "")) DOES NOT WORK NEITHER + (wrap-program (string-append #$output "/bin/" binary) + `("GUILE_LOAD_PATH" prefix + (,(string-append g-golf scm) + ));,(string-append #$output "/bin"))) ;not nice, + ; ;but better than `add-to-load-path' + `("GUILE_LOAD_COMPILED_PATH" prefix + (,(string-append g-golf go))) + `("GI_TYPELIB_PATH" prefix + (,(getenv "GI_TYPELIB_PATH"))))) + binaries)))))))) + (inputs + (list bash-minimal gtk guile-3.0 guile-cairo-next guile-g-golf)) + (native-inputs (list)) + (propagated-inputs (list)) + (synopsis "Example GTK apps written in Guile with G-Golf") + (description + "Example applications to show what can be done in G-Golf and how to wrap +the applications in a Guix package."))) + (define-public g-wrap (package (name "g-wrap") -- 2.48.1 From debbugs-submit-bounces@debbugs.gnu.org Thu Feb 13 03:05:15 2025 Received: (at 76246) by debbugs.gnu.org; 13 Feb 2025 08:05:15 +0000 Received: from localhost ([127.0.0.1]:40140 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tiUDb-00017Q-OX for submit@debbugs.gnu.org; Thu, 13 Feb 2025 03:05:15 -0500 Received: from mail-wm1-x341.google.com ([2a00:1450:4864:20::341]:50524) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1tiUDW-00011z-Bw for 76246@debbugs.gnu.org; Thu, 13 Feb 2025 03:05:05 -0500 Received: by mail-wm1-x341.google.com with SMTP id 5b1f17b1804b1-43946b5920cso3269985e9.1 for <76246@debbugs.gnu.org>; Thu, 13 Feb 2025 00:05:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739433896; x=1740038696; darn=debbugs.gnu.org; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject :date:message-id:reply-to; bh=JND9g5VB9LweGOINXhsQ9N7+uxMQzNgKxUWCj62BCxo=; b=OU3ThhyAIm4hTKANTxPepm/pAYnqvC69ZnDWOwx2IroUIlv5OI/JzkMY2mt+iRGuFk mAaGf6DbGw4f4LdOULtBcggXRUw7I4kAK36/aveejlajzmdoorMYB7eiPLiagZDj6kAT 1sJ/dnHGgeeVR0mzcULeyvO/raAhilKtwxUbtTgTTSWu8K+Ukk103c2vobXah8/2pY01 uaACl2XQnEyQjPpEz51oJtVrOKIoSwNrggs/01tHvruZjccy0rPNEeGB6tgaURFSavjE /0mYot5Y6/56TaSUQSOd5+f9UuYXOeknkzrHwK89t+kCpNGkQvLFoBR3V21baqDQehrF wJtQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739433896; x=1740038696; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=JND9g5VB9LweGOINXhsQ9N7+uxMQzNgKxUWCj62BCxo=; b=bJBiMzQKZKvZoBH+UfCIfwvIjnEu/kQXTQStCB7c4E9QgrbhCrQH/gaVSKVms/3BTz aYnCoN7h5b8BsBRYkM85T7GulcnePUr0xIxPCyo/zK1ipeBvl+5fJOl1uFWV3Bd3vw74 w9sorqS/CT8XcPDK6cO2E7ZNHszC0OgKsTzzwfO89+32wjd7Ck78H7eCZZQRE9icITR8 +0y97DcudgMdKx74THgEyFzp6IWWk8gq13lL/fNnZxuSvocmOb3Qjx3JnN6y55VxS/QX ZbG9kLIdKLhmR044Vw7/ZwHopM4HPBO0pBGsAaGFTvVRPoFg/wpE1KqmYfti4XDn52aO 6a4g== X-Forwarded-Encrypted: i=1; AJvYcCWr4EultntOftbZA5EIIll7mBZNmbu7KnyfPyQt/HNrIvHvXhH0E7XuApkGRUPINWHZhjCFAA==@debbugs.gnu.org X-Gm-Message-State: AOJu0YwTcuKg8sB34UXX1twSX7/ZJguxu1Q4bm1shZAlfiSgHla1x8VR 6lDNP4p6fF8e085hsrnsmk4gWIbIZMFOvaBHIm8GwFH++V7TiQVtO5N/+/wt X-Gm-Gg: ASbGnctrRcSSXmpM0xv9tV+6Rr0nbLLSvRwnFIp7aRWWKY5wzvLBUiJo0HyTfris6qr 0N0zLEsGUMcNLvfUBjy/es7WvFp2wGtif6PSIYbxoG6hRqIeaHVMhqCGjVnQCGVxNmyiXFEvOoz mUNhs30w2b4ds8WL3ZZ2SgLCr2c/+XBn4dXLjZgGJKn/Cu5DkTG04+vY/kpq7m6xSQn3wy2iNJ+ b9rFGsnVnp+4aCybhvSKQOSq0fiMLfyulpKIMqct9EtYWdHR8w9KGRwugPgG3D42d8lCEcGTVzB 3gO+YV9Y7Dvvnh7D4c57g/rgDKU7VAqtp91QGORB0eHHTUtLT3/ocgP4+O5fqfR09hQ= X-Google-Smtp-Source: AGHT+IGtX35iuMLOy1jlELQx+OgsvP6686QYTcb2+BNZjL9vK7ZnOujynqer6GhZFjXb3FnnE51F2A== X-Received: by 2002:a05:600c:46cc:b0:439:5f5b:e98 with SMTP id 5b1f17b1804b1-439601a96f3mr19837785e9.27.1739433895731; Thu, 13 Feb 2025 00:04:55 -0800 (PST) Received: from lumine.fritz.box (85-127-114-32.dsl.dynamic.surfer.at. [85.127.114.32]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-439617de5b6sm10272215e9.1.2025.02.13.00.04.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Feb 2025 00:04:55 -0800 (PST) Message-ID: <32a050da05dc90d4e69d0c8419e6372c97bfca86.camel@gmail.com> Subject: Re: [bug#76246] [PATCH 1/2] gnu: Add guile-cairo-next. From: Liliana Marie Prikler To: Florian Pelz , 76246@debbugs.gnu.org Date: Thu, 13 Feb 2025 09:05:24 +0100 In-Reply-To: <315e4d5e141cc2cade7b65bd0b6d5ed28a41184d.1739413638.git.pelzflorian@pelzflorian.de> References: <315e4d5e141cc2cade7b65bd0b6d5ed28a41184d.1739413638.git.pelzflorian@pelzflorian.de> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.48.4 MIME-Version: 1.0 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76246 Cc: Vivien Kraus , Maxim Cournoyer X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Am Donnerstag, dem 13.02.2025 um 03:55 +0100 schrieb Florian Pelz: > From: "pelzflorian (Florian Pelz)" >=20 > * gnu/packages/patches/guile-cairo-fix-make-check.patch: New patch. > * gnu/local.mk (dist_patch_DATA): Register patch. > * gnu/packages/gtk.scm (guile-cairo-next): New variable. >=20 > Change-Id: I328afe58d46e60243e075edead12afc0d1c4a98a > --- > =C2=A0gnu/local.mk=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2= =A0=C2=A0 1 + > =C2=A0gnu/packages/gtk.scm=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 23 ++ > =C2=A0.../patches/guile-cairo-fix-make-check.patch=C2=A0 | 352 > ++++++++++++++++++ > =C2=A03 files changed, 376 insertions(+) > =C2=A0create mode 100644 gnu/packages/patches/guile-cairo-fix-make- > check.patch >=20 > diff --git a/gnu/local.mk b/gnu/local.mk > index 9e192f1e4f..70cc51152f 100644 > --- a/gnu/local.mk > +++ b/gnu/local.mk > @@ -1535,6 +1535,7 @@ dist_patch_DATA > =3D=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0\ > =C2=A0=C2=A0 %D%/packages/patches/guile-linux-syscalls.patch=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0\ > =C2=A0=C2=A0 %D%/packages/patches/guile-3.0-linux-syscalls.patch=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0\ > =C2=A0=C2=A0 %D%/packages/patches/guile-ac-d-bus-fix-tests.patch=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0\ > +=C2=A0 %D%/packages/patches/guile-cairo-fix-make-check.patch=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0\ > =C2=A0=C2=A0 %D%/packages/patches/guile-lib-fix-tests-for- > guile2.2.patch=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0\ > =C2=A0=C2=A0 %D%/packages/patches/guile-fibers-cross-build-fix.patch=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0\ > =C2=A0=C2=A0 %D%/packages/patches/guile-fibers-destroy-peer-schedulers.pa= tch \ > diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm > index 7ed7d7b7df..4d2356d8cf 100644 > --- a/gnu/packages/gtk.scm > +++ b/gnu/packages/gtk.scm > @@ -37,6 +37,7 @@ > =C2=A0;;; Copyright =C2=A9 2023, 2024 Zheng Junjie <873216071@qq.com> > =C2=A0;;; Copyright =C2=A9 2023 Janneke Nieuwenhuizen > =C2=A0;;; Copyright =C2=A9 2024 John Kehayias > +;;; Copyright =C2=A9 2025 Florian Pelz > =C2=A0;;; > =C2=A0;;; This file is part of GNU Guix. > =C2=A0;;; > @@ -1495,6 +1496,28 @@ (define-public guile2.2-cairo > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ,@(fold alist-delete (package-= inputs guile-cairo) > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 '("guile" "guile-lib")))))) > =C2=A0 > +(define-public guile-cairo-next > +=C2=A0 (package > +=C2=A0=C2=A0=C2=A0 (inherit guile-cairo) > +=C2=A0=C2=A0=C2=A0 (name "guile-cairo-next") > +=C2=A0=C2=A0=C2=A0 ;; A commit with cairo-pointer->context, missing from > guile-cairo@1.11.2 > +=C2=A0=C2=A0=C2=A0 ;; and needed by animated-paintable from g-golf-gtk-4= -examples. > +=C2=A0=C2=A0=C2=A0 (source (origin > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 (method git-fetch) > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 (uri (git-reference > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (url "git://git.savannah.nongnu.= org/guile- > cairo.git") > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (commit > "30da459d7a4380174ff243b1560d5512a4bca86e"))) > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 (sha256 > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0 (base32 > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 > "0dslfldzgxis8g0g3xaffcqnd1njzz23fjy0v3lc0r2694ra4ny4")) > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 ;; A patch to allow running the check phase before > install. > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 (patches (search-patches "guile-cairo-fix-make- > check.patch")) > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 (file-name (string-append "guile-cairo-next")))) You probably want git-file-name. > +=C2=A0=C2=A0=C2=A0 (inputs > +=C2=A0=C2=A0=C2=A0=C2=A0 (list guile-lib guile-3.0 gettext-minimal)) > +=C2=A0=C2=A0=C2=A0 (native-inputs > +=C2=A0=C2=A0=C2=A0=C2=A0 (list autoconf-2.71 automake libtool pkg-config= texinfo)))) Is there a reason for changed inputs? Does plain autoconf not work? > + > =C2=A0(define-public guile-rsvg > =C2=A0=C2=A0 ;; Use a recent snapshot that supports Guile 2.2 and beyond. > =C2=A0=C2=A0 (let ((commit "05c6a2fd67e4fea1a7c3ff776729dc931bae6678") > diff --git a/gnu/packages/patches/guile-cairo-fix-make-check.patch > b/gnu/packages/patches/guile-cairo-fix-make-check.patch > new file mode 100644 > index 0000000000..d14de7717e > --- /dev/null > +++ b/gnu/packages/patches/guile-cairo-fix-make-check.patch > @@ -0,0 +1,352 @@ > +From 1de7b5e994fd99e20849d9372963c2aadf782ed1 Mon Sep 17 00:00:00 > 2001 > +From: David Pirotte > +Date: Tue, 21 Mar 2023 01:54:04 -0300 > +Subject: [PATCH] Fixing make check and make distcheck > + > +=C2=A0 Notes: the main goal of this patch is to remove the hard coded > +=C2=A0 libguile-cairo path, which makes it impossible to run 'make > check', > +=C2=A0 unless you actualy first install the version you are working > +=C2=A0 on/checking [which is 'none sense']. > + > +=C2=A0 Also, even with the above problem fixed, there were still a few > +=C2=A0 nitpick things to solve so that make distcheck pass. > + > +=C2=A0 Finally, while workig on this patch, I also made a few cosmetic > +=C2=A0 changes, mostly adding a space before and after '=3D' in Makefile= .am > +=C2=A0 targets, as well as having each filename on its own line for > targets > +=C2=A0 that requires filenames. Those changes are not commented here > below. > + > +* Makefile.am: (1) removing the env target, as we update env.in > +=C2=A0 this is not only not necessary anymore, but would actually > +=C2=A0 raise an error; (2) the CLEANFILES target misses $(GOBJECTS); > +=C2=A0 (3) using $(AM_V_GEN) in .scm.go target; (4) the EXTRA_DIST > +=C2=A0 target misses $(SOURCES), and does not need to ship autogen.sh > +=C2=A0 nor build-aux/git-version-gen. > + > +* cairo.scm: Call (dynamic-link "libguile-cairo"), > +=C2=A0 not (dynamic-link *cairo-lib-path*). > + > +* cairo/Makefile.am: (1) using $(AM_V_GEN) in .scm.go target; (2) in > the > +=C2=A0 config.scm target, removing the @cairolibpath@ substitution; (3) > the > +=C2=A0 EXTRA_DIST target misses vector-types.scm and $(NOCOMP_SOURCES). > + > +* cairo/config.scm.in: Removing the *cairo-lib-path* definition. > + > +* env.in: (1) define and use abs_top_srcdir and abs_top_builddir; > (2) > +=C2=A0 define and export GUILE_LOAD_PATH, GUILE_LOAD_COMPILED_PATH and > +=C2=A0 LTDL_LIBRARY_PATH. > + > +* tests/unit-tests/Makefile.am: (1) add context-pointer.scm to the > TESTS > +=C2=A0 target; (2) add a TEST_EXTENSIONS =3D .scm target; (3) update the > +=C2=A0 TESTS_ENVIRONMENT to use $(abs_top_builddir); (4) remove the > %.check > +=C2=A0 target (unecessary in 'modern' autotools). > +--- Is this an upstreamed patch? There are too many cosmetic changes (of dubious quality) mixed with actual code changes for my personal liking. Cheers From debbugs-submit-bounces@debbugs.gnu.org Thu Feb 13 03:52:33 2025 Received: (at 76246) by debbugs.gnu.org; 13 Feb 2025 08:52:33 +0000 Received: from localhost ([127.0.0.1]:40294 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tiUxV-0006IJ-4b for submit@debbugs.gnu.org; Thu, 13 Feb 2025 03:52:33 -0500 Received: from mail-pl1-x635.google.com ([2607:f8b0:4864:20::635]:46434) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1tiUxR-0006Hr-Sw for 76246@debbugs.gnu.org; Thu, 13 Feb 2025 03:52:30 -0500 Received: by mail-pl1-x635.google.com with SMTP id d9443c01a7336-220c2a87378so8292645ad.1 for <76246@debbugs.gnu.org>; Thu, 13 Feb 2025 00:52:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739436743; x=1740041543; darn=debbugs.gnu.org; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=awJ1oc4qhfbJTIDL/vKPNWlpAhBSll3Nn/LkFzJeA8Q=; b=QxyQYB9lSBO1vVF3Va4Ce+Gbwi6dS5nrkA94/Ls+y7rZDV0MbToIvqcBQ/j2FUP/kK sXLPGHcHLu5IDSji0B/0qHKsYUdrMMADcf1ihVAHNQRANqNFS1zdYuMytl49h5DiVwmh SmD1OjJ0KRv1mAwCEhmiEveEbn7FEIeIdZjWFYXenqz1zO0AVL7RpfLCPkOPX0EAK3Jm IJ5HjuZ5GQup5Ku3Xa0+jL3ArTx/t8f3sH/h2SZ7Ivkk5Dm9Ed2eEIiou4GdSYzTgzvB tODTtDEJ+K1XdylVU9hS/6GcENM1E5PrdpA/gtx0sjF9lh7wnYfmlkjznIHCzMqhv8zH 4uyA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739436743; x=1740041543; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=awJ1oc4qhfbJTIDL/vKPNWlpAhBSll3Nn/LkFzJeA8Q=; b=g+nrNqu0FS7/+ijpP1h15drzZu480pT54Wo/pPYrBsrt9/s8XHuJy6q2ib015Mbz9M iVO1KwGjPl73wTRj5z/CQGetabc/SFffnMztIbz2uBkGP0jVZTx1/cVeJgzbk/yRXIcp lcqssKtWa2+rmIE3HsMyP+Vh3Aqs30+1vWf7PKWQ/AiKszFvrR/SqoKuf40Kcr/ojcCc MRK/pGBP5zcG/VwUTcgGXupwqRAnEILhe61dQjUIjjhxcFUblnCR+NXQ7PQcbnjh7oo3 OxDNvNrAlXsZYMThD5RRm3wUnQ1yBhYDf7xJeavPb5IKBjHsrry7iqTV6nz/igWOWhkW 6TNA== X-Gm-Message-State: AOJu0YzgTig8+W+bc17/rLsVFmvPqG4FTaCbe9iyfB4bWk2mekq5LYUB zzj5TpSYzWovVnLBN6lpRClWld16QjnZaxCscq9F7oI31Vuv47yv X-Gm-Gg: ASbGncutlYqEo+LKok5VO0ZFTefiiazw4jJW9g80KfBdk47Flhtcry001LjXd95yuSz yGCAdWkZ4Oabd4mozUGxbSZIWLh3me33yqV7U/3MWiLIKJTBPJjLY4lnoNO0GhK+1dJnqLYOBFK yo/8MS4XewFpx99Hecn3Yiz65y77UUHscCiSQT5SALdoxH33g8Yzu9YgtEHx09gJ0L01Q9E5N8J ycKawnwlnUrDp/G5YiUgaIvjWDrFhxcg1Af05WZZ9+A0GB19LEF1h4yRuWZfk48+eC62VtaWlMc Ddh0BSkjRUF5 X-Google-Smtp-Source: AGHT+IEQuZPrY+uyKxfKPKmy1XEQmEHibjuRi9nx7Y7fZa5sU1S6ISQtfpPTKs3enLYzm6uB2bYr/g== X-Received: by 2002:a17:903:228b:b0:220:d601:a6dc with SMTP id d9443c01a7336-220d601a850mr21714595ad.22.1739436743575; Thu, 13 Feb 2025 00:52:23 -0800 (PST) Received: from terra ([2405:6586:be0:0:c8ff:1707:9b9:af89]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-220d556d4bcsm7743585ad.178.2025.02.13.00.52.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Feb 2025 00:52:22 -0800 (PST) From: Maxim Cournoyer To: Florian Pelz Subject: Re: [bug#76246] [PATCH 1/2] gnu: Add guile-cairo-next. In-Reply-To: <315e4d5e141cc2cade7b65bd0b6d5ed28a41184d.1739413638.git.pelzflorian@pelzflorian.de> (Florian Pelz's message of "Thu, 13 Feb 2025 03:55:11 +0100") References: <315e4d5e141cc2cade7b65bd0b6d5ed28a41184d.1739413638.git.pelzflorian@pelzflorian.de> Date: Thu, 13 Feb 2025 17:52:10 +0900 Message-ID: <87wmdub51h.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76246 Cc: Vivien Kraus , Liliana Marie Prikler , 76246@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi, Florian Pelz writes: > From: "pelzflorian (Florian Pelz)" > > * gnu/packages/patches/guile-cairo-fix-make-check.patch: New patch. > * gnu/local.mk (dist_patch_DATA): Register patch. > * gnu/packages/gtk.scm (guile-cairo-next): New variable. [...] > +(define-public guile-cairo-next > + (package > + (inherit guile-cairo) > + (name "guile-cairo-next") Typicall when using a specific commit, we let-bind REVISION and COMMIT variables, so that any reworked package can have revision bumped (I think that's useful to select the latest version in case multiple same-named packages exist?). The version would be computed via --8<---------------cut here---------------start------------->8--- (version (git-version "last-release-version-string" revision commit)) --8<---------------cut here---------------end--------------->8--- > + ;; A commit with cairo-pointer->context, missing from guile-cairo@1.11.2 > + ;; and needed by animated-paintable from g-golf-gtk-4-examples. > + (source (origin > + (method git-fetch) > + (uri (git-reference > + (url "git://git.savannah.nongnu.org/guile-cairo.git") > + (commit "30da459d7a4380174ff243b1560d5512a4bca86e"))) > + (sha256 > + (base32 > + "0dslfldzgxis8g0g3xaffcqnd1njzz23fjy0v3lc0r2694ra4ny4")) > + ;; A patch to allow running the check phase before install. > + (patches (search-patches "guile-cairo-fix-make-check.patch")) > + (file-name (string-append "guile-cairo-next")))) There's also a git-file-name helper to compute file-name. If you use Emacs + yasnippet, you should be able to do: origin...TAB to have it expanded into the idiomatic form. > + (inputs > + (list guile-lib guile-3.0 gettext-minimal)) Please sort lexicographically. The rest LGTM. -- Thanks, Maxim From debbugs-submit-bounces@debbugs.gnu.org Sun Feb 16 18:51:12 2025 Received: (at 76246) by debbugs.gnu.org; 16 Feb 2025 23:51:12 +0000 Received: from localhost ([127.0.0.1]:39114 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tjoPn-0008Cp-5k for submit@debbugs.gnu.org; Sun, 16 Feb 2025 18:51:12 -0500 Received: from relay.yourmailgateway.de ([46.38.247.119]:59659) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tjoPg-0008C0-Vb for 76246@debbugs.gnu.org; Sun, 16 Feb 2025 18:51:09 -0500 Received: from mors-relay-8404.netcup.net (localhost [127.0.0.1]) by mors-relay-8404.netcup.net (Postfix) with ESMTPS id 4Yx2c53pl7z83BN for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 00:51:01 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=pelzflorian.de; s=key2; t=1739749861; bh=pkiN0aM6uFl07Gvhm4WryNeJMVr0HchL/Dl8YnDXUOc=; h=From:To:Cc:Subject:Date:From; b=eV3d6Qi/hHdCUX1iVOfx5YWeS2fG6qfgOQ8+VMzmxoRTHKdCmQTOcbYrXtxQgY6mE rBru04lYF+mZnnQnrdwLsoC1areZj7aznJtFSAVwojSuZyNoFOTbs3q0/a1Mr0QsCw PbpkCOEU7Xut1ngnapa3Yd4VH40C7daPNAjtrqMgciX7iFUpOKOsQuT8pTYC92EpxS 4bm4sOKN68YxCzFlWMpyfua/Pg1LpfM0ehRrDaMFe5BOM7GwTMHk3h7jzi9r9Hi1EH Ma5u5zprdhLef0gffe9mYKkDYpWFqLu/cujwcXNSLPuz2x5vrRczAvJiCKlNrk2ISV ZdU1HSzU3c6lQ== Received: from policy01-mors.netcup.net (unknown [46.38.225.35]) by mors-relay-8404.netcup.net (Postfix) with ESMTPS id 4Yx2c53R6Hz4xMv for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 00:51:01 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at policy01-mors.netcup.net X-Spam-Flag: NO X-Spam-Score: -2.897 X-Spam-Level: X-Spam-Status: No, score=-2.897 required=6.31 tests=[ALL_TRUSTED=-1, BAYES_00=-1.9, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no Received: from mxe217.netcup.net (unknown [10.243.12.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by policy01-mors.netcup.net (Postfix) with ESMTPS id 4Yx2c30jQbz8t43 for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 00:50:58 +0100 (CET) Received: from florianhp.fritz.box (ipb21a5dbf.dynamic.kabel-deutschland.de [178.26.93.191]) by mxe217.netcup.net (Postfix) with ESMTPSA id CCCBA8462F; Mon, 17 Feb 2025 00:50:52 +0100 (CET) From: Florian Pelz To: 76246@debbugs.gnu.org Subject: [PATCH 0/5] Add G-Golf's GTK-4 examples. Date: Mon, 17 Feb 2025 00:50:12 +0100 Message-ID: X-Mailer: git-send-email 2.48.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: CCCBA8462F X-Rspamd-Server: rspamd-worker-8404 X-NC-CID: HKmfjt6nNSwX1KP22Mmth3tyPCiWDHZcsIb6hTmCw3t3UxDiQK6rtNIE X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76246 Cc: Florian Pelz X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Thank you Liliana and Maxim for the feedback. Also G-Golf author David Pirotte's feedback from [1]. I hope you are fine with the changes. In v2: * Added a patch to remove the expat input from guile-cairo and guile2.2-cairo, which is not needed or not needed anymore. They have few dependents and the build result does not change except the /gnu/store file name and files containing it. * Liliana asked about why I changed inputs, native inputs in guile-cairo-next. It is because autogen needs them when built from git. Except I now followed Liliana’s suggestion to use the normal autoconf instead of autoconf-2.71. Even though Gettext is never called, gettext-minimal is used similar to what was done for guile-fibers . * As Maxim suggested, I got YaSnippet to work and now use idiomatic git-file-name and git-version. * About David’s patch, which I now removed. Liliana disliked carrying a large patch to guile-cairo also with changes not relevant to Guix. Therefore I extracted the two relevant changes from the patch into build phases. Details what the patch did, as I understand: Guile-Cairo encodes the path to its own libguile-cairo library in its (cairo config) module, but unidiomatically the path in said module was local to the build tree during `make check' and substituted by the install location during install. [2] Upstream then after the 1.11.2 release took on a patch to be more idiomatic, [3] but then install had to be run before check. David then submitted a patch to just dynamic-link the libguile-cairo library by its base file name and set LTDL_LIBRARY_PATH during tests [4] along with unrelated cleanups not important to Guix. Previously, I had included this patch with all cleanings, but did not list its source. Upstream was unhappy with the patch [1][5] not treating guile-cairo as a foreign extension and thus using GUILE_EXTENSIONS_PATH. Despite the guile-cairo README instructing to “build against this library in your C program”, so guile-cairo actually is not a Guile foreign extension? Maybe I misunderstand. Does not matter here. * Added a patch to document the --no-grafts requirement to the guile-g-golf package description, namely: Note: Currently, when developing with G-Golf in `guix shell', there is a grafts bug in Guix (https://bugs.gnu.org/75157). To avoid it, use Guix' `--no-grafts' option. Guix packages that use `wrap-program' are unaffected. * g-golf-gtk-4-examples: David suggested not to install to /bin but to $prefix/share/doc. But that would not be in $PATH automatically. My expected usage is *not* like `apt install` but rather: guix shell --pure g-golf-gtk-4-examples hello-world to run the hello-world example. It is more idiomatic to Guix. With share/doc, usage could only be $(guix build g-golf-gtk-4-examples)/share/doc/hello-world This seems unidiomatic to me. For reading the source code, I would not install a doc package. Idiomatic usage would be like: cd $(guix build --source g-golf-gtk-4-examples) cd examples/gtk-4 less hello-world I rather have the examples in $PATH. Similar to how the gtk4-demo is in $PATH when gtk:bin is installed. A downside is that G-Golf expects PNG, CSS, UI files in the same directory. Still I rather continue placing them all in /gnu/store/2i34kis6z42dgg6awv29w1yjvgnign95-g-golf-gtk-4-examples-0.8.0/bin. I do not want to separate PNG, CSS, UI files, which would deviate too much from upstream G-Golf. * Synopsis and description were: (synopsis "Example GTK apps written in Guile with G-Golf") (description "Example applications to show what can be done in G-Golf and how to wrap the applications in a Guix package."))) David suggested a different synopsis and description. > (synopsis "G-Golf Gtk-4 Examples") > ;; the -4 is essential here above, we will have -5 ... I agree with GTK 4. I would rather keep the words “in Guile”. > (description "G-Golf port of (a subset of) the upstream gtk4-demo > examples") > ;; no need to add anything, with all due respect, "show how to ..." > ;; is redundant here, as examples do 'show how to' by definition I now have: (synopsis "Example GTK 4 apps written in Guile with G-Golf") (description "G-Golf port of (a subset of) the upstream @code{gtk4-demo} examples in the @code{gtk:bin} Guix package output. They also show how to wrap G-Golf applications in a Guix package."))) * All examples work now, with new phases to patch them. My Makefile changes now use the cp command rather than install to retain the file permission mode, so the PNG files do not have the executable bit set. * Added a reftest in an installcheck phase. It is not in the upstream repo, but I wanted it to prevent G-Golf from breaking without notice in the future. The cost is that it depends on Python, which cannot be cross-compiled. * Added a patch which adds g-golf-adw-1-examples to Guix. But adwaita-1-demo needs AdwBottomSheet from libadwaita@1.6.0. The master branch is at libadwaita@1.5.2. Therefore, 1 out of 2 demos is broken when applied to the master branch. It works on the gnome-team branch. Nonetheless, I would like to apply g-golf-adw-1-examples on the master branch. For some time, that one important demo won’t work, but eventually it will. [1] . [2] https://git.savannah.nongnu.org/cgit/guile-cairo.git/tree/cairo/Makefile.am?id=00aa4358ed7953feb21d1e1d5969bbe6bdd5d190 [3] https://lists.gnu.org/archive/html/guile-user/2020-06/msg00021.html https://git.savannah.nongnu.org/cgit/guile-cairo.git/commit/?id=345a2de3f78d34ffb448c5cb4860869621583495 [4] https://lists.gnu.org/archive/html/guile-user/2023-03/msg00028.html [5] https://lists.gnu.org/archive/html/guile-user/2023-03/msg00029.html Florian Pelz (5): gnu: guile-cairo: Remove expat from inputs. gnu: Add guile-cairo-next. gnu: guile-g-golf: Document --no-grafts requirement. gnu: Add G-Golf's GTK-4 examples. gnu: Add G-Golf's Adw-1 examples. gnu/packages/gtk.scm | 42 ++++- gnu/packages/guile-xyz.scm | 309 ++++++++++++++++++++++++++++++++++++- 2 files changed, 348 insertions(+), 3 deletions(-) base-commit: 5e3e1b782b87d5bfe903f978490955cc20a70e5a -- 2.48.1 From debbugs-submit-bounces@debbugs.gnu.org Sun Feb 16 18:52:29 2025 Received: (at 76246) by debbugs.gnu.org; 16 Feb 2025 23:52:30 +0000 Received: from localhost ([127.0.0.1]:39129 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tjoR3-0008II-HQ for submit@debbugs.gnu.org; Sun, 16 Feb 2025 18:52:29 -0500 Received: from relay.yourmailgateway.de ([188.68.61.107]:40315) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tjoR1-0008I2-Sl for 76246@debbugs.gnu.org; Sun, 16 Feb 2025 18:52:28 -0500 Received: from mors-relay-8405.netcup.net (localhost [127.0.0.1]) by mors-relay-8405.netcup.net (Postfix) with ESMTPS id 4Yx2dk2YdPz6y7N for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 00:52:26 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=pelzflorian.de; s=key2; t=1739749946; bh=7e0ceX5HhnAiROHDtbRTdFZiPzPyFEmHaBSQ/t2qjxU=; h=From:To:Cc:Subject:Date:From; b=JUM/QpN1gBeTjaBSXCDvHfMxIm5IB2yZPjDPphpfn6r7Iq50R0cvcNlfJl37u1X+T +Me7z7NzlKxSVyPDFgnzRTag5EyurTfMm77ii0fDAM62xSnF7xjiWZo/aD4xQ2jHdY y+2tHUgTOZ5Wg80KsR9wSn/n8LBl+gu7llPXg0vhsHoosy5AXRlzCBl7Ctx1g5WVXL xPOlO4kPHmfulScxRVdsoMIYjYCDnPTkg3ZOtCt6u8M7kdPPYklryGeVGQlGT7jaW8 YKB3GLcrxOLEYrPGKzHDngvZ3H7HaW4o6QDutKMVXg4MxctFS8kroopzHV5ZwZz0HT Urh7esx0aN+EA== Received: from policy01-mors.netcup.net (unknown [46.38.225.35]) by mors-relay-8405.netcup.net (Postfix) with ESMTPS id 4Yx2dk1dt2z6y6q for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 00:52:26 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at policy01-mors.netcup.net X-Spam-Flag: NO X-Spam-Score: -2.9 X-Spam-Level: X-Spam-Status: No, score=-2.9 required=6.31 tests=[ALL_TRUSTED=-1, BAYES_00=-1.9] autolearn=ham autolearn_force=no Received: from mxe217.netcup.net (unknown [10.243.12.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by policy01-mors.netcup.net (Postfix) with ESMTPS id 4Yx2dj6CVmz8tXP for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 00:52:25 +0100 (CET) Received: from florianhp.fritz.box (ipb21a5dbf.dynamic.kabel-deutschland.de [178.26.93.191]) by mxe217.netcup.net (Postfix) with ESMTPSA id B09FB84613; Mon, 17 Feb 2025 00:52:20 +0100 (CET) From: Florian Pelz To: 76246@debbugs.gnu.org Subject: [PATCH 1/5] gnu: guile-cairo: Remove expat from inputs. Date: Mon, 17 Feb 2025 00:52:10 +0100 Message-ID: X-Mailer: git-send-email 2.48.1 MIME-Version: 1.0 X-Debbugs-Cc: Liliana Marie Prikler , Maxim Cournoyer , Vivien Kraus Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: B09FB84613 X-Rspamd-Server: rspamd-worker-8404 X-NC-CID: NU3UXy/KIdibPVZlcSkhXOiCRKp/PReK+qoumFoAQhfxugeR9/mSatrB X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76246 Cc: Florian Pelz X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) expat is not needed by guile-cairo nor guile2.2-cairo. * gnu/packages/gtk.scm (guile-cairo)[inputs]: Remove expat. Change-Id: Ie8f2c35c52725326cc8f103c45125e4378d29793 --- 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 011a1db687..8e893d66c3 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -1454,7 +1454,7 @@ (define-public guile-cairo (find-files module-dir "\\.scm$")) #t)))))) (inputs - (list guile-lib expat guile-3.0)) + (list guile-lib guile-3.0)) (propagated-inputs ;; The .pc file refers to 'cairo'. (list cairo)) base-commit: 5e3e1b782b87d5bfe903f978490955cc20a70e5a -- 2.48.1 From debbugs-submit-bounces@debbugs.gnu.org Sun Feb 16 18:53:22 2025 Received: (at 76246) by debbugs.gnu.org; 16 Feb 2025 23:53:22 +0000 Received: from localhost ([127.0.0.1]:39144 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tjoRu-0008LZ-1H for submit@debbugs.gnu.org; Sun, 16 Feb 2025 18:53:22 -0500 Received: from relay.yourmailgateway.de ([188.68.63.162]:42547) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tjoRr-0008LN-DM for 76246@debbugs.gnu.org; Sun, 16 Feb 2025 18:53:20 -0500 Received: from mors-relay-8201.netcup.net (localhost [127.0.0.1]) by mors-relay-8201.netcup.net (Postfix) with ESMTPS id 4Yx2fV0knNz3s1F for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 00:53:06 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=pelzflorian.de; s=key2; t=1739749986; bh=745hQHYPjYdLd+8ah+Deen3X0424BLLCK/IgU0iCT3M=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=DlpOI/muCnBoR4dTAjhiUVDBAT37qrZIAmN+NhWs2+6mqd5D8QPqjnob59yMccfz9 eo6vyYuTmo1bJeSh2FSNcLfryQ5NAd8pWkTAq8PtIcnNbS2nw0jAKxUfPLaVl53cXb zWKcXyjvPOTRFu83CJ/UVpvZ1cS0vt0aFrgzBpgzwJhP9UpOjyJbmuLALmjN11tRTh OBxxGgz8HTUJJZLs8xBZgrxmkAr+95Pszp/I+dncW+1mULtruG2mZW4S6zifoEQhas IDTmplsqgRtiwn3dkc26kag3Qn9BurkfeKfnMVMeEToHzFxz6VFo20KmfSa4MWAY0E 3towmMrIkPQkQ== Received: from policy01-mors.netcup.net (unknown [46.38.225.35]) by mors-relay-8201.netcup.net (Postfix) with ESMTPS id 4Yx2fV01C4z3rw4 for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 00:53:05 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at policy01-mors.netcup.net X-Spam-Flag: NO X-Spam-Score: -2.897 X-Spam-Level: X-Spam-Status: No, score=-2.897 required=6.31 tests=[ALL_TRUSTED=-1, BAYES_00=-1.9, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no Received: from mxe217.netcup.net (unknown [10.243.12.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by policy01-mors.netcup.net (Postfix) with ESMTPS id 4Yx2fR4zv7z8t4M for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 00:53:03 +0100 (CET) Received: from florianhp.fritz.box (ipb21a5dbf.dynamic.kabel-deutschland.de [178.26.93.191]) by mxe217.netcup.net (Postfix) with ESMTPSA id 7CA4284609; Mon, 17 Feb 2025 00:52:58 +0100 (CET) From: Florian Pelz To: 76246@debbugs.gnu.org Subject: [PATCH 2/5] gnu: Add guile-cairo-next. Date: Mon, 17 Feb 2025 00:52:49 +0100 Message-ID: <565889c10a90c95361aa0b4a58751b710bda207b.1739749706.git.pelzflorian@pelzflorian.de> X-Mailer: git-send-email 2.48.1 In-Reply-To: References: MIME-Version: 1.0 X-Debbugs-Cc: Liliana Marie Prikler , Maxim Cournoyer , Vivien Kraus Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 7CA4284609 X-Rspamd-Server: rspamd-worker-8404 X-NC-CID: mKBZNTC2GO0FLT70Plj/GHkmRXe00Hnbvsfse05WVBewIzudRovgldmN X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76246 Cc: Florian Pelz X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/gtk.scm (guile-cairo-next): New variable. Change-Id: I328afe58d46e60243e075edead12afc0d1c4a98a --- gnu/packages/gtk.scm | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 8e893d66c3..2698fdb1c7 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -37,6 +37,7 @@ ;;; Copyright © 2023, 2024 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2023 Janneke Nieuwenhuizen ;;; Copyright © 2024 John Kehayias +;;; Copyright © 2025 Florian Pelz ;;; ;;; This file is part of GNU Guix. ;;; @@ -1481,6 +1482,45 @@ (define-public guile2.2-cairo ,@(fold alist-delete (package-inputs guile-cairo) '("guile" "guile-lib")))))) +(define-public guile-cairo-next + ;; A commit with cairo-pointer->context, missing from guile-cairo@1.11.2 + ;; and needed by animated-paintable from g-golf-gtk-4-examples. + (let ((commit "30da459d7a4380174ff243b1560d5512a4bca86e") + (revision "0")) + (package + (inherit guile-cairo) + (name "guile-cairo-next") + (version (git-version "1.11.2" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "git://git.savannah.nongnu.org/guile-cairo.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0dslfldzgxis8g0g3xaffcqnd1njzz23fjy0v3lc0r2694ra4ny4")))) + ;; To allow running the check phase before install, use a libtool path + ;; similar to David Pirotte's suggested patch + ;; . + (arguments + (substitute-keyword-arguments (package-arguments guile-cairo) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'build 'fix-dynamic-link-path + (lambda _ + ;; Make libguile-cairo foreign extension usable in tests. + (substitute* "cairo/config.scm" + (("\\(define \\*cairo-lib-path\\* .*") + "\(define *cairo-lib-path* \"libguile-cairo\")\n")))) + (add-before 'check 'set-libtool-path + (lambda _ + (setenv "LTDL_LIBRARY_PATH" "../../guile-cairo/.libs"))))))) + (inputs + (list gettext-minimal guile-3.0 guile-lib)) + (native-inputs + (list autoconf automake libtool pkg-config texinfo))))) + (define-public guile-rsvg ;; Use a recent snapshot that supports Guile 2.2 and beyond. (let ((commit "05c6a2fd67e4fea1a7c3ff776729dc931bae6678") -- 2.48.1 From debbugs-submit-bounces@debbugs.gnu.org Sun Feb 16 18:53:50 2025 Received: (at 76246) by debbugs.gnu.org; 16 Feb 2025 23:53:50 +0000 Received: from localhost ([127.0.0.1]:39152 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tjoSL-0008NB-Lu for submit@debbugs.gnu.org; Sun, 16 Feb 2025 18:53:49 -0500 Received: from relay.yourmailgateway.de ([188.68.63.166]:46567) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tjoSJ-0008Mx-BE for 76246@debbugs.gnu.org; Sun, 16 Feb 2025 18:53:48 -0500 Received: from mors-relay-8202.netcup.net (localhost [127.0.0.1]) by mors-relay-8202.netcup.net (Postfix) with ESMTPS id 4Yx1ty2wXZz3xng for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 00:18:50 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=pelzflorian.de; s=key2; t=1739747930; bh=NUmG3z9SQQzNHgvK0ZXBVqYDC6CH/RZx1zKuirZJHQk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=PfZat/JcB1s9q9X/rbNO1n8PUS963w2AyRMtiI+6k+GpO9CT2iTB7P1GunzqUfLMZ h0ct1oxGmjwbcjz6PgrkRHhC3H5VzxPsTu5dUld5yhvg84WJMrsJJ4E22xxEWIG4nB deWKL08khNPYnJPhuDPY8PrDilHDGJ2+liiWNzy9IUj/c+aiqrpZlsslrvz8gafkod D/x18lBa7Nq6cnJ04AcoG6auYZT/BjxtTJNY4+mPc17/6MGnR5spAKbQRMYFRXyEn3 AKvPAPAu/CNNcxZyHakPeH0jrhUmE1kg3vrGBxT53iAf3GAtx6ypJY4ufWs7cwAKLN h1WbaBkSsWOGQ== Received: from policy01-mors.netcup.net (unknown [46.38.225.35]) by mors-relay-8202.netcup.net (Postfix) with ESMTPS id 4Yx1ty2CT2z3xmD for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 00:18:50 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at policy01-mors.netcup.net X-Spam-Flag: NO X-Spam-Score: -2.897 X-Spam-Level: X-Spam-Status: No, score=-2.897 required=6.31 tests=[ALL_TRUSTED=-1, BAYES_00=-1.9, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no Received: from mxe217.netcup.net (unknown [10.243.12.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by policy01-mors.netcup.net (Postfix) with ESMTPS id 4Yx2gF4fHfz8t4M for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 00:53:45 +0100 (CET) Received: from florianhp.fritz.box (ipb21a5dbf.dynamic.kabel-deutschland.de [178.26.93.191]) by mxe217.netcup.net (Postfix) with ESMTPSA id 7B81F8462D; Mon, 17 Feb 2025 00:53:40 +0100 (CET) From: Florian Pelz To: 76246@debbugs.gnu.org Subject: [PATCH 3/5] gnu: guile-g-golf: Document --no-grafts requirement. Date: Mon, 17 Feb 2025 00:53:24 +0100 Message-ID: X-Mailer: git-send-email 2.48.1 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 7B81F8462D X-Rspamd-Server: rspamd-worker-8404 X-NC-CID: DJFr1f7TQz967sRlp8iv37KbHIjicoesxE8UWuVvVT2yp59bZsFzeLxR X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76246 Cc: Florian Pelz X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Note that packages are unaffected. * gnu/packages/guile-xyz.scm: Tell about grafts bug. Change-Id: Ic0b2c63daa07c693171965d90410aef5a2e41d49 --- gnu/packages/guile-xyz.scm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 921d8b46d6..9877e01748 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -2603,7 +2603,12 @@ (define-public guile-g-golf modern applications in Guile Scheme. It comprises a direct binding to the GObject Introspection API and higher-level functionality for importing Gnome libraries and making GObject classes (and methods) available in Guile's -object-oriented programming system, GOOPS.") +object-oriented programming system, GOOPS. + +Note: Currently, when developing with G-Golf in @code{guix shell}, there is a +@uref{https://bugs.gnu.org/75157, grafts bug in Guix}. To avoid it, use Guix' +@code{--no-grafts} option. Guix packages that use @code{wrap-program} are +unaffected.") (license license:lgpl3+))) (define-public g-golf -- 2.48.1 From debbugs-submit-bounces@debbugs.gnu.org Sun Feb 16 18:55:01 2025 Received: (at 76246) by debbugs.gnu.org; 16 Feb 2025 23:55:01 +0000 Received: from localhost ([127.0.0.1]:39163 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tjoTR-0008RO-7P for submit@debbugs.gnu.org; Sun, 16 Feb 2025 18:55:01 -0500 Received: from relay.yourmailgateway.de ([188.68.63.102]:51039) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tjoTM-0008R9-IN for 76246@debbugs.gnu.org; Sun, 16 Feb 2025 18:54:56 -0500 Received: from mors-relay-2502.netcup.net (localhost [127.0.0.1]) by mors-relay-2502.netcup.net (Postfix) with ESMTPS id 4Yx2hW3Lygz64gM for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 00:54:51 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=pelzflorian.de; s=key2; t=1739750091; bh=GA7Nq6qGV0NMsaIpEOGEHBGqvkhQtbvxW44lvSJLsVs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=lJKcMq9wWvDLF0d92RDsA/jp5DOf6TIxxEbGa4eVMFV4GtKUD8JetRn474cav3It5 0hZaq5EFjNcQUu6BBjBy4gU+wM4jgsKH0bKJMaggA6Y0EAm01e4+NfBG/hNxhzpQPh zft1finHqTfxjRdKE5fR4opTaW0yPjf+OvXRti+6XtUC9ylPXGrfPyE1qTgwAj0pze j667xtvJU7DRVjE2yRbedlhZuYLZgEVGKBqYqnZP/k+YfvG+g88AcV5f8HXqg1FEpJ bgqBTLxKANR0cEYUmExM0irH2VIuuzpHQ6DC3pXdZwK1G/wpzQ+55ojETWIsTNFHHe yGUZYMsjYOfQg== Received: from policy02-mors.netcup.net (unknown [46.38.225.35]) by mors-relay-2502.netcup.net (Postfix) with ESMTPS id 4Yx2hW2fjJz4wg1 for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 00:54:51 +0100 (CET) Received: from mxe217.netcup.net (unknown [10.243.12.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by policy02-mors.netcup.net (Postfix) with ESMTPS id 4Yx2hW0wbkz8sbH for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 00:54:51 +0100 (CET) Received: from florianhp.fritz.box (ipb21a5dbf.dynamic.kabel-deutschland.de [178.26.93.191]) by mxe217.netcup.net (Postfix) with ESMTPSA id C41AA845BC; Mon, 17 Feb 2025 00:54:45 +0100 (CET) From: Florian Pelz To: 76246@debbugs.gnu.org Subject: [PATCH 4/5] gnu: Add G-Golf's GTK-4 examples. Date: Mon, 17 Feb 2025 00:54:08 +0100 Message-ID: <9b62b633066ceb34b6ceed7534fa6527171dc50c.1739749706.git.pelzflorian@pelzflorian.de> X-Mailer: git-send-email 2.48.1 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: C41AA845BC X-Rspamd-Server: rspamd-worker-8404 X-NC-CID: M9Oyo6HPCyQc0e4HSfeQcjU7hWwI8VkRx4jDAlmUjOdf1T5TlLsO4v4B X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76246 Cc: Florian Pelz X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/guile-xyz.scm (g-golf-gtk-4-examples): New variable. Change-Id: I19b182eb71095ca2deacdb4011c8f50dfcfc8476 --- gnu/packages/guile-xyz.scm | 182 ++++++++++++++++++++++++++++++++++++- 1 file changed, 181 insertions(+), 1 deletion(-) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 9877e01748..7ca6a1bd75 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -1,4 +1,4 @@ -;;; GNU Guix --- Functional package management for GNU +;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012-2024 Ludovic Courtès ;;; Copyright © 2014, 2015, 2018 Mark H Weaver ;;; Copyright © 2015, 2017, 2022 Christine Lemmer-Webber @@ -53,6 +53,7 @@ ;;; Copyright © 2024 Alec Barreto ;;; Copyright © 2024 Josep Bigorra ;;; Copyright © 2024 Ashish SHUKLA +;;; Copyright © 2025 Florian Pelz ;;; ;;; This file is part of GNU Guix. ;;; @@ -2623,6 +2624,185 @@ (define-public guile2.2-g-golf (replace "guile" guile-2.2) (replace "guile-lib" guile2.2-lib))))) +(define-public g-golf-gtk-4-examples + (package + (inherit guile-g-golf) + (name "g-golf-gtk-4-examples") + (arguments + (list + #:modules `(((guix build guile-build-system) + #:select + (target-guile-effective-version)) + (srfi srfi-26) + ,@%default-gnu-modules) + #:phases + (with-imported-modules `((guix build guile-build-system) + ,@%default-gnu-imported-modules) + #~(modify-phases %standard-phases + (add-after 'unpack 'prepare-examples + (lambda _ + (chdir "examples/gtk-4") + ;; Re-use the existing Makefile for its wildcard syntax. + (rename-file "Makefile.am" "Makefile") + ;; Add a rule to install the examples. This also + ;; installs UI, CSS and Scheme files to /bin, but + ;; better keep how G-Golf packages them. + (let ((port (open-file "Makefile" "al"))) + (format port " +prefix = ~a +bindir = $(prefix)/bin +.PHONY: install +install: + mkdir -p $(bindir)/css + mkdir -p $(bindir)/demos + mkdir -p $(bindir)/images + mkdir -p $(bindir)/ui + for f in $(EXTRA_DIST); do \\ + cp $$f $(bindir)/$$f; \\ + done + install demos/libfpt.so $(bindir)/demos +" #$output) + (close-port port)))) + (delete 'configure) + (replace 'build + (lambda _ + ;; The layout-manager-2 example calls `make', GCC at run-time. + ;; But since it would compile to the read-only /gnu/store, we + ;; deviate by compiling in advance in the build phase, + ;; ignoring failing `make' calls. We do not propagate `make'. + (with-directory-excursion "demos" + (when #$(%current-target-system) + (substitute* "Makefile" + (("^CC = gcc$") + (string-append "CC = " #$(cc-for-target) "\n")))) + (system* "make")))) + ;; There are no tests for examples, but we do an installcheck phase, + ;; which respects when #:tests? is turned off. So delete 'check. + (delete 'check) + (add-before 'install 'patch-scm-files + (lambda* (#:key inputs #:allow-other-keys) + ;; `current-filename' calls in examples are broken. + (map (lambda (binary) + (let ((installed-binary (string-append + #$output "/bin/" binary))) + (substitute* binary + (("\\(current-filename\\)") + (string-append "\"" installed-binary "\"")) + (("\\(getcwd\\)") + (string-append "\"" #$output "/bin\"")) + (("^exec guile ") + (string-append + "exec " (search-input-file inputs "/bin/guile") + " "))))) + (map (cut string-drop <> 2) ;strip ./ prefix + (find-files "." (lambda (file stat) + ;executables or .scm modules + (or (= (stat:perms stat) #o755) + (string-suffix? ".scm" + file)))))))) + (add-after 'install 'wrap-binaries + (lambda* (#:key inputs #:allow-other-keys) + (let* ((version (target-guile-effective-version)) + (g-golf (assoc-ref inputs "guile-g-golf")) + (gcairo (assoc-ref inputs "guile-cairo-next")) + (adwaita-icons (assoc-ref inputs "adwaita-icon-theme")) + (scm (string-append "/share/guile/site/" version)) + (go (string-append "/lib/guile/" + version "/site-ccache")) + (binaries + (find-files "." (lambda (file stat) ;executables + (= (stat:perms stat) #o755))))) + (map (lambda (binary) + (let ((installed-binary (string-append + #$output "/bin/" binary))) + (wrap-program installed-binary + `("GUILE_LOAD_PATH" prefix + (,(string-append g-golf scm) + ,(string-append gcairo scm))) + `("GUILE_LOAD_COMPILED_PATH" prefix + (,(string-append g-golf go) + ,(string-append gcairo go))) + `("GI_TYPELIB_PATH" prefix + (,(getenv "GI_TYPELIB_PATH"))) + ;; Library path for libraries loaded by binaries. + `("LD_LIBRARY_PATH" prefix + (,(string-append gcairo "/lib"))) + `("XDG_DATA_DIRS" suffix + (,(string-append adwaita-icons "/share")))))) + binaries)))) + ;; Add installcheck to ensure nothing breaks. + (add-after 'strip 'installcheck + (lambda* (#:key inputs tests? #:allow-other-keys) + (cond + ((not tests?) + (display "test suite not run\n")) + (#$(%current-target-system) + (display "cross-compiling; reftest skipped\n")) + (else + ;; Start an X server. + (system "Xvfb :1 &") + (setenv "DISPLAY" ":1") + (let* ((g-golf-drawing (string-append + #$output "/bin/drawing-widget")) + (pid (spawn g-golf-drawing `(,g-golf-drawing) + #:search-path? #f))) + (sleep 10) ;2s is enough on my machine + (display "Taking a screenshot with G-Golf.\n") + (system* "import" "-window" "root" + "drawing-widget.out.png") + (sleep 5) ;1s is enough on my machine + (kill pid SIGINT) + (waitpid pid)) + (let* ((python (search-input-file inputs "/bin/python3")) + (pygobject-drawing #$(this-package-native-input + "drawing-widget.py")) + (pid (spawn python `(,python ,pygobject-drawing) + #:search-path? #f))) + (sleep 5) ;1s is enough on my machine + (display "Taking a screenshot with Pygobject.\n") + (system* "import" "-window" "root" + "drawing-widget.ref.png") + (sleep 5) + (kill pid SIGINT) + (waitpid pid)) + (if (= (pk (system* "compare" "-metric" "AE" "-fuzz" "1%" + "drawing-widget.out.png" + "drawing-widget.ref.png" + "drawing-widget.dif.png")) 0) + (display "All good; they look the same.\n") + (error "Reftest failed; screenshots differ.")))))))))) + (inputs + (list adwaita-icon-theme + bash-minimal + gtk + guile-3.0 + guile-cairo-next + guile-g-golf)) + (native-inputs + (list pkg-config + which + ;; For installcheck: + imagemagick + python-minimal + python-pygobject + xorg-server-for-tests + ;; Python version of drawing-widget from + ;; https://lists.gnu.org/archive/html/guile-user/2024-05/msg00032.html + (origin + (method url-fetch) + (uri "\ +https://lists.gnu.org/archive/html/guile-user/2024-05/txtT_80XuINsX.txt") + (sha256 + (base32 + "07j2v159a3bb99i8kwbqrcgslcmhhnqa5ah53q2b9bdk8042grsx")) + (file-name "drawing-widget.py")))) + (propagated-inputs (list)) + (synopsis "Example GTK 4 apps written in Guile with G-Golf") + (description + "G-Golf port of (a subset of) the upstream @code{gtk4-demo} examples in +the @code{gtk:bin} Guix package output. They also show how to wrap G-Golf +applications in a Guix package."))) + (define-public g-wrap (package (name "g-wrap") -- 2.48.1 From debbugs-submit-bounces@debbugs.gnu.org Sun Feb 16 18:56:08 2025 Received: (at 76246) by debbugs.gnu.org; 16 Feb 2025 23:56:08 +0000 Received: from localhost ([127.0.0.1]:39180 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tjoUZ-0000AF-Kt for submit@debbugs.gnu.org; Sun, 16 Feb 2025 18:56:08 -0500 Received: from relay.yourmailgateway.de ([188.68.61.103]:60819) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tjoUT-00009a-MN for 76246@debbugs.gnu.org; Sun, 16 Feb 2025 18:56:06 -0500 Received: from mors-relay-8403.netcup.net (localhost [127.0.0.1]) by mors-relay-8403.netcup.net (Postfix) with ESMTPS id 4Yx2jr3Ztpz84hh for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 00:56:00 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=pelzflorian.de; s=key2; t=1739750160; bh=/KjU1r08ItcT/Zg+ybm42XlcoGy5ZckHGIHRlanLee0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=dfXF82x38V5S9845QfNqCR4tyxKMMnupYQGCJ5hSMXDAsBMqPTn5zKyZFiA3hgT0h ZFk/acnzfgTSi33nkl9QRR8U46Z1oqSK9OKWmekR5peuFeHdRR8jjfSc4U+RgcKe9Y zidInoGCY5UWp08wCZskkD9aQySav+gucqeRkwYRPmdpoMlBVQ9w7x82O2LDrNm87b bzPsM9YhFyFIkFmGL5e4LgnQ+jw9Fi77J7hAUeDvYoh8yS/2/7jrsfukTn89+lFrqe jejLSsi6IGhhJt+s15yD7lEyd2EiGU7AraBRMH5g9PrchAHM5hZllFHRuGJ1Cb2jDs 3/F31asAlSGaw== Received: from policy02-mors.netcup.net (unknown [46.38.225.35]) by mors-relay-8403.netcup.net (Postfix) with ESMTPS id 4Yx2jr3CBBz84hb for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 00:56:00 +0100 (CET) Received: from mxe217.netcup.net (unknown [10.243.12.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by policy02-mors.netcup.net (Postfix) with ESMTPS id 4Yx2jr1pq9z8sbH for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 00:56:00 +0100 (CET) Received: from florianhp.fritz.box (ipb21a5dbf.dynamic.kabel-deutschland.de [178.26.93.191]) by mxe217.netcup.net (Postfix) with ESMTPSA id 099D984613; Mon, 17 Feb 2025 00:55:55 +0100 (CET) From: Florian Pelz To: 76246@debbugs.gnu.org Subject: [PATCH v2 5/5] gnu: Add G-Golf's Adw-1 examples. Date: Mon, 17 Feb 2025 00:55:37 +0100 Message-ID: X-Mailer: git-send-email 2.48.1 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 099D984613 X-Rspamd-Server: rspamd-worker-8404 X-NC-CID: BjptgIttwWxwYiwP7hbTJCQLvAjQy8+hz8sLZb9n9XY2Ne14ntMrImEI X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76246 Cc: Florian Pelz X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/guile-xyz.scm (g-golf-adw-1-examples): New variable. Change-Id: I160e58ceaeb4867f9b21a0a32f198113e36b5c88 --- gnu/packages/guile-xyz.scm | 125 +++++++++++++++++++++++++++++++++++++ 1 file changed, 125 insertions(+) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 7ca6a1bd75..1ceb25be7d 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -2803,6 +2803,131 @@ (define-public g-golf-gtk-4-examples the @code{gtk:bin} Guix package output. They also show how to wrap G-Golf applications in a Guix package."))) +(define-public g-golf-adw-1-examples + (package + (inherit guile-g-golf) + (name "g-golf-adw-1-examples") + (build-system glib-or-gtk-build-system) + (arguments + (list + #:tests? #f ;there are no tests for examples + #:modules `(((guix build guile-build-system) + #:select + (target-guile-effective-version)) + (guix build glib-or-gtk-build-system) + (srfi srfi-26) + ,@%default-gnu-modules) + #:phases + (with-imported-modules `((guix build guile-build-system) + ,@%default-gnu-imported-modules) + #~(modify-phases %standard-phases + (add-after 'unpack 'prepare-examples + (lambda _ + (chdir "examples/adw-1") + ;; Re-use the existing Makefile for its wildcard syntax. + (rename-file "Makefile.am" "Makefile") + (substitute* "Makefile" + ;; Fix syntax error. + (("hello-world") + "hello-world \\")) + ;; Add a rule to install the examples. This also + ;; installs UI, CSS and Scheme files to /bin, but + ;; better keep how G-Golf packages them. + (let ((port (open-file "Makefile" "al"))) + (format port " +prefix = ~a +bindir = $(prefix)/bin +.PHONY: install +install: + mkdir -p $(bindir)/demo/icons + mkdir -p $(bindir)/demo/pages + for f in $(EXTRA_DIST); do \\ + cp -r $$f $(bindir)/$$f; \\ + done + cp demo/g-resources $(bindir)/demo/g-resources +" #$output) + (close-port port)))) + (delete 'configure) + (replace 'build + (lambda _ + ;; Create files for adwaita-1-demo needed in install phase. + (with-directory-excursion "demo" + (system* "make") + (system* "glib-compile-resources" + "--target" "g-resources" + "g-resources.xml")))) + (add-before 'install 'patch-scm-files + (lambda* (#:key inputs #:allow-other-keys) + ;; `current-filename' calls in examples are broken. + (map (lambda (binary) + (let ((installed-binary (string-append + #$output "/bin/" binary))) + (substitute* binary + (("\\(current-filename\\)") + (string-append "\"" installed-binary "\"")) + (("^exec guile ") + (string-append + "exec " (search-input-file inputs "/bin/guile") + " "))))) + (map (cut string-drop <> 2) ;strip ./ prefix + (find-files "." (lambda (file stat) + ;executables or .scm modules + (or (= (stat:perms stat) #o755) + (string-suffix? ".scm" + file)))))))) + (add-after 'install 'wrap-binaries + (lambda* (#:key inputs #:allow-other-keys) + (let* ((version (target-guile-effective-version)) + (g-golf (assoc-ref inputs "guile-g-golf")) + (adwaita-icons (assoc-ref inputs "adwaita-icon-theme")) + (libadwaita-icons (assoc-ref inputs "libadwaita")) + (scm (string-append "/share/guile/site/" version)) + (go (string-append "/lib/guile/" + version "/site-ccache")) + (binaries + (find-files "." (lambda (file stat) ;executables + (= (stat:perms stat) #o755))))) + (map (lambda (binary) + (let ((installed-binary (string-append + #$output "/bin/" binary))) + (wrap-program installed-binary + `("GUILE_LOAD_PATH" prefix + (,(string-append g-golf scm))) + `("GUILE_LOAD_COMPILED_PATH" prefix + (,(string-append g-golf go))) + `("GI_TYPELIB_PATH" prefix + (,(getenv "GI_TYPELIB_PATH"))) + `("GUIX_GDK_PIXBUF_MODULE_FILES" suffix + (,(getenv "GUIX_GDK_PIXBUF_MODULE_FILES"))) + `("XDG_DATA_DIRS" suffix + (,(string-append #$output "/bin/demo") + ,(string-append adwaita-icons "/share") + ,(string-append libadwaita-icons "/share")))))) + binaries)))) + (add-after 'wrap-binaries 'move-binaries + (lambda _ + ;; Move the adwaita-1-demo wrapper to place it directly in /bin. + (rename-file (string-append + #$output "/bin/demo/adwaita-1-demo") + (string-append + #$output "/bin/adwaita-1-demo")))))))) + (inputs + (list adwaita-icon-theme + bash-minimal + libadwaita + (librsvg-for-system) + gtk + guile-3.0 + guile-g-golf)) + (native-inputs (list `(,glib "bin") ;for glib-compile-resources + guile-3.0)) + (propagated-inputs (list)) + (synopsis "Example Adwaita 1 apps written in Guile with G-Golf") + (description + "G-Golf port of (a subset of) the upstream @code{adwaita-1-demo} examples +in the @code{libadwaita} Guix package. They also show how to wrap G-Golf +applications in a Guix package."))) + (define-public g-wrap (package (name "g-wrap") -- 2.48.1 From debbugs-submit-bounces@debbugs.gnu.org Sun Feb 16 19:05:46 2025 Received: (at 76246) by debbugs.gnu.org; 17 Feb 2025 00:05:46 +0000 Received: from localhost ([127.0.0.1]:39268 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tjodu-0000yC-I4 for submit@debbugs.gnu.org; Sun, 16 Feb 2025 19:05:46 -0500 Received: from relay.yourmailgateway.de ([188.68.61.103]:47639) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tjodr-0000xn-S2 for 76246@debbugs.gnu.org; Sun, 16 Feb 2025 19:05:44 -0500 Received: from mors-relay-8403.netcup.net (localhost [127.0.0.1]) by mors-relay-8403.netcup.net (Postfix) with ESMTPS id 4Yx2x23fgBz84lT for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 01:05:42 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=pelzflorian.de; s=key2; t=1739750742; bh=SqWG7UbrfYQsa1ptH5GVVGJ4IE9vardalOtgtzLtUzg=; h=From:To:Subject:In-Reply-To:References:Date:From; b=SmlidQUFMlMtJmVU/Ft9t5x4UQHf5PMT/OyF1brR10+C1zu9498v/tOEO5a6Vm8qn nBJL3D14cw+GBsJwJ0MJAdKV9lfry9vKB33nQmWcvMbDQRrXt9NDIbwse+1/N/ucoO 6z9QDJDhZsF7vxrzUh+XjyJgtOxAXILv4QzhcD7rtcfOpw1mBUgNHESBSKoK6dt/GZ Rf4tWUpB/XNXGr9cBO2C3tkdiCKdCptWHUdUlwoQSFSFnp0dHDBHMdGYECgz9QsEHa 1wp1U7iKkcEBwVkWWAh+d8JX4V9weZfjtdwdbCfXasJU0KYnDPr06y2CNDeQzobApS PG1Qyo3aMkxgQ== Received: from policy02-mors.netcup.net (unknown [46.38.225.35]) by mors-relay-8403.netcup.net (Postfix) with ESMTPS id 4Yx2x23Hcbz84lN for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 01:05:42 +0100 (CET) Received: from mxe217.netcup.net (unknown [10.243.12.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by policy02-mors.netcup.net (Postfix) with ESMTPS id 4Yx2x21rKjz8sWg for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 01:05:41 +0100 (CET) Received: from florianhp (ipb21a5dbf.dynamic.kabel-deutschland.de [178.26.93.191]) by mxe217.netcup.net (Postfix) with ESMTPSA id 3729884613 for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 01:05:41 +0100 (CET) From: "pelzflorian (Florian Pelz)" To: 76246@debbugs.gnu.org Subject: Re: [PATCH v2 0/5] Add G-Golf's GTK-4 examples. In-Reply-To: (Florian Pelz's message of "Mon, 17 Feb 2025 00:50:12 +0100") References: Date: Mon, 17 Feb 2025 01:05:54 +0100 Message-ID: <87h64te8pp.fsf@pelzflorian.de> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Rspamd-Queue-Id: 3729884613 X-Rspamd-Server: rspamd-worker-8404 X-NC-CID: NrX4jPKYWy1qrcu8HNNFhXEhuoBxXRD229ClsUSQn2g2hkNNGivXHI/g X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76246 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Sorry I forgot to write revision v2 in [PATCH v2 x/5] subject lines... Argh! From debbugs-submit-bounces@debbugs.gnu.org Sun Feb 16 20:37:24 2025 Received: (at 76246) by debbugs.gnu.org; 17 Feb 2025 01:37:24 +0000 Received: from localhost ([127.0.0.1]:39846 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tjq4Z-00009r-Jq for submit@debbugs.gnu.org; Sun, 16 Feb 2025 20:37:24 -0500 Received: from mail-pl1-x636.google.com ([2607:f8b0:4864:20::636]:58842) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1tjq4V-000099-Of for 76246@debbugs.gnu.org; Sun, 16 Feb 2025 20:37:21 -0500 Received: by mail-pl1-x636.google.com with SMTP id d9443c01a7336-2210d92292eso31939135ad.1 for <76246@debbugs.gnu.org>; Sun, 16 Feb 2025 17:37:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739756233; x=1740361033; darn=debbugs.gnu.org; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=PGvCuwaRJAEYCYAdBAOTaUyLDfZq5Mj9UAt4RRi7fvU=; b=atbEvYiXmMF7YCPMTTCXHxBZY61h2X+K3C+koG54nFG91q71S7Z6fSG6ujVwiWcCF4 NTqZdk/zISWkF0qIOZOzTkWCNIPGDJFsKBoalqbqJAC6PVRticS9URUbwSoea+mf81Kx 7Cp4KlOdXO5Q9zMTA196wvFptkoIkGIETK++ahbwtb+89fYS2tcRFDjYWLgtv3s73emU XtgY1Q0gopprFCvEgoqEcxSE5eYSK6450GKyfcDZCnio77f3G8FHZe7XaEmlSUFgzELY Kvvw34+5TMZsKaPfAyMpl2WmzSkCZapx2g4nzNdSZTHbIsShjIAn5J1oCgPbxwKBNXJI q3CQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739756233; x=1740361033; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=PGvCuwaRJAEYCYAdBAOTaUyLDfZq5Mj9UAt4RRi7fvU=; b=STCUbvUsw8wtoVhPb82hnjE1TZgOVMwm1djwT8NGXgVIjSAaBVQg0BLyPlYWhJOuIZ SxYCP3TC1d015MkPklqbE65RtPM9nSJNxxmwlxdvWFfMsVReDbvyV6eQ/qpYQ+Qwp8vF S12Smc77Fk3D08mLPkc0z6j6JSESeioMo+1BGDz8973qxFByKQ1sHl82c8pQrP1tIwBZ hL18kRjO9XsF+pwwqjECDeWnZ0xOo+f4LkhglY2kLzvd9ROYVAGfAY3ZpFhTXbJj4h+X Uz2xFB0fiM1fWx0/8wX8zADGgzn39B1ETjuMMXDRvIehredHIwepbJuu/hXjLVyFvtJM EzqA== X-Gm-Message-State: AOJu0YzhiCvkGqOw7CJKmMtEw3H3hkehy1CE5ckErUm605N1yabd4BC9 sp/dtQzZm6463wGgpvvXA2cVIB8ULNs4XSII0BzUTPxGM0/r9RN5M+7xIW5I X-Gm-Gg: ASbGncuyfhqKmYalxF6hcS3oBWBgc3+Td/rm5bHNZ40rs/HaXidhsVr/+sl1aAAPKXb rn0f6D+8HJQiDEg5m9zD4I6lQnXliKpExshEQsPxbIiY0NoroxM1a4eZS/CdVTlAYLO2V/2E1EM hEJCpUN6zsggZeoAG3+2B4GtirvNg0kwqCaBTotvjXa3ep/hg8PRniDjPmgBFHqmWsulfqpBrUL OM2GrfcmtVYDsd1FPquqLQy70kIt0zGxIBJAIl8EdmaJ8tjwIsS0wevXH3p3WCzfDkhPEIVUPpV InvTv+sdVcMV X-Google-Smtp-Source: AGHT+IHdKwqErunwv8WBSAF0BS3F3TEn+g3sGBJQ6m+RWjH0p7jQqxVhPEDWB0Z3uq69jTfI/BzguA== X-Received: by 2002:a17:903:41c3:b0:216:73f0:ef63 with SMTP id d9443c01a7336-221040d6c56mr123982685ad.49.1739756233309; Sun, 16 Feb 2025 17:37:13 -0800 (PST) Received: from terra ([2405:6586:be0:0:c8ff:1707:9b9:af89]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-2fbf98b3305sm8758405a91.6.2025.02.16.17.37.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 16 Feb 2025 17:37:12 -0800 (PST) From: Maxim Cournoyer To: Florian Pelz Subject: Re: [bug#76246] [PATCH 2/5] gnu: Add guile-cairo-next. In-Reply-To: <565889c10a90c95361aa0b4a58751b710bda207b.1739749706.git.pelzflorian@pelzflorian.de> (Florian Pelz's message of "Mon, 17 Feb 2025 00:52:49 +0100") References: <565889c10a90c95361aa0b4a58751b710bda207b.1739749706.git.pelzflorian@pelzflorian.de> Date: Mon, 17 Feb 2025 10:37:00 +0900 Message-ID: <87tt8t1hdv.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76246 Cc: Vivien Kraus , Liliana Marie Prikler , 76246@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi, Florian Pelz writes: > * gnu/packages/gtk.scm (guile-cairo-next): New variable. [...] > +(define-public guile-cairo-next > + ;; A commit with cairo-pointer->context, missing from guile-cairo@1.11.2 > + ;; and needed by animated-paintable from g-golf-gtk-4-examples. > + (let ((commit "30da459d7a4380174ff243b1560d5512a4bca86e") > + (revision "0")) > + (package > + (inherit guile-cairo) > + (name "guile-cairo-next") > + (version (git-version "1.11.2" revision commit)) > + (source (origin > + (method git-fetch) > + (uri (git-reference > + (url "git://git.savannah.nongnu.org/guile-cairo.git") Prefer https:// to git://, for privacy and the extra authenticity check. > + (commit commit))) > + (file-name (git-file-name name version)) > + (sha256 > + (base32 > + "0dslfldzgxis8g0g3xaffcqnd1njzz23fjy0v3lc0r2694ra4ny4")))) > + ;; To allow running the check phase before install, use a libtool path > + ;; similar to David Pirotte's suggested patch > + ;; . This comment should be nested inside the set-libtool-path phase, which is the one it relates to. > + (arguments > + (substitute-keyword-arguments (package-arguments guile-cairo) > + ((#:phases phases) > + `(modify-phases ,phases > + (add-after 'build 'fix-dynamic-link-path > + (lambda _ > + ;; Make libguile-cairo foreign extension usable in tests. > + (substitute* "cairo/config.scm" > + (("\\(define \\*cairo-lib-path\\* .*") > + "\(define *cairo-lib-path* \"libguile-cairo\")\n")))) > + (add-before 'check 'set-libtool-path > + (lambda _ > + (setenv "LTDL_LIBRARY_PATH" "../../guile-cairo/.libs"))))))) > + (inputs > + (list gettext-minimal guile-3.0 guile-lib)) > + (native-inputs > + (list autoconf automake libtool pkg-config texinfo))))) Otherwise, it LGTM. Could you please send a new revision? -- Thanks, Maxim From debbugs-submit-bounces@debbugs.gnu.org Mon Feb 17 04:58:01 2025 Received: (at 76246) by debbugs.gnu.org; 17 Feb 2025 09:58:01 +0000 Received: from localhost ([127.0.0.1]:43101 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tjxt3-0006AH-CA for submit@debbugs.gnu.org; Mon, 17 Feb 2025 04:58:01 -0500 Received: from relay.yourmailgateway.de ([188.68.61.107]:48921) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tjxt0-00069t-Il for 76246@debbugs.gnu.org; Mon, 17 Feb 2025 04:58:00 -0500 Received: from mors-relay-8405.netcup.net (localhost [127.0.0.1]) by mors-relay-8405.netcup.net (Postfix) with ESMTPS id 4YxJ4N3GMlz6y6F for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 10:57:56 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=pelzflorian.de; s=key2; t=1739786276; bh=qYRWkYoObZkLtV/Z0/KFHlV7SAfyo5J1Hw3sEfzJ8SY=; h=From:To:Cc:Subject:Date:From; b=D1dDc3+rG6FKhRrlieBoNNp7nil5d3rUEvVkIsxwocFejV6xlDHJi7oz53GLISlxW O2vsWvjReC1jdfEUknRkJMwlekHfBqTrgRQnM3oi+f/N8epCksGAXe7dhNRgPj29Fe 0aJUl5AxREzxEhOSJNMHvbR2dpqWB574vPW/m276pYdVdE5vkzdo1vxRICiDMg5qpL DU4mnGytg6H7I4p+CEmiM2sgWRRXJoVnWfrkmeqnLIq7BxVEN1G8s/4K3AlQG8sTCH S/YyrGBG7UG/5hPqHj0oU20Q4L3+ZzQXehBSo6K//vzXb3h9+Yj4RBze2m7AIUKoEy Zn7gxLAfDZjgQ== Received: from policy02-mors.netcup.net (unknown [46.38.225.35]) by mors-relay-8405.netcup.net (Postfix) with ESMTPS id 4YxJ4N2Zdfz6y45 for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 10:57:56 +0100 (CET) Received: from mxe217.netcup.net (unknown [10.243.12.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by policy02-mors.netcup.net (Postfix) with ESMTPS id 4YxJ4N15Vtz8svF for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 10:57:56 +0100 (CET) Received: from florianhp.fritz.box (ipb21a5dbf.dynamic.kabel-deutschland.de [178.26.93.191]) by mxe217.netcup.net (Postfix) with ESMTPSA id 9A09384613; Mon, 17 Feb 2025 10:57:50 +0100 (CET) From: Florian Pelz To: 76246@debbugs.gnu.org Subject: =?UTF-8?q?=5BPATCH=20v3=200/5=5D=20Add=20G-Golf=E2=80=99s=20GTK-4=20examples=2E?= Date: Mon, 17 Feb 2025 10:57:25 +0100 Message-ID: X-Mailer: git-send-email 2.48.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 9A09384613 X-Rspamd-Server: rspamd-worker-8404 X-NC-CID: 7hI0RWnruoWjfMu/ufyYWqP+i1VxTK3ylw/tu0fsuut+B1lD9zRKZSDE X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76246 Cc: Florian Pelz X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) In v3, changes are only in [PATCH v3 2/5] gnu: Add guile-cairo-next. to use an https URL for privacy and improve comments, in response to Maxim. Florian Pelz (5): gnu: guile-cairo: Remove expat from inputs. gnu: Add guile-cairo-next. gnu: guile-g-golf: Document --no-grafts requirement. gnu: Add G-Golf's GTK-4 examples. gnu: Add G-Golf's Adw-1 examples. gnu/packages/gtk.scm | 44 +++++- gnu/packages/guile-xyz.scm | 314 ++++++++++++++++++++++++++++++++++++- 2 files changed, 355 insertions(+), 3 deletions(-) base-commit: 5e3e1b782b87d5bfe903f978490955cc20a70e5a -- 2.48.1 From debbugs-submit-bounces@debbugs.gnu.org Mon Feb 17 04:58:38 2025 Received: (at 76246) by debbugs.gnu.org; 17 Feb 2025 09:58:38 +0000 Received: from localhost ([127.0.0.1]:43109 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tjxtd-0006D5-S3 for submit@debbugs.gnu.org; Mon, 17 Feb 2025 04:58:38 -0500 Received: from relay.yourmailgateway.de ([188.68.63.98]:48807) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tjxtb-0006Ce-4j for 76246@debbugs.gnu.org; Mon, 17 Feb 2025 04:58:35 -0500 Received: from mors-relay-2501.netcup.net (localhost [127.0.0.1]) by mors-relay-2501.netcup.net (Postfix) with ESMTPS id 4YxJ5572Qvz61WD for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 10:58:33 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=pelzflorian.de; s=key2; t=1739786314; bh=NM6gNKW1nZQTIWi2L6nZIis/oVyG20kyRFPkbreAi9A=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Xtytz2orXeQ+Z81L22WkIn8MjJGaaGMKL1KwV6miFeJU3xfU85mrJIe/c87R3MSjq Ue4umqnwv0ZA1p+oHia5bDycY1jstjzF2yhXRWVFeJL8211To62at79nkFrLFKwgHU yMK7WJXBWILHVcG51/GERcaKmF4l8zV67NNYDGZhSyZ2m1VICCFwkTwJmVwTbv1aPZ yCStAIRcxiOt8fvLNmMkSFOgdMJlqzAWcX2kUe/g8gcDb9nujVxBtm2njYYaazvFt3 +EljzEg65eYByTKwfqrkPaXRwwu7rJkw/ti5Or4Rbf9/1NhMED1jtJSk9HmZf/J/pd sXQvS8eQee3Xw== Received: from policy02-mors.netcup.net (unknown [46.38.225.35]) by mors-relay-2501.netcup.net (Postfix) with ESMTPS id 4YxJ556K6Hz4xGx for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 10:58:33 +0100 (CET) Received: from mxe217.netcup.net (unknown [10.243.12.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by policy02-mors.netcup.net (Postfix) with ESMTPS id 4YxJ554ZXxz8sWg for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 10:58:33 +0100 (CET) Received: from florianhp.fritz.box (ipb21a5dbf.dynamic.kabel-deutschland.de [178.26.93.191]) by mxe217.netcup.net (Postfix) with ESMTPSA id 3C8638323F; Mon, 17 Feb 2025 10:58:28 +0100 (CET) From: Florian Pelz To: 76246@debbugs.gnu.org Subject: [PATCH v3 1/5] gnu: guile-cairo: Remove expat from inputs. Date: Mon, 17 Feb 2025 10:58:17 +0100 Message-ID: X-Mailer: git-send-email 2.48.1 In-Reply-To: References: MIME-Version: 1.0 X-Debbugs-Cc: Liliana Marie Prikler , Maxim Cournoyer , Vivien Kraus Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 3C8638323F X-Rspamd-Server: rspamd-worker-8404 X-NC-CID: SIRKAZ4XGj48uMFWs7idJ/L1XCa1h3YsBVJdrCYOEdBfUG6DiKfrzwAu X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76246 Cc: Florian Pelz X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) expat is not needed by guile-cairo nor guile2.2-cairo. * gnu/packages/gtk.scm (guile-cairo)[inputs]: Remove expat. Change-Id: Ie8f2c35c52725326cc8f103c45125e4378d29793 --- 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 011a1db687..8e893d66c3 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -1454,7 +1454,7 @@ (define-public guile-cairo (find-files module-dir "\\.scm$")) #t)))))) (inputs - (list guile-lib expat guile-3.0)) + (list guile-lib guile-3.0)) (propagated-inputs ;; The .pc file refers to 'cairo'. (list cairo)) -- 2.48.1 From debbugs-submit-bounces@debbugs.gnu.org Mon Feb 17 04:59:20 2025 Received: (at 76246) by debbugs.gnu.org; 17 Feb 2025 09:59:20 +0000 Received: from localhost ([127.0.0.1]:43122 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tjxuJ-0006GS-AB for submit@debbugs.gnu.org; Mon, 17 Feb 2025 04:59:19 -0500 Received: from relay.yourmailgateway.de ([188.68.63.102]:43151) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tjxuG-0006GC-NQ for 76246@debbugs.gnu.org; Mon, 17 Feb 2025 04:59:17 -0500 Received: from mors-relay-2502.netcup.net (localhost [127.0.0.1]) by mors-relay-2502.netcup.net (Postfix) with ESMTPS id 4YxJ5v4R3sz62cR for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 10:59:15 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=pelzflorian.de; s=key2; t=1739786355; bh=Th32ziWuOasnnfkGJfgTl+kewDFXoD/Q6eoWfaXKzmU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=abcpSvaZ9HXKbQJvqmbHLUHnDfCA5bk6D2W/GeXzDCqf10Is0QmmweyxhO62jJOsB hnReUwjcMW6+TpU10FFsHFaY2Fm1F25oLEruyfs7HofDtwdNqp9HgZUB6/1F0LrX/s Zo2WZtawAdoUlRxZhsyvau3egPCDcWjC3Fxff/JZGleSBDRC46TFaKTS4Gvwq6KRh1 6M0dMS3HhEGZ5X/txx0xkl+Bx1HsnBXOHt+kDG35Nc9uPJXV4bvhBmftWzfBjhQcme Aeio2jcahcT8LAlNNZOCDfdhorgU8ZsQSX06JrhLC36JnLWWeUtZJZVW1ddArwSwEC wzYYefj9/cS6g== Received: from policy02-mors.netcup.net (unknown [46.38.225.35]) by mors-relay-2502.netcup.net (Postfix) with ESMTPS id 4YxJ5v3krrz4xMP for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 10:59:15 +0100 (CET) Received: from mxe217.netcup.net (unknown [10.243.12.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by policy02-mors.netcup.net (Postfix) with ESMTPS id 4YxJ5v1ydlz8sch for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 10:59:15 +0100 (CET) Received: from florianhp.fritz.box (ipb21a5dbf.dynamic.kabel-deutschland.de [178.26.93.191]) by mxe217.netcup.net (Postfix) with ESMTPSA id E73F3845BC; Mon, 17 Feb 2025 10:59:09 +0100 (CET) From: Florian Pelz To: 76246@debbugs.gnu.org Subject: [PATCH v3 2/5] gnu: Add guile-cairo-next. Date: Mon, 17 Feb 2025 10:58:54 +0100 Message-ID: X-Mailer: git-send-email 2.48.1 In-Reply-To: References: MIME-Version: 1.0 X-Debbugs-Cc: Liliana Marie Prikler , Maxim Cournoyer , Vivien Kraus Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: E73F3845BC X-Rspamd-Server: rspamd-worker-8404 X-NC-CID: iLbS2ARQsay77fyWg5Hp3XHt7evnxwqwp8O/Neb2DCBi4cCMBlwLdnTa X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76246 Cc: Florian Pelz X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/gtk.scm (guile-cairo-next): New variable. Change-Id: I328afe58d46e60243e075edead12afc0d1c4a98a --- gnu/packages/gtk.scm | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 8e893d66c3..ba515b84ec 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -37,6 +37,7 @@ ;;; Copyright © 2023, 2024 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2023 Janneke Nieuwenhuizen ;;; Copyright © 2024 John Kehayias +;;; Copyright © 2025 Florian Pelz ;;; ;;; This file is part of GNU Guix. ;;; @@ -1481,6 +1482,47 @@ (define-public guile2.2-cairo ,@(fold alist-delete (package-inputs guile-cairo) '("guile" "guile-lib")))))) +(define-public guile-cairo-next + ;; A commit with cairo-pointer->context, missing from guile-cairo@1.11.2 + ;; and needed by animated-paintable from g-golf-gtk-4-examples. + (let ((commit "30da459d7a4380174ff243b1560d5512a4bca86e") + (revision "0")) + (package + (inherit guile-cairo) + (name "guile-cairo-next") + (version (git-version "1.11.2" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.savannah.gnu.org/git/guile-cairo.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0dslfldzgxis8g0g3xaffcqnd1njzz23fjy0v3lc0r2694ra4ny4")))) + (arguments + (substitute-keyword-arguments (package-arguments guile-cairo) + ((#:phases phases) + `(modify-phases ,phases + ;; To allow running the check phase before install, add two phases + ;; similar to David Pirotte's suggested patch: + ;; . + (add-after 'build 'fix-dynamic-link-path + (lambda _ + ;; Dynamic-link libguile-cairo foreign extension by name, not + ;; path. + (substitute* "cairo/config.scm" + (("\\(define \\*cairo-lib-path\\* .*") + "\(define *cairo-lib-path* \"libguile-cairo\")\n")))) + (add-before 'check 'set-libtool-path + (lambda _ + ;; Use appropriate pre-install libtool path in tests. + (setenv "LTDL_LIBRARY_PATH" "../../guile-cairo/.libs"))))))) + (inputs + (list gettext-minimal guile-3.0 guile-lib)) + (native-inputs + (list autoconf automake libtool pkg-config texinfo))))) + (define-public guile-rsvg ;; Use a recent snapshot that supports Guile 2.2 and beyond. (let ((commit "05c6a2fd67e4fea1a7c3ff776729dc931bae6678") -- 2.48.1 From debbugs-submit-bounces@debbugs.gnu.org Mon Feb 17 05:01:59 2025 Received: (at 76246) by debbugs.gnu.org; 17 Feb 2025 10:02:00 +0000 Received: from localhost ([127.0.0.1]:43162 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tjxwt-0006Zb-Cn for submit@debbugs.gnu.org; Mon, 17 Feb 2025 05:01:59 -0500 Received: from relay.yourmailgateway.de ([185.244.194.184]:37481) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tjxwq-0006ZH-UD for 76246@debbugs.gnu.org; Mon, 17 Feb 2025 05:01:57 -0500 Received: from relay01-mors.netcup.net (localhost [127.0.0.1]) by relay01-mors.netcup.net (Postfix) with ESMTPS id 4YxJ8z20ZFz910Q for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 11:01:55 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=pelzflorian.de; s=key2; t=1739786515; bh=NUmG3z9SQQzNHgvK0ZXBVqYDC6CH/RZx1zKuirZJHQk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=M+N5lg1ENMtQ1gcwyoyp6SnCK9tlsi6s5ysR1GZQQol6WheOE25q71ZzordGRd7V3 GpSOxMznrmi3Brwz90QdZjheQHFJaEMsx7q19FCt8dnQ4qwg5cLWkUeWzwrSRkJSvQ dv+udycG6M/4EI3n7ABqqObt1nNr6jmZoX6f7I11Pg4AVtR0jk26dBiJza8RoJoQZn tVFjIS2iQ7E4Ae57TS3CDxY8lFljig8hH4ixui63ksFvP3qFaVqp5ocAenvWxknCxp I3SQiSIjJ3xrohJyN1M0RkPz01VWH58cIeU0M4BKm+aZOHKSii5dWSzOsQ+wcfWMRr Es6Ft9qrHkccA== Received: from policy02-mors.netcup.net (unknown [46.38.225.35]) by relay01-mors.netcup.net (Postfix) with ESMTPS id 4YxJ8z1KfRz7wCq for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 11:01:55 +0100 (CET) Received: from mxe217.netcup.net (unknown [10.243.12.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by policy02-mors.netcup.net (Postfix) with ESMTPS id 4YxJ8y6yynz8sWg for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 11:01:54 +0100 (CET) Received: from florianhp.fritz.box (ipb21a5dbf.dynamic.kabel-deutschland.de [178.26.93.191]) by mxe217.netcup.net (Postfix) with ESMTPSA id 5C33184613; Mon, 17 Feb 2025 11:01:49 +0100 (CET) From: Florian Pelz To: 76246@debbugs.gnu.org Subject: [PATCH v3 3/5] gnu: guile-g-golf: Document --no-grafts requirement. Date: Mon, 17 Feb 2025 11:01:42 +0100 Message-ID: X-Mailer: git-send-email 2.48.1 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 5C33184613 X-Rspamd-Server: rspamd-worker-8404 X-NC-CID: P3KIboH9WcKCw88VYk4dbd0F3JaSOmGRyyEW7m2dZ8D3KgH9ceZmcUOm X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76246 Cc: Florian Pelz X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Note that packages are unaffected. * gnu/packages/guile-xyz.scm: Tell about grafts bug. Change-Id: Ic0b2c63daa07c693171965d90410aef5a2e41d49 --- gnu/packages/guile-xyz.scm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 921d8b46d6..9877e01748 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -2603,7 +2603,12 @@ (define-public guile-g-golf modern applications in Guile Scheme. It comprises a direct binding to the GObject Introspection API and higher-level functionality for importing Gnome libraries and making GObject classes (and methods) available in Guile's -object-oriented programming system, GOOPS.") +object-oriented programming system, GOOPS. + +Note: Currently, when developing with G-Golf in @code{guix shell}, there is a +@uref{https://bugs.gnu.org/75157, grafts bug in Guix}. To avoid it, use Guix' +@code{--no-grafts} option. Guix packages that use @code{wrap-program} are +unaffected.") (license license:lgpl3+))) (define-public g-golf -- 2.48.1 From debbugs-submit-bounces@debbugs.gnu.org Mon Feb 17 05:02:52 2025 Received: (at 76246) by debbugs.gnu.org; 17 Feb 2025 10:02:52 +0000 Received: from localhost ([127.0.0.1]:43179 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tjxxe-0006dQ-48 for submit@debbugs.gnu.org; Mon, 17 Feb 2025 05:02:52 -0500 Received: from relay.yourmailgateway.de ([188.68.61.107]:48673) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tjxxZ-0006cq-U6 for 76246@debbugs.gnu.org; Mon, 17 Feb 2025 05:02:43 -0500 Received: from mors-relay-8405.netcup.net (localhost [127.0.0.1]) by mors-relay-8405.netcup.net (Postfix) with ESMTPS id 4YxJ9r6mVsz6yGM for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 11:02:40 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=pelzflorian.de; s=key2; t=1739786560; bh=GA7Nq6qGV0NMsaIpEOGEHBGqvkhQtbvxW44lvSJLsVs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=bKWrqlIpQeBxI7++odZs9UCM2qCHOR7aSMLqwiAFmwXoIYdDReZAVhg60Guqy6LR8 Qe/jQwnArrraoJThc/Xjg0qtSzaPpgWgDsmLKGUEfmseLtyNKZbiXAY+5+KutNwq/x 5myMW406fLp0erxYPi1ZE5xH4eUMUMuOAh0LFEhkqtUbrW7qryT3Z8n/Z4QlIF2UkM wDDDo2HtVEhJcJrETsKNLaWIZKZFBULVcLqcDAjn25pGlLVN4I/VfqunldEiXZKV2U LcCQ4ukVqt6L0ZDBTZVNAIrNXKyfbhOr49G1qJoERM2kWPyu3TumnW3sImx1FdJrak NSFnbZ9E4Yelw== Received: from policy02-mors.netcup.net (unknown [46.38.225.35]) by mors-relay-8405.netcup.net (Postfix) with ESMTPS id 4YxJ9r64XMz6yFP for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 11:02:40 +0100 (CET) Received: from mxe217.netcup.net (unknown [10.243.12.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by policy02-mors.netcup.net (Postfix) with ESMTPS id 4YxJ9r4fp3z8sch for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 11:02:40 +0100 (CET) Received: from florianhp.fritz.box (ipb21a5dbf.dynamic.kabel-deutschland.de [178.26.93.191]) by mxe217.netcup.net (Postfix) with ESMTPSA id 264818323F; Mon, 17 Feb 2025 11:02:35 +0100 (CET) From: Florian Pelz To: 76246@debbugs.gnu.org Subject: [PATCH v3 4/5] gnu: Add G-Golf's GTK-4 examples. Date: Mon, 17 Feb 2025 11:02:24 +0100 Message-ID: X-Mailer: git-send-email 2.48.1 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 264818323F X-Rspamd-Server: rspamd-worker-8404 X-NC-CID: MyiYr76eukR+tDYFtKRjNkNLgUMG9X3t8Isd7YaVBfrF2kCrOKaVv4Y8 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76246 Cc: Florian Pelz X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/guile-xyz.scm (g-golf-gtk-4-examples): New variable. Change-Id: I19b182eb71095ca2deacdb4011c8f50dfcfc8476 --- gnu/packages/guile-xyz.scm | 182 ++++++++++++++++++++++++++++++++++++- 1 file changed, 181 insertions(+), 1 deletion(-) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 9877e01748..7ca6a1bd75 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -1,4 +1,4 @@ -;;; GNU Guix --- Functional package management for GNU +;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012-2024 Ludovic Courtès ;;; Copyright © 2014, 2015, 2018 Mark H Weaver ;;; Copyright © 2015, 2017, 2022 Christine Lemmer-Webber @@ -53,6 +53,7 @@ ;;; Copyright © 2024 Alec Barreto ;;; Copyright © 2024 Josep Bigorra ;;; Copyright © 2024 Ashish SHUKLA +;;; Copyright © 2025 Florian Pelz ;;; ;;; This file is part of GNU Guix. ;;; @@ -2623,6 +2624,185 @@ (define-public guile2.2-g-golf (replace "guile" guile-2.2) (replace "guile-lib" guile2.2-lib))))) +(define-public g-golf-gtk-4-examples + (package + (inherit guile-g-golf) + (name "g-golf-gtk-4-examples") + (arguments + (list + #:modules `(((guix build guile-build-system) + #:select + (target-guile-effective-version)) + (srfi srfi-26) + ,@%default-gnu-modules) + #:phases + (with-imported-modules `((guix build guile-build-system) + ,@%default-gnu-imported-modules) + #~(modify-phases %standard-phases + (add-after 'unpack 'prepare-examples + (lambda _ + (chdir "examples/gtk-4") + ;; Re-use the existing Makefile for its wildcard syntax. + (rename-file "Makefile.am" "Makefile") + ;; Add a rule to install the examples. This also + ;; installs UI, CSS and Scheme files to /bin, but + ;; better keep how G-Golf packages them. + (let ((port (open-file "Makefile" "al"))) + (format port " +prefix = ~a +bindir = $(prefix)/bin +.PHONY: install +install: + mkdir -p $(bindir)/css + mkdir -p $(bindir)/demos + mkdir -p $(bindir)/images + mkdir -p $(bindir)/ui + for f in $(EXTRA_DIST); do \\ + cp $$f $(bindir)/$$f; \\ + done + install demos/libfpt.so $(bindir)/demos +" #$output) + (close-port port)))) + (delete 'configure) + (replace 'build + (lambda _ + ;; The layout-manager-2 example calls `make', GCC at run-time. + ;; But since it would compile to the read-only /gnu/store, we + ;; deviate by compiling in advance in the build phase, + ;; ignoring failing `make' calls. We do not propagate `make'. + (with-directory-excursion "demos" + (when #$(%current-target-system) + (substitute* "Makefile" + (("^CC = gcc$") + (string-append "CC = " #$(cc-for-target) "\n")))) + (system* "make")))) + ;; There are no tests for examples, but we do an installcheck phase, + ;; which respects when #:tests? is turned off. So delete 'check. + (delete 'check) + (add-before 'install 'patch-scm-files + (lambda* (#:key inputs #:allow-other-keys) + ;; `current-filename' calls in examples are broken. + (map (lambda (binary) + (let ((installed-binary (string-append + #$output "/bin/" binary))) + (substitute* binary + (("\\(current-filename\\)") + (string-append "\"" installed-binary "\"")) + (("\\(getcwd\\)") + (string-append "\"" #$output "/bin\"")) + (("^exec guile ") + (string-append + "exec " (search-input-file inputs "/bin/guile") + " "))))) + (map (cut string-drop <> 2) ;strip ./ prefix + (find-files "." (lambda (file stat) + ;executables or .scm modules + (or (= (stat:perms stat) #o755) + (string-suffix? ".scm" + file)))))))) + (add-after 'install 'wrap-binaries + (lambda* (#:key inputs #:allow-other-keys) + (let* ((version (target-guile-effective-version)) + (g-golf (assoc-ref inputs "guile-g-golf")) + (gcairo (assoc-ref inputs "guile-cairo-next")) + (adwaita-icons (assoc-ref inputs "adwaita-icon-theme")) + (scm (string-append "/share/guile/site/" version)) + (go (string-append "/lib/guile/" + version "/site-ccache")) + (binaries + (find-files "." (lambda (file stat) ;executables + (= (stat:perms stat) #o755))))) + (map (lambda (binary) + (let ((installed-binary (string-append + #$output "/bin/" binary))) + (wrap-program installed-binary + `("GUILE_LOAD_PATH" prefix + (,(string-append g-golf scm) + ,(string-append gcairo scm))) + `("GUILE_LOAD_COMPILED_PATH" prefix + (,(string-append g-golf go) + ,(string-append gcairo go))) + `("GI_TYPELIB_PATH" prefix + (,(getenv "GI_TYPELIB_PATH"))) + ;; Library path for libraries loaded by binaries. + `("LD_LIBRARY_PATH" prefix + (,(string-append gcairo "/lib"))) + `("XDG_DATA_DIRS" suffix + (,(string-append adwaita-icons "/share")))))) + binaries)))) + ;; Add installcheck to ensure nothing breaks. + (add-after 'strip 'installcheck + (lambda* (#:key inputs tests? #:allow-other-keys) + (cond + ((not tests?) + (display "test suite not run\n")) + (#$(%current-target-system) + (display "cross-compiling; reftest skipped\n")) + (else + ;; Start an X server. + (system "Xvfb :1 &") + (setenv "DISPLAY" ":1") + (let* ((g-golf-drawing (string-append + #$output "/bin/drawing-widget")) + (pid (spawn g-golf-drawing `(,g-golf-drawing) + #:search-path? #f))) + (sleep 10) ;2s is enough on my machine + (display "Taking a screenshot with G-Golf.\n") + (system* "import" "-window" "root" + "drawing-widget.out.png") + (sleep 5) ;1s is enough on my machine + (kill pid SIGINT) + (waitpid pid)) + (let* ((python (search-input-file inputs "/bin/python3")) + (pygobject-drawing #$(this-package-native-input + "drawing-widget.py")) + (pid (spawn python `(,python ,pygobject-drawing) + #:search-path? #f))) + (sleep 5) ;1s is enough on my machine + (display "Taking a screenshot with Pygobject.\n") + (system* "import" "-window" "root" + "drawing-widget.ref.png") + (sleep 5) + (kill pid SIGINT) + (waitpid pid)) + (if (= (pk (system* "compare" "-metric" "AE" "-fuzz" "1%" + "drawing-widget.out.png" + "drawing-widget.ref.png" + "drawing-widget.dif.png")) 0) + (display "All good; they look the same.\n") + (error "Reftest failed; screenshots differ.")))))))))) + (inputs + (list adwaita-icon-theme + bash-minimal + gtk + guile-3.0 + guile-cairo-next + guile-g-golf)) + (native-inputs + (list pkg-config + which + ;; For installcheck: + imagemagick + python-minimal + python-pygobject + xorg-server-for-tests + ;; Python version of drawing-widget from + ;; https://lists.gnu.org/archive/html/guile-user/2024-05/msg00032.html + (origin + (method url-fetch) + (uri "\ +https://lists.gnu.org/archive/html/guile-user/2024-05/txtT_80XuINsX.txt") + (sha256 + (base32 + "07j2v159a3bb99i8kwbqrcgslcmhhnqa5ah53q2b9bdk8042grsx")) + (file-name "drawing-widget.py")))) + (propagated-inputs (list)) + (synopsis "Example GTK 4 apps written in Guile with G-Golf") + (description + "G-Golf port of (a subset of) the upstream @code{gtk4-demo} examples in +the @code{gtk:bin} Guix package output. They also show how to wrap G-Golf +applications in a Guix package."))) + (define-public g-wrap (package (name "g-wrap") -- 2.48.1 From debbugs-submit-bounces@debbugs.gnu.org Mon Feb 17 05:03:16 2025 Received: (at 76246) by debbugs.gnu.org; 17 Feb 2025 10:03:16 +0000 Received: from localhost ([127.0.0.1]:43190 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tjxy7-0006fq-Rk for submit@debbugs.gnu.org; Mon, 17 Feb 2025 05:03:16 -0500 Received: from relay.yourmailgateway.de ([188.68.63.102]:37443) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tjxy5-0006fb-N3 for 76246@debbugs.gnu.org; Mon, 17 Feb 2025 05:03:14 -0500 Received: from mors-relay-2502.netcup.net (localhost [127.0.0.1]) by mors-relay-2502.netcup.net (Postfix) with ESMTPS id 4YxJBS5l5nz62nJ for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 11:03:12 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=pelzflorian.de; s=key2; t=1739786592; bh=/KjU1r08ItcT/Zg+ybm42XlcoGy5ZckHGIHRlanLee0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=PGKy5O1icW7e9njQIFI61qqLFzC6i3PBhr7BgzWSxaPyuRbzS/Vmd1U6pri6iZLfe wSsmFB5Lfa8TPiQDlkYfi40QhgKMyfvBYJOi/yinNqJThGHgbjlTaemPqECxLL+X8z lUc2Ck+JGAH0ZErpt7KotBLixHZDfT4ggj/yCr2nqUwVdinFXDHhOGk6RPXj4AgcSp YnPbsDbN9DYpXDY6Sqk/VutTX7DhyWmSenTjNp6bxbKWG1fBw3gS6XsEPQvosKQhmS DPDsI8iXIsm7e8r2Hb04RTErEsycdu1ORo1qhKf4/zIIU2jg8ZTiv3lB47+quSD9oK sTeZ85IETCjmA== Received: from policy01-mors.netcup.net (unknown [46.38.225.35]) by mors-relay-2502.netcup.net (Postfix) with ESMTPS id 4YxJBS52yYz4xTh for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 11:03:12 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at policy01-mors.netcup.net X-Spam-Flag: NO X-Spam-Score: -2.898 X-Spam-Level: X-Spam-Status: No, score=-2.898 required=6.31 tests=[ALL_TRUSTED=-1, BAYES_00=-1.9, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no Received: from mxe217.netcup.net (unknown [10.243.12.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by policy01-mors.netcup.net (Postfix) with ESMTPS id 4YxJBR6yMnz8sf6 for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 11:03:10 +0100 (CET) Received: from florianhp.fritz.box (ipb21a5dbf.dynamic.kabel-deutschland.de [178.26.93.191]) by mxe217.netcup.net (Postfix) with ESMTPSA id 85ABF845BC; Mon, 17 Feb 2025 11:03:05 +0100 (CET) From: Florian Pelz To: 76246@debbugs.gnu.org Subject: [PATCH v3 5/5] gnu: Add G-Golf's Adw-1 examples. Date: Mon, 17 Feb 2025 11:03:03 +0100 Message-ID: <58722c56454c0dfc94d39c5340bd1db35e0a79bc.1739785883.git.pelzflorian@pelzflorian.de> X-Mailer: git-send-email 2.48.1 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 85ABF845BC X-Rspamd-Server: rspamd-worker-8404 X-NC-CID: Ht6mB8LnlQJb6mIkPoF/pcvfzV9sRQATLhLriEquJrE5Zt5ihumoxxPi X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76246 Cc: Florian Pelz X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/guile-xyz.scm (g-golf-adw-1-examples): New variable. Change-Id: I160e58ceaeb4867f9b21a0a32f198113e36b5c88 --- gnu/packages/guile-xyz.scm | 125 +++++++++++++++++++++++++++++++++++++ 1 file changed, 125 insertions(+) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 7ca6a1bd75..1ceb25be7d 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -2803,6 +2803,131 @@ (define-public g-golf-gtk-4-examples the @code{gtk:bin} Guix package output. They also show how to wrap G-Golf applications in a Guix package."))) +(define-public g-golf-adw-1-examples + (package + (inherit guile-g-golf) + (name "g-golf-adw-1-examples") + (build-system glib-or-gtk-build-system) + (arguments + (list + #:tests? #f ;there are no tests for examples + #:modules `(((guix build guile-build-system) + #:select + (target-guile-effective-version)) + (guix build glib-or-gtk-build-system) + (srfi srfi-26) + ,@%default-gnu-modules) + #:phases + (with-imported-modules `((guix build guile-build-system) + ,@%default-gnu-imported-modules) + #~(modify-phases %standard-phases + (add-after 'unpack 'prepare-examples + (lambda _ + (chdir "examples/adw-1") + ;; Re-use the existing Makefile for its wildcard syntax. + (rename-file "Makefile.am" "Makefile") + (substitute* "Makefile" + ;; Fix syntax error. + (("hello-world") + "hello-world \\")) + ;; Add a rule to install the examples. This also + ;; installs UI, CSS and Scheme files to /bin, but + ;; better keep how G-Golf packages them. + (let ((port (open-file "Makefile" "al"))) + (format port " +prefix = ~a +bindir = $(prefix)/bin +.PHONY: install +install: + mkdir -p $(bindir)/demo/icons + mkdir -p $(bindir)/demo/pages + for f in $(EXTRA_DIST); do \\ + cp -r $$f $(bindir)/$$f; \\ + done + cp demo/g-resources $(bindir)/demo/g-resources +" #$output) + (close-port port)))) + (delete 'configure) + (replace 'build + (lambda _ + ;; Create files for adwaita-1-demo needed in install phase. + (with-directory-excursion "demo" + (system* "make") + (system* "glib-compile-resources" + "--target" "g-resources" + "g-resources.xml")))) + (add-before 'install 'patch-scm-files + (lambda* (#:key inputs #:allow-other-keys) + ;; `current-filename' calls in examples are broken. + (map (lambda (binary) + (let ((installed-binary (string-append + #$output "/bin/" binary))) + (substitute* binary + (("\\(current-filename\\)") + (string-append "\"" installed-binary "\"")) + (("^exec guile ") + (string-append + "exec " (search-input-file inputs "/bin/guile") + " "))))) + (map (cut string-drop <> 2) ;strip ./ prefix + (find-files "." (lambda (file stat) + ;executables or .scm modules + (or (= (stat:perms stat) #o755) + (string-suffix? ".scm" + file)))))))) + (add-after 'install 'wrap-binaries + (lambda* (#:key inputs #:allow-other-keys) + (let* ((version (target-guile-effective-version)) + (g-golf (assoc-ref inputs "guile-g-golf")) + (adwaita-icons (assoc-ref inputs "adwaita-icon-theme")) + (libadwaita-icons (assoc-ref inputs "libadwaita")) + (scm (string-append "/share/guile/site/" version)) + (go (string-append "/lib/guile/" + version "/site-ccache")) + (binaries + (find-files "." (lambda (file stat) ;executables + (= (stat:perms stat) #o755))))) + (map (lambda (binary) + (let ((installed-binary (string-append + #$output "/bin/" binary))) + (wrap-program installed-binary + `("GUILE_LOAD_PATH" prefix + (,(string-append g-golf scm))) + `("GUILE_LOAD_COMPILED_PATH" prefix + (,(string-append g-golf go))) + `("GI_TYPELIB_PATH" prefix + (,(getenv "GI_TYPELIB_PATH"))) + `("GUIX_GDK_PIXBUF_MODULE_FILES" suffix + (,(getenv "GUIX_GDK_PIXBUF_MODULE_FILES"))) + `("XDG_DATA_DIRS" suffix + (,(string-append #$output "/bin/demo") + ,(string-append adwaita-icons "/share") + ,(string-append libadwaita-icons "/share")))))) + binaries)))) + (add-after 'wrap-binaries 'move-binaries + (lambda _ + ;; Move the adwaita-1-demo wrapper to place it directly in /bin. + (rename-file (string-append + #$output "/bin/demo/adwaita-1-demo") + (string-append + #$output "/bin/adwaita-1-demo")))))))) + (inputs + (list adwaita-icon-theme + bash-minimal + libadwaita + (librsvg-for-system) + gtk + guile-3.0 + guile-g-golf)) + (native-inputs (list `(,glib "bin") ;for glib-compile-resources + guile-3.0)) + (propagated-inputs (list)) + (synopsis "Example Adwaita 1 apps written in Guile with G-Golf") + (description + "G-Golf port of (a subset of) the upstream @code{adwaita-1-demo} examples +in the @code{libadwaita} Guix package. They also show how to wrap G-Golf +applications in a Guix package."))) + (define-public g-wrap (package (name "g-wrap") -- 2.48.1 From debbugs-submit-bounces@debbugs.gnu.org Mon Feb 17 06:01:31 2025 Received: (at 76246) by debbugs.gnu.org; 17 Feb 2025 11:01:31 +0000 Received: from localhost ([127.0.0.1]:43678 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tjysV-0006SV-2i for submit@debbugs.gnu.org; Mon, 17 Feb 2025 06:01:31 -0500 Received: from relay.yourmailgateway.de ([188.68.63.174]:43693) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tjysR-0006S5-Lg for 76246@debbugs.gnu.org; Mon, 17 Feb 2025 06:01:28 -0500 Received: from mors-relay8204.netcup.net (localhost [127.0.0.1]) by mors-relay8204.netcup.net (Postfix) with ESMTPS id 4YxKTd52Vdz8bSj for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 11:01:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=pelzflorian.de; s=key2; t=1739790085; bh=1ITY/GLnn/ZSS/1GBaoeUYRCfIq8IhCcSm1LLwO5r7c=; h=From:To:Cc:Subject:Date:From; b=bEYZSaTF6+zy+c2f43BkSCSBxh8Zxow/e3ltQfKpPVnEaoLanJgSKwvmM9eg/1z+9 5SlaYezWEt0d1Zlc+NOUPyNhdHi3YWHRmGuTKzMUZMe4truDu8SmcTWFI2QT67tVez OAx/2whpfDMZAt+yFY6BqjJ32K97CaKVB8tNuYsHLaq+0JjYwrO4CGBzqGnrKYEqqO 478Bgoi06TiCRL5z+IMVVgTL6wMUzg8CAX/zG8HFNo/Qs8yajP7KGFA2PSF05CcIqA YSN8llDPUza2u5LLXqg4fwbzZqiW5EeoEmGQUzYY//ynalRZb6heG85isHlAYATIT0 ZMr/LB8PHWh1g== Received: from policy01-mors.netcup.net (unknown [46.38.225.35]) by mors-relay8204.netcup.net (Postfix) with ESMTPS id 4YxKTd4KHCz8bRt for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 11:01:25 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at policy01-mors.netcup.net X-Spam-Flag: NO X-Spam-Score: -2.9 X-Spam-Level: X-Spam-Status: No, score=-2.9 required=6.31 tests=[ALL_TRUSTED=-1, BAYES_00=-1.9] autolearn=ham autolearn_force=no Received: from mxe217.netcup.net (unknown [10.243.12.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by policy01-mors.netcup.net (Postfix) with ESMTPS id 4YxKTc74DFz8tXM for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 12:01:23 +0100 (CET) Received: from florianhp.fritz.box (ipb21a5dbf.dynamic.kabel-deutschland.de [178.26.93.191]) by mxe217.netcup.net (Postfix) with ESMTPSA id 7BBEC8459E; Mon, 17 Feb 2025 12:01:18 +0100 (CET) From: Florian Pelz To: 76246@debbugs.gnu.org Subject: [PATCH v4 0/5] Add G-Golf's GTK-4 examples. Date: Mon, 17 Feb 2025 11:59:31 +0100 Message-ID: X-Mailer: git-send-email 2.48.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 7BBEC8459E X-Rspamd-Server: rspamd-worker-8404 X-NC-CID: 2l7z6eveuPYmI1c7FcqBYvZkzLc9S1xije0wnJRS2rwyX1vQEW7wxoIF X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76246 Cc: Florian Pelz X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Sorry for mistakes in v3. In v4: * Fixed guile-cairo-next URL to appease guix lint. * Fixed messed up guile-xyz.scm's first line in patch 4/5. * Improved descriptions of examples packages. Previously, In v3, changes are only in [PATCH v3 2/5] gnu: Add guile-cairo-next. to use an https URL for privacy and improve comments, in response to Maxim. Florian Pelz (5): gnu: guile-cairo: Remove expat from inputs. gnu: Add guile-cairo-next. gnu: guile-g-golf: Document --no-grafts requirement. gnu: Add G-Golf's GTK-4 examples. gnu: Add G-Golf's Adw-1 examples. gnu/packages/gtk.scm | 44 +++++- gnu/packages/guile-xyz.scm | 314 ++++++++++++++++++++++++++++++++++++- 2 files changed, 356 insertions(+), 2 deletions(-) base-commit: 5e3e1b782b87d5bfe903f978490955cc20a70e5a -- 2.48.1 From debbugs-submit-bounces@debbugs.gnu.org Mon Feb 17 06:02:31 2025 Received: (at 76246) by debbugs.gnu.org; 17 Feb 2025 11:02:31 +0000 Received: from localhost ([127.0.0.1]:43689 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tjytS-0006Wm-OF for submit@debbugs.gnu.org; Mon, 17 Feb 2025 06:02:31 -0500 Received: from relay.yourmailgateway.de ([188.68.63.166]:37905) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tjytQ-0006WR-Ez for 76246@debbugs.gnu.org; Mon, 17 Feb 2025 06:02:29 -0500 Received: from mors-relay-8202.netcup.net (localhost [127.0.0.1]) by mors-relay-8202.netcup.net (Postfix) with ESMTPS id 4YxJjw2g4Fz3rGg for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 11:27:00 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=pelzflorian.de; s=key2; t=1739788020; bh=NM6gNKW1nZQTIWi2L6nZIis/oVyG20kyRFPkbreAi9A=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=FnVm8+0ZuqdffRkNeDfAR/H0EIfW+b9IDN+vHlJsQsfaqPzKnX+uHqmJ+3XGVVO+7 WS1fjuBq3eBzDTHE0wSG4z4KX2kMhCU3FPoLA++2jo3hkZpWPO5rS1cWdlwRJuUghZ l8jFJ+5BSc5gnNbf4QmiwlK6QGeyxYuYmtZxEeT8W60TRMcVBQMR7Bpu5H2mED20oR iNp267D2OYwtIUkiUQWITHktrs5qwMJ1b+ioePJ9nvJvIJbShg7Hyx0KEFjsjm0MlY HPuiT2+6I8BsmB7mWeJfUgBqrcmhflma5wLAdBmBnUrPLSmxxsL+1WbnFG3fL8b2x/ lbgcfXNAShmlA== Received: from policy02-mors.netcup.net (unknown [46.38.225.35]) by mors-relay-8202.netcup.net (Postfix) with ESMTPS id 4YxJjw1vN5z3r83 for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 11:27:00 +0100 (CET) Received: from mxe217.netcup.net (unknown [10.243.12.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by policy02-mors.netcup.net (Postfix) with ESMTPS id 4YxKVJ6Kp7z8sgW for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 12:02:00 +0100 (CET) Received: from florianhp.fritz.box (ipb21a5dbf.dynamic.kabel-deutschland.de [178.26.93.191]) by mxe217.netcup.net (Postfix) with ESMTPSA id 54FA08459E; Mon, 17 Feb 2025 12:01:55 +0100 (CET) From: Florian Pelz To: 76246@debbugs.gnu.org Subject: [PATCH v4 1/5] gnu: guile-cairo: Remove expat from inputs. Date: Mon, 17 Feb 2025 12:01:49 +0100 Message-ID: X-Mailer: git-send-email 2.48.1 In-Reply-To: References: MIME-Version: 1.0 X-Debbugs-Cc: Liliana Marie Prikler , Maxim Cournoyer , Vivien Kraus Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 54FA08459E X-Rspamd-Server: rspamd-worker-8404 X-NC-CID: W8yt4LlEO2GSThqQGmWCixL1kUw2shE+gOLrwlMgTls2CgEreU9GABxp X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76246 Cc: Florian Pelz X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) expat is not needed by guile-cairo nor guile2.2-cairo. * gnu/packages/gtk.scm (guile-cairo)[inputs]: Remove expat. Change-Id: Ie8f2c35c52725326cc8f103c45125e4378d29793 --- 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 011a1db687..8e893d66c3 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -1454,7 +1454,7 @@ (define-public guile-cairo (find-files module-dir "\\.scm$")) #t)))))) (inputs - (list guile-lib expat guile-3.0)) + (list guile-lib guile-3.0)) (propagated-inputs ;; The .pc file refers to 'cairo'. (list cairo)) -- 2.48.1 From debbugs-submit-bounces@debbugs.gnu.org Mon Feb 17 06:02:52 2025 Received: (at 76246) by debbugs.gnu.org; 17 Feb 2025 11:02:53 +0000 Received: from localhost ([127.0.0.1]:43696 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tjyto-0006Y5-6p for submit@debbugs.gnu.org; Mon, 17 Feb 2025 06:02:52 -0500 Received: from relay.yourmailgateway.de ([188.68.63.162]:43641) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tjytl-0006Xp-Ru for 76246@debbugs.gnu.org; Mon, 17 Feb 2025 06:02:51 -0500 Received: from mors-relay-8201.netcup.net (localhost [127.0.0.1]) by mors-relay-8201.netcup.net (Postfix) with ESMTPS id 4YxKWD3wNpz3wBR for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 12:02:48 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=pelzflorian.de; s=key2; t=1739790168; bh=yvMOwUgO5toxrq//DnN02zVtNzshCAP17cMlFcbi5d0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=dyv6kr4k6CHOsPg1y/KYwwnlzzRskbOY9PvvadLzPgcrEav0Vr/19HOSLNu5n49de u+Wpw6W1M3vPiSM8Up6QQ77wOxEwXu3ByctWtcD3v7kCFghf5XXDc/ZAnEwrkerIM1 YK4Fs8O4+5X3qdtbiufmxIvSdNsopozpoxpGAQA8rQxyl4qjg6q3sMU+WjEktfbQY0 56NRoMTJr2ONC5DCy8Ot2FxtA2EAQ5gQzNTe2X5jzbg8NXe+0sf/DsHAfeCQrh/lQb nXseDpYU79FFxiJ6a6nulXXjhK6awSDX2ggjy0VIkeeqkzYRoZMKvIurR58hEoANbo v8QwU7Fer1EZg== Received: from policy02-mors.netcup.net (unknown [46.38.225.35]) by mors-relay-8201.netcup.net (Postfix) with ESMTPS id 4YxKWD3DKYz3wBM for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 12:02:48 +0100 (CET) Received: from mxe217.netcup.net (unknown [10.243.12.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by policy02-mors.netcup.net (Postfix) with ESMTPS id 4YxKWD2WGhz8sWg for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 12:02:48 +0100 (CET) Received: from florianhp.fritz.box (ipb21a5dbf.dynamic.kabel-deutschland.de [178.26.93.191]) by mxe217.netcup.net (Postfix) with ESMTPSA id EEA6A818C4; Mon, 17 Feb 2025 12:02:42 +0100 (CET) From: Florian Pelz To: 76246@debbugs.gnu.org Subject: [PATCH v4 2/5] gnu: Add guile-cairo-next. Date: Mon, 17 Feb 2025 12:02:24 +0100 Message-ID: <04aef89d602a509d635059fa48b7cdf85c7ddf97.1739789645.git.pelzflorian@pelzflorian.de> X-Mailer: git-send-email 2.48.1 In-Reply-To: References: MIME-Version: 1.0 X-Debbugs-Cc: Liliana Marie Prikler , Maxim Cournoyer , Vivien Kraus Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: EEA6A818C4 X-Rspamd-Server: rspamd-worker-8404 X-NC-CID: 72LPVFlIhGzdT84F09BcMfCg+qEqk3u1nXLU6HQEDWRMfAHgXsij8MSb X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76246 Cc: Florian Pelz X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/gtk.scm (guile-cairo-next): New variable. Change-Id: I328afe58d46e60243e075edead12afc0d1c4a98a --- gnu/packages/gtk.scm | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 8e893d66c3..15b43da636 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -37,6 +37,7 @@ ;;; Copyright © 2023, 2024 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2023 Janneke Nieuwenhuizen ;;; Copyright © 2024 John Kehayias +;;; Copyright © 2025 Florian Pelz ;;; ;;; This file is part of GNU Guix. ;;; @@ -1481,6 +1482,47 @@ (define-public guile2.2-cairo ,@(fold alist-delete (package-inputs guile-cairo) '("guile" "guile-lib")))))) +(define-public guile-cairo-next + ;; A commit with cairo-pointer->context, missing from guile-cairo@1.11.2 + ;; and needed by animated-paintable from g-golf-gtk-4-examples. + (let ((commit "30da459d7a4380174ff243b1560d5512a4bca86e") + (revision "0")) + (package + (inherit guile-cairo) + (name "guile-cairo-next") + (version (git-version "1.11.2" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.savannah.gnu.org/git/guile-cairo.git/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0dslfldzgxis8g0g3xaffcqnd1njzz23fjy0v3lc0r2694ra4ny4")))) + (arguments + (substitute-keyword-arguments (package-arguments guile-cairo) + ((#:phases phases) + `(modify-phases ,phases + ;; To allow running the check phase before install, add two phases + ;; similar to David Pirotte's suggested patch: + ;; . + (add-after 'build 'fix-dynamic-link-path + (lambda _ + ;; Dynamic-link libguile-cairo foreign extension by name, not + ;; path. + (substitute* "cairo/config.scm" + (("\\(define \\*cairo-lib-path\\* .*") + "\(define *cairo-lib-path* \"libguile-cairo\")\n")))) + (add-before 'check 'set-libtool-path + (lambda _ + ;; Use appropriate pre-install libtool path in tests. + (setenv "LTDL_LIBRARY_PATH" "../../guile-cairo/.libs"))))))) + (inputs + (list gettext-minimal guile-3.0 guile-lib)) + (native-inputs + (list autoconf automake libtool pkg-config texinfo))))) + (define-public guile-rsvg ;; Use a recent snapshot that supports Guile 2.2 and beyond. (let ((commit "05c6a2fd67e4fea1a7c3ff776729dc931bae6678") -- 2.48.1 From debbugs-submit-bounces@debbugs.gnu.org Mon Feb 17 06:03:44 2025 Received: (at 76246) by debbugs.gnu.org; 17 Feb 2025 11:03:44 +0000 Received: from localhost ([127.0.0.1]:43716 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tjyue-0006c9-7X for submit@debbugs.gnu.org; Mon, 17 Feb 2025 06:03:44 -0500 Received: from relay.yourmailgateway.de ([46.38.247.119]:42441) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tjyub-0006bx-CA for 76246@debbugs.gnu.org; Mon, 17 Feb 2025 06:03:42 -0500 Received: from mors-relay-8404.netcup.net (localhost [127.0.0.1]) by mors-relay-8404.netcup.net (Postfix) with ESMTPS id 4YxKXC2KwTz82G4 for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 12:03:39 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=pelzflorian.de; s=key2; t=1739790219; bh=NUmG3z9SQQzNHgvK0ZXBVqYDC6CH/RZx1zKuirZJHQk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=C9nS4t1+PvQEUV3YD3pPrMZ7ajAob3OXjlLcAxJ/pxcWngnr8t0u7sOBV8psMgBzK Pt4HjfGXJ3+rRtkNIp5tvdy3J6o+PMCvUe3aGrKlMaEHBTm46L9EKkcTAGdgGpcN5g tgkM40+hTSbVNdVAonvsLSGUisLRODXUD56hwS96uLJKsjrcUrn8eikjyluiSI7Fhc heENzYY4mRBN1dg8/E+eNIvPfTRCRHta1IFwb8hHdXJWDCBi987twj466hNRvZ2Yq6 ZUFGP05u+cQzoeMBG+LBCwTvbVpB8qVsOunZ9CCDPJjrEBkVEoo4MGF8vcd8+fWLZQ DFCQpK+ixLP4A== Received: from policy01-mors.netcup.net (unknown [46.38.225.35]) by mors-relay-8404.netcup.net (Postfix) with ESMTPS id 4YxKXC1vKdz4y6V for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 12:03:39 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at policy01-mors.netcup.net X-Spam-Flag: NO X-Spam-Score: -2.897 X-Spam-Level: X-Spam-Status: No, score=-2.897 required=6.31 tests=[ALL_TRUSTED=-1, BAYES_00=-1.9, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no Received: from mxe217.netcup.net (unknown [10.243.12.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by policy01-mors.netcup.net (Postfix) with ESMTPS id 4YxKX658Whz8tZ1 for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 12:03:33 +0100 (CET) Received: from florianhp.fritz.box (ipb21a5dbf.dynamic.kabel-deutschland.de [178.26.93.191]) by mxe217.netcup.net (Postfix) with ESMTPSA id 3A17183F2D; Mon, 17 Feb 2025 12:03:28 +0100 (CET) From: Florian Pelz To: 76246@debbugs.gnu.org Subject: [PATCH v4 3/5] gnu: guile-g-golf: Document --no-grafts requirement. Date: Mon, 17 Feb 2025 12:03:12 +0100 Message-ID: <8c8860248595b0fdcdaddf40836fac887fce7210.1739789645.git.pelzflorian@pelzflorian.de> X-Mailer: git-send-email 2.48.1 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 3A17183F2D X-Rspamd-Server: rspamd-worker-8404 X-NC-CID: TSOfUOoK1OG0kwTzaSDV4XpnvIrtvQrTY69amDT64xM2164xcJ/4m16D X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76246 Cc: Florian Pelz X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Note that packages are unaffected. * gnu/packages/guile-xyz.scm: Tell about grafts bug. Change-Id: Ic0b2c63daa07c693171965d90410aef5a2e41d49 --- gnu/packages/guile-xyz.scm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 921d8b46d6..9877e01748 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -2603,7 +2603,12 @@ (define-public guile-g-golf modern applications in Guile Scheme. It comprises a direct binding to the GObject Introspection API and higher-level functionality for importing Gnome libraries and making GObject classes (and methods) available in Guile's -object-oriented programming system, GOOPS.") +object-oriented programming system, GOOPS. + +Note: Currently, when developing with G-Golf in @code{guix shell}, there is a +@uref{https://bugs.gnu.org/75157, grafts bug in Guix}. To avoid it, use Guix' +@code{--no-grafts} option. Guix packages that use @code{wrap-program} are +unaffected.") (license license:lgpl3+))) (define-public g-golf -- 2.48.1 From debbugs-submit-bounces@debbugs.gnu.org Mon Feb 17 06:05:28 2025 Received: (at 76246) by debbugs.gnu.org; 17 Feb 2025 11:05:28 +0000 Received: from localhost ([127.0.0.1]:43734 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tjywF-0006oy-VV for submit@debbugs.gnu.org; Mon, 17 Feb 2025 06:05:28 -0500 Received: from relay.yourmailgateway.de ([188.68.63.102]:34927) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tjywC-0006oX-BK for 76246@debbugs.gnu.org; Mon, 17 Feb 2025 06:05:21 -0500 Received: from mors-relay-2502.netcup.net (localhost [127.0.0.1]) by mors-relay-2502.netcup.net (Postfix) with ESMTPS id 4YxKZ71QPzz62wM for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 12:05:19 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=pelzflorian.de; s=key2; t=1739790319; bh=KoLG0zHiDLMOGIVFESjEXcOTUyY81doKvHKyR+A17d4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=fWHQM2ewY8vkEWWpdqCDAMUQw+0GgnODhCp0WgXBRcOv1V7FzEdKRt4tWerOJthho v7pvAViKt9xkNkkyley5tbbbzEj1W64pP0Z0RXdGxAPPx/LidKk4LSRrffnZOk95cd riPInSL8O/H9BuwN06152P9SoHuTYS4ehcKCJ0vcrEuyt3s7mIKUaUqjMepLdpLouu xoda5WdPc69CANNLVSlJ1rrp+Z7wR9L7OC+WviXTEiEOazxbzkKDWhABRyqIMavbtH 0tZDzL/FoPs0KEjOqWh73HxnpWmXnNojOem/frYB9PBU67wqRA2OJyt+xlOCndSBIQ zlDOy7UNgHchQ== Received: from policy01-mors.netcup.net (unknown [46.38.225.35]) by mors-relay-2502.netcup.net (Postfix) with ESMTPS id 4YxKZ70kBVz4xdB for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 12:05:19 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at policy01-mors.netcup.net X-Spam-Flag: NO X-Spam-Score: -2.897 X-Spam-Level: X-Spam-Status: No, score=-2.897 required=6.31 tests=[ALL_TRUSTED=-1, BAYES_00=-1.9, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no Received: from mxe217.netcup.net (unknown [10.243.12.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by policy01-mors.netcup.net (Postfix) with ESMTPS id 4YxKZ61hR5z8t4S for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 12:05:18 +0100 (CET) Received: from florianhp.fritz.box (ipb21a5dbf.dynamic.kabel-deutschland.de [178.26.93.191]) by mxe217.netcup.net (Postfix) with ESMTPSA id D77B284633; Mon, 17 Feb 2025 12:05:12 +0100 (CET) From: Florian Pelz To: 76246@debbugs.gnu.org Subject: [PATCH v4 4/5] gnu: Add G-Golf's GTK-4 examples. Date: Mon, 17 Feb 2025 12:03:56 +0100 Message-ID: <5fa527731786e0f55f3e76f08b82ea41c084d631.1739789645.git.pelzflorian@pelzflorian.de> X-Mailer: git-send-email 2.48.1 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: D77B284633 X-Rspamd-Server: rspamd-worker-8404 X-NC-CID: qpoeWfaLYRgI4e8HACQrI2VhI88XRvoIEet+T18zNBXZrhes60WOIyJp X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76246 Cc: Florian Pelz X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/guile-xyz.scm (g-golf-gtk-4-examples): New variable. Change-Id: I19b182eb71095ca2deacdb4011c8f50dfcfc8476 --- gnu/packages/guile-xyz.scm | 181 +++++++++++++++++++++++++++++++++++++ 1 file changed, 181 insertions(+) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 9877e01748..6e53bc291f 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -53,6 +53,7 @@ ;;; Copyright © 2024 Alec Barreto ;;; Copyright © 2024 Josep Bigorra ;;; Copyright © 2024 Ashish SHUKLA +;;; Copyright © 2025 Florian Pelz ;;; ;;; This file is part of GNU Guix. ;;; @@ -2623,6 +2624,186 @@ (define-public guile2.2-g-golf (replace "guile" guile-2.2) (replace "guile-lib" guile2.2-lib))))) +(define-public g-golf-gtk-4-examples + (package + (inherit guile-g-golf) + (name "g-golf-gtk-4-examples") + (arguments + (list + #:modules `(((guix build guile-build-system) + #:select + (target-guile-effective-version)) + (srfi srfi-26) + ,@%default-gnu-modules) + #:phases + (with-imported-modules `((guix build guile-build-system) + ,@%default-gnu-imported-modules) + #~(modify-phases %standard-phases + (add-after 'unpack 'prepare-examples + (lambda _ + (chdir "examples/gtk-4") + ;; Re-use the existing Makefile for its wildcard syntax. + (rename-file "Makefile.am" "Makefile") + ;; Add a rule to install the examples. This also + ;; installs UI, CSS and Scheme files to /bin, but + ;; better keep how G-Golf packages them. + (let ((port (open-file "Makefile" "al"))) + (format port " +prefix = ~a +bindir = $(prefix)/bin +.PHONY: install +install: + mkdir -p $(bindir)/css + mkdir -p $(bindir)/demos + mkdir -p $(bindir)/images + mkdir -p $(bindir)/ui + for f in $(EXTRA_DIST); do \\ + cp $$f $(bindir)/$$f; \\ + done + install demos/libfpt.so $(bindir)/demos +" #$output) + (close-port port)))) + (delete 'configure) + (replace 'build + (lambda _ + ;; The layout-manager-2 example calls `make', GCC at run-time. + ;; But since it would compile to the read-only /gnu/store, we + ;; deviate by compiling in advance in the build phase, + ;; ignoring failing `make' calls. We do not propagate `make'. + (with-directory-excursion "demos" + (when #$(%current-target-system) + (substitute* "Makefile" + (("^CC = gcc$") + (string-append "CC = " #$(cc-for-target) "\n")))) + (system* "make")))) + ;; There are no tests for examples, but we do an installcheck phase, + ;; which respects when #:tests? is turned off. So delete 'check. + (delete 'check) + (add-before 'install 'patch-scm-files + (lambda* (#:key inputs #:allow-other-keys) + ;; `current-filename' calls in examples are broken. + (map (lambda (binary) + (let ((installed-binary (string-append + #$output "/bin/" binary))) + (substitute* binary + (("\\(current-filename\\)") + (string-append "\"" installed-binary "\"")) + (("\\(getcwd\\)") + (string-append "\"" #$output "/bin\"")) + (("^exec guile ") + (string-append + "exec " (search-input-file inputs "/bin/guile") + " "))))) + (map (cut string-drop <> 2) ;strip ./ prefix + (find-files "." (lambda (file stat) + ;executables or .scm modules + (or (= (stat:perms stat) #o755) + (string-suffix? ".scm" + file)))))))) + (add-after 'install 'wrap-binaries + (lambda* (#:key inputs #:allow-other-keys) + (let* ((version (target-guile-effective-version)) + (g-golf (assoc-ref inputs "guile-g-golf")) + (gcairo (assoc-ref inputs "guile-cairo-next")) + (adwaita-icons (assoc-ref inputs "adwaita-icon-theme")) + (scm (string-append "/share/guile/site/" version)) + (go (string-append "/lib/guile/" + version "/site-ccache")) + (binaries + (find-files "." (lambda (file stat) ;executables + (= (stat:perms stat) #o755))))) + (map (lambda (binary) + (let ((installed-binary (string-append + #$output "/bin/" binary))) + (wrap-program installed-binary + `("GUILE_LOAD_PATH" prefix + (,(string-append g-golf scm) + ,(string-append gcairo scm))) + `("GUILE_LOAD_COMPILED_PATH" prefix + (,(string-append g-golf go) + ,(string-append gcairo go))) + `("GI_TYPELIB_PATH" prefix + (,(getenv "GI_TYPELIB_PATH"))) + ;; Library path for libraries loaded by binaries. + `("LD_LIBRARY_PATH" prefix + (,(string-append gcairo "/lib"))) + `("XDG_DATA_DIRS" suffix + (,(string-append adwaita-icons "/share")))))) + binaries)))) + ;; Add installcheck to ensure nothing breaks. + (add-after 'strip 'installcheck + (lambda* (#:key inputs tests? #:allow-other-keys) + (cond + ((not tests?) + (display "test suite not run\n")) + (#$(%current-target-system) + (display "cross-compiling; reftest skipped\n")) + (else + ;; Start an X server. + (system "Xvfb :1 &") + (setenv "DISPLAY" ":1") + (let* ((g-golf-drawing (string-append + #$output "/bin/drawing-widget")) + (pid (spawn g-golf-drawing `(,g-golf-drawing) + #:search-path? #f))) + (sleep 10) ;2s is enough on my machine + (display "Taking a screenshot with G-Golf.\n") + (system* "import" "-window" "root" + "drawing-widget.out.png") + (sleep 5) ;1s is enough on my machine + (kill pid SIGINT) + (waitpid pid)) + (let* ((python (search-input-file inputs "/bin/python3")) + (pygobject-drawing #$(this-package-native-input + "drawing-widget.py")) + (pid (spawn python `(,python ,pygobject-drawing) + #:search-path? #f))) + (sleep 5) ;1s is enough on my machine + (display "Taking a screenshot with Pygobject.\n") + (system* "import" "-window" "root" + "drawing-widget.ref.png") + (sleep 5) + (kill pid SIGINT) + (waitpid pid)) + (if (= (pk (system* "compare" "-metric" "AE" "-fuzz" "1%" + "drawing-widget.out.png" + "drawing-widget.ref.png" + "drawing-widget.dif.png")) 0) + (display "All good; they look the same.\n") + (error "Reftest failed; screenshots differ.")))))))))) + (inputs + (list adwaita-icon-theme + bash-minimal + gtk + guile-3.0 + guile-cairo-next + guile-g-golf)) + (native-inputs + (list pkg-config + which + ;; For installcheck: + imagemagick + python-minimal + python-pygobject + xorg-server-for-tests + ;; Python version of drawing-widget from + ;; https://lists.gnu.org/archive/html/guile-user/2024-05/msg00032.html + (origin + (method url-fetch) + (uri "\ +https://lists.gnu.org/archive/html/guile-user/2024-05/txtT_80XuINsX.txt") + (sha256 + (base32 + "07j2v159a3bb99i8kwbqrcgslcmhhnqa5ah53q2b9bdk8042grsx")) + (file-name "drawing-widget.py")))) + (propagated-inputs (list)) + (synopsis "Example GTK 4 apps written in Guile with G-Golf") + (description + "G-Golf port of (a subset of) the upstream @code{gtk4-demo} examples in +the @code{gtk:bin} Guix package output. Run @command{guix edit +g-golf-gtk-4-examples} for inspiration how to wrap G-Golf applications when +writing a Guix package."))) + (define-public g-wrap (package (name "g-wrap") -- 2.48.1 From debbugs-submit-bounces@debbugs.gnu.org Mon Feb 17 06:06:34 2025 Received: (at 76246) by debbugs.gnu.org; 17 Feb 2025 11:06:34 +0000 Received: from localhost ([127.0.0.1]:43745 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tjyxO-0006ti-20 for submit@debbugs.gnu.org; Mon, 17 Feb 2025 06:06:34 -0500 Received: from relay.yourmailgateway.de ([188.68.63.174]:46615) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tjyxL-0006tQ-RB for 76246@debbugs.gnu.org; Mon, 17 Feb 2025 06:06:32 -0500 Received: from mors-relay8204.netcup.net (localhost [127.0.0.1]) by mors-relay8204.netcup.net (Postfix) with ESMTPS id 4YxKbV6LQcz8blq for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 11:06:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=pelzflorian.de; s=key2; t=1739790390; bh=MZbb/ZzOteQAEoDShPvv7a6cwFIFEHbBfrHMYYZIvJw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=QSa7TQHkT9lFxpXxqcWegJuC+prakBOkdJuhw3CoYlfLsFgJR7yxSUvdF7XBImYW8 hnfJVGHUcTATGX638TVOKEKt2r7t4A9WSqhdylDa7eHz+f1PHwFS0Fe9hydOsBRvhs EOLaOMJZsk4S+flLql333Hf2wrlC6LsTKbdBXEALSXRYg/Rgc9x+QmfVyPjb4za6Uj UlMnmwxFr4fMm/SqgMSSKluOiOCWfr9lL3a3dWSGtJKAU9JHuzAuELFZUKqKstji8l F6VtvDzgUirAsN+UX9uQ4/P246Bl3XCX05X2nIzhhQkmhVZgMoUScjCJanhmdguX0V OPqihUMr6hdkw== Received: from policy01-mors.netcup.net (unknown [46.38.225.35]) by mors-relay8204.netcup.net (Postfix) with ESMTPS id 4YxKbV5dNyz8bdp for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 11:06:30 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at policy01-mors.netcup.net X-Spam-Flag: NO X-Spam-Score: -2.897 X-Spam-Level: X-Spam-Status: No, score=-2.897 required=6.31 tests=[ALL_TRUSTED=-1, BAYES_00=-1.9, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no Received: from mxe217.netcup.net (unknown [10.243.12.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by policy01-mors.netcup.net (Postfix) with ESMTPS id 4YxKbV0qW3z8stl for <76246@debbugs.gnu.org>; Mon, 17 Feb 2025 12:06:29 +0100 (CET) Received: from florianhp.fritz.box (ipb21a5dbf.dynamic.kabel-deutschland.de [178.26.93.191]) by mxe217.netcup.net (Postfix) with ESMTPSA id 7C58F8323F; Mon, 17 Feb 2025 12:06:24 +0100 (CET) From: Florian Pelz To: 76246@debbugs.gnu.org Subject: [PATCH v4 5/5] gnu: Add G-Golf's Adw-1 examples. Date: Mon, 17 Feb 2025 12:05:41 +0100 Message-ID: <5e935a85a1f3b8727b103905d550c09942788cc2.1739789645.git.pelzflorian@pelzflorian.de> X-Mailer: git-send-email 2.48.1 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 7C58F8323F X-Rspamd-Server: rspamd-worker-8404 X-NC-CID: Q1btbXl4u40jtzYWaury8rFveVWTsA+TMaUtmS6ua8NUXRLdzP2SWuGT X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76246 Cc: Florian Pelz X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/guile-xyz.scm (g-golf-adw-1-examples): New variable. Change-Id: I160e58ceaeb4867f9b21a0a32f198113e36b5c88 --- gnu/packages/guile-xyz.scm | 126 +++++++++++++++++++++++++++++++++++++ 1 file changed, 126 insertions(+) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 6e53bc291f..130652fb23 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -2804,6 +2804,132 @@ (define-public g-golf-gtk-4-examples g-golf-gtk-4-examples} for inspiration how to wrap G-Golf applications when writing a Guix package."))) +(define-public g-golf-adw-1-examples + (package + (inherit guile-g-golf) + (name "g-golf-adw-1-examples") + (build-system glib-or-gtk-build-system) + (arguments + (list + #:tests? #f ;there are no tests for examples + #:modules `(((guix build guile-build-system) + #:select + (target-guile-effective-version)) + (guix build glib-or-gtk-build-system) + (srfi srfi-26) + ,@%default-gnu-modules) + #:phases + (with-imported-modules `((guix build guile-build-system) + ,@%default-gnu-imported-modules) + #~(modify-phases %standard-phases + (add-after 'unpack 'prepare-examples + (lambda _ + (chdir "examples/adw-1") + ;; Re-use the existing Makefile for its wildcard syntax. + (rename-file "Makefile.am" "Makefile") + (substitute* "Makefile" + ;; Fix syntax error. + (("hello-world") + "hello-world \\")) + ;; Add a rule to install the examples. This also + ;; installs UI, CSS and Scheme files to /bin, but + ;; better keep how G-Golf packages them. + (let ((port (open-file "Makefile" "al"))) + (format port " +prefix = ~a +bindir = $(prefix)/bin +.PHONY: install +install: + mkdir -p $(bindir)/demo/icons + mkdir -p $(bindir)/demo/pages + for f in $(EXTRA_DIST); do \\ + cp -r $$f $(bindir)/$$f; \\ + done + cp demo/g-resources $(bindir)/demo/g-resources +" #$output) + (close-port port)))) + (delete 'configure) + (replace 'build + (lambda _ + ;; Create files for adwaita-1-demo needed in install phase. + (with-directory-excursion "demo" + (system* "make") + (system* "glib-compile-resources" + "--target" "g-resources" + "g-resources.xml")))) + (add-before 'install 'patch-scm-files + (lambda* (#:key inputs #:allow-other-keys) + ;; `current-filename' calls in examples are broken. + (map (lambda (binary) + (let ((installed-binary (string-append + #$output "/bin/" binary))) + (substitute* binary + (("\\(current-filename\\)") + (string-append "\"" installed-binary "\"")) + (("^exec guile ") + (string-append + "exec " (search-input-file inputs "/bin/guile") + " "))))) + (map (cut string-drop <> 2) ;strip ./ prefix + (find-files "." (lambda (file stat) + ;executables or .scm modules + (or (= (stat:perms stat) #o755) + (string-suffix? ".scm" + file)))))))) + (add-after 'install 'wrap-binaries + (lambda* (#:key inputs #:allow-other-keys) + (let* ((version (target-guile-effective-version)) + (g-golf (assoc-ref inputs "guile-g-golf")) + (adwaita-icons (assoc-ref inputs "adwaita-icon-theme")) + (libadwaita-icons (assoc-ref inputs "libadwaita")) + (scm (string-append "/share/guile/site/" version)) + (go (string-append "/lib/guile/" + version "/site-ccache")) + (binaries + (find-files "." (lambda (file stat) ;executables + (= (stat:perms stat) #o755))))) + (map (lambda (binary) + (let ((installed-binary (string-append + #$output "/bin/" binary))) + (wrap-program installed-binary + `("GUILE_LOAD_PATH" prefix + (,(string-append g-golf scm))) + `("GUILE_LOAD_COMPILED_PATH" prefix + (,(string-append g-golf go))) + `("GI_TYPELIB_PATH" prefix + (,(getenv "GI_TYPELIB_PATH"))) + `("GUIX_GDK_PIXBUF_MODULE_FILES" suffix + (,(getenv "GUIX_GDK_PIXBUF_MODULE_FILES"))) + `("XDG_DATA_DIRS" suffix + (,(string-append #$output "/bin/demo") + ,(string-append adwaita-icons "/share") + ,(string-append libadwaita-icons "/share")))))) + binaries)))) + (add-after 'wrap-binaries 'move-binaries + (lambda _ + ;; Move the adwaita-1-demo wrapper to place it directly in /bin. + (rename-file (string-append + #$output "/bin/demo/adwaita-1-demo") + (string-append + #$output "/bin/adwaita-1-demo")))))))) + (inputs + (list adwaita-icon-theme + bash-minimal + libadwaita + (librsvg-for-system) + gtk + guile-3.0 + guile-g-golf)) + (native-inputs (list `(,glib "bin") ;for glib-compile-resources + guile-3.0)) + (propagated-inputs (list)) + (synopsis "Example Adwaita 1 apps written in Guile with G-Golf") + (description + "G-Golf port of (a subset of) the upstream @code{adwaita-1-demo} examples +in the @code{libadwaita} Guix package. Run @command{guix edit +g-golf-adw-1-examples} for inspiration how to wrap G-Golf applications when +writing a Guix package."))) + (define-public g-wrap (package (name "g-wrap") -- 2.48.1 From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 18 12:11:23 2025 Received: (at 76246) by debbugs.gnu.org; 18 Feb 2025 17:11:24 +0000 Received: from localhost ([127.0.0.1]:60244 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tkR7z-0008Ge-Ct for submit@debbugs.gnu.org; Tue, 18 Feb 2025 12:11:23 -0500 Received: from relay.yourmailgateway.de ([188.68.63.162]:58163) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tkR7w-0008GA-1f for 76246@debbugs.gnu.org; Tue, 18 Feb 2025 12:11:21 -0500 Received: from mors-relay-8201.netcup.net (localhost [127.0.0.1]) by mors-relay-8201.netcup.net (Postfix) with ESMTPS id 4Yy5dy0H7Tz416w for <76246@debbugs.gnu.org>; Tue, 18 Feb 2025 18:11:18 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=pelzflorian.de; s=key2; t=1739898678; bh=g87smwTGacBTD90vvhLGZZWVdaJSYvaeFYHoRO9mBHo=; h=From:To:Cc:Subject:Date:From; b=YWoNwywCEZd3svOexIc2U6XgR/3HdmrRb0i+DlZh8Hox2Nwn9KYsB8ShqpfUIeAYX Qe97u14GJu9AyiFdmGbaqozzuc7kw9jOLhu1a+/4A4QHlHLXnnvb4E7NTTG0++GEvv C4i/g8T70MWf0hvuWgt8fB2DRxT2Udc0H2a3R8qABnZYpAMekLQsrC9ALe4EqrAj1s gx9aTZdxoU9HDTsEzsgPUGmrURzbj7vSOO+aW4palBytWk7XunbvgICXzj+5Y5A0t+ vx5oVYY5E11S2h8i6WJ8Dqwm6r55uyCG0o4Dq11CuhAG8SMj+5/Ktg2Z/P7GW1c43p xPoBPU6sh1ghQ== Received: from policy02-mors.netcup.net (unknown [46.38.225.35]) by mors-relay-8201.netcup.net (Postfix) with ESMTPS id 4Yy5dx6gBSz416t for <76246@debbugs.gnu.org>; Tue, 18 Feb 2025 18:11:17 +0100 (CET) Received: from mxe217.netcup.net (unknown [10.243.12.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by policy02-mors.netcup.net (Postfix) with ESMTPS id 4Yy5dx4tPnz8svL for <76246@debbugs.gnu.org>; Tue, 18 Feb 2025 18:11:17 +0100 (CET) Received: from florianhp.fritz.box (ipb21a5dbf.dynamic.kabel-deutschland.de [178.26.93.191]) by mxe217.netcup.net (Postfix) with ESMTPSA id 804EC845C9; Tue, 18 Feb 2025 18:11:05 +0100 (CET) From: Florian Pelz To: 76246@debbugs.gnu.org Subject: [PATCH v5 0/6] Add G-Golf's GTK-4 examples. Date: Tue, 18 Feb 2025 18:10:44 +0100 Message-ID: X-Mailer: git-send-email 2.48.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-NC-CID: DijsguIzIObeEMuDSDzL/+CD9JlCToCfq/j4p2VU2uSflcJUdyqPRLl7 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76246 Cc: Florian Pelz X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) In v5: * In patch 3/5, use @command{guix shell} mark-up and not @code. * Adhere to David Pirotte’s wish to install not to /bin but to /share/doc/g-golf/examples/gtk-4. Make a copy of wrapper scripts in /bin for use with `guix shell'. * I don't know if David will accept Maxim's suggested resolution of a naming dispute, [1] but I added a patch for it. [1] https://lists.gnu.org/archive/html/guix-devel/2025-02/msg00296.html Florian Pelz (6): gnu: guile-cairo: Remove expat from inputs. gnu: Add guile-cairo-next. gnu: guile-g-golf: Document --no-grafts requirement. gnu: Add G-Golf's GTK-4 examples. gnu: Add G-Golf's Adw-1 examples. gnu: g-golf: Redefine as a non-deprecated alias. gnu/packages/gtk.scm | 44 ++++- gnu/packages/guile-xyz.scm | 336 ++++++++++++++++++++++++++++++++++++- 2 files changed, 377 insertions(+), 3 deletions(-) base-commit: 5e3e1b782b87d5bfe903f978490955cc20a70e5a -- 2.48.1 From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 18 12:12:02 2025 Received: (at 76246) by debbugs.gnu.org; 18 Feb 2025 17:12:02 +0000 Received: from localhost ([127.0.0.1]:60257 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tkR8b-0008K3-Ik for submit@debbugs.gnu.org; Tue, 18 Feb 2025 12:12:01 -0500 Received: from relay.yourmailgateway.de ([188.68.63.102]:58773) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tkR8W-0008JP-Iw for 76246@debbugs.gnu.org; Tue, 18 Feb 2025 12:11:57 -0500 Received: from mors-relay-2502.netcup.net (localhost [127.0.0.1]) by mors-relay-2502.netcup.net (Postfix) with ESMTPS id 4Yy5fg2cQHz6435 for <76246@debbugs.gnu.org>; Tue, 18 Feb 2025 18:11:55 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=pelzflorian.de; s=key2; t=1739898715; bh=NM6gNKW1nZQTIWi2L6nZIis/oVyG20kyRFPkbreAi9A=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=QHXpefSMgS0GkDVHV90TlTyvV41htH8IzJYgaW74qAVh67kLjvSkuKxJMmTsU8MSZ rKYlM4viCWHUo6ps1QRAnmBpdhV5H3aj2bz/HbLTx0xmhOH5uOOeUQQM/xF6GzQ8F7 Ywp4oryt2AS061eOgJMYGzsKwjMWRfOC+5RIdXjS2PSWaH5Ar8fTOPLLvWDhmY7/Zm 1O2UOSyS0vbDSlehpzEgvLiND0xtiyCFBzWpmhaeKNaeJmb+/7F34ISkYu7aynYbj6 WzCbs2G3E1AmIZgY73XKMTnMp0dQo+WgOWBOM3PC3gqZAEhbR9L76dLoK4gWo6eak0 Qzxn/0TvsYuJA== Received: from policy01-mors.netcup.net (unknown [46.38.225.35]) by mors-relay-2502.netcup.net (Postfix) with ESMTPS id 4Yy5fg1tfKz4xM7 for <76246@debbugs.gnu.org>; Tue, 18 Feb 2025 18:11:55 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at policy01-mors.netcup.net X-Spam-Flag: NO X-Spam-Score: -2.9 X-Spam-Level: X-Spam-Status: No, score=-2.9 required=6.31 tests=[ALL_TRUSTED=-1, BAYES_00=-1.9] autolearn=ham autolearn_force=no Received: from mxe217.netcup.net (unknown [10.243.12.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by policy01-mors.netcup.net (Postfix) with ESMTPS id 4Yy5ff4rF1z8sf6 for <76246@debbugs.gnu.org>; Tue, 18 Feb 2025 18:11:53 +0100 (CET) Received: from florianhp.fritz.box (ipb21a5dbf.dynamic.kabel-deutschland.de [178.26.93.191]) by mxe217.netcup.net (Postfix) with ESMTPSA id E620584665; Tue, 18 Feb 2025 18:11:45 +0100 (CET) From: Florian Pelz To: 76246@debbugs.gnu.org Subject: [PATCH v5 1/6] gnu: guile-cairo: Remove expat from inputs. Date: Tue, 18 Feb 2025 18:11:40 +0100 Message-ID: X-Mailer: git-send-email 2.48.1 In-Reply-To: References: MIME-Version: 1.0 X-Debbugs-Cc: Liliana Marie Prikler , Maxim Cournoyer , Vivien Kraus Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: E620584665 X-Rspamd-Server: rspamd-worker-8404 X-NC-CID: vsyogu39Sz2AUnpHqUvr2J8bseBO/xW1p2ksl3/u/BUtB7pzsoyEDQT3 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76246 Cc: Florian Pelz X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) expat is not needed by guile-cairo nor guile2.2-cairo. * gnu/packages/gtk.scm (guile-cairo)[inputs]: Remove expat. Change-Id: Ie8f2c35c52725326cc8f103c45125e4378d29793 --- 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 011a1db687..8e893d66c3 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -1454,7 +1454,7 @@ (define-public guile-cairo (find-files module-dir "\\.scm$")) #t)))))) (inputs - (list guile-lib expat guile-3.0)) + (list guile-lib guile-3.0)) (propagated-inputs ;; The .pc file refers to 'cairo'. (list cairo)) -- 2.48.1 From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 18 12:12:34 2025 Received: (at 76246) by debbugs.gnu.org; 18 Feb 2025 17:12:34 +0000 Received: from localhost ([127.0.0.1]:60275 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tkR98-0008Nd-5K for submit@debbugs.gnu.org; Tue, 18 Feb 2025 12:12:34 -0500 Received: from relay.yourmailgateway.de ([46.38.247.119]:38059) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tkR95-0008NJ-Ev for 76246@debbugs.gnu.org; Tue, 18 Feb 2025 12:12:32 -0500 Received: from mors-relay-8404.netcup.net (localhost [127.0.0.1]) by mors-relay-8404.netcup.net (Postfix) with ESMTPS id 4Yy5gL0h7Fz85Ts for <76246@debbugs.gnu.org>; Tue, 18 Feb 2025 18:12:30 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=pelzflorian.de; s=key2; t=1739898750; bh=yvMOwUgO5toxrq//DnN02zVtNzshCAP17cMlFcbi5d0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=MoTzRxvGIZ7DplINX73eIrlC+jB/aUHeXXq151JxQrRADTh6IxB8jKpGiBSW7iJx0 mWtHfloEaADUrx+T9VPqVrgnHkI+G281cv0xamRGmUJfayGqepW0RzaMFogeGWPkwJ ZTsUfSqdSyXVZYVZl4YVTXjk+jatVr3oA/5XlHatoixNdZGqPyY5N/mSYCgwzMly3i o1N6hipOnMeKQ7cyFWdpN23La6zruRNZAmoyJpZkQUO72Q48GzzuT+l1oyNzJCBmkv LEHppvSePzkzSF/+e2x+gxohSUuWiYGRAUW+m0OghWCaZs+enDvOHNSKGpjZ9swYrc WOOXooStbzqzQ== Received: from policy02-mors.netcup.net (unknown [46.38.225.35]) by mors-relay-8404.netcup.net (Postfix) with ESMTPS id 4Yy5gL0JpCz4xrY for <76246@debbugs.gnu.org>; Tue, 18 Feb 2025 18:12:30 +0100 (CET) Received: from mxe217.netcup.net (unknown [10.243.12.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by policy02-mors.netcup.net (Postfix) with ESMTPS id 4Yy5gK61CGz8sZf for <76246@debbugs.gnu.org>; Tue, 18 Feb 2025 18:12:29 +0100 (CET) Received: from florianhp.fritz.box (ipb21a5dbf.dynamic.kabel-deutschland.de [178.26.93.191]) by mxe217.netcup.net (Postfix) with ESMTPSA id A7CCC84665; Tue, 18 Feb 2025 18:12:24 +0100 (CET) From: Florian Pelz To: 76246@debbugs.gnu.org Subject: [PATCH v5 2/6] gnu: Add guile-cairo-next. Date: Tue, 18 Feb 2025 18:12:17 +0100 Message-ID: <04aef89d602a509d635059fa48b7cdf85c7ddf97.1739898237.git.pelzflorian@pelzflorian.de> X-Mailer: git-send-email 2.48.1 In-Reply-To: References: MIME-Version: 1.0 X-Debbugs-Cc: Liliana Marie Prikler , Maxim Cournoyer , Vivien Kraus Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: A7CCC84665 X-Rspamd-Server: rspamd-worker-8404 X-NC-CID: 8Ma74irLgHnNIYPhzDb5SC0PcaFcJRTOSO4yvU4Z+04FU04AQUodsFce X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76246 Cc: Florian Pelz X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/gtk.scm (guile-cairo-next): New variable. Change-Id: I328afe58d46e60243e075edead12afc0d1c4a98a --- gnu/packages/gtk.scm | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 8e893d66c3..15b43da636 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -37,6 +37,7 @@ ;;; Copyright © 2023, 2024 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2023 Janneke Nieuwenhuizen ;;; Copyright © 2024 John Kehayias +;;; Copyright © 2025 Florian Pelz ;;; ;;; This file is part of GNU Guix. ;;; @@ -1481,6 +1482,47 @@ (define-public guile2.2-cairo ,@(fold alist-delete (package-inputs guile-cairo) '("guile" "guile-lib")))))) +(define-public guile-cairo-next + ;; A commit with cairo-pointer->context, missing from guile-cairo@1.11.2 + ;; and needed by animated-paintable from g-golf-gtk-4-examples. + (let ((commit "30da459d7a4380174ff243b1560d5512a4bca86e") + (revision "0")) + (package + (inherit guile-cairo) + (name "guile-cairo-next") + (version (git-version "1.11.2" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.savannah.gnu.org/git/guile-cairo.git/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0dslfldzgxis8g0g3xaffcqnd1njzz23fjy0v3lc0r2694ra4ny4")))) + (arguments + (substitute-keyword-arguments (package-arguments guile-cairo) + ((#:phases phases) + `(modify-phases ,phases + ;; To allow running the check phase before install, add two phases + ;; similar to David Pirotte's suggested patch: + ;; . + (add-after 'build 'fix-dynamic-link-path + (lambda _ + ;; Dynamic-link libguile-cairo foreign extension by name, not + ;; path. + (substitute* "cairo/config.scm" + (("\\(define \\*cairo-lib-path\\* .*") + "\(define *cairo-lib-path* \"libguile-cairo\")\n")))) + (add-before 'check 'set-libtool-path + (lambda _ + ;; Use appropriate pre-install libtool path in tests. + (setenv "LTDL_LIBRARY_PATH" "../../guile-cairo/.libs"))))))) + (inputs + (list gettext-minimal guile-3.0 guile-lib)) + (native-inputs + (list autoconf automake libtool pkg-config texinfo))))) + (define-public guile-rsvg ;; Use a recent snapshot that supports Guile 2.2 and beyond. (let ((commit "05c6a2fd67e4fea1a7c3ff776729dc931bae6678") -- 2.48.1 From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 18 12:13:12 2025 Received: (at 76246) by debbugs.gnu.org; 18 Feb 2025 17:13:12 +0000 Received: from localhost ([127.0.0.1]:60293 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tkR9k-0008S7-9X for submit@debbugs.gnu.org; Tue, 18 Feb 2025 12:13:12 -0500 Received: from relay.yourmailgateway.de ([185.244.194.184]:50387) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tkR9h-0008Rf-7t for 76246@debbugs.gnu.org; Tue, 18 Feb 2025 12:13:09 -0500 Received: from relay01-mors.netcup.net (localhost [127.0.0.1]) by relay01-mors.netcup.net (Postfix) with ESMTPS id 4Yy5h26r1fz94Jp for <76246@debbugs.gnu.org>; Tue, 18 Feb 2025 18:13:06 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=pelzflorian.de; s=key2; t=1739898787; bh=UKpD1kMErl8/7Lrk5iUks0B/CntbxaXQV0cHBNtJ19k=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Pyv2SC9Bp4gHT7rFFxUxin1wYdysvyEQRYGtCCIfZfjZDdHtTLdjgZYM1bKaAULVP DbpjFZxybPu3K2K9b7GfcBiQYu3gq0RRtDNQwTPgRkL5BPLf1rjuWJlkI13hfwCQtE L426Ytl+glQpIKW9/FDYsfQ7VZJ5hqOLlroQD7l1LWT3WvOzrD+rN2r0yuK/au86D3 uWHHpSmh/372iY4tbkepKvPEckAg7VLYp46KlQLZyajhu4O2wVmLhaPAMW++5uvmRE MIjrhA2CRRTjCSOUn3GZ7d4Nk9K3flRw/a0z7NW+V4aIAAmuCzFAmibuPLmZU6fb50 V8sV4xEJIQPVQ== Received: from policy02-mors.netcup.net (unknown [46.38.225.35]) by relay01-mors.netcup.net (Postfix) with ESMTPS id 4Yy5h268g7z7wTf for <76246@debbugs.gnu.org>; Tue, 18 Feb 2025 18:13:06 +0100 (CET) Received: from mxe217.netcup.net (unknown [10.243.12.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by policy02-mors.netcup.net (Postfix) with ESMTPS id 4Yy5h24nRGz8sZf for <76246@debbugs.gnu.org>; Tue, 18 Feb 2025 18:13:06 +0100 (CET) Received: from florianhp.fritz.box (ipb21a5dbf.dynamic.kabel-deutschland.de [178.26.93.191]) by mxe217.netcup.net (Postfix) with ESMTPSA id 5D68C8466C; Tue, 18 Feb 2025 18:12:56 +0100 (CET) From: Florian Pelz To: 76246@debbugs.gnu.org Subject: [PATCH v5 3/6] gnu: guile-g-golf: Document --no-grafts requirement. Date: Tue, 18 Feb 2025 18:12:51 +0100 Message-ID: X-Mailer: git-send-email 2.48.1 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-NC-CID: P05o+XcaV4/pjopj+IrttG48Ew0DthmD0+ZQsPdeBhx3x7elUg1IByWN X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76246 Cc: Florian Pelz X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Note that packages are unaffected. * gnu/packages/guile-xyz.scm: Tell about grafts bug. Change-Id: Ic0b2c63daa07c693171965d90410aef5a2e41d49 --- gnu/packages/guile-xyz.scm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 921d8b46d6..8fb4448061 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -2603,7 +2603,12 @@ (define-public guile-g-golf modern applications in Guile Scheme. It comprises a direct binding to the GObject Introspection API and higher-level functionality for importing Gnome libraries and making GObject classes (and methods) available in Guile's -object-oriented programming system, GOOPS.") +object-oriented programming system, GOOPS. + +Note: Currently, when developing with G-Golf in @command{guix shell}, there is +a @uref{https://bugs.gnu.org/75157, grafts bug in Guix}. To avoid it, use +Guix' @code{--no-grafts} option. Guix packages that use @code{wrap-program} +are unaffected.") (license license:lgpl3+))) (define-public g-golf -- 2.48.1 From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 18 12:13:55 2025 Received: (at 76246) by debbugs.gnu.org; 18 Feb 2025 17:13:55 +0000 Received: from localhost ([127.0.0.1]:60307 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tkRAM-0008V5-Ri for submit@debbugs.gnu.org; Tue, 18 Feb 2025 12:13:55 -0500 Received: from relay.yourmailgateway.de ([194.59.206.189]:35673) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tkRAJ-0008Up-Is for 76246@debbugs.gnu.org; Tue, 18 Feb 2025 12:13:48 -0500 Received: from relay02-mors.netcup.net (localhost [127.0.0.1]) by relay02-mors.netcup.net (Postfix) with ESMTPS id 4Yy5hp1Vhxz47bS for <76246@debbugs.gnu.org>; Tue, 18 Feb 2025 18:13:46 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=pelzflorian.de; s=key2; t=1739898826; bh=ii0jJfb/6ho5vKuW3pMGflx66fdMWJXYBIOVeJaz58U=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=gvdAbPc2d+T9ThwpVDYH7Nn79t/ID8IfHwhfcRBEhz+U/BPItZgNDU7YoDbgpBOVd SMoIJ4YHcEkNuXs0zFyNiJGI2haGU1ryYEdjGgLDAYHqRw6/PWLpOwYjPLXvHtKxzO ZpO+dCRIXMB7gxS4ZdRumGWCaG8Gh6CZf6II+Ttd7dtntPqNoAlro7WJAa3oU30D2Z pJbY6Z+FbHWG1Shpga8xDG2fIJONofkDK/LfauuzLqkDvS+EUphWj6QYDUQt//uVeh r+J7QVXCJhVYbHoGR48nAZhhDnxBxe1RDUqop4+XviXAzgz0hJkQWNw77MUovr6X9N zhlhMD25cyHNw== Received: from policy02-mors.netcup.net (unknown [46.38.225.35]) by relay02-mors.netcup.net (Postfix) with ESMTPS id 4Yy5hp175gz7wnT for <76246@debbugs.gnu.org>; Tue, 18 Feb 2025 18:13:46 +0100 (CET) Received: from mxe217.netcup.net (unknown [10.243.12.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by policy02-mors.netcup.net (Postfix) with ESMTPS id 4Yy5hn6qfwz8sb8 for <76246@debbugs.gnu.org>; Tue, 18 Feb 2025 18:13:45 +0100 (CET) Received: from florianhp.fritz.box (ipb21a5dbf.dynamic.kabel-deutschland.de [178.26.93.191]) by mxe217.netcup.net (Postfix) with ESMTPSA id 93CBA84631; Tue, 18 Feb 2025 18:13:40 +0100 (CET) From: Florian Pelz To: 76246@debbugs.gnu.org Subject: [PATCH v5 4/6] gnu: Add G-Golf's GTK-4 examples. Date: Tue, 18 Feb 2025 18:13:28 +0100 Message-ID: <103b82ca676b12e0098627f703641d0fe5f41dc6.1739898237.git.pelzflorian@pelzflorian.de> X-Mailer: git-send-email 2.48.1 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 93CBA84631 X-Rspamd-Server: rspamd-worker-8404 X-NC-CID: 5KG/UQZG3z1nq/qncuqFC6zYYTYXiC6v8qPITLZ883uPXp7HC7/uAjG5 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76246 Cc: Florian Pelz X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/guile-xyz.scm (g-golf-gtk-4-examples): New variable. Change-Id: I19b182eb71095ca2deacdb4011c8f50dfcfc8476 --- gnu/packages/guile-xyz.scm | 190 +++++++++++++++++++++++++++++++++++++ 1 file changed, 190 insertions(+) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 8fb4448061..0c7329c7ea 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -53,6 +53,7 @@ ;;; Copyright © 2024 Alec Barreto ;;; Copyright © 2024 Josep Bigorra ;;; Copyright © 2024 Ashish SHUKLA +;;; Copyright © 2025 Florian Pelz ;;; ;;; This file is part of GNU Guix. ;;; @@ -2623,6 +2624,195 @@ (define-public guile2.2-g-golf (replace "guile" guile-2.2) (replace "guile-lib" guile2.2-lib))))) +(define-public g-golf-gtk-4-examples + (package + (inherit guile-g-golf) + (name "g-golf-gtk-4-examples") + (arguments + (list + #:modules `(((guix build guile-build-system) + #:select + (target-guile-effective-version)) + (srfi srfi-26) + ,@%default-gnu-modules) + #:phases + (with-imported-modules `((guix build guile-build-system) + ,@%default-gnu-imported-modules) + #~(modify-phases %standard-phases + (add-after 'unpack 'prepare-examples + (lambda _ + (chdir "examples/gtk-4") + ;; Re-use the existing Makefile for its wildcard syntax. + (rename-file "Makefile.am" "Makefile") + ;; Add a rule to install the examples. We install to the + ;; documentation directory where examples are usually located, + ;; but we will later create a copy in /bin for `guix shell'. + (let ((port (open-file "Makefile" "al"))) + (format port " +prefix = ~a +bindir = $(prefix)/bin +examplesdir = $(prefix)/share/doc/g-golf/examples/gtk-4 +.PHONY: install +install: + mkdir -p $(bindir) + mkdir -p $(examplesdir)/css + mkdir -p $(examplesdir)/demos + mkdir -p $(examplesdir)/images + mkdir -p $(examplesdir)/ui + for f in $(EXTRA_DIST); do \\ + cp $$f $(examplesdir)/$$f; \\ + done + install demos/libfpt.so $(examplesdir)/demos +" #$output) + (close-port port)))) + (delete 'configure) + (replace 'build + (lambda _ + ;; The layout-manager-2 example calls `make', GCC at run-time. + ;; But since it would compile to the read-only /gnu/store, we + ;; deviate by compiling in advance in the build phase, + ;; ignoring failing `make' calls. We do not propagate `make'. + (with-directory-excursion "demos" + (when #$(%current-target-system) + (substitute* "Makefile" + (("^CC = gcc$") + (string-append "CC = " #$(cc-for-target) "\n")))) + (system* "make")))) + ;; There are no tests for examples, but we do an installcheck phase, + ;; which respects when #:tests? is turned off. So delete 'check. + (delete 'check) + (add-before 'install 'patch-scm-files + (lambda* (#:key inputs #:allow-other-keys) + ;; `current-filename' calls in examples are broken. + (map (lambda (binary) + (let ((installed-binary (string-append + #$output "\ +/share/doc/g-golf/examples/gtk-4/" binary))) + (substitute* binary + (("\\(current-filename\\)") + (string-append "\"" installed-binary "\"")) + (("\\(getcwd\\)") + (string-append "\"" #$output "\ +/share/doc/g-golf/examples/gtk-4\"")) + (("^exec guile ") + (string-append + "exec " (search-input-file inputs "/bin/guile") + " "))))) + (map (cut string-drop <> 2) ;strip ./ prefix + (find-files "." (lambda (file stat) + ;executables or .scm modules + (or (= (stat:perms stat) #o755) + (string-suffix? ".scm" + file)))))))) + (add-after 'install 'wrap-binaries + (lambda* (#:key inputs #:allow-other-keys) + (let* ((version (target-guile-effective-version)) + (g-golf (assoc-ref inputs "guile-g-golf")) + (gcairo (assoc-ref inputs "guile-cairo-next")) + (adwaita-icons (assoc-ref inputs "adwaita-icon-theme")) + (scm (string-append "/share/guile/site/" version)) + (go (string-append "/lib/guile/" + version "/site-ccache")) + (binaries + (find-files "." (lambda (file stat) ;executables + (= (stat:perms stat) #o755))))) + (map (lambda (binary) + (let ((installed-binary (string-append + #$output "/\ +share/doc/g-golf/examples/gtk-4/" binary))) + (wrap-program installed-binary + `("GUILE_LOAD_PATH" prefix + (,(string-append g-golf scm) + ,(string-append gcairo scm))) + `("GUILE_LOAD_COMPILED_PATH" prefix + (,(string-append g-golf go) + ,(string-append gcairo go))) + `("GI_TYPELIB_PATH" prefix + (,(getenv "GI_TYPELIB_PATH"))) + ;; Library path for libraries loaded by binaries. + `("LD_LIBRARY_PATH" prefix + (,(string-append gcairo "/lib"))) + `("XDG_DATA_DIRS" suffix + (,(string-append adwaita-icons "/share")))) + ;; Also create a copy in /bin for `guix shell'. + (copy-file installed-binary + (string-append #$output "/bin/" binary)))) + binaries)))) + ;; Add installcheck to ensure nothing breaks. + (add-after 'strip 'installcheck + (lambda* (#:key inputs tests? #:allow-other-keys) + (cond + ((not tests?) + (display "test suite not run\n")) + (#$(%current-target-system) + (display "cross-compiling; reftest skipped\n")) + (else + ;; Start an X server. + (system "Xvfb :1 &") + (setenv "DISPLAY" ":1") + (let* ((g-golf-drawing (string-append + #$output "\ +/share/doc/g-golf/examples/gtk-4/drawing-widget")) + (pid (spawn g-golf-drawing `(,g-golf-drawing) + #:search-path? #f))) + (sleep 10) ;2s is enough on my machine + (display "Taking a screenshot with G-Golf.\n") + (system* "import" "-window" "root" + "drawing-widget.out.png") + (sleep 5) ;1s is enough on my machine + (kill pid SIGINT) + (waitpid pid)) + (let* ((python (search-input-file inputs "/bin/python3")) + (pygobject-drawing #$(this-package-native-input + "drawing-widget.py")) + (pid (spawn python `(,python ,pygobject-drawing) + #:search-path? #f))) + (sleep 5) ;1s is enough on my machine + (display "Taking a screenshot with Pygobject.\n") + (system* "import" "-window" "root" + "drawing-widget.ref.png") + (sleep 5) + (kill pid SIGINT) + (waitpid pid)) + (if (= (pk (system* "compare" "-metric" "AE" "-fuzz" "1%" + "drawing-widget.out.png" + "drawing-widget.ref.png" + "drawing-widget.dif.png")) 0) + (display "All good; they look the same.\n") + (error "Reftest failed; screenshots differ.")))))))))) + (inputs + (list adwaita-icon-theme + bash-minimal + gtk + guile-3.0 + guile-cairo-next + guile-g-golf)) + (native-inputs + (list pkg-config + which + ;; For installcheck: + imagemagick + python-minimal + python-pygobject + xorg-server-for-tests + ;; Python version of drawing-widget from + ;; https://lists.gnu.org/archive/html/guile-user/2024-05/msg00032.html + (origin + (method url-fetch) + (uri "\ +https://lists.gnu.org/archive/html/guile-user/2024-05/txtT_80XuINsX.txt") + (sha256 + (base32 + "07j2v159a3bb99i8kwbqrcgslcmhhnqa5ah53q2b9bdk8042grsx")) + (file-name "drawing-widget.py")))) + (propagated-inputs (list)) + (synopsis "Example GTK 4 apps written in Guile with G-Golf") + (description + "G-Golf port of (a subset of) the upstream @code{gtk4-demo} examples in +the @code{gtk:bin} Guix package output. Run @command{guix edit +g-golf-gtk-4-examples} for inspiration how to wrap G-Golf applications when +writing a Guix package."))) + (define-public g-wrap (package (name "g-wrap") -- 2.48.1 From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 18 12:16:58 2025 Received: (at 76246) by debbugs.gnu.org; 18 Feb 2025 17:16:59 +0000 Received: from localhost ([127.0.0.1]:60353 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tkRDO-0000Rj-An for submit@debbugs.gnu.org; Tue, 18 Feb 2025 12:16:58 -0500 Received: from relay.yourmailgateway.de ([188.68.61.103]:58269) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tkRDK-0000RE-Iu for 76246@debbugs.gnu.org; Tue, 18 Feb 2025 12:16:56 -0500 Received: from mors-relay-8403.netcup.net (localhost [127.0.0.1]) by mors-relay-8403.netcup.net (Postfix) with ESMTPS id 4Yy5mP2SY8z8657 for <76246@debbugs.gnu.org>; Tue, 18 Feb 2025 18:16:53 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=pelzflorian.de; s=key2; t=1739899013; bh=F1lJPQjvzXcD4XDrG2FyEaRK8OS8KgJfe3xnSQ/roAw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=SpsxpIqBJ/K0cjKip3vXBYCNmvStxcPpoEzD8VJPg+F0zsH1jfSL0wGlb9ZFnzG8f UrDgDHWHkIZ2XUBxAOWjCCLFtImb3KJhyjOjeC1KSSD4DhFYMt5OU6AD0FD/T6/l9L 6dbvMb1RS5avheOyUZzE3cjwvBTH/0AEjY1xMIs7kdrmnsi/DzoZyeDbFn8MtAE3l8 AOvimSrqcv5nEsvLlCv9ucuQhGPZ5W1AA4L7FpKQW6LrXmsb1H4qRPqSkf6EL01LvX I1WmfbU4Odux8DgxWV4nBGg5mlaQWQLt+HlmMHTYLgidh87Y+y9PPBS+88mAXgXyFR ugTlUn+HnIP0A== Received: from policy01-mors.netcup.net (unknown [46.38.225.35]) by mors-relay-8403.netcup.net (Postfix) with ESMTPS id 4Yy5mP249Nz8655 for <76246@debbugs.gnu.org>; Tue, 18 Feb 2025 18:16:53 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at policy01-mors.netcup.net X-Spam-Flag: NO X-Spam-Score: -2.897 X-Spam-Level: X-Spam-Status: No, score=-2.897 required=6.31 tests=[ALL_TRUSTED=-1, BAYES_00=-1.9, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no Received: from mxe217.netcup.net (unknown [10.243.12.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by policy01-mors.netcup.net (Postfix) with ESMTPS id 4Yy5mN49Ybz8tY3 for <76246@debbugs.gnu.org>; Tue, 18 Feb 2025 18:16:52 +0100 (CET) Received: from florianhp.fritz.box (ipb21a5dbf.dynamic.kabel-deutschland.de [178.26.93.191]) by mxe217.netcup.net (Postfix) with ESMTPSA id ED3A884631; Tue, 18 Feb 2025 18:16:46 +0100 (CET) From: Florian Pelz To: 76246@debbugs.gnu.org Subject: [PATCH v5 5/6] gnu: Add G-Golf's Adw-1 examples. Date: Tue, 18 Feb 2025 18:16:04 +0100 Message-ID: <583fb5e4ad1bf844875ecf4c41d9e19afe8067ff.1739898237.git.pelzflorian@pelzflorian.de> X-Mailer: git-send-email 2.48.1 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: ED3A884631 X-Rspamd-Server: rspamd-worker-8404 X-NC-CID: 2/KCI3+Hp3mAHg1R+QGlMOsPOWr4qPcjKF0zcP2Ss9GYzj6s200U2Kzu X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76246 Cc: Florian Pelz X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/guile-xyz.scm (g-golf-adw-1-examples): New variable. Change-Id: I160e58ceaeb4867f9b21a0a32f198113e36b5c88 --- gnu/packages/guile-xyz.scm | 135 +++++++++++++++++++++++++++++++++++++ 1 file changed, 135 insertions(+) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 0c7329c7ea..bac21afc4f 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -2813,6 +2813,141 @@ (define-public g-golf-gtk-4-examples g-golf-gtk-4-examples} for inspiration how to wrap G-Golf applications when writing a Guix package."))) +(define-public g-golf-adw-1-examples + (package + (inherit guile-g-golf) + (name "g-golf-adw-1-examples") + (build-system glib-or-gtk-build-system) + (arguments + (list + #:tests? #f ;there are no tests for examples + #:modules `(((guix build guile-build-system) + #:select + (target-guile-effective-version)) + (guix build glib-or-gtk-build-system) + (srfi srfi-26) + ,@%default-gnu-modules) + #:phases + (with-imported-modules `((guix build guile-build-system) + ,@%default-gnu-imported-modules) + #~(modify-phases %standard-phases + (add-after 'unpack 'prepare-examples + (lambda _ + (chdir "examples/adw-1") + ;; Re-use the existing Makefile for its wildcard syntax. + (rename-file "Makefile.am" "Makefile") + (substitute* "Makefile" + ;; Fix syntax error. + (("hello-world") + "hello-world \\")) + ;; Add a rule to install the examples. We install to the + ;; documentation directory where examples are usually located, + ;; but we will later create a copy in /bin for `guix shell'. + (let ((port (open-file "Makefile" "al"))) + (format port " +prefix = ~a +bindir = $(prefix)/bin +examplesdir = $(prefix)/share/doc/g-golf/examples/adw-1 +.PHONY: install +install: + mkdir -p $(bindir) + mkdir -p $(examplesdir)/demo/icons + mkdir -p $(examplesdir)/demo/pages + for f in $(EXTRA_DIST); do \\ + cp -r $$f $(examplesdir)/$$f; \\ + done + cp demo/g-resources $(examplesdir)/demo/g-resources +" #$output) + (close-port port)))) + (delete 'configure) + (replace 'build + (lambda _ + ;; Create files for adwaita-1-demo needed in install phase. + (with-directory-excursion "demo" + (system* "make") + (system* "glib-compile-resources" + "--target" "g-resources" + "g-resources.xml")))) + (add-before 'install 'patch-scm-files + (lambda* (#:key inputs #:allow-other-keys) + ;; `current-filename' calls in examples are broken. + (map (lambda (binary) + (let ((installed-binary (string-append + #$output "\ +/share/doc/g-golf/examples/adw-1/" binary))) + (substitute* binary + (("\\(current-filename\\)") + (string-append "\"" installed-binary "\"")) + (("^exec guile ") + (string-append + "exec " (search-input-file inputs "/bin/guile") + " "))))) + (map (cut string-drop <> 2) ;strip ./ prefix + (find-files "." (lambda (file stat) + ;executables or .scm modules + (or (= (stat:perms stat) #o755) + (string-suffix? ".scm" + file)))))))) + (add-after 'install 'wrap-binaries + (lambda* (#:key inputs #:allow-other-keys) + (let* ((version (target-guile-effective-version)) + (g-golf (assoc-ref inputs "guile-g-golf")) + (adwaita-icons (assoc-ref inputs "adwaita-icon-theme")) + (libadwaita-icons (assoc-ref inputs "libadwaita")) + (scm (string-append "/share/guile/site/" version)) + (go (string-append "/lib/guile/" + version "/site-ccache")) + (binaries + (find-files "." (lambda (file stat) ;executables + (= (stat:perms stat) #o755))))) + (map (lambda (binary) + (let ((installed-binary (string-append + #$output "\ +/share/doc/g-golf/examples/adw-1/" binary))) + (wrap-program installed-binary + `("GUILE_LOAD_PATH" prefix + (,(string-append g-golf scm))) + `("GUILE_LOAD_COMPILED_PATH" prefix + (,(string-append g-golf go))) + `("GI_TYPELIB_PATH" prefix + (,(getenv "GI_TYPELIB_PATH"))) + `("GUIX_GDK_PIXBUF_MODULE_FILES" suffix + (,(getenv "GUIX_GDK_PIXBUF_MODULE_FILES"))) + `("XDG_DATA_DIRS" suffix + (,(string-append #$output "/bin/demo") + ,(string-append adwaita-icons "/share") + ,(string-append libadwaita-icons "/share")))))) + binaries)))) + (add-after 'wrap-binaries 'copy-binaries + (lambda _ + (copy-file (string-append + #$output "\ +/share/doc/g-golf/examples/adw-1/demo/adwaita-1-demo") + (string-append + #$output "/bin/adwaita-1-demo")) + (copy-file (string-append + #$output "\ +/share/doc/g-golf/examples/adw-1/hello-world") + (string-append + #$output "/bin/hello-world")))))))) + (inputs + (list adwaita-icon-theme + bash-minimal + libadwaita + (librsvg-for-system) + gtk + guile-3.0 + guile-g-golf)) + (native-inputs (list `(,glib "bin") ;for glib-compile-resources + guile-3.0)) + (propagated-inputs (list)) + (synopsis "Example Adwaita 1 apps written in Guile with G-Golf") + (description + "G-Golf port of (a subset of) the upstream @code{adwaita-1-demo} examples +in the @code{libadwaita} Guix package. Run @command{guix edit +g-golf-adw-1-examples} for inspiration how to wrap G-Golf applications when +writing a Guix package."))) + (define-public g-wrap (package (name "g-wrap") -- 2.48.1 From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 18 12:17:51 2025 Received: (at 76246) by debbugs.gnu.org; 18 Feb 2025 17:17:51 +0000 Received: from localhost ([127.0.0.1]:60370 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tkREF-0000XX-7A for submit@debbugs.gnu.org; Tue, 18 Feb 2025 12:17:51 -0500 Received: from relay.yourmailgateway.de ([188.68.63.102]:45811) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tkRED-0000XD-0R for 76246@debbugs.gnu.org; Tue, 18 Feb 2025 12:17:49 -0500 Received: from mors-relay-2502.netcup.net (localhost [127.0.0.1]) by mors-relay-2502.netcup.net (Postfix) with ESMTPS id 4Yy5nS0rktz65tC for <76246@debbugs.gnu.org>; Tue, 18 Feb 2025 18:17:48 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=pelzflorian.de; s=key2; t=1739899068; bh=MB6OhT22GX8TrIXCVxm/5B0/mZSSfd8aTC3ePIAHZpQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=JI/KyMN80cHnIfPrw/8Go4RpoqRAEOprOghkRasAFfNOhpPo4zT3QgRmrt0Y4azDD aKPj/F47x7abnKlNhh/IQMvOvzqXSLmh1baGRL4kgDxA3KqpgkLTKLDJMscaDOQ1EA tPdX28w4q3mW3Sn68N6MTSR00uYmKLtCKO0GSQM+ZKgZWEYGoXjRGwlRKBDkyKSIvR 2GIXDQtzQMLntCjY1EjZp7w0fGDiqUgyBqkEHHAMbrnDHtYEMI2VHijqrCstO/rFsp W1f7PjJGshh9cr/uV2DcqjxInCeNcLXItaPQANf7AbgrsMsHR5ohqt2SiBIBn9mx4u 0NOumnp5gTkmw== Received: from policy01-mors.netcup.net (unknown [46.38.225.35]) by mors-relay-2502.netcup.net (Postfix) with ESMTPS id 4Yy5nS08TLz4xM7 for <76246@debbugs.gnu.org>; Tue, 18 Feb 2025 18:17:48 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at policy01-mors.netcup.net X-Spam-Flag: NO X-Spam-Score: -2.897 X-Spam-Level: X-Spam-Status: No, score=-2.897 required=6.31 tests=[ALL_TRUSTED=-1, BAYES_00=-1.9, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no Received: from mxe217.netcup.net (unknown [10.243.12.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by policy01-mors.netcup.net (Postfix) with ESMTPS id 4Yy5nQ5TRrz8t4F for <76246@debbugs.gnu.org>; Tue, 18 Feb 2025 18:17:46 +0100 (CET) Received: from florianhp.fritz.box (ipb21a5dbf.dynamic.kabel-deutschland.de [178.26.93.191]) by mxe217.netcup.net (Postfix) with ESMTPSA id 68D9F845C9; Tue, 18 Feb 2025 18:17:41 +0100 (CET) From: Florian Pelz To: 76246@debbugs.gnu.org Subject: [PATCH v5 6/6] gnu: g-golf: Redefine as a non-deprecated alias. Date: Tue, 18 Feb 2025 18:17:28 +0100 Message-ID: X-Mailer: git-send-email 2.48.1 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 68D9F845C9 X-Rspamd-Server: rspamd-worker-8404 X-NC-CID: 7Pa5vb4eVqck0d1NsrEDVbQmz9TIqYJ6x7Rm8kEOJavsjRiONiuNlrX2 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76246 Cc: Florian Pelz X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) As proposed by Maxim Cournoyer . * gnu/packages/guile-xyz.scm (g-golf: Redefine. Change-Id: I850e05d46c026d6a27c8765ff3753c1bbe555235 --- gnu/packages/guile-xyz.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index bac21afc4f..0fc6123f1d 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -2613,7 +2613,9 @@ (define-public guile-g-golf (license license:lgpl3+))) (define-public g-golf - (deprecated-package "g-golf" guile-g-golf)) + (package + (inherit guile-g-golf) + (name "g-golf"))) (define-public guile2.2-g-golf (package -- 2.48.1 From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 18 12:33:18 2025 Received: (at 76246) by debbugs.gnu.org; 18 Feb 2025 17:33:18 +0000 Received: from localhost ([127.0.0.1]:60555 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tkRTB-0002Hl-Ku for submit@debbugs.gnu.org; Tue, 18 Feb 2025 12:33:17 -0500 Received: from tobias.gr ([80.241.217.52]:32840) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tkRT7-0002H9-IX for 76246@debbugs.gnu.org; Tue, 18 Feb 2025 12:33:15 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; s=2018; bh=OGlknr/m9d7Qz zoZ37NXmFemjrDDXn6exIki+MQ6Uhc=; h=references:in-reply-to:subject:to: from:date; d=tobias.gr; b=YjkKAWxFaFCSbYOfLQ+HebzupX7YaBigBd68nj2rf32j 5piu03awRFxXbq2xZPYzgo7YGSn1KL/J4iNZcZIaar7dbagnW090hFClyM/M8SqLTzpGnn hBJA+y8qJm+WBkI0p3VpHS+ZnyYosfH13nFtJ/Roo+02mScy9uv9bWpumMqn3M7lvFoqAi 28WwzduzjpvE5pzNZUgxc8rMi6iU5Pj08CPfUj7Z2xLSwVycyBgYXpUEqvK3cSq5r8VPNZ xRRJeZCf1vOWNj4yN5uVaVCeIhChkzRxPlQqiL69VaYNZAr807GVG5enOgaVJfBo3FaCP+ vvjTR+wTCNgSvNXl0A== Received: by submission.tobias.gr (OpenSMTPD) with ESMTPSA id f285a312 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Tue, 18 Feb 2025 17:33:13 +0000 (UTC) Date: Tue, 18 Feb 2025 17:33:06 +0000 From: Tobias Geerinckx-Rice To: Florian Pelz , 76246@debbugs.gnu.org Subject: =?US-ASCII?Q?Re=3A_=5Bbug=2376246=5D_=5BPATCH_v5_6/6=5D_gnu=3A_g-g?= =?US-ASCII?Q?olf=3A_Redefine_as_a_non-deprecated_alias=2E?= In-Reply-To: References: Message-ID: <0614B99B-B409-4D89-928B-D7B5F5BA1399@tobias.gr> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Autocrypt: addr=me@tobias.gr; prefer-encrypt=mutual; keydata= mQINBFVks2ABEACjGBPhWf/qx0L9OhEIrAFTimo5dHa1FLy0AHaHvxmwYSIdJmERYGiNle1rcOvw cFRtu8KJUsrs27Vgoso3qHJpghVitUUf0v3ZuXQT9kfuQLz1Y8pyMzHwVFMLiJVj4Z3y7CJk+xyZ cpSAMbyPINbFVEhsK+z+8ojVGuaiucZkib6b67ySG6Pp1bon8xVvosj71ZRjfXh1t4X8laWO7fQq itT9lmc6DxbE/4vIhR+Vb2MblaA+DyHoNHGGao89h4CO99lfzWzsux41DnEG9d317sJRQTig6Wja EKHXZRA9FbfogD4SDa2uQYCpTJpsVjAyZyu2fuJ+t0zJJ+Ai9qDY87P6hOyd+/n8Eh2Y4TbxJiDo XUT72XY/RfPH1qrMIP3EI/NNL4LQeGG1n+625k3OVWcRVXG2vRrB6qurLmGkLEmjXWCFD9cCRGfH LeajLm9sM+t/nZPZ3btetcmK9tM2EwivyLUNhrTk73UUnI4CSAzdO2cISqo9zSMtFgj2alqd2fOR s7CKfEn+5PquruDbp/Ej7dOOrjgWSCXLDDYXRrtaKrLz/dhqq5ftFYi9tUTTQecFotM08fPtu+Kw JMP2ySHCkUqp0GvrUCeSRPAJZsmJrd535y+LlRhnqb0mbG4dgMa8A6xhkFYugnqldy/q7kX1EmRI 686N7bA6fh1MCQARAQABtCRUb2JpYXMgR2VlcmluY2t4LVJpY2UgPG1lQHRvYmlhcy5ncj6JAlIE EwEKADwCHgECF4ACGQECGwMWIQT1vFU0w28Ah7OdNu8cncT+udt8SwUCXpe0rAYLCQgHCgQFFQoJ CAsFFgMCAQAACgkQHJ3E/rnbfEu5IhAAk+0BW/twLmx1xMmeXn+I7Ne6SG3++0TRBduEaGWV3n59 lX6XPZUQdAPpS4uy0H+c90Owkw+aWUEwfyOWphrxZRtR2cCOP/3Pxj3Vgtz5RkY4u27lMj15jqa/ p7l2l256ZKJOegr9TvOWtkhMp5lxeVHT6f/44Kv/r/8mMCgSnLXYrEWPE462xI+mIJOanHLJb6No f2xLRCvXoLLp7Yejjv1dwOO71R9PMRhtNy46pZM1ylQ++UTkeSocJw4aNtiu0DHOkX9AlNBkutIx x07RpO+MqJKlzzLeQiC/fE5+dR2itRONopwXAqN3MuT7MonQo5XifBn+VK8i9xZWTXZDkWItWtCC 8oIj4zwxwFWiTmMwwSbI3Wdd/11Zw3CLc4Gd0M6NVgvAnuErQXSgr4lrWhZcncvi4L6EJTc9AUSa 8UWPF+S9t+CHTukpJmcYnsccMkOBhT7OZlmWBsylrYK/JTRWqgWSHWdSKmOuLK+MGDneOZEHkEcf jeXRWvmG7MSU5tE/p7NDLIg9vkvhQV9b0q4OtY65uNWbRe2QRJaYMDcYUAeSZzivRa8VaoVen6tb FvH44zpCxubn23ABl9YIzwvJC++r+H2qLdLpy0cfITiZadZ74Ae0aosNw7XARS6OY+A03BfXyPiI 2oW0jf/PdH9sh2mQrQxIQJ5cZz6Z3X20MFRvYmlhcyBHZWVyaW5ja3gtUmljZSAodG9iaWFzLmdy KSA8bWVAdG9iaWFzLmdyPokCNgQwAQoAIBYhBPW8VTTDbwCHs5027xydxP6523xLBQJZUuJkAh0g AAoJEBydxP6523xLwEoP/iaVWdICefmaZ+bkdUg6hwTKxSPlYdLoaCxYI5V2NnZYXG0dy47E7WJP 4EmTDldcne4UG5NyCgXPSMZDNMqcddEMNbmlssTcLKyu6R/VvTcuL3pEhNoLzm9t2IHR/YGAHJIc pyfmJ3amGSlsbo6s6Vv+mbrJTRPIDpLUst/PDoGYihcSKTxoIw8RtNAy+FAliIdJ8ZuPA3BTxQei sQzgWJo68UInvnFp4juq0zupNDqKddemI8kZCRK/fFPBDD71nqiSJjx2tvbjkTiPU9gmTp7Nulgj ZATZIt0pUhn87w15ItzrsiEjTYCMTmHY5wnvyLarFKZLzQjgUJfsbv4WRJRnX0/EEJWMvMtSdtXL fjwTLrSGAr4vh13PMfE6uVkGkeCV/8BfGJqRE4zkI+QOVILw6VSAP6sdtGSGb52bcCuPj7p9zGIB IuKFudT+DzUb5uV2jbahSjJ8X4Ak/ruG2Hv3iICZawDpHV1JDNgY910KNi5T6gFrjFA2G6aiXDCO SlToLPnPBYH85UVOsp2VykE9AREKS7a7o76cibjwBNN+4xJqJRxhs9YH4JKzE3w/ptVnx49QFBGc pjPkzMTs7DtanD8iqL4J6afnycv9KqIlNJONaMHvzxeunV7QCsoF6DdusZJKFMexiDBaOFUmGFFS XfzK2oNjknx1QApyTPvhiQJpBBMBCgBTAhsvAh4BAheAAhkBBAsJCAcFFQoJCAsFFgMCAQASGGhr cDovL3BncC5taXQuZWR1FiEE9bxVNMNvAIeznTbvHJ3E/rnbfEsFAllS4TwFCRa6MNwACgkQHJ3E /rnbfEuMFg//csSmcerqM+h1jwlKPJ4UiLXj3kFxSuSr0DrJzgLIpjuMdB2bhJ3YZwJTrZI9P7DP v+ebTKoeCjxoi5zJcINakZ9/FBn3cOCsYmpdHdaOPm34pHh9c0y9+NAvGJvugBRWIWK3qYYJzjff YL1r5lGCM4FXuhTcjVTTs5iCvYlAhtnHEAM6+c+mftdwrCJaqCiz3G13OCtpujn8fOn/B2nv6ZdT hen3Xqh3xBU2PnxPhVtyOulsJ318SKbUAk0h3tbLLkzFIS+7XvpHuwB72NkZw233IAN1Uq/nmJK/ YIsi+icNGpI60+PnLFiqYrSmtD6BCf8pOPq+isscu5uTuhfHt8fjLZPiqyf12CLoNKIp94sUi/1n M75GKz9MPWs6vqosq+E1xs9wVBw0gwUluejWgg3mIE3754W6xQ6tnpspdrt+x5kykfPMD3r1T8uq +z4ZUtE3A6QIjjxzIN0Xk8ZpC5Mg3yUzhyM1qF4e8pM2U7/tJC9BO5CNWJmKBqmGZ5sYw85wjEZ+ WnfU770tgCGZjcjIYjqYuoCgHMd2J8pkXdf76CINWK4+fCoKHr/4kWfU3e8ikFStTBer/Bu5tXa5 RPh90F6l2DNRitUdv+7vAiFnAuP61ZSUSqRbOiE1SPTv4cGBOCgB7xIOU6+rKzlweR/vO0otLZc+ TyFnSKPrfzg= X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76246 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Florian, Thanks=2E If we do decide to do this (I don't think it's a good idea; jus= t keep =E2=80=98guile-g-golf=E2=80=99), then add a comment like ;; Use =E2=80=98guile-g-golf=E2=80=99 above in package inputs and other co= de=2E This alias exists as a compromise, ;; see =2E so later readers can know why we have two identical packages with differen= t package names=2E Kind regards, T G-R Sent on the go=2E Excuse or enjoy my brevity=2E From debbugs-submit-bounces@debbugs.gnu.org Sat Feb 22 21:47:42 2025 Received: (at 76246) by debbugs.gnu.org; 23 Feb 2025 02:47:42 +0000 Received: from localhost ([127.0.0.1]:58373 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tm21t-0001ZW-P0 for submit@debbugs.gnu.org; Sat, 22 Feb 2025 21:47:42 -0500 Received: from mail-pj1-x102c.google.com ([2607:f8b0:4864:20::102c]:43182) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1tm21k-0001Yx-Qh for 76246@debbugs.gnu.org; Sat, 22 Feb 2025 21:47:38 -0500 Received: by mail-pj1-x102c.google.com with SMTP id 98e67ed59e1d1-2fc1f410186so7606709a91.0 for <76246@debbugs.gnu.org>; Sat, 22 Feb 2025 18:47:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740278846; x=1740883646; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=duZ2QZwzM2DEOJ5cVE5TliaZ7EGIpHtlpIl7T5j3AYA=; b=HbC1xeZUVCetoFgAcUbamMuuMByb+79zdmPdvk9ntev7Z/sk1Po5npXFnx4Re3guY4 K0bRYKFP7EA5o1w9OSaqtqV5HujjPYIx3aAsefl+fzIUFR8+esZOg55p5rNE4/vijj+p 5IzXMtDDnlVJ+Jr1Wx40q2oqIYWfhw/BkT2i+5T0akQKWDKIaSHB7zDxkG2bfZLbAFxd igl8ThYE5WMZHLkV/Lf4avPeTpzQeHMydRkux5KrLS6l2+W5ekPpBSKw7fzg/Qvbiu7m fEFtRgZ5Q2dExd+Hus8LTi/JfNpMgXB4lAGnwgkcJIE2ASogEYy6Ui/xFHeqBPr58MYj P5Og== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740278846; x=1740883646; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=duZ2QZwzM2DEOJ5cVE5TliaZ7EGIpHtlpIl7T5j3AYA=; b=xG4BnxNiu/yvSBRTIxuewq2C5shnEKH9ngwjr/84yeLXNFKoH/zt/AVR1txf6gXa6T dV36Im5aW9GQ5+wgboCYV4W5fw3vw0eUZwXtMhcZ+P0ZKfcxDmhWDRdDDsKmeb6itOVu PYC5bHcULTwUkt8xKXLjuX9LGeYPDcJEWXeGek4BU5BAScPRt4e7UTy07CVXp9UewTOM N7qOUVU87BUSjQMiRs7XLQU2Hkfp1GKEasCvw54WQJcK+RgEY+WNJkgGMXz2c7FVVDLz u0tbv3Zhg7qRDaG7sk1WrDuREEDQSTDo0CjlmcV4Z9bl64urvYur+GobKFUpRKdb7y2p P+Yw== X-Forwarded-Encrypted: i=1; AJvYcCWIiXqdHs252x1VkjZNvgqsXN5DfsYmNSbPcCyklunqx7EI4pbp2IT5pnp5ADuHSDe/TbIe3w==@debbugs.gnu.org X-Gm-Message-State: AOJu0YxKcSJ9SriOAXPlmR8JLe5Nx/ScVQr5BXgOFP+4euLCvDa1Df24 S3iC5nPK6Idq3q0QXXfrTCgUtJFHKwG0PaAJmTo7+lX2Qy4rhhpMtv7MRf2Fxcs= X-Gm-Gg: ASbGncsoktkLbjDLxQuJxwieGPXG5/iAP9vcmhZ03e6yRaPnEQSfYupaj9K3po3UyrR qm3hKuWTLVpO32lysdUofnaTaaHrhDaNMC0FjzQc3tRLi5OlNYCE5tBe7LtVEAUq+6I6dyaryF3 xNqShoY1rIt3rgfMk9qDkmtX51i+ULygEPXjekgwM0Rz7WBxAOcs5ml8h1T3QxHfaOs+CBfq7tm JLd49iWgaxOFzH5v222AucwAJY7J8jwmzx6v53/WRoMGjCcM7JizgqYA5h1Twoz15US1pilsyFB WOYhfvDUtUkqUZPGxlkY8BVy X-Google-Smtp-Source: AGHT+IEpjw40ktYjkYJDCKXRuyGp54hQUqh9A1Bwa/tZ/RlSBNkABUHLHDvsrUpvuoHz0jMVzQhg4w== X-Received: by 2002:a05:6a20:2d14:b0:1e1:a449:ff71 with SMTP id adf61e73a8af0-1eef3c5d155mr15336555637.1.1740278846036; Sat, 22 Feb 2025 18:47:26 -0800 (PST) Received: from terra ([2405:6586:be0:0:83c8:d31d:2cec:f542]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-732771a01bbsm12488003b3a.78.2025.02.22.18.47.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Feb 2025 18:47:25 -0800 (PST) From: Maxim Cournoyer To: Tobias Geerinckx-Rice Subject: Re: [bug#76246] [PATCH v5 6/6] gnu: g-golf: Redefine as a non-deprecated alias. In-Reply-To: <0614B99B-B409-4D89-928B-D7B5F5BA1399@tobias.gr> (Tobias Geerinckx-Rice's message of "Tue, 18 Feb 2025 17:33:06 +0000") References: <0614B99B-B409-4D89-928B-D7B5F5BA1399@tobias.gr> Date: Sun, 23 Feb 2025 11:47:12 +0900 Message-ID: <871pvpqswf.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76246 Cc: Florian Pelz , 76246@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Tobias, Florian, Tobias Geerinckx-Rice writes: > Hi Florian, > > Thanks. If we do decide to do this (I don't think it's a good idea; > just keep =E2=80=98guile-g-golf=E2=80=99), then add a comment like > > ;; Use =E2=80=98guile-g-golf=E2=80=99 above in package inputs and other c= ode. This alias exists as a compromise, > ;; see . My 2 cents: prefixing a package with '$lang-' is a (somewhat loose, or at least sparsely documented *guideline*). I think given David is very sensitive about having their package exposed as 'g-golf' on the command line of Guix, it is not a big harm to do what is proposed by Florian above (and I second adding the comment you suggested). We'd loose more to not have 'g-golf' packaged anymore in Guix, which is the only library to do GTK with Guile, IIRC. Guix itself might use it at some point, for a GUI updater say that could make keeping Guix up-to-date easier on desktop systems. --=20 Thanks, Maxim From debbugs-submit-bounces@debbugs.gnu.org Mon Feb 24 18:51:21 2025 Received: (at 76246-done) by debbugs.gnu.org; 24 Feb 2025 23:51:21 +0000 Received: from localhost ([127.0.0.1]:43499 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tmiEK-0006yD-Ly for submit@debbugs.gnu.org; Mon, 24 Feb 2025 18:51:21 -0500 Received: from relay.yourmailgateway.de ([188.68.63.174]:59067) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tmiEG-0006xx-52 for 76246-done@debbugs.gnu.org; Mon, 24 Feb 2025 18:51:17 -0500 Received: from mors-relay8204.netcup.net (localhost [127.0.0.1]) by mors-relay8204.netcup.net (Postfix) with ESMTPS id 4Z1yDd1nrQz8bD8; Mon, 24 Feb 2025 23:51:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=pelzflorian.de; s=key2; t=1740441073; bh=W9bkMp9SAhVo3NSO6w/lPeXrJ2kL+W2ja47O/J+R0HU=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=XQ1TTbX1jVDJWvCb2oOeVAF8wjcYYymCLBmNJxgIGD7Hopen2hnzj2Vc8EzW6w0DQ 6bday0NBmg7qlRjpcKlxB+fb9fktj+hoE76LGuoqNx4o8AbDTxiTA4JyztfLM6/OWA P4w3MWwI5TN3k1YujrCdJZ0m4a4vT9+qutBwFGxK23WjNU3D+ebXbsvPBFnPe+CH35 Jz08nMx6SaXHu8gpx6aNy41zDVH/y3aUi4WgUmzrH+KOkUxO0JUgiS0h0E8Eo5ojwt NyKfXHWtMfdul8ssaTQb1StFxBVDT8anGgrWZ9P4qScs93essD3ndwZcybZhUlavok kvcvQgyBM3YUw== Received: from policy01-mors.netcup.net (unknown [46.38.225.35]) by mors-relay8204.netcup.net (Postfix) with ESMTPS id 4Z1yDd146xz8bB5; Mon, 24 Feb 2025 23:51:13 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at policy01-mors.netcup.net X-Spam-Flag: NO X-Spam-Score: -2.897 X-Spam-Level: X-Spam-Status: No, score=-2.897 required=6.31 tests=[ALL_TRUSTED=-1, BAYES_00=-1.9, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no Received: from mxe217.netcup.net (unknown [10.243.12.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by policy01-mors.netcup.net (Postfix) with ESMTPS id 4Z1yDZ0Hxmz8scb; Tue, 25 Feb 2025 00:51:09 +0100 (CET) Received: from florianhp (ipb21a5dbf.dynamic.kabel-deutschland.de [178.26.93.191]) by mxe217.netcup.net (Postfix) with ESMTPSA id 67BB08469D; Tue, 25 Feb 2025 00:51:03 +0100 (CET) From: "pelzflorian (Florian Pelz)" To: 76246-done@debbugs.gnu.org Subject: Re: [bug#76246] [PATCH v5 6/6] gnu: g-golf: Redefine as a non-deprecated alias. In-Reply-To: <871pvpqswf.fsf@gmail.com> (Maxim Cournoyer's message of "Sun, 23 Feb 2025 11:47:12 +0900") References: <0614B99B-B409-4D89-928B-D7B5F5BA1399@tobias.gr> <871pvpqswf.fsf@gmail.com> Date: Tue, 25 Feb 2025 00:51:19 +0100 Message-ID: <874j0idhqg.fsf@pelzflorian.de> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 67BB08469D X-Rspamd-Server: rspamd-worker-8404 X-NC-CID: GGNYxNdGORO+R/lXp8i6+qJOzVI7bYAINq13+COf3iWsZReupapGGuq1 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76246-done Cc: Tobias Geerinckx-Rice , Maxim Cournoyer X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Pushed as db172d1f64a514babc9a2e4fd11fe8fe248e306e. * Added Tobias=E2=80=99 comment on the alias g-golf compromise. I was at first inclined to drop the whole alias patch, since David Pirotte did not respond on it, but the alias is in Guix now. * Changed synopses and descriptions to be closer to what David Pirotte wrote. This means the synopsis no longer says =E2=80=9Cin Guile=E2=80=9D= , but surprisingly, it does not negatively affect its search score with =E2=80=9Cguix search guile gtk=E2=80=9D. However, I wrote "G-Golf GTK 4 = examples" instead of David=E2=80=99s "G-Golf Gtk-4 Examples". * In g-golf-adw-1-examples, I wrapped GDK_PIXBUF_MODULE_FILE rather than GUIX_GDK_PIXBUF_MODULE_FILES, so it builds on the master branch. The main demo adwaita-1-demo does not work on master yet, libadwaita is too old. I plan to rewrite the wrapping when GUIX_GDK_PIXBUF_MODULE_FILES is on master or rather =E5=AE=8B=E6=96=87=E6= =AD=A6=E2=80=99s GCD [1] is accepted. I would much welcome if G-Golf, AFAIK the only currently maintained and comprehensive library to access GTK and perhaps better Libadwaita in Guile, were put to use in Guix itself, as Maxim writes, but I will not be of help. Regards, Florian [1] https://git.savannah.gnu.org/cgit/guix/guix-consensus-documents.git/pla= in/004-set-search-paths-without-program-wrappers.md?h=3Dwip-set-search-path= s-without-program-wrappers https://lists.gnu.org/archive/html/guix-devel/2025-02/msg00007.html From debbugs-submit-bounces@debbugs.gnu.org Mon Feb 24 21:12:25 2025 Received: (at 76246-done) by debbugs.gnu.org; 25 Feb 2025 02:12:25 +0000 Received: from localhost ([127.0.0.1]:43806 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tmkQr-00007o-7Y for submit@debbugs.gnu.org; Mon, 24 Feb 2025 21:12:25 -0500 Received: from mail-pl1-x632.google.com ([2607:f8b0:4864:20::632]:59626) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1tmkQn-00007U-TQ for 76246-done@debbugs.gnu.org; Mon, 24 Feb 2025 21:12:22 -0500 Received: by mail-pl1-x632.google.com with SMTP id d9443c01a7336-220bfdfb3f4so316185ad.2 for <76246-done@debbugs.gnu.org>; Mon, 24 Feb 2025 18:12:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740449535; x=1741054335; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=9HbV+jvmW91zMzoTFvuy1jS1LeGPLuTfdg/+S3efcVc=; b=hgS+nsFTY0GQiJpkYi0Cd892CR3Gx1n6+pqpN9ruCYyp5EmJC0CHWBFcAS7LTEgMnT hysKB+oIVvW/UCL+0dFOmplRmOaJrwaoraSlJxYnQPEwIHErOn85Pxlw86AyCrnrd5ZB WqV92CLJ3rFA0JT9DDo2kn0zSKn5mFPXx2i+v+n56JI1+DrQ+0ihzWiRrrKBvB6QSPqR tvDW69iA8LKvdMl/N49pove5LCJFBzgzcHFRANUktn3UvZN533/FPyzaXbvGaaVDfHcC 2UJrBb/6XZVlBOs+Qhb9E0s891WRfh3PfJe5VszVUqymp3clReBRcy3UHjWLYjb2Ebbw RVBQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740449535; x=1741054335; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=9HbV+jvmW91zMzoTFvuy1jS1LeGPLuTfdg/+S3efcVc=; b=rTnuL8UOTrOodD2F51Z7Xp2D1NTJOjX17VJcx9puaGtA+NZK438WLpX7mMDqt9D+CK brmTY9VVvt5OSInydId/GvVttMsBuMmeSidH2DRl4Nd8SZwpfnlW8j10stT2xrff0hV+ Wp6ebdDjlmGZrBuN3dPxUME9/uSmSZsoDCGBLyRET4yhMK15RxYnVVnjpzf/w2p2Ud7s NKJc9BEwo9dJiOr7xSQVoPmzSSsJvBGD+jAh3f5EN5k5IaI29DDGTaFfw2liEVkc0elH csVz8LHi7JPMuXKscDICWH/Qa7eq7ZMrBfgoPgdrr/7/atFQjqOTPwvdMm+RtC3DOgz+ jxPA== X-Gm-Message-State: AOJu0YyGIY9BmLwCfxG8MgfyfmPvxHaLOm4QUTHMoMql39bZInb+00Fu M8g9fe/e95gqOf+hWss03s3apSfwPnwAEuj4l8q3NMSHH3OoOR/njQx2Uu9/ X-Gm-Gg: ASbGnctrdRBpJMn+iPhEgJnb3+7ydT9Y3rVPH85LkPV1RYSCMYnQfGmvrmh84Ze+jbu Nhog6fJleelhIpKAmTud+eqwRHTKy0KIxDxz1GKn3oCWrQYqR3ievx7M4/XLgdNBBdrSOW34rgW +MbLTRxmrNTK6ded3EbmfbLvo/JF2h5R5sA6YDYKlCg0uzbYjerWdGjmhiNzH57qfl/oQUClYz6 7hS8n46a76mLHCPMmpugsHfZGW+WXKvJu0nfEY50JFW2aGuGjlAYOXJmC3J504GKL6MlvhoS09I vXmVmgJktx3gd0p8Zisk2abn X-Google-Smtp-Source: AGHT+IETYMYGimNWvXQ1Cv+4ocN8AKsNodlPI8fqDeMWgz5eYBjlohVYR2PHw5N8OIsB7ZE4BgSxBA== X-Received: by 2002:a17:902:db07:b0:216:73f0:ef63 with SMTP id d9443c01a7336-2219fff4377mr277150495ad.49.1740449535416; Mon, 24 Feb 2025 18:12:15 -0800 (PST) Received: from terra ([2405:6586:be0:0:83c8:d31d:2cec:f542]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2230a0a60d5sm2876505ad.182.2025.02.24.18.12.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Feb 2025 18:12:14 -0800 (PST) From: Maxim Cournoyer To: "pelzflorian (Florian Pelz)" Subject: Re: [bug#76246] [PATCH v5 6/6] gnu: g-golf: Redefine as a non-deprecated alias. In-Reply-To: <874j0idhqg.fsf@pelzflorian.de> (pelzflorian@pelzflorian.de's message of "Tue, 25 Feb 2025 00:51:19 +0100") References: <0614B99B-B409-4D89-928B-D7B5F5BA1399@tobias.gr> <871pvpqswf.fsf@gmail.com> <874j0idhqg.fsf@pelzflorian.de> Date: Tue, 25 Feb 2025 11:12:01 +0900 Message-ID: <87eczmn572.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76246-done Cc: Tobias Geerinckx-Rice , David Pirotte , 76246-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Florian, "pelzflorian (Florian Pelz)" writes: > Pushed as db172d1f64a514babc9a2e4fd11fe8fe248e306e. > > * Added Tobias=E2=80=99 comment on the alias g-golf compromise. > I was at first inclined to drop the whole alias patch, > since David Pirotte did not respond on it, but the alias > is in Guix now. > > * Changed synopses and descriptions to be closer to what David Pirotte > wrote. This means the synopsis no longer says =E2=80=9Cin Guile=E2=80= =9D, but > surprisingly, it does not negatively affect its search score with > =E2=80=9Cguix search guile gtk=E2=80=9D. However, I wrote "G-Golf GTK = 4 examples" > instead of David=E2=80=99s "G-Golf Gtk-4 Examples". > > * In g-golf-adw-1-examples, I wrapped GDK_PIXBUF_MODULE_FILE rather > than GUIX_GDK_PIXBUF_MODULE_FILES, so it builds on the master > branch. The main demo adwaita-1-demo does not work on master yet, > libadwaita is too old. I plan to rewrite the wrapping when > GUIX_GDK_PIXBUF_MODULE_FILES is on master or rather =E5=AE=8B=E6=96=87= =E6=AD=A6=E2=80=99s GCD [1] > is accepted. > > I would much welcome if G-Golf, AFAIK the only currently maintained > and comprehensive library to access GTK and perhaps better Libadwaita > in Guile, were put to use in Guix itself, as Maxim writes, but I will > not be of help. Thanks for your efforts in packaging this library, and for David for having authored it in the first place! --=20 Maxim From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 25 05:25:12 2025 Received: (at 76246-done) by debbugs.gnu.org; 25 Feb 2025 10:25:12 +0000 Received: from localhost ([127.0.0.1]:44925 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tms7k-0000Ck-34 for submit@debbugs.gnu.org; Tue, 25 Feb 2025 05:25:12 -0500 Received: from relay.yourmailgateway.de ([194.59.206.189]:43693) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tms7f-00007v-7B for 76246-done@debbugs.gnu.org; Tue, 25 Feb 2025 05:25:09 -0500 Received: from relay02-mors.netcup.net (localhost [127.0.0.1]) by relay02-mors.netcup.net (Postfix) with ESMTPS id 4Z2DJ024Ksz4735; Tue, 25 Feb 2025 11:25:04 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=pelzflorian.de; s=key2; t=1740479104; bh=GxWd0jTptzpP6SxTYQ8Q8OqNPwcmOr1qpSi2Jai/RHg=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=e8Fn/CNsHkXyYUU1c35Xl0IerNO7QAKG19RiMbSPALBXGU/QFyN9pZw3cWCksFGzv u8LbenTGPL4/BC1b/BJc6lWIi2x0GO+QaB+xH6djUb7IgJcq0TIDQUrgFhEnbG3Ctm s4I8Rm2Ur8pAktdmlPEQiD5UwQYVG3UcHfA/9lSPh3Tzo94EOSx7kiCGYdny2IhBL9 SIyups7p7vAmf/dOJ5IefpAxKfZORQFfj+OdOHRpZiUe1/DXr/TPOPxyKcchKjUL1N ERQ4vqS/R2vvwmYDlhqot/dnyzQNB8BHjKrbJ0LEKRgMewJrZ4Q0P3h5h/2JLDgBc8 osKgAP/AlPPgQ== Received: from policy01-mors.netcup.net (unknown [46.38.225.35]) by relay02-mors.netcup.net (Postfix) with ESMTPS id 4Z2DJ01gHvz7wmv; Tue, 25 Feb 2025 11:25:04 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at policy01-mors.netcup.net X-Spam-Flag: NO X-Spam-Score: -2.897 X-Spam-Level: X-Spam-Status: No, score=-2.897 required=6.31 tests=[ALL_TRUSTED=-1, BAYES_00=-1.9, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no Received: from mxe217.netcup.net (unknown [10.243.12.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by policy01-mors.netcup.net (Postfix) with ESMTPS id 4Z2DHy3f1Cz8tY6; Tue, 25 Feb 2025 11:25:02 +0100 (CET) Received: from florianhp (ipb21a5dbf.dynamic.kabel-deutschland.de [178.26.93.191]) by mxe217.netcup.net (Postfix) with ESMTPSA id E30D5844D1; Tue, 25 Feb 2025 11:24:54 +0100 (CET) From: "pelzflorian (Florian Pelz)" To: Maxim Cournoyer Subject: Re: [bug#76246] [PATCH v5 6/6] gnu: g-golf: Redefine as a non-deprecated alias. In-Reply-To: <87eczmn572.fsf@gmail.com> (Maxim Cournoyer's message of "Tue, 25 Feb 2025 11:12:01 +0900") References: <0614B99B-B409-4D89-928B-D7B5F5BA1399@tobias.gr> <871pvpqswf.fsf@gmail.com> <874j0idhqg.fsf@pelzflorian.de> <87eczmn572.fsf@gmail.com> Date: Tue, 25 Feb 2025 11:25:12 +0100 Message-ID: <87eczmqq2f.fsf@pelzflorian.de> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Rspamd-Queue-Id: E30D5844D1 X-Rspamd-Server: rspamd-worker-8404 X-NC-CID: cg6QTFaMCW/2Xx8Frx4VZOLsk5Hey8DdgohxfBtteGjD6YCdg6cGkCtk X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76246-done Cc: Tobias Geerinckx-Rice , David Pirotte , 76246-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Maxim Cournoyer writes: > Thanks for your efforts in packaging this library, and for David for > having authored it in the first place! :) Note that I packaged examples but never packaged the guile-g-golf library, which was done by other fans of G-Golf, namely commit dfe277a5ce60d487fe44840506206fea8507bc69 Author: Vitaliy Shatrov Date: Wed Apr 15 07:15:59 2020 +0000 commit 85fcceeea146b2e2e84a063f042893a0c39e9e5f Author: Mike Rosset Date: Mon Jul 20 12:06:12 2020 -0700 commit 35c96e65a9ea638d5c544257e1917e320c2beca1 Author: Zhu Zihao Date: Thu Feb 3 22:27:40 2022 +0800 Regards, Florian From unknown Wed Jun 18 23:08:30 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Tue, 25 Mar 2025 11:24:15 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator