diff options
author | Arsen Arsenović <arsen@gentoo.org> | 2024-08-04 02:53:30 +0200 |
---|---|---|
committer | Arsen Arsenović <arsen@gentoo.org> | 2024-08-18 19:43:17 +0200 |
commit | be9c7e95d5255d8e8b0dfc2350a5666ddd3d67d9 (patch) | |
tree | 055fd25dd1343bea6ff935646267c897cf3ad8be /dev-scheme | |
parent | www-apps/haunt: new package, add 0.3.0 (diff) | |
download | gentoo-be9c7e95d5255d8e8b0dfc2350a5666ddd3d67d9.tar.gz gentoo-be9c7e95d5255d8e8b0dfc2350a5666ddd3d67d9.tar.bz2 gentoo-be9c7e95d5255d8e8b0dfc2350a5666ddd3d67d9.zip |
dev-scheme/slib: add 3c1, port to new guile eclasses
NOTE: dev-scheme/scm (i.e. the scm use flag) is untested currently,
since I can't merge SCM.
Signed-off-by: Arsen Arsenović <arsen@gentoo.org>
Diffstat (limited to 'dev-scheme')
-rw-r--r-- | dev-scheme/slib/Manifest | 1 | ||||
-rw-r--r-- | dev-scheme/slib/slib-3.3.1-r100.ebuild | 123 |
2 files changed, 124 insertions, 0 deletions
diff --git a/dev-scheme/slib/Manifest b/dev-scheme/slib/Manifest index 39a1c7ce08c0..b505138afa97 100644 --- a/dev-scheme/slib/Manifest +++ b/dev-scheme/slib/Manifest @@ -1 +1,2 @@ DIST slib-3b5.zip 1105432 BLAKE2B ae9a6bb34b318875048fad05403a90342b070770013ecd8b022846dc3c43c708511ce6f8ec2be6da2329b01dcc1ed0a641bf68569fd022bb4e2187e20efac0b0 SHA512 f6ebf163fe34498141ab61b6887a9a5db8f2fe0aef1f6c70a7a5783dde6d1268d7e724bc340b73b36189b09013e7079584e0af74f0876e5ebfa46b53d847923e +DIST slib-3c1.zip 1108203 BLAKE2B 86c38a6ce6936bd1e8b2e3f52fdd3e2e05ba1bb86a611aca7f66a5d65095c81774444459f23f47dd8d01c808ea40c2052d07587c73ffca010f50f5415b2beaf0 SHA512 a6559c3a58ebadfd9efa52391573af375ff142e21e3eface4df346ca7ba7a66a15883596a7a58f6d7f97143729de5022c04d864d90c8a1b3b158b23fbeac8911 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 +} |