summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorloong0 <longlene@gmail.com>2015-09-18 14:24:27 +0800
committerIan Delaney <idella4@gentoo.org>2015-10-09 15:37:25 +0800
commitcd98a9d49dc805a24fc95c86451b70d3fd48b0e7 (patch)
treec2e3dc508c1202fec4d8e599c6b875934ce7400e /dev-lang
parentdev-java/bcprov: Stable for amd64+ppc+ppc64+x86. (diff)
downloadgentoo-cd98a9d49dc805a24fc95c86451b70d3fd48b0e7.tar.gz
gentoo-cd98a9d49dc805a24fc95c86451b70d3fd48b0e7.tar.bz2
gentoo-cd98a9d49dc805a24fc95c86451b70d3fd48b0e7.zip
dev-lang/crystal: Introduce new package
The Crystal Programming Language
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/crystal/Manifest6
-rw-r--r--dev-lang/crystal/crystal-0.7.7.ebuild70
-rw-r--r--dev-lang/crystal/crystal-0.8.0.ebuild70
-rw-r--r--dev-lang/crystal/metadata.xml24
4 files changed, 170 insertions, 0 deletions
diff --git a/dev-lang/crystal/Manifest b/dev-lang/crystal/Manifest
new file mode 100644
index 000000000000..5aa669aa969b
--- /dev/null
+++ b/dev-lang/crystal/Manifest
@@ -0,0 +1,6 @@
+DIST crystal-0.7.7-1-linux-i686.tar.gz 11289486 SHA256 7a1ccdce29c1437da1cbaafa3fefd5ebc3c4b84b885964a6d4eaf8bfc5922831
+DIST crystal-0.7.7-1-linux-x86_64.tar.gz 10907197 SHA256 433acbe8e88fe0c3df67ad64bd436349a6bcfc146284f0a690283ebefb93b5e6
+DIST crystal-0.7.7.tar.gz 709692 SHA256 5506f69ed59592666aa667a33ba90b07f1de2cc1ebeee25e771715f8521065f8
+DIST crystal-0.8.0-1-linux-i686.tar.gz 11465702 SHA256 47b96c790458daa4179a777ba9356959e597f38cfda535a3f9069d46b362579d
+DIST crystal-0.8.0-1-linux-x86_64.tar.gz 11004413 SHA256 6a0414b903cd99bfed8ebe2a447dc0c85f4fbc31e493064e44d37770e95a4b0e
+DIST crystal-0.8.0.tar.gz 731304 SHA256 986a000bb2eded22e446fd55c543062770ec4000e28791f0b07f63fcee37b245
diff --git a/dev-lang/crystal/crystal-0.7.7.ebuild b/dev-lang/crystal/crystal-0.7.7.ebuild
new file mode 100644
index 000000000000..b5f4005864ac
--- /dev/null
+++ b/dev-lang/crystal/crystal-0.7.7.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit multilib
+
+BV=${PV}-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/manastech/crystal/archive/${PV}.tar.gz -> ${P}.tar.gz
+ amd64? ( https://github.com/manastech/crystal/releases/download/${PV}/crystal-${BV_AMD64}.tar.gz )
+ x86? ( https://github.com/manastech/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.7.0
+ dev-libs/boehm-gc[static-libs]
+ 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 )
+"
+
+src_compile() {
+ emake \
+ release=1 \
+ PATH="${PATH}":"${WORKDIR}"/${PN}-${BV}/bin \
+ CRYSTAL_PATH=src \
+ CRYSTAL_CONFIG_VERSION=${PV} \
+ CRYSTAL_CONFIG_PATH="libs:/usr/$(get_libdir)/crystal"
+ use doc && emake doc
+}
+
+src_test() {
+ emake spec \
+ 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/crystal-0.8.0.ebuild b/dev-lang/crystal/crystal-0.8.0.ebuild
new file mode 100644
index 000000000000..b5f4005864ac
--- /dev/null
+++ b/dev-lang/crystal/crystal-0.8.0.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit multilib
+
+BV=${PV}-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/manastech/crystal/archive/${PV}.tar.gz -> ${P}.tar.gz
+ amd64? ( https://github.com/manastech/crystal/releases/download/${PV}/crystal-${BV_AMD64}.tar.gz )
+ x86? ( https://github.com/manastech/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.7.0
+ dev-libs/boehm-gc[static-libs]
+ 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 )
+"
+
+src_compile() {
+ emake \
+ release=1 \
+ PATH="${PATH}":"${WORKDIR}"/${PN}-${BV}/bin \
+ CRYSTAL_PATH=src \
+ CRYSTAL_CONFIG_VERSION=${PV} \
+ CRYSTAL_CONFIG_PATH="libs:/usr/$(get_libdir)/crystal"
+ use doc && emake doc
+}
+
+src_test() {
+ emake spec \
+ 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/metadata.xml b/dev-lang/crystal/metadata.xml
new file mode 100644
index 000000000000..95201e80f433
--- /dev/null
+++ b/dev-lang/crystal/metadata.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>longlene@gmail.com</email>
+ <name>Lixiao Chen</name>
+ </maintainer>
+ <longdescription lang="en">
+ Crystal is a programming language that resembles Ruby but compiles to
+ native code and tries to be much more efficient, at the cost of
+ disallowing certain dynamic aspects of Ruby.
+ </longdescription>
+ <use>
+ <flag name="yaml">
+ Use the <pkg>dev-libs/libyaml</pkg> library to enable Crystal yaml
+ module
+ </flag>
+ <flag name="xml">
+ Use the <pkg>dev-libs/libxml2</pkg> library to enable Crystal xml
+ module
+ </flag>
+ </use>
+</pkgmetadata>