summaryrefslogtreecommitdiff
path: root/dev-scheme
diff options
context:
space:
mode:
Diffstat (limited to 'dev-scheme')
-rw-r--r--dev-scheme/Manifest.gzbin9812 -> 9829 bytes
-rw-r--r--dev-scheme/chez/Manifest2
-rw-r--r--dev-scheme/chez/metadata.xml4
-rw-r--r--dev-scheme/chicken/Manifest2
-rw-r--r--dev-scheme/chicken/chicken-5.4.0.ebuild76
-rw-r--r--dev-scheme/gauche/Manifest5
-rw-r--r--dev-scheme/gauche/files/gauche-0.9.14-info.patch95
-rw-r--r--dev-scheme/gauche/gauche-0.9.14-r1.ebuild56
-rw-r--r--dev-scheme/gauche/gauche-0.9.15.ebuild2
-rw-r--r--dev-scheme/guile-commonmark/Manifest3
-rw-r--r--dev-scheme/guile-commonmark/guile-commonmark-0.1.2_pre20240803.ebuild29
-rw-r--r--dev-scheme/guile-commonmark/metadata.xml15
-rw-r--r--dev-scheme/guile-reader/Manifest3
-rw-r--r--dev-scheme/guile-reader/files/guile-reader-0.6.3-implicit-fn-decl.patch25
-rw-r--r--dev-scheme/guile-reader/files/guile-reader-0.6.3-slot.patch66
-rw-r--r--dev-scheme/guile-reader/guile-reader-0.6.3-r100.ebuild60
-rw-r--r--dev-scheme/guile/Manifest6
-rw-r--r--dev-scheme/guile/guile-2.2.7-r100.ebuild93
-rw-r--r--dev-scheme/guile/guile-3.0.10-r100.ebuild91
-rw-r--r--dev-scheme/guile/guile-3.0.10.ebuild81
-rw-r--r--dev-scheme/guile/metadata.xml9
-rw-r--r--dev-scheme/racket/Manifest8
-rw-r--r--dev-scheme/racket/racket-8.13.ebuild2
-rw-r--r--dev-scheme/racket/racket-8.14.ebuild (renamed from dev-scheme/racket/racket-8.12.ebuild)7
-rw-r--r--dev-scheme/slib/Manifest2
-rw-r--r--dev-scheme/slib/slib-3.3.1-r100.ebuild123
-rw-r--r--dev-scheme/termite/Manifest3
-rw-r--r--dev-scheme/termite/metadata.xml15
-rw-r--r--dev-scheme/termite/termite-0.15-r1.ebuild30
29 files changed, 696 insertions, 217 deletions
diff --git a/dev-scheme/Manifest.gz b/dev-scheme/Manifest.gz
index 38df716eeafa..6b14e19be59b 100644
--- a/dev-scheme/Manifest.gz
+++ b/dev-scheme/Manifest.gz
Binary files differ
diff --git a/dev-scheme/chez/Manifest b/dev-scheme/chez/Manifest
index e3d5155aa30f..fb63a9e23213 100644
--- a/dev-scheme/chez/Manifest
+++ b/dev-scheme/chez/Manifest
@@ -1,3 +1,3 @@
DIST chez-10.0.0.tar.gz 9109529 BLAKE2B 66b37350b0d711c4f86b8c0e0e9ca6f0c7de22591b592ff0950822c2cf4a489db1fbb2f655cbecf4a771740ffd9bba638481f20d59c5c8143468d333d57f4907 SHA512 094298744bd69033366305330d660299023c5bc5776df86f28af119f9f4cddc463366fc8f955084463137b6186843fcd34026d2714b932baa4841d6522a8dd92
EBUILD chez-10.0.0.ebuild 2342 BLAKE2B d3e0e9a0c5650064dcbc4d58df19c3d43f0529ab673e0eef0d7f08bcfd446fc4d967ddf732390194b859e5478b673970c17541ed83d901e576fe5592e5378b4d SHA512 058ea0cd72ede1bdc372283338dad08f8502de53b89073a7e3e49f8e48551859c8148c9c1341a441ab90e11866e61dc57cb339e4a0e8a7eedc0ee03eef8e7337
-MISC metadata.xml 1247 BLAKE2B 2fce457107f3e9a65f30ecc19c891c1b953049889bcd7bd9ccc7537c6ee8b9ae64937ee46c329f74266f095fd611ae53775e4229aacd4ebdf82b83135e13e50c SHA512 2a0bab06ce23b7e38f4651d33337b03691dbe09257ee325236ad5c585af4300e2b15f6b0d9614ee87ee4721adebfd71c0a2313ad3865a9e7f75e5e95b54cc5a3
+MISC metadata.xml 1133 BLAKE2B d942a29915bfb91b3c4708d2bb6715d88d2755f8da304063248c09b46b3d6d661ad8fe8df8ab88fa8dd693a867a8bc90f804e4231e0e0c9aed1a15d6611648ab SHA512 8728cad76b3ffedb2ca2bfd70831de84bf2037f0f4e53af71554a1749aeb645018207a25f7c9aaf0f5880c239437380016d5270a76565deae86dd249ad3a9b6a
diff --git a/dev-scheme/chez/metadata.xml b/dev-scheme/chez/metadata.xml
index 8ab998490b7e..18c78abe6e65 100644
--- a/dev-scheme/chez/metadata.xml
+++ b/dev-scheme/chez/metadata.xml
@@ -2,10 +2,6 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>matthew@gentoo.org</email>
- <name>Matthew Smith</name>
- </maintainer>
<maintainer type="project">
<email>scheme@gentoo.org</email>
<name>Gentoo Scheme Project</name>
diff --git a/dev-scheme/chicken/Manifest b/dev-scheme/chicken/Manifest
index f2873943e7f0..8564f7659163 100644
--- a/dev-scheme/chicken/Manifest
+++ b/dev-scheme/chicken/Manifest
@@ -1,3 +1,5 @@
DIST chicken-5.3.0.tar.gz 4069549 BLAKE2B 7e1fb8c844542927eec53df751014f718b8c96fb6cf390d6464d7d55467c7320346be9ed05202b9c5c96548f274243ae52fead488981d7c207bec2c001db7cd7 SHA512 8fcc08a1ba44cde42c95820695a11858a3b7ff39a4b577bc5afb894c53513661aab2dc5b8e608e1d9d26648e314551052041626c4c8e519fcb9f8af324386e02
+DIST chicken-5.4.0.tar.gz 4109135 BLAKE2B 75dda6891992a7eeae8ac7624678c62c9aff61a712c9b8812b008f3369b11297019eaed259c28999a8e4f9aa587583cdef4284b5ada2bc971ef823ffa5508b35 SHA512 21f5dc4abcfce7be2d8eb6728061728a4a695ac88860e94e114c2bf2839a8a47bbdc368330913edc83d5b81b6b2499c608e47e6659fa7651c82d133abb7e4e3c
EBUILD chicken-5.3.0.ebuild 1794 BLAKE2B c4a920785fd4f12c118ecc6204dcb1ce90aa920aeac26800f4efc4b748e5d5a64f53f6ec40ba4d2091ff839afa7f42ba716b1d39f0c572765c652be900b23a14 SHA512 6a7862a7d54ca2dacec003607a42fa7a2d31992e70311152c30c9c89c33dbe4ba9b1de7f25633276d012b1d446c17b8c53d82885360232093411a3c2d724f4cd
+EBUILD chicken-5.4.0.ebuild 1809 BLAKE2B 623e15265ef7122fc3aebd021f19db5b12ee8eb7ad5dbcd26347655fb6d2822453176bda440068021dff9326ab065a4a1d9623c541d1222b1dac6126bd3c784e SHA512 2bcf9a769b84105f92f2b531bc21c8e149b67ebef460b7b7cdf5f3312859fc82cdd24d0466c130ad0fb80b3a4c01523bcf12a885d876f06203ecdbde790f9b97
MISC metadata.xml 634 BLAKE2B b12c63caf7f06e32c23cf6ee7a02d245759f1e8d7da7e69457536e6a8a792eba43b86e170e04f67e6a4871ca4342c4db8db1661fe12626182ae3718dd1599f49 SHA512 9e7e23a443b91bd44870cc00206af7ff6dc536435d69ecfb370e423455b62df8aa4835265994f83c53240001727276005a3c30a4afac6c21f1b10c411d1b1ae7
diff --git a/dev-scheme/chicken/chicken-5.4.0.ebuild b/dev-scheme/chicken/chicken-5.4.0.ebuild
new file mode 100644
index 000000000000..15244570240f
--- /dev/null
+++ b/dev-scheme/chicken/chicken-5.4.0.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Scheme interpreter and native Scheme to C compiler"
+HOMEPAGE="https://www.call-cc.org/"
+SRC_URI="https://code.call-cc.org/releases/${PV}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~mips ~ppc ~ppc64 ~riscv ~x86"
+IUSE="doc"
+
+src_prepare() {
+ default
+
+ # because chicken's upstream is in the habit of using variables that
+ # portage also uses :( eg. $ARCH and $A
+ sed -i \
+ -e "s/A\([[:space:]]*?=\|)\)/z&/" \
+ -e "s/ARCH/z&/" \
+ -e "/LICENSE /d" \
+ Makefile.* {defaults,rules}.make || die
+
+ sed -i \
+ -e "s|/lib|/$(get_libdir)|" \
+ -e "s|\$(DATADIR)/doc|\$(SHAREDIR)/doc/${PF}|" \
+ defaults.make || die
+
+ sed -i \
+ -e "/\$(CHICKEN_DO_PROGRAM)\$(EXE):/,/^$/s/\(\$<\)/\$(LINKER_OPTIONS) \1/" \
+ rules.make || die
+
+ use doc || sed -i "/\$(SEP)manual/d" rules.make || die
+}
+
+src_compile() {
+ emake -j1 \
+ PLATFORM="linux" \
+ PREFIX="${EPREFIX}/usr" \
+ C_COMPILER="$(tc-getCC)" \
+ C_COMPILER_OPTIMIZATION_OPTIONS="${CFLAGS}" \
+ CXX_COMPILER="$(tc-getCXX)" \
+ HOSTSYSTEM="${CBUILD}" \
+ LINKER_OPTIONS="${LDFLAGS}"
+}
+
+src_test() {
+ cd tests && ./runtests.sh || die
+}
+
+src_install() {
+ emake -j1 \
+ PLATFORM="linux" \
+ PREFIX="${EPREFIX}/usr" \
+ C_COMPILER="$(tc-getCC)" \
+ C_COMPILER_OPTIMIZATION_OPTIONS="${CFLAGS}" \
+ CXX_COMPILER="$(tc-getCXX)" \
+ HOSTSYSTEM="${CBUILD}" \
+ LINKER_OPTIONS="${LDFLAGS}" \
+ DESTDIR="${D}" \
+ install
+ einstalldocs
+ find "${ED}" -name '*.a' -delete || die
+
+ # let portage track this file (created later)
+ touch "${ED}"/usr/$(get_libdir)/${PN}/11/modules.db || die
+}
+
+pkg_postinst() {
+ # create modules.db file in ${ROOT}
+ chicken-install -update-db || die
+}
diff --git a/dev-scheme/gauche/Manifest b/dev-scheme/gauche/Manifest
index 61f559eb789d..d992e27d6ef9 100644
--- a/dev-scheme/gauche/Manifest
+++ b/dev-scheme/gauche/Manifest
@@ -1,10 +1,7 @@
-AUX gauche-0.9.14-info.patch 3621 BLAKE2B 85a28948e25d9af2d086925e60e32cc03ec1b2e69fdce275e1d9df93e45215363ac9da5ba14c122346feefc36043a18937cfbf503918ef596470fc9c8b3c53b8 SHA512 0ee0fd886c80a7dfa0f2e3c1fb5d85f948482c9f067c6632b030c1d644f0dc348d365cd3e4a65812ab7828eff5ca9cf2e911d49fa956741d535a48dfc0321baf
AUX gauche-ext-ldflags.patch 384 BLAKE2B 57b7463086c0763413b8fda3d7688c6a61bd4456b3209a80b6eabed088e0c71eb5ae4c53b18fb0e6b7468ac03fe33f7884f265ab1ea998e8457b0ef126e6e841 SHA512 df42c5f25adc5a67ad049ab78aeaa4f565d18818dd6dfff5a64a78e9e3101595a4279d72e8f946e4f7da7be30f9f11c089c7f4a65d2eb2135980414c3d6e9cbb
AUX gauche-gauche.m4.patch 964 BLAKE2B f02f2a1fad5d2ce923d1f9a8af4506908afea5b24c65d30ac2dbc6402c826f1ee374bfbb0ac7e9896a980fa352620f7ef8d2d79fe1b0ccb4915e3ceb86dfd90d SHA512 81bd71285f9f7f7f6b310347905fa2b0c7b708a0bb8bfa33414b14591d5849f0b42d9a6f01f22abb307417778181c292d8ff7e42be259b7d4de09356ea1692ab
AUX gauche-info.patch 3465 BLAKE2B 4a294a9d6dbaef564425413d6e4c181aab02da6736065c2b31f74d67d1894bc33e6327256fb6402e47920e6e0a6fc8d15418fe6832d728326c00873f56371788 SHA512 f462077f615a7c7fcf273a68f274167f8267e6df354017f8bd2b564878fe430d7174dac69eacd82e4e6e360bcfc07c7ab1fcb9fe676cfe7aa0ab15c4185483d4
AUX gauche-xz-info.patch 1220 BLAKE2B 88133f0cfda992fbba45875c6f872cb928a554a7d51001ee6614ec199bdae8316b5b35c41ca3609e35b8d99821483c5377c23608f151b3cbad2ef1fe5b3a838e SHA512 f4a6bb582403648a1b0f005fa6eb2db728180543c70ddfd28829cf3dcf679535b507f87ce3f48729d0180ce1c321706e3744156b8d83221208bea8106c929ab6
-DIST Gauche-0.9.14.tgz 9352431 BLAKE2B cb747a16037167a95a543e324b53a48e3cb4dd372e9f6cc00603b7072b902c839248fbf3e9926360a2732fcf4bc0caa16a4ea1ad757e84d5d597ef4bdfa2592f SHA512 3dd9dc8627fe1c5e518731a17dd984120485b36d6c2bb2d0d54a8b5f6778f45efd02640abe4699466eec2eb18dd4474d9525848029468128974c13c615087662
DIST Gauche-0.9.15.tgz 9444756 BLAKE2B 1b4cbc764ea3af78bc736ce9a8ff083318366fbf3197ebc5060222b8df93ed426ca4b3b90402cd604e110bcfa8fb46c0d4c5f35be39899cc89dc82a671372bf9 SHA512 fc246a9ba937eba642621a5707f0e7a02d62191749360b9b15e2563c9ceb13e18f236c736172d05c177df8b7220ff0e973f568aaf9eb92e92643af0823f0f865
-EBUILD gauche-0.9.14-r1.ebuild 1184 BLAKE2B 514a5f70ead08ac3981f1d096df7f359ee08faab316860f28e2b5c4b5a32404b3b85cfde1ca8b1f75c59c9a228be8a26b2524b11ddb29d3487f106343d2760e5 SHA512 cf15cd68e51812445b9596009077b1e6a135fd8041b0dba8b14c346ee1d559f42638c4ba9c57be15e90933b0ceb6439bf8e183515feda170c0cec150f968d6db
-EBUILD gauche-0.9.15.ebuild 1187 BLAKE2B 6cdadeeab7c7a1af258827a6c25d27f2cde8ee76c9f9b4b8789d18a8a1a63403fc07eee047aa72e399f7e80bf5b7ff5f48d8e8ed88a728ac6babfd9c55603433 SHA512 5907d4622fda0abef23d9c8f8d1e92bd32612f8d5cd0e93fb716c57deff319f762b662e77704c6eeabb4e593737bed0a656a78339c5f9f37d453e339b2fec847
+EBUILD gauche-0.9.15.ebuild 1185 BLAKE2B a17848d993cc171aa3e330a24abafcaba096401003222abfd50fc70baed8a61254c69d1af383276fa72a4bac2d8d7d5aae04d876df2f6cbd2b3e7cf4a4b5caa9 SHA512 e1fa12db1923bcc90fae1b0a054c1adf4f4a9dd01ce18633111c458c62a87d52b2e10937f3579c7c6a8f9aefd30f88843e115f515413356c182ad9768e7562f5
MISC metadata.xml 871 BLAKE2B 1bf6c95a6a1ed93f4a7df506c5f851360260f7a7291f5bd7a5bcb0bcb974066c5cdfba86131de0cc058253c369a8404426c18e06c2da40f0dc39aaae902d7aee SHA512 19a38a96174779cdbfd6fe475472f55e64d49ffe7e529eb8cda241ceb236c541300b425705fb4c260c1845860a869efebbdfee2cbafd285a32c00b4655b47d40
diff --git a/dev-scheme/gauche/files/gauche-0.9.14-info.patch b/dev-scheme/gauche/files/gauche-0.9.14-info.patch
deleted file mode 100644
index fa730944ee96..000000000000
--- a/dev-scheme/gauche/files/gauche-0.9.14-info.patch
+++ /dev/null
@@ -1,95 +0,0 @@
---- a/configure.ac
-+++ b/configure.ac
-@@ -330,7 +330,6 @@
- AC_PROG_LN_S
- AC_CHECK_TOOLS(AR, ar gar)
- AC_CHECK_PROGS(MAKEINFO, makeinfo)
--AC_CHECK_PROGS(GZIP_PROGRAM, gzip)
-
- if test -z "$MAKEINFO" -o -z "$GZIP_PROGRAM"; then
- build_doc="No (requires makeinfo and gzip to build documents)"
---- a/doc/Makefile.in
-+++ b/doc/Makefile.in
-@@ -18,7 +18,6 @@
- INSTALL_DATA = @INSTALL_DATA@
- MKINSTDIR = $(top_srcdir)/mkinstalldirs
- MAKEINFO = @MAKEINFO@
--GZIP_PROGRAM = @GZIP_PROGRAM@
- VERSION_INFO = @PACKAGE_STRING@
- PREPROCESSOR = $(top_srcdir)/lib/tools/docprep
-
-@@ -60,7 +59,7 @@
- texi html htmls dvi pdf info epub \
- clean distclean maintainer-clean
-
--.SUFFIXES: .texi .html .info.gz .pdf .dvi .epub
-+.SUFFIXES: .texi .html .info .pdf .dvi .epub
-
- all: info
-
-@@ -68,7 +67,7 @@
- if test ! -d "$(DESTDIR)$(mandir)/man1"; then $(MKINSTDIR) "$(DESTDIR)$(mandir)/man1"; fi
- $(INSTALL_DATA) $(MANPAGES) "$(DESTDIR)$(mandir)/man1"
- if test ! -d "$(DESTDIR)$(infodir)"; then $(MKINSTDIR) "$(DESTDIR)$(infodir)"; fi
-- if test -f gauche-refe.info.gz -o -f gauche-refj.info.gz; then \
-+ if test -f gauche-refe.info -o -f gauche-refj.info; then \
- for info in *.info*; do \
- $(INSTALL_DATA) $$info "$(DESTDIR)$(infodir)/"; \
- done; \
-@@ -99,8 +98,8 @@
- %-draft/index.html : %.texi
- $(MAKEDOC) htmls $< "$(MAKEINFO)" "Development HEAD DRAFT"
-
--%.info.gz : %.texi
-- $(MAKEDOC) info $< "$(MAKEINFO)" "$(GZIP_PROGRAM)"
-+%.info : %.texi
-+ $(MAKEDOC) info $< "$(MAKEINFO)"
-
- %.pdf : %.texi
- $(MAKEDOC) pdf $< "$(MAKEINFO)"
-@@ -122,7 +121,7 @@
- htmls-draft : gauche-refe-draft/index.html gauche-refj-draft/index.html
- dvi : gauche-refe.dvi gauche-refj.dvi
- pdf : gauche-refe.pdf gauche-refj.pdf
--info : gauche-refe.info.gz gauche-refj.info.gz
-+info : gauche-refe.info gauche-refj.info
- epub : gauche-refe.epub gauche-refj.epub
-
- gauche-refe.texi : $(TEXIS) $(PREPROCESSOR)
---- a/doc/makedoc.scm
-+++ b/doc/makedoc.scm
-@@ -16,7 +16,7 @@
- [gauche.sys.setenv (sys-putenv "LANG=C")]
- [else])
- (if (match (cdr args)
-- [("info" input makeinfo gzip) (do-info input makeinfo gzip)]
-+ [("info" input makeinfo) (do-info input makeinfo)]
- [("html" input makeinfo) (do-html input makeinfo)]
- [("htmls" input makeinfo version) (do-htmls input makeinfo version)]
- [("pdf" input makeinfo) (do-pdf input makeinfo)]
-@@ -28,7 +28,7 @@
- (define (usage)
- (print "Usage: gosh makedoc.scm command args ...")
- (print "Valid commands (and args):")
-- (print " info input MAKEINFO GZIP - generate info doc")
-+ (print " info input MAKEINFO - generate info doc")
- (print " html input MAKEINFO - generate single html")
- (print " htmls input MAKEINFO VERSION-STRING - generate html files in subdir")
- (print " pdf input MAKEINFO - generate pdf")
-@@ -57,14 +57,11 @@
- (warn "makeinfo version ~a or greater is required, but ~a's \
- version is ~a. Skipping.\n" min-version makeinfo vers)))))
-
--(define (do-info input makeinfo gzip)
-+(define (do-info input makeinfo)
- (define info (path-swap-extension input "info"))
- (or (string-null? makeinfo)
-- (string-null? gzip)
- (not (check-makeinfo-version makeinfo "5.0"))
-- (and (do-process (make-cmd `(,makeinfo ,input)))
-- (begin (remove-files (glob #"~|info|*.gz"))
-- (do-process (make-cmd `(,gzip "-n" ,info ,@(glob #"~|info|-[0-9]*"))))))))
-+ (and (do-process (make-cmd `(,makeinfo ,input))))))
-
- (define (do-html input makeinfo)
- (or (string-null? makeinfo)
diff --git a/dev-scheme/gauche/gauche-0.9.14-r1.ebuild b/dev-scheme/gauche/gauche-0.9.14-r1.ebuild
deleted file mode 100644
index 6151e01fabcd..000000000000
--- a/dev-scheme/gauche/gauche-0.9.14-r1.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="8"
-
-inherit autotools
-
-MY_P="${P^g}"
-MY_P="${MY_P/_p/-p}"
-
-DESCRIPTION="A Unix system friendly Scheme Interpreter"
-HOMEPAGE="http://practical-scheme.net/gauche/"
-SRC_URI="https://github.com/shirok/${PN^g}/releases/download/release${PV//./_}/${MY_P}.tgz"
-
-LICENSE="BSD"
-SLOT="0/$(ver_cut 1-2)8"
-KEYWORDS="~alpha amd64 ~ia64 ~ppc ~ppc64 ~sparc x86 ~amd64-linux ~x86-linux"
-IUSE="ipv6 test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="net-libs/mbedtls:=
- sys-libs/gdbm
- virtual/libcrypt:="
-DEPEND="${RDEPEND}"
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-ext-ldflags.patch
- "${FILESDIR}"/${PN}-gauche.m4.patch
- "${FILESDIR}"/${P}-info.patch
- "${FILESDIR}"/${PN}-xz-info.patch
-)
-DOCS=( AUTHORS ChangeLog HACKING.adoc README.adoc )
-
-src_prepare() {
- default
-
- eautoreconf
-}
-
-src_configure() {
- econf \
- $(use_enable ipv6) \
- --with-ca-bundle="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt \
- --with-slib="${EPREFIX}"/usr/share/slib \
- --with-tls=mbedtls
-}
-
-src_test() {
- emake -j1 -s check
-}
-
-src_install() {
- emake DESTDIR="${D}" install-pkg install-doc
- einstalldocs
-}
diff --git a/dev-scheme/gauche/gauche-0.9.15.ebuild b/dev-scheme/gauche/gauche-0.9.15.ebuild
index c037bef1bc58..f2441b774c98 100644
--- a/dev-scheme/gauche/gauche-0.9.15.ebuild
+++ b/dev-scheme/gauche/gauche-0.9.15.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://github.com/shirok/${PN^g}/releases/download/release${PV//./_}/$
LICENSE="BSD"
SLOT="0/$(ver_cut 1-2)8"
-KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 ~ia64 ~ppc ~ppc64 ~sparc x86 ~amd64-linux ~x86-linux"
IUSE="ipv6 test"
RESTRICT="!test? ( test )"
diff --git a/dev-scheme/guile-commonmark/Manifest b/dev-scheme/guile-commonmark/Manifest
new file mode 100644
index 000000000000..544f13212241
--- /dev/null
+++ b/dev-scheme/guile-commonmark/Manifest
@@ -0,0 +1,3 @@
+DIST guile-commonmark-0.1.2_pre20240803.tar.gz 81148 BLAKE2B 0468e49cb58da59bb2e4ea7d372abcc7d9cbc09d05156d9b276057f42b84cbeb7fbcd61b6f406e4e532f2e834682b943a7365de87a901b385daa582d6fa6c11d SHA512 3c89495f201421b9326b8fbb54b92e554136429f6e2817be5ed99a465ced36f63b2446b46760e4eb303bc03d5d630410492994e1cb593b9c803686d7811c4e3d
+EBUILD guile-commonmark-0.1.2_pre20240803.ebuild 635 BLAKE2B c340edaff9d5e24e2519bfc8bcff4f5bf16236fd7e14a7195831d4d58f40a4c2073ea1a3b7e39b8555a9a767df0988aeb78d68397af7f1c0c042fae868201e29 SHA512 bbf2d3a84cbc69475097048c98beb7eac07b1e8f88edaeabc930f3e6126687f651a7b38618602284df7f53cad1843072d48cf08d57899b04863d16cd63440ab0
+MISC metadata.xml 502 BLAKE2B 8640d637c6c0811ee2e6b02d25913a3187e87701e97e9246f02292426d9726d3ecd72357fa5bd2f22d4bb2a77377e6697f7b99236764b93a7e9c89430bcd19d9 SHA512 18b9e84a39065047e2efef2aa32f6fdbabb09303ec363e174f92ccf096b4dfec751e6a1692fcf4ea2390b830c99ae53341a46e6366776b852c2af1caa9e4fc7e
diff --git a/dev-scheme/guile-commonmark/guile-commonmark-0.1.2_pre20240803.ebuild b/dev-scheme/guile-commonmark/guile-commonmark-0.1.2_pre20240803.ebuild
new file mode 100644
index 000000000000..dc73ecc8f843
--- /dev/null
+++ b/dev-scheme/guile-commonmark/guile-commonmark-0.1.2_pre20240803.ebuild
@@ -0,0 +1,29 @@
+# Copyright 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
+
+MY_COMMIT=538ffea25ca69d9f3ee17033534ba03cc27ba468
+
+DESCRIPTION="Implementation of CommonMark for Guile"
+HOMEPAGE="https://github.com/OrangeShark/guile-commonmark"
+SRC_URI="https://github.com/OrangeShark/${PN}/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${MY_COMMIT}"
+
+LICENSE="LGPL-3+"
+SLOT="0"
+KEYWORDS="~amd64"
+REQUIRED_USE="${GUILE_REQUIRED_USE}"
+
+RDEPEND="${GUILE_DEPS}"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ default
+
+ guile_src_prepare
+ eautoreconf
+}
diff --git a/dev-scheme/guile-commonmark/metadata.xml b/dev-scheme/guile-commonmark/metadata.xml
new file mode 100644
index 000000000000..8bf01c4d6ab3
--- /dev/null
+++ b/dev-scheme/guile-commonmark/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>arsen@gentoo.org</email>
+ <description>Arsen Arsenović</description>
+ </maintainer>
+ <maintainer type="project">
+ <email>scheme@gentoo.org</email>
+ <description>Gentoo Scheme Project</description>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">OrangeShark/guile-commonmark</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-scheme/guile-reader/Manifest b/dev-scheme/guile-reader/Manifest
index 4069ea1f2e75..3938c7dcf8a9 100644
--- a/dev-scheme/guile-reader/Manifest
+++ b/dev-scheme/guile-reader/Manifest
@@ -1,3 +1,6 @@
+AUX guile-reader-0.6.3-implicit-fn-decl.patch 575 BLAKE2B d17a505c89dee960f502121767a6c1ef6dbdfc71337793a364311b376960f8ff018e402c8af321cd18d906cd76f1712b22856f1bc8a139d66583d503b662d7c4 SHA512 435fba6516a874f6a026efda551b5fa5274da2f933234c7ae18d942d296524dfdff1aa2b76889381a55b7293f03e92b3b9eb2ea5c41c88e15fdf25c11874dff4
+AUX guile-reader-0.6.3-slot.patch 2063 BLAKE2B 1beb4f6ecbb4a2c4754cdcf47ed4979f07bdb6192f8e0d4cf0c72cef5a2557ed2ca3e3802881ccdd491d57172ba04cd7c149c0f06fcf3d5b672688ac2974c4dc SHA512 220ee0c67695a59e43b57bcf5ab69ef1bae001feb5338f79e235b6e609d49f25d727f4a6c38e8228b94c3606225419f900135edbe81223a7e4c32c326dcc6dac
DIST guile-reader-0.6.3.tar.gz 691612 BLAKE2B 504152d3a194705435efa4e2d2b51fd1bc22a998161b09ef0157c13bf46ef593be0101d6b72e197818a8ba18406db0de518423a168d36f54616dfcd4e807f3b9 SHA512 0f9f47ee5f24ebb79894863ac96d63b0c7d2801020a212c59d11c7685ff4006a646be988a696a9b623dc0e0605f46d4a9a8680bfabd299878e41eab92e75efd5
+EBUILD guile-reader-0.6.3-r100.ebuild 1177 BLAKE2B 6ed5864e7039bf88c3332594a6781875beb472e2963d0cdc6914359108caecd82578f5a4428b9f828feaef17aa1fc7cf8e64611a9777d533c114ea9cd9eeee56 SHA512 930db18afdbf4f4e10a92a13620502ce387d604aee075f601344cded9e478ac17d337a5acbdcc3c65ccffe2ab241a6d2831c5d3618c2e92e9fa4330ed1f4f013
EBUILD guile-reader-0.6.3-r2.ebuild 922 BLAKE2B 7c44f6612f62fcec444c201c43fb8108c049921cf4b4aeee86d9bb669a34d8320ef7826b44c298293b385f0a7b4350fbd70ab27f855c566adc5fbeaaab7719cc SHA512 c0e045e2b2377497391335e2627564c04405b6e77c9fa47690a3f32964b91def212d2e9faf3d5d304d2c14768d2275cc218af887efc035dbc883ba21ad86e291
MISC metadata.xml 974 BLAKE2B 1ae5959d148b9110d539b6399d77b5c54d873423ea79e33533353133c2d4c4adccc63213ad22c15ea0d4bbee47e82f8f5ac507757f6de903f2b6305dab42c46b SHA512 eb374317ab6b7b81f34241f454ece70defe34c319c1266b7eaf03502f96f77b4200cf1762a035c26f67d86bea43db633c6375528c49d7260c3114ff469709c44
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/dev-scheme/guile/Manifest b/dev-scheme/guile/Manifest
index 68d72dd49fce..ec328a2637df 100644
--- a/dev-scheme/guile/Manifest
+++ b/dev-scheme/guile/Manifest
@@ -13,9 +13,13 @@ AUX guile-2.2.7-fix-buggy-gnulib.patch 2813 BLAKE2B 9905f91b37fc8262ed508f8dd950
AUX guile-2.2.7-stack-up.patch 568 BLAKE2B 11f19c9e657b9b23c033e0edac9d06fcaa2f56f69230d526fc42eed6050022395599855015539c32ed83b6e3f5c8a94744ff6ef50b3c9284818d0d8f725f18b6 SHA512 f312e4e5d8d3781efb6fe65f4ec94431d8b19a7ac3e3e9e461748c60643088237e570314e74b5253418a01b129586465ed43107463d8de182e362393f75073bd
DIST guile-1.8.8.tar.gz 3956654 BLAKE2B 4820d635ac2c57526c0c03f3e0e6e4ac4276533ea8db15e6d1b759c33edec094a1a4bdc3e09ccae61f1b271d63565063746feea242a90c18cd575775444a42ef SHA512 ede6feb90cd419d8763feb8c5169275490a653919573c4dfced025b74cf591072b3a10ffb9a3f6ee3fe7b0a0956ffcf434e0859b421455c8349cea56bf427db0
DIST guile-2.2.7.tar.xz 10881984 BLAKE2B e2b1fe7cb010371beaaf32f8f173397c90fd291ed7d5835b9d976f37fd133254841b4179bd1e1cd02e604c7befcab6c25f85d20ba0850f96978f7c32ca1fe6d8 SHA512 6f60b3489e26f5ff32b55c89316cdcdbf3ec1f4344726006e445f24098c922c50becdc748f1b66d2b271dc002e409ee6210bf85da779cee1f68c9111b3b5c543
+DIST guile-3.0.10.tar.xz 5802280 BLAKE2B 2b41f1afb282eb4672f5aca5b044f47a12509745f5580fc4a621e7555c8b884f92dc76bc78fbdf8a64d59cf1de65b230ce03b0a34bbcb77307a7c9453a277ac6 SHA512 8b58e6c70cd48af85a0b346fcdf488fd5ac8d8678181c9c469895bf6ddab909c415e471776fdcda3c234e00fae80bdd4518c17ff16cf8107a36d2990a4face1d
DIST guile-3.0.9.tar.xz 5750636 BLAKE2B 693f189bda52468d989f27c9482b515b8a14ed814d6e4a9a988d7a03d9789903a568b41c5e3ae524b3a51cc635693cd20245b2017efabb9774be59c298823083 SHA512 a1e47a60a654f26edc57b3a34d943e15a055fc85c3cc764e912be23a80d56534b16f3512d7c7bc426f24a0cac1fcc9556802ac248f10c1fbdde51cd1e24afaf2
EBUILD guile-1.8.8-r4.ebuild 3093 BLAKE2B 22de2f4fb4bbdb99cbcefbe740a1a19565f925baa3d7fe8cfe4e601f0d498236823b3ab0b4cb05aec088dd1c67391869f850fee54967c1484ba34cb684ae077e SHA512 f1de3ea647c208028a529a83ecd62cc84e728538b229ffd57fc32f97af1edfe556cda41c45e1a2e549ae3a8b91253d0498084fa4c698daaac221ba27fbe030fe
EBUILD guile-2.2.7-r1.ebuild 2153 BLAKE2B 15c8f851508b2a76a2f58e1cb1a183b09cb081f4c41b05f8709df2e41c11bfe197fd5cddefc5c1f125d75c8dd5bb7e70f6cf2026114cdecb965c9979c971f9e2 SHA512 f3d58eed30c24bf96faf65a4cd07d11105bda4632f59bdc919fd6568029e76786f47834db1890b2f43003f6fe9b5af82e7358a7b78f68e3a2d67931d28d56f61
+EBUILD guile-2.2.7-r100.ebuild 2572 BLAKE2B 1c315e3feff304f9a0cb0c6e52022450c0687c89ad230b5d638663e1b4e9626d6f2f2b5bd8d737317b54e67f2035f2809187c6819eed5470dfe69c676f6dac38 SHA512 f7df0de1b2696baba8cbff7c25811e446edebedc78127752bb15319dd6220765fd31b57ef169c5b5be3752b4468984bbb18d862ed49029fdf55841ca98b1d9e7
EBUILD guile-2.2.7-r2.ebuild 2306 BLAKE2B b211ec6990b4bbaf54a626800ff2616a0ee8ff758f684c8ff4b879ce408ef82751a24efa91b1fc8560525e1118f5baf6ba44c2c14266272784ba52060a129631 SHA512 ba61fbc87a1cc061fde07b95d1da6107b299a7294e6219815e11295cc24f16642ee742fe3b90424d069152f634fae88e2e3714e1fca8091cdaf6565b7bae3772
+EBUILD guile-3.0.10-r100.ebuild 2476 BLAKE2B 907d538589e8d956ff5be800de2af97928d12b093edfd0dfa36eaacf1f2922295052122b74100e8c6943438ebb30cb50e3f716329fc2190052930d5980e3c065 SHA512 fb24cf4f1fe10bbcdf0f876d1de85381206cbffa0cfdd96541461a16c2f0ee8f7bf7ed744dbc5c13af41548fa92ed0aa4e33ebbfeca010910bc60a028a62cbc3
+EBUILD guile-3.0.10.ebuild 2159 BLAKE2B e74912b908dd00bd77ee35d7192229e7f1d7a46e7f1343ecd5fcb238d6b41b9ccb48b154705a90f9fd3c4293caad7e68d329420124d5183660ddd599c9217d31 SHA512 177ba9d58b9e46362a3786bfbb7f2bb80c581728f7d0cae4541c4c3be57cadb17289f8a83a8d05986dd5972d1eac466ce82d015c19b5de555f97f1661c270704
EBUILD guile-3.0.9.ebuild 2157 BLAKE2B 90caed9523271c6da94cf9adf507c4eded321664e6d81fa548a7621c90ad055c3aa220a0383bed797603d828dc647589f3e61a9078831b9b1fe78ea34d1c21ea SHA512 c18ded13e7dc2cc3741d3855242888e510979f50a05109ee3a29ee1f17a53d33ac751de4538dc24ec189df4006aeff3ca4b5bcd1634c89a8586505fa234effd0
-MISC metadata.xml 1215 BLAKE2B cb546c1bfb71222500e0a78ba2d745a8ead21610ce8d66215e0230ea0249a2ecfd8fa42437d44e8d7eef6e0c64cf0100cbbdd9b580b88afa11274986fa49e712 SHA512 54b7513aeafafef02c9fafcba5c1c645fb163d43b03e253f278ebb9f198ce255171b61a6b847415652a8dabeaa2fb34fa226bd49b02bb2c2dcdeae00c6e3babe
+MISC metadata.xml 1423 BLAKE2B 1e1d2bc292338c5cab820a087f22fd4bd9517b85a6a1d52175cc666f329a2ce1f9cfcea6da01a02328395e15b0dbcb91e755fa8dde6709d1bbc47a0b34bb1e22 SHA512 013db66fb8ed106d739faad36c5b2014917526791839ea1e9bb9d4f588de666eb9a662dd5550be7f781a3346314d885742586ce9382d6745b3f7a9c1e9c37cc7
diff --git a/dev-scheme/guile/guile-2.2.7-r100.ebuild b/dev-scheme/guile/guile-2.2.7-r100.ebuild
new file mode 100644
index 000000000000..ad6818be8c55
--- /dev/null
+++ b/dev-scheme/guile/guile-2.2.7-r100.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="GNU Ubiquitous Intelligent Language for Extensions"
+HOMEPAGE="https://www.gnu.org/software/guile/"
+SRC_URI="mirror://gnu/guile/${P}.tar.xz"
+
+LICENSE="LGPL-3+"
+SLOT="$(ver_cut 1-2)" # See (guile)Parallel Installations.
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="debug debug-malloc +deprecated +networking +nls +regex +threads" # upstream recommended +networking +nls
+REQUIRED_USE="regex" # workaround for bug 596322
+RESTRICT="strip"
+
+RDEPEND="
+ >=dev-libs/boehm-gc-7.0:=[threads?]
+ dev-libs/gmp:=
+ dev-libs/libffi:=
+ dev-libs/libltdl:=
+ dev-libs/libunistring:0=
+ sys-libs/ncurses:0=
+ sys-libs/readline:0=
+ virtual/libcrypt:=
+ !dev-scheme/guile:12
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ dev-build/libtool
+ sys-devel/gettext
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.2.3-gentoo-sandbox.patch"
+ "${FILESDIR}/${PN}-2.2.7-stack-up.patch"
+)
+
+# guile generates ELF files without use of C or machine code
+# It's a portage's false positive. bug #677600
+QA_PREBUILT='*[.]go'
+
+DOCS=( GUILE-VERSION HACKING README )
+
+src_configure() {
+ # see bug #676468
+ mv prebuilt/32-bit-big-endian{,.broken} || die
+
+ econf \
+ --program-suffix="-${SLOT}" \
+ --disable-error-on-warning \
+ --disable-rpath \
+ --disable-static \
+ --enable-posix \
+ --without-libgmp-prefix \
+ --without-libiconv-prefix \
+ --without-libintl-prefix \
+ --without-libltdl-prefix \
+ --without-libreadline-prefix \
+ --without-libunistring-prefix \
+ $(use_enable debug guile-debug) \
+ $(use_enable debug-malloc) \
+ $(use_enable deprecated) \
+ $(use_enable networking) \
+ $(use_enable nls) \
+ $(use_enable regex) \
+ $(use_with threads)
+}
+
+src_install() {
+ default
+
+ # From Novell
+ # https://bugzilla.novell.com/show_bug.cgi?id=874028#c0
+ dodir /usr/share/gdb/auto-load/$(get_libdir)
+ mv "${ED}"/usr/$(get_libdir)/libguile-*-gdb.scm "${ED}"/usr/share/gdb/auto-load/$(get_libdir) || die
+
+ find "${D}" -name '*.la' -delete || die
+
+ # Move the pkg-config files to guile-data. In future versions, this
+ # should be handled by --with-pkgconfigdir (patch waiting on
+ # upstream).
+ local pcdir=/usr/share/guile-data/"${SLOT}"
+ mkdir -p "${ED}${pcdir}" || die
+ mv "${ED}"/usr/share/aclocal/guile{,-"${SLOT}"}.m4 || die
+ mv "${ED}"/usr/$(get_libdir)/pkgconfig/ \
+ "${ED}/${pcdir}" || die
+
+ newenvd - "50guile${SLOT}" <<-EOF
+ PKG_CONFIG_PATH="${pcdir}/pkgconfig"
+ EOF
+}
diff --git a/dev-scheme/guile/guile-3.0.10-r100.ebuild b/dev-scheme/guile/guile-3.0.10-r100.ebuild
new file mode 100644
index 000000000000..027d50d2cadf
--- /dev/null
+++ b/dev-scheme/guile/guile-3.0.10-r100.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="GNU Ubiquitous Intelligent Language for Extensions"
+HOMEPAGE="https://www.gnu.org/software/guile/"
+SRC_URI="mirror://gnu/guile/${P}.tar.xz"
+
+LICENSE="LGPL-3+"
+SLOT="$(ver_cut 1-2)" # See (guile)Parallel Installations.
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos"
+
+IUSE="debug debug-malloc +deprecated +jit +networking +nls +regex +threads" # upstream recommended +networking +nls
+REQUIRED_USE="regex" # workaround for bug #596322
+RESTRICT="strip"
+
+RDEPEND="
+ >=dev-libs/boehm-gc-7.0[threads?]
+ dev-libs/gmp:=
+ dev-libs/libffi:=
+ dev-libs/libatomic_ops
+ dev-libs/libunistring:=
+ sys-libs/ncurses:=
+ sys-libs/readline:=
+ virtual/libcrypt:=
+ !dev-scheme/guile:12
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ dev-build/libtool
+ sys-devel/gettext
+"
+
+# guile generates ELF files without use of C or machine code
+# It's false positive. bug #677600
+QA_PREBUILT='*[.]go'
+
+DOCS=( ABOUT-NLS AUTHORS ChangeLog GUILE-VERSION HACKING NEWS README THANKS )
+
+PATCHES=( "${FILESDIR}"/${PN}-2.2.3-gentoo-sandbox.patch )
+
+# Where to install data files.
+GUILE_DATA="${PREFIX}/usr/share/guile-data/${SLOT}"
+GUILE_PCDIR="/usr/share/guile-data/${SLOT}/pkgconfig"
+
+src_configure() {
+ # see bug #676468
+ mv prebuilt/32-bit-big-endian{,.broken} || die
+
+ local -a myconf=(
+ --program-suffix="-${SLOT}"
+ --infodir="${GUILE_DATA}/info"
+ --with-pkgconfigdir="${GUILE_PCDIR}"
+
+ --disable-error-on-warning
+ --disable-rpath
+ --disable-lto
+ --enable-posix
+ --without-libgmp-prefix
+ --without-libiconv-prefix
+ --without-libintl-prefix
+ --without-libreadline-prefix
+ --without-libunistring-prefix
+ $(use_enable debug guile-debug)
+ $(use_enable debug-malloc)
+ $(use_enable deprecated)
+ $(use_enable jit)
+ $(use_enable networking)
+ $(use_enable nls)
+ $(use_enable regex)
+ $(use_with threads)
+ )
+ econf "${myconf[@]}"
+}
+
+src_install() {
+ default
+
+ # From Novell https://bugzilla.novell.com/show_bug.cgi?id=874028#c0
+ dodir /usr/share/gdb/auto-load/$(get_libdir)
+ mv "${ED}"/usr/$(get_libdir)/libguile-*-gdb.scm "${ED}"/usr/share/gdb/auto-load/$(get_libdir) || die
+
+ mv "${ED}"/usr/share/aclocal/guile{,-"${SLOT}"}.m4 || die
+ find "${ED}" -name '*.la' -delete || die
+
+ newenvd - "50guile${SLOT}" <<-EOF
+ PKG_CONFIG_PATH="${GUILE_PCDIR}"
+ EOF
+}
diff --git a/dev-scheme/guile/guile-3.0.10.ebuild b/dev-scheme/guile/guile-3.0.10.ebuild
new file mode 100644
index 000000000000..25b528640471
--- /dev/null
+++ b/dev-scheme/guile/guile-3.0.10.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MAJOR="3.0"
+DESCRIPTION="GNU Ubiquitous Intelligent Language for Extensions"
+HOMEPAGE="https://www.gnu.org/software/guile/"
+SRC_URI="mirror://gnu/guile/${P}.tar.xz"
+
+LICENSE="LGPL-3+"
+SLOT="12/3.0-1" # libguile-2.2.so.1 => 2.2-1
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos"
+
+IUSE="debug debug-malloc +deprecated +jit +networking +nls +regex +threads" # upstream recommended +networking +nls
+REQUIRED_USE="regex" # workaround for bug #596322
+RESTRICT="strip"
+
+RDEPEND="
+ >=dev-libs/boehm-gc-7.0[threads?]
+ dev-libs/gmp:=
+ dev-libs/libffi:=
+ dev-libs/libatomic_ops
+ dev-libs/libunistring:=
+ sys-libs/ncurses:=
+ sys-libs/readline:=
+ virtual/libcrypt:=
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ dev-build/libtool
+ sys-devel/gettext
+"
+
+# guile generates ELF files without use of C or machine code
+# It's false positive. bug #677600
+QA_PREBUILT='*[.]go'
+
+DOCS=( ABOUT-NLS AUTHORS ChangeLog GUILE-VERSION HACKING NEWS README THANKS )
+
+PATCHES=( "${FILESDIR}"/${PN}-2.2.3-gentoo-sandbox.patch )
+
+src_configure() {
+ # see bug #676468
+ mv prebuilt/32-bit-big-endian{,.broken} || die
+
+ local -a myconf=(
+ --disable-error-on-warning
+ --disable-rpath
+ --disable-lto
+ --enable-posix
+ --without-libgmp-prefix
+ --without-libiconv-prefix
+ --without-libintl-prefix
+ --without-libreadline-prefix
+ --without-libunistring-prefix
+ $(use_enable debug guile-debug)
+ $(use_enable debug-malloc)
+ $(use_enable deprecated)
+ $(use_enable jit)
+ $(use_enable networking)
+ $(use_enable nls)
+ $(use_enable regex)
+ $(use_with threads)
+ )
+ econf "${myconf[@]}"
+}
+
+src_install() {
+ default
+
+ # From Novell https://bugzilla.novell.com/show_bug.cgi?id=874028#c0
+ dodir /usr/share/gdb/auto-load/$(get_libdir)
+ mv "${ED}"/usr/$(get_libdir)/libguile-*-gdb.scm "${ED}"/usr/share/gdb/auto-load/$(get_libdir) || die
+
+ # necessary for registering slib, see bug #206896
+ keepdir /usr/share/guile/site
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-scheme/guile/metadata.xml b/dev-scheme/guile/metadata.xml
index 0ec99201052d..fc7f82d4b3b9 100644
--- a/dev-scheme/guile/metadata.xml
+++ b/dev-scheme/guile/metadata.xml
@@ -20,4 +20,13 @@ Guile is a library designed to help programmers create flexible applications. Us
<doc>https://www.gnu.org/software/guile/manual/html_node/index.html</doc>
<remote-id type="savannah">guile</remote-id>
</upstream>
+ <slots>
+ <!-- See (guile)Parallel Installations. -->
+ <slot name="3.0">
+ Guile effective version 3.0.
+ </slot>
+ <slot name="2.2">
+ Guile effective version 2.2.
+ </slot>
+ </slots>
</pkgmetadata>
diff --git a/dev-scheme/racket/Manifest b/dev-scheme/racket/Manifest
index 8f37d69b932d..c4a7797bdab4 100644
--- a/dev-scheme/racket/Manifest
+++ b/dev-scheme/racket/Manifest
@@ -1,7 +1,7 @@
-DIST racket-8.12-src-builtpkgs.tgz 157067538 BLAKE2B 8256662e516afe8a9673e3f4874cd01ac317a7cb9c63fb26c25de4ba41664a3bec401fbefc63cc83d67023b9ad627058766ee3f699a98ebaebd4768d4d6c5f88 SHA512 4c885e2155d83bcdc6288b2af2155ad3e0e03e2b67620b11fd27eb11b8bb1ffcb58c5fa0fa322bd3fc1dce5ead3aaa0b1576f165d53d6f035830ffa42439e710
DIST racket-8.13-src-builtpkgs.tgz 157457727 BLAKE2B ee4b2d0ebaf6118876b52cf394377e8e890feaaad593d5bb5074cac91959c44fe79e885ada3956be3b76790571244a6f3b11e6f3f2c19b138db2bf827b9c23e6 SHA512 6ab54fa5d09d0e49a65d7a268ab9e9ae2116cd303d7a62e4ff65dd8b97125fbb474bc152ab9db82616a66f37736ce8b6f7fcc195aa4cfc72141281bad08ccfb9
-DIST racket-minimal-8.12-src-builtpkgs.tgz 23295791 BLAKE2B 78ef862bb7ec1e533edb0c06923047c602e25b952fe2636415d1e4da575aadb8fcad28d019958c466141c51a2072bb6af7c5bdfdae6f8b5d4581f1b3edeb5bf5 SHA512 85957b6bf90a72c700d8042776668b63fba61781e1cadcd84d636822e4ab0ae8dc9c603ba7d5027df4afb4ee0211d45eede3657f8349086958492ce981871313
+DIST racket-8.14-src-builtpkgs.tgz 157264256 BLAKE2B a6b5e61785abd8869db7800f5a5b5113e8462a8c887a8d1c7d9ed2af0c54ff37865d79a27a132bf9e50d0a4d2f4f58769707e9076591fdb6958c40e380df74d6 SHA512 b5eca5050aa1eab880ba0d1571c12577c80c9cd8e945caf8d07ae81864e964899f547b58e9d901444bb09575ace2c422b61fc1fc62d8c7df5b51a425b874c176
DIST racket-minimal-8.13-src-builtpkgs.tgz 23426496 BLAKE2B e35fa08cd294316607ab61fc448458e239b670eacc5bac193debbf0e16aa19d8de136c3c89d3523aacb519527dcfd25da281635395b23b58500028944408ffd1 SHA512 241fdbf75f1823a031cba76af66353fdcbdd5c34de0b673b093fbbe3fd51c0e3c297bef0717ff99d8d2a4b7eb013f450cef62362fd512cbb0f304c358811cf9d
-EBUILD racket-8.12.ebuild 5344 BLAKE2B 2fc0bf9fa4b68f0d50bdab5e3b5bb35dbd7e984edab7764d89889453b7649e833a8da90206d994a28d44aa48ab78cd934547bd7588e07367f7f4b00a4df475a3 SHA512 6971290bd55deb8021546940d19516cd9ea18c2f32a0a258c6bc3cd5b638c5c24c575817082975f845c67ebc2297d360a660179d5a9bcdf1d61d511f59db4da8
-EBUILD racket-8.13.ebuild 5387 BLAKE2B 8ca95918afcd449b5434ff853fcb4593efe871c840f09232836880116c5da5982a06949c52d0d72a98963a62f8ec09652caa8dd24ff68ed1649df3cb19d503ef SHA512 5d97b5ebd3d44e54a9f9baf753472ba4d8c2bd81b9cc3a57b5a590a80861f5b350412c4c6c1c17b5182cc00704babcf79bad67334970bbaa17d84a0f17f73617
+DIST racket-minimal-8.14-src-builtpkgs.tgz 23391100 BLAKE2B 4b95b98c142d49c6f9ab5c7a654cd854183f2f088b8e8fc841ee2aaa65192ee5230634ca36caa26ffbc9bff5b1591f524ca84a4a13512249afc005998c97bd49 SHA512 f84a50be0d8a401d47d7517e6dc4b8a730b85ad80d1786edaa95b5cf86f4979e69d0f958a99de79631ed5885c4daf6092f39f1ac791f35422fe6d587e4d81465
+EBUILD racket-8.13.ebuild 5384 BLAKE2B 1152059f9e49a4b655ebf4988e96ed7c6c75285931b092fe055df9a866e70147fb042eb8572f96171e1d9b448b47f10af8c0d0b7033420f5f4326798476d3b21 SHA512 fac71eac654c38a632f89a6cb7f11badc9c0c102d5b821bb9afa326e32462f167daa70f601282e42df6a9a1e819415a49744e341dddd37583d2d3daa8459ef71
+EBUILD racket-8.14.ebuild 5389 BLAKE2B 7443ca48cd06e09a540d15b20d2275c0d77f14af4715b81eddce8e5773a536d013af71945a9fabaad19524dfb4936f783a292a7a3f76bd5020920434a1956fa9 SHA512 ac9c1282fb69f2c3b61f61f8780742e20db3516f0afe31c3160fe9b04c382ab884bf50c0eb155c013fcbae9e1ce30d8fce57477bbd41c7f9612f8778fce4eed8
MISC metadata.xml 1885 BLAKE2B 0a77f8dc3d86ee5c4f12919b05893ad43c03f1eb21ace376552de1f0aaf071ddd15f27c59ef008f85cdb362e3ed316fbcb3a17ac2a3d4f18a38ad954df7bb338 SHA512 9510e5f9797419fb3da8799487c7dfc808eb9fc1fccfbbd8c225d04f617e00acd0e5b7a14ab6e05dc59b8cbc035a2d35a37dfe9459a42e5347d7ee499894fb5b
diff --git a/dev-scheme/racket/racket-8.13.ebuild b/dev-scheme/racket/racket-8.13.ebuild
index 3c63aec9e185..ac5fc8538028 100644
--- a/dev-scheme/racket/racket-8.13.ebuild
+++ b/dev-scheme/racket/racket-8.13.ebuild
@@ -22,7 +22,7 @@ LICENSE="|| ( MIT Apache-2.0 ) chez? ( Apache-2.0 ) !chez? ( LGPL-3 )"
# PV == SLOT but this has to be checked carefully and in cases
# where we use _p, _pre, etc it will have to be set manually.
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm ~ppc ppc64 x86"
IUSE="+chez +doc +futures iconv +jit minimal ncurses +places +threads"
# See bug #809785 re chez/threads
REQUIRED_USE="chez? ( futures places ) futures? ( jit threads ) places? ( threads )"
diff --git a/dev-scheme/racket/racket-8.12.ebuild b/dev-scheme/racket/racket-8.14.ebuild
index 31965768b88e..db4cc53efdbb 100644
--- a/dev-scheme/racket/racket-8.12.ebuild
+++ b/dev-scheme/racket/racket-8.14.ebuild
@@ -3,11 +3,12 @@
EAPI=8
-inherit desktop optfeature toolchain-funcs readme.gentoo-r1
+inherit check-reqs desktop optfeature toolchain-funcs readme.gentoo-r1
DESCRIPTION="General purpose, multi-paradigm Lisp-Scheme programming language"
HOMEPAGE="https://racket-lang.org/
https://github.com/racket/racket/"
+
SRC_URI="
minimal? ( https://download.racket-lang.org/installers/${PV}/${PN}-minimal-${PV}-src-builtpkgs.tgz )
!minimal? ( https://download.racket-lang.org/installers/${PV}/${P}-src-builtpkgs.tgz )
@@ -22,7 +23,8 @@ LICENSE="|| ( MIT Apache-2.0 ) chez? ( Apache-2.0 ) !chez? ( LGPL-3 )"
# PV == SLOT but this has to be checked carefully and in cases
# where we use _p, _pre, etc it will have to be set manually.
SLOT="0/${PV}"
-KEYWORDS="amd64 ~arm ~ppc ppc64 x86"
+
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
IUSE="+chez +doc +futures iconv +jit minimal ncurses +places +threads"
# See bug #809785 re chez/threads
REQUIRED_USE="chez? ( futures places ) futures? ( jit threads ) places? ( threads )"
@@ -38,6 +40,7 @@ DEPEND="
${RDEPEND}
"
+CHECKREQS_DISK_BUILD="1700M"
# "mred" and "mzscheme" are binaries generated by Racket, not CC
QA_FLAGS_IGNORED="usr/bin/mred usr/bin/mzscheme"
diff --git a/dev-scheme/slib/Manifest b/dev-scheme/slib/Manifest
index ad00419f1dff..56721cdff515 100644
--- a/dev-scheme/slib/Manifest
+++ b/dev-scheme/slib/Manifest
@@ -2,5 +2,7 @@ AUX 50slib 39 BLAKE2B a7e221f173cfc2b24c72f047130e6b4c289533a22dc7d59fca49a147ed
AUX slib-3.2.5-fix-makefile-guile.patch 882 BLAKE2B 6e9c80b476cafa24477aae5b30e8c35f116cfbd0261f06b15672e39cc94e2ef6cb116104a41e5c0f1ebcb887664d9f43ec6c5b21ab3286d5a33c56d081ca9a4b SHA512 74997578edd5472f084a3b899c4e11b67432a4776bce6a19cbd4300316bf413f38374711a9a5cd3c10cd6cac01cb6d337d6f2ad18236bc4747c0bccf88948e3a
AUX slib-3.2.5-fix-paths.patch 1627 BLAKE2B bea0c823ca1f4e006953128cb5fe2886f5e84efbcf2d1ee32c801524d3bbbaf65899853c476697b501673501b112e7bd9382f7e372d27745cd190d3fa66a0bd4 SHA512 bdd667f20ca0ef57707a4df379186b58ef5ffab38e61a7e8e4ef697d7a90ebbafa8e4ca1f887d87520290656f2445fe1a9f4bd4e22634587908f70059dde0f30
DIST slib-3b5.zip 1105432 BLAKE2B ae9a6bb34b318875048fad05403a90342b070770013ecd8b022846dc3c43c708511ce6f8ec2be6da2329b01dcc1ed0a641bf68569fd022bb4e2187e20efac0b0 SHA512 f6ebf163fe34498141ab61b6887a9a5db8f2fe0aef1f6c70a7a5783dde6d1268d7e724bc340b73b36189b09013e7079584e0af74f0876e5ebfa46b53d847923e
+DIST slib-3c1.zip 1108203 BLAKE2B 86c38a6ce6936bd1e8b2e3f52fdd3e2e05ba1bb86a611aca7f66a5d65095c81774444459f23f47dd8d01c808ea40c2052d07587c73ffca010f50f5415b2beaf0 SHA512 a6559c3a58ebadfd9efa52391573af375ff142e21e3eface4df346ca7ba7a66a15883596a7a58f6d7f97143729de5022c04d864d90c8a1b3b158b23fbeac8911
EBUILD slib-3.2.5-r2.ebuild 2639 BLAKE2B 92063f2b93464cd545edc7165a8a1adf4da678766aa73dc21000bcc4a9288a0420d0a6bb878ae08b103460011da1b9fcee2eee6e49a642d10cfa1e7479227128 SHA512 bf7c1a44da68ffa07f0c695029e45b723c866cf413b594915c32f2a1177c2e9982b12c0d1e87ee347626f2004dcbe7f938e30472663ed88550ba60d938a559ad
+EBUILD slib-3.3.1-r100.ebuild 2810 BLAKE2B 3765907c03448c74e86e44510e42a7e659aae13e96d5a05c325f2f84bf5a379f751f6ad8176f807030619d0501a980d2e1e7db6dec3502373f19449e4e841b46 SHA512 3a1f177f34d67e36588c1e77b4ea692a5f300aff7cc4ba7d6db41e53e75c384a38a60f55aea23136f369eb0cb44f80a8158652970d708bf2b4cf815c4abb15dd
MISC metadata.xml 581 BLAKE2B ce1522831adc36b4f5adc45aa3fded28ace2913a530a30df36d4e35fe53a023f969e124a5270bfbe336dc81f13cca1d4a93565655cb61a6c1f0ad52b967363ae SHA512 3b45d61e0477e55831649e4ccc01112e1d61c3fc4792a723b05bef91ed521e08bb3af6ed63b5009eded639824ba37e5ae8232383aa461d5f43841619175f6422
diff --git a/dev-scheme/slib/slib-3.3.1-r100.ebuild b/dev-scheme/slib/slib-3.3.1-r100.ebuild
new file mode 100644
index 000000000000..b1b5e37bde1a
--- /dev/null
+++ b/dev-scheme/slib/slib-3.3.1-r100.ebuild
@@ -0,0 +1,123 @@
+# 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
+
+#version magic thanks to masterdriverz and UberLord using bash array instead of tr
+trarr="0abcdefghi"
+MY_PV="$(ver_cut 1)${trarr:$(ver_cut 2):1}$(ver_cut 3)"
+
+DESCRIPTION="Portable Scheme library for all standard Scheme implementations"
+HOMEPAGE="http://people.csail.mit.edu/jaffer/SLIB"
+SRC_URI="http://groups.csail.mit.edu/mac/ftpdir/scm/${PN}-${MY_PV}.zip"
+S="${WORKDIR}"/${PN}
+
+LICENSE="public-domain BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="gambit scm"
+RESTRICT="mirror"
+REQUIRED_USE="${GUILE_REQUIRED_USE}"
+
+RDEPEND="
+ ${GUILE_DEPS}
+ gambit? ( dev-scheme/gambit )
+ scm? ( dev-scheme/scm )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ sys-apps/texinfo
+ app-arch/unzip
+"
+
+DOCS=( ANNOUNCE COPYING FAQ README ChangeLog slib.{txt,html} )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.2.5-fix-paths.patch
+)
+
+src_configure() {
+ ./configure \
+ --prefix=/usr \
+ --libdir=/usr/share \
+ || die
+}
+
+src_compile() {
+ default
+
+ makeinfo -o slib.txt --plaintext --force slib.texi || die
+ makeinfo -o slib.html --html --no-split --force slib.texi || die
+}
+
+_new_catalog() {
+ if [[ ${1} != @(guile|scm) ]] then
+ echo -n "(load \"${ROOT}/usr/share/slib/${1}.init\")" || die
+ fi
+ echo " (require 'new-catalog) (slib:report-version)" || die
+}
+
+guile_generate_catalog() {
+ # FIXME(arsen): we need to also compile the .go files..
+ local gpath="${ED}/$(${GUILE} -c '(display (%library-dir))')"
+ local -x GUILE_IMPLEMENTATION_PATH="${gpath}"
+ assert "Could not determine the library directory"
+ mkdir -p "${gpath}" || die
+ ln -sr "${ED}/usr/share/slib" "${GUILE_IMPLEMENTATION_PATH}/slib" \
+ || die
+ "${GUILE}" --no-auto-compile \
+ -L "${gpath}" \
+ -c "
+ (use-modules (ice-9 slib))
+ (require 'new-catalog)
+ "
+ assert "Failed to generate catalogs for Guile"
+}
+
+src_install() {
+ # core
+ insinto /usr/share/${PN}
+ doins *.{dat,init,ps,scm}
+ exeinto /usr/share/${PN}
+ doexe *.sh
+
+ # bin
+ dodir /usr/bin/
+ dosym -r /usr/share/${PN}/${PN}.sh /usr/bin/${PN}
+
+ # env
+ doenvd "${FILESDIR}"/50slib
+
+ # backwards compatibility
+ dodir /usr/lib/
+ dosym -r /usr/share/${PN}/ /usr/lib/${PN}
+
+ # docs
+ doinfo slib.info
+ doman slib.1
+ einstalldocs
+
+ local -x SCHEME_LIBRARY_PATH="${ED}"/usr/share/slib/
+
+ # catalogs
+ einfo "Updating implementation catalogs.."
+ guile_foreach_impl guile_generate_catalog
+
+ # broken as for now
+ # if use elk ; then
+ # echo "$(_new_catalog elk)" | elk -l -
+ # fi
+
+ if use gambit ; then
+ local -x GAMBIT_IMPLEMENTATION_PATH="${ED}"/usr/share/gambc/
+ mkdir -p "${ED}"/usr/share/gambc || die
+ gsi -e "$(_new_catalog gambit)" || die
+ fi
+
+ if use scm ; then
+ scm -e "$(_new_catalog scm)" || die
+ fi
+}
diff --git a/dev-scheme/termite/Manifest b/dev-scheme/termite/Manifest
deleted file mode 100644
index 1a6b98545085..000000000000
--- a/dev-scheme/termite/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST termite-0.15.tar.gz 77482 BLAKE2B 65af1b195780c33ec35c0f91c1002826cb6573898af623ad728c3150e7cf9ee7bd233ba485a82dddab4f2d7a4c1479d79a7b3e6e2d62b7846cd52b46aa613cde SHA512 77369d08f222b6a51272aa067036061059bd49263cbcdf28e5254198437399bab9d4aa464b34d049480935dfe31843b3fc683eea3fa0c06a181a4521a92f4933
-EBUILD termite-0.15-r1.ebuild 603 BLAKE2B bb7f6d17a2e99c53aab13f418da4cdbd9585bf7f3dc7c9a09ff2708e4817c0d69db88473cb0e353bc57169497b1952b040b5e83edec21fbf989104a16731f6d9 SHA512 33b1517ca0c5f2789d0714031600b23cc7f0074694ecf76e48fef18699d0d9644c913d727d2624ce9dc2d29f89180c066b215f110f719b24c0fa70c7631d77f9
-MISC metadata.xml 613 BLAKE2B 4e28950e5c2b4ea2bfec3b7fd7aea024a48a0a60f7499a2333579bc6f69c8cd408815e207fcfa8f5207bc164614ae642a990eb8309536f2b4f79c02da28632f2 SHA512 24c3784bba1498c7d3d57699d3f61dddbbe15fb6a101c71b2bf71415fba3b1b082171f1388d13766af4766c11aa9c5c03fede90ed586efbe03da837d33a2f2ac
diff --git a/dev-scheme/termite/metadata.xml b/dev-scheme/termite/metadata.xml
deleted file mode 100644
index ebaf54e30c57..000000000000
--- a/dev-scheme/termite/metadata.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>scheme@gentoo.org</email>
- <name>Gentoo Scheme Project</name>
- </maintainer>
- <longdescription lang="en">Termite Scheme is a variant of Scheme intended for distributed computing.
- It offers a simple and powerful concurrency model, inspired by the Erlang
- programming language, which is based on a message-passing model of
- concurrency.</longdescription>
- <upstream>
- <remote-id type="google-code">termite</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-scheme/termite/termite-0.15-r1.ebuild b/dev-scheme/termite/termite-0.15-r1.ebuild
deleted file mode 100644
index 9fca8b50295b..000000000000
--- a/dev-scheme/termite/termite-0.15-r1.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="Erlang-style concurrency for Gambit Scheme"
-HOMEPAGE="https://code.google.com/p/termite/"
-SRC_URI="https://termite.googlecode.com/files/${PN}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-DEPEND="dev-scheme/gambit"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${PN}"
-
-src_install() {
- dobin tsi
- dodoc README CHANGELOG
-
- insinto /usr/$(get_libdir)/${PN}/
- doins *.scm
- doins -r otp
-
- insinto /usr/share/${PN}
- doins -r examples test benchmarks
-}