Gentoo Archives: gentoo-commits

From: Sergei Trofimovich <slyfox@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-lang/crystal/
Date: Fri, 08 Feb 2019 20:35:27
Message-Id: 1549657942.8278433f0bf07e5eaeedb33c7680dbc3c881526e.slyfox@gentoo
1 commit: 8278433f0bf07e5eaeedb33c7680dbc3c881526e
2 Author: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
3 AuthorDate: Fri Feb 8 20:32:22 2019 +0000
4 Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
5 CommitDate: Fri Feb 8 20:32:22 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8278433f
7
8 dev-lang/crystal: bump up to 0.27.2
9
10 Package-Manager: Portage-2.3.59, Repoman-2.3.12
11 Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>
12
13 dev-lang/crystal/Manifest | 1 +
14 dev-lang/crystal/crystal-0.27.2.ebuild | 121 +++++++++++++++++++++++++++++++++
15 2 files changed, 122 insertions(+)
16
17 diff --git a/dev-lang/crystal/Manifest b/dev-lang/crystal/Manifest
18 index db092cd4722..7507b3c1253 100644
19 --- a/dev-lang/crystal/Manifest
20 +++ b/dev-lang/crystal/Manifest
21 @@ -14,3 +14,4 @@ DIST crystal-0.27.0-1-linux-i686.tar.gz 39751745 BLAKE2B 22adf22a2e423f4b0fddda1
22 DIST crystal-0.27.0-1-linux-x86_64.tar.gz 37933811 BLAKE2B 76bb57b556f14ae8ce219ef490e58ff03571f36fcb4343672ff10ddd6e275e9c5c26a028d63f0592c1a081f2f5dc8241106d8a99add1a7936f52b9e3a57f96e6 SHA512 c403c4080830b928621da07f409ba5433109ee0fc81589f87e79d2e04fcbce8facfa205b7e8c78ab9bb772b4444c938b3bcf691596ee0b2d54c3f3d97150e008
23 DIST crystal-0.27.0.tar.gz 2025777 BLAKE2B 0a5cc02a516586b033c65efd8e28a13ac0ed67fddbd1a1f0a88a484dff825bec8f6b03b16938c750e99e0c7c1c12a3fd3fc87e61d038b25b7707e0e7f2913fae SHA512 02b0e1d43d699d1dd91f4b979c8ab8909264e5f1fcc344f6110bebb808c0ee764a943368cce9d33a258adb9631ed4f445e1f771d5a9e50fcd337fc8b319616cf
24 DIST crystal-0.27.1.tar.gz 2061304 BLAKE2B 1776525925a25f72cf83f1a6076ab8b2bf1602c9d8c6a1fff8869c200faa35de008655f046ff60fb3733c8c3577f3544184080ee39acedfde006b9fd63d6c844 SHA512 8c6dd9489aff5d4b3e119ef6f531a3248c20f3da97c44dd3febe551adc67f5d87aa4f7679cbcc0dcde0374f3f5a3c523da6dff32a7ac95a9db1406102e980822
25 +DIST crystal-0.27.2.tar.gz 2061466 BLAKE2B 49f4d2c33412589e7ea131460508a8716d10285d6e248d4e6f9287acc559a864737af2317f2a50332b68704d9d0bf6d3e4d13ad5e5a66e433dbbdd1bc8e523bc SHA512 dcb5948f373d4a7b17e6bdd45697a43e86ec7eb38bdafaade982df9adacbc5a24f2b08f327e41b853bb8f6ec8272411d14defee4e510c430c5dd1370afca42ae
26
27 diff --git a/dev-lang/crystal/crystal-0.27.2.ebuild b/dev-lang/crystal/crystal-0.27.2.ebuild
28 new file mode 100644
29 index 00000000000..d1888dfde89
30 --- /dev/null
31 +++ b/dev-lang/crystal/crystal-0.27.2.ebuild
32 @@ -0,0 +1,121 @@
33 +# Copyright 1999-2019 Gentoo Authors
34 +# Distributed under the terms of the GNU General Public License v2
35 +
36 +EAPI=6
37 +
38 +inherit bash-completion-r1 llvm multiprocessing toolchain-funcs
39 +
40 +BV=0.27.0-1
41 +BV_AMD64=${BV}-linux-x86_64
42 +BV_X86=${BV}-linux-i686
43 +
44 +DESCRIPTION="The Crystal Programming Language"
45 +HOMEPAGE="https://crystal-lang.org"
46 +SRC_URI="https://github.com/crystal-lang/crystal/archive/${PV}.tar.gz -> ${P}.tar.gz
47 + amd64? ( https://github.com/crystal-lang/crystal/releases/download/${BV/-*}/crystal-${BV_AMD64}.tar.gz )
48 + x86? ( https://github.com/crystal-lang/crystal/releases/download/${BV/-*}/crystal-${BV_X86}.tar.gz )"
49 +
50 +LICENSE="Apache-2.0"
51 +SLOT="0"
52 +KEYWORDS="~amd64"
53 +IUSE="doc debug examples blocking-stdio-hack +xml +yaml"
54 +
55 +# Not compatible with llvm-7
56 +LLVM_MAX_SLOT=6
57 +
58 +# dev-libs/boehm-gc[static-libs] dependency problem, check the issue: https://github.com/manastech/crystal/issues/1382
59 +DEPEND="
60 + sys-devel/llvm:${LLVM_MAX_SLOT}
61 + dev-libs/boehm-gc[static-libs,threads]
62 + dev-libs/libatomic_ops
63 + dev-libs/libevent
64 + dev-libs/libpcre
65 + sys-libs/libunwind
66 + dev-libs/pcl
67 + dev-libs/gmp:0
68 +"
69 +RDEPEND="${DEPEND}
70 + xml? ( dev-libs/libxml2 )
71 + yaml? ( dev-libs/libyaml )
72 +"
73 +
74 +PATCHES=(
75 + "${FILESDIR}"/${PN}-0.27.1-verbose.patch
76 + "${FILESDIR}"/${PN}-0.26.1-gentoo-tests-sandbox.patch
77 + "${FILESDIR}"/${PN}-0.26.1-gentoo-tests-network-sandbox-3.patch
78 + "${FILESDIR}"/${PN}-0.27.0-extra-spec-flags.patch
79 + "${FILESDIR}"/${PN}-0.27.0-max-age-0-test.patch
80 + "${FILESDIR}"/${PN}-0.27.0-gentoo-tests-long-unix.patch
81 + "${FILESDIR}"/${PN}-0.27.0-gentoo-tests-long-unix-2.patch
82 + "${FILESDIR}"/${PN}-0.27.0-tcp-server-test.patch
83 +)
84 +
85 +src_prepare() {
86 + default
87 +
88 + use blocking-stdio-hack && eapply "${FILESDIR}"/"${PN}"-0.22.0-blocking-stdio-hack.patch
89 +}
90 +
91 +src_compile() {
92 + local bootstrap_path=${WORKDIR}/${PN}-${BV}/bin
93 + if [[ ! -d ${bootstrap_path} ]]; then
94 + eerror "Binary tarball does not contain expected directory:"
95 + die "'${bootstrap_path}' path does not exist."
96 + fi
97 +
98 + emake \
99 + $(usex debug "" release=1) \
100 + progress=true \
101 + stats=1 \
102 + threads=$(makeopts_jobs) \
103 + verbose=1 \
104 + \
105 + CC=$(tc-getCC) \
106 + CXX=$(tc-getCXX) \
107 + AR=$(tc-getAR) \
108 + \
109 + PATH="${bootstrap_path}:${PATH}" \
110 + CRYSTAL_PATH=src \
111 + CRYSTAL_CONFIG_VERSION=${PV} \
112 + CRYSTAL_CONFIG_PATH="lib:${EPREFIX}/usr/$(get_libdir)/crystal"
113 + use doc && emake docs
114 +}
115 +
116 +src_test() {
117 + # EXTRA_SPEC_FLAGS is useful to debug individual tests
118 + # as part of full build:
119 + # USE=debug EXTRA_SPEC_FLAGS='-e parse_set_cookie' emerge -1 crystal
120 + emake spec \
121 + $(usex debug "" release=1) \
122 + progress=true \
123 + stats=1 \
124 + threads=$(makeopts_jobs) \
125 + verbose=1 \
126 + \
127 + CC=$(tc-getCC) \
128 + CXX=$(tc-getCXX) \
129 + AR=$(tc-getAR) \
130 + \
131 + CRYSTAL_PATH=src \
132 + CRYSTAL_CONFIG_VERSION=${PV} \
133 + \
134 + "EXTRA_SPEC_FLAGS=${EXTRA_SPEC_FLAGS}"
135 +}
136 +
137 +src_install() {
138 + insinto /usr/$(get_libdir)/crystal
139 + doins -r src/.
140 + dobin .build/crystal
141 +
142 + insinto /usr/share/zsh/site-functions
143 + newins etc/completion.zsh _crystal
144 +
145 + use examples && dodoc -r samples
146 +
147 + if use doc ; then
148 + docinto api
149 + dodoc -r docs/.
150 + fi
151 +
152 + newbashcomp etc/completion.bash ${PN}
153 +}