forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: Maciej Barć <[email protected]>
- Loading branch information
Showing
2 changed files
with
122 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,4 @@ | ||
DIST crystal-1.10.1-1-linux-x86_64.tar.gz 46236242 BLAKE2B 8c74672aaeb99cdb9ebcc0a1fa82cb148e81f6abc703e488df585aa4ecf30592ab5139079aad1506a55d69e255f07ff902f36a8f6bfffdaa9ca7079260303dc8 SHA512 5828fd3246102e5c779f722c50c42435f7d2a36943c283d3220b13aa0e86ea1fd0c0fe668a6e5c731c302519108d8bf08677d48f4360c05d80d9ee4b9c6c5a77 | ||
DIST crystal-1.10.1.tar.gz 3305965 BLAKE2B eede32a5ed5695bbe4288f8942db251ebe3b57c241523a215109994e703c58cd95c2d449b0bf87cd45cfa637d264a73ea060227f0459034cc40135b1c2ee20c5 SHA512 2e26d6e366ea5c8b7abe3457608a0a0eca60b5d15f3c9079a58c3855302c7c07cd705d04fb6aa1bec2681fe40799609cab77a8b8e6fc10be7a8e545c5b0ecfc1 | ||
DIST crystal-1.11.2-1-linux-x86_64.tar.gz 46947860 BLAKE2B c3f08d8a399c139f2eb465857142ad6faaf6925459318d5e6b5b5b879974cc63f43c99f8b2d1fa852fe239a81c0341e24c84023b8b8113bc2bfe9e4fe03c8346 SHA512 54cf8e24d5bd87602a65d22dfa0bbe3520b49cedb430d0652066caf2f47d1cea1bafdb852133a886f3c3b324826212dfa82ac15475ef044016b4b8210e20da39 | ||
DIST crystal-1.11.2.tar.gz 3620048 BLAKE2B 3838f43897ba74a3c7f5717ba795f38cfd4265bbcbe11fa5a155d196afae40c60f7b5789c5d97e94eea1a1affb2cbd5c7fa9208e74a0fa7fa932b013e6124923 SHA512 e9b828539359fbae93799654f39b75c0c72764348ae279da326ac4ff4d2fa8e693c01956f5bc7ce1fff1504156049bf2b261c8defbde9cb690e1e84c13c8a296 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,120 @@ | ||
# Copyright 1999-2024 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=8 | ||
|
||
BV="${PV}-1" | ||
BV_AMD64="${BV}-linux-x86_64" | ||
|
||
LLVM_MAX_SLOT=17 | ||
|
||
inherit bash-completion-r1 llvm multiprocessing toolchain-funcs | ||
|
||
DESCRIPTION="The Crystal Programming Language" | ||
HOMEPAGE="https://crystal-lang.org/ | ||
https://github.com/crystal-lang/crystal/" | ||
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=" | ||
<sys-devel/llvm-$((${LLVM_MAX_SLOT} + 1)):= | ||
dev-libs/boehm-gc:=[threads] | ||
dev-libs/gmp:= | ||
dev-libs/libatomic_ops:= | ||
dev-libs/libevent:= | ||
dev-libs/libpcre2:=[unicode] | ||
dev-libs/pcl:= | ||
llvm-libunwind? ( | ||
sys-libs/llvm-libunwind:= | ||
) | ||
!llvm-libunwind? ( | ||
sys-libs/libunwind:= | ||
) | ||
" | ||
RDEPEND=" | ||
${DEPEND} | ||
dev-libs/libxml2 | ||
dev-libs/libyaml | ||
" | ||
|
||
PATCHES=( | ||
"${FILESDIR}/${PN}-1.7.2-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 | ||
|
||
# crystal uses 'LLVM_TARGETS' to override default list of targets | ||
unset LLVM_TARGETS | ||
|
||
MY_EMAKE_COMMON_ARGS=( | ||
PATH="${bootstrap_path}:${PATH}" | ||
|
||
CRYSTAL_CONFIG_VERSION="${PV}" | ||
CRYSTAL_CONFIG_PATH="lib:${EPREFIX}/usr/$(get_libdir)/crystal" | ||
|
||
$(usex debug "" release=1) | ||
progress=true | ||
stats=1 | ||
threads="$(makeopts_jobs)" | ||
verbose=1 | ||
|
||
AR="$(tc-getAR)" | ||
CC="$(tc-getCC)" | ||
CXX="$(tc-getCXX)" | ||
LLVM_CONFIG="$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" | ||
) | ||
} | ||
|
||
src_compile() { | ||
emake "${MY_EMAKE_COMMON_ARGS[@]}" | ||
|
||
use doc && emake docs "${MY_EMAKE_COMMON_ARGS[@]}" | ||
} | ||
|
||
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/. | ||
|
||
exeinto /usr/bin | ||
doexe .build/crystal | ||
|
||
insinto /usr/share/zsh/site-functions | ||
newins etc/completion.zsh _crystal | ||
|
||
dodoc -r samples | ||
doman "man/${PN}.1" | ||
newbashcomp etc/completion.bash "${PN}" | ||
|
||
if use doc ; then | ||
docinto api | ||
dodoc -r docs/. | ||
fi | ||
} |