public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Sergei Trofimovich" <slyfox@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-lang/crystal/files/, dev-lang/crystal/
Date: Tue,  7 Apr 2020 21:47:24 +0000 (UTC)	[thread overview]
Message-ID: <1586296040.e638e3d755bdd6c83363824ee282295cf28cb644.slyfox@gentoo> (raw)

commit:     e638e3d755bdd6c83363824ee282295cf28cb644
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Tue Apr  7 21:46:43 2020 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Tue Apr  7 21:47:20 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e638e3d7

dev-lang/crystal: bump up to 0.34.0

Package-Manager: Portage-2.3.96, Repoman-2.3.22
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>

 dev-lang/crystal/Manifest                          |   3 +
 dev-lang/crystal/crystal-0.34.0.ebuild             | 121 +++++++++++++++++++++
 .../crystal/files/crystal-0.34.0-no-usr-lib.patch  |  14 +++
 3 files changed, 138 insertions(+)

diff --git a/dev-lang/crystal/Manifest b/dev-lang/crystal/Manifest
index f2003bb9de6..d0d69e11e9a 100644
--- a/dev-lang/crystal/Manifest
+++ b/dev-lang/crystal/Manifest
@@ -4,3 +4,6 @@ DIST crystal-0.32.1.tar.gz 2225383 BLAKE2B 81cdda508945ebea481c3ad784ecdccffe25e
 DIST crystal-0.33.0-1-linux-i686.tar.gz 29627750 BLAKE2B 284c300eb57e9192c367b1692c95a8da584820ecd068515cf59174106bdcd4341033e68ecdcc64a263dcf1c69ca58f9403e9b4b8e166c86b1b6747e4e0d2ea92 SHA512 8ff065555e5782a84575ddc8210f92bc6d5702692e2674be4fcef470dfeff3ec325954eb665b222cb3f332e335cae4ae49cc06ffe4ce939519d0947225b452b4
 DIST crystal-0.33.0-1-linux-x86_64.tar.gz 27553242 BLAKE2B c24ab3e1577c33de9e9de2fa03f0fe831821b70b72ee9fb421eab9aed8b0ba357547160be9fff20c30b2d52e6c6d75bbde19dc322638c5c3f33ba2aa14dbf4c4 SHA512 7c815335ff882effd9dfc22cbeec6cee6e014805bf048bedf4476b1ecdf3a87bd8d53543c78be3493f937659a88041cd5370814eba043c81f23e7ef707ccd834
 DIST crystal-0.33.0.tar.gz 2242162 BLAKE2B 0d9dbdd230bb190209772fafaeb1d59008cbe90b0bd33f851886bf90e7ac497c0bcef7609d6295dd4a4bad213fb687dea3d16c42ebe3bc92b3e06df156c53570 SHA512 41f518ec5c8f2f2cffb84105e0cc5096d4ba7ef64887ad0089aa37109fa5fa8e28747fe4f4ca8a74012e7b77d8c7a9d72cd9da787a330a4a62b5e55b40f0e57b
+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

diff --git a/dev-lang/crystal/crystal-0.34.0.ebuild b/dev-lang/crystal/crystal-0.34.0.ebuild
new file mode 100644
index 00000000000..65305e025a7
--- /dev/null
+++ b/dev-lang/crystal/crystal-0.34.0.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
+
+# 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.34.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}
+}

diff --git a/dev-lang/crystal/files/crystal-0.34.0-no-usr-lib.patch b/dev-lang/crystal/files/crystal-0.34.0-no-usr-lib.patch
new file mode 100644
index 00000000000..4dc0b42d90a
--- /dev/null
+++ b/dev-lang/crystal/files/crystal-0.34.0-no-usr-lib.patch
@@ -0,0 +1,14 @@
+On amd64 linux /usr/lib does not match default 64-bit ABI.
+
+Let's rely on default compiler and linker paths instead.
+--- a/src/compiler/crystal/codegen/link.cr
++++ b/src/compiler/crystal/codegen/link.cr
+@@ -106,7 +106,7 @@ module Crystal
+ 
+     private def lib_flags_posix
+       library_path = ENV["LIBRARY_PATH"]?.try(&.split(':', remove_empty: true)) ||
+-                     ["/usr/lib", "/usr/local/lib"]
++                     [] of String
+       has_pkg_config = nil
+ 
+       String.build do |flags|


             reply	other threads:[~2020-04-07 21:47 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-07 21:47 Sergei Trofimovich [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-01-30 17:44 [gentoo-commits] repo/gentoo:master commit in: dev-lang/crystal/files/, dev-lang/crystal/ Maciej Barć
2023-02-12  0:48 Maciej Barć
2022-09-09  9:24 Sam James
2022-04-24 14:41 Michał Górny
2021-07-15  9:28 Sergei Trofimovich
2019-01-31  7:21 Sergei Trofimovich
2018-12-23 14:23 Sergei Trofimovich
2018-12-23 13:26 Sergei Trofimovich
2018-09-02 10:53 Sergei Trofimovich
2018-08-09 22:34 Sergei Trofimovich
2017-12-21 10:13 Sergei Trofimovich
2017-12-11 20:03 Michał Górny
2017-11-25 19:58 Sergei Trofimovich
2017-09-16 10:54 Sergei Trofimovich
2017-06-30  7:08 Sergei Trofimovich
2017-04-23 21:39 Sergei Trofimovich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1586296040.e638e3d755bdd6c83363824ee282295cf28cb644.slyfox@gentoo \
    --to=slyfox@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox