diff options
Diffstat (limited to 'dev-scheme/scm')
-rw-r--r-- | dev-scheme/scm/Manifest | 2 | ||||
-rw-r--r-- | dev-scheme/scm/files/scm-5.5.6-respect-ldflags.patch | 12 | ||||
-rw-r--r-- | dev-scheme/scm/scm-5.5.6-r4.ebuild | 169 |
3 files changed, 183 insertions, 0 deletions
diff --git a/dev-scheme/scm/Manifest b/dev-scheme/scm/Manifest index d66b67174b65..2c44df92cae7 100644 --- a/dev-scheme/scm/Manifest +++ b/dev-scheme/scm/Manifest @@ -1,4 +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-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/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 +} |