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/files/, dev-lang/crystal/
Date: Thu, 15 Jul 2021 09:28:58
Message-Id: 1626341333.2a04c24cc9a3d663e0690d2aaddedcc27b54d750.slyfox@gentoo
1 commit: 2a04c24cc9a3d663e0690d2aaddedcc27b54d750
2 Author: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
3 AuthorDate: Thu Jul 15 09:23:08 2021 +0000
4 Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
5 CommitDate: Thu Jul 15 09:28:53 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2a04c24c
7
8 dev-lang/crystal: bump up to 1.1.0
9
10 Package-Manager: Portage-3.0.20, Repoman-3.0.3
11 Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>
12
13 dev-lang/crystal/Manifest | 3 +
14 dev-lang/crystal/crystal-1.1.0.ebuild | 123 +++++++++++++++++++++
15 dev-lang/crystal/files/crystal-1.1.0-verbose.patch | 7 ++
16 3 files changed, 133 insertions(+)
17
18 diff --git a/dev-lang/crystal/Manifest b/dev-lang/crystal/Manifest
19 index 297894012d7..fde8c31a896 100644
20 --- a/dev-lang/crystal/Manifest
21 +++ b/dev-lang/crystal/Manifest
22 @@ -1,3 +1,6 @@
23 DIST crystal-1.0.0-1-linux-i686.tar.gz 30753871 BLAKE2B 247d8327c001ef8e847d981ab771964faa90b5acb1dc1336288b4c401cd039bb259e22945aabae73b6e23cf6babec288a25e4490a860e9a6c5cc8076afb2e7d3 SHA512 36f48fbc44f254588b449c6c80dd47e8152e1e31785ce0111dcd4da9eed57c12aac7427807f4a60d86a9841726e197a6d08582438bffcc4ed16eaad35e6ea886
24 DIST crystal-1.0.0-1-linux-x86_64.tar.gz 28189455 BLAKE2B 8313d201e8b8363f3f5025ab2bf2d44a981ca7185686474aa677d38986428b54e9d28fef01e12205ab58db67b516a043582a9965f31972bfa2ece5ff8bd640a0 SHA512 bbfe5010d2e620a58b25a3f7133f0f15c212ed085f020bbb8da39aca882d89c077068343fe182995ec09b436daaf8d252db232bf7fe3af087a5ab0728e0a758f
25 DIST crystal-1.0.0.tar.gz 2435212 BLAKE2B 3204162abae8ef2e3e7a7a294f001b3906562c17121bb3646c1d1bac0d7b98433c77d9c8101bae9b3041996794784b8fce5dd3dfded33a27c8d229bc3b557c0c SHA512 aa56eb0131aecad15bebc6ef0ce2f34f0992a8362441dd662a518ddbc5e3818762c1c7228bc5b06aafdb8815e59d791654add9da8ba9a47a6a4fd34f6b039a8b
26 +DIST crystal-1.1.0-1-linux-i686.tar.gz 30747190 BLAKE2B 7fe29248ae69c81cb0c79419488c5b544bb55810894ac1d7f276ccdf2d2d98c7c2bc4f8c007214e5ffd18ee39bdf6983f33b13c08f012105fce714eeaa18fac9 SHA512 df267250971c11d1e2f4f869a14f7b2f1e5a32cf15c407a0ee9291aeb4ddc21241c3f21c7706ee2305dfbf4ac645681a06bb70a6ee9246968a30f59b7595ea8a
27 +DIST crystal-1.1.0-1-linux-x86_64.tar.gz 27998777 BLAKE2B 06be8a51b28266b25f1a3629b1a1ac6f3878aacdd4ca4019ac201369ca0507f3ed27bfea46ea7d8d4dfa67888268a8e027586bb32e9964d4754661f43e36ac12 SHA512 8c4542ce0623e459b61591b7bd13f416ee30c89913ce827830e570225c72ec79ad5466d414b05f520d384f04363f11964ff8bf158f0ae798da3864208655319e
28 +DIST crystal-1.1.0.tar.gz 2476748 BLAKE2B 2874da651a8b4454c6a34b00ac4ef93be6beaabe01ff66aaac86583a9d9c1baccde9473358d70d78490b367db3a307af3b5219af6751c1d83cb5084e74955197 SHA512 fcd14338c4c6cb9189cfb9d4d93af7feab806a49e10b9c83399f9252f0c5f3488605141f09adef82d48343eab5653b754b9196fb659590df8d4deb2c4b6499f4
29
30 diff --git a/dev-lang/crystal/crystal-1.1.0.ebuild b/dev-lang/crystal/crystal-1.1.0.ebuild
31 new file mode 100644
32 index 00000000000..7af64a71141
33 --- /dev/null
34 +++ b/dev-lang/crystal/crystal-1.1.0.ebuild
35 @@ -0,0 +1,123 @@
36 +# Copyright 1999-2021 Gentoo Authors
37 +# Distributed under the terms of the GNU General Public License v2
38 +
39 +EAPI=7
40 +
41 +inherit bash-completion-r1 llvm multiprocessing toolchain-funcs
42 +
43 +BV=${PV}-1
44 +BV_AMD64=${BV}-linux-x86_64
45 +BV_X86=${BV}-linux-i686
46 +
47 +DESCRIPTION="The Crystal Programming Language"
48 +HOMEPAGE="https://crystal-lang.org"
49 +SRC_URI="https://github.com/crystal-lang/crystal/archive/${PV}.tar.gz -> ${P}.tar.gz
50 + amd64? ( https://github.com/crystal-lang/crystal/releases/download/${BV/-*}/crystal-${BV_AMD64}.tar.gz )
51 + x86? ( https://github.com/crystal-lang/crystal/releases/download/${BV/-*}/crystal-${BV_X86}.tar.gz )"
52 +
53 +LICENSE="Apache-2.0"
54 +SLOT="0"
55 +KEYWORDS="~amd64"
56 +IUSE="doc debug examples blocking-stdio-hack +xml +yaml"
57 +
58 +RESTRICT=test # not stable for day-to-day runs
59 +
60 +LLVM_MAX_SLOT=11
61 +
62 +DEPEND="
63 + sys-devel/llvm:${LLVM_MAX_SLOT}
64 + dev-libs/boehm-gc[static-libs,threads]
65 + dev-libs/libatomic_ops
66 + dev-libs/libevent
67 + dev-libs/libpcre
68 + sys-libs/libunwind
69 + dev-libs/pcl
70 + dev-libs/gmp:0
71 +"
72 +RDEPEND="${DEPEND}
73 + xml? ( dev-libs/libxml2 )
74 + yaml? ( dev-libs/libyaml )
75 +"
76 +
77 +PATCHES=(
78 + "${FILESDIR}"/${PN}-1.1.0-verbose.patch
79 + "${FILESDIR}"/${PN}-0.26.1-gentoo-tests-sandbox.patch
80 + "${FILESDIR}"/${PN}-0.27.0-extra-spec-flags.patch
81 + #"${FILESDIR}"/${PN}-0.27.0-max-age-0-test.patch
82 + "${FILESDIR}"/${PN}-0.27.0-gentoo-tests-long-unix.patch
83 + "${FILESDIR}"/${PN}-0.27.0-gentoo-tests-long-unix-2.patch
84 +)
85 +
86 +src_prepare() {
87 + default
88 +
89 + use blocking-stdio-hack && eapply "${FILESDIR}"/"${PN}"-0.22.0-blocking-stdio-hack.patch
90 +}
91 +
92 +src_compile() {
93 + local bootstrap_path=${WORKDIR}/${PN}-${BV}/bin
94 + if [[ ! -d ${bootstrap_path} ]]; then
95 + eerror "Binary tarball does not contain expected directory:"
96 + die "'${bootstrap_path}' path does not exist."
97 + fi
98 +
99 + # crystal uses 'LLVM_TARGETS' to override default list of targets
100 + unset LLVM_TARGETS
101 + emake \
102 + $(usex debug "" release=1) \
103 + progress=true \
104 + stats=1 \
105 + threads=$(makeopts_jobs) \
106 + verbose=1 \
107 + \
108 + CC=$(tc-getCC) \
109 + CXX=$(tc-getCXX) \
110 + AR=$(tc-getAR) \
111 + LLVM_CONFIG="$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" \
112 + \
113 + PATH="${bootstrap_path}:${PATH}" \
114 + CRYSTAL_PATH=src \
115 + CRYSTAL_CONFIG_VERSION=${PV} \
116 + CRYSTAL_CONFIG_PATH="lib:${EPREFIX}/usr/$(get_libdir)/crystal"
117 + use doc && emake docs
118 +}
119 +
120 +src_test() {
121 + # EXTRA_SPEC_FLAGS is useful to debug individual tests
122 + # as part of full build:
123 + # USE=debug EXTRA_SPEC_FLAGS='-e parse_set_cookie' emerge -1 crystal
124 + emake spec \
125 + $(usex debug "" release=1) \
126 + progress=true \
127 + stats=1 \
128 + threads=$(makeopts_jobs) \
129 + verbose=1 \
130 + \
131 + CC=$(tc-getCC) \
132 + CXX=$(tc-getCXX) \
133 + AR=$(tc-getAR) \
134 + LLVM_CONFIG="$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" \
135 + \
136 + CRYSTAL_PATH=src \
137 + CRYSTAL_CONFIG_VERSION=${PV} \
138 + \
139 + "EXTRA_SPEC_FLAGS=${EXTRA_SPEC_FLAGS}"
140 +}
141 +
142 +src_install() {
143 + insinto /usr/$(get_libdir)/crystal
144 + doins -r src/.
145 + dobin .build/crystal
146 +
147 + insinto /usr/share/zsh/site-functions
148 + newins etc/completion.zsh _crystal
149 +
150 + use examples && dodoc -r samples
151 +
152 + if use doc ; then
153 + docinto api
154 + dodoc -r docs/.
155 + fi
156 +
157 + newbashcomp etc/completion.bash ${PN}
158 +}
159
160 diff --git a/dev-lang/crystal/files/crystal-1.1.0-verbose.patch b/dev-lang/crystal/files/crystal-1.1.0-verbose.patch
161 new file mode 100644
162 index 00000000000..4e68afd1a94
163 --- /dev/null
164 +++ b/dev-lang/crystal/files/crystal-1.1.0-verbose.patch
165 @@ -0,0 +1,7 @@
166 +--- a/Makefile
167 ++++ b/Makefile
168 +@@ -29,3 +29,3 @@ SOURCES := $(shell find src -name '*.cr')
169 + SPEC_SOURCES := $(shell find spec -name '*.cr')
170 +-override FLAGS += $(if $(release),--release )$(if $(stats),--stats )$(if $(progress),--progress )$(if $(threads),--threads $(threads) )$(if $(debug),-d )$(if $(static),--static )$(if $(LDFLAGS),--link-flags="$(LDFLAGS)" )$(if $(target),--cross-compile --target $(target) )
171 ++override FLAGS += $(if $(release),--release )$(if $(stats),--stats )$(if $(progress),--progress )$(if $(threads),--threads $(threads) )$(if $(debug),-d )$(if $(static),--static )$(if $(LDFLAGS),--link-flags="$(LDFLAGS)" )$(if $(target),--cross-compile --target $(target) )$(if $(verbose),--verbose )
172 + SPEC_FLAGS := $(if $(verbose),-v )$(if $(junit_output),--junit_output $(junit_output) )