1 |
commit: f7ec33492f40a1b612a6d293202a690c7ff7409b |
2 |
Author: Matthias Maier <tamiko <AT> gentoo <DOT> org> |
3 |
AuthorDate: Fri Dec 25 21:45:10 2020 +0000 |
4 |
Commit: Matthias Maier <tamiko <AT> gentoo <DOT> org> |
5 |
CommitDate: Fri Dec 25 21:56:15 2020 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f7ec3349 |
7 |
|
8 |
dev-lang/julia: version bump to 1.5.3 |
9 |
|
10 |
* export AR environment variable |
11 |
|
12 |
* silence warning about unused CFLAGS - julia modules are not compiled |
13 |
using the CFLAGS environment variable |
14 |
|
15 |
Closes: https://bugs.gentoo.org/747430 |
16 |
Closes: https://bugs.gentoo.org/746254 |
17 |
Package-Manager: Portage-3.0.12, Repoman-3.0.2 |
18 |
Signed-off-by: Matthias Maier <tamiko <AT> gentoo.org> |
19 |
|
20 |
dev-lang/julia/Manifest | 2 + |
21 |
dev-lang/julia/julia-1.5.3.ebuild | 209 ++++++++++++++++++++++++++++++++++++++ |
22 |
2 files changed, 211 insertions(+) |
23 |
|
24 |
diff --git a/dev-lang/julia/Manifest b/dev-lang/julia/Manifest |
25 |
index 29625ea5643..1bce6f6baf5 100644 |
26 |
--- a/dev-lang/julia/Manifest |
27 |
+++ b/dev-lang/julia/Manifest |
28 |
@@ -1,7 +1,9 @@ |
29 |
DIST julia-1.5.2.tar.gz 6945862 BLAKE2B 9dd9f83fb9ae251f66ae65e14a252b662c3c7d6f92638d91ef6e286032020052e1812f2891270854e0ddeda474afff55c8f87d300550503c1093f4c5e0a51959 SHA512 aa177d03bbde4f368dd2fb14f64d21130531616bcd544af7babbb7fb7c9ee5ea7528c756e10f78468aaffebbcbc6f48e92397c1c13dc3f130b64a82e478f43dc |
30 |
+DIST julia-1.5.3.tar.gz 6949901 BLAKE2B 08f8496980a9bbb9effc0c72cb6b7a5ce1dbd1774735caa366ddc1bb5404117111c624a639f6eb48360061f9fc597a7b37dff24f8555f03ebc4a22524cbeb3b8 SHA512 9e644a64fd6e2caf0390a2bc470084406c078244e65b70a2e3b031d5806c1dff780273ccccfe4bccfd8c03778b7d3a44de7a84bd13f3512afe6864efa5a730fc |
31 |
DIST julia-Pkg-49908bffe83790bc7cf3c5d46faf3667f8902ad4.tar.gz 389738 BLAKE2B 1ed9201badf0a1db5142e0566bfe085b364e4681670937ac5fa53c15312ff8eb29d5e783b75fe3f4f379b041ba38c66ce94962fa7d98fcfd0b7b49acd1749d69 SHA512 a85aa80b3080794a8e3ae5ce54856e63457c461659c12fde5dde1b5ec33176ea06af49ee516d01ccd7b78d8358de2fe0ffcd5c6a6d5a5088cdcd76a0133780eb |
32 |
DIST julia-UnicodeData-13.0.0.txt 1851767 BLAKE2B 72bbcf352f2f6a004abb3f351fe5da160e83644feea8de0ca154b5a1aa78f36cb04b252d0c7b64a5eeca388e600b2875bb76bc2746ee799a1a6eff97c1fe8b06 SHA512 1a4a662e2ab33469976bf5f91aa6933ed9b73f6d4179a2daffb349e1869d7d6cfa885b164e82d15dcdad7458cd451c81add58d875eb0c70de854589dc97b2055 |
33 |
DIST julia-dsfmt-2.2.3.tar.gz 291773 BLAKE2B 6ffae90494d72527920c80fc0fb005da1c7b84f8a03a7ecb0789434c0fff97359e5098e85431896dffccc7d5148c414e847aaba5feef648b8788421a466ff65e SHA512 6d8ddcd01aab3f9039f4f0288a8af53e290cc2f293ed8c4a8c9f3b3f12398e7eedfce8016117b425766ba89c61c86c13b3e420035b5f9bf91315b8b814c03662 |
34 |
+DIST julia-libuv-1fcc6d66f9df74189c74d3d390f02202bb7db953.tar.gz 1590342 BLAKE2B eca658f74421587aec78cb38f5a712033afb072e6425a6ce28fd5d4bac61e41cacbd5a850c1f2b29c386b944d1d9c4f16b7d090f7d2dd6b963b5dbc94ae18981 SHA512 70b0c738a60b4e476750b7de8d120e735359e2c36fcb3a8a38628a0ae326210ed3b15d793dfd5443d7aa5603e83e7d99f567aa4c1696846d950df9f83648669c |
35 |
DIST julia-libuv-35b1504507a7a4168caae3d78db54d1121b121e1.tar.gz 1577394 BLAKE2B 8ab36f781619f710a64ddc6cf257a4c2f6d27ac22e33ed6f184902d0c6cc3a3941254e0a825071fcd57f869e3ccc5eaf71856539cf6b484358d5aafe383000a9 SHA512 5932e9105346e952fd0f51f79898e5b9c993261ec1558408437647ab3b3ce282562f1e0a16db5704cb66e7aa7a4c6a75dd7f0da498a98b1b6af48da88b4869f0 |
36 |
DIST julia-libwhich-81e9723c0273d78493dc8c8ed570f68d9ce7e89e.tar.gz 4183 BLAKE2B c932e23b1b476d3fd16cf6f451efd5fc6d9c1ec2c53e8ac086340a100817d9b30dae3eff50b284a42c09b2bbae30b9e2fd38b2881f8cbf4974a89f3bd0c87599 SHA512 6fb77b715d70d9bc95a8546c3bf97bd3677c7ea344b88bb5bc3bbfac9dceabe8a8cde7a0f64dec884cde802e4a3000e30837d3f824b5a9242348c4fe061526a3 |
37 |
DIST julia-utf8proc-0890a538bf8238cded9be0c81171f57e43f2c755.tar.gz 155521 BLAKE2B 32dc1a8fb641e89057d317e579f1802b7f7dfbdbea7f91c01b282b9a88c2fc6143743d5e45f46d6d465857cfe1b28bd39e9a0da19e80516536c57cb62b139d27 SHA512 95d6dba2bbdfc5003f6d21fd02c926c7db9661895010041aacee55fa11dc2524bcffaa90965e2a9a8f2a9e49e93ec7572d6a4de6d5d9f9e075b787537864ea20 |
38 |
|
39 |
diff --git a/dev-lang/julia/julia-1.5.3.ebuild b/dev-lang/julia/julia-1.5.3.ebuild |
40 |
new file mode 100644 |
41 |
index 00000000000..80ed418335b |
42 |
--- /dev/null |
43 |
+++ b/dev-lang/julia/julia-1.5.3.ebuild |
44 |
@@ -0,0 +1,209 @@ |
45 |
+# Copyright 1999-2020 Gentoo Authors |
46 |
+# Distributed under the terms of the GNU General Public License v2 |
47 |
+ |
48 |
+EAPI=7 |
49 |
+ |
50 |
+inherit llvm pax-utils toolchain-funcs |
51 |
+ |
52 |
+# correct versions for stdlibs are in deps/checksums |
53 |
+# for everything else, run with network-sandbox and wait for the crash |
54 |
+ |
55 |
+MY_PV="${PV//_rc/-rc}" |
56 |
+MY_DSFMT_V="2.2.3" |
57 |
+MY_LIBUV_V="1fcc6d66f9df74189c74d3d390f02202bb7db953" |
58 |
+MY_LIBWHICH_V="81e9723c0273d78493dc8c8ed570f68d9ce7e89e" |
59 |
+MY_LLVM_V="9.0.1" |
60 |
+MY_PKG_V="49908bffe83790bc7cf3c5d46faf3667f8902ad4" |
61 |
+MY_UNICODE_V="13.0.0" |
62 |
+MY_UTF8PROC_V="0890a538bf8238cded9be0c81171f57e43f2c755" |
63 |
+ |
64 |
+DESCRIPTION="High-performance programming language for technical computing" |
65 |
+HOMEPAGE="https://julialang.org/" |
66 |
+SRC_URI=" |
67 |
+ https://github.com/JuliaLang/${PN}/releases/download/v${MY_PV}/${PN}-${MY_PV}.tar.gz |
68 |
+ https://api.github.com/repos/JuliaLang/libuv/tarball/${MY_LIBUV_V} -> ${PN}-libuv-${MY_LIBUV_V}.tar.gz |
69 |
+ https://api.github.com/repos/JuliaLang/utf8proc/tarball/${MY_UTF8PROC_V} -> ${PN}-utf8proc-${MY_UTF8PROC_V}.tar.gz |
70 |
+ https://api.github.com/repos/vtjnash/libwhich/tarball/${MY_LIBWHICH_V} -> ${PN}-libwhich-${MY_LIBWHICH_V}.tar.gz |
71 |
+ http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/dSFMT-src-${MY_DSFMT_V}.tar.gz -> ${PN}-dsfmt-${MY_DSFMT_V}.tar.gz |
72 |
+ http://www.unicode.org/Public/${MY_UNICODE_V}/ucd/UnicodeData.txt -> ${PN}-UnicodeData-${MY_UNICODE_V}.txt |
73 |
+ https://dev.gentoo.org/~tamiko/distfiles/Pkg-${MY_PKG_V}.tar.gz -> ${PN}-Pkg-${MY_PKG_V}.tar.gz |
74 |
+ !system-llvm? ( https://github.com/llvm/llvm-project/releases/download/llvmorg-${MY_LLVM_V}/llvm-${MY_LLVM_V}.src.tar.xz ) |
75 |
+" |
76 |
+ |
77 |
+LICENSE="MIT" |
78 |
+SLOT="0" |
79 |
+KEYWORDS="~amd64 ~x86" |
80 |
+IUSE="system-llvm" |
81 |
+ |
82 |
+RDEPEND=" |
83 |
+ system-llvm? ( sys-devel/llvm:9=[llvm_targets_NVPTX(-)] ) |
84 |
+ !system-llvm? ( dev-util/cmake ) |
85 |
+" |
86 |
+LLVM_MAX_SLOT=9 |
87 |
+ |
88 |
+# Silence some QA warnings. The julia build system does not use user |
89 |
+# defined CFLAGS for some of the generated binary modules. |
90 |
+QA_FLAGS_IGNORED='.*' |
91 |
+ |
92 |
+RDEPEND+=" |
93 |
+ dev-libs/double-conversion:0= |
94 |
+ dev-libs/gmp:0= |
95 |
+ dev-libs/libgit2:0 |
96 |
+ >=dev-libs/libpcre2-10.23:0=[jit,unicode] |
97 |
+ dev-libs/mpfr:0= |
98 |
+ dev-libs/openspecfun |
99 |
+ >=net-libs/mbedtls-2.2 |
100 |
+ net-libs/libssh2 |
101 |
+ sci-libs/amd:0= |
102 |
+ sci-libs/arpack:0= |
103 |
+ sci-libs/camd:0= |
104 |
+ sci-libs/ccolamd:0= |
105 |
+ sci-libs/cholmod:0= |
106 |
+ sci-libs/colamd:0= |
107 |
+ sci-libs/fftw:3.0=[threads] |
108 |
+ sci-libs/openlibm:0= |
109 |
+ sci-libs/spqr:0= |
110 |
+ sci-libs/umfpack:0= |
111 |
+ sci-mathematics/glpk:0= |
112 |
+ >=sys-libs/libunwind-1.1:0= |
113 |
+ sys-libs/readline:0= |
114 |
+ sys-libs/zlib:0= |
115 |
+ >=virtual/blas-3.6 |
116 |
+ virtual/lapack" |
117 |
+ |
118 |
+DEPEND="${RDEPEND} |
119 |
+ dev-util/patchelf |
120 |
+ virtual/pkgconfig" |
121 |
+ |
122 |
+PATCHES=( |
123 |
+ "${FILESDIR}"/${PN}-1.1.0-fix_build_system.patch |
124 |
+ "${FILESDIR}"/${PN}-1.1.0-fix_llvm_install.patch |
125 |
+ "${FILESDIR}"/${PN}-1.4.0-no_symlink_llvm.patch |
126 |
+) |
127 |
+ |
128 |
+S="${WORKDIR}/${PN}-${MY_PV}" |
129 |
+ |
130 |
+pkg_setup() { |
131 |
+ use system-llvm && llvm_pkg_setup |
132 |
+} |
133 |
+ |
134 |
+src_unpack() { |
135 |
+ tounpack=(${A}) |
136 |
+ # the main source tree, followed by deps |
137 |
+ unpack "${A/%\ */}" |
138 |
+ |
139 |
+ mkdir -p "${S}/deps/srccache/" |
140 |
+ for i in "${tounpack[@]:1}"; do |
141 |
+ if [[ $i == *Pkg* ]] || [[ $i = *Statistics* ]]; then |
142 |
+ # Bundled Pkg and Statistics packages go into ./stdlib |
143 |
+ local tarball="${i#julia-}" |
144 |
+ cp "${DISTDIR}/${i}" "${S}/stdlib/srccache/${tarball}" || die |
145 |
+ # and we have to fix up the sha1sum |
146 |
+ local name="${tarball%-*}" |
147 |
+ local sha1="${tarball#*-}" |
148 |
+ sha1="${sha1%.tar*}" |
149 |
+ einfo "using patched stdlib package \"${name}\"" |
150 |
+ sed -i -e "s/PKG_SHA1 = .*/PKG_SHA1 = ${sha1}/" "${S}/stdlib/${name}.version" || die |
151 |
+ else |
152 |
+ cp "${DISTDIR}/${i}" "${S}/deps/srccache/${i#julia-}" || die |
153 |
+ fi |
154 |
+ done |
155 |
+} |
156 |
+ |
157 |
+src_prepare() { |
158 |
+ default |
159 |
+ |
160 |
+ # Sledgehammer: |
161 |
+ # - prevent fetching of bundled stuff in compile and install phase |
162 |
+ # - respect CFLAGS |
163 |
+ # - respect EPREFIX and Gentoo specific paths |
164 |
+ |
165 |
+ sed -i \ |
166 |
+ -e "s|GENTOOCFLAGS|${CFLAGS}|g" \ |
167 |
+ -e "s|/usr/include|${EPREFIX}/usr/include|g" \ |
168 |
+ deps/Makefile || die |
169 |
+ |
170 |
+ sed -i \ |
171 |
+ -e "s|GENTOOCFLAGS|${CFLAGS}|g" \ |
172 |
+ -e "s|GENTOOLIBDIR|$(get_libdir)|" \ |
173 |
+ Make.inc || die |
174 |
+ |
175 |
+ sed -i \ |
176 |
+ -e "s|,lib)|,$(get_libdir))|g" \ |
177 |
+ -e "s|\$(BUILD)/lib|\$(BUILD)/$(get_libdir)|g" \ |
178 |
+ Makefile || die |
179 |
+ |
180 |
+ sed -i \ |
181 |
+ -e "s|ar -rcs|$(tc-getAR) -rcs|g" \ |
182 |
+ src/Makefile || die |
183 |
+ |
184 |
+ # disable doc install starting git fetching |
185 |
+ sed -i -e 's~install: $(build_depsbindir)/stringreplace $(BUILDROOT)/doc/_build/html/en/index.html~install: $(build_depsbindir)/stringreplace~' Makefile || die |
186 |
+} |
187 |
+ |
188 |
+src_configure() { |
189 |
+ # julia does not play well with the system versions of dsfmt, libuv, |
190 |
+ # and utf8proc |
191 |
+ |
192 |
+ use system-llvm && ewarn "You have enabled system-llvm. This is unsupported by upstream and may not work." |
193 |
+ |
194 |
+ # USE_SYSTEM_LIBM=0 implies using external openlibm |
195 |
+ cat <<-EOF > Make.user |
196 |
+ USE_BINARYBUILDER:=0 |
197 |
+ USE_SYSTEM_LLVM:=$(usex system-llvm 1 0) |
198 |
+ USE_SYSTEM_LIBUNWIND:=1 |
199 |
+ USE_SYSTEM_PCRE:=1 |
200 |
+ USE_SYSTEM_LIBM:=0 |
201 |
+ USE_SYSTEM_OPENLIBM:=1 |
202 |
+ USE_SYSTEM_DSFMT:=0 |
203 |
+ USE_SYSTEM_BLAS:=1 |
204 |
+ USE_SYSTEM_LAPACK:=1 |
205 |
+ USE_SYSTEM_GMP:=1 |
206 |
+ USE_SYSTEM_MPFR:=1 |
207 |
+ USE_SYSTEM_SUITESPARSE:=1 |
208 |
+ USE_SYSTEM_LIBUV:=0 |
209 |
+ USE_SYSTEM_UTF8PROC:=0 |
210 |
+ USE_SYSTEM_MBEDTLS:=1 |
211 |
+ USE_SYSTEM_LIBSSH2:=1 |
212 |
+ USE_SYSTEM_CURL:=1 |
213 |
+ USE_SYSTEM_LIBGIT2:=1 |
214 |
+ USE_SYSTEM_PATCHELF:=1 |
215 |
+ USE_SYSTEM_ZLIB:=1 |
216 |
+ USE_SYSTEM_P7ZIP:=1 |
217 |
+ VERBOSE=1 |
218 |
+ libdir="${EROOT}/usr/$(get_libdir)" |
219 |
+ EOF |
220 |
+} |
221 |
+ |
222 |
+src_compile() { |
223 |
+ |
224 |
+ # Julia accesses /proc/self/mem on Linux |
225 |
+ addpredict /proc/self/mem |
226 |
+ |
227 |
+ emake julia-release \ |
228 |
+ prefix="${EPREFIX}/usr" DESTDIR="${D}" \ |
229 |
+ CC="$(tc-getCC)" CXX="$(tc-getCXX)" AR="$(tc-getAR)" |
230 |
+ pax-mark m "$(file usr/bin/julia-* | awk -F : '/ELF/ {print $1}')" |
231 |
+ emake |
232 |
+} |
233 |
+ |
234 |
+src_install() { |
235 |
+ emake install \ |
236 |
+ prefix="${EPREFIX}/usr" DESTDIR="${D}" \ |
237 |
+ CC="$(tc-getCC)" CXX="$(tc-getCXX)" |
238 |
+ |
239 |
+ if ! use system-llvm ; then |
240 |
+ cp "${S}/usr/lib/libLLVM"-?jl.so "${ED}/usr/$(get_libdir)/julia/" || die |
241 |
+ fi |
242 |
+ |
243 |
+ dodoc README.md |
244 |
+ |
245 |
+ mv "${ED}"/usr/etc/julia "${ED}"/etc || die |
246 |
+ rmdir "${ED}"/usr/etc || die |
247 |
+ mv "${ED}"/usr/share/doc/julia/html "${ED}"/usr/share/doc/"${PF}" || die |
248 |
+ rmdir "${ED}"/usr/share/doc/julia || die |
249 |
+} |
250 |
+ |
251 |
+pkg_postinst() { |
252 |
+ elog "To use Plots, you will need to install sci-visualization/gr." |
253 |
+} |