From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 59E5F138334 for ; Fri, 14 Jun 2019 18:32:19 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 5B04FE0848; Fri, 14 Jun 2019 18:32:18 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 2EB13E0848 for ; Fri, 14 Jun 2019 18:32:17 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 7098E3460FF for ; Fri, 14 Jun 2019 18:32:16 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 614265E6 for ; Fri, 14 Jun 2019 18:32:12 +0000 (UTC) From: "Sergei Trofimovich" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Sergei Trofimovich" Message-ID: <1560537123.97b0a4930485e541668b01a239b4e2c5e63f07fa.slyfox@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: dev-lang/crystal/, dev-lang/crystal/files/ X-VCS-Repository: repo/gentoo X-VCS-Files: dev-lang/crystal/crystal-0.29.0-r1.ebuild dev-lang/crystal/files/crystal-0.29.0-no-usr-lib.patch X-VCS-Directories: dev-lang/crystal/ dev-lang/crystal/files/ X-VCS-Committer: slyfox X-VCS-Committer-Name: Sergei Trofimovich X-VCS-Revision: 97b0a4930485e541668b01a239b4e2c5e63f07fa X-VCS-Branch: master Date: Fri, 14 Jun 2019 18:32:12 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: c368a226-8034-4410-b238-d3b3f2fa3327 X-Archives-Hash: f97f63a1c08baa510520ab3827504e15 commit: 97b0a4930485e541668b01a239b4e2c5e63f07fa Author: Sergei Trofimovich gentoo org> AuthorDate: Fri Jun 14 07:14:46 2019 +0000 Commit: Sergei Trofimovich gentoo org> CommitDate: Fri Jun 14 18:32:03 2019 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=97b0a493 dev-lang/crystal: drop /usr/lib hardcoding Package-Manager: Portage-2.3.67, Repoman-2.3.14 Signed-off-by: Sergei Trofimovich gentoo.org> dev-lang/crystal/crystal-0.29.0-r1.ebuild | 124 +++++++++++++++++++++ .../crystal/files/crystal-0.29.0-no-usr-lib.patch | 14 +++ 2 files changed, 138 insertions(+) diff --git a/dev-lang/crystal/crystal-0.29.0-r1.ebuild b/dev-lang/crystal/crystal-0.29.0-r1.ebuild new file mode 100644 index 00000000000..44419942b72 --- /dev/null +++ b/dev-lang/crystal/crystal-0.29.0-r1.ebuild @@ -0,0 +1,124 @@ +# 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.29.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 or llvm-8 +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 + "${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} +} diff --git a/dev-lang/crystal/files/crystal-0.29.0-no-usr-lib.patch b/dev-lang/crystal/files/crystal-0.29.0-no-usr-lib.patch new file mode 100644 index 00000000000..15f2ac75c09 --- /dev/null +++ b/dev-lang/crystal/files/crystal-0.29.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 +@@ -105,7 +105,7 @@ module Crystal + end + + private def lib_flags_posix +- library_path = ["/usr/lib", "/usr/local/lib"] ++ library_path = [] of String + has_pkg_config = nil + + String.build do |flags|