summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-scheme')
-rw-r--r--dev-scheme/chez/chez-10.0.0.ebuild2
-rw-r--r--dev-scheme/chibi/Manifest1
-rw-r--r--dev-scheme/chibi/chibi-0.11.0.ebuild45
-rw-r--r--dev-scheme/chibi/chibi-9999.ebuild22
-rw-r--r--dev-scheme/gauche-gl/gauche-gl-0.6-r1.ebuild4
-rw-r--r--dev-scheme/gauche-kakasi/gauche-kakasi-0.1-r1.ebuild4
-rw-r--r--dev-scheme/gauche/Manifest1
-rw-r--r--dev-scheme/gauche/files/gauche-0.9.14-info.patch95
-rw-r--r--dev-scheme/gauche/files/gauche-info.patch28
-rw-r--r--dev-scheme/gauche/gauche-0.9.14-r1.ebuild2
-rw-r--r--dev-scheme/gauche/gauche-0.9.15.ebuild56
-rw-r--r--dev-scheme/guile-git/Manifest1
-rw-r--r--dev-scheme/guile-git/guile-git-0.7.0.ebuild72
-rw-r--r--dev-scheme/guile/files/guile-2.2.7-fix-buggy-gnulib.patch85
-rw-r--r--dev-scheme/guile/guile-2.2.7-r2.ebuild89
-rw-r--r--dev-scheme/jscheme/jscheme-7.2-r2.ebuild4
-rw-r--r--dev-scheme/racket/Manifest2
-rw-r--r--dev-scheme/racket/racket-8.13.ebuild184
-rw-r--r--dev-scheme/stklos/files/stklos-2.00-threads.patch22
-rw-r--r--dev-scheme/stklos/stklos-2.00-r1.ebuild1
-rw-r--r--dev-scheme/tinyscheme/tinyscheme-1.42.ebuild4
21 files changed, 690 insertions, 34 deletions
diff --git a/dev-scheme/chez/chez-10.0.0.ebuild b/dev-scheme/chez/chez-10.0.0.ebuild
index 3a380c4c2787..c7b445a4a130 100644
--- a/dev-scheme/chez/chez-10.0.0.ebuild
+++ b/dev-scheme/chez/chez-10.0.0.ebuild
@@ -94,7 +94,7 @@ src_configure() {
LZ4="$($(tc-getPKG_CONFIG) --libs liblz4)"
ZLIB="$($(tc-getPKG_CONFIG) --libs zlib)"
)
- edob sh ./configure "${myconfargs[@]}"
+ edo sh ./configure "${myconfargs[@]}"
}
src_install() {
diff --git a/dev-scheme/chibi/Manifest b/dev-scheme/chibi/Manifest
index 7fb92c8af0ad..ac5d43470476 100644
--- a/dev-scheme/chibi/Manifest
+++ b/dev-scheme/chibi/Manifest
@@ -1 +1,2 @@
DIST chibi-0.10.0.tar.gz 1148573 BLAKE2B 1435d5734bfc44b6d6ddafdb339eea659345eea0db0e9b227830d7a6b6b14d3655af10906e43b6f8abd7eb2b90596fcb5dcc024abd2cba123a184f66ffcd0961 SHA512 348c20468e3b3b084ed25d38860f1afdecfb06ad9ff9ceb178c36930c14aa66a78f48b881a8eda28a30498662e7c722938212ea77b1cea89834d1a4377f0f648
+DIST chibi-0.11.0.tar.gz 1228817 BLAKE2B aac54db3a323078323284e4d3e08f49637f4932d895801871a0d62e18b975bf7855c5db86985dfaf806696cd432160cae3dcde19fa63387c50842c73edf27b38 SHA512 00b56266398212a97603527ad1e4e56ac2a80ecdf0c13c5c41fe495a7af601bba3f00b7d36016284e76ab3d18e2c51bdb19a84523a158f50cec232ca950ac25d
diff --git a/dev-scheme/chibi/chibi-0.11.0.ebuild b/dev-scheme/chibi/chibi-0.11.0.ebuild
new file mode 100644
index 000000000000..40985662f005
--- /dev/null
+++ b/dev-scheme/chibi/chibi-0.11.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+REAL_PN="${PN}-scheme"
+REAL_PV="$(ver_cut 1-2)"
+REAL_P="${REAL_PN}-${REAL_PV}"
+
+inherit toolchain-funcs
+
+DESCRIPTION="Minimal Scheme implementation for use as an extension language"
+HOMEPAGE="http://synthcode.com/scheme/chibi/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/ashinn/${REAL_PN}.git"
+else
+ SRC_URI="https://github.com/ashinn/${REAL_PN}/archive/${REAL_PV}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/${REAL_P}"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="BSD"
+SLOT="0"
+
+src_configure() {
+ tc-export CC
+
+ export PREFIX="${EPREFIX}/usr"
+ export LIBDIR="${EPREFIX}/usr/$(get_libdir)"
+ export SOLIBDIR="${EPREFIX}/usr/$(get_libdir)"
+
+ # If "ldconfig" exists it is ran, overwrite it with "LDCONFIG" variable.
+ export LDCONFIG="0"
+}
+
+src_install() {
+ default
+
+ dosym "${REAL_PN}" "/usr/bin/${PN}"
+}
diff --git a/dev-scheme/chibi/chibi-9999.ebuild b/dev-scheme/chibi/chibi-9999.ebuild
index 3860b98dfaa5..40985662f005 100644
--- a/dev-scheme/chibi/chibi-9999.ebuild
+++ b/dev-scheme/chibi/chibi-9999.ebuild
@@ -1,25 +1,27 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-MY_PN=${PN}-scheme
-MY_PV=${PV} # May be tagged incorrectly, see bug #858245
-MY_P=${MY_PN}-${MY_PV}
+REAL_PN="${PN}-scheme"
+REAL_PV="$(ver_cut 1-2)"
+REAL_P="${REAL_PN}-${REAL_PV}"
inherit toolchain-funcs
DESCRIPTION="Minimal Scheme implementation for use as an extension language"
HOMEPAGE="http://synthcode.com/scheme/chibi/"
-if [[ ${PV} == *9999* ]] ; then
+if [[ "${PV}" == *9999* ]] ; then
inherit git-r3
- EGIT_REPO_URI="https://github.com/ashinn/${MY_PN}.git"
+
+ EGIT_REPO_URI="https://github.com/ashinn/${REAL_PN}.git"
else
- SRC_URI="https://github.com/ashinn/${MY_PN}/archive/${MY_PV}.tar.gz
- -> ${P}.tar.gz"
+ SRC_URI="https://github.com/ashinn/${REAL_PN}/archive/${REAL_PV}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/${REAL_P}"
+
KEYWORDS="~amd64 ~x86"
- S="${WORKDIR}"/${MY_P}
fi
LICENSE="BSD"
@@ -39,5 +41,5 @@ src_configure() {
src_install() {
default
- dosym ${MY_PN} /usr/bin/${PN}
+ dosym "${REAL_PN}" "/usr/bin/${PN}"
}
diff --git a/dev-scheme/gauche-gl/gauche-gl-0.6-r1.ebuild b/dev-scheme/gauche-gl/gauche-gl-0.6-r1.ebuild
index cf7d9f5aac7b..9fe0846a7415 100644
--- a/dev-scheme/gauche-gl/gauche-gl-0.6-r1.ebuild
+++ b/dev-scheme/gauche-gl/gauche-gl-0.6-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
@@ -9,7 +9,7 @@ MY_P="${P^g}"
DESCRIPTION="OpenGL binding for Gauche"
HOMEPAGE="https://practical-scheme.net/gauche/"
-SRC_URI="mirror://sourceforge/${PN%-*}/${MY_P}.tgz"
+SRC_URI="https://downloads.sourceforge.net/${PN%-*}/${MY_P}.tgz"
LICENSE="BSD"
SLOT="0"
diff --git a/dev-scheme/gauche-kakasi/gauche-kakasi-0.1-r1.ebuild b/dev-scheme/gauche-kakasi/gauche-kakasi-0.1-r1.ebuild
index ce93266467be..cdda35c2bea8 100644
--- a/dev-scheme/gauche-kakasi/gauche-kakasi-0.1-r1.ebuild
+++ b/dev-scheme/gauche-kakasi/gauche-kakasi-0.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
@@ -9,7 +9,7 @@ MY_P="${P^g}"
DESCRIPTION="Kakasi binding for Gauche"
HOMEPAGE="https://osdn.jp/projects/gauche/"
-SRC_URI="mirror://sourceforge/${PN%-*}/${MY_P}.tgz"
+SRC_URI="https://downloads.sourceforge.net/${PN%-*}/${MY_P}.tgz"
LICENSE="GPL-2+"
SLOT="0"
diff --git a/dev-scheme/gauche/Manifest b/dev-scheme/gauche/Manifest
index f72e95e1fd56..7996744b0f2d 100644
--- a/dev-scheme/gauche/Manifest
+++ b/dev-scheme/gauche/Manifest
@@ -1 +1,2 @@
DIST Gauche-0.9.14.tgz 9352431 BLAKE2B cb747a16037167a95a543e324b53a48e3cb4dd372e9f6cc00603b7072b902c839248fbf3e9926360a2732fcf4bc0caa16a4ea1ad757e84d5d597ef4bdfa2592f SHA512 3dd9dc8627fe1c5e518731a17dd984120485b36d6c2bb2d0d54a8b5f6778f45efd02640abe4699466eec2eb18dd4474d9525848029468128974c13c615087662
+DIST Gauche-0.9.15.tgz 9444756 BLAKE2B 1b4cbc764ea3af78bc736ce9a8ff083318366fbf3197ebc5060222b8df93ed426ca4b3b90402cd604e110bcfa8fb46c0d4c5f35be39899cc89dc82a671372bf9 SHA512 fc246a9ba937eba642621a5707f0e7a02d62191749360b9b15e2563c9ceb13e18f236c736172d05c177df8b7220ff0e973f568aaf9eb92e92643af0823f0f865
diff --git a/dev-scheme/gauche/files/gauche-0.9.14-info.patch b/dev-scheme/gauche/files/gauche-0.9.14-info.patch
new file mode 100644
index 000000000000..fa730944ee96
--- /dev/null
+++ b/dev-scheme/gauche/files/gauche-0.9.14-info.patch
@@ -0,0 +1,95 @@
+--- 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/files/gauche-info.patch b/dev-scheme/gauche/files/gauche-info.patch
index fa730944ee96..f02113893ba6 100644
--- a/dev-scheme/gauche/files/gauche-info.patch
+++ b/dev-scheme/gauche/files/gauche-info.patch
@@ -1,7 +1,7 @@
--- a/configure.ac
+++ b/configure.ac
-@@ -330,7 +330,6 @@
- AC_PROG_LN_S
+@@ -345,7 +345,6 @@
+ AC_CHECK_PROGS(INSTALL_INFO, install-info)
AC_CHECK_TOOLS(AR, ar gar)
AC_CHECK_PROGS(MAKEINFO, makeinfo)
-AC_CHECK_PROGS(GZIP_PROGRAM, gzip)
@@ -10,15 +10,15 @@
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@
+@@ -19,7 +19,6 @@
+ INSTALL_INFO = @INSTALL_INFO@
MKINSTDIR = $(top_srcdir)/mkinstalldirs
MAKEINFO = @MAKEINFO@
-GZIP_PROGRAM = @GZIP_PROGRAM@
VERSION_INFO = @PACKAGE_STRING@
PREPROCESSOR = $(top_srcdir)/lib/tools/docprep
-@@ -60,7 +59,7 @@
+@@ -61,7 +60,7 @@
texi html htmls dvi pdf info epub \
clean distclean maintainer-clean
@@ -27,16 +27,16 @@
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
+@@ -77,7 +76,7 @@
+ $(INSTALL_INFO) gauche-refj.info.gz "$(infodir)/dir" ; \
+ fi; \
+ 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 @@
+ $(INSTALL_DATA) *.info* "$(DESTDIR)$(infodir)/"; \
+ fi
+
+@@ -114,8 +113,8 @@
%-draft/index.html : %.texi
$(MAKEDOC) htmls $< "$(MAKEINFO)" "Development HEAD DRAFT"
@@ -47,7 +47,7 @@
%.pdf : %.texi
$(MAKEDOC) pdf $< "$(MAKEINFO)"
-@@ -122,7 +121,7 @@
+@@ -137,7 +136,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
diff --git a/dev-scheme/gauche/gauche-0.9.14-r1.ebuild b/dev-scheme/gauche/gauche-0.9.14-r1.ebuild
index f2441b774c98..6151e01fabcd 100644
--- a/dev-scheme/gauche/gauche-0.9.14-r1.ebuild
+++ b/dev-scheme/gauche/gauche-0.9.14-r1.ebuild
@@ -27,7 +27,7 @@ S="${WORKDIR}/${MY_P}"
PATCHES=(
"${FILESDIR}"/${PN}-ext-ldflags.patch
"${FILESDIR}"/${PN}-gauche.m4.patch
- "${FILESDIR}"/${PN}-info.patch
+ "${FILESDIR}"/${P}-info.patch
"${FILESDIR}"/${PN}-xz-info.patch
)
DOCS=( AUTHORS ChangeLog HACKING.adoc README.adoc )
diff --git a/dev-scheme/gauche/gauche-0.9.15.ebuild b/dev-scheme/gauche/gauche-0.9.15.ebuild
new file mode 100644
index 000000000000..c037bef1bc58
--- /dev/null
+++ b/dev-scheme/gauche/gauche-0.9.15.ebuild
@@ -0,0 +1,56 @@
+# 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}"/${PN}-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/guile-git/Manifest b/dev-scheme/guile-git/Manifest
index fe2f5ce6a405..e337443951ec 100644
--- a/dev-scheme/guile-git/Manifest
+++ b/dev-scheme/guile-git/Manifest
@@ -1 +1,2 @@
DIST guile-git-v0.6.0.tar.bz2 99833 BLAKE2B 51109cc5f037cffd5e8a6dd1b0ce99631ffb524e209a8b081c33a188ead78d26c76dbb9590e3891c056eb7853da57b7e3f3f08ef3723465bd7ab43671c3d018b SHA512 519b5dafd83b5967403929e347fa2b81fcec97136459722fdc95357cbeba9d519807b8863b17a85fc426e53e8f78f5d3979f96bbb32548bcf598827f3f228219
+DIST guile-git-v0.7.0.tar.bz2 100454 BLAKE2B a94a8f81949f1caf4bb31ed498856561fd88d541c3f8ccced1a5f6633f189a09d8961b5fdf7810393e110665e77db48bf4aeb3c756437e2b75f614710eaac521 SHA512 6207464bc48de8e33fde0365c198e42c21719e5ffb27e30ab3277f88d04ccc4a2fe4964c0019333be8f047d3ddc76f1c98e6e060311ce6b2a13ac670c0663226
diff --git a/dev-scheme/guile-git/guile-git-0.7.0.ebuild b/dev-scheme/guile-git/guile-git-0.7.0.ebuild
new file mode 100644
index 000000000000..8984ab9f3bf9
--- /dev/null
+++ b/dev-scheme/guile-git/guile-git-0.7.0.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Guile bindings of git"
+HOMEPAGE="https://gitlab.com/guile-git/guile-git/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://gitlab.com/${PN}/${PN}.git"
+else
+ SRC_URI="https://gitlab.com/${PN}/${PN}/-/archive/v${PV}/${PN}-v${PV}.tar.bz2"
+ S="${WORKDIR}/${PN}-v${PV}"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="LGPL-3+"
+SLOT="0"
+
+# Works without sandbox. But under sandbox sshd claims to break the protocol.
+RESTRICT="test"
+
+# older libgit seems to be incompatible with guile-git bindings
+# https://github.com/trofi/nix-guix-gentoo/issues/7
+RDEPEND="
+ >=dev-libs/libgit2-1:=
+ >=dev-scheme/guile-2.0.11:=
+ dev-scheme/bytestructures
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ virtual/pkgconfig
+"
+
+# guile generates ELF files without use of C or machine code
+# It's a portage's false positive. bug #677600
+QA_PREBUILT='*[.]go'
+
+src_prepare() {
+ default
+ eautoreconf
+
+ # guile is trying to avoid recompilation by checking if file
+ # /usr/lib64/guile/2.2/site-ccache/<foo>
+ # is newer than
+ # <foo>
+ # In case it is instead of using <foo> guile
+ # loads system one (from potentially older version of package).
+ # To work it around we bump last modification timestamp of
+ # '*.scm' files.
+ # http://debbugs.gnu.org/cgi/bugreport.cgi?bug=38112
+ find "${S}" -name "*.scm" -exec touch {} + || die
+}
+
+src_test() {
+ emake VERBOSE="1" check-TESTS
+}
+
+src_install() {
+ default
+
+ # Workaround llvm-strip problem of mangling guile ELF debug
+ # sections: https://bugs.gentoo.org/905898
+ dostrip -x "/usr/$(get_libdir)/guile"
+}
diff --git a/dev-scheme/guile/files/guile-2.2.7-fix-buggy-gnulib.patch b/dev-scheme/guile/files/guile-2.2.7-fix-buggy-gnulib.patch
new file mode 100644
index 000000000000..20f04c3b095c
--- /dev/null
+++ b/dev-scheme/guile/files/guile-2.2.7-fix-buggy-gnulib.patch
@@ -0,0 +1,85 @@
+From 76d84a62e84d4206d41ffed16b8baa5af2d1e62f Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz93@gmail.com>
+Date: Sun, 26 May 2024 13:02:54 -0400
+Subject: [PATCH 1/2] fix invalid bash code causing the wrong type of failure
+
+test $var = no
+
+fails if $var is only ever defined after this line. gnulib is brilliant
+software and naturally does exactly this, because it is highly logical
+to only define code after you try to use it.
+
+Probably. It's hard to tell because the actual code that gets run is:
+
+func_gl_gnulib_m4code_5264294aa0a5557541b53c8c741f7f31
+
+since the other sparkling aspect of gnulib's innovative brilliance is
+the realization that *of course* the most robust way to design software
+is to use checksums as *replacements* for function names.
+
+Or, "that time Eli got jiatanned by gnulib".
+
+The quoting was silently "fixed" upstream in:
+https://github.com/coreutils/gnulib/commit/db1ee11e2168af7137db53289a92e306d2277b0b
+
+It is the same "fix" we do here, thus restoring dash <--> bash
+compatibility and preventing:
+
+```
+ * QA Notice: Abnormal configure code
+ *
+ * ./configure: 38012: test: =: unexpected operator
+```
+
+although it seems to me gnulib is just more generally broken.
+---
+ m4/timegm.m4 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/m4/timegm.m4 b/m4/timegm.m4
+index 510e25a..34e5347 100644
+--- a/m4/timegm.m4
++++ b/m4/timegm.m4
+@@ -11,7 +11,7 @@ AC_DEFUN([gl_FUNC_TIMEGM],
+ REPLACE_TIMEGM=0
+ AC_CHECK_FUNCS_ONCE([timegm])
+ if test $ac_cv_func_timegm = yes; then
+- if test $gl_cv_func_working_mktime = no; then
++ if test "$gl_cv_func_working_mktime" = no; then
+ # Assume that timegm is buggy if mktime is.
+ REPLACE_TIMEGM=1
+ fi
+--
+2.44.1
+
+
+From fa98775e2a0bc6e33de851a8bd399635b977d0e6 Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz93@gmail.com>
+Date: Sun, 26 May 2024 13:07:25 -0400
+Subject: [PATCH 2/2] gnulib: backport fix for Modern C in round.m4
+
+https://github.com/coreutils/gnulib/commit/f12a7bbb4acaaa72f48e452e04da2a4dd749a664
+
+Fixes undefined exit() by switching it to merely return. That's the
+upstream fix, so use it although arguably one could simply #include the
+headers for functions that are used...
+---
+ m4/round.m4 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/m4/round.m4 b/m4/round.m4
+index 45b7df4..d4ef7f2 100644
+--- a/m4/round.m4
++++ b/m4/round.m4
+@@ -57,7 +57,7 @@ int main()
+ * (double) (1U << ((DBL_MANT_DIG + 3) / 5))
+ * (double) (1U << ((DBL_MANT_DIG + 4) / 5));
+ volatile double x = 0.5 - 0.5 / TWO_MANT_DIG;
+- exit (x < 0.5 && round (x) != 0.0);
++ return (x < 0.5 && round (x) != 0.0);
+ }]])], [gl_cv_func_round_works=yes], [gl_cv_func_round_works=no],
+ [case "$host_os" in
+ netbsd* | aix*) gl_cv_func_round_works="guessing no";;
+--
+2.44.1
+
diff --git a/dev-scheme/guile/guile-2.2.7-r2.ebuild b/dev-scheme/guile/guile-2.2.7-r2.ebuild
new file mode 100644
index 000000000000..8b20939f47e3
--- /dev/null
+++ b/dev-scheme/guile/guile-2.2.7-r2.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+MAJOR="2.2"
+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/2.2-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 ~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:="
+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"
+ # Modern C bug in round.m4
+ # /bin/sh bug in timegm.m4
+ "${FILESDIR}"/${PN}-2.2.7-fix-buggy-gnulib.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_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # see bug #676468
+ mv prebuilt/32-bit-big-endian{,.broken} || die
+
+ econf \
+ --disable-error-on-warning \
+ --disable-rpath \
+ --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
+
+ # necessary for registering slib, see bug 206896
+ keepdir /usr/share/guile/site
+
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/dev-scheme/jscheme/jscheme-7.2-r2.ebuild b/dev-scheme/jscheme/jscheme-7.2-r2.ebuild
index 4a82b1056991..ef59f2a98e06 100644
--- a/dev-scheme/jscheme/jscheme-7.2-r2.ebuild
+++ b/dev-scheme/jscheme/jscheme-7.2-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -7,7 +7,7 @@ inherit java-pkg-2
DESCRIPTION="A Scheme dialect with a simple Java interface called Javadot notation"
HOMEPAGE="https://jscheme.sourceforge.net/jscheme/main.html"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tgz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tgz"
LICENSE="Apache-1.1"
SLOT="0"
diff --git a/dev-scheme/racket/Manifest b/dev-scheme/racket/Manifest
index ffde001e3aee..66550a59fef1 100644
--- a/dev-scheme/racket/Manifest
+++ b/dev-scheme/racket/Manifest
@@ -1,2 +1,4 @@
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-minimal-8.13-src-builtpkgs.tgz 23426496 BLAKE2B e35fa08cd294316607ab61fc448458e239b670eacc5bac193debbf0e16aa19d8de136c3c89d3523aacb519527dcfd25da281635395b23b58500028944408ffd1 SHA512 241fdbf75f1823a031cba76af66353fdcbdd5c34de0b673b093fbbe3fd51c0e3c297bef0717ff99d8d2a4b7eb013f450cef62362fd512cbb0f304c358811cf9d
diff --git a/dev-scheme/racket/racket-8.13.ebuild b/dev-scheme/racket/racket-8.13.ebuild
new file mode 100644
index 000000000000..3c63aec9e185
--- /dev/null
+++ b/dev-scheme/racket/racket-8.13.ebuild
@@ -0,0 +1,184 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+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 )
+"
+S="${WORKDIR}/${P}/src"
+
+# See https://blog.racket-lang.org/2019/11/completing-racket-s-relicensing-effort.html
+LICENSE="|| ( MIT Apache-2.0 ) chez? ( Apache-2.0 ) !chez? ( LGPL-3 )"
+
+# Bytecode generated by Racket is not compatible between versions.
+# The bytecode version should be denoted by SLOT, in most cases
+# 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"
+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 )"
+
+RDEPEND="
+ dev-db/sqlite:3
+ dev-libs/libffi:=
+ ncurses? (
+ sys-libs/ncurses:=
+ )
+"
+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"
+
+DOC_CONTENTS="
+If you wish to use sys-libs/readline instead of dev-libs/libedit
+for readline-like features in the Racket's REPL you can install
+the package 'readline-gpl' using raco, Racket's package manager
+https://pkgs.racket-lang.org/package/readline-gpl
+"
+
+# Package database files (for pkg_preinst & pkg_config)
+PKGDB=(
+ /usr/share/racket/info-cache.rktd
+ /usr/share/racket/links.rktd
+ /usr/share/racket/pkgs/pkgs.rktd
+)
+
+src_prepare() {
+ # Prepare the environment.
+ unset PLTADDONDIR PLTCOLLECTS PLTCONFIGDIR PLTUSERHOME
+
+ default
+
+ # Remove bundled libffi.
+ rm -r "${S}/bc/foreign/libffi" || die "failed to remove bundled libffi"
+}
+
+src_configure() {
+ # Compilation of Zuo does not respect the autoconf configuration.
+ tc-export CC
+
+ einfo "Configuring Zuo in ${S}/zuo"
+ pushd "${S}/zuo" >/dev/null || die
+ econf
+ popd >/dev/null || die
+
+ einfo "Configuring Racket in ${S}"
+ # Libtool:
+ # According to vapier, we should use the bundled libtool
+ # such that we don't preclude cross-compile.
+ # Thus don't use --enable-lt=/usr/bin/libtool
+ # Backend:
+ # --enable-bc builds Racket w/o chez backend
+ # C Libraries:
+ # --enable-libs & --disable-shared is the way to build
+ # .a files that are needed to embed Racket into programs
+ # https://docs.racket-lang.org/inside/cs-embedding.html
+ local -a myconf=(
+ --disable-shared
+ --disable-strip
+ --docdir="${EPREFIX}/usr/share/doc/${PF}"
+ --enable-libs
+ $(usex chez "--enable-cs --enable-csonly" "--enable-bc --enable-bconly")
+ $(use_enable doc docs)
+ $(use_enable iconv)
+ $(use_enable ncurses curses)
+ )
+ # Some options are togglable only for the BC version (are forced in CS)
+ ! use chez && myconf+=(
+ --enable-float
+ --enable-foreign
+ --enable-gracket
+ --enable-libffi
+ $(use_enable futures)
+ $(use_enable jit)
+ $(use_enable places)
+ $(use_enable threads pthread)
+ )
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ # Compile Racket.
+ CC_FOR_BUILD="$(tc-getCC)" default
+
+ # Recompile Zuo with optimizations.
+ emake -C zuo
+}
+
+src_install() {
+ # Install Racket.
+ default
+
+ # Install Zuo.
+ emake -C zuo DESTDIR="${ED}" install
+
+ # raco needs decompressed files for packages doc installation, bug #662424
+ use doc && docompress -x "/usr/share/doc/${PF}"
+
+ # Create missing desktop files and icon.
+ if ! use minimal ; then
+ newicon "${ED}/usr/share/racket/drracket-exe-icon.png" racket.png
+
+ make_desktop_entry "gracket" "GRacket" "racket" "Development;Education;"
+ make_desktop_entry "plt-games" "PLT Games" "racket" "Education;Game;"
+ fi
+
+ readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+ # If we are merging the same SLOT check if package
+ # database files exist and do not overwrite them
+ if has_version "${CATEGORY}/${PN}:${SLOT}" ; then
+ echo "We are installing the same SLOT: ${SLOT}"
+
+ local rktd
+ for rktd in "${PKGDB[@]}" ; do
+ if [[ -f "${EROOT}/${rktd}" ]] && [[ -f "${ED}/${rktd}" ]] ; then
+ einfo "Keeping old file: ${rktd}"
+
+ mv "${ED}/${rktd}" "${ED}/${rktd}.bak" ||
+ die "failed to create a backup of ${rktd}"
+
+ cp "${EROOT}/${rktd}" "${ED}/${rktd}" ||
+ die "failed to create a copy of ${rktd}"
+ fi
+ done
+ fi
+}
+
+get_outsiders() {
+ racket -l raco -- pkg show -i | grep 'link' | sed 's|link.*||g'
+}
+
+pkg_postinst() {
+ # If we have any pkgs not included in Racket main distribution (outsiders),
+ # then we have to re-setup them or during installation other pkgs will want
+ # to recompile parts of "outsider" pkgs they depend upon (and fail).
+ local -a outsiders=( $(get_outsiders) )
+ if [[ -n "${outsiders[@]}" ]] ; then
+ ebegin "Running \"raco setup\" for outsider packages"
+ echo "Outsiders: ${outsiders[@]}"
+
+ raco setup --all-users --force --no-docs --no-user --pkgs "${outsiders[@]}"
+ eend 0 # do not fail
+ fi
+
+ optfeature "readline editing features in REPL" dev-libs/libedit
+ optfeature "generating PDF files using Scribble" dev-texlive/texlive-fontsextra
+
+ readme.gentoo_print_elog
+}
diff --git a/dev-scheme/stklos/files/stklos-2.00-threads.patch b/dev-scheme/stklos/files/stklos-2.00-threads.patch
new file mode 100644
index 000000000000..0a32bc5de7d8
--- /dev/null
+++ b/dev-scheme/stklos/files/stklos-2.00-threads.patch
@@ -0,0 +1,22 @@
+--- a/src/stklos.h
++++ b/src/stklos.h
+@@ -46,15 +46,15 @@
+ #include <memory.h>
+ #include <locale.h>
+ #include <stdint.h>
+-#ifndef THEADS_NONE
++
++#include "stklosconf.h"
++#include "extraconf.h"
++#ifndef THREADS_NONE
+ # include <pthread.h>
+ # define GC_THREADS 1
+ # define _REENTRANT 1
+ #endif
+
+-#include "stklosconf.h"
+-#include "extraconf.h"
+-
+ /* To debug the GC uncomment the following line */
+ /* #define GC_DEBUG 1 */
+
diff --git a/dev-scheme/stklos/stklos-2.00-r1.ebuild b/dev-scheme/stklos/stklos-2.00-r1.ebuild
index 9e29a396bca6..a7f5f7d4abfd 100644
--- a/dev-scheme/stklos/stklos-2.00-r1.ebuild
+++ b/dev-scheme/stklos/stklos-2.00-r1.ebuild
@@ -23,6 +23,7 @@ DEPEND="${RDEPEND}"
PATCHES=(
"${FILESDIR}"/${P}-gentoo.patch
"${FILESDIR}"/${P}-ldflags.patch
+ "${FILESDIR}"/${P}-threads.patch
)
DOCS=( AUTHORS ChangeLog NEWS.md PACKAGES-USED {PORTING-NOTES,README}.md SUPPORTED-SRFIS )
diff --git a/dev-scheme/tinyscheme/tinyscheme-1.42.ebuild b/dev-scheme/tinyscheme/tinyscheme-1.42.ebuild
index f63b0a56b307..7ce64dc1adf8 100644
--- a/dev-scheme/tinyscheme/tinyscheme-1.42.ebuild
+++ b/dev-scheme/tinyscheme/tinyscheme-1.42.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
@@ -7,7 +7,7 @@ inherit multilib toolchain-funcs
DESCRIPTION="Lightweight scheme interpreter"
HOMEPAGE="https://tinyscheme.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"