summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJose Storopoli <jstoropoli@protonmail.com>2022-05-15 06:32:48 -0300
committerMatthias Maier <tamiko@gentoo.org>2022-06-06 00:16:38 -0500
commit461a6993f4bc2eb2336ac9f72992ead46f9def94 (patch)
tree48bac0ca324568a1b1066c443ba9b7b67de74cb0
parentapp-portage/elicense: Allow python:3.10 and pypy3 (diff)
downloadgentoo-461a6993f4bc2eb2336ac9f72992ead46f9def94.tar.gz
gentoo-461a6993f4bc2eb2336ac9f72992ead46f9def94.tar.bz2
gentoo-461a6993f4bc2eb2336ac9f72992ead46f9def94.zip
dev-lang/julia: add 1.7.3
Closes: https://bugs.gentoo.org/847820 Closes: https://github.com/gentoo/gentoo/pull/25496 Signed-off-by: Jose Storopoli <jstoropoli@protonmail.com> Signed-off-by: Matthias Maier <tamiko@gentoo.org>
-rw-r--r--dev-lang/julia/Manifest15
-rw-r--r--dev-lang/julia/julia-1.7.3.ebuild196
2 files changed, 211 insertions, 0 deletions
diff --git a/dev-lang/julia/Manifest b/dev-lang/julia/Manifest
index 3f0db07ad736..012710241246 100644
--- a/dev-lang/julia/Manifest
+++ b/dev-lang/julia/Manifest
@@ -3,3 +3,18 @@ DIST julia-1.7.1-full.tar.gz 255682275 BLAKE2B 923cd1ed735f1ff5537ff8655ba5b63cc
DIST julia-1.7.1-llvm_13_compat_part_3.patch 28006 BLAKE2B b1909fd6df1ac51e7e2d16279ff5ed2febe27967832ddbb9517372dcb41597f7ba9fa6013d65fdbdaf345b5c32fdf90f60c086afcdf6b793172061fe63263b0f SHA512 d251d5fbc088aa03e2c423926fa9f82a8a29a995e20150f27bf01ea9209008259f97daf27c333686b62412190fa4077cca178ce39bb6c7bd4e3e8b4f2affa22f
DIST julia-1.7.1-llvm_13_compat_part_4.patch 11421 BLAKE2B ca4f3e2c6b60462f7f04f609be07f95b81fe076350167de3354cf5c0fb98d3f1b5a5b2d275da8074a077be3edbb8544a3403a080dc1ca0dbe827dde96c61f5f2 SHA512 5cd709b24a6e00f67998efcc21d77b710399f1bf96e7656b3c90a2cc564bcf05e2e1012b788751d48ff7964fb6be2af710d850c34e83532976addecae4db1969
DIST julia-1.7.1-llvm_13_compat_part_5.patch 27094 BLAKE2B b70a96c4f897349dce04246335bc38a6726e02a43cd5a28bc31bfcb9190f5361e2e4d16a9fb5c1b3c0e53d2e59f5380b161350968f9479cdb765b4681b9f5743 SHA512 efd1029d0030417082b7d640b2e4b7bb35818d555c808bceb9a31e5d93b2f27a8ca11b9228cf4129b5bee411e1fe9e4ce4e7515226ceab905532d1875e260f7c
+DIST julia-1.7.3-full.tar.gz 256584516 BLAKE2B d9520de2a85566cfe02ac471061b6cc255e1ab67039387d4ebda3438b67990cbd0e9e1a17865995f48e537b21fc63be6ff376f3989ff50396ab339df0021a074 SHA512 0286a3f8ecb469eb09690a7723aac267a7655247648a3099115e0dc0531d2f779f2aac6e829d9781f462887de281a78c29d99a986b3c3db8c0b0d565ee31f0df
+DIST julia-1.7.3-llvm_13_compat_part_1.patch 6741 BLAKE2B fd61ed4990128150221f2d348bd5cdf953f1b83ddad8a3920dce44249265471854eda513f3cb5a9f641bac201eec70d08c071d31c56d60592dffd8d17b94ddfe SHA512 d8872bbc123e16daa360cbc7f586f2f610bb0d928d9390b41c4f68d9dbba8a945693756b44dd8e960c8feae22ba0f5b50a7ce33157e1e82d8e1a8f2c999e7141
+DIST julia-1.7.3-llvm_13_compat_part_2.patch 2673 BLAKE2B 14d292029ca8312ae2d6729b2c5697b2b0ec065e43475b0939961586455988aec573ece8685f8150b0e27a388b39c6ed05e822a1c931a8192d4651958de86b05 SHA512 98643ac351a45c6bb1c2f945fb1e46db98c8658625731048e7cfc76684db8b1c219b53c6c230ca1da8dc07139fb1db1602f756b94e91655c6248541510d0c2ee
+DIST julia-1.7.3-llvm_13_compat_part_3.patch 28024 BLAKE2B bffa797f92425eb22f64861e13c2ac9d311434b3727acc8268247bf131e7654c154fd3cc6f7966b3fabc86d56ed0f65b46ea178a2e87cd47f56675af739ee01a SHA512 45231605f4c89ad7faab5564f0c9ea67ebb86ff32d8adffd68ba632668b8adb4185e15351a5714de07495908e059731b702e3c202e043cb9cac252285cd21a0b
+DIST julia-1.7.3-llvm_13_compat_part_4.patch 2425 BLAKE2B 9440296aa9669c44f23757f24f5e098353171e2747c24220a3ab6f5fdd9bd3915975dc24e7e19a3441a17555858cff7cfbc678a8a6d7e0894a604e7d699cb6cb SHA512 7e5a5fcd5b18086fbd638cdf98c13d8954bb8716e60ed6ae613b072e4ec8e406abe5a7ba29db488c34a97ecdd2932ddb2e827949191407aead202221bacf736f
+DIST julia-1.7.3-llvm_13_compat_part_5.patch 11421 BLAKE2B ca4f3e2c6b60462f7f04f609be07f95b81fe076350167de3354cf5c0fb98d3f1b5a5b2d275da8074a077be3edbb8544a3403a080dc1ca0dbe827dde96c61f5f2 SHA512 5cd709b24a6e00f67998efcc21d77b710399f1bf96e7656b3c90a2cc564bcf05e2e1012b788751d48ff7964fb6be2af710d850c34e83532976addecae4db1969
+DIST julia-1.7.3-llvm_13_compat_part_6.patch 27063 BLAKE2B 3878cba37be6f270a1ba240b22bea65c2c0efe77b0d415cc47370f234c8d26f01c66bec4b01824472926ba231a8881deadb21006efe6fa6c5bf6fd6250933a0b SHA512 7c27b4b49465a4fbe206c1e9ba6c48d74264124a866fb414bb698cab151a9e1fb7180c7e07c0bc843d4817e9e99cbd70b35c2906384503d44ab7051ebb1948fe
+DIST julia-1.7.3_Downloads.jl_1.5.3.tar.gz 23484 BLAKE2B cebdc572a10faadf4aa673da2c9cd364ddc76b6299c3d0eaaa54014e199f9c0002188d6281dc4935c2be1f32ffcddc6b98f19f07ea488466fa7ae66db55fa23a SHA512 ec895ebe2b96d8590f34c152d3b4963531250b254c96fadffeee8b2cec132c20ce42d585839a2304dc1a30b13b1cbebcfa88b021b3646a77162a1476ec1d8f16
+DIST julia-hardcoded-libs.patch 2411 BLAKE2B 54eb1d0bbf15bbeea723c32c8ddbb42d3e3fbd22c6d8e2fa4c660d857bc8b6b131f442065689fd1a70c09563ef5c9efa7cb8ff9493ea6b3ed9ec7b05a9cc042e SHA512 4a35a80592c64c8e8924d381b9405283c3c5447ea201715acdcb4e7f6be0560655b0f816fa05127b7df6f9154a74224960aba57b291bd3a8431174eb13c7610e
+DIST julia-libblastrampoline-4.patch 856 BLAKE2B 5efe1602022eaaadb5f6ed06edd5f9e30e19978c5c469f1619efbcc4604efa3f0cd42bb80ba7cf903a89edbabeefca06bf7f5efe78510b6feea5e188655ad456 SHA512 62097e29865a0d4a633974a3ca4ea35623a6de08d8c63316896cdd95844a394302ad892121ec85d8b2a9ca305dff3123cd01e4b7a27b97beb5da36cbe4cd3fa3
+DIST julia-libgit-1.2.patch 17322 BLAKE2B 163ca3dc12e6e654962afc781ef7ae57ea0a74a13d72e40a2944ac6b9ad688467fea2df603f0b5509bd882406c81742ae168a80ae312dea5e7188a3c96996772 SHA512 59688c5f6437fd745e3a37bc8387678a18e7d4ed223907456a426a55f1daaa747b70e2b7907975e4e1af4c32b535d91f1e2685416c4d811aed2f4b6ce5f3bc36
+DIST julia-libgit-1.4.patch 1631 BLAKE2B 0f13c696c9a5067dabf38e65a2c315a0f8bb7e9dfc4ed9f0267b2a0161296aae4b10be833d6d6da2e0ee2c3917b5cf79e438f96232a5c93b15358a984b23ee4a SHA512 044b1fdc31a767c36b8df1f0582f64051450903be4a4ab668d8b7a8c666be800a51250825d807a4503594b73bb5c2e4e9eef4c61363a1484f328138a1871ff60
+DIST julia-libunwind-1.6.patch 778 BLAKE2B 26fcac25c3a906ecbb29e54354fad919c12e2cbd7f8b2a2fc696a495050de1f47ed83ccee2ae8a92c82f51e57319dfc4e8a672a3e6af8e32af6bc2d056bd6813 SHA512 e43119ea9fded88e9ed1c85c3d47dfd62771884d29e409f91779b6db9557f6f1af840b719ee879eda8929cfd53fd9e9b34eb0cac7e9ab6a3f3032edf3e50ca3a
+DIST julia-system-cblas.patch 4816 BLAKE2B f5f56cf6a5c4919f002da4865e51022e738fabaf50a537c9e79771c6f3bbfe46333eafa224172008812500169370cdcf8b39464483c8cf7a5c5e8b00257ea162 SHA512 2c5a1818cad8eb5e7ae5d112bbd2f1f3c74fc12ac2ae0325be9e4d2baa016c7a64e02c937014e7b043be3efdb5eac2188919f4aaf58f0f88abc44a455ec9bcc3
+DIST make-install-no-build.patch 555 BLAKE2B b49576a9b4fa49ba46f871e774a72f1b78ed37a4cb9be47655617b30e251ce2ef7b4236b045c271be3f3c00b9bd2b907281040658a2068ca986f84a80f5fc141 SHA512 8cb54dc9aac12450cc9d5041b1c4ea9a2b7ddb3c73533d58ce5e78e0547f36ac77f04576e28e15769d73ed02fcdfcd90a9036816fa8a669b2210332f972ee15f
diff --git a/dev-lang/julia/julia-1.7.3.ebuild b/dev-lang/julia/julia-1.7.3.ebuild
new file mode 100644
index 000000000000..39455ca05597
--- /dev/null
+++ b/dev-lang/julia/julia-1.7.3.ebuild
@@ -0,0 +1,196 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit llvm pax-utils toolchain-funcs
+
+# correct versions for stdlibs are in deps/checksums
+# for everything else, run with network-sandbox and wait for the crash
+
+MY_LLVM_V="13.0.0"
+
+DESCRIPTION="High-performance programming language for technical computing"
+HOMEPAGE="https://julialang.org/"
+
+SRC_URI="
+ https://github.com/JuliaLang/julia/releases/download/v${PV}/${P}-full.tar.gz
+ https://github.com/JuliaLang/julia/commit/677ce6d3.patch -> ${PN}-1.7.3-llvm_13_compat_part_1.patch
+ https://github.com/JuliaLang/julia/commit/47f9139e.patch -> ${PN}-1.7.3-llvm_13_compat_part_2.patch
+ https://github.com/JuliaLang/julia/commit/1eb063f1.patch -> ${PN}-1.7.3-llvm_13_compat_part_3.patch
+ https://github.com/JuliaLang/julia/commit/99d4e655.patch -> ${PN}-1.7.3-llvm_13_compat_part_4.patch
+ https://raw.githubusercontent.com/archlinux/svntogit-community/packages/julia/trunk/f8c918b0.patch -> ${PN}-1.7.3-llvm_13_compat_part_5.patch
+ https://raw.githubusercontent.com/archlinux/svntogit-community/packages/julia/trunk/63303980.patch -> ${PN}-1.7.3-llvm_13_compat_part_6.patch
+ https://raw.githubusercontent.com/archlinux/svntogit-community/packages/julia/trunk/julia-libgit-1.2.patch
+ https://raw.githubusercontent.com/archlinux/svntogit-community/packages/julia/trunk/julia-libgit-1.4.patch
+ https://raw.githubusercontent.com/archlinux/svntogit-community/packages/julia/trunk/julia-system-cblas.patch
+ https://raw.githubusercontent.com/archlinux/svntogit-community/packages/julia/trunk/julia-hardcoded-libs.patch
+ https://raw.githubusercontent.com/archlinux/svntogit-community/packages/julia/trunk/make-install-no-build.patch
+ https://raw.githubusercontent.com/archlinux/svntogit-community/packages/julia/trunk/julia-libunwind-1.6.patch
+ https://raw.githubusercontent.com/archlinux/svntogit-community/packages/julia/trunk/julia-libblastrampoline-4.patch
+ https://github.com/JuliaLang/Downloads.jl/archive/refs/tags/v1.5.3.tar.gz -> ${P}_Downloads.jl_1.5.3.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+system-llvm"
+
+RDEPEND="
+ system-llvm? ( sys-devel/llvm:13=[llvm_targets_NVPTX(-)] )
+"
+LLVM_MAX_SLOT=13
+
+RDEPEND+="
+ app-arch/p7zip
+ dev-libs/gmp:0=
+ dev-libs/libgit2:0
+ >=dev-libs/libpcre2-10.23:0=[jit,unicode]
+ dev-libs/mpfr:0=
+ >=dev-libs/libutf8proc-2.6.1:0=[-cjk]
+ >=dev-util/patchelf-0.13
+ >=net-libs/mbedtls-2.2
+ net-misc/curl[http2,ssh]
+ sci-libs/amd:0=
+ sci-libs/arpack:0=
+ sci-libs/camd:0=
+ sci-libs/ccolamd:0=
+ sci-libs/cholmod:0=
+ sci-libs/colamd:0=
+ sci-libs/fftw:3.0=[threads]
+ sci-libs/openlibm:0=
+ sci-libs/spqr:0=
+ sci-libs/umfpack:0=
+ >=sci-mathematics/dsfmt-2.2.4
+ >=sys-libs/libunwind-1.1:0=
+ sys-libs/zlib:0=
+ >=virtual/blas-3.6
+ virtual/lapack"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ !system-llvm? ( dev-util/cmake )"
+
+PATCHES=(
+ "${DISTDIR}/${PN}"-1.7.3-llvm_13_compat_part_1.patch
+ "${DISTDIR}/${PN}"-1.7.3-llvm_13_compat_part_2.patch
+ "${DISTDIR}/${PN}"-1.7.3-llvm_13_compat_part_3.patch
+ "${DISTDIR}/${PN}"-1.7.3-llvm_13_compat_part_4.patch
+ "${DISTDIR}/${PN}"-1.7.3-llvm_13_compat_part_5.patch
+ "${DISTDIR}/${PN}"-1.7.3-llvm_13_compat_part_6.patch
+ "${DISTDIR}"/julia-libgit-1.2.patch
+ "${DISTDIR}"/julia-libgit-1.4.patch
+ "${DISTDIR}"/julia-libunwind-1.6.patch
+ "${DISTDIR}"/julia-system-cblas.patch
+ "${DISTDIR}"/julia-hardcoded-libs.patch
+ "${DISTDIR}"/make-install-no-build.patch
+ "${DISTDIR}"/julia-libblastrampoline-4.patch
+)
+
+pkg_setup() {
+ use system-llvm && llvm_pkg_setup
+}
+
+src_unpack() {
+ local tounpack=(${A})
+ # the main source tree, followed by deps
+ unpack "${tounpack[0]}"
+
+ mkdir -p "${S}/deps/srccache/"
+ for i in "${tounpack[@]:1}"; do
+ cp "${DISTDIR}/${i}" "${S}/deps/srccache/${i#julia-}" || die
+ done
+}
+
+src_prepare() {
+ default
+
+ # Sledgehammer:
+ # - prevent fetching of bundled stuff in compile and install phase
+ # - respect CFLAGS
+ # - respect EPREFIX and Gentoo specific paths
+
+ sed -i \
+ -e "\|SHIPFLAGS :=|c\\SHIPFLAGS := ${CFLAGS}" \
+ Make.inc || die
+
+ sed -i \
+ -e "s|ar -rcs|$(tc-getAR) -rcs|g" \
+ src/Makefile || die
+
+ # disable doc install starting git fetching
+ sed -i -e 's~install: $(build_depsbindir)/stringreplace $(BUILDROOT)/doc/_build/html/en/index.html~install: $(build_depsbindir)/stringreplace~' Makefile || die
+}
+
+src_configure() {
+ use system-llvm && ewarn "You have enabled system-llvm. This is unsupported by upstream and may not work."
+
+ # julia does not play well with the system versions of libuv
+ # USE_SYSTEM_LIBM=0 implies using external openlibm
+ cat <<-EOF > Make.user
+ LOCALBASE:="${EPREFIX}/usr"
+ override prefix:="${EPREFIX}/usr"
+ override libdir:="\$(prefix)/$(get_libdir)"
+ override CC:=$(tc-getCC)
+ override CXX:=$(tc-getCXX)
+ override AR:=$(tc-getAR)
+
+ BUNDLE_DEBUG_LIBS:=0
+ USE_BINARYBUILDER:=0
+ USE_SYSTEM_CSL:=1
+ USE_SYSTEM_LLVM:=$(usex system-llvm 1 0)
+ USE_SYSTEM_LIBUNWIND:=1
+ USE_SYSTEM_PCRE:=1
+ USE_SYSTEM_LIBM:=0
+ USE_SYSTEM_OPENLIBM:=1
+ USE_SYSTEM_DSFMT:=1
+ USE_SYSTEM_BLAS:=1
+ USE_SYSTEM_LAPACK:=1
+ USE_SYSTEM_LIBBLASTRAMPOLINE:=0
+ USE_SYSTEM_GMP:=1
+ USE_SYSTEM_MPFR:=1
+ USE_SYSTEM_LIBSUITESPARSE:=1
+ USE_SYSTEM_LIBUV:=0
+ USE_SYSTEM_UTF8PROC:=1
+ USE_SYSTEM_MBEDTLS:=1
+ USE_SYSTEM_LIBSSH2:=1
+ USE_SYSTEM_NGHTTP2:=1
+ USE_SYSTEM_CURL:=1
+ USE_SYSTEM_LIBGIT2:=1
+ USE_SYSTEM_PATCHELF:=1
+ USE_SYSTEM_ZLIB:=1
+ USE_SYSTEM_P7ZIP:=1
+ VERBOSE:=1
+ EOF
+}
+
+src_compile() {
+ # Julia accesses /proc/self/mem on Linux
+ addpredict /proc/self/mem
+
+ default
+ pax-mark m "$(file usr/bin/julia-* | awk -F : '/ELF/ {print $1}')"
+}
+
+src_install() {
+ emake install DESTDIR="${D}"
+
+ if ! use system-llvm ; then
+ local llvmslot=$(ver_cut 1 ${MY_LLVM_V})
+ cp "${S}/usr/lib/libLLVM-${llvmslot}jl.so" "${ED}/usr/$(get_libdir)/julia/" || die
+ fi
+
+ dodoc README.md
+
+ mv "${ED}"/usr/etc/julia "${ED}"/etc || die
+ rmdir "${ED}"/usr/etc || die
+ mv "${ED}"/usr/share/doc/julia/html "${ED}"/usr/share/doc/"${PF}" || die
+ rmdir "${ED}"/usr/share/doc/julia || die
+
+ # The appdata directory is deprecated.
+ mv "${ED}"/usr/share/{appdata,metainfo}/ || die
+}
+
+pkg_postinst() {
+ elog "To use Plots, you will need to install sci-visualization/gr."
+}