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/, dev-lang/crystal/files/
Date: Sat, 28 Jan 2017 13:37:06 +0000 (UTC)	[thread overview]
Message-ID: <1485610619.46ea9d6b8f435e53e09a1381ccc83c4afd904b75.slyfox@gentoo> (raw)

commit:     46ea9d6b8f435e53e09a1381ccc83c4afd904b75
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 28 13:36:49 2017 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Sat Jan 28 13:36:59 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=46ea9d6b

dev-lang/crystal: respect LDFLAGS, new USE=debug for quick builds

Package-Manager: Portage-2.3.3, Repoman-2.3.1

 dev-lang/crystal/crystal-0.20.5-r2.ebuild          | 93 ++++++++++++++++++++++
 .../crystal/files/crystal-0.20.5-LDFLAGS.patch     |  9 +++
 dev-lang/crystal/metadata.xml                      |  3 +
 3 files changed, 105 insertions(+)

diff --git a/dev-lang/crystal/crystal-0.20.5-r2.ebuild b/dev-lang/crystal/crystal-0.20.5-r2.ebuild
new file mode 100644
index 00000000..d550e2a
--- /dev/null
+++ b/dev-lang/crystal/crystal-0.20.5-r2.ebuild
@@ -0,0 +1,93 @@
+# 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 debug 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
+	"${FILESDIR}"/${P}-LDFLAGS.patch
+)
+
+src_compile() {
+	emake \
+		$(usex debug "" 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 \
+		$(usex debug "" release=1) \
+		stats=1 \
+		threads=$(makeopts_jobs) \
+		verbose=1 \
+		\
+		CC=$(tc-getCC) \
+		CXX=$(tc-getCXX) \
+		AR=$(tc-getAR) \
+		\
+		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-LDFLAGS.patch b/dev-lang/crystal/files/crystal-0.20.5-LDFLAGS.patch
new file mode 100644
index 00000000..42970a8
--- /dev/null
+++ b/dev-lang/crystal/files/crystal-0.20.5-LDFLAGS.patch
@@ -0,0 +1,9 @@
+diff --git a/Makefile b/Makefile
+index fa71479..d316bbc 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 )$(if $(verbose),--verbose )
++FLAGS := $(if $(release),--release )$(if $(stats),--stats )$(if $(threads),--threads $(threads) )$(if $(debug),-d )$(if $(verbose),--verbose )$(if $(LDFLAGS),--link-flags="$(LDFLAGS)" )
+ VERBOSE := $(if $(verbose),-v )

diff --git a/dev-lang/crystal/metadata.xml b/dev-lang/crystal/metadata.xml
index e8be383..80b55be 100644
--- a/dev-lang/crystal/metadata.xml
+++ b/dev-lang/crystal/metadata.xml
@@ -19,6 +19,9 @@
 		disallowing certain dynamic aspects of Ruby.
 	</longdescription>
 	<use>
+		<flag name="debug">
+			Build each module as a separate object file. Speeds build up.
+		</flag>
 		<flag name="yaml">
 			Use the <pkg>dev-libs/libyaml</pkg> library to enable Crystal yaml
 			module


             reply	other threads:[~2017-01-28 13:37 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-28 13:37 Sergei Trofimovich [this message]
  -- strict thread matches above, loose matches on Subject: below --
2019-09-24 19:17 [gentoo-commits] repo/gentoo:master commit in: dev-lang/crystal/, dev-lang/crystal/files/ Sergei Trofimovich
2019-06-14 18:32 Sergei Trofimovich
2018-11-10 11:36 Sergei Trofimovich
2018-06-11 13:24 Sergei Trofimovich
2018-03-15 23:33 Sergei Trofimovich
2017-12-21 10:27 Sergei Trofimovich
2017-04-22 10:24 Sergei Trofimovich
2017-01-28 12:48 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=1485610619.46ea9d6b8f435e53e09a1381ccc83c4afd904b75.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