summaryrefslogtreecommitdiff
path: root/dev-scheme/tinyscheme
diff options
context:
space:
mode:
Diffstat (limited to 'dev-scheme/tinyscheme')
-rw-r--r--dev-scheme/tinyscheme/Manifest6
-rw-r--r--dev-scheme/tinyscheme/files/tinyscheme-1.41-makefile.patch50
-rw-r--r--dev-scheme/tinyscheme/metadata.xml14
-rw-r--r--dev-scheme/tinyscheme/tinyscheme-1.41.ebuild62
4 files changed, 132 insertions, 0 deletions
diff --git a/dev-scheme/tinyscheme/Manifest b/dev-scheme/tinyscheme/Manifest
new file mode 100644
index 000000000000..c5bf6a1b808f
--- /dev/null
+++ b/dev-scheme/tinyscheme/Manifest
@@ -0,0 +1,6 @@
+AUX tinyscheme-1.41-makefile.patch 1152 SHA256 e86db51335a6e8cbc0e673a7cafadbbc7526edaa596e9d4912d9c3fd84a1e558 SHA512 e7ff9a2cc45f1f7f07df3619bf48b2d14c4adf39c452786e4aa0ebb134264f0111f001296e617b6511cd8f28ee3dbdc9f90b5922540aafd91becc358c5de98da WHIRLPOOL 727e4dc20119e06198ab34dd65afb244f0f9c2c0489504fbb1f8f03498cb01d7342ab4c261273cc92f93354a53bd4023f43c46859fca194b5c8d82c3d0e9c519
+DIST tinyscheme-1.41.tar.gz 61761 SHA256 eac0103494c755192b9e8f10454d9f98f2bbd4d352e046f7b253439a3f991999 SHA512 a9c1c9cd7a11bf31e0f8ac813ebd6e731cb56b9526fd14d343d7f8c479a8e1b561b744b3f522512adc023cacd1acbf52aa18bf5d8db68f767971660305b79b0f WHIRLPOOL 4df1f6f80a03c1dae73cd0e39fead9d454c41be536c4a9ec63da80ab31e5712bae0f8a2e8a58154edcc4d595129a11399f65e59fe9f0524b7669912ce16825cf
+EBUILD tinyscheme-1.41.ebuild 1383 SHA256 bd2dd0444a3ecb5f083110cfae71a9ecb2e82a90a8817e4c1681994265ffe9a4 SHA512 e0fb286733b75e80ef450267a9a268814ac501c85516dc59071483bfb119825a36b7ab124d9a82778446a50bf64684fdfac1c4cc2d2f19e71a59afe73b3dad4c WHIRLPOOL ec10dc56c5ff66525938653b7f2c6af4f290e123f89d765eee9d0354660032a779643b5c204d7e2fae8e8b13f0ffd8f7e8b5aa4be8214fe2f5b54ca76a2d8a5a
+MISC ChangeLog 2477 SHA256 27d18c4d7f9312f6510f09855839cdef32982cf0371b403589c400b109197148 SHA512 56d6c61aa59842e198a0f6e356e61b7f03efd7501ce1f375b076bb57df699b75187bd074d5b6b8414ede92cdf892b7754a3e15f4a4a9ce9a56a4935b9381150e WHIRLPOOL 61e774fc1271929d0c631cfb7dcebcdb810bba7246aa30993be404fd7f4f998115bb57488c173c52e47c7b96f3a146bd0e0cde0acca54be6efb463d060bc1c62
+MISC ChangeLog-2015 3160 SHA256 ba3408959ceeee471d74a7be1a2a3562fa8c3fabb2e093ad2a09ea207075709f SHA512 b15791a77b0c8a26c3d962f28cc2ed4349933bf9e489179d69ccd2cff82a9653ed3f642d4b427780984bc46b72fa11e5a85c5b076c67b02fb7c9e5249ec12000 WHIRLPOOL 8f4acf421578ca74976cd75e58a66a8eb74b7356056afea4ea4a28309c1b849ab94c73056484588cfe58e4166188314c7eefcc76f511189eceede0ed3115c31d
+MISC metadata.xml 867 SHA256 2eb3b1cb45f46c9fd883eee20639bb8ce80b8c16aaf4a3b7d7149d91889f5f85 SHA512 42f4d045a180c0000df235d368602cf0af1c0b95de53c1bfd4b32089a641d6633d1ac2a713de1a1de09243b479c9e4bf7561b1d664c589c483bfa9b2e865b1fc WHIRLPOOL 00acece13827152891cff2a0d65a8ef22202c6b1bed49c7fc94776d49b91702ddd4d94ca8139155a9ab8eea49ec5d39e04d7e2e6003979b8759e5ae7bced91f6
diff --git a/dev-scheme/tinyscheme/files/tinyscheme-1.41-makefile.patch b/dev-scheme/tinyscheme/files/tinyscheme-1.41-makefile.patch
new file mode 100644
index 000000000000..69fccb5e537a
--- /dev/null
+++ b/dev-scheme/tinyscheme/files/tinyscheme-1.41-makefile.patch
@@ -0,0 +1,50 @@
+diff -ru a/makefile b/makefile
+--- a/makefile 2013-04-14 20:08:33.000000000 +0000
++++ b/makefile 2013-12-11 11:59:58.688782748 +0000
+@@ -18,8 +18,7 @@
+ #AR= echo
+
+ # Unix, generally
+-CC = gcc -fpic -pedantic
+-DEBUG=-g -Wall -Wno-char-subscripts -O
++#CC = $(CC)
+ Osuf=o
+ SOsuf=so
+ LIBsuf=a
+@@ -27,12 +26,11 @@
+ LIBPREFIX=lib
+ OUT = -o $@
+ RM= -rm -f
+-AR= ar crs
++#AR= $(AR)
++ARFLAGS = crs
+
+ # Linux
+-LD = gcc
+-LDFLAGS = -shared
+-DEBUG=-g -Wno-char-subscripts -O
++#LD = $(CC)
+ SYS_LIBS= -ldl -lm
+ PLATFORM_FEATURES= -DSUN_DL=1
+
+@@ -71,16 +69,16 @@
+ all: $(LIBTARGET) $(STATICLIBTARGET) scheme$(EXE_EXT)
+
+ %.$(Osuf): %.c
+- $(CC) -I. -c $(DEBUG) $(FEATURES) $(DL_FLAGS) $<
++ $(CC) -fpic $(CFLAGS) -I. -c $(FEATURES) $(DL_FLAGS) $<
+
+ $(LIBTARGET): $(OBJS)
+- $(LD) $(LDFLAGS) $(OUT) $(OBJS) $(SYS_LIBS)
++ $(CC) -shared $(LDFLAGS) -Wl,-soname=$@ -o $@ $(OUT) $(OBJS) $(SYS_LIBS)
+
+ scheme$(EXE_EXT): $(OBJS)
+- $(CC) -o $@ $(DEBUG) $(OBJS) $(SYS_LIBS)
++ $(CC) $(LDFLAGS) -o $@ $(OBJS) $(SYS_LIBS)
+
+ $(STATICLIBTARGET): $(OBJS)
+- $(AR) $@ $(OBJS)
++ $(AR) $(ARFLAGS) $@ $(OBJS)
+
+ $(OBJS): scheme.h scheme-private.h opdefines.h
+ dynload.$(Osuf): dynload.h
diff --git a/dev-scheme/tinyscheme/metadata.xml b/dev-scheme/tinyscheme/metadata.xml
new file mode 100644
index 000000000000..82f95a75d483
--- /dev/null
+++ b/dev-scheme/tinyscheme/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>scheme@gentoo.org</email>
+ <name>Gentoo Scheme Project</name>
+ </maintainer>
+ <longdescription lang="en">
+TinyScheme is a lightweight Scheme interpreter that implements as large a subset of R5RS as was possible without getting very large and complicated. It is meant to be used as an embedded scripting interpreter for other programs. As such, it does not offer IDEs or extensive toolkits although it does sport a small top-level loop, included conditionally. A lot of functionality in TinyScheme is included conditionally, to allow developers freedom in balancing features and footprint.
+ </longdescription>
+ <upstream>
+ <remote-id type="sourceforge">tinyscheme</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-scheme/tinyscheme/tinyscheme-1.41.ebuild b/dev-scheme/tinyscheme/tinyscheme-1.41.ebuild
new file mode 100644
index 000000000000..4819bc573162
--- /dev/null
+++ b/dev-scheme/tinyscheme/tinyscheme-1.41.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit flag-o-matic multilib
+
+DESCRIPTION="Lightweight scheme interpreter"
+HOMEPAGE="http://tinyscheme.sourceforge.net"
+SRC_URI="mirror://sourceforge/tinyscheme/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+#KEYWORDS="~amd64 ~ppc ~x86 ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 ppc x86"
+IUSE="static-libs"
+
+DEPEND=""
+RDEPEND=""
+
+src_prepare() {
+
+ epatch "${FILESDIR}"/${P}-makefile.patch
+
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ append-flags -DOSX
+ sed -i \
+ -e 's/SOsuf=so/SOsuf=dylib/' \
+ -e "s|-Wl,-soname=|-Wl,-install_name=${EPREFIX}/usr/lib/|" \
+ makefile || die
+ fi
+}
+
+src_compile() {
+ emake LDFLAGS="${LDFLAGS}"\
+ AR=$(tc-getAR) CC=$(tc-getCC)
+}
+
+src_install() {
+
+ local tslib=libtinyscheme$(get_libname)
+ local tslibx=libtinyscheme$(get_libname ${PV})
+
+ newbin scheme ${PN}
+
+ newlib.so ${tslib} ${tslibx}
+ dosym ${tslibx} /usr/$(get_libdir)/${tslib}
+ dodoc Manual.txt || die "dodoc failed"
+
+ if use static-libs; then
+ dolib.a libtinyscheme.a
+ fi
+
+ # Bug 328967: dev-scheme/tinyscheme-1.39-r1 doesn't install header file
+ insinto /usr/include/
+ newins scheme.h tinyscheme.h
+
+ local INIT_DIR=/usr/share/${PN}/
+ insinto ${INIT_DIR}
+ doins init.scm
+ dodir /etc/env.d/ && echo "TINYSCHEMEINIT=\"${EPREFIX}${INIT_DIR}init.scm\"" > "${ED}"/etc/env.d/50tinyscheme
+}