julia: update to 1.6.1.

Also change to using vendored llvm to reduce maintenance burden from
julia depending on versions of llvm which are quickly obsoleted; this
should also fix julia's build being broken on i686.

When julia 1.6.0 vendors in mbedtls, it uses v2.26.0 which provides a
different set of sonames than the version provided by Void. We need to
patch where the library sonames are hardcoded to allow julia to properly
call into libraries provided by mbedtls.

[Ed.: internal references to unversioned shlibs in this patch appear to
refer to symlnks that the julia package creates in /usr/lib/julia rather
than symlinks in /usr/lib that would require -devel dependencies.]

Upstream issue: https://github.com/julialang/julia/issues/40198

Closes: #30703 [via git-merge-pr]
Closes: #30490
Closes: #30061
Closes: #29964
This commit is contained in:
Adam Beckmeyer 2021-05-05 22:11:42 -04:00 committed by Andrew J. Hesford
parent bb2afccd42
commit 93268a28b1
2 changed files with 50 additions and 6 deletions

View file

@ -0,0 +1,43 @@
diff --git a/stdlib/MbedTLS_jll/src/MbedTLS_jll.jl b/stdlib/MbedTLS_jll/src/MbedTLS_jll.jl
index a7ca666b23..b84a42f4e7 100644
--- a/stdlib/MbedTLS_jll/src/MbedTLS_jll.jl
+++ b/stdlib/MbedTLS_jll/src/MbedTLS_jll.jl
@@ -31,9 +31,9 @@ elseif Sys.isapple()
const libmbedtls = "@rpath/libmbedtls.13.dylib"
const libmbedx509 = "@rpath/libmbedx509.1.dylib"
else
- const libmbedcrypto = "libmbedcrypto.so.5"
- const libmbedtls = "libmbedtls.so.13"
- const libmbedx509 = "libmbedx509.so.1"
+ const libmbedcrypto = "libmbedcrypto.so"
+ const libmbedtls = "libmbedtls.so"
+ const libmbedx509 = "libmbedx509.so"
end
function __init__()
diff --git a/stdlib/libLLVM_jll/src/libLLVM_jll.jl b/stdlib/libLLVM_jll/src/libLLVM_jll.jl
index fa45e754e5..b51812e3a8 100644
--- a/stdlib/libLLVM_jll/src/libLLVM_jll.jl
+++ b/stdlib/libLLVM_jll/src/libLLVM_jll.jl
@@ -23,7 +23,7 @@ if Sys.iswindows()
elseif Sys.isapple()
const libLLVM = "@rpath/libLLVM.dylib"
else
- const libLLVM = "libLLVM-11jl.so"
+ const libLLVM = "libLLVM.so"
end
function __init__()
diff --git a/stdlib/nghttp2_jll/src/nghttp2_jll.jl b/stdlib/nghttp2_jll/src/nghttp2_jll.jl
index 8b98c76ac5..77ad9e3800 100644
--- a/stdlib/nghttp2_jll/src/nghttp2_jll.jl
+++ b/stdlib/nghttp2_jll/src/nghttp2_jll.jl
@@ -22,7 +22,7 @@ if Sys.iswindows()
elseif Sys.isapple()
const libnghttp2 = "@rpath/libnghttp2.14.dylib"
else
- const libnghttp2 = "libnghttp2.so.14"
+ const libnghttp2 = "libnghttp2.so"
end
function __init__()

View file

@ -1,12 +1,12 @@
# Template file for 'julia'
pkgname=julia
version=1.6.0
version=1.6.1
revision=1
archs="i686* x86_64* armv7l* aarch64*"
build_style=gnu-makefile
make_build_args="prefix=/usr sysconfdir=/etc datarootdir=/usr/share
USE_BINARYBUILDER=0 USE_SYSTEM_LIBM=0 USE_SYSTEM_DSFMT=0 USE_SYSTEM_LIBUV=0
USE_SYSTEM_SUITESPARSE=0 USE_SYSTEM_BLAS=0 USE_SYSTEM_LAPACK=0 USE_SYSTEM_LLVM=1
USE_SYSTEM_SUITESPARSE=0 USE_SYSTEM_BLAS=0 USE_SYSTEM_LAPACK=0 USE_SYSTEM_LLVM=0
USE_SYSTEM_LIBUNWIND=1 USE_SYSTEM_PCRE=1 USE_SYSTEM_GMP=1 USE_SYSTEM_PATCHELF=1
USE_SYSTEM_MPFR=1 USE_SYSTEM_MBEDTLS=1 USE_SYSTEM_LIBSSH2=1 USE_SYSTEM_NGHTTP2=1
USE_SYSTEM_CURL=1 USE_SYSTEM_ZLIB=1 USE_SYSTEM_P7ZIP=1 USE_SYSTEM_LIBGIT2=1
@ -19,16 +19,18 @@ conf_files="/etc/julia/startup.jl"
hostmakedepends="pkg-config perl cmake python gcc-fortran patchelf which tar xz"
makedepends="p7zip pcre2-devel mpfr-devel libgit2-devel libcurl-devel nghttp2-devel
libssh2-devel mbedtls-devel libatomic-devel zlib-devel libunwind-devel
libutf8proc-devel llvm11"
libutf8proc-devel"
# Julia provides vendored symlinks in /usr/lib/julia pointing to these libraries,
# but none of the julia executables link to them so these are not auto-detected
depends="libgit2 libcurl mpfr mbedtls libatomic libpcre2 libssh2 nghttp2 libquadmath libssp p7zip"
depends="libgit2 libcurl mpfr mbedtls libatomic libpcre2
libssh2 nghttp2 libquadmath libssp p7zip"
short_desc="High-level, high-performance dynamic programming language"
maintainer="Adam Beckmeyer <adam_git@thebeckmeyers.xyz>"
license="MIT"
homepage="https://julialang.org"
distfiles="https://github.com/JuliaLang/julia/releases/download/v${version}/julia-${version}-full.tar.gz"
checksum=1b05f42c9368bc2349c47363b7ddc175a2da3cd162d52b6e24c4f5d4d6e1232c
checksum=71d8e40611361370654e8934c407b2dec04944cf3917c5ecb6482d6b85ed767f
patch_args=-Np1
nocross="build system is a mess"
# Targets for the vendored symlinks mentioned above
shlib_requires="libgit2.so.1.0 libcurl.so.4 libmpfr.so.6 libgmp.so.10
@ -43,7 +45,6 @@ i686*)
export LDFLAGS="-Wl,--no-keep-memory"
make_build_args+=" MARCH=pentium4 OPENBLAS_USE_THREAD=0"
broken="https://build.voidlinux.org/builders/i686_builder/builds/31520/steps/shell_3/logs/stdio"
;;
x86_64*)
export M="x86-64"