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 BE200139085 for ; Sat, 28 Jan 2017 13:37:10 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 0155FE0CA4; Sat, 28 Jan 2017 13:37:10 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id B8CA9E0CA4 for ; Sat, 28 Jan 2017 13:37:09 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 5EF353412CB for ; Sat, 28 Jan 2017 13:37:08 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id C5AFC3848 for ; Sat, 28 Jan 2017 13:37:06 +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: <1485610619.46ea9d6b8f435e53e09a1381ccc83c4afd904b75.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.20.5-r2.ebuild dev-lang/crystal/files/crystal-0.20.5-LDFLAGS.patch dev-lang/crystal/metadata.xml X-VCS-Directories: dev-lang/crystal/files/ dev-lang/crystal/ X-VCS-Committer: slyfox X-VCS-Committer-Name: Sergei Trofimovich X-VCS-Revision: 46ea9d6b8f435e53e09a1381ccc83c4afd904b75 X-VCS-Branch: master Date: Sat, 28 Jan 2017 13:37:06 +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-Archives-Salt: b525f6ae-eef0-4822-b56b-a949a8980998 X-Archives-Hash: 4341d0280b9ea68ae9adfbf1e2f68aee commit: 46ea9d6b8f435e53e09a1381ccc83c4afd904b75 Author: Sergei Trofimovich gentoo org> AuthorDate: Sat Jan 28 13:36:49 2017 +0000 Commit: Sergei Trofimovich gentoo 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. + + Build each module as a separate object file. Speeds build up. + Use the dev-libs/libyaml library to enable Crystal yaml module