summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Trofimovich <slyfox@gentoo.org>2020-06-19 21:43:50 +0100
committerSergei Trofimovich <slyfox@gentoo.org>2020-06-19 21:52:44 +0100
commit8be5d8d90c00c2ff6715a297a702eda9dbbba092 (patch)
tree3d1cb856cd8cd42b6150733b9d4b659ff294dbdd /dev-lang/crystal
parentdev-util/diffoscope: bump up to 148 (diff)
downloadgentoo-8be5d8d90c00c2ff6715a297a702eda9dbbba092.tar.gz
gentoo-8be5d8d90c00c2ff6715a297a702eda9dbbba092.tar.bz2
gentoo-8be5d8d90c00c2ff6715a297a702eda9dbbba092.zip
dev-lang/crystal: bump up to 0.35.1
Package-Manager: Portage-2.3.101, Repoman-2.3.22 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Diffstat (limited to 'dev-lang/crystal')
-rw-r--r--dev-lang/crystal/Manifest3
-rw-r--r--dev-lang/crystal/crystal-0.35.1.ebuild121
2 files changed, 124 insertions, 0 deletions
diff --git a/dev-lang/crystal/Manifest b/dev-lang/crystal/Manifest
index 477909a829f8..e47cca201383 100644
--- a/dev-lang/crystal/Manifest
+++ b/dev-lang/crystal/Manifest
@@ -4,3 +4,6 @@ DIST crystal-0.34.0.tar.gz 2270363 BLAKE2B bef2f09ef45ed9c7c9ffc5bcc9e8d6516c799
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
+DIST crystal-0.35.1-1-linux-i686.tar.gz 28330633 BLAKE2B 1f393ad53f2643b4514de54192047f549cffa22b14afbf25d9de00bf815378ec65a5049a9eee28753dc13bc9fea40447be109f21b55518a6ed8f06353a0b26e6 SHA512 333c2cdbd40ef65de52c1056e6089628ed83daf1a1e9d5243e876b622545d767077b485003ae7efaedeb7807c03c40e6f356cbdcce4dab2319c1686da120dac0
+DIST crystal-0.35.1-1-linux-x86_64.tar.gz 26653426 BLAKE2B a4ab58e784af3cd0298057a35079dfb48c9ca8d56388394377b86d7475d143a07cc3a800cdee3c9af3054d249ac9b87808d86b25747fc8f9322d01f25a3e3dec SHA512 1cceea5742651e2708e19ea49a7a884500d21beec3eaed75fc9e4b82e7dabaa521143b6c576ec48d2f5e27951163fd8c2ae417f46a1847c68f6e91c9b2a9a72a
+DIST crystal-0.35.1.tar.gz 2349984 BLAKE2B bf9078c949499e3f8469a055908c23335b04f2a58ab323345bdcdf1de70d00cdfe3aae7baf93e5098e21852c59d1cd8a0fb4faa91c9877d7ef2347a5faeaa69c SHA512 0381568330802de5838f8e66600567817b60ba0087bb3cc2b5df2944c5c42779039b606c81e0207bef34082bf25331b590a8140830f65ba4106ae465f717000b
diff --git a/dev-lang/crystal/crystal-0.35.1.ebuild b/dev-lang/crystal/crystal-0.35.1.ebuild
new file mode 100644
index 000000000000..b5aa87303660
--- /dev/null
+++ b/dev-lang/crystal/crystal-0.35.1.ebuild
@@ -0,0 +1,121 @@
+# 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
+
+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}
+}