Gentoo Archives: gentoo-commits

From: Matthias Maier <tamiko@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-lang/julia/
Date: Mon, 06 Jun 2022 05:17:30
Message-Id: 1654492598.461a6993f4bc2eb2336ac9f72992ead46f9def94.tamiko@gentoo
1 commit: 461a6993f4bc2eb2336ac9f72992ead46f9def94
2 Author: Jose Storopoli <jstoropoli <AT> protonmail <DOT> com>
3 AuthorDate: Sun May 15 09:32:48 2022 +0000
4 Commit: Matthias Maier <tamiko <AT> gentoo <DOT> org>
5 CommitDate: Mon Jun 6 05:16:38 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=461a6993
7
8 dev-lang/julia: add 1.7.3
9
10 Closes: https://bugs.gentoo.org/847820
11 Closes: https://github.com/gentoo/gentoo/pull/25496
12 Signed-off-by: Jose Storopoli <jstoropoli <AT> protonmail.com>
13 Signed-off-by: Matthias Maier <tamiko <AT> gentoo.org>
14
15 dev-lang/julia/Manifest | 15 +++
16 dev-lang/julia/julia-1.7.3.ebuild | 196 ++++++++++++++++++++++++++++++++++++++
17 2 files changed, 211 insertions(+)
18
19 diff --git a/dev-lang/julia/Manifest b/dev-lang/julia/Manifest
20 index 3f0db07ad736..012710241246 100644
21 --- a/dev-lang/julia/Manifest
22 +++ b/dev-lang/julia/Manifest
23 @@ -3,3 +3,18 @@ DIST julia-1.7.1-full.tar.gz 255682275 BLAKE2B 923cd1ed735f1ff5537ff8655ba5b63cc
24 DIST julia-1.7.1-llvm_13_compat_part_3.patch 28006 BLAKE2B b1909fd6df1ac51e7e2d16279ff5ed2febe27967832ddbb9517372dcb41597f7ba9fa6013d65fdbdaf345b5c32fdf90f60c086afcdf6b793172061fe63263b0f SHA512 d251d5fbc088aa03e2c423926fa9f82a8a29a995e20150f27bf01ea9209008259f97daf27c333686b62412190fa4077cca178ce39bb6c7bd4e3e8b4f2affa22f
25 DIST julia-1.7.1-llvm_13_compat_part_4.patch 11421 BLAKE2B ca4f3e2c6b60462f7f04f609be07f95b81fe076350167de3354cf5c0fb98d3f1b5a5b2d275da8074a077be3edbb8544a3403a080dc1ca0dbe827dde96c61f5f2 SHA512 5cd709b24a6e00f67998efcc21d77b710399f1bf96e7656b3c90a2cc564bcf05e2e1012b788751d48ff7964fb6be2af710d850c34e83532976addecae4db1969
26 DIST julia-1.7.1-llvm_13_compat_part_5.patch 27094 BLAKE2B b70a96c4f897349dce04246335bc38a6726e02a43cd5a28bc31bfcb9190f5361e2e4d16a9fb5c1b3c0e53d2e59f5380b161350968f9479cdb765b4681b9f5743 SHA512 efd1029d0030417082b7d640b2e4b7bb35818d555c808bceb9a31e5d93b2f27a8ca11b9228cf4129b5bee411e1fe9e4ce4e7515226ceab905532d1875e260f7c
27 +DIST julia-1.7.3-full.tar.gz 256584516 BLAKE2B d9520de2a85566cfe02ac471061b6cc255e1ab67039387d4ebda3438b67990cbd0e9e1a17865995f48e537b21fc63be6ff376f3989ff50396ab339df0021a074 SHA512 0286a3f8ecb469eb09690a7723aac267a7655247648a3099115e0dc0531d2f779f2aac6e829d9781f462887de281a78c29d99a986b3c3db8c0b0d565ee31f0df
28 +DIST julia-1.7.3-llvm_13_compat_part_1.patch 6741 BLAKE2B fd61ed4990128150221f2d348bd5cdf953f1b83ddad8a3920dce44249265471854eda513f3cb5a9f641bac201eec70d08c071d31c56d60592dffd8d17b94ddfe SHA512 d8872bbc123e16daa360cbc7f586f2f610bb0d928d9390b41c4f68d9dbba8a945693756b44dd8e960c8feae22ba0f5b50a7ce33157e1e82d8e1a8f2c999e7141
29 +DIST julia-1.7.3-llvm_13_compat_part_2.patch 2673 BLAKE2B 14d292029ca8312ae2d6729b2c5697b2b0ec065e43475b0939961586455988aec573ece8685f8150b0e27a388b39c6ed05e822a1c931a8192d4651958de86b05 SHA512 98643ac351a45c6bb1c2f945fb1e46db98c8658625731048e7cfc76684db8b1c219b53c6c230ca1da8dc07139fb1db1602f756b94e91655c6248541510d0c2ee
30 +DIST julia-1.7.3-llvm_13_compat_part_3.patch 28024 BLAKE2B bffa797f92425eb22f64861e13c2ac9d311434b3727acc8268247bf131e7654c154fd3cc6f7966b3fabc86d56ed0f65b46ea178a2e87cd47f56675af739ee01a SHA512 45231605f4c89ad7faab5564f0c9ea67ebb86ff32d8adffd68ba632668b8adb4185e15351a5714de07495908e059731b702e3c202e043cb9cac252285cd21a0b
31 +DIST julia-1.7.3-llvm_13_compat_part_4.patch 2425 BLAKE2B 9440296aa9669c44f23757f24f5e098353171e2747c24220a3ab6f5fdd9bd3915975dc24e7e19a3441a17555858cff7cfbc678a8a6d7e0894a604e7d699cb6cb SHA512 7e5a5fcd5b18086fbd638cdf98c13d8954bb8716e60ed6ae613b072e4ec8e406abe5a7ba29db488c34a97ecdd2932ddb2e827949191407aead202221bacf736f
32 +DIST julia-1.7.3-llvm_13_compat_part_5.patch 11421 BLAKE2B ca4f3e2c6b60462f7f04f609be07f95b81fe076350167de3354cf5c0fb98d3f1b5a5b2d275da8074a077be3edbb8544a3403a080dc1ca0dbe827dde96c61f5f2 SHA512 5cd709b24a6e00f67998efcc21d77b710399f1bf96e7656b3c90a2cc564bcf05e2e1012b788751d48ff7964fb6be2af710d850c34e83532976addecae4db1969
33 +DIST julia-1.7.3-llvm_13_compat_part_6.patch 27063 BLAKE2B 3878cba37be6f270a1ba240b22bea65c2c0efe77b0d415cc47370f234c8d26f01c66bec4b01824472926ba231a8881deadb21006efe6fa6c5bf6fd6250933a0b SHA512 7c27b4b49465a4fbe206c1e9ba6c48d74264124a866fb414bb698cab151a9e1fb7180c7e07c0bc843d4817e9e99cbd70b35c2906384503d44ab7051ebb1948fe
34 +DIST julia-1.7.3_Downloads.jl_1.5.3.tar.gz 23484 BLAKE2B cebdc572a10faadf4aa673da2c9cd364ddc76b6299c3d0eaaa54014e199f9c0002188d6281dc4935c2be1f32ffcddc6b98f19f07ea488466fa7ae66db55fa23a SHA512 ec895ebe2b96d8590f34c152d3b4963531250b254c96fadffeee8b2cec132c20ce42d585839a2304dc1a30b13b1cbebcfa88b021b3646a77162a1476ec1d8f16
35 +DIST julia-hardcoded-libs.patch 2411 BLAKE2B 54eb1d0bbf15bbeea723c32c8ddbb42d3e3fbd22c6d8e2fa4c660d857bc8b6b131f442065689fd1a70c09563ef5c9efa7cb8ff9493ea6b3ed9ec7b05a9cc042e SHA512 4a35a80592c64c8e8924d381b9405283c3c5447ea201715acdcb4e7f6be0560655b0f816fa05127b7df6f9154a74224960aba57b291bd3a8431174eb13c7610e
36 +DIST julia-libblastrampoline-4.patch 856 BLAKE2B 5efe1602022eaaadb5f6ed06edd5f9e30e19978c5c469f1619efbcc4604efa3f0cd42bb80ba7cf903a89edbabeefca06bf7f5efe78510b6feea5e188655ad456 SHA512 62097e29865a0d4a633974a3ca4ea35623a6de08d8c63316896cdd95844a394302ad892121ec85d8b2a9ca305dff3123cd01e4b7a27b97beb5da36cbe4cd3fa3
37 +DIST julia-libgit-1.2.patch 17322 BLAKE2B 163ca3dc12e6e654962afc781ef7ae57ea0a74a13d72e40a2944ac6b9ad688467fea2df603f0b5509bd882406c81742ae168a80ae312dea5e7188a3c96996772 SHA512 59688c5f6437fd745e3a37bc8387678a18e7d4ed223907456a426a55f1daaa747b70e2b7907975e4e1af4c32b535d91f1e2685416c4d811aed2f4b6ce5f3bc36
38 +DIST julia-libgit-1.4.patch 1631 BLAKE2B 0f13c696c9a5067dabf38e65a2c315a0f8bb7e9dfc4ed9f0267b2a0161296aae4b10be833d6d6da2e0ee2c3917b5cf79e438f96232a5c93b15358a984b23ee4a SHA512 044b1fdc31a767c36b8df1f0582f64051450903be4a4ab668d8b7a8c666be800a51250825d807a4503594b73bb5c2e4e9eef4c61363a1484f328138a1871ff60
39 +DIST julia-libunwind-1.6.patch 778 BLAKE2B 26fcac25c3a906ecbb29e54354fad919c12e2cbd7f8b2a2fc696a495050de1f47ed83ccee2ae8a92c82f51e57319dfc4e8a672a3e6af8e32af6bc2d056bd6813 SHA512 e43119ea9fded88e9ed1c85c3d47dfd62771884d29e409f91779b6db9557f6f1af840b719ee879eda8929cfd53fd9e9b34eb0cac7e9ab6a3f3032edf3e50ca3a
40 +DIST julia-system-cblas.patch 4816 BLAKE2B f5f56cf6a5c4919f002da4865e51022e738fabaf50a537c9e79771c6f3bbfe46333eafa224172008812500169370cdcf8b39464483c8cf7a5c5e8b00257ea162 SHA512 2c5a1818cad8eb5e7ae5d112bbd2f1f3c74fc12ac2ae0325be9e4d2baa016c7a64e02c937014e7b043be3efdb5eac2188919f4aaf58f0f88abc44a455ec9bcc3
41 +DIST make-install-no-build.patch 555 BLAKE2B b49576a9b4fa49ba46f871e774a72f1b78ed37a4cb9be47655617b30e251ce2ef7b4236b045c271be3f3c00b9bd2b907281040658a2068ca986f84a80f5fc141 SHA512 8cb54dc9aac12450cc9d5041b1c4ea9a2b7ddb3c73533d58ce5e78e0547f36ac77f04576e28e15769d73ed02fcdfcd90a9036816fa8a669b2210332f972ee15f
42
43 diff --git a/dev-lang/julia/julia-1.7.3.ebuild b/dev-lang/julia/julia-1.7.3.ebuild
44 new file mode 100644
45 index 000000000000..39455ca05597
46 --- /dev/null
47 +++ b/dev-lang/julia/julia-1.7.3.ebuild
48 @@ -0,0 +1,196 @@
49 +# Copyright 1999-2022 Gentoo Authors
50 +# Distributed under the terms of the GNU General Public License v2
51 +
52 +EAPI=8
53 +
54 +inherit llvm pax-utils toolchain-funcs
55 +
56 +# correct versions for stdlibs are in deps/checksums
57 +# for everything else, run with network-sandbox and wait for the crash
58 +
59 +MY_LLVM_V="13.0.0"
60 +
61 +DESCRIPTION="High-performance programming language for technical computing"
62 +HOMEPAGE="https://julialang.org/"
63 +
64 +SRC_URI="
65 + https://github.com/JuliaLang/julia/releases/download/v${PV}/${P}-full.tar.gz
66 + https://github.com/JuliaLang/julia/commit/677ce6d3.patch -> ${PN}-1.7.3-llvm_13_compat_part_1.patch
67 + https://github.com/JuliaLang/julia/commit/47f9139e.patch -> ${PN}-1.7.3-llvm_13_compat_part_2.patch
68 + https://github.com/JuliaLang/julia/commit/1eb063f1.patch -> ${PN}-1.7.3-llvm_13_compat_part_3.patch
69 + https://github.com/JuliaLang/julia/commit/99d4e655.patch -> ${PN}-1.7.3-llvm_13_compat_part_4.patch
70 + https://raw.githubusercontent.com/archlinux/svntogit-community/packages/julia/trunk/f8c918b0.patch -> ${PN}-1.7.3-llvm_13_compat_part_5.patch
71 + https://raw.githubusercontent.com/archlinux/svntogit-community/packages/julia/trunk/63303980.patch -> ${PN}-1.7.3-llvm_13_compat_part_6.patch
72 + https://raw.githubusercontent.com/archlinux/svntogit-community/packages/julia/trunk/julia-libgit-1.2.patch
73 + https://raw.githubusercontent.com/archlinux/svntogit-community/packages/julia/trunk/julia-libgit-1.4.patch
74 + https://raw.githubusercontent.com/archlinux/svntogit-community/packages/julia/trunk/julia-system-cblas.patch
75 + https://raw.githubusercontent.com/archlinux/svntogit-community/packages/julia/trunk/julia-hardcoded-libs.patch
76 + https://raw.githubusercontent.com/archlinux/svntogit-community/packages/julia/trunk/make-install-no-build.patch
77 + https://raw.githubusercontent.com/archlinux/svntogit-community/packages/julia/trunk/julia-libunwind-1.6.patch
78 + https://raw.githubusercontent.com/archlinux/svntogit-community/packages/julia/trunk/julia-libblastrampoline-4.patch
79 + https://github.com/JuliaLang/Downloads.jl/archive/refs/tags/v1.5.3.tar.gz -> ${P}_Downloads.jl_1.5.3.tar.gz
80 +"
81 +
82 +LICENSE="MIT"
83 +SLOT="0"
84 +KEYWORDS="~amd64 ~x86"
85 +IUSE="+system-llvm"
86 +
87 +RDEPEND="
88 + system-llvm? ( sys-devel/llvm:13=[llvm_targets_NVPTX(-)] )
89 +"
90 +LLVM_MAX_SLOT=13
91 +
92 +RDEPEND+="
93 + app-arch/p7zip
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/libutf8proc-2.6.1:0=[-cjk]
99 + >=dev-util/patchelf-0.13
100 + >=net-libs/mbedtls-2.2
101 + net-misc/curl[http2,ssh]
102 + sci-libs/amd:0=
103 + sci-libs/arpack:0=
104 + sci-libs/camd:0=
105 + sci-libs/ccolamd:0=
106 + sci-libs/cholmod:0=
107 + sci-libs/colamd:0=
108 + sci-libs/fftw:3.0=[threads]
109 + sci-libs/openlibm:0=
110 + sci-libs/spqr:0=
111 + sci-libs/umfpack:0=
112 + >=sci-mathematics/dsfmt-2.2.4
113 + >=sys-libs/libunwind-1.1:0=
114 + sys-libs/zlib:0=
115 + >=virtual/blas-3.6
116 + virtual/lapack"
117 +
118 +DEPEND="${RDEPEND}
119 + virtual/pkgconfig
120 + !system-llvm? ( dev-util/cmake )"
121 +
122 +PATCHES=(
123 + "${DISTDIR}/${PN}"-1.7.3-llvm_13_compat_part_1.patch
124 + "${DISTDIR}/${PN}"-1.7.3-llvm_13_compat_part_2.patch
125 + "${DISTDIR}/${PN}"-1.7.3-llvm_13_compat_part_3.patch
126 + "${DISTDIR}/${PN}"-1.7.3-llvm_13_compat_part_4.patch
127 + "${DISTDIR}/${PN}"-1.7.3-llvm_13_compat_part_5.patch
128 + "${DISTDIR}/${PN}"-1.7.3-llvm_13_compat_part_6.patch
129 + "${DISTDIR}"/julia-libgit-1.2.patch
130 + "${DISTDIR}"/julia-libgit-1.4.patch
131 + "${DISTDIR}"/julia-libunwind-1.6.patch
132 + "${DISTDIR}"/julia-system-cblas.patch
133 + "${DISTDIR}"/julia-hardcoded-libs.patch
134 + "${DISTDIR}"/make-install-no-build.patch
135 + "${DISTDIR}"/julia-libblastrampoline-4.patch
136 +)
137 +
138 +pkg_setup() {
139 + use system-llvm && llvm_pkg_setup
140 +}
141 +
142 +src_unpack() {
143 + local tounpack=(${A})
144 + # the main source tree, followed by deps
145 + unpack "${tounpack[0]}"
146 +
147 + mkdir -p "${S}/deps/srccache/"
148 + for i in "${tounpack[@]:1}"; do
149 + cp "${DISTDIR}/${i}" "${S}/deps/srccache/${i#julia-}" || die
150 + done
151 +}
152 +
153 +src_prepare() {
154 + default
155 +
156 + # Sledgehammer:
157 + # - prevent fetching of bundled stuff in compile and install phase
158 + # - respect CFLAGS
159 + # - respect EPREFIX and Gentoo specific paths
160 +
161 + sed -i \
162 + -e "\|SHIPFLAGS :=|c\\SHIPFLAGS := ${CFLAGS}" \
163 + Make.inc || die
164 +
165 + sed -i \
166 + -e "s|ar -rcs|$(tc-getAR) -rcs|g" \
167 + src/Makefile || die
168 +
169 + # disable doc install starting git fetching
170 + sed -i -e 's~install: $(build_depsbindir)/stringreplace $(BUILDROOT)/doc/_build/html/en/index.html~install: $(build_depsbindir)/stringreplace~' Makefile || die
171 +}
172 +
173 +src_configure() {
174 + use system-llvm && ewarn "You have enabled system-llvm. This is unsupported by upstream and may not work."
175 +
176 + # julia does not play well with the system versions of libuv
177 + # USE_SYSTEM_LIBM=0 implies using external openlibm
178 + cat <<-EOF > Make.user
179 + LOCALBASE:="${EPREFIX}/usr"
180 + override prefix:="${EPREFIX}/usr"
181 + override libdir:="\$(prefix)/$(get_libdir)"
182 + override CC:=$(tc-getCC)
183 + override CXX:=$(tc-getCXX)
184 + override AR:=$(tc-getAR)
185 +
186 + BUNDLE_DEBUG_LIBS:=0
187 + USE_BINARYBUILDER:=0
188 + USE_SYSTEM_CSL:=1
189 + USE_SYSTEM_LLVM:=$(usex system-llvm 1 0)
190 + USE_SYSTEM_LIBUNWIND:=1
191 + USE_SYSTEM_PCRE:=1
192 + USE_SYSTEM_LIBM:=0
193 + USE_SYSTEM_OPENLIBM:=1
194 + USE_SYSTEM_DSFMT:=1
195 + USE_SYSTEM_BLAS:=1
196 + USE_SYSTEM_LAPACK:=1
197 + USE_SYSTEM_LIBBLASTRAMPOLINE:=0
198 + USE_SYSTEM_GMP:=1
199 + USE_SYSTEM_MPFR:=1
200 + USE_SYSTEM_LIBSUITESPARSE:=1
201 + USE_SYSTEM_LIBUV:=0
202 + USE_SYSTEM_UTF8PROC:=1
203 + USE_SYSTEM_MBEDTLS:=1
204 + USE_SYSTEM_LIBSSH2:=1
205 + USE_SYSTEM_NGHTTP2:=1
206 + USE_SYSTEM_CURL:=1
207 + USE_SYSTEM_LIBGIT2:=1
208 + USE_SYSTEM_PATCHELF:=1
209 + USE_SYSTEM_ZLIB:=1
210 + USE_SYSTEM_P7ZIP:=1
211 + VERBOSE:=1
212 + EOF
213 +}
214 +
215 +src_compile() {
216 + # Julia accesses /proc/self/mem on Linux
217 + addpredict /proc/self/mem
218 +
219 + default
220 + pax-mark m "$(file usr/bin/julia-* | awk -F : '/ELF/ {print $1}')"
221 +}
222 +
223 +src_install() {
224 + emake install DESTDIR="${D}"
225 +
226 + if ! use system-llvm ; then
227 + local llvmslot=$(ver_cut 1 ${MY_LLVM_V})
228 + cp "${S}/usr/lib/libLLVM-${llvmslot}jl.so" "${ED}/usr/$(get_libdir)/julia/" || die
229 + fi
230 +
231 + dodoc README.md
232 +
233 + mv "${ED}"/usr/etc/julia "${ED}"/etc || die
234 + rmdir "${ED}"/usr/etc || die
235 + mv "${ED}"/usr/share/doc/julia/html "${ED}"/usr/share/doc/"${PF}" || die
236 + rmdir "${ED}"/usr/share/doc/julia || die
237 +
238 + # The appdata directory is deprecated.
239 + mv "${ED}"/usr/share/{appdata,metainfo}/ || die
240 +}
241 +
242 +pkg_postinst() {
243 + elog "To use Plots, you will need to install sci-visualization/gr."
244 +}