From 1e17244bbb2cbbd7526c4de0aec81ff32d3ca7a4 Mon Sep 17 00:00:00 2001 From: Adam Beckmeyer Date: Tue, 6 Apr 2021 22:26:09 -0400 Subject: [PATCH] julia: stop hardcoding mbedtls sonames. 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. Closes #29964 See for the upstream bug. --- .../julia/patches/julia-hardcoded-libs.patch | 43 +++++++++++++++++++ srcpkgs/julia/template | 3 +- 2 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 srcpkgs/julia/patches/julia-hardcoded-libs.patch diff --git a/srcpkgs/julia/patches/julia-hardcoded-libs.patch b/srcpkgs/julia/patches/julia-hardcoded-libs.patch new file mode 100644 index 000000000000..bf657361b980 --- /dev/null +++ b/srcpkgs/julia/patches/julia-hardcoded-libs.patch @@ -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__() diff --git a/srcpkgs/julia/template b/srcpkgs/julia/template index 6ff8671036c7..1bb4ee40a054 100644 --- a/srcpkgs/julia/template +++ b/srcpkgs/julia/template @@ -1,7 +1,7 @@ # Template file for 'julia' pkgname=julia version=1.6.0 -revision=1 +revision=2 archs="i686* x86_64* armv7l* aarch64*" build_style=gnu-makefile make_build_args="prefix=/usr sysconfdir=/etc datarootdir=/usr/share @@ -15,6 +15,7 @@ make_build_args="prefix=/usr sysconfdir=/etc datarootdir=/usr/share make_install_args="$make_build_args" make_check_args="$make_build_args" make_check_target=testall +patch_args=-Np1 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