public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Arsen Arsenović" <arsen@gentoo.org>
To: gentoo-dev@lists.gentoo.org
Cc: "Arsen Arsenović" <arsen@gentoo.org>
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	[thread overview]
Message-ID: <20240811231742.942813-7-arsen@gentoo.org> (raw)
In-Reply-To: <20240811231742.942813-1-arsen@gentoo.org>

Signed-off-by: Arsen Arsenović <arsen@gentoo.org>
---
 .../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?= <arsen@gentoo.org>
+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 <libguile.h>
++#include <libguile/deprecation.h>
+ #include <compat.h>
+ #include <string.h>
+ #include <stdio.h>
+-- 
+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?= <arsen@aarsen.me>
+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



  parent reply	other threads:[~2024-08-11 23:19 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-11 22:22 [gentoo-dev] [RFC HELP WANTED 0/9] Mending the Guile ecosystem Arsen Arsenović
2024-08-11 22:22 ` [gentoo-dev] [RFC HELP WANTED 1/9] guile-utils.eclass: new eclass, common code for guile packages Arsen Arsenović
2024-08-11 22:22 ` [gentoo-dev] [RFC HELP WANTED 2/9] guile-single.eclass: new eclass, for single-impl " Arsen Arsenović
2024-08-11 22:22 ` [gentoo-dev] [RFC HELP WANTED 3/9] guile.eclass: new eclass, for guile multi-impl packages Arsen Arsenović
2024-08-11 22:22 ` [gentoo-dev] [RFC HELP WANTED 4/9] profiles/base: add guile _TARGETS USE_EXPAND variables Arsen Arsenović
2024-08-11 22:22 ` [gentoo-dev] [RFC HELP WANTED 5/9] dev-build/make: switch to new guile mechanism Arsen Arsenović
2024-08-11 22:22 ` Arsen Arsenović [this message]
2024-08-11 22:22 ` [gentoo-dev] [RFC HELP WANTED 7/9] dev-scheme/guile-commonmark: new package, add 0.1.2_pre20240803 Arsen Arsenović
2024-08-11 22:22 ` [gentoo-dev] [RFC HELP WANTED 8/9] www-apps/haunt: new package, add 0.3.0 Arsen Arsenović
2024-08-11 22:22 ` [gentoo-dev] [RFC HELP WANTED 9/9] dev-scheme/slib: add 3c1, port to new guile eclasses Arsen Arsenović
2024-08-18  9:29 ` [gentoo-dev] [RFC HELP WANTED 0/9] Mending the Guile ecosystem Sam James

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240811231742.942813-7-arsen@gentoo.org \
    --to=arsen@gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox