diff --git a/dev-scheme/cyclone/Manifest b/dev-scheme/cyclone/Manifest new file mode 100644 index 0000000000..7d9a1e32b6 --- /dev/null +++ b/dev-scheme/cyclone/Manifest @@ -0,0 +1 @@ +DIST cyclone-0.28.0.tar.gz 3683280 BLAKE2B 7f5e5982104094bbadc9cde545b3d9d21b3f000136ff07543b4fd4f8a5e79799b8adf8c480bc65f15645e62ec9ae5cccc9c5ae9305334ae2ef080eab6d730045 SHA512 e106a0ef779a4829b729a928e30cf80409e6fe6bb14859c595098e0bfe18fcd5d9ba8859d607a55ec2f97b2c58ec8ccb3405b41de34044994441889718c6caec diff --git a/dev-scheme/cyclone/cyclone-0.28.0.ebuild b/dev-scheme/cyclone/cyclone-0.28.0.ebuild new file mode 100644 index 0000000000..7291e1b0f7 --- /dev/null +++ b/dev-scheme/cyclone/cyclone-0.28.0.ebuild @@ -0,0 +1,51 @@ +# 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 transpired by it to C + +EAPI=7 + +inherit flag-o-matic + +DESCRIPTION="Scheme R7RS 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() { + append-cflags -fPIC -rdynamic -Iinclude + append-ldflags -L. -Wl,--export-dynamic + tc-export CC +} + +src_compile() { + emake +} + +src_test() { + emake test LDFLAGS="" +} + +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 0000000000..7291e1b0f7 --- /dev/null +++ b/dev-scheme/cyclone/cyclone-9999.ebuild @@ -0,0 +1,51 @@ +# 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 transpired by it to C + +EAPI=7 + +inherit flag-o-matic + +DESCRIPTION="Scheme R7RS 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() { + append-cflags -fPIC -rdynamic -Iinclude + append-ldflags -L. -Wl,--export-dynamic + tc-export CC +} + +src_compile() { + emake +} + +src_test() { + emake test LDFLAGS="" +} + +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 0000000000..befb734c73 --- /dev/null +++ b/dev-scheme/cyclone/metadata.xml @@ -0,0 +1,24 @@ + + + + + xgqt@riseup.net + Maciej Barć + + + 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". + + + justinethier/cyclone-bootstrap + justinethier/cyclone + +