Date: Tuesday, September 6, 2022 @ 20:29:32 Author: arojas Revision: 1294940
archrelease: copy trunk to community-x86_64 Added: julia/repos/community-x86_64/074d761f.patch (from rev 1294938, julia/trunk/074d761f.patch) julia/repos/community-x86_64/PKGBUILD (from rev 1294938, julia/trunk/PKGBUILD) julia/repos/community-x86_64/ed9851b0.patch (from rev 1294939, julia/trunk/ed9851b0.patch) julia/repos/community-x86_64/julia-hardcoded-libs.patch (from rev 1294939, julia/trunk/julia-hardcoded-libs.patch) julia/repos/community-x86_64/julia-libgit-1.4.patch (from rev 1294939, julia/trunk/julia-libgit-1.4.patch) julia/repos/community-x86_64/julia-libunwind-1.6.patch (from rev 1294939, julia/trunk/julia-libunwind-1.6.patch) julia/repos/community-x86_64/julia-llvm-14.patch (from rev 1294939, julia/trunk/julia-llvm-14.patch) julia/repos/community-x86_64/julia-system-cblas.patch (from rev 1294939, julia/trunk/julia-system-cblas.patch) julia/repos/community-x86_64/keys/ julia/repos/community-x86_64/make-install-no-build.patch (from rev 1294939, julia/trunk/make-install-no-build.patch) Deleted: julia/repos/community-x86_64/074d761f.patch julia/repos/community-x86_64/PKGBUILD julia/repos/community-x86_64/ed9851b0.patch julia/repos/community-x86_64/julia-hardcoded-libs.patch julia/repos/community-x86_64/julia-libgit-1.4.patch julia/repos/community-x86_64/julia-libunwind-1.6.patch julia/repos/community-x86_64/julia-llvm-14.patch julia/repos/community-x86_64/julia-system-cblas.patch julia/repos/community-x86_64/keys/ julia/repos/community-x86_64/make-install-no-build.patch -----------------------------+ 074d761f.patch | 148 ++++++++--------- PKGBUILD | 276 ++++++++++++++++---------------- ed9851b0.patch | 356 +++++++++++++++++++++--------------------- julia-hardcoded-libs.patch | 138 ++++++++-------- julia-libgit-1.4.patch | 80 ++++----- julia-libunwind-1.6.patch | 40 ++-- julia-llvm-14.patch | 28 +-- julia-system-cblas.patch | 216 ++++++++++++------------- make-install-no-build.patch | 28 +-- 9 files changed, 655 insertions(+), 655 deletions(-) Deleted: 074d761f.patch =================================================================== --- 074d761f.patch 2022-09-06 20:29:17 UTC (rev 1294939) +++ 074d761f.patch 2022-09-06 20:29:32 UTC (rev 1294940) @@ -1,74 +0,0 @@ -From 074d761f00c41fc55f6fab0cb4c6969a9c09e27b Mon Sep 17 00:00:00 2001 -From: Valentin Churavy <v.chur...@gmail.com> -Date: Fri, 18 Feb 2022 14:37:41 -0500 -Subject: [PATCH] fix some missing includes - ---- - src/llvm-alloc-helpers.cpp | 2 ++ - src/llvm-demote-float16.cpp | 1 + - src/llvm-late-gc-lowering.cpp | 1 + - src/llvm-lower-handlers.cpp | 1 + - src/llvm-remove-ni.cpp | 1 + - 5 files changed, 6 insertions(+) - -diff --git a/src/llvm-alloc-helpers.cpp b/src/llvm-alloc-helpers.cpp -index 55a93ea5179b5..7469c34e02722 100644 ---- a/src/llvm-alloc-helpers.cpp -+++ b/src/llvm-alloc-helpers.cpp -@@ -5,6 +5,8 @@ - #include "codegen_shared.h" - #include "julia_assert.h" - -+#include <llvm/IR/IntrinsicInst.h> -+ - using namespace llvm; - using namespace jl_alloc; - -diff --git a/src/llvm-demote-float16.cpp b/src/llvm-demote-float16.cpp -index 25c93252558bb..46126c0ec06e3 100644 ---- a/src/llvm-demote-float16.cpp -+++ b/src/llvm-demote-float16.cpp -@@ -19,6 +19,7 @@ - #include "support/dtypes.h" - #include "passes.h" - -+#include <llvm/Pass.h> - #include <llvm/IR/IRBuilder.h> - #include <llvm/IR/LegacyPassManager.h> - #include <llvm/IR/PassManager.h> -diff --git a/src/llvm-late-gc-lowering.cpp b/src/llvm-late-gc-lowering.cpp -index 6069c7f2e2869..e0163b14a0189 100644 ---- a/src/llvm-late-gc-lowering.cpp -+++ b/src/llvm-late-gc-lowering.cpp -@@ -34,6 +34,7 @@ - #include "julia_internal.h" - #include "julia_assert.h" - #include "llvm-pass-helpers.h" -+#include <map> - - #define DEBUG_TYPE "late_lower_gcroot" - -diff --git a/src/llvm-lower-handlers.cpp b/src/llvm-lower-handlers.cpp -index 324c591f77be8..045056805bddd 100644 ---- a/src/llvm-lower-handlers.cpp -+++ b/src/llvm-lower-handlers.cpp -@@ -22,6 +22,7 @@ - #include "julia.h" - #include "julia_assert.h" - #include "codegen_shared.h" -+#include <map> - - #define DEBUG_TYPE "lower_handlers" - #undef DEBUG -diff --git a/src/llvm-remove-ni.cpp b/src/llvm-remove-ni.cpp -index 50a6041c017e0..13680064211c7 100644 ---- a/src/llvm-remove-ni.cpp -+++ b/src/llvm-remove-ni.cpp -@@ -3,6 +3,7 @@ - #include "llvm-version.h" - #include "passes.h" - -+#include <llvm/Pass.h> - #include <llvm/IR/Module.h> - #include <llvm/IR/PassManager.h> - #include <llvm/IR/LegacyPassManager.h> Copied: julia/repos/community-x86_64/074d761f.patch (from rev 1294938, julia/trunk/074d761f.patch) =================================================================== --- 074d761f.patch (rev 0) +++ 074d761f.patch 2022-09-06 20:29:32 UTC (rev 1294940) @@ -0,0 +1,74 @@ +From 074d761f00c41fc55f6fab0cb4c6969a9c09e27b Mon Sep 17 00:00:00 2001 +From: Valentin Churavy <v.chur...@gmail.com> +Date: Fri, 18 Feb 2022 14:37:41 -0500 +Subject: [PATCH] fix some missing includes + +--- + src/llvm-alloc-helpers.cpp | 2 ++ + src/llvm-demote-float16.cpp | 1 + + src/llvm-late-gc-lowering.cpp | 1 + + src/llvm-lower-handlers.cpp | 1 + + src/llvm-remove-ni.cpp | 1 + + 5 files changed, 6 insertions(+) + +diff --git a/src/llvm-alloc-helpers.cpp b/src/llvm-alloc-helpers.cpp +index 55a93ea5179b5..7469c34e02722 100644 +--- a/src/llvm-alloc-helpers.cpp ++++ b/src/llvm-alloc-helpers.cpp +@@ -5,6 +5,8 @@ + #include "codegen_shared.h" + #include "julia_assert.h" + ++#include <llvm/IR/IntrinsicInst.h> ++ + using namespace llvm; + using namespace jl_alloc; + +diff --git a/src/llvm-demote-float16.cpp b/src/llvm-demote-float16.cpp +index 25c93252558bb..46126c0ec06e3 100644 +--- a/src/llvm-demote-float16.cpp ++++ b/src/llvm-demote-float16.cpp +@@ -19,6 +19,7 @@ + #include "support/dtypes.h" + #include "passes.h" + ++#include <llvm/Pass.h> + #include <llvm/IR/IRBuilder.h> + #include <llvm/IR/LegacyPassManager.h> + #include <llvm/IR/PassManager.h> +diff --git a/src/llvm-late-gc-lowering.cpp b/src/llvm-late-gc-lowering.cpp +index 6069c7f2e2869..e0163b14a0189 100644 +--- a/src/llvm-late-gc-lowering.cpp ++++ b/src/llvm-late-gc-lowering.cpp +@@ -34,6 +34,7 @@ + #include "julia_internal.h" + #include "julia_assert.h" + #include "llvm-pass-helpers.h" ++#include <map> + + #define DEBUG_TYPE "late_lower_gcroot" + +diff --git a/src/llvm-lower-handlers.cpp b/src/llvm-lower-handlers.cpp +index 324c591f77be8..045056805bddd 100644 +--- a/src/llvm-lower-handlers.cpp ++++ b/src/llvm-lower-handlers.cpp +@@ -22,6 +22,7 @@ + #include "julia.h" + #include "julia_assert.h" + #include "codegen_shared.h" ++#include <map> + + #define DEBUG_TYPE "lower_handlers" + #undef DEBUG +diff --git a/src/llvm-remove-ni.cpp b/src/llvm-remove-ni.cpp +index 50a6041c017e0..13680064211c7 100644 +--- a/src/llvm-remove-ni.cpp ++++ b/src/llvm-remove-ni.cpp +@@ -3,6 +3,7 @@ + #include "llvm-version.h" + #include "passes.h" + ++#include <llvm/Pass.h> + #include <llvm/IR/Module.h> + #include <llvm/IR/PassManager.h> + #include <llvm/IR/LegacyPassManager.h> Deleted: PKGBUILD =================================================================== --- PKGBUILD 2022-09-06 20:29:17 UTC (rev 1294939) +++ PKGBUILD 2022-09-06 20:29:32 UTC (rev 1294940) @@ -1,138 +0,0 @@ -# Maintainer: Antonio Rojas <aro...@archlinux.org> -# Contributor: Alexander F. Rødseth <xypr...@archlinux.org> -# Contributor: Eli Schwartz <eschwa...@archlinux.org> -# Contributor: Lex Black <autumn-w...@web.de> -# Contributor: Michael Jakl <jakl.mich...@gmail.com> -# Contributor: devmotion <nospam-archlinux....@devmotion.de> -# Contributor: Valentin Churavy <v.chur...@gmail.com> - -pkgname=julia -epoch=2 -pkgver=1.8.0 -pkgrel=1 -arch=(x86_64) -pkgdesc='High-level, high-performance, dynamic programming language' -url='https://julialang.org/' -license=(MIT) -depends=(cblas fftw hicolor-icon-theme libgit2 libunwind libutf8proc openblas - suitesparse mbedtls openlibm pcre2 llvm-libs p7zip libblastrampoline) -makedepends=(cmake gcc-fortran python llvm patchelf libwhich) -optdepends=('gnuplot: If using the Gaston Package from julia') -replaces=(julia-docs) -source=(https://github.com/JuliaLang/julia/releases/download/v$pkgver/$pkgname-$pkgver-full.tar.gz{,.asc} - ed9851b0.patch - 074d761f.patch - julia-llvm-14.patch - julia-libgit-1.4.patch - julia-libunwind-1.6.patch - julia-system-cblas.patch - julia-hardcoded-libs.patch - make-install-no-build.patch) -backup=(etc/julia/startup.jl) -sha256sums=('fe278b2e8d59bb60abfd64cfad4074e23ee0353c26615423d70a5085de4124e1' - 'SKIP' - 'ce0de27461197ade425cacdd3a642a6b2579e27c7ecc4a457e2b1bde2d76492a' - '5d4093de84f836e16ec7f83736494e82804ab2fa37bc5594a5b99b1708dce322' - '0d9e21126820a20083e0251c61129134166cc1c7b6637fbda1d3e6ee7614cce0' - 'adc5576281a9031c006c0977de7d3f464c2c8bc649cfc7271d0e426a5531fb5a' - 'cea321f7e16381dd795ee20d7bd5eda64f9b453c01d13e960962eb2723907e24' - '65f24275edb8357ded3c53fd8a10c3d1ed13fa3d34a3869df0c04da10dba6c9d' - '929a52a5503b6d1a21774c170ece0981cb7da1c1e7a5b7a2892cfb1251689b55' - 'f2dc0b7164868dc56d3f8744c4a1596e964c66265023751c95e1976bb15bd5f8') -validpgpkeys=('3673DF529D9049477F76B37566E3C7DC03D6E495') # Julia (Binary signing key) <build...@julialang.org> -options=(!lto) - -prepare() { - cd $pkgname-$pkgver - -# Fixes for LLVM 14 - patch -p1 -i ../ed9851b0.patch - patch -p1 -i ../074d761f.patch - patch -p1 -i ../julia-llvm-14.patch -# libgit2 1.4 compatibility - patch -p1 -i ../julia-libgit-1.4.patch -# libunwind 1.6 compatibility - patch -p1 -i ../julia-libunwind-1.6.patch -# Add and use option to build with system cblas - patch -p1 -i ../julia-system-cblas.patch -# Don't hardcode library names - patch -p1 -i ../julia-hardcoded-libs.patch -# Don't build again in install - patch -p1 -i ../make-install-no-build.patch -# Fix test failures due to using system blas - sed -e 's|0.22314355f0 + 3.1415927f0im|0.22314355f0 - 3.1415927f0im|' -i stdlib/LinearAlgebra/test/lu.jl - sed -e 's|\$Int|Int32|' -i stdlib/LinearAlgebra/test/lu.jl -} - -_buildopts="prefix=/usr \ - bindir=/usr/bin \ - sysconfdir=/etc \ - libexecdir=/usr/lib \ - USE_BINARYBUILDER=0 \ - USE_SYSTEM_CSL=1 \ - USE_SYSTEM_LLVM=1 \ - USE_SYSTEM_LIBUNWIND=1 \ - USE_SYSTEM_PCRE=1 \ - USE_SYSTEM_BLAS=1 \ - USE_SYSTEM_LAPACK=1 \ - USE_SYSTEM_LIBBLASTRAMPOLINE=1 \ - USE_SYSTEM_GMP=1 \ - USE_SYSTEM_MPFR=1 \ - USE_SYSTEM_LIBSUITESPARSE=1 \ - USE_SYSTEM_LIBWHICH=1 \ - USE_SYSTEM_DSFMT=0 \ - USE_SYSTEM_LIBUV=0 \ - USE_SYSTEM_UTF8PROC=1 \ - USE_SYSTEM_LIBGIT2=1 \ - USE_SYSTEM_LIBSSH2=1 \ - USE_SYSTEM_MBEDTLS=1 \ - USE_SYSTEM_CURL=1 \ - USE_SYSTEM_PATCHELF=1 \ - USE_SYSTEM_ZLIB=1 \ - USE_SYSTEM_P7ZIP=1 \ - USE_SYSTEM_OPENLIBM=1 \ - MARCH=x86-64" - -build() { - cd $pkgname-$pkgver - make release VERBOSE=1 JLDFLAGS=${LDFLAGS} $_buildopts -} - -check() { - cd $pkgname-$pkgver/test - - # this is the make testall target, plus the --skip option from - # travis/appveyor/circleci (one test fails with DNS resolution errors) - # Also skip tests that check for a hardcoded version number - # TODO: Remove SuiteSparse from skip list in 1.9 (it is downloaded at build time from a separate repo, not easily patchable) - ../julia --check-bounds=yes --startup-file=no ./runtests.jl \ - --skip Sockets \ - --skip broadcast \ - --skip Distributed \ - --skip nghttp2_jll \ - --skip GMP_jll \ - --skip LibCURL \ - --skip LibSSH2_jll \ - --skip MbedTLS_jll \ - --skip MPFR_jll \ - --skip SuiteSparse \ - --skip SuiteSparse_jll \ - --skip PCRE2_jll \ - --skip LibGit2_jll \ - --skip Zlib_jll \ - --skip MozillaCACerts_jll \ - --skip NetworkOptions \ - --skip Downloads - find ../stdlib \( -name \*.cov -o -name \*.mem \) -delete - rm -fr ../stdlib/Artifacts/test/artifacts -} - -package() { - cd $pkgname-$pkgver - make DESTDIR="$pkgdir" install $_buildopts - - ln -s /usr/lib/libopenblas.so "$pkgdir"/usr/lib/julia/libopenblas64_.so # Needed by some 3rd party packages - - rm "$pkgdir"/usr/lib/julia/libccalltest.so.debug # Remove debug testing library - install -Dm644 LICENSE.md -t "$pkgdir"/usr/share/licenses/$pkgname -} Copied: julia/repos/community-x86_64/PKGBUILD (from rev 1294938, julia/trunk/PKGBUILD) =================================================================== --- PKGBUILD (rev 0) +++ PKGBUILD 2022-09-06 20:29:32 UTC (rev 1294940) @@ -0,0 +1,138 @@ +# Maintainer: Antonio Rojas <aro...@archlinux.org> +# Contributor: Alexander F. Rødseth <xypr...@archlinux.org> +# Contributor: Eli Schwartz <eschwa...@archlinux.org> +# Contributor: Lex Black <autumn-w...@web.de> +# Contributor: Michael Jakl <jakl.mich...@gmail.com> +# Contributor: devmotion <nospam-archlinux....@devmotion.de> +# Contributor: Valentin Churavy <v.chur...@gmail.com> + +pkgname=julia +epoch=2 +pkgver=1.8.1 +pkgrel=1 +arch=(x86_64) +pkgdesc='High-level, high-performance, dynamic programming language' +url='https://julialang.org/' +license=(MIT) +depends=(cblas fftw hicolor-icon-theme libgit2 libunwind libutf8proc openblas + suitesparse mbedtls openlibm pcre2 llvm-libs p7zip libblastrampoline) +makedepends=(cmake gcc-fortran python llvm patchelf libwhich) +optdepends=('gnuplot: If using the Gaston Package from julia') +replaces=(julia-docs) +source=(https://github.com/JuliaLang/julia/releases/download/v$pkgver/$pkgname-$pkgver-full.tar.gz{,.asc} + ed9851b0.patch + 074d761f.patch + julia-llvm-14.patch + julia-libgit-1.4.patch + julia-libunwind-1.6.patch + julia-system-cblas.patch + julia-hardcoded-libs.patch + make-install-no-build.patch) +backup=(etc/julia/startup.jl) +sha256sums=('31e4655f4b377e73d6f583c539d0221ed7b480a3ea091833d0005316185c5b61' + 'SKIP' + 'ce0de27461197ade425cacdd3a642a6b2579e27c7ecc4a457e2b1bde2d76492a' + '5d4093de84f836e16ec7f83736494e82804ab2fa37bc5594a5b99b1708dce322' + '0d9e21126820a20083e0251c61129134166cc1c7b6637fbda1d3e6ee7614cce0' + 'adc5576281a9031c006c0977de7d3f464c2c8bc649cfc7271d0e426a5531fb5a' + 'cea321f7e16381dd795ee20d7bd5eda64f9b453c01d13e960962eb2723907e24' + '65f24275edb8357ded3c53fd8a10c3d1ed13fa3d34a3869df0c04da10dba6c9d' + '929a52a5503b6d1a21774c170ece0981cb7da1c1e7a5b7a2892cfb1251689b55' + 'f2dc0b7164868dc56d3f8744c4a1596e964c66265023751c95e1976bb15bd5f8') +validpgpkeys=('3673DF529D9049477F76B37566E3C7DC03D6E495') # Julia (Binary signing key) <build...@julialang.org> +options=(!lto) + +prepare() { + cd $pkgname-$pkgver + +# Fixes for LLVM 14 + patch -p1 -i ../ed9851b0.patch + patch -p1 -i ../074d761f.patch + patch -p1 -i ../julia-llvm-14.patch +# libgit2 1.4 compatibility + patch -p1 -i ../julia-libgit-1.4.patch +# libunwind 1.6 compatibility + patch -p1 -i ../julia-libunwind-1.6.patch +# Add and use option to build with system cblas + patch -p1 -i ../julia-system-cblas.patch +# Don't hardcode library names + patch -p1 -i ../julia-hardcoded-libs.patch +# Don't build again in install + patch -p1 -i ../make-install-no-build.patch +# Fix test failures due to using system blas + sed -e 's|0.22314355f0 + 3.1415927f0im|0.22314355f0 - 3.1415927f0im|' -i stdlib/LinearAlgebra/test/lu.jl + sed -e 's|\$Int|Int32|' -i stdlib/LinearAlgebra/test/lu.jl +} + +_buildopts="prefix=/usr \ + bindir=/usr/bin \ + sysconfdir=/etc \ + libexecdir=/usr/lib \ + USE_BINARYBUILDER=0 \ + USE_SYSTEM_CSL=1 \ + USE_SYSTEM_LLVM=1 \ + USE_SYSTEM_LIBUNWIND=1 \ + USE_SYSTEM_PCRE=1 \ + USE_SYSTEM_BLAS=1 \ + USE_SYSTEM_LAPACK=1 \ + USE_SYSTEM_LIBBLASTRAMPOLINE=1 \ + USE_SYSTEM_GMP=1 \ + USE_SYSTEM_MPFR=1 \ + USE_SYSTEM_LIBSUITESPARSE=1 \ + USE_SYSTEM_LIBWHICH=1 \ + USE_SYSTEM_DSFMT=0 \ + USE_SYSTEM_LIBUV=0 \ + USE_SYSTEM_UTF8PROC=1 \ + USE_SYSTEM_LIBGIT2=1 \ + USE_SYSTEM_LIBSSH2=1 \ + USE_SYSTEM_MBEDTLS=1 \ + USE_SYSTEM_CURL=1 \ + USE_SYSTEM_PATCHELF=1 \ + USE_SYSTEM_ZLIB=1 \ + USE_SYSTEM_P7ZIP=1 \ + USE_SYSTEM_OPENLIBM=1 \ + MARCH=x86-64" + +build() { + cd $pkgname-$pkgver + make release VERBOSE=1 JLDFLAGS=${LDFLAGS} $_buildopts +} + +check() { + cd $pkgname-$pkgver/test + + # this is the make testall target, plus the --skip option from + # travis/appveyor/circleci (one test fails with DNS resolution errors) + # Also skip tests that check for a hardcoded version number + # TODO: Remove SuiteSparse from skip list in 1.9 (it is downloaded at build time from a separate repo, not easily patchable) + ../julia --check-bounds=yes --startup-file=no ./runtests.jl \ + --skip Sockets \ + --skip broadcast \ + --skip Distributed \ + --skip nghttp2_jll \ + --skip GMP_jll \ + --skip LibCURL \ + --skip LibSSH2_jll \ + --skip MbedTLS_jll \ + --skip MPFR_jll \ + --skip SuiteSparse \ + --skip SuiteSparse_jll \ + --skip PCRE2_jll \ + --skip LibGit2_jll \ + --skip Zlib_jll \ + --skip MozillaCACerts_jll \ + --skip NetworkOptions \ + --skip Downloads + find ../stdlib \( -name \*.cov -o -name \*.mem \) -delete + rm -fr ../stdlib/Artifacts/test/artifacts +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install $_buildopts + + ln -s /usr/lib/libopenblas.so "$pkgdir"/usr/lib/julia/libopenblas64_.so # Needed by some 3rd party packages + + rm "$pkgdir"/usr/lib/julia/libccalltest.so.debug # Remove debug testing library + install -Dm644 LICENSE.md -t "$pkgdir"/usr/share/licenses/$pkgname +} Deleted: ed9851b0.patch =================================================================== --- ed9851b0.patch 2022-09-06 20:29:17 UTC (rev 1294939) +++ ed9851b0.patch 2022-09-06 20:29:32 UTC (rev 1294940) @@ -1,178 +0,0 @@ -From ed9851b020f8b6c05d604e2dd60dc2f53a62af0d Mon Sep 17 00:00:00 2001 -From: Valentin Churavy <v.chur...@gmail.com> -Date: Fri, 18 Feb 2022 14:37:31 -0500 -Subject: [PATCH] AttrBuilder now takes LLVMContext - ---- - src/ccall.cpp | 46 +++++++++++++++++++++++++++++----------------- - src/cgutils.cpp | 4 ++++ - src/codegen.cpp | 8 ++++++++ - 3 files changed, 41 insertions(+), 17 deletions(-) - -diff --git a/src/ccall.cpp b/src/ccall.cpp -index 332c057afa5c4..5f260d9178ffa 100644 ---- a/src/ccall.cpp -+++ b/src/ccall.cpp -@@ -1020,18 +1020,22 @@ std::string generate_func_sig(const char *fname) - else - abi.reset(new DefaultAbiState()); - sret = 0; -- -+ LLVMContext &LLVMCtx = lrt->getContext(); - if (type_is_ghost(lrt)) { -- prt = lrt = getVoidTy(lrt->getContext()); -- abi->use_sret(jl_nothing_type, lrt->getContext()); -+ prt = lrt = getVoidTy(LLVMCtx); -+ abi->use_sret(jl_nothing_type, LLVMCtx); - } - else { - if (retboxed || jl_is_cpointer_type(rt) || lrt->isPointerTy()) { - prt = lrt; // passed as pointer -- abi->use_sret(jl_voidpointer_type, lrt->getContext()); -+ abi->use_sret(jl_voidpointer_type, LLVMCtx); - } -- else if (abi->use_sret((jl_datatype_t*)rt, lrt->getContext())) { -- AttrBuilder retattrs = AttrBuilder(); -+ else if (abi->use_sret((jl_datatype_t*)rt, LLVMCtx)) { -+#if JL_LLVM_VERSION >= 140000 -+ AttrBuilder retattrs(LLVMCtx); -+#else -+ AttrBuilder retattrs; -+#endif - #if !defined(_OS_WINDOWS_) // llvm used to use the old mingw ABI, skipping this marking works around that difference - retattrs.addStructRetAttr(lrt); - #endif -@@ -1042,24 +1046,28 @@ std::string generate_func_sig(const char *fname) - prt = lrt; - } - else { -- prt = abi->preferred_llvm_type((jl_datatype_t*)rt, true, lrt->getContext()); -+ prt = abi->preferred_llvm_type((jl_datatype_t*)rt, true, LLVMCtx); - if (prt == NULL) - prt = lrt; - } - } - - for (size_t i = 0; i < nccallargs; ++i) { -+#if JL_LLVM_VERSION >= 140000 -+ AttrBuilder ab(LLVMCtx); -+#else - AttrBuilder ab; -+#endif - jl_value_t *tti = jl_svecref(at, i); - Type *t = NULL; - bool isboxed; - if (jl_is_abstract_ref_type(tti)) { - tti = (jl_value_t*)jl_voidpointer_type; -- t = getInt8PtrTy(lrt->getContext()); -+ t = getInt8PtrTy(LLVMCtx); - isboxed = false; - } - else if (llvmcall && jl_is_llvmpointer_type(tti)) { -- t = bitstype_to_llvm(tti, lrt->getContext(), true); -+ t = bitstype_to_llvm(tti, LLVMCtx, true); - tti = (jl_value_t*)jl_voidpointer_type; - isboxed = false; - } -@@ -1076,8 +1084,8 @@ std::string generate_func_sig(const char *fname) - } - } - -- t = _julia_struct_to_llvm(ctx, lrt->getContext(), tti, &isboxed, llvmcall); -- if (t == getVoidTy(lrt->getContext())) { -+ t = _julia_struct_to_llvm(ctx, LLVMCtx, tti, &isboxed, llvmcall); -+ if (t == getVoidTy(LLVMCtx)) { - return make_errmsg(fname, i + 1, " type doesn't correspond to a C type"); - } - } -@@ -1088,7 +1096,7 @@ std::string generate_func_sig(const char *fname) - - // Whether or not LLVM wants us to emit a pointer to the data - assert(t && "LLVM type should not be null"); -- bool byRef = abi->needPassByRef((jl_datatype_t*)tti, ab, lrt->getContext(), t); -+ bool byRef = abi->needPassByRef((jl_datatype_t*)tti, ab, LLVMCtx, t); - - if (jl_is_cpointer_type(tti)) { - pat = t; -@@ -1097,7 +1105,7 @@ std::string generate_func_sig(const char *fname) - pat = PointerType::get(t, AddressSpace::Derived); - } - else { -- pat = abi->preferred_llvm_type((jl_datatype_t*)tti, false, lrt->getContext()); -+ pat = abi->preferred_llvm_type((jl_datatype_t*)tti, false, LLVMCtx); - if (pat == NULL) - pat = t; - } -@@ -1120,20 +1128,24 @@ std::string generate_func_sig(const char *fname) - fargt.push_back(t); - fargt_isboxed.push_back(isboxed); - fargt_sig.push_back(pat); -- paramattrs.push_back(AttributeSet::get(lrt->getContext(), ab)); -+#if JL_LLVM_VERSION >= 140000 -+ paramattrs.push_back(AttrBuilder(LLVMCtx, AttributeSet::get(LLVMCtx, ab))); -+#else -+ paramattrs.push_back(AttributeSet::get(LLVMCtx, ab)); -+#endif - } - - for (size_t i = 0; i < nccallargs + sret; ++i) { - const auto &as = paramattrs.at(i); - if (!as.hasAttributes()) - continue; -- attributes = addAttributesAtIndex(attributes, lrt->getContext(), i + 1, as); -+ attributes = addAttributesAtIndex(attributes, LLVMCtx, i + 1, as); - } - // If return value is boxed it must be non-null. - if (retboxed) -- attributes = addRetAttribute(attributes, lrt->getContext(), Attribute::NonNull); -+ attributes = addRetAttribute(attributes, LLVMCtx, Attribute::NonNull); - if (rt == jl_bottom_type) { -- attributes = addFnAttribute(attributes, lrt->getContext(), Attribute::NoReturn); -+ attributes = addFnAttribute(attributes, LLVMCtx, Attribute::NoReturn); - } - return ""; - } -diff --git a/src/cgutils.cpp b/src/cgutils.cpp -index b219498315905..e04abe8c06e03 100644 ---- a/src/cgutils.cpp -+++ b/src/cgutils.cpp -@@ -340,7 +340,11 @@ static unsigned julia_alignment(jl_value_t *jt) - - static inline void maybe_mark_argument_dereferenceable(Argument *A, jl_value_t *jt) - { -+#if JL_LLVM_VERSION >= 140000 -+ AttrBuilder B(A->getContext()); -+#else - AttrBuilder B; -+#endif - B.addAttribute(Attribute::NonNull); - // The `dereferencable` below does not imply `nonnull` for non addrspace(0) pointers. - size_t size = dereferenceable_size(jt); -diff --git a/src/codegen.cpp b/src/codegen.cpp -index be6d8e2f66325..83946391e40c8 100644 ---- a/src/codegen.cpp -+++ b/src/codegen.cpp -@@ -1952,7 +1952,11 @@ static void jl_init_function(Function *F) - // upon entry to any function. This achieves compatibility - // with both MinGW-GCC (which assumes an 16-byte-aligned stack) and - // i686 Windows (which uses a 4-byte-aligned stack) -+#if JL_LLVM_VERSION >= 140000 -+ AttrBuilder attr(F->getContext()); -+#else - AttrBuilder attr; -+#endif - attr.addStackAlignmentAttr(16); - F->addAttributes(AttributeList::FunctionIndex, attr); - #endif -@@ -5311,7 +5315,11 @@ static Function* gen_cfun_wrapper( - } - - // Add the new nest attribute -+#if JL_LLVM_VERSION >= 140000 -+ AttrBuilder attrBuilder(M->getContext()); -+#else - AttrBuilder attrBuilder; -+#endif - attrBuilder.addAttribute(Attribute::Nest); - newAttributes.emplace_back(it, AttributeSet::get(M->getContext(), attrBuilder)); - Copied: julia/repos/community-x86_64/ed9851b0.patch (from rev 1294939, julia/trunk/ed9851b0.patch) =================================================================== --- ed9851b0.patch (rev 0) +++ ed9851b0.patch 2022-09-06 20:29:32 UTC (rev 1294940) @@ -0,0 +1,178 @@ +From ed9851b020f8b6c05d604e2dd60dc2f53a62af0d Mon Sep 17 00:00:00 2001 +From: Valentin Churavy <v.chur...@gmail.com> +Date: Fri, 18 Feb 2022 14:37:31 -0500 +Subject: [PATCH] AttrBuilder now takes LLVMContext + +--- + src/ccall.cpp | 46 +++++++++++++++++++++++++++++----------------- + src/cgutils.cpp | 4 ++++ + src/codegen.cpp | 8 ++++++++ + 3 files changed, 41 insertions(+), 17 deletions(-) + +diff --git a/src/ccall.cpp b/src/ccall.cpp +index 332c057afa5c4..5f260d9178ffa 100644 +--- a/src/ccall.cpp ++++ b/src/ccall.cpp +@@ -1020,18 +1020,22 @@ std::string generate_func_sig(const char *fname) + else + abi.reset(new DefaultAbiState()); + sret = 0; +- ++ LLVMContext &LLVMCtx = lrt->getContext(); + if (type_is_ghost(lrt)) { +- prt = lrt = getVoidTy(lrt->getContext()); +- abi->use_sret(jl_nothing_type, lrt->getContext()); ++ prt = lrt = getVoidTy(LLVMCtx); ++ abi->use_sret(jl_nothing_type, LLVMCtx); + } + else { + if (retboxed || jl_is_cpointer_type(rt) || lrt->isPointerTy()) { + prt = lrt; // passed as pointer +- abi->use_sret(jl_voidpointer_type, lrt->getContext()); ++ abi->use_sret(jl_voidpointer_type, LLVMCtx); + } +- else if (abi->use_sret((jl_datatype_t*)rt, lrt->getContext())) { +- AttrBuilder retattrs = AttrBuilder(); ++ else if (abi->use_sret((jl_datatype_t*)rt, LLVMCtx)) { ++#if JL_LLVM_VERSION >= 140000 ++ AttrBuilder retattrs(LLVMCtx); ++#else ++ AttrBuilder retattrs; ++#endif + #if !defined(_OS_WINDOWS_) // llvm used to use the old mingw ABI, skipping this marking works around that difference + retattrs.addStructRetAttr(lrt); + #endif +@@ -1042,24 +1046,28 @@ std::string generate_func_sig(const char *fname) + prt = lrt; + } + else { +- prt = abi->preferred_llvm_type((jl_datatype_t*)rt, true, lrt->getContext()); ++ prt = abi->preferred_llvm_type((jl_datatype_t*)rt, true, LLVMCtx); + if (prt == NULL) + prt = lrt; + } + } + + for (size_t i = 0; i < nccallargs; ++i) { ++#if JL_LLVM_VERSION >= 140000 ++ AttrBuilder ab(LLVMCtx); ++#else + AttrBuilder ab; ++#endif + jl_value_t *tti = jl_svecref(at, i); + Type *t = NULL; + bool isboxed; + if (jl_is_abstract_ref_type(tti)) { + tti = (jl_value_t*)jl_voidpointer_type; +- t = getInt8PtrTy(lrt->getContext()); ++ t = getInt8PtrTy(LLVMCtx); + isboxed = false; + } + else if (llvmcall && jl_is_llvmpointer_type(tti)) { +- t = bitstype_to_llvm(tti, lrt->getContext(), true); ++ t = bitstype_to_llvm(tti, LLVMCtx, true); + tti = (jl_value_t*)jl_voidpointer_type; + isboxed = false; + } +@@ -1076,8 +1084,8 @@ std::string generate_func_sig(const char *fname) + } + } + +- t = _julia_struct_to_llvm(ctx, lrt->getContext(), tti, &isboxed, llvmcall); +- if (t == getVoidTy(lrt->getContext())) { ++ t = _julia_struct_to_llvm(ctx, LLVMCtx, tti, &isboxed, llvmcall); ++ if (t == getVoidTy(LLVMCtx)) { + return make_errmsg(fname, i + 1, " type doesn't correspond to a C type"); + } + } +@@ -1088,7 +1096,7 @@ std::string generate_func_sig(const char *fname) + + // Whether or not LLVM wants us to emit a pointer to the data + assert(t && "LLVM type should not be null"); +- bool byRef = abi->needPassByRef((jl_datatype_t*)tti, ab, lrt->getContext(), t); ++ bool byRef = abi->needPassByRef((jl_datatype_t*)tti, ab, LLVMCtx, t); + + if (jl_is_cpointer_type(tti)) { + pat = t; +@@ -1097,7 +1105,7 @@ std::string generate_func_sig(const char *fname) + pat = PointerType::get(t, AddressSpace::Derived); + } + else { +- pat = abi->preferred_llvm_type((jl_datatype_t*)tti, false, lrt->getContext()); ++ pat = abi->preferred_llvm_type((jl_datatype_t*)tti, false, LLVMCtx); + if (pat == NULL) + pat = t; + } +@@ -1120,20 +1128,24 @@ std::string generate_func_sig(const char *fname) + fargt.push_back(t); + fargt_isboxed.push_back(isboxed); + fargt_sig.push_back(pat); +- paramattrs.push_back(AttributeSet::get(lrt->getContext(), ab)); ++#if JL_LLVM_VERSION >= 140000 ++ paramattrs.push_back(AttrBuilder(LLVMCtx, AttributeSet::get(LLVMCtx, ab))); ++#else ++ paramattrs.push_back(AttributeSet::get(LLVMCtx, ab)); ++#endif + } + + for (size_t i = 0; i < nccallargs + sret; ++i) { + const auto &as = paramattrs.at(i); + if (!as.hasAttributes()) + continue; +- attributes = addAttributesAtIndex(attributes, lrt->getContext(), i + 1, as); ++ attributes = addAttributesAtIndex(attributes, LLVMCtx, i + 1, as); + } + // If return value is boxed it must be non-null. + if (retboxed) +- attributes = addRetAttribute(attributes, lrt->getContext(), Attribute::NonNull); ++ attributes = addRetAttribute(attributes, LLVMCtx, Attribute::NonNull); + if (rt == jl_bottom_type) { +- attributes = addFnAttribute(attributes, lrt->getContext(), Attribute::NoReturn); ++ attributes = addFnAttribute(attributes, LLVMCtx, Attribute::NoReturn); + } + return ""; + } +diff --git a/src/cgutils.cpp b/src/cgutils.cpp +index b219498315905..e04abe8c06e03 100644 +--- a/src/cgutils.cpp ++++ b/src/cgutils.cpp +@@ -340,7 +340,11 @@ static unsigned julia_alignment(jl_value_t *jt) + + static inline void maybe_mark_argument_dereferenceable(Argument *A, jl_value_t *jt) + { ++#if JL_LLVM_VERSION >= 140000 ++ AttrBuilder B(A->getContext()); ++#else + AttrBuilder B; ++#endif + B.addAttribute(Attribute::NonNull); + // The `dereferencable` below does not imply `nonnull` for non addrspace(0) pointers. + size_t size = dereferenceable_size(jt); +diff --git a/src/codegen.cpp b/src/codegen.cpp +index be6d8e2f66325..83946391e40c8 100644 +--- a/src/codegen.cpp ++++ b/src/codegen.cpp +@@ -1952,7 +1952,11 @@ static void jl_init_function(Function *F) + // upon entry to any function. This achieves compatibility + // with both MinGW-GCC (which assumes an 16-byte-aligned stack) and + // i686 Windows (which uses a 4-byte-aligned stack) ++#if JL_LLVM_VERSION >= 140000 ++ AttrBuilder attr(F->getContext()); ++#else + AttrBuilder attr; ++#endif + attr.addStackAlignmentAttr(16); + F->addAttributes(AttributeList::FunctionIndex, attr); + #endif +@@ -5311,7 +5315,11 @@ static Function* gen_cfun_wrapper( + } + + // Add the new nest attribute ++#if JL_LLVM_VERSION >= 140000 ++ AttrBuilder attrBuilder(M->getContext()); ++#else + AttrBuilder attrBuilder; ++#endif + attrBuilder.addAttribute(Attribute::Nest); + newAttributes.emplace_back(it, AttributeSet::get(M->getContext(), attrBuilder)); + Deleted: julia-hardcoded-libs.patch =================================================================== --- julia-hardcoded-libs.patch 2022-09-06 20:29:17 UTC (rev 1294939) +++ julia-hardcoded-libs.patch 2022-09-06 20:29:32 UTC (rev 1294940) @@ -1,69 +0,0 @@ -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.14.dylib" - const libmbedx509 = "@rpath/libmbedx509.1.dylib" - else -- const libmbedcrypto = "libmbedcrypto.so.7" -- const libmbedtls = "libmbedtls.so.14" -- 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-13jl.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__() -diff --git a/stdlib/LibGit2_jll/src/LibGit2_jll.jl b/stdlib/LibGit2_jll/src/LibGit2_jll.jl -index f0d4b5dda6..2ed3017b51 100644 ---- a/stdlib/LibGit2_jll/src/LibGit2_jll.jl -+++ b/stdlib/LibGit2_jll/src/LibGit2_jll.jl -@@ -23,7 +23,7 @@ if Sys.iswindows() - elseif Sys.isapple() - const libgit2 = "@rpath/libgit2.1.3.dylib" - else -- const libgit2 = "libgit2.so.1.3" -+ const libgit2 = "libgit2.so" - end - - function __init__() -diff --git a/stdlib/OpenLibm_jll/src/OpenLibm_jll.jl b/stdlib/OpenLibm_jll/src/OpenLibm_jll.jl -index 215de8aed6..918d1ffdc2 100644 ---- a/stdlib/OpenLibm_jll/src/OpenLibm_jll.jl -+++ b/stdlib/OpenLibm_jll/src/OpenLibm_jll.jl -@@ -22,7 +22,7 @@ if Sys.iswindows() - elseif Sys.isapple() - const libopenlibm = "@rpath/libopenlibm.4.dylib" - else -- const libopenlibm = "libopenlibm.so.4" -+ const libopenlibm = "libopenlibm.so" - end - - function __init__() Copied: julia/repos/community-x86_64/julia-hardcoded-libs.patch (from rev 1294939, julia/trunk/julia-hardcoded-libs.patch) =================================================================== --- julia-hardcoded-libs.patch (rev 0) +++ julia-hardcoded-libs.patch 2022-09-06 20:29:32 UTC (rev 1294940) @@ -0,0 +1,69 @@ +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.14.dylib" + const libmbedx509 = "@rpath/libmbedx509.1.dylib" + else +- const libmbedcrypto = "libmbedcrypto.so.7" +- const libmbedtls = "libmbedtls.so.14" +- 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-13jl.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__() +diff --git a/stdlib/LibGit2_jll/src/LibGit2_jll.jl b/stdlib/LibGit2_jll/src/LibGit2_jll.jl +index f0d4b5dda6..2ed3017b51 100644 +--- a/stdlib/LibGit2_jll/src/LibGit2_jll.jl ++++ b/stdlib/LibGit2_jll/src/LibGit2_jll.jl +@@ -23,7 +23,7 @@ if Sys.iswindows() + elseif Sys.isapple() + const libgit2 = "@rpath/libgit2.1.3.dylib" + else +- const libgit2 = "libgit2.so.1.3" ++ const libgit2 = "libgit2.so" + end + + function __init__() +diff --git a/stdlib/OpenLibm_jll/src/OpenLibm_jll.jl b/stdlib/OpenLibm_jll/src/OpenLibm_jll.jl +index 215de8aed6..918d1ffdc2 100644 +--- a/stdlib/OpenLibm_jll/src/OpenLibm_jll.jl ++++ b/stdlib/OpenLibm_jll/src/OpenLibm_jll.jl +@@ -22,7 +22,7 @@ if Sys.iswindows() + elseif Sys.isapple() + const libopenlibm = "@rpath/libopenlibm.4.dylib" + else +- const libopenlibm = "libopenlibm.so.4" ++ const libopenlibm = "libopenlibm.so" + end + + function __init__() Deleted: julia-libgit-1.4.patch =================================================================== --- julia-libgit-1.4.patch 2022-09-06 20:29:17 UTC (rev 1294939) +++ julia-libgit-1.4.patch 2022-09-06 20:29:32 UTC (rev 1294940) @@ -1,40 +0,0 @@ -diff --git a/stdlib/LibGit2/src/consts.jl b/stdlib/LibGit2/src/consts.jl -index 2bc9edaf89..55887ebe2a 100644 ---- a/stdlib/LibGit2/src/consts.jl -+++ b/stdlib/LibGit2/src/consts.jl -@@ -247,6 +247,11 @@ const RESET_HARD = Cint(3) # MIXED plus changes in working tree discarded - REBASE_OPERATION_FIXUP = Cint(4), - REBASE_OPERATION_EXEC = Cint(5)) - -+# git_remote_redirect_t -+const GIT_REMOTE_REDIRECT_NONE = Cint(0) -+const GIT_REMOTE_REDIRECT_INITIAL = Cint(1) -+const GIT_REMOTE_REDIRECT_ALL = Cint(2) -+ - # fetch_prune - const FETCH_PRUNE_UNSPECIFIED = Cint(0) - const FETCH_PRUNE = Cint(1) -diff --git a/stdlib/LibGit2/src/types.jl b/stdlib/LibGit2/src/types.jl -index 9ffcaa3646..98d938df65 100644 ---- a/stdlib/LibGit2/src/types.jl -+++ b/stdlib/LibGit2/src/types.jl -@@ -346,6 +346,9 @@ The fields represent: - @static if LibGit2.VERSION >= v"0.25.0" - proxy_opts::ProxyOptions = ProxyOptions() - end -+ @static if LibGit2.VERSION >= v"1.4.0" -+ follow_redirects::Cint = Consts.GIT_REMOTE_REDIRECT_INITIAL -+ end - @static if LibGit2.VERSION >= v"0.24.0" - custom_headers::StrArrayStruct = StrArrayStruct() - end -@@ -677,6 +680,9 @@ The fields represent: - @static if LibGit2.VERSION >= v"0.25.0" - proxy_opts::ProxyOptions = ProxyOptions() - end -+ @static if LibGit2.VERSION >= v"1.4.0" -+ follow_redirects::Cint = Consts.GIT_REMOTE_REDIRECT_INITIAL -+ end - @static if LibGit2.VERSION >= v"0.24.0" - custom_headers::StrArrayStruct = StrArrayStruct() - end Copied: julia/repos/community-x86_64/julia-libgit-1.4.patch (from rev 1294939, julia/trunk/julia-libgit-1.4.patch) =================================================================== --- julia-libgit-1.4.patch (rev 0) +++ julia-libgit-1.4.patch 2022-09-06 20:29:32 UTC (rev 1294940) @@ -0,0 +1,40 @@ +diff --git a/stdlib/LibGit2/src/consts.jl b/stdlib/LibGit2/src/consts.jl +index 2bc9edaf89..55887ebe2a 100644 +--- a/stdlib/LibGit2/src/consts.jl ++++ b/stdlib/LibGit2/src/consts.jl +@@ -247,6 +247,11 @@ const RESET_HARD = Cint(3) # MIXED plus changes in working tree discarded + REBASE_OPERATION_FIXUP = Cint(4), + REBASE_OPERATION_EXEC = Cint(5)) + ++# git_remote_redirect_t ++const GIT_REMOTE_REDIRECT_NONE = Cint(0) ++const GIT_REMOTE_REDIRECT_INITIAL = Cint(1) ++const GIT_REMOTE_REDIRECT_ALL = Cint(2) ++ + # fetch_prune + const FETCH_PRUNE_UNSPECIFIED = Cint(0) + const FETCH_PRUNE = Cint(1) +diff --git a/stdlib/LibGit2/src/types.jl b/stdlib/LibGit2/src/types.jl +index 9ffcaa3646..98d938df65 100644 +--- a/stdlib/LibGit2/src/types.jl ++++ b/stdlib/LibGit2/src/types.jl +@@ -346,6 +346,9 @@ The fields represent: + @static if LibGit2.VERSION >= v"0.25.0" + proxy_opts::ProxyOptions = ProxyOptions() + end ++ @static if LibGit2.VERSION >= v"1.4.0" ++ follow_redirects::Cint = Consts.GIT_REMOTE_REDIRECT_INITIAL ++ end + @static if LibGit2.VERSION >= v"0.24.0" + custom_headers::StrArrayStruct = StrArrayStruct() + end +@@ -677,6 +680,9 @@ The fields represent: + @static if LibGit2.VERSION >= v"0.25.0" + proxy_opts::ProxyOptions = ProxyOptions() + end ++ @static if LibGit2.VERSION >= v"1.4.0" ++ follow_redirects::Cint = Consts.GIT_REMOTE_REDIRECT_INITIAL ++ end + @static if LibGit2.VERSION >= v"0.24.0" + custom_headers::StrArrayStruct = StrArrayStruct() + end Deleted: julia-libunwind-1.6.patch =================================================================== --- julia-libunwind-1.6.patch 2022-09-06 20:29:17 UTC (rev 1294939) +++ julia-libunwind-1.6.patch 2022-09-06 20:29:32 UTC (rev 1294940) @@ -1,20 +0,0 @@ -diff --git a/src/debuginfo.cpp b/src/debuginfo.cpp -index 95b562311b..69fceb0cfe 100644 ---- a/src/debuginfo.cpp -+++ b/src/debuginfo.cpp -@@ -290,6 +290,7 @@ public: - di->format = UNW_INFO_FORMAT_ARM_EXIDX; - di->start_ip = (uintptr_t)arm_text_addr; - di->end_ip = (uintptr_t)(arm_text_addr + arm_text_len); -+ di->load_offset = 0; - di->u.rti.name_ptr = 0; - di->u.rti.table_data = arm_exidx_addr; - di->u.rti.table_len = arm_exidx_len; -@@ -1587,6 +1588,7 @@ void register_eh_frames(uint8_t *Addr, size_t Size) - di->u.rti.table_data = (unw_word_t)table; - di->start_ip = start_ip; - di->end_ip = end_ip; -+ di->load_offset = 0; - - jl_profile_atomic([&]() { - _U_dyn_register(di); Copied: julia/repos/community-x86_64/julia-libunwind-1.6.patch (from rev 1294939, julia/trunk/julia-libunwind-1.6.patch) =================================================================== --- julia-libunwind-1.6.patch (rev 0) +++ julia-libunwind-1.6.patch 2022-09-06 20:29:32 UTC (rev 1294940) @@ -0,0 +1,20 @@ +diff --git a/src/debuginfo.cpp b/src/debuginfo.cpp +index 95b562311b..69fceb0cfe 100644 +--- a/src/debuginfo.cpp ++++ b/src/debuginfo.cpp +@@ -290,6 +290,7 @@ public: + di->format = UNW_INFO_FORMAT_ARM_EXIDX; + di->start_ip = (uintptr_t)arm_text_addr; + di->end_ip = (uintptr_t)(arm_text_addr + arm_text_len); ++ di->load_offset = 0; + di->u.rti.name_ptr = 0; + di->u.rti.table_data = arm_exidx_addr; + di->u.rti.table_len = arm_exidx_len; +@@ -1587,6 +1588,7 @@ void register_eh_frames(uint8_t *Addr, size_t Size) + di->u.rti.table_data = (unw_word_t)table; + di->start_ip = start_ip; + di->end_ip = end_ip; ++ di->load_offset = 0; + + jl_profile_atomic([&]() { + _U_dyn_register(di); Deleted: julia-llvm-14.patch =================================================================== --- julia-llvm-14.patch 2022-09-06 20:29:17 UTC (rev 1294939) +++ julia-llvm-14.patch 2022-09-06 20:29:32 UTC (rev 1294940) @@ -1,14 +0,0 @@ -diff --git a/src/codegen.cpp b/src/codegen.cpp -index ba933b60e554d..18e95fc169c8d 100644 ---- a/src/codegen.cpp -+++ b/src/codegen.cpp -@@ -4659,7 +4659,7 @@ static jl_cgval_t emit_expr(jl_codectx_t &ctx, jl_value_t *expr, ssize_t ssaval) - jl_cgval_t jlcall_ptr = mark_julia_type(ctx, F, false, jl_voidpointer_type); - jl_cgval_t world_age = mark_julia_type(ctx, - tbaa_decorate(ctx.tbaa().tbaa_gcframe, -- ctx.builder.CreateAlignedLoad(ctx.world_age_field, Align(sizeof(size_t)))), -+ ctx.builder.CreateAlignedLoad(getSizeTy(ctx.builder.getContext()), ctx.world_age_field, Align(sizeof(size_t)))), - false, - jl_long_type); - jl_cgval_t fptr(ctx.builder.getContext()); - Copied: julia/repos/community-x86_64/julia-llvm-14.patch (from rev 1294939, julia/trunk/julia-llvm-14.patch) =================================================================== --- julia-llvm-14.patch (rev 0) +++ julia-llvm-14.patch 2022-09-06 20:29:32 UTC (rev 1294940) @@ -0,0 +1,14 @@ +diff --git a/src/codegen.cpp b/src/codegen.cpp +index ba933b60e554d..18e95fc169c8d 100644 +--- a/src/codegen.cpp ++++ b/src/codegen.cpp +@@ -4659,7 +4659,7 @@ static jl_cgval_t emit_expr(jl_codectx_t &ctx, jl_value_t *expr, ssize_t ssaval) + jl_cgval_t jlcall_ptr = mark_julia_type(ctx, F, false, jl_voidpointer_type); + jl_cgval_t world_age = mark_julia_type(ctx, + tbaa_decorate(ctx.tbaa().tbaa_gcframe, +- ctx.builder.CreateAlignedLoad(ctx.world_age_field, Align(sizeof(size_t)))), ++ ctx.builder.CreateAlignedLoad(getSizeTy(ctx.builder.getContext()), ctx.world_age_field, Align(sizeof(size_t)))), + false, + jl_long_type); + jl_cgval_t fptr(ctx.builder.getContext()); + Deleted: julia-system-cblas.patch =================================================================== --- julia-system-cblas.patch 2022-09-06 20:29:17 UTC (rev 1294939) +++ julia-system-cblas.patch 2022-09-06 20:29:32 UTC (rev 1294940) @@ -1,108 +0,0 @@ -From 0c442318196389d653ee21eba65d8c4f7beb72a0 Mon Sep 17 00:00:00 2001 -From: Eli Schwartz <eschwa...@archlinux.org> -Date: Fri, 5 Oct 2018 15:52:17 +0000 -Subject: [PATCH] Use a dedicated cblas library, that may or may not be in fact - the blas one. - -Openblas can be built with statically compiled convenience copies of -cblas, but if not, then the system libcblas.so should be used. ---- - Make.inc | 12 +++++++++++- - Makefile | 3 +++ - base/Makefile | 4 ++++ - stdlib/LinearAlgebra/src/blas.jl | 15 +++++++++++++-- - 4 files changed, 31 insertions(+), 3 deletions(-) - -diff --git a/Make.inc b/Make.inc -index b00a41b356d8..7bc6cd69e863 100644 ---- a/Make.inc -+++ b/Make.inc -@@ -1059,6 +1059,7 @@ endif - ifeq ($(USE_SYSTEM_BLAS), 1) - ifeq ($(OS), Darwin) - USE_BLAS64 := 0 -+USE_SYSTEM_CBLAS := 0 - USE_SYSTEM_LAPACK := 0 - LIBBLAS := -L$(build_libdir) -lgfortblas - LIBBLASNAME := libgfortblas -@@ -1071,12 +1072,21 @@ LIBBLAS := -L$(build_shlibdir) -lopenblas - LIBBLASNAME := libopenblas - endif - --# OpenBLAS builds LAPACK as part of its build. -+# OpenBLAS builds cblas/LAPACK as part of its build. - # We only need to build LAPACK if we are not using OpenBLAS. - ifeq ($(USE_SYSTEM_BLAS), 0) -+LIBCBLAS := $(LIBBLAS) -+LIBCBLASNAME := $(LIBBLASNAME) - LIBLAPACK := $(LIBBLAS) - LIBLAPACKNAME := $(LIBBLASNAME) - else -+ifeq ($(USE_SYSTEM_CBLAS), 1) -+LIBCBLAS ?= -lcblas -+LIBCBLASNAME ?= libcblas -+else -+LIBCBLAS := -L$(build_shlibdir) -lcblas $(LIBBLAS) -+LIBCBLASNAME := libcblas -+endif - ifeq ($(USE_SYSTEM_LAPACK), 1) - LIBLAPACK ?= -llapack - LIBLAPACKNAME ?= liblapack -diff --git a/Makefile b/Makefile -index 6063e79ae956..7df60b8170d6 100644 ---- a/Makefile -+++ b/Makefile -@@ -199,6 +199,9 @@ endif - endif - - JL_PRIVATE_LIBS-$(USE_SYSTEM_BLAS) += $(LIBBLASNAME) -+ifneq ($(LIBCBLASNAME),$(LIBBLASNAME)) -+JL_PRIVATE_LIBS-$(USE_SYSTEM_CBLAS) += $(LIBCBLASNAME) -+endif - ifneq ($(LIBLAPACKNAME),$(LIBBLASNAME)) - JL_PRIVATE_LIBS-$(USE_SYSTEM_LAPACK) += $(LIBLAPACKNAME) - endif -diff --git a/base/Makefile b/base/Makefile -index 70e6da933d70..8ecfa6902b59 100644 ---- a/base/Makefile -+++ b/base/Makefile -@@ -48,6 +48,7 @@ else - endif - @echo "const libm_name = \"$(LIBMNAME)\"" >> $@ - @echo "const libblas_name = \"$(LIBBLASNAME)\"" >> $@ -+ @echo "const libcblas_name = \"$(LIBCBLASNAME)\"" >> $@ - @echo "const liblapack_name = \"$(LIBLAPACKNAME)\"" >> $@ - ifeq ($(USE_BLAS64), 1) - @echo "const USE_BLAS64 = true" >> $@ -@@ -224,6 +225,9 @@ endif - $(eval $(call symlink_system_library,DSFMT,libdSFMT)) - $(eval $(call symlink_system_library,LIBBLASTRAMPOLINE,libblastrampoline)) - $(eval $(call symlink_system_library,BLAS,$(LIBBLASNAME))) -+ifneq ($(LIBCBLASNAME),$(LIBBLASNAME)) -+$(eval $(call symlink_system_library,CBLAS,$(LIBCBLASNAME))) -+endif - ifneq ($(LIBLAPACKNAME),$(LIBBLASNAME)) - $(eval $(call symlink_system_library,LAPACK,$(LIBLAPACKNAME))) - endif -diff --git a/stdlib/LinearAlgebra/src/LinearAlgebra.jl b/stdlib/LinearAlgebra/src/LinearAlgebra.jl -index 9e1e751262..b1e5450241 100644 ---- a/stdlib/LinearAlgebra/src/LinearAlgebra.jl -+++ b/stdlib/LinearAlgebra/src/LinearAlgebra.jl -@@ -565,12 +565,17 @@ end - function __init__() - try - libblas_path = find_library_path(Base.libblas_name) -+ libcblas_path = find_library_path(Base.libcblas_name) - liblapack_path = find_library_path(Base.liblapack_name) - # We manually `dlopen()` these libraries here, so that we search with `libjulia-internal`'s - # `RPATH` and not `libblastrampoline's`. Once it's been opened, when LBT tries to open it, - # it will find the library already loaded. - libblas_path = Libdl.dlpath(Libdl.dlopen(libblas_path)) - BLAS.lbt_forward(libblas_path; clear=true) -+ if libcblas_path != libblas_path -+ libcblas_path = Libdl.dlpath(Libdl.dlopen(libcblas_path)) -+ BLAS.lbt_forward(libcblas_path) -+ end - if liblapack_path != libblas_path - liblapack_path = Libdl.dlpath(Libdl.dlopen(liblapack_path)) - BLAS.lbt_forward(liblapack_path) Copied: julia/repos/community-x86_64/julia-system-cblas.patch (from rev 1294939, julia/trunk/julia-system-cblas.patch) =================================================================== --- julia-system-cblas.patch (rev 0) +++ julia-system-cblas.patch 2022-09-06 20:29:32 UTC (rev 1294940) @@ -0,0 +1,108 @@ +From 0c442318196389d653ee21eba65d8c4f7beb72a0 Mon Sep 17 00:00:00 2001 +From: Eli Schwartz <eschwa...@archlinux.org> +Date: Fri, 5 Oct 2018 15:52:17 +0000 +Subject: [PATCH] Use a dedicated cblas library, that may or may not be in fact + the blas one. + +Openblas can be built with statically compiled convenience copies of +cblas, but if not, then the system libcblas.so should be used. +--- + Make.inc | 12 +++++++++++- + Makefile | 3 +++ + base/Makefile | 4 ++++ + stdlib/LinearAlgebra/src/blas.jl | 15 +++++++++++++-- + 4 files changed, 31 insertions(+), 3 deletions(-) + +diff --git a/Make.inc b/Make.inc +index b00a41b356d8..7bc6cd69e863 100644 +--- a/Make.inc ++++ b/Make.inc +@@ -1059,6 +1059,7 @@ endif + ifeq ($(USE_SYSTEM_BLAS), 1) + ifeq ($(OS), Darwin) + USE_BLAS64 := 0 ++USE_SYSTEM_CBLAS := 0 + USE_SYSTEM_LAPACK := 0 + LIBBLAS := -L$(build_libdir) -lgfortblas + LIBBLASNAME := libgfortblas +@@ -1071,12 +1072,21 @@ LIBBLAS := -L$(build_shlibdir) -lopenblas + LIBBLASNAME := libopenblas + endif + +-# OpenBLAS builds LAPACK as part of its build. ++# OpenBLAS builds cblas/LAPACK as part of its build. + # We only need to build LAPACK if we are not using OpenBLAS. + ifeq ($(USE_SYSTEM_BLAS), 0) ++LIBCBLAS := $(LIBBLAS) ++LIBCBLASNAME := $(LIBBLASNAME) + LIBLAPACK := $(LIBBLAS) + LIBLAPACKNAME := $(LIBBLASNAME) + else ++ifeq ($(USE_SYSTEM_CBLAS), 1) ++LIBCBLAS ?= -lcblas ++LIBCBLASNAME ?= libcblas ++else ++LIBCBLAS := -L$(build_shlibdir) -lcblas $(LIBBLAS) ++LIBCBLASNAME := libcblas ++endif + ifeq ($(USE_SYSTEM_LAPACK), 1) + LIBLAPACK ?= -llapack + LIBLAPACKNAME ?= liblapack +diff --git a/Makefile b/Makefile +index 6063e79ae956..7df60b8170d6 100644 +--- a/Makefile ++++ b/Makefile +@@ -199,6 +199,9 @@ endif + endif + + JL_PRIVATE_LIBS-$(USE_SYSTEM_BLAS) += $(LIBBLASNAME) ++ifneq ($(LIBCBLASNAME),$(LIBBLASNAME)) ++JL_PRIVATE_LIBS-$(USE_SYSTEM_CBLAS) += $(LIBCBLASNAME) ++endif + ifneq ($(LIBLAPACKNAME),$(LIBBLASNAME)) + JL_PRIVATE_LIBS-$(USE_SYSTEM_LAPACK) += $(LIBLAPACKNAME) + endif +diff --git a/base/Makefile b/base/Makefile +index 70e6da933d70..8ecfa6902b59 100644 +--- a/base/Makefile ++++ b/base/Makefile +@@ -48,6 +48,7 @@ else + endif + @echo "const libm_name = \"$(LIBMNAME)\"" >> $@ + @echo "const libblas_name = \"$(LIBBLASNAME)\"" >> $@ ++ @echo "const libcblas_name = \"$(LIBCBLASNAME)\"" >> $@ + @echo "const liblapack_name = \"$(LIBLAPACKNAME)\"" >> $@ + ifeq ($(USE_BLAS64), 1) + @echo "const USE_BLAS64 = true" >> $@ +@@ -224,6 +225,9 @@ endif + $(eval $(call symlink_system_library,DSFMT,libdSFMT)) + $(eval $(call symlink_system_library,LIBBLASTRAMPOLINE,libblastrampoline)) + $(eval $(call symlink_system_library,BLAS,$(LIBBLASNAME))) ++ifneq ($(LIBCBLASNAME),$(LIBBLASNAME)) ++$(eval $(call symlink_system_library,CBLAS,$(LIBCBLASNAME))) ++endif + ifneq ($(LIBLAPACKNAME),$(LIBBLASNAME)) + $(eval $(call symlink_system_library,LAPACK,$(LIBLAPACKNAME))) + endif +diff --git a/stdlib/LinearAlgebra/src/LinearAlgebra.jl b/stdlib/LinearAlgebra/src/LinearAlgebra.jl +index 9e1e751262..b1e5450241 100644 +--- a/stdlib/LinearAlgebra/src/LinearAlgebra.jl ++++ b/stdlib/LinearAlgebra/src/LinearAlgebra.jl +@@ -565,12 +565,17 @@ end + function __init__() + try + libblas_path = find_library_path(Base.libblas_name) ++ libcblas_path = find_library_path(Base.libcblas_name) + liblapack_path = find_library_path(Base.liblapack_name) + # We manually `dlopen()` these libraries here, so that we search with `libjulia-internal`'s + # `RPATH` and not `libblastrampoline's`. Once it's been opened, when LBT tries to open it, + # it will find the library already loaded. + libblas_path = Libdl.dlpath(Libdl.dlopen(libblas_path)) + BLAS.lbt_forward(libblas_path; clear=true) ++ if libcblas_path != libblas_path ++ libcblas_path = Libdl.dlpath(Libdl.dlopen(libcblas_path)) ++ BLAS.lbt_forward(libcblas_path) ++ end + if liblapack_path != libblas_path + liblapack_path = Libdl.dlpath(Libdl.dlopen(liblapack_path)) + BLAS.lbt_forward(liblapack_path) Deleted: make-install-no-build.patch =================================================================== --- make-install-no-build.patch 2022-09-06 20:29:17 UTC (rev 1294939) +++ make-install-no-build.patch 2022-09-06 20:29:32 UTC (rev 1294940) @@ -1,14 +0,0 @@ ---- julia-1.3.0/Makefile.orig 2019-12-06 12:54:23.879790955 +0000 -+++ julia-1.3.0/Makefile 2019-12-06 12:54:36.329952953 +0000 -@@ -231,11 +231,6 @@ - - - install: $(build_depsbindir)/stringreplace $(BUILDROOT)/doc/_build/html/en/index.html --ifeq ($(BUNDLE_DEBUG_LIBS),1) -- @$(MAKE) $(QUIET_MAKE) all --else -- @$(MAKE) $(QUIET_MAKE) release --endif - @for subdir in $(bindir) $(datarootdir)/julia/stdlib/$(VERSDIR) $(docdir) $(man1dir) $(includedir)/julia $(libdir) $(private_libdir) $(sysconfdir) $(libexecdir); do \ - mkdir -p $(DESTDIR)$$subdir; \ - done Copied: julia/repos/community-x86_64/make-install-no-build.patch (from rev 1294939, julia/trunk/make-install-no-build.patch) =================================================================== --- make-install-no-build.patch (rev 0) +++ make-install-no-build.patch 2022-09-06 20:29:32 UTC (rev 1294940) @@ -0,0 +1,14 @@ +--- julia-1.3.0/Makefile.orig 2019-12-06 12:54:23.879790955 +0000 ++++ julia-1.3.0/Makefile 2019-12-06 12:54:36.329952953 +0000 +@@ -231,11 +231,6 @@ + + + install: $(build_depsbindir)/stringreplace $(BUILDROOT)/doc/_build/html/en/index.html +-ifeq ($(BUNDLE_DEBUG_LIBS),1) +- @$(MAKE) $(QUIET_MAKE) all +-else +- @$(MAKE) $(QUIET_MAKE) release +-endif + @for subdir in $(bindir) $(datarootdir)/julia/stdlib/$(VERSDIR) $(docdir) $(man1dir) $(includedir)/julia $(libdir) $(private_libdir) $(sysconfdir) $(libexecdir); do \ + mkdir -p $(DESTDIR)$$subdir; \ + done