diff options
author | Sam James <sam@gentoo.org> | 2021-10-27 15:13:54 +0100 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2021-10-27 15:14:38 +0100 |
commit | 4ada59ceaf9a86e0b136f35dc91f830c48973e4d (patch) | |
tree | 901239adb8839e1eb5cf752560c57c53a6595c96 /dev-lang/crystal | |
parent | app-admin/puppet: add missing sync dependency (diff) | |
download | gentoo-4ada59ceaf9a86e0b136f35dc91f830c48973e4d.tar.gz gentoo-4ada59ceaf9a86e0b136f35dc91f830c48973e4d.tar.bz2 gentoo-4ada59ceaf9a86e0b136f35dc91f830c48973e4d.zip |
dev-lang/crystal: add 1.2.1
Still hangs with FEATURES="sandbox usersandbox" but best to be trying
with the latest version.
Bug: https://bugs.gentoo.org/820407
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-lang/crystal')
-rw-r--r-- | dev-lang/crystal/Manifest | 2 | ||||
-rw-r--r-- | dev-lang/crystal/crystal-1.2.1.ebuild | 104 |
2 files changed, 106 insertions, 0 deletions
diff --git a/dev-lang/crystal/Manifest b/dev-lang/crystal/Manifest index 50f111b50acf..73d79d1f5055 100644 --- a/dev-lang/crystal/Manifest +++ b/dev-lang/crystal/Manifest @@ -4,3 +4,5 @@ DIST crystal-1.1.0.tar.gz 2476748 BLAKE2B 2874da651a8b4454c6a34b00ac4ef93be6beaa DIST crystal-1.1.1-1-linux-i686.tar.gz 30749110 BLAKE2B d79113bc616685b30a80bb8632593c1b0a24d770ee9fa50810e771996f9ca95cdb5cdab64a7c445bc461e27e77e457b8334877e3a62281a3f9cbe59975518eae SHA512 eecd485fe06642a534aee2f837ac9ad6eeb5b52fa5fb4ab0f36bcf167535b784b5e306c0bb578a3198b58552efd3f0afc356b2711b0b7dc00f25fb1a2f4fe43f DIST crystal-1.1.1-1-linux-x86_64.tar.gz 27999355 BLAKE2B 115d9002973d9e0e1ad2edac55a10d4275176f95352634eee00f29d6ebeef2e3538f30a26904a1c6b68fa5b42e70b4cf54bb50ed4aa1097bb2d2dc716ff83427 SHA512 f27277af810f295c8ee4f5fedc3b7f1ffb06d166970fcc25d2de43e1c41e0af01de2a508292b44aac48a1583ac9892058f54fa3a7c361fc56dd483265f8bc36c DIST crystal-1.1.1.tar.gz 2477825 BLAKE2B 4e1b06c831a22447a4d1f065be64b12642ee4b4a75f24b0b73b990944afe6e2a6fca95189b46ea0656b8d13bd7c6a83a23452779b494822803a0264e02b9d4ce SHA512 6e9e977792c863d17ae94aa285a65a453da581a71c3fd9c57cc606ae20813504d675faffa74f78e7c4cf863b6334c4a63ab5356c04fb11d3267dd516e060fe74 +DIST crystal-1.2.1-1-linux-x86_64.tar.gz 28586682 BLAKE2B 4d7847cdc6263c369de0926055569986cece1302d2251e4b2d25308609e45c0aa3afe7cdfecba3b7909d7568b1e81aafe69f9976a90c8980684a92231cc3857c SHA512 23cfb2389c65202dc70ebadb85cf0390ba2366520fbfd4b7bb0683c5194cd2b5c87b6b4142dd251471ec4146a5c1046ec86bcafa50c66389a41c9cb394ee6f5d +DIST crystal-1.2.1.tar.gz 2618956 BLAKE2B e9ffd8b9114af419ee433093066dcf69f86e2f3293a6eeafee20f00c982dcd78774b3faf64d1e2568ba3141e24ef751cb2b5e0b2a2c57dac92d0039e6e224971 SHA512 a6acfac36a8a0d93e39947f2e35238f9cfc43485994fd6caf102f1d62ebc4d71d13d96801e998dbbff9541b76a8eb4fade7b998b179807ed49c1c338207a4720 diff --git a/dev-lang/crystal/crystal-1.2.1.ebuild b/dev-lang/crystal/crystal-1.2.1.ebuild new file mode 100644 index 000000000000..6e531f8dcf46 --- /dev/null +++ b/dev-lang/crystal/crystal-1.2.1.ebuild @@ -0,0 +1,104 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +LLVM_MAX_SLOT=13 +inherit bash-completion-r1 llvm multiprocessing toolchain-funcs + +BV=${PV}-1 +BV_AMD64=${BV}-linux-x86_64 + +DESCRIPTION="The Crystal Programming Language" +HOMEPAGE="https://crystal-lang.org" +SRC_URI="https://github.com/crystal-lang/crystal/archive/${PV}.tar.gz -> ${P}.tar.gz + amd64? ( https://github.com/crystal-lang/crystal/releases/download/${BV/-*}/crystal-${BV_AMD64}.tar.gz )" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" +IUSE="doc debug llvm-libunwind" + +# Upstream test suite not reliable +RESTRICT=test + +DEPEND=" + dev-libs/boehm-gc[static-libs,threads] + dev-libs/gmp:= + dev-libs/libatomic_ops + dev-libs/libevent + dev-libs/libpcre + dev-libs/pcl:= + <sys-devel/llvm-$((${LLVM_MAX_SLOT} + 1)):= + llvm-libunwind? ( sys-libs/llvm-libunwind:= ) + !llvm-libunwind? ( sys-libs/libunwind:= ) +" +RDEPEND="${DEPEND} + dev-libs/libxml2 + dev-libs/libyaml +" + +PATCHES=( + "${FILESDIR}"/${PN}-1.1.0-verbose.patch + "${FILESDIR}"/${PN}-0.26.1-gentoo-tests-sandbox.patch + "${FILESDIR}"/${PN}-0.27.0-extra-spec-flags.patch + "${FILESDIR}"/${PN}-0.27.0-gentoo-tests-long-unix.patch + "${FILESDIR}"/${PN}-0.27.0-gentoo-tests-long-unix-2.patch +) + +src_configure() { + local bootstrap_path=${WORKDIR}/${PN}-${BV}/bin + if [[ ! -d ${bootstrap_path} ]]; then + eerror "Binary tarball does not contain expected directory:" + die "'${bootstrap_path}' path does not exist." + fi + + MY_EMAKE_COMMON_ARGS=( + $(usex debug "" release=1) + progress=true + stats=1 + threads=$(makeopts_jobs) + verbose=1 + CC=$(tc-getCC) + CXX=$(tc-getCXX) + AR=$(tc-getAR) + LLVM_CONFIG="$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" + PATH="${bootstrap_path}:${PATH}" + CRYSTAL_PATH=src + CRYSTAL_CONFIG_VERSION=${PV} + CRYSTAL_CONFIG_PATH="lib:${EPREFIX}/usr/$(get_libdir)/crystal" + ) + + # crystal uses 'LLVM_TARGETS' to override default list of targets + unset LLVM_TARGETS +} + +src_compile() { + emake "${MY_EMAKE_COMMON_ARGS[@]}" + use doc && emake docs +} + +src_test() { + # EXTRA_SPEC_FLAGS is useful to debug individual tests + # as part of full build: + # USE=debug EXTRA_SPEC_FLAGS='-e parse_set_cookie' emerge -1 crystal + emake std_spec "${MY_EMAKE_COMMON_ARGS[@]}" "EXTRA_SPEC_FLAGS=${EXTRA_SPEC_FLAGS}" +} + +src_install() { + insinto /usr/$(get_libdir)/crystal + doins -r src/. + dobin .build/crystal + + insinto /usr/share/zsh/site-functions + newins etc/completion.zsh _crystal + + dodoc -r samples + + if use doc ; then + docinto api + dodoc -r docs/. + fi + + newbashcomp etc/completion.bash ${PN} +} |