Date: Friday, September 24, 2021 @ 18:56:18 Author: arojas Revision: 1023891
archrelease: copy trunk to community-x86_64 Added: julia/repos/community-x86_64/PKGBUILD (from rev 1023890, julia/trunk/PKGBUILD) julia/repos/community-x86_64/julia-hardcoded-libs.patch (from rev 1023890, julia/trunk/julia-hardcoded-libs.patch) julia/repos/community-x86_64/julia-libgit-1.2.patch (from rev 1023890, julia/trunk/julia-libgit-1.2.patch) julia/repos/community-x86_64/julia-system-cblas.patch (from rev 1023890, julia/trunk/julia-system-cblas.patch) julia/repos/community-x86_64/make-install-no-build.patch (from rev 1023890, julia/trunk/make-install-no-build.patch) Deleted: julia/repos/community-x86_64/PKGBUILD julia/repos/community-x86_64/julia-hardcoded-libs.patch julia/repos/community-x86_64/julia-libgit-1.2.patch julia/repos/community-x86_64/julia-system-cblas.patch julia/repos/community-x86_64/make-install-no-build.patch -----------------------------+ PKGBUILD | 244 +++++++++++++++++++------------------- julia-hardcoded-libs.patch | 138 ++++++++++----------- julia-libgit-1.2.patch | 28 ++-- julia-system-cblas.patch | 266 +++++++++++++++++++++--------------------- make-install-no-build.patch | 28 ++-- 5 files changed, 352 insertions(+), 352 deletions(-) Deleted: PKGBUILD =================================================================== --- PKGBUILD 2021-09-24 18:56:01 UTC (rev 1023890) +++ PKGBUILD 2021-09-24 18:56:18 UTC (rev 1023891) @@ -1,122 +0,0 @@ -# Maintainer: 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.6.2 -pkgrel=4 -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) -makedepends=(cmake gcc-fortran python llvm patchelf) -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} - julia-llvm12.patch::https://github.com/JuliaLang/julia/commit/7df16be0.patch - julia-libgit-1.2.patch - julia-system-cblas.patch - julia-hardcoded-libs.patch - make-install-no-build.patch) -backup=(etc/julia/startup.jl) -sha256sums=('01241120515cb9435b96179cf301fbd2c24d4405f252588108d13ceac0f41c0a' - 'SKIP' - '764582f5ac30e694ee99aba6b0ad6cbf45d1ad53e90005678eb3fe7b30781e64' - 'c57ea92a11fa8dac72229e6a912d2372ec0d98d63486426fe3bdeeb795de48f7' - 'e44c260e4111908337caa82e1c3fef563b9d40e0a30da68d6e91405bf6db24dc' - 'a8e664f39f3efaeea63e99c2f5727a28ab7eca01e9164b464c66e991426d7e90' - '8be4605f92a009072ca7e843549c225fc4e959893498e7c4f8f79e861e63714d') -validpgpkeys=('3673DF529D9049477F76B37566E3C7DC03D6E495') # Julia (Binary signing key) <build...@julialang.org> - -prepare() { - cd $pkgname-$pkgver - -# fix bad performance with LLVM 12 - patch -p1 -i ../julia-llvm12.patch -# libgit2 1.2 compatibility - patch -p1 -i ../julia-libgit-1.2.patch -# Add and use option to build with system cblas - patch -p1 -i ../julia-system-cblas.patch # Add and use option to build with system cblas -# 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 failure - sed -e 's|0.22314355f0 + 3.1415927f0im|0.22314355f0 - 3.1415927f0im|' -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_GMP=1 \ - USE_SYSTEM_MPFR=1 \ - USE_SYSTEM_SUITESPARSE=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 - - ln -s /usr/lib/libopenblas.so usr/lib/julia/libopenblas64_.so # Needed for tests -} - -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 - ../julia --check-bounds=yes --startup-file=no ./runtests.jl all \ - --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_jll \ - --skip PCRE2_jll \ - --skip LibGit2_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 1023890, julia/trunk/PKGBUILD) =================================================================== --- PKGBUILD (rev 0) +++ PKGBUILD 2021-09-24 18:56:18 UTC (rev 1023891) @@ -0,0 +1,122 @@ +# Maintainer: 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.6.3 +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) +makedepends=(cmake gcc-fortran python llvm patchelf) +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} + julia-llvm12.patch::https://github.com/JuliaLang/julia/commit/7df16be0.patch + julia-libgit-1.2.patch + julia-system-cblas.patch + julia-hardcoded-libs.patch + make-install-no-build.patch) +backup=(etc/julia/startup.jl) +sha256sums=('29aad934582fb4c6dd9f9dd558ad649921f43bc7320eab54407fdf6dd3270a33' + 'SKIP' + '764582f5ac30e694ee99aba6b0ad6cbf45d1ad53e90005678eb3fe7b30781e64' + 'c57ea92a11fa8dac72229e6a912d2372ec0d98d63486426fe3bdeeb795de48f7' + 'e44c260e4111908337caa82e1c3fef563b9d40e0a30da68d6e91405bf6db24dc' + 'a8e664f39f3efaeea63e99c2f5727a28ab7eca01e9164b464c66e991426d7e90' + '8be4605f92a009072ca7e843549c225fc4e959893498e7c4f8f79e861e63714d') +validpgpkeys=('3673DF529D9049477F76B37566E3C7DC03D6E495') # Julia (Binary signing key) <build...@julialang.org> + +prepare() { + cd $pkgname-$pkgver + +# fix bad performance with LLVM 12 + patch -p1 -i ../julia-llvm12.patch +# libgit2 1.2 compatibility + patch -p1 -i ../julia-libgit-1.2.patch +# Add and use option to build with system cblas + patch -p1 -i ../julia-system-cblas.patch # Add and use option to build with system cblas +# 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 failure + sed -e 's|0.22314355f0 + 3.1415927f0im|0.22314355f0 - 3.1415927f0im|' -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_GMP=1 \ + USE_SYSTEM_MPFR=1 \ + USE_SYSTEM_SUITESPARSE=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 + + ln -s /usr/lib/libopenblas.so usr/lib/julia/libopenblas64_.so # Needed for tests +} + +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 + ../julia --check-bounds=yes --startup-file=no ./runtests.jl all \ + --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_jll \ + --skip PCRE2_jll \ + --skip LibGit2_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: julia-hardcoded-libs.patch =================================================================== --- julia-hardcoded-libs.patch 2021-09-24 18:56:01 UTC (rev 1023890) +++ julia-hardcoded-libs.patch 2021-09-24 18:56:18 UTC (rev 1023891) @@ -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.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__() -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.1.dylib" - else -- const libgit2 = "libgit2.so.1.1" -+ 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.3.dylib" - else -- const libopenlibm = "libopenlibm.so.3" -+ const libopenlibm = "libopenlibm.so" - end - - function __init__() Copied: julia/repos/community-x86_64/julia-hardcoded-libs.patch (from rev 1023890, julia/trunk/julia-hardcoded-libs.patch) =================================================================== --- julia-hardcoded-libs.patch (rev 0) +++ julia-hardcoded-libs.patch 2021-09-24 18:56:18 UTC (rev 1023891) @@ -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.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__() +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.1.dylib" + else +- const libgit2 = "libgit2.so.1.1" ++ 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.3.dylib" + else +- const libopenlibm = "libopenlibm.so.3" ++ const libopenlibm = "libopenlibm.so" + end + + function __init__() Deleted: julia-libgit-1.2.patch =================================================================== --- julia-libgit-1.2.patch 2021-09-24 18:56:01 UTC (rev 1023890) +++ julia-libgit-1.2.patch 2021-09-24 18:56:18 UTC (rev 1023891) @@ -1,14 +0,0 @@ -diff --git a/stdlib/LibGit2/src/types.jl b/stdlib/LibGit2/src/types.jl -index 9ffcaa3646..5f571e7b26 100644 ---- a/stdlib/LibGit2/src/types.jl -+++ b/stdlib/LibGit2/src/types.jl -@@ -230,6 +230,9 @@ Matches the [`git_remote_callbacks`](https://libgit2.org/libgit2/#HEAD/type/git_ - push_update_reference::Ptr{Cvoid} = C_NULL - push_negotiation::Ptr{Cvoid} = C_NULL - transport::Ptr{Cvoid} = C_NULL -+ @static if LibGit2.VERSION >= v"1.2.0" -+ remote_ready::Ptr{Cvoid} = C_NULL -+ end - payload::Any = nothing - @static if LibGit2.VERSION >= v"0.99.0" - resolve_url::Ptr{Cvoid} = C_NULL Copied: julia/repos/community-x86_64/julia-libgit-1.2.patch (from rev 1023890, julia/trunk/julia-libgit-1.2.patch) =================================================================== --- julia-libgit-1.2.patch (rev 0) +++ julia-libgit-1.2.patch 2021-09-24 18:56:18 UTC (rev 1023891) @@ -0,0 +1,14 @@ +diff --git a/stdlib/LibGit2/src/types.jl b/stdlib/LibGit2/src/types.jl +index 9ffcaa3646..5f571e7b26 100644 +--- a/stdlib/LibGit2/src/types.jl ++++ b/stdlib/LibGit2/src/types.jl +@@ -230,6 +230,9 @@ Matches the [`git_remote_callbacks`](https://libgit2.org/libgit2/#HEAD/type/git_ + push_update_reference::Ptr{Cvoid} = C_NULL + push_negotiation::Ptr{Cvoid} = C_NULL + transport::Ptr{Cvoid} = C_NULL ++ @static if LibGit2.VERSION >= v"1.2.0" ++ remote_ready::Ptr{Cvoid} = C_NULL ++ end + payload::Any = nothing + @static if LibGit2.VERSION >= v"0.99.0" + resolve_url::Ptr{Cvoid} = C_NULL Deleted: julia-system-cblas.patch =================================================================== --- julia-system-cblas.patch 2021-09-24 18:56:01 UTC (rev 1023890) +++ julia-system-cblas.patch 2021-09-24 18:56:18 UTC (rev 1023891) @@ -1,133 +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 -@@ -1109,6 +1109,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 -@@ -1121,12 +1122,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 -@@ -198,6 +198,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 -@@ -54,6 +54,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" >> $@ -@@ -183,6 +184,9 @@ endif - $(eval $(call symlink_system_library,PCRE,libpcre2-8)) - $(eval $(call symlink_system_library,DSFMT,libdSFMT)) - $(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/blas.jl b/stdlib/LinearAlgebra/src/blas.jl -index fee8c9e74d7e..8c76d1acbf29 100644 ---- a/stdlib/LinearAlgebra/src/blas.jl -+++ b/stdlib/LinearAlgebra/src/blas.jl -@@ -61,6 +61,7 @@ export - - - const libblas = Base.libblas_name -+const libcblas = Base.libcblas_name - const liblapack = Base.liblapack_name - - import LinearAlgebra -@@ -101,6 +102,16 @@ else - end - end - -+if libcblas == libblas -+ macro cblasfunc(x) -+ return @blasfunc(x) -+ end -+else -+ macro cblasfunc(x) -+ return Expr(:quote, x) -+ end -+end -+ - openblas_get_config() = strip(unsafe_string(ccall((@blasfunc(openblas_get_config), libblas), Ptr{UInt8}, () ))) - - """ -@@ -300,7 +311,7 @@ for (fname, elty) in ((:cblas_zdotc_sub,:ComplexF64), - # DOUBLE PRECISION DX(*),DY(*) - function dotc(n::Integer, DX::Union{Ptr{$elty},AbstractArray{$elty}}, incx::Integer, DY::Union{Ptr{$elty},AbstractArray{$elty}}, incy::Integer) - result = Ref{$elty}() -- ccall((@blasfunc($fname), libblas), Cvoid, -+ ccall((@cblasfunc($fname), libcblas), Cvoid, - (BlasInt, Ptr{$elty}, BlasInt, Ptr{$elty}, BlasInt, Ptr{$elty}), - n, DX, incx, DY, incy, result) - result[] -@@ -318,7 +329,7 @@ for (fname, elty) in ((:cblas_zdotu_sub,:ComplexF64), - # DOUBLE PRECISION DX(*),DY(*) - function dotu(n::Integer, DX::Union{Ptr{$elty},AbstractArray{$elty}}, incx::Integer, DY::Union{Ptr{$elty},AbstractArray{$elty}}, incy::Integer) - result = Ref{$elty}() -- ccall((@blasfunc($fname), libblas), Cvoid, -+ ccall((@cblasfunc($fname), libcblas), Cvoid, - (BlasInt, Ptr{$elty}, BlasInt, Ptr{$elty}, BlasInt, Ptr{$elty}), - n, DX, incx, DY, incy, result) - result[] Copied: julia/repos/community-x86_64/julia-system-cblas.patch (from rev 1023890, julia/trunk/julia-system-cblas.patch) =================================================================== --- julia-system-cblas.patch (rev 0) +++ julia-system-cblas.patch 2021-09-24 18:56:18 UTC (rev 1023891) @@ -0,0 +1,133 @@ +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 +@@ -1109,6 +1109,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 +@@ -1121,12 +1122,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 +@@ -198,6 +198,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 +@@ -54,6 +54,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" >> $@ +@@ -183,6 +184,9 @@ endif + $(eval $(call symlink_system_library,PCRE,libpcre2-8)) + $(eval $(call symlink_system_library,DSFMT,libdSFMT)) + $(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/blas.jl b/stdlib/LinearAlgebra/src/blas.jl +index fee8c9e74d7e..8c76d1acbf29 100644 +--- a/stdlib/LinearAlgebra/src/blas.jl ++++ b/stdlib/LinearAlgebra/src/blas.jl +@@ -61,6 +61,7 @@ export + + + const libblas = Base.libblas_name ++const libcblas = Base.libcblas_name + const liblapack = Base.liblapack_name + + import LinearAlgebra +@@ -101,6 +102,16 @@ else + end + end + ++if libcblas == libblas ++ macro cblasfunc(x) ++ return @blasfunc(x) ++ end ++else ++ macro cblasfunc(x) ++ return Expr(:quote, x) ++ end ++end ++ + openblas_get_config() = strip(unsafe_string(ccall((@blasfunc(openblas_get_config), libblas), Ptr{UInt8}, () ))) + + """ +@@ -300,7 +311,7 @@ for (fname, elty) in ((:cblas_zdotc_sub,:ComplexF64), + # DOUBLE PRECISION DX(*),DY(*) + function dotc(n::Integer, DX::Union{Ptr{$elty},AbstractArray{$elty}}, incx::Integer, DY::Union{Ptr{$elty},AbstractArray{$elty}}, incy::Integer) + result = Ref{$elty}() +- ccall((@blasfunc($fname), libblas), Cvoid, ++ ccall((@cblasfunc($fname), libcblas), Cvoid, + (BlasInt, Ptr{$elty}, BlasInt, Ptr{$elty}, BlasInt, Ptr{$elty}), + n, DX, incx, DY, incy, result) + result[] +@@ -318,7 +329,7 @@ for (fname, elty) in ((:cblas_zdotu_sub,:ComplexF64), + # DOUBLE PRECISION DX(*),DY(*) + function dotu(n::Integer, DX::Union{Ptr{$elty},AbstractArray{$elty}}, incx::Integer, DY::Union{Ptr{$elty},AbstractArray{$elty}}, incy::Integer) + result = Ref{$elty}() +- ccall((@blasfunc($fname), libblas), Cvoid, ++ ccall((@cblasfunc($fname), libcblas), Cvoid, + (BlasInt, Ptr{$elty}, BlasInt, Ptr{$elty}, BlasInt, Ptr{$elty}), + n, DX, incx, DY, incy, result) + result[] Deleted: make-install-no-build.patch =================================================================== --- make-install-no-build.patch 2021-09-24 18:56:01 UTC (rev 1023890) +++ make-install-no-build.patch 2021-09-24 18:56:18 UTC (rev 1023891) @@ -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 -@@ -277,11 +277,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 1023890, julia/trunk/make-install-no-build.patch) =================================================================== --- make-install-no-build.patch (rev 0) +++ make-install-no-build.patch 2021-09-24 18:56:18 UTC (rev 1023891) @@ -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 +@@ -277,11 +277,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