Skip to content

Commit

Permalink
dev-lang/crystal: bump up to 0.35.0
Browse files Browse the repository at this point in the history
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
Show file tree
Hide file tree
Showing 2 changed files with 125 additions and 0 deletions.
3 changes: 3 additions & 0 deletions dev-lang/crystal/Manifest
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
122 changes: 122 additions & 0 deletions dev-lang/crystal/crystal-0.35.0.ebuild
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}
}

0 comments on commit af583c9

Please sign in to comment.