summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Trofimovich <slyfox@gentoo.org>2017-01-28 12:26:38 +0000
committerSergei Trofimovich <slyfox@gentoo.org>2017-01-28 12:48:22 +0000
commitef80935bdf6325a68ed25e5a94ae602227402cd2 (patch)
tree9e2660319bde9eea80276a0ad9ca3bc404736088 /dev-lang/crystal
parentprofiles: mask USE=valgrind on arm64, not tested yet (diff)
downloadgentoo-ef80935bdf6325a68ed25e5a94ae602227402cd2.tar.gz
gentoo-ef80935bdf6325a68ed25e5a94ae602227402cd2.tar.bz2
gentoo-ef80935bdf6325a68ed25e5a94ae602227402cd2.zip
dev-lang/crystal: respect CC/CXX/AR/MAKEOPTS, bug #607468
While at it enabled a few verbosity flags to make build slightly more chatty. Reported-by: Michał Górny Bug: https://bugs.gentoo.org/607468 Package-Manager: Portage-2.3.3, Repoman-2.3.1
Diffstat (limited to 'dev-lang/crystal')
-rw-r--r--dev-lang/crystal/crystal-0.20.5-r1.ebuild85
-rw-r--r--dev-lang/crystal/files/crystal-0.20.5-AR.patch9
-rw-r--r--dev-lang/crystal/files/crystal-0.20.5-verbose.patch9
3 files changed, 103 insertions, 0 deletions
diff --git a/dev-lang/crystal/crystal-0.20.5-r1.ebuild b/dev-lang/crystal/crystal-0.20.5-r1.ebuild
new file mode 100644
index 00000000000..347af382f33
--- /dev/null
+++ b/dev-lang/crystal/crystal-0.20.5-r1.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit multiprocessing toolchain-funcs
+
+BV=0.20.4-1
+BV_AMD64=${BV}-linux-x86_64
+BV_X86=${BV}-linux-i686
+
+DESCRIPTION="The Crystal Programming Language"
+HOMEPAGE="http://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/${PV}/crystal-${BV_AMD64}.tar.gz )
+ x86? ( https://github.com/crystal-lang/crystal/releases/download/${PV}/crystal-${BV_X86}.tar.gz )"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc examples +xml +yaml"
+
+# dev-libs/boehm-gc[static-libs] dependency problem, check the issue: https://github.com/manastech/crystal/issues/1382
+DEPEND="
+ >=sys-devel/llvm-3.9.0
+ 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}"/${P}-AR.patch
+ "${FILESDIR}"/${P}-verbose.patch
+)
+
+src_compile() {
+ emake \
+ release=1 \
+ stats=1 \
+ threads=$(makeopts_jobs) \
+ verbose=1 \
+ \
+ CC=$(tc-getCC) \
+ CXX=$(tc-getCXX) \
+ AR=$(tc-getAR) \
+ \
+ PATH="${WORKDIR}"/${PN}-${BV}/bin:"${PATH}" \
+ CRYSTAL_PATH=src \
+ CRYSTAL_CONFIG_VERSION=${PV} \
+ CRYSTAL_CONFIG_PATH="lib:${EPREFIX}/usr/$(get_libdir)/crystal"
+ use doc && emake doc
+}
+
+src_test() {
+ emake spec \
+ verbose=1 \
+ \
+ CRYSTAL_PATH=src \
+ CRYSTAL_CONFIG_VERSION=${PV}
+}
+
+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 doc/.
+ fi
+}
diff --git a/dev-lang/crystal/files/crystal-0.20.5-AR.patch b/dev-lang/crystal/files/crystal-0.20.5-AR.patch
new file mode 100644
index 00000000000..950bc23a157
--- /dev/null
+++ b/dev-lang/crystal/files/crystal-0.20.5-AR.patch
@@ -0,0 +1,9 @@
+diff --git a/Makefile b/Makefile
+index dc675a0..1f53d40 100644
+--- a/Makefile
++++ b/Makefile
+@@ -118,3 +118,3 @@ $(LLVM_EXT_OBJ): $(LLVM_EXT_DIR)/llvm_ext.cc
+ $(LIB_CRYSTAL_TARGET): $(LIB_CRYSTAL_OBJS)
+- ar -rcs $@ $^
++ $(AR) -rcs $@ $^
+
diff --git a/dev-lang/crystal/files/crystal-0.20.5-verbose.patch b/dev-lang/crystal/files/crystal-0.20.5-verbose.patch
new file mode 100644
index 00000000000..6a0a301b5c0
--- /dev/null
+++ b/dev-lang/crystal/files/crystal-0.20.5-verbose.patch
@@ -0,0 +1,9 @@
+diff --git a/Makefile b/Makefile
+index 1f53d40..fa71479 100644
+--- a/Makefile
++++ b/Makefile
+@@ -24,3 +24,3 @@ SOURCES := $(shell find src -name '*.cr')
+ SPEC_SOURCES := $(shell find spec -name '*.cr')
+-FLAGS := $(if $(release),--release )$(if $(stats),--stats )$(if $(threads),--threads $(threads) )$(if $(debug),-d )
++FLAGS := $(if $(release),--release )$(if $(stats),--stats )$(if $(threads),--threads $(threads) )$(if $(debug),-d )$(if $(verbose),--verbose )
+ VERBOSE := $(if $(verbose),-v )