summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaciej Barć <xgqt@gentoo.org>2021-11-25 18:53:25 +0100
committerMaciej Barć <xgqt@gentoo.org>2021-11-25 18:53:25 +0100
commit2f7edae73c0fc2e085fc9cda69d56a0d04b64759 (patch)
treed04bf6e979f19d2e0eedf23c7824260613424617 /dev-scheme
parentdev-scheme/chez: new package; add version 9.5.6 (diff)
downloadgentoo-2f7edae73c0fc2e085fc9cda69d56a0d04b64759.tar.gz
gentoo-2f7edae73c0fc2e085fc9cda69d56a0d04b64759.tar.bz2
gentoo-2f7edae73c0fc2e085fc9cda69d56a0d04b64759.zip
dev-scheme/cyclone: new package; add version 0.33.0 and live
Package-Manager: Portage-3.0.28, Repoman-3.0.3 Signed-off-by: Maciej Barć <xgqt@gentoo.org>
Diffstat (limited to 'dev-scheme')
-rw-r--r--dev-scheme/cyclone/Manifest1
-rw-r--r--dev-scheme/cyclone/cyclone-0.33.0.ebuild55
-rw-r--r--dev-scheme/cyclone/cyclone-9999.ebuild55
-rw-r--r--dev-scheme/cyclone/metadata.xml26
4 files changed, 137 insertions, 0 deletions
diff --git a/dev-scheme/cyclone/Manifest b/dev-scheme/cyclone/Manifest
new file mode 100644
index 000000000000..4d230a99c9dd
--- /dev/null
+++ b/dev-scheme/cyclone/Manifest
@@ -0,0 +1 @@
+DIST cyclone-0.33.0.tar.gz 3946573 BLAKE2B 7eba62995ef3d327e14d6fbcf433d40e73c244508f8858d636a3a3fd05660e2921055932dedbe50ce8b384e9a9b44a09112aca6f851af6cd38b9b372769b2adc SHA512 96ffd3d04636b27f36c98920359a9f880c4b2a15e9820e5d91c82f821dc93357b665537e7688b00510d6a4fd113666edbd5ec109ff491f4f18d547129527b763
diff --git a/dev-scheme/cyclone/cyclone-0.33.0.ebuild b/dev-scheme/cyclone/cyclone-0.33.0.ebuild
new file mode 100644
index 000000000000..2a50206ddfee
--- /dev/null
+++ b/dev-scheme/cyclone/cyclone-0.33.0.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Cyclone is a self-hosting Scheme to C compiler
+# cyclone-bootstrap is the Cyclone SOURCE transpiled by it to C
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="R7RS Scheme to C compiler"
+HOMEPAGE="http://justinethier.github.io/cyclone/"
+
+if [[ "${PV}" == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/justinethier/${PN}-bootstrap.git"
+else
+ SRC_URI="https://github.com/justinethier/${PN}-bootstrap/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+ S="${WORKDIR}/${PN}-bootstrap-${PV}"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+
+DEPEND="dev-libs/concurrencykit"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ export CYC_GCC_OPT_FLAGS="${CFLAGS}"
+ append-cflags -fPIC -Iinclude
+ append-ldflags -L.
+ tc-export AR CC RANLIB
+}
+
+src_compile() {
+ local myopts=(
+ PREFIX="/usr"
+ CYC_GCC_OPT_FLAGS="${CYC_GCC_OPT_FLAGS}"
+ AR="$(tc-getAR)"
+ CC="$(tc-getCC)"
+ RANLIB="$(tc-getRANLIB)"
+ )
+ emake "${myopts[@]}"
+}
+
+src_test() {
+ emake LDFLAGS="" test
+}
+
+src_install() {
+ einstalldocs
+
+ emake PREFIX="/usr" DESTDIR="${D}" install
+}
diff --git a/dev-scheme/cyclone/cyclone-9999.ebuild b/dev-scheme/cyclone/cyclone-9999.ebuild
new file mode 100644
index 000000000000..12a81a63780a
--- /dev/null
+++ b/dev-scheme/cyclone/cyclone-9999.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Cyclone is a self-hosting Scheme to C compiler
+# cyclone-bootstrap is the Cyclone SOURCE transpiled by it to C
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="R7RS Scheme to C compiler"
+HOMEPAGE="http://justinethier.github.io/cyclone/"
+
+if [[ "${PV}" == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/justinethier/${PN}-bootstrap.git"
+else
+ SRC_URI="https://github.com/justinethier/${PN}-bootstrap/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+ S="${WORKDIR}/${PN}-bootstrap-${PV}"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND="dev-libs/concurrencykit"
+DEPEND="${RDEPEND}"
+
+src_configure() {
+ export CYC_GCC_OPT_FLAGS="${CFLAGS}"
+ append-cflags -fPIC -Iinclude
+ append-ldflags -L.
+ tc-export AR CC RANLIB
+}
+
+src_compile() {
+ local myopts=(
+ PREFIX="/usr"
+ CYC_GCC_OPT_FLAGS="${CYC_GCC_OPT_FLAGS}"
+ AR="$(tc-getAR)"
+ CC="$(tc-getCC)"
+ RANLIB="$(tc-getRANLIB)"
+ )
+ emake "${myopts[@]}"
+}
+
+src_test() {
+ emake LDFLAGS="" test
+}
+
+src_install() {
+ einstalldocs
+
+ emake PREFIX="/usr" DESTDIR="${D}" install
+}
diff --git a/dev-scheme/cyclone/metadata.xml b/dev-scheme/cyclone/metadata.xml
new file mode 100644
index 000000000000..8e37f78fc1e8
--- /dev/null
+++ b/dev-scheme/cyclone/metadata.xml
@@ -0,0 +1,26 @@
+<?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">
+ Cyclone Scheme is a brand-new compiler that allows real-world
+ application development using the R7RS Scheme Language standard.
+ We provide modern features and a stable system capable of generating
+ fast native binaries.
+ Cheney on the MTA is used by Cyclone's runtime to implement full tail
+ recursion, continuations, and generational garbage collection.
+ In addition, the Cheney on the MTA concept has been extended to allow
+ execution of multiple native threads. An on-the-fly garbage collector
+ is used to manage the second-generation heap and perform major
+ collections without "stopping the world".
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/justinethier/cyclone/issues</bugs-to>
+ <remote-id type="github">justinethier/cyclone-bootstrap</remote-id>
+ <remote-id type="github">justinethier/cyclone</remote-id>
+ </upstream>
+</pkgmetadata>