dev-lang/crystal: bump up to 1.0.0

Package-Manager: Portage-3.0.17, Repoman-3.0.2
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
This commit is contained in:
Sergei Trofimovich
2021-03-27 08:05:07 +00:00
parent 0b3e51b091
commit bfacb3784e
2 changed files with 126 additions and 0 deletions

View File

@@ -1,3 +1,6 @@
DIST crystal-0.36.1-1-linux-i686.tar.gz 30873747 BLAKE2B 43cde4b61d2947012e860df02563316a801c0a0762881ad8d7f5fd328da4bf5be6ad5411724dedf9ec2b743bd202ef5341d860cfe209f1973f483ac86e0fd155 SHA512 f291ee3ed387577c173b9ee897fb7d8059f1a7a754ecc5f2c54cbcb34ab324914bc201a12f3a89b53e21d77c30342e9ba69a0ca885f2a8df512844bdc3754de6
DIST crystal-0.36.1-1-linux-x86_64.tar.gz 28360836 BLAKE2B ee9fef20c252ae0efbaafae3426b384318cd141669ce929f723dfa9e6fd9485961c46c948a3aae2fcb2780b92b759fb74e0a4aeec45e198ee9541b0a959072cd SHA512 12389aee0bf863606a620e9e5a1600081aef3be5eef091f592d000f00e9925cbd36cc2e55485c4d295b3a2fcde033425eb2b225a92fd2b49b2e3f18b2b38510f
DIST crystal-0.36.1.tar.gz 2413747 BLAKE2B 19b78217a37394b163859a536fddcd93e201209dae55713743a459414a48eae38458c28fa17e1ac6e8d361ccdc498a23026ee83c7c2a744f9d51c55bd6e5f0d8 SHA512 86ce295aed0cb601820c727615fffe6816bee0e98e5d91c912f43354448d59f449a6ffb895f5914b3e6564f72f35a50880cec4513826068a2e3e470b4f06048b
DIST crystal-1.0.0-1-linux-i686.tar.gz 30753871 BLAKE2B 247d8327c001ef8e847d981ab771964faa90b5acb1dc1336288b4c401cd039bb259e22945aabae73b6e23cf6babec288a25e4490a860e9a6c5cc8076afb2e7d3 SHA512 36f48fbc44f254588b449c6c80dd47e8152e1e31785ce0111dcd4da9eed57c12aac7427807f4a60d86a9841726e197a6d08582438bffcc4ed16eaad35e6ea886
DIST crystal-1.0.0-1-linux-x86_64.tar.gz 28189455 BLAKE2B 8313d201e8b8363f3f5025ab2bf2d44a981ca7185686474aa677d38986428b54e9d28fef01e12205ab58db67b516a043582a9965f31972bfa2ece5ff8bd640a0 SHA512 bbfe5010d2e620a58b25a3f7133f0f15c212ed085f020bbb8da39aca882d89c077068343fe182995ec09b436daaf8d252db232bf7fe3af087a5ab0728e0a758f
DIST crystal-1.0.0.tar.gz 2435212 BLAKE2B 3204162abae8ef2e3e7a7a294f001b3906562c17121bb3646c1d1bac0d7b98433c77d9c8101bae9b3041996794784b8fce5dd3dfded33a27c8d229bc3b557c0c SHA512 aa56eb0131aecad15bebc6ef0ce2f34f0992a8362441dd662a518ddbc5e3818762c1c7228bc5b06aafdb8815e59d791654add9da8ba9a47a6a4fd34f6b039a8b

View File

@@ -0,0 +1,123 @@
# Copyright 1999-2021 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=11
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) \
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"
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) \
LLVM_CONFIG="$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" \
\
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}
}