Version bump, added features for building wrt bug 259922. Clean up old ebuilds
authorTomás Touceda <chiiph@gentoo.org>
Fri, 16 Apr 2010 19:17:21 +0000 (19:17 +0000)
committerTomás Touceda <chiiph@gentoo.org>
Fri, 16 Apr 2010 19:17:21 +0000 (19:17 +0000)
Package-Manager: portage-2.2_rc67/cvs/Linux i686

dev-scheme/scm/ChangeLog
dev-scheme/scm/Manifest
dev-scheme/scm/files/scm-5.5.6-multiplefixes.patch [new file with mode: 0644]
dev-scheme/scm/metadata.xml
dev-scheme/scm/scm-5.5.3.ebuild [deleted file]
dev-scheme/scm/scm-5.5.4.ebuild [deleted file]
dev-scheme/scm/scm-5.5.5-r1.ebuild [deleted file]
dev-scheme/scm/scm-5.5.5.ebuild [deleted file]
dev-scheme/scm/scm-5.5.6.ebuild [new file with mode: 0644]

index 0a97a216bf459c0fcbd0be03c2896e98a7533ed7..23d23c38f71effc64cacf05c2c0247659ff8a3ba 100644 (file)
@@ -1,6 +1,14 @@
 # ChangeLog for dev-scheme/scm
-# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-scheme/scm/ChangeLog,v 1.9 2009/02/03 16:34:28 hkbst Exp $
+# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/dev-scheme/scm/ChangeLog,v 1.10 2010/04/16 19:17:20 chiiph Exp $
+
+*scm-5.5.6 (16 Apr 2010)
+
+  16 Apr 2010; Tomas Touceda <chiiph@gentoo.org> -scm-5.5.3.ebuild,
+  -scm-5.5.4.ebuild, -scm-5.5.5.ebuild, -scm-5.5.5-r1.ebuild,
+  +scm-5.5.6.ebuild, +files/scm-5.5.6-multiplefixes.patch, metadata.xml:
+  Version bump, added features for building wrt bug 259922. Clean up old
+  ebuilds
 
 *scm-5.5.5-r1 (03 Feb 2009)
 
index 7f5f6784b3fc1cb45ff78a8dc4a13aac13a367fc..c351024c6f163baa6ebbc14e759e89661d4ddde6 100644 (file)
@@ -1,9 +1,5 @@
-DIST scm-5e5.zip 910806 RMD160 2ef8ff29f0aa4fe0afb5a086137a088be765ffb4 SHA1 3b17b3ed38bc5d9e3d8a3747a5e8018ecf67163f SHA256 9df62d4495184d9241f316c60e15481e890cd50932d43c2747afcf557db0f537
-DIST scm5e3.zip 901866 RMD160 91f97bf4efd6bf734fe3e789762a90f20ad7b9b2 SHA1 3d7a0160357840c6a96ef9ded6fb31d92507561d SHA256 65fe69d6f3ccc2adeb4f73fed4a73c700789a2e8b7c7937f5bb9b4f851e3db7d
-DIST scm5e4.zip 910672 RMD160 1e33f9fa55ec7ffc9e178b66ea74fb8e11846178 SHA1 9c2f5b9619d828276fad21b0a33fd2dfebc62c26 SHA256 cf49da2027192b31a9dbb4572ba32449c10baa0777c37baac14191bed34422e8
-EBUILD scm-5.5.3.ebuild 1334 RMD160 9921e6c9706f97c95f107fecab3d63bc8716a998 SHA1 3cd8abae0a993e87317eff6c1b24de597a3c01cc SHA256 3526d02a4d17d272eefe1713b54e5f013cfda8e28c169b4e3242b2d1e6cf9aed
-EBUILD scm-5.5.4.ebuild 1661 RMD160 5b0edb040f7c93692e8e8b4cfd989b6198f7c1c6 SHA1 2338403dca4a1755bf57691f6ba1ae9a613eb74a SHA256 999dd41536b70352aece370ae3ccfce74451b3e89878ecb44b3509387df259f0
-EBUILD scm-5.5.5-r1.ebuild 1573 RMD160 152e2fc9cf81604feb90a9b161aae2691343eebb SHA1 2137316e233d617624ce34015983ece6362b89bb SHA256 b6453842a34d3eb839139149a01a063304152940d2cf24767d70caa35d125b21
-EBUILD scm-5.5.5.ebuild 1473 RMD160 4fbf8969e48a4208075264643234b631ca7286c1 SHA1 8e9f4d836b0cc903f1e09fc0bdb9fff6ef09ad23 SHA256 9692483533d62f5071a4ff9affafddd7f55448f5007e2d2a9fad79b09f248b53
-MISC ChangeLog 1270 RMD160 11762072ec4487b56e6e0b0764b89823cfbda606 SHA1 786132f4f810b2785bad8b1a43bd03eab483ee6f SHA256 a073dfce7bdf74c48a6c967c31d56d531afb2dd13a368f53cdef9534376da7fd
-MISC metadata.xml 434 RMD160 951fec63f3325b7f92693c88948382715576d8c9 SHA1 cf322011d73ec3e648fe45f7bf357c39eaa29d52 SHA256 b810a305f07a75ef4299bde4aa2bd136e98bcad906b4000d46235a127dbf7844
+AUX scm-5.5.6-multiplefixes.patch 3014 RMD160 a33a549c6e2e650cfdcf98400ecbc75f24a1c21f SHA1 a2d6b4f3c55524e5f079f95164eac3a7d41d39ca SHA256 8c709dc2df7d3cd9415fdd090e8dd3ab4fd7a8f45444bd5388e6891056f1c279
+DIST scm-5e6.zip 912968 RMD160 9b16f44b0da6dcc0691cbaaa790159893df70007 SHA1 3b54132725e93a34bcda04ea8493d125a084fd8d SHA256 97f1b284aacfca01ae44e936dd8468c1d68b0b323776ab5da1d6ec7cb737c1df
+EBUILD scm-5.5.6.ebuild 3661 RMD160 f307e7d69044e3dcadbb892dd4632bd944a5806f SHA1 a8a11967615616165daba23947935da7f6d86c3c SHA256 c2a340349c7f8f31ceb0e8eed56d32a5b0103d650148899b1973aac016101982
+MISC ChangeLog 1585 RMD160 595613b9d6241e89c6784a33d59eb01d7198dd7b SHA1 26438301ff7bad0571ee8b4f8b4ed7177b660357 SHA256 29149f27012a8ce627772e1264921b58a7b1323870a3b1a20eb8fe4312e8cfe0
+MISC metadata.xml 1559 RMD160 7d7422dc0aa6ec412db80a34aefa493a08ac9add SHA1 ae66c44e6e8b81ec52972942c7513ce5716414e3 SHA256 8fc828792bf15bca2417454d3845afbbc7263421dbe2458b0f6a36d4dae13495
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 (file)
index 0000000..8636c47
--- /dev/null
@@ -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 || \
index 7a1a8aebe518b05f78b1c59857a1ed0280202b20..23e9e06607ba2ba6629fb5a60eb464958a96524b 100644 (file)
@@ -9,4 +9,26 @@
        <longdescription lang="en">
 SCM is a  Scheme implementation conforming to  Revised5 Report on the Algorithmic Language Scheme and the IEEE P1178 specification.
        </longdescription>
-</pkgmetadata>
\ No newline at end of file
+       <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='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.3.ebuild b/dev-scheme/scm/scm-5.5.3.ebuild
deleted file mode 100644 (file)
index 54f3cc4..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2007 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-scheme/scm/scm-5.5.3.ebuild,v 1.5 2007/06/25 10:25:57 hkbst Exp $
-
-inherit versionator eutils
-
-#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="Scheme implementation from author of slib"
-SRC_URI="http://swiss.csail.mit.edu/ftpdir/scm/${MY_P}.zip"
-
-HOMEPAGE="http://swiss.csail.mit.edu/~jaffer/SCM"
-
-SLOT="0"
-LICENSE="GPL-2-with-linking-exception"
-KEYWORDS="~amd64"
-IUSE=""
-
-#unzip for unpacking
-RDEPEND=""
-DEPEND="app-arch/unzip
-               >=dev-scheme/slib-3.1.4-r2"
-
-src_compile() {
-       einfo "Making scmlit"
-       #parallel make fails sometimes
-       emake -j1 scmlit
-       einfo "Building"
-       echo "srcdir=/usr/share/scm/" > srcdir.mk
-       ./build --compiler-options="${CFLAGS}" --linker-options="${LDFLAGS}" -F macro
-       emake
-}
-
-src_install() {
-#      emake DESTDIR=${D} install
-       insinto /usr/share/scm/
-       doins *.scm
-       dodoc ANNOUNCE QUICKREF README
-       dobin scm
-}
-
-pkg_postinst() {
-       [ "${ROOT}" == "/" ] && pkg_config
-}
-
-pkg_config() {
-       einfo "Regenerating catalog..."
-       scm -e "(require 'new-catalog)"
-}
diff --git a/dev-scheme/scm/scm-5.5.4.ebuild b/dev-scheme/scm/scm-5.5.4.ebuild
deleted file mode 100644 (file)
index c194109..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2008 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-scheme/scm/scm-5.5.4.ebuild,v 1.3 2008/11/17 13:40:07 pchrist Exp $
-
-inherit versionator eutils
-
-#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="Scheme implementation from author of slib"
-SRC_URI="http://swiss.csail.mit.edu/ftpdir/scm/${MY_P}.zip"
-
-HOMEPAGE="http://swiss.csail.mit.edu/~jaffer/SCM"
-
-SLOT="0"
-LICENSE="GPL-2-with-linking-exception"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-#unzip for unpacking
-RDEPEND=""
-DEPEND="app-arch/unzip
-               >=dev-scheme/slib-3.1.5"
-
-src_unpack() {
-       unpack ${A}; cd "${S}"
-
-#      cp Makefile Makefile.old
-
-       sed "s#local/##" -i Makefile
-
-       #sent upstream again
-       sed "s#mkdir#mkdir -p#" -i Makefile
-       sed "s#-p -p#-p#" -i Makefile
-       sed -i -e 's/mandir = $(prefix)man\//mandir = $(prefix)share\/man\//' Makefile
-
-#      diff -u Makefile.old Makefile
-}
-
-src_compile() {
-       einfo "Making scmlit"
-       #parallel make fails sometimes
-       emake -j1 scmlit
-       einfo "Creating script to build scm"
-       echo "srcdir=/usr/share/scm/" > srcdir.mk
-       ./build --compiler-options="${CFLAGS}" --linker-options="${LDFLAGS}" -F macro -F inexact &> _compile.sh || die
-       einfo "Building scm"
-       sh _compile.sh || die
-}
-
-src_install() {
-       emake DESTDIR="${D}" install || die
-}
-
-pkg_postinst() {
-       [ "${ROOT}" == "/" ] && pkg_config
-}
-
-pkg_config() {
-       einfo "Regenerating catalog..."
-       scm -e "(require 'new-catalog)"
-}
diff --git a/dev-scheme/scm/scm-5.5.5-r1.ebuild b/dev-scheme/scm/scm-5.5.5-r1.ebuild
deleted file mode 100644 (file)
index 1efdd84..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2009 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-scheme/scm/scm-5.5.5-r1.ebuild,v 1.1 2009/02/03 16:34:28 hkbst Exp $
-
-inherit versionator eutils
-
-#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="Scheme implementation from author of slib"
-SRC_URI="http://swiss.csail.mit.edu/ftpdir/scm/${MY_P}.zip"
-HOMEPAGE="http://swiss.csail.mit.edu/~jaffer/SCM"
-
-SLOT="0"
-LICENSE="LGPL-3"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-#unzip for unpacking
-RDEPEND=""
-DEPEND="app-arch/unzip
-               >=dev-scheme/slib-3.1.5"
-
-src_unpack() {
-       unpack ${A}; cd "${S}"
-
-       cp Makefile Makefile.old
-
-       sed "s#local/##" -i Makefile
-       sed 's:man1dir = $(prefix)man/man1/:man1dir = $(prefix)share/man/man1/:' -i Makefile # bug 247182
-
-       diff -u Makefile.old Makefile
-}
-
-src_compile() {
-       einfo "Making scmlit"
-       #parallel make fails sometimes
-       emake -j1 scmlit || die
-       einfo "Creating script to build scm"
-       echo "srcdir=/usr/share/scm/" > srcdir.mk
-       ./build --compiler-options="${CFLAGS}" --linker-options="${LDFLAGS}" -F macro -F inexact &> _compile.sh || die
-       einfo "Building scm"
-       sh _compile.sh || die
-}
-
-src_install() {
-       emake DESTDIR="${D}" install || die
-}
-
-pkg_postinst() {
-       [ "${ROOT}" == "/" ] && pkg_config
-}
-
-pkg_config() {
-       einfo "Regenerating catalog..."
-       scm -e "(require 'new-catalog)"
-}
diff --git a/dev-scheme/scm/scm-5.5.5.ebuild b/dev-scheme/scm/scm-5.5.5.ebuild
deleted file mode 100644 (file)
index 94ecee3..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2009 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-scheme/scm/scm-5.5.5.ebuild,v 1.1 2009/02/02 22:19:35 hkbst Exp $
-
-inherit versionator eutils
-
-#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="Scheme implementation from author of slib"
-SRC_URI="http://swiss.csail.mit.edu/ftpdir/scm/${MY_P}.zip"
-HOMEPAGE="http://swiss.csail.mit.edu/~jaffer/SCM"
-
-SLOT="0"
-LICENSE="LGPL-3"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-#unzip for unpacking
-RDEPEND=""
-DEPEND="app-arch/unzip
-               >=dev-scheme/slib-3.1.5"
-
-src_unpack() {
-       unpack ${A}; cd "${S}"
-
-#      cp Makefile Makefile.old
-
-       sed "s#local/##" -i Makefile
-
-#      diff -u Makefile.old Makefile
-}
-
-src_compile() {
-       einfo "Making scmlit"
-       #parallel make fails sometimes
-       emake -j1 scmlit || die
-       einfo "Creating script to build scm"
-       echo "srcdir=/usr/share/scm/" > srcdir.mk
-       ./build --compiler-options="${CFLAGS}" --linker-options="${LDFLAGS}" -F macro -F inexact &> _compile.sh || die
-       einfo "Building scm"
-       sh _compile.sh || die
-}
-
-src_install() {
-       emake DESTDIR="${D}" install || die
-}
-
-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.ebuild b/dev-scheme/scm/scm-5.5.6.ebuild
new file mode 100644 (file)
index 0000000..df3d953
--- /dev/null
@@ -0,0 +1,161 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-scheme/scm/scm-5.5.6.ebuild,v 1.1 2010/04/16 19:17:20 chiiph Exp $
+
+EAPI="2"
+
+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"
+IUSE="arrays bignums cautious dynamic-linking engineering-notation gsubr inexact
+ioext 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 )
+       readline? ( sys-libs/libtermcap-compat )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+       epatch "${FILESDIR}"/${P}-multiplefixes.patch
+}
+
+src_compile() {
+       # SLIB is required to build SCM.
+       local slibpath="/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 || die "faild to build scmlit"
+
+       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/lib" \
+               -s /usr/lib/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
+}
+
+src_test() {
+       emake check
+}
+
+src_install() {
+       emake DESTDIR="${D}" install || die "Install failed"
+
+       doinfo scm.info
+       doinfo hobbit.info
+}
+
+pkg_postinst() {
+       [ "${ROOT}" == "/" ] && pkg_config
+}
+
+pkg_config() {
+       einfo "Regenerating catalog..."
+       scm -e "(require 'new-catalog)"
+}