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.
Package-Manager: Portage-2.3.100, Repoman-2.3.22 Signed-off-by: Sergei Trofimovich <[email protected]>
- Loading branch information
Sergei Trofimovich
committed
Jun 9, 2020
1 parent
71a2ee8
commit af583c9
Showing
2 changed files
with
125 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,3 +1,6 @@ | ||
DIST crystal-0.34.0-1-linux-i686.tar.gz 30161592 BLAKE2B b53dd3c3fb36ae7654396bcca305dbdd32c90f72e3e549fd054517230df3fdadcc07056d4a53c600e1fbae14ce79b66268191a3a01f27e1d625451865a414774 SHA512 47874a6a349dcf42b92532c4d454f8c65f2f94d78240f2a5baa865063ed373410be0ff5e457d4d1c3483ce8965e894fa918973fa03ee934f226a56a8a544f8d0 | ||
DIST crystal-0.34.0-1-linux-x86_64.tar.gz 28036344 BLAKE2B dbd9305cadfda3a9d072672c91a0a7e9b230507d69c84735af900c40e602dbd6777b48ddce679935b87cff669d0534a8d65b09dc0fa6d8167f66117ba8468f8a SHA512 291713acb6291c106e60c2b7bcdab33a6df3d6f464c81392ea340b25d01d301c743c0d81f29eb9b32a2099203775a8fc2df9617f90c28699e4864bee16f4252e | ||
DIST crystal-0.34.0.tar.gz 2270363 BLAKE2B bef2f09ef45ed9c7c9ffc5bcc9e8d6516c799b60ae3d87d5512fcd36634231091c1c534a708059362c3e5bc9db36a377dffd2dbca4290964362ea8740345e4f2 SHA512 6167ca5974d02167fe695cc51fe8ef95e56076a2af88eae39a12b07930b96ca0b30d53fd7c6e2296139d89a1c7eacfce5326f25a8fa3487cdb446ab592723f66 | ||
DIST crystal-0.35.0-1-linux-i686.tar.gz 28339332 BLAKE2B ede6b7d490685128f15d2f87f697e06d947796ce50275338fd993ebdfe3e2e01c6ddeb0c2395b9472183a6a535c630fc5fd97ecb5fa22cc9360622a610ed9ff5 SHA512 f9f9d30fc44f8cac7d6b93b20a40a50d994489628f8636a137faa94e0cd0445199e3fff9a9dfc9e5f0d6aee2d72d603779daf22fb88d0918a090a0ecc15850ac | ||
DIST crystal-0.35.0-1-linux-x86_64.tar.gz 26656265 BLAKE2B 18e364b6e5ef9ca747127c9589d5127fa1d114ac38bbb2767bee735d4a6d749c98aec89235cc46c99c63dc66847dd4b6a1e9ac5e5f95f481812060eb15d02969 SHA512 8e96927760147727faf5e803099c1b5c12f16211bff554a972aa3ec9cd601daaeed6067cd2fe449a4e823d3a10b8f10de96957b92cc2ba674b8b9c678ba89225 | ||
DIST crystal-0.35.0.tar.gz 2350444 BLAKE2B 2231d9c893fb50566d9f0a7ce78a64e50dd780a92669868c028274b7365efded1bec4ba728f2877b0a9b38f67c535c9457bcf98c83ef3693cd5068ce95e938ba SHA512 1c48c998b6f327d7e183ebd3855d81797630d18db21c2ce2199d64a76acb9accf3a2065e1dea3a9bb28cd55a29ded4bbaabdc294ca81001395451101dbb075fe |
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,122 @@ | ||
# Copyright 1999-2020 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=7 | ||
|
||
inherit bash-completion-r1 llvm multiprocessing toolchain-funcs | ||
|
||
BV=${PV}-1 | ||
BV_AMD64=${BV}-linux-x86_64 | ||
BV_X86=${BV}-linux-i686 | ||
|
||
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 ) | ||
x86? ( https://github.com/crystal-lang/crystal/releases/download/${BV/-*}/crystal-${BV_X86}.tar.gz )" | ||
|
||
LICENSE="Apache-2.0" | ||
SLOT="0" | ||
KEYWORDS="~amd64" | ||
IUSE="doc debug examples blocking-stdio-hack +xml +yaml" | ||
|
||
RESTRICT=test # not stable for day-to-day runs | ||
|
||
LLVM_MAX_SLOT=10 | ||
|
||
# dev-libs/boehm-gc[static-libs] dependency problem, check the issue: https://github.com/manastech/crystal/issues/1382 | ||
DEPEND=" | ||
sys-devel/llvm:${LLVM_MAX_SLOT} | ||
dev-libs/boehm-gc[static-libs,threads] | ||
dev-libs/libatomic_ops | ||
dev-libs/libevent | ||
dev-libs/libpcre | ||
sys-libs/libunwind | ||
dev-libs/pcl | ||
dev-libs/gmp:0 | ||
" | ||
RDEPEND="${DEPEND} | ||
xml? ( dev-libs/libxml2 ) | ||
yaml? ( dev-libs/libyaml ) | ||
" | ||
|
||
PATCHES=( | ||
"${FILESDIR}"/${PN}-0.31.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-max-age-0-test.patch | ||
"${FILESDIR}"/${PN}-0.27.0-gentoo-tests-long-unix.patch | ||
"${FILESDIR}"/${PN}-0.27.0-gentoo-tests-long-unix-2.patch | ||
) | ||
|
||
src_prepare() { | ||
default | ||
|
||
use blocking-stdio-hack && eapply "${FILESDIR}"/"${PN}"-0.22.0-blocking-stdio-hack.patch | ||
} | ||
|
||
src_compile() { | ||
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 | ||
emake \ | ||
$(usex debug "" release=1) \ | ||
progress=true \ | ||
stats=1 \ | ||
threads=$(makeopts_jobs) \ | ||
verbose=1 \ | ||
\ | ||
CC=$(tc-getCC) \ | ||
CXX=$(tc-getCXX) \ | ||
AR=$(tc-getAR) \ | ||
\ | ||
PATH="${bootstrap_path}:${PATH}" \ | ||
CRYSTAL_PATH=src \ | ||
CRYSTAL_CONFIG_VERSION=${PV} \ | ||
CRYSTAL_CONFIG_PATH="lib:${EPREFIX}/usr/$(get_libdir)/crystal" | ||
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 spec \ | ||
$(usex debug "" release=1) \ | ||
progress=true \ | ||
stats=1 \ | ||
threads=$(makeopts_jobs) \ | ||
verbose=1 \ | ||
\ | ||
CC=$(tc-getCC) \ | ||
CXX=$(tc-getCXX) \ | ||
AR=$(tc-getAR) \ | ||
\ | ||
CRYSTAL_PATH=src \ | ||
CRYSTAL_CONFIG_VERSION=${PV} \ | ||
\ | ||
"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 | ||
|
||
use examples && dodoc -r samples | ||
|
||
if use doc ; then | ||
docinto api | ||
dodoc -r docs/. | ||
fi | ||
|
||
newbashcomp etc/completion.bash ${PN} | ||
} |