diff options
Diffstat (limited to 'dev-scheme')
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" |