diff options
Diffstat (limited to 'dev-scheme/chez/chez-10.0.0.ebuild')
-rw-r--r-- | dev-scheme/chez/chez-10.0.0.ebuild | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/dev-scheme/chez/chez-10.0.0.ebuild b/dev-scheme/chez/chez-10.0.0.ebuild new file mode 100644 index 000000000000..fc8736a0660e --- /dev/null +++ b/dev-scheme/chez/chez-10.0.0.ebuild @@ -0,0 +1,106 @@ +# Copyright 2021-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit edo toolchain-funcs + +DESCRIPTION="A programming language based on R6RS" +HOMEPAGE="https://cisco.github.io/ChezScheme/ + https://github.com/cisco/ChezScheme/" +SRC_URI="https://github.com/cisco/ChezScheme/releases/download/v${PV}/csv${PV//a}.tar.gz + -> ${P}.tar.gz" +S="${WORKDIR}/csv${PV//a}" + +# Chez Scheme itself is Apache 2.0, but it vendors Nanopass and stex +# which are both MIT licensed. +LICENSE="Apache-2.0 MIT" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~arm ~x86" +IUSE="X ncurses threads" + +# "some output differs from expected", needs in-depth investigation. +RESTRICT="test" + +RDEPEND=" + app-arch/lz4:= + sys-apps/util-linux + sys-libs/zlib:= + X? ( + x11-libs/libX11 + ) + ncurses? ( + sys-libs/ncurses:= + ) +" +DEPEND=" + ${RDEPEND} +" +BDEPEND=" + virtual/pkgconfig +" + +src_prepare() { + tc-export AR CC CXX LD RANLIB + + default + + if use ncurses ; then + local nclibs="\"$($(tc-getPKG_CONFIG) --libs ncurses)\"" + + sed -i "s|ncursesLib=-lncurses|ncursesLib=${nclibs}|g" configure || die + fi +} + +src_configure() { + # See official docs for translation guide. + # https://cisco.github.io/ChezScheme/release_notes/v9.6/release_notes.html + # "t" for threading + arch_map + "le" for Linux (hardcoded for now) + local -A arch_map=( + [amd64]=a6 + [arm]=arm32 + [ppc]=ppc32 + [x86]=i3 + ) + local machine="$(usex threads 't' '')${arch_map[${ARCH}]}le" + + local -a myconfargs=( + --machine="${machine}" + --libkernel + --nogzip-man-pages + + --installprefix="/usr" + --installbin="/usr/bin" + --installlib="/usr/$(get_libdir)" + --installman="/usr/share/man" + --installschemename=chezscheme + --installpetitename=chezscheme-petite + --installscriptname=chezscheme-script + + $(usex threads '--threads' '') + $(usex ncurses '' '--disable-curses') + $(usex X '' '--disable-x11') + + AR="$(tc-getAR)" + CC="$(tc-getCC)" + LD="$(tc-getLD)" + RANLIB="$(tc-getRANLIB)" + STRIP="$(tc-getSTRIP)" + + CFLAGS+="${CFLAGS}" + CPPFLAGS+="${CPPFLAGS}" + LDFLAGS+="${LDFLAGS}" + + LZ4="$($(tc-getPKG_CONFIG) --libs liblz4)" + ZLIB="$($(tc-getPKG_CONFIG) --libs zlib)" + ) + edob sh ./configure "${myconfargs[@]}" +} + +src_install() { + # TempRoot == DESTDIR + sed -e "s|TempRoot=.*|TempRoot=${ED}|g" -i ./*/Mf-* || die + + emake install + einstalldocs +} |