dev-lang/crystal: bump up to 0.32.1
authorSergei Trofimovich <slyfox@gentoo.org>
Thu, 19 Dec 2019 00:12:40 +0000 (00:12 +0000)
committerSergei Trofimovich <slyfox@gentoo.org>
Thu, 19 Dec 2019 00:15:09 +0000 (00:15 +0000)
Package-Manager: Portage-2.3.82, Repoman-2.3.20
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
dev-lang/crystal/Manifest
dev-lang/crystal/crystal-0.32.1.ebuild [new file with mode: 0644]

index 872a8f1d71b7dbe08c0a8e4a88e5eca9c0e629f1..327a190d7cc9854b89d091d25979d900811fd045 100644 (file)
@@ -7,3 +7,6 @@ DIST crystal-0.31.1.tar.gz 2191156 BLAKE2B 072e14fed34cc411cd6d9a57b8c5184e59742
 DIST crystal-0.32.0-1-linux-i686.tar.gz 30066630 BLAKE2B 06054c08c3d06a5d76b707d825e8a95b879f7426660ed1bf340737cf3b5a1a7d7e50107dd3030057dcc08eed0bcadc391d55f23dc53f3fdca69a60dee07e29d7 SHA512 e9a089c0cb30977902ecb729bf90cfe132708058d46c01446b4ebb8af9f8d19a66169717f9e7dd87fcbf3ab4328a9e539dbff93dbca60050ddce0a7d7a708628
 DIST crystal-0.32.0-1-linux-x86_64.tar.gz 27352543 BLAKE2B b181c29b2ed70517b0ef0a3f9533b67bc20354fe8e98e075eb42ea6ba5ac94485718b65c2fe720953983d868410aea1f879c6242ac58b2f0931dc987203d05b5 SHA512 1ba010f25ea88888b5145f39a63bdc5cc3977577742961e540ffba2ee113754cbf1d2c504c7b4f7a2af82ae3cd8c0053b740a5f379efffb154a96fc8d9edd5cf
 DIST crystal-0.32.0.tar.gz 2223709 BLAKE2B fafca329085efba8e9f3164ea3250cbe0fc067177f6c842a30ae040385353cbb28cff8a642eb0a28ed65fb4c53efa7e03994654983108568ad94cda8370b9b7e SHA512 e4c386e95ca4c93870807221cb741ae41bf2f96dbc91f3799c02c1f99c17568804a62fb7c8ddfd297b5ab2805939323dfc00a71584af534c8a8dcd54dbd7510c
+DIST crystal-0.32.1-1-linux-i686.tar.gz 30062609 BLAKE2B 658cd453465a1c4de44c0b010593aa19a68b93569482202baba948dc58f018d38cbefda083592145a141e7dfc574eddb7ccf0a41613a7a7d5ea8d12ed8f72d08 SHA512 34127ad25a1e290b8f17fa7de9465083955ae16a049bab8a927f90df4f2c87c7a59e2c8123f7ec0d0de691130e51749b104ccf11ea68005c267ab98c322156f3
+DIST crystal-0.32.1-1-linux-x86_64.tar.gz 27348617 BLAKE2B 96410f00843d21cea4ed6f8d4896438334f577b6e593e72a0be23d3e1a460199bffc456ddb675a257c5a973353c1a8d28f69263b8517e0009e54d2f2f19535fe SHA512 85524c38cd91fbe56ab7d14c3a05a1a3f3e3fc0f618e5fa5af010716f76b1dc0cc415cbc67e16c99fd2e8860412d7e2566f510c751de0ad4373361edbcee0475
+DIST crystal-0.32.1.tar.gz 2225383 BLAKE2B 81cdda508945ebea481c3ad784ecdccffe25e4726d2f63feb1a4995b48041fbf2cbe226bebcbf9f9627d2161d167ccb502626a9d51f787dc8e48fd607f310ff8 SHA512 d83575f4c7953054824f13516cdc04bd7576bf7165754d96a9f4970e2a6cbf779b4db6806d3eeac465ed0c223c203ef95fc3bda70d1ef9f7c96ec96cd076283d
diff --git a/dev-lang/crystal/crystal-0.32.1.ebuild b/dev-lang/crystal/crystal-0.32.1.ebuild
new file mode 100644 (file)
index 0000000..bc3abe9
--- /dev/null
@@ -0,0 +1,121 @@
+# Copyright 1999-2019 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=9
+
+# 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
+       "${FILESDIR}"/${PN}-0.29.0-no-usr-lib.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}
+}