commit:     2f7edae73c0fc2e085fc9cda69d56a0d04b64759
Author:     Maciej Barć <xgqt <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 25 17:53:25 2021 +0000
Commit:     Maciej Barć <xgqt <AT> gentoo <DOT> org>
CommitDate: Thu Nov 25 17:53:25 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2f7edae7

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 <AT> gentoo.org>

 dev-scheme/cyclone/Manifest              |  1 +
 dev-scheme/cyclone/cyclone-0.33.0.ebuild | 55 ++++++++++++++++++++++++++++++++
 dev-scheme/cyclone/cyclone-9999.ebuild   | 55 ++++++++++++++++++++++++++++++++
 dev-scheme/cyclone/metadata.xml          | 26 +++++++++++++++
 4 files changed, 137 insertions(+)

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>sch...@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>

Reply via email to