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: Wed, 27 Jan 2021 07:31:17
Message-Id: 1611732667.4e2bb4ca66c6bd6e911bbad9850b39e2079102d4.slyfox@gentoo
1 commit: 4e2bb4ca66c6bd6e911bbad9850b39e2079102d4
2 Author: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
3 AuthorDate: Wed Jan 27 07:30:58 2021 +0000
4 Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
5 CommitDate: Wed Jan 27 07:31:07 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4e2bb4ca
7
8 dev-lang/crystal: bump up to 0.36.0
9
10 Package-Manager: Portage-3.0.14, Repoman-3.0.2
11 Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>
12
13 dev-lang/crystal/Manifest | 3 +
14 dev-lang/crystal/crystal-0.36.0.ebuild | 121 +++++++++++++++++++++++++++++++++
15 2 files changed, 124 insertions(+)
16
17 diff --git a/dev-lang/crystal/Manifest b/dev-lang/crystal/Manifest
18 index 1dbc5dcbd59..490b5e5e5c0 100644
19 --- a/dev-lang/crystal/Manifest
20 +++ b/dev-lang/crystal/Manifest
21 @@ -1,3 +1,6 @@
22 DIST crystal-0.35.1-1-linux-i686.tar.gz 28330633 BLAKE2B 1f393ad53f2643b4514de54192047f549cffa22b14afbf25d9de00bf815378ec65a5049a9eee28753dc13bc9fea40447be109f21b55518a6ed8f06353a0b26e6 SHA512 333c2cdbd40ef65de52c1056e6089628ed83daf1a1e9d5243e876b622545d767077b485003ae7efaedeb7807c03c40e6f356cbdcce4dab2319c1686da120dac0
23 DIST crystal-0.35.1-1-linux-x86_64.tar.gz 26653426 BLAKE2B a4ab58e784af3cd0298057a35079dfb48c9ca8d56388394377b86d7475d143a07cc3a800cdee3c9af3054d249ac9b87808d86b25747fc8f9322d01f25a3e3dec SHA512 1cceea5742651e2708e19ea49a7a884500d21beec3eaed75fc9e4b82e7dabaa521143b6c576ec48d2f5e27951163fd8c2ae417f46a1847c68f6e91c9b2a9a72a
24 DIST crystal-0.35.1.tar.gz 2349984 BLAKE2B bf9078c949499e3f8469a055908c23335b04f2a58ab323345bdcdf1de70d00cdfe3aae7baf93e5098e21852c59d1cd8a0fb4faa91c9877d7ef2347a5faeaa69c SHA512 0381568330802de5838f8e66600567817b60ba0087bb3cc2b5df2944c5c42779039b606c81e0207bef34082bf25331b590a8140830f65ba4106ae465f717000b
25 +DIST crystal-0.36.0-1-linux-i686.tar.gz 30860920 BLAKE2B c2c9b55a100e65cb3dbefe69782c72a522e71751bcabcfd38f582e010585349f4213464af3fd6c7ddb90ddb7f579e56dc07ed56dc06b7c6bc7ae4b561f1705e6 SHA512 5363cef6622b86cf8786d65926e105a643790cb62bfdd2555df963d83fa06dd55f493e172115c4788fd82cecc477d92fb77b1c0b73f92e23a9378799dedfd64e
26 +DIST crystal-0.36.0-1-linux-x86_64.tar.gz 28383614 BLAKE2B a34e5448395bd079c10504b0f0d7de23fc916c8e0db51bc0b1462e13ec68c7f08eb04e73937756673e11a7100aa5cdd6d2d4aa8d38e145027bf6e4c19cd0bbbe SHA512 49710ba0ceb8aef39971e6731e5ce902274d7ac5f02289df6e1eb7b9bea73b7d6c188547df48e8acc44bc8088a2d3f7579770cdcd2fd118ec672b606ca073b9b
27 +DIST crystal-0.36.0.tar.gz 2411744 BLAKE2B b564199de1cf30a418b6e06ffb2d8045d1dcebe60b58143a0579dcee2eb5c0d514c30a7e7d083ad2f6c8393423dfa3c8bc8bbc2dfdf2d6387d258b1dab7caf66 SHA512 561c5f97a9355a616a42ec9c88853883ee06a6f472918bf5f2714c0dacefa87209b06bc419355da88c3f5248ce713710960e24e0bc8e9eca07ef9c8b970661b8
28
29 diff --git a/dev-lang/crystal/crystal-0.36.0.ebuild b/dev-lang/crystal/crystal-0.36.0.ebuild
30 new file mode 100644
31 index 00000000000..31b5378f2b3
32 --- /dev/null
33 +++ b/dev-lang/crystal/crystal-0.36.0.ebuild
34 @@ -0,0 +1,121 @@
35 +# Copyright 1999-2021 Gentoo Authors
36 +# Distributed under the terms of the GNU General Public License v2
37 +
38 +EAPI=7
39 +
40 +inherit bash-completion-r1 llvm multiprocessing toolchain-funcs
41 +
42 +BV=${PV}-1
43 +BV_AMD64=${BV}-linux-x86_64
44 +BV_X86=${BV}-linux-i686
45 +
46 +DESCRIPTION="The Crystal Programming Language"
47 +HOMEPAGE="https://crystal-lang.org"
48 +SRC_URI="https://github.com/crystal-lang/crystal/archive/${PV}.tar.gz -> ${P}.tar.gz
49 + amd64? ( https://github.com/crystal-lang/crystal/releases/download/${BV/-*}/crystal-${BV_AMD64}.tar.gz )
50 + x86? ( https://github.com/crystal-lang/crystal/releases/download/${BV/-*}/crystal-${BV_X86}.tar.gz )"
51 +
52 +LICENSE="Apache-2.0"
53 +SLOT="0"
54 +KEYWORDS="~amd64"
55 +IUSE="doc debug examples blocking-stdio-hack +xml +yaml"
56 +
57 +RESTRICT=test # not stable for day-to-day runs
58 +
59 +LLVM_MAX_SLOT=11
60 +
61 +DEPEND="
62 + sys-devel/llvm:${LLVM_MAX_SLOT}
63 + dev-libs/boehm-gc[static-libs,threads]
64 + dev-libs/libatomic_ops
65 + dev-libs/libevent
66 + dev-libs/libpcre
67 + sys-libs/libunwind
68 + dev-libs/pcl
69 + dev-libs/gmp:0
70 +"
71 +RDEPEND="${DEPEND}
72 + xml? ( dev-libs/libxml2 )
73 + yaml? ( dev-libs/libyaml )
74 +"
75 +
76 +PATCHES=(
77 + "${FILESDIR}"/${PN}-0.31.0-verbose.patch
78 + "${FILESDIR}"/${PN}-0.26.1-gentoo-tests-sandbox.patch
79 + "${FILESDIR}"/${PN}-0.27.0-extra-spec-flags.patch
80 + #"${FILESDIR}"/${PN}-0.27.0-max-age-0-test.patch
81 + "${FILESDIR}"/${PN}-0.27.0-gentoo-tests-long-unix.patch
82 + "${FILESDIR}"/${PN}-0.27.0-gentoo-tests-long-unix-2.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 + # crystal uses 'LLVM_TARGETS' to override default list of targets
99 + unset LLVM_TARGETS
100 + emake \
101 + $(usex debug "" release=1) \
102 + progress=true \
103 + stats=1 \
104 + threads=$(makeopts_jobs) \
105 + verbose=1 \
106 + \
107 + CC=$(tc-getCC) \
108 + CXX=$(tc-getCXX) \
109 + AR=$(tc-getAR) \
110 + \
111 + PATH="${bootstrap_path}:${PATH}" \
112 + CRYSTAL_PATH=src \
113 + CRYSTAL_CONFIG_VERSION=${PV} \
114 + CRYSTAL_CONFIG_PATH="lib:${EPREFIX}/usr/$(get_libdir)/crystal"
115 + use doc && emake docs
116 +}
117 +
118 +src_test() {
119 + # EXTRA_SPEC_FLAGS is useful to debug individual tests
120 + # as part of full build:
121 + # USE=debug EXTRA_SPEC_FLAGS='-e parse_set_cookie' emerge -1 crystal
122 + emake spec \
123 + $(usex debug "" release=1) \
124 + progress=true \
125 + stats=1 \
126 + threads=$(makeopts_jobs) \
127 + verbose=1 \
128 + \
129 + CC=$(tc-getCC) \
130 + CXX=$(tc-getCXX) \
131 + AR=$(tc-getAR) \
132 + \
133 + CRYSTAL_PATH=src \
134 + CRYSTAL_CONFIG_VERSION=${PV} \
135 + \
136 + "EXTRA_SPEC_FLAGS=${EXTRA_SPEC_FLAGS}"
137 +}
138 +
139 +src_install() {
140 + insinto /usr/$(get_libdir)/crystal
141 + doins -r src/.
142 + dobin .build/crystal
143 +
144 + insinto /usr/share/zsh/site-functions
145 + newins etc/completion.zsh _crystal
146 +
147 + use examples && dodoc -r samples
148 +
149 + if use doc ; then
150 + docinto api
151 + dodoc -r docs/.
152 + fi
153 +
154 + newbashcomp etc/completion.bash ${PN}
155 +}