summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-scheme/ikarus')
-rw-r--r--dev-scheme/ikarus/Manifest1
-rw-r--r--dev-scheme/ikarus/files/ikarus-0.0.3_p1870-cpu_has_sse2.patch12
-rw-r--r--dev-scheme/ikarus/files/ikarus-0.0.3_p1870-ikarus-enter.patch13
-rw-r--r--dev-scheme/ikarus/ikarus-0.0.3_p1870.ebuild64
-rw-r--r--dev-scheme/ikarus/metadata.xml15
5 files changed, 105 insertions, 0 deletions
diff --git a/dev-scheme/ikarus/Manifest b/dev-scheme/ikarus/Manifest
new file mode 100644
index 000000000000..00488b69b32b
--- /dev/null
+++ b/dev-scheme/ikarus/Manifest
@@ -0,0 +1 @@
+DIST ikarus-scheme-r1870.tgz 9397981 SHA256 cc4a2a23517a485d5ddbde87d9e504fb618e30b1f6d661e7c7b5061c19a3ca82
diff --git a/dev-scheme/ikarus/files/ikarus-0.0.3_p1870-cpu_has_sse2.patch b/dev-scheme/ikarus/files/ikarus-0.0.3_p1870-cpu_has_sse2.patch
new file mode 100644
index 000000000000..d66989671e32
--- /dev/null
+++ b/dev-scheme/ikarus/files/ikarus-0.0.3_p1870-cpu_has_sse2.patch
@@ -0,0 +1,12 @@
+--- a/src/cpu_has_sse2.S 2008-01-29 04:44:10.000000000 +0000
++++ b/src/cpu_has_sse2.S 2008-05-31 18:29:00.000000000 +0000
+@@ -13,6 +13,9 @@
+ # You should have received a copy of the GNU General Public License
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
+
++#if defined(__linux__) && defined(__ELF__)
++.section .note.GNU-stack,"",%progbits
++#endif
+
+ .text
+ .globl cpu_has_sse2
diff --git a/dev-scheme/ikarus/files/ikarus-0.0.3_p1870-ikarus-enter.patch b/dev-scheme/ikarus/files/ikarus-0.0.3_p1870-ikarus-enter.patch
new file mode 100644
index 000000000000..2bdd780d7490
--- /dev/null
+++ b/dev-scheme/ikarus/files/ikarus-0.0.3_p1870-ikarus-enter.patch
@@ -0,0 +1,13 @@
+--- a/src/ikarus-enter.S 2008-01-29 04:44:17.000000000 +0000
++++ b/src/ikarus-enter.S 2008-05-31 18:28:09.000000000 +0000
+@@ -13,7 +13,9 @@
+ # You should have received a copy of the GNU General Public License
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+-
++#if defined(__linux__) && defined(__ELF__)
++.section .note.GNU-stack,"",%progbits
++#endif
+
+ .text
+ .globl ik_asm_enter
diff --git a/dev-scheme/ikarus/ikarus-0.0.3_p1870.ebuild b/dev-scheme/ikarus/ikarus-0.0.3_p1870.ebuild
new file mode 100644
index 000000000000..3c14960f7a57
--- /dev/null
+++ b/dev-scheme/ikarus/ikarus-0.0.3_p1870.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+
+inherit eutils flag-o-matic autotools versionator
+
+MY_PV=$(get_version_component_range 4-)
+MY_PV=${MY_PV/p/}
+
+MY_P=${PN}-scheme-r${MY_PV}
+
+DESCRIPTION="A free optimizing incremental native-code compiler for R6RS Scheme"
+HOMEPAGE="http://ikarus-scheme.org/"
+SRC_URI="http://ikarus-scheme.org/ikarus.dev/${MY_P}.tgz"
+
+LICENSE="GPL-3"
+SLOT="0"
+
+KEYWORDS="-* ~x86"
+IUSE="cpu_flags_x86_sse2 doc"
+
+RDEPEND=">=dev-libs/gmp-4.2.2"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ sed -i -e 's/-O3//' configure.ac || die
+ epatch "${FILESDIR}/${P}-cpu_has_sse2.patch"
+ epatch "${FILESDIR}/${P}-ikarus-enter.patch"
+
+ eautoreconf
+}
+
+src_compile() {
+ if use !cpu_flags_x86_sse2; then \
+ eerror "You must have a processor who supports \
+ SSE2 instructions" && die
+ fi
+
+ append-flags "-std=gnu99"
+
+ emake || die "emake failed"
+}
+
+src_test() {
+ cd benchmarks
+ make benchall || die "Tests failed"
+ if [ -e timelog ]
+ then
+ cat timelog || die "stdout test logs failed."
+ fi
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+ rm -Rf "${D}/usr/share"
+ dodoc README ACKNOWLEDGMENTS || die "dodoc failed"
+ if use doc; then
+ dodoc doc/*.pdf || die "dodoc failed"
+ fi
+}
diff --git a/dev-scheme/ikarus/metadata.xml b/dev-scheme/ikarus/metadata.xml
new file mode 100644
index 000000000000..09e0bb5b7065
--- /dev/null
+++ b/dev-scheme/ikarus/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>scheme</herd>
+ <maintainer>
+ <email>pchrist@gentoo.org</email>
+ <name>Panagiotis Christopoulos</name>
+ </maintainer>
+ <longdescription lang="en">
+ Ikarus Scheme is a free optimizing incremental native-code compiler for
+ Scheme as specified in the Revised-6 Report on the Algorithmic Language
+ Scheme.
+ </longdescription>
+</pkgmetadata>
+