summaryrefslogtreecommitdiff
path: root/dev-scheme/cyclone/cyclone-0.36.0.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'dev-scheme/cyclone/cyclone-0.36.0.ebuild')
-rw-r--r--dev-scheme/cyclone/cyclone-0.36.0.ebuild62
1 files changed, 62 insertions, 0 deletions
diff --git a/dev-scheme/cyclone/cyclone-0.36.0.ebuild b/dev-scheme/cyclone/cyclone-0.36.0.ebuild
new file mode 100644
index 000000000000..c709f1965f91
--- /dev/null
+++ b/dev-scheme/cyclone/cyclone-0.36.0.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2024 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/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/${PN}-bootstrap-${PV}"
+
+ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+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 -a 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() {
+ emake PREFIX="/usr" DESTDIR="${D}" install
+ einstalldocs
+}