summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmy Liffey <amynka@gentoo.org>2017-08-03 13:41:39 +0200
committerAmy Liffey <amynka@gentoo.org>2017-08-03 13:42:27 +0200
commit00880c64534a2bf9efff56addc0465d4c1a43ff1 (patch)
tree0ea207f11384a94abf172c13b4ac117459a4ffc8 /dev-scheme/scm/scm-5.5.6-r3.ebuild
parentnet-analyzer/prometheus: Remove old (diff)
downloadgentoo-00880c64534a2bf9efff56addc0465d4c1a43ff1.tar.gz
gentoo-00880c64534a2bf9efff56addc0465d4c1a43ff1.tar.bz2
gentoo-00880c64534a2bf9efff56addc0465d4c1a43ff1.zip
dev-scheme/scm: eapi bump to 6
Package-Manager: Portage-2.3.6, Repoman-2.3.1
Diffstat (limited to 'dev-scheme/scm/scm-5.5.6-r3.ebuild')
-rw-r--r--dev-scheme/scm/scm-5.5.6-r3.ebuild167
1 files changed, 167 insertions, 0 deletions
diff --git a/dev-scheme/scm/scm-5.5.6-r3.ebuild b/dev-scheme/scm/scm-5.5.6-r3.ebuild
new file mode 100644
index 000000000000..c24ee44c3492
--- /dev/null
+++ b/dev-scheme/scm/scm-5.5.6-r3.ebuild
@@ -0,0 +1,167 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit versionator eutils flag-o-matic
+
+#version magic thanks to masterdriverz and UberLord using bash array instead of tr
+trarr="0abcdefghi"
+MY_PV="$(get_version_component_range 1)${trarr:$(get_version_component_range 2):1}$(get_version_component_range 3)"
+
+MY_P=${PN}-${MY_PV}
+S=${WORKDIR}/${PN}
+DESCRIPTION="SCM is a Scheme implementation from the author of slib"
+SRC_URI="http://groups.csail.mit.edu/mac/ftpdir/scm/${MY_P}.zip"
+HOMEPAGE="http://swiss.csail.mit.edu/~jaffer/SCM"
+
+SLOT="0"
+LICENSE="LGPL-3"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-macos"
+IUSE="arrays bignums cautious dynamic-linking engineering-notation gsubr inexact ioext libscm macro ncurses posix readline regex sockets unix"
+
+#unzip for unpacking
+DEPEND="app-arch/unzip
+ >=dev-scheme/slib-3.1.5
+ dev-util/cproto
+ ncurses? ( sys-libs/ncurses:0= )
+ readline? ( sys-libs/libtermcap-compat )"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}/${P}-multiplefixes.patch" )
+
+src_compile() {
+ # SLIB is required to build SCM.
+ local slibpath="${EPREFIX}/usr/share/slib/"
+ if [ -n "$SCHEME_LIBRARY_PATH" ]; then
+ einfo "using SLIB $SCHEME_LIBRARY_PATH"
+ elif [ -d ${slibpath} ]; then
+ export SCHEME_LIBRARY_PATH=${slibpath}
+ fi
+
+ einfo "Making scmlit"
+ emake -j1 scmlit clean
+
+ einfo "Building scm"
+ local features=""
+ use arrays && features+="arrays"
+ use bignums && features+=" bignums"
+ use cautious && features+=" cautious"
+ use engineering-notation && features+=" engineering-notation"
+ use inexact && features+=" inexact"
+ use macro && features+=" macro"
+
+ ( use readline ||
+ use ncurses ||
+ use regex ||
+ use posix ||
+ use ioext ||
+ use gsubr ||
+ use sockets ||
+ use unix ||
+ use dynamic-linking ) && features+=" dynamic-linking"
+
+ ./build \
+ --compiler-options="${CFLAGS}" \
+ --linker-options="${LDFLAGS} -L${EPREFIX}/$(get_libdir)" \
+ -s "${EPREFIX}"/usr/$(get_libdir)/scm \
+ -F ${features:="none"} \
+ -h system \
+ -o scm || die
+
+ einfo "Building DLLs"
+ if use readline; then
+ ./build \
+ --compiler-options="${CFLAGS}" \
+ --linker-options="${LDFLAGS}" \
+ -h system \
+ -F edit-line \
+ -t dll || die
+ fi
+ if use ncurses ; then
+ ./build \
+ --compiler-options="${CFLAGS}" \
+ --linker-options="${LDFLAGS}" \
+ -F curses \
+ -h system \
+ -t dll || die
+ fi
+ if use regex ; then
+ ./build \
+ --compiler-options="${CFLAGS}" \
+ --linker-options="${LDFLAGS}" \
+ -c rgx.c \
+ -h system \
+ -t dll || die
+ fi
+ if use gsubr ; then
+ ./build \
+ --compiler-options="${CFLAGS}" \
+ --linker-options="${LDFLAGS}" \
+ -c gsubr.c \
+ -h system \
+ -t dll || die
+ fi
+ if use ioext ; then
+ ./build \
+ --compiler-options="${CFLAGS}" \
+ --linker-options="${LDFLAGS}" \
+ -c ioext.c \
+ -h system \
+ -t dll || die
+ fi
+ if use posix; then
+ ./build \
+ --compiler-options="${CFLAGS}" \
+ --linker-options="${LDFLAGS}" \
+ -c posix.c \
+ -h system \
+ -t dll || die
+ fi
+ if use sockets ; then
+ ./build \
+ --compiler-options="${CFLAGS}" \
+ --linker-options="${LDFLAGS}" \
+ -c socket.c \
+ -h system \
+ -t dll || die
+ fi
+ if use unix ; then
+ ./build \
+ --compiler-options="${CFLAGS}" \
+ --linker-options="${LDFLAGS}" \
+ -c unix.c \
+ -h system \
+ -t dll || die
+ fi
+
+ if use libscm ; then
+ emake libscm.a
+ fi
+}
+
+src_test() {
+ emake check
+}
+
+src_install() {
+ emake DESTDIR="${D}" man1dir="${EPREFIX}"/usr/share/man/man1/ \
+ install
+
+ if use libscm; then
+ emake DESTDIR="${D}" libdir="${EPREFIX}"/usr/$(get_libdir)/ \
+ installlib
+ fi
+
+ doinfo scm.info
+ doinfo hobbit.info
+}
+
+pkg_postinst() {
+ [ "${ROOT}" == "/" ] && pkg_config
+}
+
+pkg_config() {
+ einfo "Regenerating catalog..."
+ scm -e "(require 'new-catalog)"
+}