* update julia to 2:1.10.2-1

This commit is contained in:
Alexander Baldeck 2024-04-11 12:58:51 +02:00
parent 1f2631f4be
commit 7e09fc4879
5 changed files with 92 additions and 76 deletions

View File

@ -9,7 +9,7 @@
pkgname=julia
epoch=2
pkgver=1.9.4
pkgver=1.10.2
pkgrel=1
arch=(x86_64 powerpc64le)
pkgdesc='High-level, high-performance, dynamic programming language'
@ -22,7 +22,7 @@ depends=(blas64-openblas
libunwind
libutf8proc
lld
llvm15-libs
llvm-julia-libs
mbedtls2
openlibm
p7zip
@ -31,55 +31,55 @@ depends=(blas64-openblas
makedepends=(cmake
gcc-fortran
libwhich
llvm15
llvm-julia
patchelf
python)
optdepends=('gnuplot: If using the Gaston Package from julia')
source=(https://github.com/JuliaLang/julia/releases/download/v$pkgver/$pkgname-$pkgver-full.tar.gz{,.asc}
c12e8515.patch
julia-libgit2-1.7.patch::https://github.com/JuliaLang/julia/commit/2c4c068e.patch
julia-libunwind-1.6.patch
julia-hardcoded-libs.patch
julia-libgit2-1.7.patch
julia-libcholmod-cuda.patch
julia-suitesparse-7.patch
959902f1.patch
e08e1444.patch
f11bfc6c.patch
21d4c2f1.patch)
julia-hardcoded-libs.patch)
backup=(etc/julia/startup.jl)
sha256sums=('61843b9647fd06d3b2994f3277a64de1cb5a5a5297d930b8c8e3bc0e93740024'
sha256sums=('62468720afbc410eb4f262ed2433a92132627872c9f690b704dc045ccb155401'
'SKIP'
'3c0c03eabb668e3242fcd3058c1011dfbb579cc1c5adc3ae1016531e711cc64e'
'94e6d4fa9c68360c795807b49bcb126bbbbf4c927cf7e8358b3e0e3d2183d63e'
'2cc294b63e601d50341979fb936826bdba59de2165a5929eae927e152652f367'
'97efa327f1d389de59258f6047689ca7bed2b7be922088566865defd5d305ed0'
'481ce9b093969c2433b86d4d2bc0815470225f680712fc6231df3629ca7fbe5e'
'5e3f55e68e3f7172d545888479cd9a35e7589d0467684c6d98c721e3b1878acd'
'628d41c0b7739ed6c4c34c7416efd81646fbd17ebab9e88ae46a3668650d3104'
'ea1b30a11fe4d381d5a2ee2aeb4d7cb688d03e0520805cad8939a11267545e04'
'2152da5125eb24c7747d6bf47f46af80251ce653dbde952a96ab6a5424b5ae7c')
'3c0c03eabb668e3242fcd3058c1011dfbb579cc1c5adc3ae1016531e711cc64e'
'f69afd7db3fabe4b747afa2404e1202c1dcfe0f8c5fe5238e424eea737fa2a23'
'0fd1a0c1fcbe7f583139ed3a4a87f77963f06876d69058fa3ffbedfaec609ee7'
'02f0ae518dfd50c2b3abf95fa760de85298baf79d80c2f6f48ac182e58a736d7')
validpgpkeys=('3673DF529D9049477F76B37566E3C7DC03D6E495') # Julia (Binary signing key) <buildbot@julialang.org>
options=(!lto)
prepare() {
cd $pkgname-$pkgver
# Port to LLVM 15
patch -p1 -i ../e08e1444.patch
patch -p1 -i ../959902f1.patch
patch -p1 -i ../f11bfc6c.patch
patch -p1 -i ../21d4c2f1.patch
# libunwind 1.6 compatibility
patch -p1 -i ../julia-libunwind-1.6.patch
# Ignore harmless test failure, needs investigation
sed -e '/int.jl/d' -i test/cmdlineargs.jl
# Revert test that depends on patched gmp
patch -Rp1 -i ../c12e8515.patch
# Harmless test failure, needs investigation
sed -e '/int.jl/d' -i test/cmdlineargs.jl
# libgit2 1.7 compatibility
patch -p1 -i ../julia-libgit2-1.7.patch
# Don't use libcholmod-cuda
patch -p1 -i ../julia-libcholmod-cuda.patch
# Don't hardcode library names
patch -p1 -i ../julia-hardcoded-libs.patch
# Fix tests with libgit2 1.7
patch -p1 -i ../julia-libgit2-1.7.patch
# Fix warnings with suitesparse 7
cd stdlib/srccache
tar -xzf SparseArrays-37e6e58706a54c5a1b96a17cda7d3e8be8bcb190.tar.gz
patch -d JuliaSparse-SparseArrays.jl-37e6e58 -p1 < "$srcdir"/julia-suitesparse-7.patch
rm SparseArrays-37e6e58706a54c5a1b96a17cda7d3e8be8bcb190.tar.gz
tar -czf SparseArrays-37e6e58706a54c5a1b96a17cda7d3e8be8bcb190.tar.gz JuliaSparse-SparseArrays.jl-37e6e58
md5sum SparseArrays-37e6e58706a54c5a1b96a17cda7d3e8be8bcb190.tar.gz | cut -d ' ' -f 1 > ../../deps/checksums/SparseArrays-37e6e58706a54c5a1b96a17cda7d3e8be8bcb190.tar.gz/md5
sha512sum SparseArrays-37e6e58706a54c5a1b96a17cda7d3e8be8bcb190.tar.gz | cut -d ' ' -f 1 > ../../deps/checksums/SparseArrays-37e6e58706a54c5a1b96a17cda7d3e8be8bcb190.tar.gz/sha512
_SAsha=279b363ca8d3129d4742903d37c8b11545fa08a2
tar -xzf SparseArrays-$_SAsha.tar.gz
patch -d JuliaSparse-SparseArrays.jl-${_SAsha:0:7} -p1 < "$srcdir"/julia-suitesparse-7.patch
rm SparseArrays-$_SAsha.tar.gz
tar -czf SparseArrays-$_SAsha.tar.gz JuliaSparse-SparseArrays.jl-${_SAsha:0:7}
md5sum SparseArrays-$_SAsha.tar.gz | cut -d ' ' -f 1 > ../../deps/checksums/SparseArrays-$_SAsha.tar.gz/md5
sha512sum SparseArrays-$_SAsha.tar.gz | cut -d ' ' -f 1 > ../../deps/checksums/SparseArrays-$_SAsha.tar.gz/sha512
}
_make() {
@ -119,7 +119,7 @@ _make() {
LIBLAPACKNAME=liblapack64
VERBOSE=1
JLDFLAGS="$LDFLAGS"
LLVM_CONFIG=llvm-config-15
LLVM_CONFIG=/usr/lib/llvm-julia/bin/llvm-config
)
LD_LIBRARY_PATH="/usr/lib/mbedtls2" make "${make_options[@]}" "$@"
@ -134,7 +134,6 @@ check() {
cd $pkgname-$pkgver/test
ln -s /etc/ssl/cert.pem ../usr/share/julia
# TODO: Remove SparseArrays from skip list when SuiteSparse is updated to v7 (it is downloaded at build time from a separate repo, not easily patchable)
../julia --check-bounds=yes --startup-file=no ./runtests.jl \
--skip Downloads \
--skip Sockets \
@ -145,7 +144,6 @@ check() {
--skip MbedTLS_jll \
--skip MPFR_jll \
--skip OpenBLAS_jll \
--skip SparseArrays \
--skip SuiteSparse_jll \
--skip PCRE2_jll \
--skip LibGit2_jll \
@ -162,4 +160,6 @@ package() {
rm "$pkgdir"/usr/lib/julia/libccalltest.so.debug # Remove debug testing library
install -Dm644 LICENSE.md -t "$pkgdir"/usr/share/licenses/$pkgname
install -Dm644 contrib/julia.svg -t "$pkgdir"/usr/share/pixmaps
}

16
julia/c12e8515.patch Normal file
View File

@ -0,0 +1,16 @@
diff --git a/test/gmp.jl b/test/gmp.jl
index 8f6be13c38054..6efc349ca2ba1 100644
--- a/test/gmp.jl
+++ b/test/gmp.jl
@@ -11,6 +11,11 @@ ee = typemax(Int64)
@test BigInt <: Signed
@test big(1) isa Signed
+ if sizeof(Culong) >= 8
+ @test_throws OutOfMemoryError big(96608869069402268615522366320733234710)^16374500563449903721
+ @test_throws OutOfMemoryError 555555555555555555555555555555555555555555555555555^55555555555555555
+ end
+
let x = big(1)
@test signed(x) === x
@test convert(Signed, x) === x

View File

@ -1,16 +1,3 @@
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-14jl.so"
+ const libLLVM = "libLLVM-15.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
@ -30,9 +17,9 @@ index f0d4b5dda6..2ed3017b51 100644
+++ b/stdlib/LibGit2_jll/src/LibGit2_jll.jl
@@ -23,7 +23,7 @@ if Sys.iswindows()
elseif Sys.isapple()
const libgit2 = "@rpath/libgit2.1.5.dylib"
const libgit2 = "@rpath/libgit2.1.6.dylib"
else
- const libgit2 = "libgit2.so.1.5"
- const libgit2 = "libgit2.so.1.6"
+ const libgit2 = "libgit2.so"
end
@ -58,18 +45,18 @@ index 2940970cef..359dbd9065 100644
const libsuitesparseconfig = "@rpath/libsuitesparseconfig.5.dylib"
const libumfpack = "@rpath/libumfpack.5.dylib"
else
- const libamd = "libamd.so.2"
- const libbtf = "libbtf.so.1"
- const libcamd = "libcamd.so.2"
- const libccolamd = "libccolamd.so.2"
- const libcholmod = "libcholmod.so.3"
- const libcolamd = "libcolamd.so.2"
- const libklu = "libklu.so.1"
- const libldl = "libldl.so.2"
- const librbio = "librbio.so.2"
- const libspqr = "libspqr.so.2"
- const libsuitesparseconfig = "libsuitesparseconfig.so.5"
- const libumfpack = "libumfpack.so.5"
- const libamd = "libamd.so.3"
- const libbtf = "libbtf.so.2"
- const libcamd = "libcamd.so.3"
- const libccolamd = "libccolamd.so.3"
- const libcholmod = "libcholmod.so.4"
- const libcolamd = "libcolamd.so.3"
- const libklu = "libklu.so.2"
- const libldl = "libldl.so.3"
- const librbio = "librbio.so.4"
- const libspqr = "libspqr.so.4"
- const libsuitesparseconfig = "libsuitesparseconfig.so.7"
- const libumfpack = "libumfpack.so.6"
+ const libamd = "libamd.so"
+ const libbtf = "libbtf.so"
+ const libcamd = "libcamd.so"

View File

@ -0,0 +1,29 @@
diff --git a/Makefile b/Makefile
index 1565014a0f..5e9b4ccf54 100644
--- a/Makefile
+++ b/Makefile
@@ -196,7 +196,7 @@ else ifeq ($(JULIA_BUILD_MODE),debug)
JL_PRIVATE_LIBS-0 += libjulia-internal-debug libjulia-codegen-debug
endif
ifeq ($(USE_GPL_LIBS), 1)
-JL_PRIVATE_LIBS-$(USE_SYSTEM_LIBSUITESPARSE) += libamd libbtf libcamd libccolamd libcholmod libcholmod_cuda libcolamd libklu libldl librbio libspqr libspqr_cuda libsuitesparseconfig libumfpack
+JL_PRIVATE_LIBS-$(USE_SYSTEM_LIBSUITESPARSE) += libamd libbtf libcamd libccolamd libcholmod libcolamd libklu libldl librbio libspqr libsuitesparseconfig libumfpack
endif
JL_PRIVATE_LIBS-$(USE_SYSTEM_LIBBLASTRAMPOLINE) += libblastrampoline
JL_PRIVATE_LIBS-$(USE_SYSTEM_PCRE) += libpcre2-8
diff --git a/base/Makefile b/base/Makefile
index ad2bb6a63c..493302af78 100644
--- a/base/Makefile
+++ b/base/Makefile
@@ -269,11 +269,9 @@ $(eval $(call symlink_system_library,LIBSUITESPARSE,libamd))
$(eval $(call symlink_system_library,LIBSUITESPARSE,libcamd))
$(eval $(call symlink_system_library,LIBSUITESPARSE,libccolamd))
$(eval $(call symlink_system_library,LIBSUITESPARSE,libcholmod))
-$(eval $(call symlink_system_library,LIBSUITESPARSE,libcholmod_cuda))
$(eval $(call symlink_system_library,LIBSUITESPARSE,libcolamd))
$(eval $(call symlink_system_library,LIBSUITESPARSE,libumfpack))
$(eval $(call symlink_system_library,LIBSUITESPARSE,libspqr))
-$(eval $(call symlink_system_library,LIBSUITESPARSE,libspqr_cuda))
$(eval $(call symlink_system_library,LIBSUITESPARSE,libsuitesparseconfig))
# EXCLUDED LIBRARIES (installed/used, but not vendored for use with dlopen):
# libunwind

View File

@ -22,19 +22,3 @@
end
intsize = sizeof(SuiteSparse_long)
@@ -232,15 +232,6 @@ function __init__()
"""
end
- # Register gc tracked allocator if CHOLMOD is new enough
- if current_version >= v"3.0.0"
- cnfg = cglobal((:SuiteSparse_config, :libsuitesparseconfig), Ptr{Cvoid})
- unsafe_store!(cnfg, cglobal(:jl_malloc, Ptr{Cvoid}), 1)
- unsafe_store!(cnfg, cglobal(:jl_calloc, Ptr{Cvoid}), 2)
- unsafe_store!(cnfg, cglobal(:jl_realloc, Ptr{Cvoid}), 3)
- unsafe_store!(cnfg, cglobal(:jl_free, Ptr{Cvoid}), 4)
- end
-
catch ex
@error "Error during initialization of module CHOLMOD" exception=ex,catch_backtrace()
end