summaryrefslogtreecommitdiff
path: root/dev-scheme/slib/slib-3.2.5-r2.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'dev-scheme/slib/slib-3.2.5-r2.ebuild')
-rw-r--r--dev-scheme/slib/slib-3.2.5-r2.ebuild123
1 files changed, 123 insertions, 0 deletions
diff --git a/dev-scheme/slib/slib-3.2.5-r2.ebuild b/dev-scheme/slib/slib-3.2.5-r2.ebuild
new file mode 100644
index 000000000000..6c59160888a4
--- /dev/null
+++ b/dev-scheme/slib/slib-3.2.5-r2.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+#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 ~x86-solaris"
+IUSE="gambit scm"
+RESTRICT="mirror"
+
+RDEPEND="
+ >=dev-scheme/guile-1.8.8:=
+ gambit? ( dev-scheme/gambit )
+ scm? ( dev-scheme/scm )
+"
+BDEPEND="
+ ${RDEPEND}
+ >=sys-apps/texinfo-5.0
+ app-arch/unzip
+"
+
+DOCS=( ANNOUNCE COPYING FAQ README ChangeLog slib.{txt,html} )
+
+PATCHES=(
+ "${FILESDIR}"/${P}-fix-makefile-guile.patch
+ "${FILESDIR}"/${P}-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
+}
+
+src_install() {
+ # core
+ insinto /usr/share/${PN}
+ doins *.{dat,init,ps,scm}
+ exeinto /usr/share/${PN}
+ doexe *.sh
+
+ # bin
+ dodir /usr/bin/
+ dosym ../../usr/share/${PN}/${PN}.sh /usr/bin/${PN}
+
+ # env
+ doenvd "${FILESDIR}"/50slib
+
+ # docs
+ doinfo slib.info
+ doman slib.1
+
+ # guile
+ if has_version '=dev-scheme/guile-3.0*'; then
+ dodir /usr/share/guile/3.0
+ dosym ../../../../usr/share/${PN}/ /usr/share/guile/3.0/${PN}
+ elif has_version '=dev-scheme/guile-2.0*'; then
+ dodir /usr/share/guile/2.0
+ dosym ../../../../usr/share/${PN}/ /usr/share/guile/2.0/${PN}
+ else
+ dodir /usr/share/guile/1.8
+ dosym ../../../../usr/share/${PN}/ /usr/share/guile/1.8/${PN}
+ fi
+
+ # gambit
+ use gambit && dodir /usr/share/gambc
+
+ # backwards compatibility
+ dodir /usr/lib/
+ dosym ../../usr/share/${PN}/ /usr/lib/${PN}
+
+ einstalldocs
+}
+
+_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
+}
+
+pkg_postinst() {
+ local SCHEME_LIBRARY_PATH=/usr/share/slib/
+
+ # catalogs
+ einfo "Updating implementation catalogs.."
+ guile -c "(use-modules (ice-9 slib)) $(_new_catalog guile)" |& grep -i '^slib' || die
+
+ # broken as for now
+ # if use elk ; then
+ # echo "$(_new_catalog elk)" | elk -l -
+ # fi
+
+ if use gambit ; then
+ gsi -e "$(_new_catalog gambit)" || die
+ fi
+
+ if use scm ; then
+ scm -e "$(_new_catalog scm)" || die
+ fi
+}
+
+pkg_postrm() {
+ for impl in 'guile/*' gambc scm; do
+ rm -f "${ROOT}/usr/"lib*/${impl}/slibcat \
+ "${ROOT}/usr/share/"${impl}/slibcat || die
+ done
+}