From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 9C2F4159C9B for ; Sun, 11 Aug 2024 23:19:52 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 00CA9E2AB3; Sun, 11 Aug 2024 23:18:29 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id A0CA0E2AAF for ; Sun, 11 Aug 2024 23:18:28 +0000 (UTC) From: =?UTF-8?q?Arsen=20Arsenovi=C4=87?= To: gentoo-dev@lists.gentoo.org Cc: =?UTF-8?q?Arsen=20Arsenovi=C4=87?= Subject: [gentoo-dev] [RFC HELP WANTED 6/9] dev-scheme/guile-reader: port to new guile eclasses Date: Mon, 12 Aug 2024 00:22:51 +0200 Message-ID: <20240811231742.942813-7-arsen@gentoo.org> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240811231742.942813-1-arsen@gentoo.org> References: <20240811231742.942813-1-arsen@gentoo.org> Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Archives-Salt: cb7588f8-6145-48ff-a204-dca212554a97 X-Archives-Hash: 72fca5b7e72f6223a9ac0ef8e240f2a0 Signed-off-by: Arsen Arsenović --- .../guile-reader-0.6.3-implicit-fn-decl.patch | 25 +++++++ .../files/guile-reader-0.6.3-slot.patch | 66 +++++++++++++++++++ .../guile-reader-0.6.3-r100.ebuild | 60 +++++++++++++++++ profiles/package.mask | 1 + 4 files changed, 152 insertions(+) create mode 100644 dev-scheme/guile-reader/files/guile-reader-0.6.3-implicit-fn-decl.patch create mode 100644 dev-scheme/guile-reader/files/guile-reader-0.6.3-slot.patch create mode 100644 dev-scheme/guile-reader/guile-reader-0.6.3-r100.ebuild diff --git a/dev-scheme/guile-reader/files/guile-reader-0.6.3-implicit-fn-decl.patch b/dev-scheme/guile-reader/files/guile-reader-0.6.3-implicit-fn-decl.patch new file mode 100644 index 000000000000..f09f3055c0a6 --- /dev/null +++ b/dev-scheme/guile-reader/files/guile-reader-0.6.3-implicit-fn-decl.patch @@ -0,0 +1,25 @@ +From d4ff9b9e4c64f7e60c95676ec74c49b12b20ad3b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Arsen=20Arsenovi=C4=87?= +Date: Sat, 3 Aug 2024 18:28:51 +0200 +Subject: [PATCH 1/2] add missing include + +fixes an implicit function declaration +--- + src/compat.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/compat.c b/src/compat.c +index 943c7f9..9b15b31 100644 +--- a/src/compat.c ++++ b/src/compat.c +@@ -21,6 +21,7 @@ + #endif + + #include ++#include + #include + #include + #include +-- +2.45.2 + diff --git a/dev-scheme/guile-reader/files/guile-reader-0.6.3-slot.patch b/dev-scheme/guile-reader/files/guile-reader-0.6.3-slot.patch new file mode 100644 index 000000000000..79df5bebb546 --- /dev/null +++ b/dev-scheme/guile-reader/files/guile-reader-0.6.3-slot.patch @@ -0,0 +1,66 @@ +From d75f6155c5ff58ac2b3fee311f7056e01b1b6981 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Arsen=20Arsenovi=C4=87?= +Date: Sat, 3 Aug 2024 18:29:21 +0200 +Subject: [PATCH 2/2] use the guile extension directory for libguile-reader.so + +this directory is slotted, and so, allows parallel installation. +--- + configure.ac | 2 ++ + modules/Makefile.am | 3 ++- + modules/system/reader.in | 2 +- + src/Makefile.am | 2 +- + 4 files changed, 6 insertions(+), 3 deletions(-) + +diff --git a/configure.ac b/configure.ac +index c34e4dd..2ddd308 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -114,6 +114,8 @@ fi + AC_PATH_PROGS([GUILD], [guild guile-tools]) + GUILE_SITE_DIR + ++AC_SUBST([guileextdir], ["${GUILE_EXTENSION}"]) ++ + clean_LIBS="$LIBS" + clean_CFLAGS="$CFLAGS" + LIBS="$LIBS $GUILE_LIBS" +diff --git a/modules/Makefile.am b/modules/Makefile.am +index 25f2499..b0d4fd4 100644 +--- a/modules/Makefile.am ++++ b/modules/Makefile.am +@@ -13,7 +13,8 @@ nobase_nodist_guilemodule_DATA = \ + + .in.scm: + $(AM_V_GEN)$(MKDIR_P) `dirname "$@"` ; \ +- $(SED) -e 's|[@]libdir[@]|$(libdir)|g' < "$<" > "$@.tmp" ; \ ++ $(SED) -e 's|[@]guileextdir[@]|$(guileextdir)|g' \ ++ < "$<" > "$@.tmp" ; \ + mv "$@.tmp" "$@" + + if HAVE_GUILE2 +diff --git a/modules/system/reader.in b/modules/system/reader.in +index fbef2ac..cd23ba7 100644 +--- a/modules/system/reader.in ++++ b/modules/system/reader.in +@@ -58,7 +58,7 @@ + + (define %libguile-reader + (string-append (or (getenv "GUILE_READER_LIBDIR") +- "@libdir@") ++ "@guileextdir@") + "/libguile-reader")) + + (load-extension %libguile-reader "scm_reader_init_bindings") +diff --git a/src/Makefile.am b/src/Makefile.am +index e029bac..71294c2 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -1,4 +1,4 @@ +-lib_LTLIBRARIES = libguile-reader.la ++guileext_LTLIBRARIES = libguile-reader.la + libguile_reader_la_SOURCES = reader.c token-readers.c reader-lib.c compat.c + libguile_reader_la_LDFLAGS = -module -version-info 1:0:0 $(GUILE_LDFLAGS) + +-- +2.45.2 + diff --git a/dev-scheme/guile-reader/guile-reader-0.6.3-r100.ebuild b/dev-scheme/guile-reader/guile-reader-0.6.3-r100.ebuild new file mode 100644 index 000000000000..5374e0aaaa63 --- /dev/null +++ b/dev-scheme/guile-reader/guile-reader-0.6.3-r100.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +GUILE_COMPAT=( 2-2 3-0 ) +inherit guile autotools + +DESCRIPTION="Simple framework for building readers for GNU Guile" +HOMEPAGE="https://www.nongnu.org/guile-reader/" +SRC_URI="mirror://nongnu/${PN}/${P}.tar.gz" + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="~amd64 ~x86" +REQUIRED_USE="${GUILE_REQUIRED_USE}" + +RDEPEND="${GUILE_DEPS}" +DEPEND="${RDEPEND}" +BDEPEND="dev-util/gperf" + +PATCHES=( + "${FILESDIR}/${PN}-0.6.3-implicit-fn-decl.patch" + "${FILESDIR}/${PN}-0.6.3-slot.patch" +) + +src_prepare() { + default + + eautoreconf + + guile_bump_sources +} + +configure_one_src() { + local -x guile_snarf="${GUILESNARF}" + # We don't have lightning packaged and, naturally, guile-reader has + # no --with-... for it. Suppress the automagic. + econf \ + ac_cv_header_lightning_h=no +} + +src_configure() { + guile_foreach_impl configure_one_src +} + +compile_one_src() { + # Makefile appears to be missing seemingly all dependencies. + emake -j1 --shuffle=none +} + +src_compile() { + guile_foreach_impl compile_one_src +} + +src_install() { + guile_src_install + + find "${ED}" -type f -name '*.la' -delete || die +} diff --git a/profiles/package.mask b/profiles/package.mask index aa2ba7f10877..69cd6efd48cf 100644 --- a/profiles/package.mask +++ b/profiles/package.mask @@ -37,6 +37,7 @@ # Guile rework masks. Mask all packages or package versions that are # being bumped as part of the Guile reslotting process. # Masked until the whole Guile ecosystem is updated. +>=dev-scheme/guile-reader-0.6.3-r100 dev-scheme/guile:2.2 dev-scheme/guile:3.0 >=sys-devel/make-4.4.1-r100 -- 2.45.2