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) ) |