summaryrefslogtreecommitdiff
path: root/dev-lang
diff options
context:
space:
mode:
authorSergei Trofimovich <slyfox@gentoo.org>2019-04-26 17:20:35 +0100
committerSergei Trofimovich <slyfox@gentoo.org>2019-04-26 17:20:35 +0100
commite08afcbcd1d6d0a39c07e4757af29d3f2dd3f739 (patch)
treed8c50c87badd60aae76125a3b74a71e7b128181c /dev-lang
parentdcda1cf6c7e6970e05402c47f49f8f2670edb4d9 (diff)
downloadgentoo-e08afcbcd1d6d0a39c07e4757af29d3f2dd3f739.tar.gz
gentoo-e08afcbcd1d6d0a39c07e4757af29d3f2dd3f739.tar.xz
dev-lang/crystal: bump up to 0.28.0
Package-Manager: Portage-2.3.62, Repoman-2.3.12 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/crystal/Manifest3
-rw-r--r--dev-lang/crystal/crystal-0.28.0.ebuild123
2 files changed, 126 insertions, 0 deletions
diff --git a/dev-lang/crystal/Manifest b/dev-lang/crystal/Manifest
index 7507b3c1253..92669e2c36c 100644
--- a/dev-lang/crystal/Manifest
+++ b/dev-lang/crystal/Manifest
@@ -15,3 +15,6 @@ DIST crystal-0.27.0-1-linux-x86_64.tar.gz 37933811 BLAKE2B 76bb57b556f14ae8ce219
DIST crystal-0.27.0.tar.gz 2025777 BLAKE2B 0a5cc02a516586b033c65efd8e28a13ac0ed67fddbd1a1f0a88a484dff825bec8f6b03b16938c750e99e0c7c1c12a3fd3fc87e61d038b25b7707e0e7f2913fae SHA512 02b0e1d43d699d1dd91f4b979c8ab8909264e5f1fcc344f6110bebb808c0ee764a943368cce9d33a258adb9631ed4f445e1f771d5a9e50fcd337fc8b319616cf
DIST crystal-0.27.1.tar.gz 2061304 BLAKE2B 1776525925a25f72cf83f1a6076ab8b2bf1602c9d8c6a1fff8869c200faa35de008655f046ff60fb3733c8c3577f3544184080ee39acedfde006b9fd63d6c844 SHA512 8c6dd9489aff5d4b3e119ef6f531a3248c20f3da97c44dd3febe551adc67f5d87aa4f7679cbcc0dcde0374f3f5a3c523da6dff32a7ac95a9db1406102e980822
DIST crystal-0.27.2.tar.gz 2061466 BLAKE2B 49f4d2c33412589e7ea131460508a8716d10285d6e248d4e6f9287acc559a864737af2317f2a50332b68704d9d0bf6d3e4d13ad5e5a66e433dbbdd1bc8e523bc SHA512 dcb5948f373d4a7b17e6bdd45697a43e86ec7eb38bdafaade982df9adacbc5a24f2b08f327e41b853bb8f6ec8272411d14defee4e510c430c5dd1370afca42ae
+DIST crystal-0.28.0-1-linux-i686.tar.gz 31888259 BLAKE2B a2f72a5e05abbcc7f4a6003f22ad059e07de59660f114d8e5d0fa225ac51d2465174c41cc81dd7c561f52832ffd9203a0a1cf5606e8633e36fcecd3899463775 SHA512 bc0fcb199abacc068e907f0e8fc8feeecfda4e5312201b4a6af96e76730df3130f6d9f40141c3182c9e99c0600455124cb33ef60194fb4e47ea3826d7090e755
+DIST crystal-0.28.0-1-linux-x86_64.tar.gz 30088308 BLAKE2B e12b0cc9aa5ef354e0f06423a8d3be54ba42eee358cdfd7c6632d5ea08c2ed7e441eb4e162224cf8780bd3ba33e02916f1a7d061a48577d8a4d0eed4578723b3 SHA512 13b7b889ee6d17b905375883baa883fc4d631f6a22c2399aafba1020142e96072670f46584264445b531ece87c6f4b3e89367c62b0c2587c119dd6242ec06762
+DIST crystal-0.28.0.tar.gz 2108702 BLAKE2B 75b743c65ae2063ecbcff7514a3fac53ecc0e25866dd91a34368bdb1bf2a72e9b8e9b6c8325f1b0589693efa78c93bd246f1e764569307519375f7d7429bea55 SHA512 ea0d0938fa90db1b8e395e1daf777c36be5366046c1df7764409e14cf490b4e5f502c62a567e1cf1375684fac58afb71ccc39a5d5974eb29ef9bb5be59fa0a10
diff --git a/dev-lang/crystal/crystal-0.28.0.ebuild b/dev-lang/crystal/crystal-0.28.0.ebuild
new file mode 100644
index 00000000000..fa78117f9c5
--- /dev/null
+++ b/dev-lang/crystal/crystal-0.28.0.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit bash-completion-r1 llvm multiprocessing toolchain-funcs
+
+BV=0.28.0-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
+
+# Not compatible with llvm-7
+LLVM_MAX_SLOT=6
+
+# 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.27.1-verbose.patch
+ "${FILESDIR}"/${PN}-0.26.1-gentoo-tests-sandbox.patch
+ "${FILESDIR}"/${PN}-0.26.1-gentoo-tests-network-sandbox-3.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
+ "${FILESDIR}"/${PN}-0.27.0-tcp-server-test.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
+
+ 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}
+}