summaryrefslogtreecommitdiff
path: root/dev-scheme/tinyscheme
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-scheme/tinyscheme
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-scheme/tinyscheme')
-rw-r--r--dev-scheme/tinyscheme/Manifest4
-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, 130 insertions, 0 deletions
diff --git a/dev-scheme/tinyscheme/Manifest b/dev-scheme/tinyscheme/Manifest
new file mode 100644
index 000000000000..5ef1d5baf7ce
--- /dev/null
+++ b/dev-scheme/tinyscheme/Manifest
@@ -0,0 +1,4 @@
+AUX tinyscheme-1.41-makefile.patch 1152 BLAKE2B 7d75c4a04912e46606d27bc8bab66a868a05547577b4b80962da3d86f169fc64fed7f591c99fc6308f03a8957c99191ec2ebba30d76d2d186a0781c95d0fab9a SHA512 e7ff9a2cc45f1f7f07df3619bf48b2d14c4adf39c452786e4aa0ebb134264f0111f001296e617b6511cd8f28ee3dbdc9f90b5922540aafd91becc358c5de98da
+DIST tinyscheme-1.41.tar.gz 61761 BLAKE2B b657376561eee0ceae02d102ae7da7ce777dcbc78c98b54b0c00c578fb06ccdd3fba8aca5ce150ca188917b8e5f1e9acb63c9c5dc2e050aafa78b0705a20d47c SHA512 a9c1c9cd7a11bf31e0f8ac813ebd6e731cb56b9526fd14d343d7f8c479a8e1b561b744b3f522512adc023cacd1acbf52aa18bf5d8db68f767971660305b79b0f
+EBUILD tinyscheme-1.41.ebuild 1383 BLAKE2B 4f1b408eb014a714ef418bce8a11605eb07804797e3fe31fd75d0a3968dfe344bad59bf3a32a54b559dcd865e8d60605aacf2722881444e247c8d1162969250c SHA512 e0fb286733b75e80ef450267a9a268814ac501c85516dc59071483bfb119825a36b7ab124d9a82778446a50bf64684fdfac1c4cc2d2f19e71a59afe73b3dad4c
+MISC metadata.xml 867 BLAKE2B ded640d5a97da7be0b173ec36eb47ab640bdb3024137c93e3ec37d6c9863297b5885040d49f42575de1de6d34f14fa442be94259480808a701619b8105b74c73 SHA512 42f4d045a180c0000df235d368602cf0af1c0b95de53c1bfd4b32089a641d6633d1ac2a713de1a1de09243b479c9e4bf7561b1d664c589c483bfa9b2e865b1fc
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
+}