diff --git a/dev-scheme/chicken/Manifest b/dev-scheme/chicken/Manifest new file mode 100644 index 0000000..2e96036 --- /dev/null +++ b/dev-scheme/chicken/Manifest @@ -0,0 +1 @@ +DIST chicken-5.2.0.tar.gz 4052305 BLAKE2B c86284af04cd6693c5c470f6861806e388eb898935e3b34b988e30738b9f0458943dc737dadd383d94b8919079166f743f3f4c9c8c613b3ff024da77d6584875 SHA512 0290362900a5be0004774a73756c2b0f617152004571a3e5e5bf43ea55343e694f98bf7fb328f24d4fc50cc33377b25af382b9ec9e8a790c5d873d2eaf0cc2ce diff --git a/dev-scheme/chicken/chicken-5.2.0.ebuild b/dev-scheme/chicken/chicken-5.2.0.ebuild new file mode 100644 index 0000000..1a8c6bc --- /dev/null +++ b/dev-scheme/chicken/chicken-5.2.0.ebuild @@ -0,0 +1,67 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DESCRIPTION="Scheme interpreter and native Scheme to C compiler" +HOMEPAGE="http://www.call-cc.org/" +SRC_URI="http://code.call-cc.org/releases/${PV}/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64" +IUSE="doc" + +src_prepare() { + default + + # Because chicken's Upstream is in the habit of using variables that + # portage also uses :( eg. $ARCH and $A + sed "s,A\(\s?=\|)\),chicken&," \ + -i Makefile.cross-linux-mingw defaults.make rules.make || die + sed "s,ARCH,zARCH," \ + -i Makefile.* defaults.make rules.make || die + sed -e "s,\$(PREFIX)/lib,\$(PREFIX)/$(get_libdir)," \ + -e "s,\$(DATADIR)/doc,\$(SHAREDIR)/doc/${PF}," \ + -i defaults.make || die + + if ! use doc; then + rm -rf manual || die + # Without this Makefile tries to re-bootstrap the compiler + touch build-version.c + fi + + export myopts=( + C_COMPILER_OPTIMIZATION_OPTIONS="${CFLAGS}" + DESTDIR="${D}" + HOSTSYSTEM="${CBUILD}" + LINKER_OPTIONS="${LDFLAGS}" + PLATFORM="linux" + PREFIX="/usr" + ) +} + +src_compile() { + emake -j1 "${myopts[@]}" +} + +src_test() { + cd tests || die + ./runtests.sh || die +} + +src_install() { + emake -j1 "${myopts[@]}" install + + rm "${D}"/usr/share/doc/${PF}/LICENSE || die + + einstalldocs + + # Let portage track this file (created later) + touch "${D}"/usr/$(get_libdir)/chicken/11/types.db || die +} + +pkg_postinst() { + # Create modules.db file in ${ROOT} + chicken-install -update-db || die +} diff --git a/dev-scheme/chicken/metadata.xml b/dev-scheme/chicken/metadata.xml new file mode 100644 index 0000000..725411d --- /dev/null +++ b/dev-scheme/chicken/metadata.xml @@ -0,0 +1,15 @@ + + + + + xgqt@protonmail.com + Maciej Barć + + + CHICKEN is a compiler for the Scheme programming language. + CHICKEN produces portable, efficient C, supports almost all of + the current Scheme language standard, the Revised5 Report on + the Algorithmic Language Scheme (R5RS ), and includes many enhancements + and extensions. CHICKEN runs on MacOS X, Windows, and many Unix flavours. + +