summaryrefslogtreecommitdiff
path: root/dev-scheme/scm
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/scm
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-scheme/scm')
-rw-r--r--dev-scheme/scm/Manifest6
-rw-r--r--dev-scheme/scm/files/scm-5.5.6-multiplefixes.patch81
-rw-r--r--dev-scheme/scm/files/scm-5.5.6-respect-ldflags.patch12
-rw-r--r--dev-scheme/scm/metadata.xml34
-rw-r--r--dev-scheme/scm/scm-5.5.6-r3.ebuild167
-rw-r--r--dev-scheme/scm/scm-5.5.6-r4.ebuild169
6 files changed, 469 insertions, 0 deletions
diff --git a/dev-scheme/scm/Manifest b/dev-scheme/scm/Manifest
new file mode 100644
index 000000000000..2c44df92cae7
--- /dev/null
+++ b/dev-scheme/scm/Manifest
@@ -0,0 +1,6 @@
+AUX scm-5.5.6-multiplefixes.patch 3014 BLAKE2B 08891323ec487c703a04f72043b73edb0d8e697366f71910a4a728a8ad937c75db310cefdb96144a1af9334edd2da9fc5c720530c6cb0f741e310ee06277e6c1 SHA512 e746ebca91e26569354f09403cf1610c745281af3477d92587a8b52de704998a61d1aeac75bfadfed8aead84243aa01f626438399cfffe92c73bba9fa9564f22
+AUX scm-5.5.6-respect-ldflags.patch 395 BLAKE2B 1fec97642ad348678070df454bbc2c7e64e17907f986a95cf96a3ead621ebe6f22a2f5dbcccc4fe9f7a8b8b951d935bafc5a64ce5cc0b48a514d2cda6ecebfb3 SHA512 03f740acdde590dbdc67046795aa1bed609721cbf83e7c153f5d1d5524c4761e3025c808855bf5b56d44d917c4aefa7198b96d66729e565b277c1acac7c53356
+DIST scm-5e6.zip 912968 BLAKE2B c059b49364abd25bb2335ad11f82791b96ac95aa9529b914396d08592e46e5aa5cba178b791fc96e3ea3066670c48bdd728609463bea398300b81d979fb304cb SHA512 897370f043401a7961eb1c2e22c951e2144505a1670e328e2c3eab33d52da83f195b873fb7cf8486f412ae52316cfc437c9f2da1432ade70f82eb0da12c2f852
+EBUILD scm-5.5.6-r3.ebuild 3762 BLAKE2B 72bf6fea02e74443e8f449c193168c1db95db448f7702ff06b708c58fc0a3573afa47d29b1e46b6358d0ceb3a0879da0c181adf3a71b56442bd26ee40eaa46c8 SHA512 cc7b0a0e2e185a967bc0fb5a771f7344345f0b24fb6bc9df51971e043f0f717b49a93697ab0ab1018da341a42b2e44647b513b6aad91aaa6c77c310b8c6b159d
+EBUILD scm-5.5.6-r4.ebuild 3730 BLAKE2B 14768043556305926bdc25a5c446f8879e7ff51a9c9b2be5c6a1c9e8fadaa5de9c94daedfaa2810b8b1494f2bb771de5746b314f55c72bacc2a7e9544624eaf5 SHA512 d08819bf9939023757edd314dd486ed40c287cb5cceb3a38c8f994a0b97f2ae7373b56e77b6a742230652f768cd85a652147f9983ec9eb61fe424c49f764a7fe
+MISC metadata.xml 1636 BLAKE2B ad72069e26e5a229c33efa845450fe5991d4c6bb14c39ccf22ba1a2d7903b969354a244a09e6684af4f588b2196e12aa60d658a5f842b5b127396a250377b2b0 SHA512 f0936782a77db52a61d47c86f9d638c66ac9848e8b62fcef182b5346abd55e83a5f275b6a60c865551dd134dcb85a77906d4662f91ed505d167608f8901dc0d0
diff --git a/dev-scheme/scm/files/scm-5.5.6-multiplefixes.patch b/dev-scheme/scm/files/scm-5.5.6-multiplefixes.patch
new file mode 100644
index 000000000000..8636c47c7185
--- /dev/null
+++ b/dev-scheme/scm/files/scm-5.5.6-multiplefixes.patch
@@ -0,0 +1,81 @@
+diff -Naur scm.old//build.scm scm//build.scm
+--- scm.old//build.scm 2009-08-03 15:35:57.000000000 -0300
++++ scm//build.scm 2010-04-16 15:52:25.000000000 -0300
+@@ -540,7 +540,7 @@
+ (graphics *unknown* "-I/usr/X11/include -DX11" "-lX11"
+ "/usr/X11/lib/libX11.sa" () ())
+ (editline *unknown* "" "-lreadline" "/usr/lib/libreadline.a" () ())
+- (termcap *unknown* "" "-ltermcap" "/usr/lib/libtermcap.a" () ())
++ (termcap *unknown* "" "-lncurses" "/usr/lib/libncurses.a" () ())
+ (debug *unknown* "-g" "-g" #f () ())
+ (socket *unknown* "" "" #f () ())
+ (lib *unknown* "" "" #f () ("scmmain.c"))
+diff -Naur scm.old//Makefile scm//Makefile
+--- scm.old//Makefile 2009-08-03 15:38:21.000000000 -0300
++++ scm//Makefile 2010-04-16 15:51:11.000000000 -0300
+@@ -178,18 +178,9 @@
+ $(BUILD) -f udscm4.opt -o udscm4 -s $(IMPLPATH)
+ -rm $(ofiles) scmmain.o
+ dscm4: udscm4 $(ifiles) require.scm
+- if [ -f /proc/sys/kernel/randomize_va_space -a\
+- "`cat /proc/sys/kernel/randomize_va_space`" != "0" ]; then {\
+- cat /proc/sys/kernel/randomize_va_space > randomize_va_space.tmp;\
+- echo 0 > /proc/sys/kernel/randomize_va_space;\
+- } fi
+ -rm -f slibcat implcat scm~
+ -mv scm scm~
+ echo "(quit)" | $(SETARCH) ./udscm4 -no-init-file -o scm
+- if [ -f randomize_va_space.tmp ]; then {\
+- cat randomize_va_space.tmp > /proc/sys/kernel/randomize_va_space;\
+- rm randomize_va_space.tmp;\
+- } fi
+
+ # dumpable R5RS interpreter
+ udscm5.opt:
+@@ -199,20 +190,10 @@
+ udscm5: $(cfiles) $(ufiles) $(hfiles) build.scm build udscm5.opt
+ $(BUILD) -f udscm5.opt -o udscm5 -s $(IMPLPATH)
+ -rm $(ofiles) scmmain.o
+- strip udscm5
+ dscm5: udscm5 $(ifiles) require.scm
+- if [ -f /proc/sys/kernel/randomize_va_space -a\
+- "`cat /proc/sys/kernel/randomize_va_space`" != "0" ]; then {\
+- cat /proc/sys/kernel/randomize_va_space > randomize_va_space.tmp;\
+- echo 0 > /proc/sys/kernel/randomize_va_space;\
+- } fi
+ -rm -f slibcat implcat scm~
+ -mv scm scm~
+ echo "(quit)" | $(SETARCH) ./udscm5 -no-init-file -r5 -o scm
+- if [ -f randomize_va_space.tmp ]; then {\
+- cat randomize_va_space.tmp > /proc/sys/kernel/randomize_va_space;\
+- rm randomize_va_space.tmp;\
+- } fi
+ $(MAKE) check
+ $(MAKE) checkmacro
+
+@@ -394,7 +375,7 @@
+ PREVDOCS = prevdocs/
+ html: $(htmldir)scm_toc.html $(htmldir)Xlibscm_toc.html $(htmldir)hobbit_toc.html
+
+-TEXI2HTML = /usr/local/bin/texi2html -split -verbose
++TEXI2HTML = /usr/bin/texi2html -split -verbose
+
+ $(htmldir)scm_toc.html: Makefile $(texifiles)
+ ${TEXI2HTML} scm.texi
+@@ -431,7 +412,7 @@
+
+ rpm_prefix=$(HOME)/rpmbuild/
+
+-prefix = /usr/local/
++prefix = /usr/
+ exec_prefix = $(prefix)
+ # directory where `make install' will put executable.
+ bindir = $(exec_prefix)bin/
+@@ -498,7 +479,6 @@
+ mkdir -p $(DESTDIR)$(bindir)
+ mkdir -p $(DESTDIR)$(man1dir)
+ -cp scm scmlit $(DESTDIR)$(bindir)
+- -strip $(DESTDIR)$(bindir)scmlit
+ -cp scm.1 $(DESTDIR)$(man1dir)
+ mkdir -p $(DESTDIR)$(libscmdir)
+ test -f $(DESTDIR)$(libscmdir)require.scm || \
diff --git a/dev-scheme/scm/files/scm-5.5.6-respect-ldflags.patch b/dev-scheme/scm/files/scm-5.5.6-respect-ldflags.patch
new file mode 100644
index 000000000000..a78e7ddb5d75
--- /dev/null
+++ b/dev-scheme/scm/files/scm-5.5.6-respect-ldflags.patch
@@ -0,0 +1,12 @@
+diff -ur b/Makefile a/Makefile
+--- b/Makefile 2018-06-21 14:02:53.439716620 -0500
++++ a/Makefile 2018-06-21 14:03:33.900568504 -0500
+@@ -111,7 +111,7 @@
+
+ # SCMLIT -- try making this first!
+ scmlit: $(ofiles) scmmain.o require.scm Makefile
+- $(LD) -o scmlit $(ofiles) scmmain.o $(LIBS)
++ $(LD) $(LDFLAGS) -o scmlit $(ofiles) scmmain.o $(LIBS)
+ $(MAKE) checklit
+ scmflags.h: scmflags
+ scmflags: \ No newline at end of file
diff --git a/dev-scheme/scm/metadata.xml b/dev-scheme/scm/metadata.xml
new file mode 100644
index 000000000000..04609e08685d
--- /dev/null
+++ b/dev-scheme/scm/metadata.xml
@@ -0,0 +1,34 @@
+<?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">
+SCM is a Scheme implementation conforming to Revised5 Report on the Algorithmic Language Scheme and the IEEE P1178 specification.
+ </longdescription>
+ <use>
+ <flag name="arrays">Support for arrays, uniform-arrays and
+ uniform-vectors.</flag>
+ <flag name="bignums">Support for large precision integers.</flag>
+ <flag name="cautious">SCM will always check the number of arguments to
+ interpreted closures.</flag>
+ <flag name="dynamic-linking">Be able to load compiled files while
+ running.</flag>
+ <flag name="engineering-notation">Floats to display in engineering
+ notation (exponents always multiples of 3) instead of scientific
+ notation.</flag>
+ <flag name="gsubr">generalized c arguments: for arbitrary
+ (more then 11) arguments to C functions.</flag>
+ <flag name="inexact">Support for floating point numbers.</flag>
+ <flag name="ioext">Commonly available I/O extensions: line I/O, file
+ positioning, file delete and rename, and directory functions.</flag>
+ <flag name="libscm">Build and install libscm.a and related headers</flag>
+ <flag name="macro">C level support for hygienic and referentially
+ transparent macros (syntax-rules macros).</flag>
+ <flag name="regex">String regular expression matching.</flag>
+ <flag name="unix">Support for: nice, acct, lstat, readlink, symlink,
+ mknod and sync.</flag>
+ </use>
+</pkgmetadata>
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..8f89c5848c1a
--- /dev/null
+++ b/dev-scheme/scm/scm-5.5.6-r3.ebuild
@@ -0,0 +1,167 @@
+# Copyright 1999-2018 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)"
+}
diff --git a/dev-scheme/scm/scm-5.5.6-r4.ebuild b/dev-scheme/scm/scm-5.5.6-r4.ebuild
new file mode 100644
index 000000000000..6496a36b4f9e
--- /dev/null
+++ b/dev-scheme/scm/scm-5.5.6-r4.ebuild
@@ -0,0 +1,169 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+#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)"
+
+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"
+
+BDEPEND="app-arch/unzip"
+DEPEND=">=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"
+ "${FILESDIR}/${P}-respect-ldflags.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
+}
+
+regen_catalog() {
+ einfo "Regenerating catalog..."
+ scm -e "(require 'new-catalog)"
+}
+
+pkg_postinst() {
+ [[ -z ${ROOT%/} ]] && regen_catalog
+}
+
+pkg_config() {
+ regen_catalog
+}