summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/crystal/Manifest1
-rw-r--r--dev-lang/crystal/crystal-0.23.1.ebuild100
2 files changed, 101 insertions, 0 deletions
diff --git a/dev-lang/crystal/Manifest b/dev-lang/crystal/Manifest
index f1c7ff4d267d..5f9244681b87 100644
--- a/dev-lang/crystal/Manifest
+++ b/dev-lang/crystal/Manifest
@@ -7,3 +7,4 @@ DIST crystal-0.22.0.tar.gz 1597215 SHA256 5b9f11d9710ca9bd971a5afb94d369fd8dfaee
DIST crystal-0.23.0-1-linux-i686.tar.gz 18498501 SHA256 0a758770e6cb277bc5ed38fb6edafbf820b99527b65d6a44fd9f3a4c4743b70f SHA512 8745114c4824d2859c569ed1bd1057d6d649d57b10d41d22c17627f623704eb98ec2e3ab2bf06622de624906f53e053975a6b9d852aeaafeae4f43585609de28 WHIRLPOOL 5601fa0fc8d7e3ce2ecfea534135437645bb982a009e4c00349a7b9eb1fdcf193f648d6decbf90b41732d08fd1eb9ba92f4945de97f4138092cdc1efc80f1b92
DIST crystal-0.23.0-1-linux-x86_64.tar.gz 18729061 SHA256 1d0348e1df3c56f9c29a3a76254c074846389fe5bed659c2cc1051bab83e1a5a SHA512 6a4e427b4ab3c3be6efcfaee5c1a19eff04eaf00db949d1e1ba8f29c3277affe96a7aba4273d93fd05251453d5b5b937aa792bc448ff2f6d6aa7f2b17d175f75 WHIRLPOOL cf9056733e0eea87cf58b7c488c28942a79020a3a5b38ff88eb9f9b04e61678201d647a5821282b4d0c4bb330ca8aced7520c22b19693f5e39533875666fda8e
DIST crystal-0.23.0.tar.gz 1637983 SHA256 9b65904bb55100994a3b8022b9c553e5aa78979f459c8b10aa64053a65e5d517 SHA512 41ae9391d9183f8bdbffc02350d3aadc22c9c76a4476d55a4f8ec4c4acee80495601077a49e4f6135a80a937767fe39a28044fb6b5c070b05d2ee562fab65bfd WHIRLPOOL fe06c040268a89b1c0cf22fb46e6a938517a41644a7247f83f3a6981b988a7d8fbbc1d2bef019437c1796f148957cf7496a07b5b4e6c9acc881a3f4c06dd2eef
+DIST crystal-0.23.1.tar.gz 1646650 SHA256 8cf1b9a4eab29fca2f779ea186ae18f7ce444ce189c621925fa1a0c61dd5ff55 SHA512 06ee0d45cc79cc343d04c346e9cd47b6e4ebc79bf21833662f268f9604f7d2080f7696824e1959de341539f801ae8f898fe1d7b18e4c75378d4eb191878668d5 WHIRLPOOL 944d35f0bfe0d567fd51567775c33671895ede8596222a94e89efe349461432565aae4f0cb7483fb696e0a685c25764ac4bcfc16971dd1f2db33c510f1a04059
diff --git a/dev-lang/crystal/crystal-0.23.1.ebuild b/dev-lang/crystal/crystal-0.23.1.ebuild
new file mode 100644
index 000000000000..b526f8026565
--- /dev/null
+++ b/dev-lang/crystal/crystal-0.23.1.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit bash-completion-r1 multiprocessing toolchain-funcs
+
+BV=0.23.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/${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 blocking-stdio-hack +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}"/${PN}-0.23.0-verbose-LDFLAGS.patch
+)
+
+src_prepare() {
+ default
+
+ use blocking-stdio-hack && eapply "${FILESDIR}"/"${PN}"-0.22.0-blocking-stdio-hack.patch
+}
+
+src_compile() {
+ emake \
+ $(usex debug "" release=1) \
+ progress=true \
+ 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) \
+ 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}
+}
+
+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
+
+ newbashcomp etc/completion.bash ${PN}
+}