Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] julia: update to 1.6.1.
@ 2021-05-06 14:29 non-Jedi
  2021-05-06 14:47 ` ericonr
                   ` (10 more replies)
  0 siblings, 11 replies; 12+ messages in thread
From: non-Jedi @ 2021-05-06 14:29 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1920 bytes --]

There is a new pull request by non-Jedi against master on the void-packages repository

https://github.com/non-Jedi/void-packages julia-1.6.1
https://github.com/void-linux/void-packages/pull/30703

julia: update to 1.6.1.
Also change to using vendored llvm to reduce maintenance burden from julia depending on
versions of llvm which are quickly obsoleted (closes #30490); this should also fix julia's
build being broken on i686. This doesn't address #29964, and a decision should still be made
on whether to accept #30061.

[ci skip] for building llvm

<!-- Mark items with [x] where applicable -->

#### General
- [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

<!--
If GitHub CI cannot be used to validate the build result (for example, if the
build is likely to take several hours), make sure to
[skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration).
When skipping CI, uncomment and fill out the following section.
Note: for builds that are likely to complete in less than 2 hours, it is not
acceptable to skip CI.
-->
#### Does it build and run successfully? 
(Please choose at least one native build and, if supported, at least one cross build. More are better.)
- [x] I built this PR locally for my native architecture, (x86_64 glibc)
- [ ] I built this PR locally for these architectures (if supported. mark crossbuilds):
  - [ ] aarch64-musl
  - [ ] armv7l
  - [ ] armv6l-musl


A patch file from https://github.com/void-linux/void-packages/pull/30703.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-julia-1.6.1-30703.patch --]
[-- Type: text/x-diff, Size: 2874 bytes --]

From 047515bf29935d95735c7f641a5536b6203128e6 Mon Sep 17 00:00:00 2001
From: Adam Beckmeyer <adam_gpg@thebeckmeyers.xyz>
Date: Wed, 5 May 2021 22:11:42 -0400
Subject: [PATCH] julia: update to 1.6.1.

Also change to using vendored llvm to reduce maintenance burden from julia depending on
versions of llvm which are quickly obsoleted (closes #30490); this should also fix julia's
build being broken on i686. This doesn't address #29964, and a decision should still be made
on whether to accept #30061.

[ci skip] for building llvm
---
 srcpkgs/julia/template | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/julia/template b/srcpkgs/julia/template
index 6ff8671036c7..600e8bddca0b 100644
--- a/srcpkgs/julia/template
+++ b/srcpkgs/julia/template
@@ -1,12 +1,12 @@
 # Template file for 'julia'
 pkgname=julia
-version=1.6.0
+version=1.6.1
 revision=1
 archs="i686* x86_64* armv7l* aarch64*"
 build_style=gnu-makefile
 make_build_args="prefix=/usr sysconfdir=/etc datarootdir=/usr/share
  USE_BINARYBUILDER=0 USE_SYSTEM_LIBM=0 USE_SYSTEM_DSFMT=0 USE_SYSTEM_LIBUV=0
- USE_SYSTEM_SUITESPARSE=0 USE_SYSTEM_BLAS=0 USE_SYSTEM_LAPACK=0 USE_SYSTEM_LLVM=1
+ USE_SYSTEM_SUITESPARSE=0 USE_SYSTEM_BLAS=0 USE_SYSTEM_LAPACK=0 USE_SYSTEM_LLVM=0
  USE_SYSTEM_LIBUNWIND=1 USE_SYSTEM_PCRE=1 USE_SYSTEM_GMP=1 USE_SYSTEM_PATCHELF=1
  USE_SYSTEM_MPFR=1 USE_SYSTEM_MBEDTLS=1 USE_SYSTEM_LIBSSH2=1 USE_SYSTEM_NGHTTP2=1
  USE_SYSTEM_CURL=1 USE_SYSTEM_ZLIB=1 USE_SYSTEM_P7ZIP=1 USE_SYSTEM_LIBGIT2=1
@@ -19,7 +19,7 @@ conf_files="/etc/julia/startup.jl"
 hostmakedepends="pkg-config perl cmake python gcc-fortran patchelf which tar xz"
 makedepends="p7zip pcre2-devel mpfr-devel libgit2-devel libcurl-devel nghttp2-devel
  libssh2-devel mbedtls-devel libatomic-devel zlib-devel libunwind-devel
- libutf8proc-devel llvm11"
+ libutf8proc-devel"
 # Julia provides vendored symlinks in /usr/lib/julia pointing to these libraries,
 # but none of the julia executables link to them so these are not auto-detected
 depends="libgit2 libcurl mpfr mbedtls libatomic libpcre2 libssh2 nghttp2 libquadmath libssp p7zip"
@@ -28,8 +28,10 @@ maintainer="Adam Beckmeyer <adam_git@thebeckmeyers.xyz>"
 license="MIT"
 homepage="https://julialang.org"
 distfiles="https://github.com/JuliaLang/julia/releases/download/v${version}/julia-${version}-full.tar.gz"
-checksum=1b05f42c9368bc2349c47363b7ddc175a2da3cd162d52b6e24c4f5d4d6e1232c
+checksum=71d8e40611361370654e8934c407b2dec04944cf3917c5ecb6482d6b85ed767f
 nocross="build system is a mess"
+# Avoid pulling in llvm as a dependency for "libLLVM-11.so"
+skiprdeps="/usr/lib/julia/libjulia-internal.so.1.6 /usr/lib/julia/libllvmcalltest.so"
 # Targets for the vendored symlinks mentioned above
 shlib_requires="libgit2.so.1.0 libcurl.so.4 libmpfr.so.6 libgmp.so.10
  libmbedcrypto.so.3 libmbedtls.so.12 libmbedx509.so.0 libpcre2-8.so.0

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: julia: update to 1.6.1.
  2021-05-06 14:29 [PR PATCH] julia: update to 1.6.1 non-Jedi
@ 2021-05-06 14:47 ` ericonr
  2021-05-06 16:20 ` non-Jedi
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: ericonr @ 2021-05-06 14:47 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 242 bytes --]

New comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/30703#issuecomment-833582999

Comment:
IMO the mbedtls fix can be pulled in, assuming the final symlink is to a properly versioned `soname`.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: julia: update to 1.6.1.
  2021-05-06 14:29 [PR PATCH] julia: update to 1.6.1 non-Jedi
  2021-05-06 14:47 ` ericonr
@ 2021-05-06 16:20 ` non-Jedi
  2021-05-06 16:22 ` [PR PATCH] [Updated] " non-Jedi
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: non-Jedi @ 2021-05-06 16:20 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 534 bytes --]

New comment by non-Jedi on void-packages repository

https://github.com/void-linux/void-packages/pull/30703#issuecomment-833656910

Comment:
```sh
❮ ls -lh /usr/lib/julia/libmbed*
lrwxrwxrwx 1 root root 29 May  5 22:11 /usr/lib/julia/libmbedcrypto.so -> /usr/lib64/libmbedcrypto.so.3
lrwxrwxrwx 1 root root 27 May  5 22:11 /usr/lib/julia/libmbedtls.so -> /usr/lib64/libmbedtls.so.12
lrwxrwxrwx 1 root root 27 May  5 22:11 /usr/lib/julia/libmbedx509.so -> /usr/lib64/libmbedx509.so.0
```

I'll add that commit to this branch.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PR PATCH] [Updated] julia: update to 1.6.1.
  2021-05-06 14:29 [PR PATCH] julia: update to 1.6.1 non-Jedi
  2021-05-06 14:47 ` ericonr
  2021-05-06 16:20 ` non-Jedi
@ 2021-05-06 16:22 ` non-Jedi
  2021-05-06 16:25 ` non-Jedi
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: non-Jedi @ 2021-05-06 16:22 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1925 bytes --]

There is an updated pull request by non-Jedi against master on the void-packages repository

https://github.com/non-Jedi/void-packages julia-1.6.1
https://github.com/void-linux/void-packages/pull/30703

julia: update to 1.6.1.
Also change to using vendored llvm to reduce maintenance burden from julia depending on
versions of llvm which are quickly obsoleted (closes #30490); this should also fix julia's
build being broken on i686. This doesn't address #29964, and a decision should still be made
on whether to accept #30061.

[ci skip] for building llvm

<!-- Mark items with [x] where applicable -->

#### General
- [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

<!--
If GitHub CI cannot be used to validate the build result (for example, if the
build is likely to take several hours), make sure to
[skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration).
When skipping CI, uncomment and fill out the following section.
Note: for builds that are likely to complete in less than 2 hours, it is not
acceptable to skip CI.
-->
#### Does it build and run successfully? 
(Please choose at least one native build and, if supported, at least one cross build. More are better.)
- [x] I built this PR locally for my native architecture, (x86_64 glibc)
- [ ] I built this PR locally for these architectures (if supported. mark crossbuilds):
  - [ ] aarch64-musl
  - [ ] armv7l
  - [ ] armv6l-musl


A patch file from https://github.com/void-linux/void-packages/pull/30703.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-julia-1.6.1-30703.patch --]
[-- Type: text/x-diff, Size: 6070 bytes --]

From 047515bf29935d95735c7f641a5536b6203128e6 Mon Sep 17 00:00:00 2001
From: Adam Beckmeyer <adam_gpg@thebeckmeyers.xyz>
Date: Wed, 5 May 2021 22:11:42 -0400
Subject: [PATCH 1/2] julia: update to 1.6.1.

Also change to using vendored llvm to reduce maintenance burden from julia depending on
versions of llvm which are quickly obsoleted (closes #30490); this should also fix julia's
build being broken on i686. This doesn't address #29964, and a decision should still be made
on whether to accept #30061.

[ci skip] for building llvm
---
 srcpkgs/julia/template | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/julia/template b/srcpkgs/julia/template
index 6ff8671036c7..600e8bddca0b 100644
--- a/srcpkgs/julia/template
+++ b/srcpkgs/julia/template
@@ -1,12 +1,12 @@
 # Template file for 'julia'
 pkgname=julia
-version=1.6.0
+version=1.6.1
 revision=1
 archs="i686* x86_64* armv7l* aarch64*"
 build_style=gnu-makefile
 make_build_args="prefix=/usr sysconfdir=/etc datarootdir=/usr/share
  USE_BINARYBUILDER=0 USE_SYSTEM_LIBM=0 USE_SYSTEM_DSFMT=0 USE_SYSTEM_LIBUV=0
- USE_SYSTEM_SUITESPARSE=0 USE_SYSTEM_BLAS=0 USE_SYSTEM_LAPACK=0 USE_SYSTEM_LLVM=1
+ USE_SYSTEM_SUITESPARSE=0 USE_SYSTEM_BLAS=0 USE_SYSTEM_LAPACK=0 USE_SYSTEM_LLVM=0
  USE_SYSTEM_LIBUNWIND=1 USE_SYSTEM_PCRE=1 USE_SYSTEM_GMP=1 USE_SYSTEM_PATCHELF=1
  USE_SYSTEM_MPFR=1 USE_SYSTEM_MBEDTLS=1 USE_SYSTEM_LIBSSH2=1 USE_SYSTEM_NGHTTP2=1
  USE_SYSTEM_CURL=1 USE_SYSTEM_ZLIB=1 USE_SYSTEM_P7ZIP=1 USE_SYSTEM_LIBGIT2=1
@@ -19,7 +19,7 @@ conf_files="/etc/julia/startup.jl"
 hostmakedepends="pkg-config perl cmake python gcc-fortran patchelf which tar xz"
 makedepends="p7zip pcre2-devel mpfr-devel libgit2-devel libcurl-devel nghttp2-devel
  libssh2-devel mbedtls-devel libatomic-devel zlib-devel libunwind-devel
- libutf8proc-devel llvm11"
+ libutf8proc-devel"
 # Julia provides vendored symlinks in /usr/lib/julia pointing to these libraries,
 # but none of the julia executables link to them so these are not auto-detected
 depends="libgit2 libcurl mpfr mbedtls libatomic libpcre2 libssh2 nghttp2 libquadmath libssp p7zip"
@@ -28,8 +28,10 @@ maintainer="Adam Beckmeyer <adam_git@thebeckmeyers.xyz>"
 license="MIT"
 homepage="https://julialang.org"
 distfiles="https://github.com/JuliaLang/julia/releases/download/v${version}/julia-${version}-full.tar.gz"
-checksum=1b05f42c9368bc2349c47363b7ddc175a2da3cd162d52b6e24c4f5d4d6e1232c
+checksum=71d8e40611361370654e8934c407b2dec04944cf3917c5ecb6482d6b85ed767f
 nocross="build system is a mess"
+# Avoid pulling in llvm as a dependency for "libLLVM-11.so"
+skiprdeps="/usr/lib/julia/libjulia-internal.so.1.6 /usr/lib/julia/libllvmcalltest.so"
 # Targets for the vendored symlinks mentioned above
 shlib_requires="libgit2.so.1.0 libcurl.so.4 libmpfr.so.6 libgmp.so.10
  libmbedcrypto.so.3 libmbedtls.so.12 libmbedx509.so.0 libpcre2-8.so.0

From dc5d0718b85cd4ed6e6e44f1d6439781acd9aef9 Mon Sep 17 00:00:00 2001
From: Adam Beckmeyer <adam_gpg@thebeckmeyers.xyz>
Date: Tue, 6 Apr 2021 22:26:09 -0400
Subject: [PATCH 2/2] 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 <https://github.com/julialang/julia/issues/40198> for the upstream
bug.
---
 .../julia/patches/julia-hardcoded-libs.patch  | 43 +++++++++++++++++++
 srcpkgs/julia/template                        |  1 +
 2 files changed, 44 insertions(+)
 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 600e8bddca0b..e61b3e81631d 100644
--- a/srcpkgs/julia/template
+++ b/srcpkgs/julia/template
@@ -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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PR PATCH] [Updated] julia: update to 1.6.1.
  2021-05-06 14:29 [PR PATCH] julia: update to 1.6.1 non-Jedi
                   ` (2 preceding siblings ...)
  2021-05-06 16:22 ` [PR PATCH] [Updated] " non-Jedi
@ 2021-05-06 16:25 ` non-Jedi
  2021-05-09  4:03 ` ericonr
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: non-Jedi @ 2021-05-06 16:25 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1925 bytes --]

There is an updated pull request by non-Jedi against master on the void-packages repository

https://github.com/non-Jedi/void-packages julia-1.6.1
https://github.com/void-linux/void-packages/pull/30703

julia: update to 1.6.1.
Also change to using vendored llvm to reduce maintenance burden from julia depending on
versions of llvm which are quickly obsoleted (closes #30490); this should also fix julia's
build being broken on i686. This doesn't address #29964, and a decision should still be made
on whether to accept #30061.

[ci skip] for building llvm

<!-- Mark items with [x] where applicable -->

#### General
- [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

<!--
If GitHub CI cannot be used to validate the build result (for example, if the
build is likely to take several hours), make sure to
[skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration).
When skipping CI, uncomment and fill out the following section.
Note: for builds that are likely to complete in less than 2 hours, it is not
acceptable to skip CI.
-->
#### Does it build and run successfully? 
(Please choose at least one native build and, if supported, at least one cross build. More are better.)
- [x] I built this PR locally for my native architecture, (x86_64 glibc)
- [ ] I built this PR locally for these architectures (if supported. mark crossbuilds):
  - [ ] aarch64-musl
  - [ ] armv7l
  - [ ] armv6l-musl


A patch file from https://github.com/void-linux/void-packages/pull/30703.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-julia-1.6.1-30703.patch --]
[-- Type: text/x-diff, Size: 6110 bytes --]

From 047515bf29935d95735c7f641a5536b6203128e6 Mon Sep 17 00:00:00 2001
From: Adam Beckmeyer <adam_gpg@thebeckmeyers.xyz>
Date: Wed, 5 May 2021 22:11:42 -0400
Subject: [PATCH 1/2] julia: update to 1.6.1.

Also change to using vendored llvm to reduce maintenance burden from julia depending on
versions of llvm which are quickly obsoleted (closes #30490); this should also fix julia's
build being broken on i686. This doesn't address #29964, and a decision should still be made
on whether to accept #30061.

[ci skip] for building llvm
---
 srcpkgs/julia/template | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/julia/template b/srcpkgs/julia/template
index 6ff8671036c7..600e8bddca0b 100644
--- a/srcpkgs/julia/template
+++ b/srcpkgs/julia/template
@@ -1,12 +1,12 @@
 # Template file for 'julia'
 pkgname=julia
-version=1.6.0
+version=1.6.1
 revision=1
 archs="i686* x86_64* armv7l* aarch64*"
 build_style=gnu-makefile
 make_build_args="prefix=/usr sysconfdir=/etc datarootdir=/usr/share
  USE_BINARYBUILDER=0 USE_SYSTEM_LIBM=0 USE_SYSTEM_DSFMT=0 USE_SYSTEM_LIBUV=0
- USE_SYSTEM_SUITESPARSE=0 USE_SYSTEM_BLAS=0 USE_SYSTEM_LAPACK=0 USE_SYSTEM_LLVM=1
+ USE_SYSTEM_SUITESPARSE=0 USE_SYSTEM_BLAS=0 USE_SYSTEM_LAPACK=0 USE_SYSTEM_LLVM=0
  USE_SYSTEM_LIBUNWIND=1 USE_SYSTEM_PCRE=1 USE_SYSTEM_GMP=1 USE_SYSTEM_PATCHELF=1
  USE_SYSTEM_MPFR=1 USE_SYSTEM_MBEDTLS=1 USE_SYSTEM_LIBSSH2=1 USE_SYSTEM_NGHTTP2=1
  USE_SYSTEM_CURL=1 USE_SYSTEM_ZLIB=1 USE_SYSTEM_P7ZIP=1 USE_SYSTEM_LIBGIT2=1
@@ -19,7 +19,7 @@ conf_files="/etc/julia/startup.jl"
 hostmakedepends="pkg-config perl cmake python gcc-fortran patchelf which tar xz"
 makedepends="p7zip pcre2-devel mpfr-devel libgit2-devel libcurl-devel nghttp2-devel
  libssh2-devel mbedtls-devel libatomic-devel zlib-devel libunwind-devel
- libutf8proc-devel llvm11"
+ libutf8proc-devel"
 # Julia provides vendored symlinks in /usr/lib/julia pointing to these libraries,
 # but none of the julia executables link to them so these are not auto-detected
 depends="libgit2 libcurl mpfr mbedtls libatomic libpcre2 libssh2 nghttp2 libquadmath libssp p7zip"
@@ -28,8 +28,10 @@ maintainer="Adam Beckmeyer <adam_git@thebeckmeyers.xyz>"
 license="MIT"
 homepage="https://julialang.org"
 distfiles="https://github.com/JuliaLang/julia/releases/download/v${version}/julia-${version}-full.tar.gz"
-checksum=1b05f42c9368bc2349c47363b7ddc175a2da3cd162d52b6e24c4f5d4d6e1232c
+checksum=71d8e40611361370654e8934c407b2dec04944cf3917c5ecb6482d6b85ed767f
 nocross="build system is a mess"
+# Avoid pulling in llvm as a dependency for "libLLVM-11.so"
+skiprdeps="/usr/lib/julia/libjulia-internal.so.1.6 /usr/lib/julia/libllvmcalltest.so"
 # Targets for the vendored symlinks mentioned above
 shlib_requires="libgit2.so.1.0 libcurl.so.4 libmpfr.so.6 libgmp.so.10
  libmbedcrypto.so.3 libmbedtls.so.12 libmbedx509.so.0 libpcre2-8.so.0

From e2e65a9875e5993c580301f6c649dd90b14f8ad9 Mon Sep 17 00:00:00 2001
From: Adam Beckmeyer <adam_gpg@thebeckmeyers.xyz>
Date: Tue, 6 Apr 2021 22:26:09 -0400
Subject: [PATCH 2/2] 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 <https://github.com/julialang/julia/issues/40198> for the upstream
bug.
---
 .../julia/patches/julia-hardcoded-libs.patch  | 43 +++++++++++++++++++
 srcpkgs/julia/template                        |  1 +
 2 files changed, 44 insertions(+)
 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 600e8bddca0b..271a6045454f 100644
--- a/srcpkgs/julia/template
+++ b/srcpkgs/julia/template
@@ -29,6 +29,7 @@ license="MIT"
 homepage="https://julialang.org"
 distfiles="https://github.com/JuliaLang/julia/releases/download/v${version}/julia-${version}-full.tar.gz"
 checksum=71d8e40611361370654e8934c407b2dec04944cf3917c5ecb6482d6b85ed767f
+patch_args=-Np1
 nocross="build system is a mess"
 # Avoid pulling in llvm as a dependency for "libLLVM-11.so"
 skiprdeps="/usr/lib/julia/libjulia-internal.so.1.6 /usr/lib/julia/libllvmcalltest.so"

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: julia: update to 1.6.1.
  2021-05-06 14:29 [PR PATCH] julia: update to 1.6.1 non-Jedi
                   ` (3 preceding siblings ...)
  2021-05-06 16:25 ` non-Jedi
@ 2021-05-09  4:03 ` ericonr
  2021-05-09  4:03 ` ericonr
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: ericonr @ 2021-05-09  4:03 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 189 bytes --]

New comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/30703#issuecomment-835665466

Comment:
Can you please squash the commits together, too?

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: julia: update to 1.6.1.
  2021-05-06 14:29 [PR PATCH] julia: update to 1.6.1 non-Jedi
                   ` (4 preceding siblings ...)
  2021-05-09  4:03 ` ericonr
@ 2021-05-09  4:03 ` ericonr
  2021-05-11 17:47 ` [PR PATCH] [Updated] " non-Jedi
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: ericonr @ 2021-05-09  4:03 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 254 bytes --]

New comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/30703#issuecomment-835665466

Comment:
Can you please squash the commits together, too? (but keep both the commit messages, they are very descriptive :)

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PR PATCH] [Updated] julia: update to 1.6.1.
  2021-05-06 14:29 [PR PATCH] julia: update to 1.6.1 non-Jedi
                   ` (5 preceding siblings ...)
  2021-05-09  4:03 ` ericonr
@ 2021-05-11 17:47 ` non-Jedi
  2021-05-12 13:16 ` non-Jedi
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: non-Jedi @ 2021-05-11 17:47 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1925 bytes --]

There is an updated pull request by non-Jedi against master on the void-packages repository

https://github.com/non-Jedi/void-packages julia-1.6.1
https://github.com/void-linux/void-packages/pull/30703

julia: update to 1.6.1.
Also change to using vendored llvm to reduce maintenance burden from julia depending on
versions of llvm which are quickly obsoleted (closes #30490); this should also fix julia's
build being broken on i686. This doesn't address #29964, and a decision should still be made
on whether to accept #30061.

[ci skip] for building llvm

<!-- Mark items with [x] where applicable -->

#### General
- [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

<!--
If GitHub CI cannot be used to validate the build result (for example, if the
build is likely to take several hours), make sure to
[skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration).
When skipping CI, uncomment and fill out the following section.
Note: for builds that are likely to complete in less than 2 hours, it is not
acceptable to skip CI.
-->
#### Does it build and run successfully? 
(Please choose at least one native build and, if supported, at least one cross build. More are better.)
- [x] I built this PR locally for my native architecture, (x86_64 glibc)
- [ ] I built this PR locally for these architectures (if supported. mark crossbuilds):
  - [ ] aarch64-musl
  - [ ] armv7l
  - [ ] armv6l-musl


A patch file from https://github.com/void-linux/void-packages/pull/30703.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-julia-1.6.1-30703.patch --]
[-- Type: text/x-diff, Size: 5111 bytes --]

From 3457ca413b021f7aca2d50d32c14d3bca20ab301 Mon Sep 17 00:00:00 2001
From: Adam Beckmeyer <adam_gpg@thebeckmeyers.xyz>
Date: Wed, 5 May 2021 22:11:42 -0400
Subject: [PATCH] julia: update to 1.6.1.

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

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

Closes #29964 and #30061

See <https://github.com/julialang/julia/issues/40198> for the upstream
bug.
---
 .../julia/patches/julia-hardcoded-libs.patch  | 43 +++++++++++++++++++
 srcpkgs/julia/template                        | 11 +++--
 2 files changed, 50 insertions(+), 4 deletions(-)
 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..271a6045454f 100644
--- a/srcpkgs/julia/template
+++ b/srcpkgs/julia/template
@@ -1,12 +1,12 @@
 # Template file for 'julia'
 pkgname=julia
-version=1.6.0
+version=1.6.1
 revision=1
 archs="i686* x86_64* armv7l* aarch64*"
 build_style=gnu-makefile
 make_build_args="prefix=/usr sysconfdir=/etc datarootdir=/usr/share
  USE_BINARYBUILDER=0 USE_SYSTEM_LIBM=0 USE_SYSTEM_DSFMT=0 USE_SYSTEM_LIBUV=0
- USE_SYSTEM_SUITESPARSE=0 USE_SYSTEM_BLAS=0 USE_SYSTEM_LAPACK=0 USE_SYSTEM_LLVM=1
+ USE_SYSTEM_SUITESPARSE=0 USE_SYSTEM_BLAS=0 USE_SYSTEM_LAPACK=0 USE_SYSTEM_LLVM=0
  USE_SYSTEM_LIBUNWIND=1 USE_SYSTEM_PCRE=1 USE_SYSTEM_GMP=1 USE_SYSTEM_PATCHELF=1
  USE_SYSTEM_MPFR=1 USE_SYSTEM_MBEDTLS=1 USE_SYSTEM_LIBSSH2=1 USE_SYSTEM_NGHTTP2=1
  USE_SYSTEM_CURL=1 USE_SYSTEM_ZLIB=1 USE_SYSTEM_P7ZIP=1 USE_SYSTEM_LIBGIT2=1
@@ -19,7 +19,7 @@ conf_files="/etc/julia/startup.jl"
 hostmakedepends="pkg-config perl cmake python gcc-fortran patchelf which tar xz"
 makedepends="p7zip pcre2-devel mpfr-devel libgit2-devel libcurl-devel nghttp2-devel
  libssh2-devel mbedtls-devel libatomic-devel zlib-devel libunwind-devel
- libutf8proc-devel llvm11"
+ libutf8proc-devel"
 # Julia provides vendored symlinks in /usr/lib/julia pointing to these libraries,
 # but none of the julia executables link to them so these are not auto-detected
 depends="libgit2 libcurl mpfr mbedtls libatomic libpcre2 libssh2 nghttp2 libquadmath libssp p7zip"
@@ -28,8 +28,11 @@ maintainer="Adam Beckmeyer <adam_git@thebeckmeyers.xyz>"
 license="MIT"
 homepage="https://julialang.org"
 distfiles="https://github.com/JuliaLang/julia/releases/download/v${version}/julia-${version}-full.tar.gz"
-checksum=1b05f42c9368bc2349c47363b7ddc175a2da3cd162d52b6e24c4f5d4d6e1232c
+checksum=71d8e40611361370654e8934c407b2dec04944cf3917c5ecb6482d6b85ed767f
+patch_args=-Np1
 nocross="build system is a mess"
+# Avoid pulling in llvm as a dependency for "libLLVM-11.so"
+skiprdeps="/usr/lib/julia/libjulia-internal.so.1.6 /usr/lib/julia/libllvmcalltest.so"
 # Targets for the vendored symlinks mentioned above
 shlib_requires="libgit2.so.1.0 libcurl.so.4 libmpfr.so.6 libgmp.so.10
  libmbedcrypto.so.3 libmbedtls.so.12 libmbedx509.so.0 libpcre2-8.so.0

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: julia: update to 1.6.1.
  2021-05-06 14:29 [PR PATCH] julia: update to 1.6.1 non-Jedi
                   ` (6 preceding siblings ...)
  2021-05-11 17:47 ` [PR PATCH] [Updated] " non-Jedi
@ 2021-05-12 13:16 ` non-Jedi
  2021-05-16  2:54 ` [PR PATCH] [Closed]: " ahesford
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: non-Jedi @ 2021-05-12 13:16 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 261 bytes --]

New comment by non-Jedi on void-packages repository

https://github.com/void-linux/void-packages/pull/30703#issuecomment-839764336

Comment:
(I don't know if github notifies on new commits being pushed or only when people comment, but this should be ready now)

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PR PATCH] [Closed]: julia: update to 1.6.1.
  2021-05-06 14:29 [PR PATCH] julia: update to 1.6.1 non-Jedi
                   ` (7 preceding siblings ...)
  2021-05-12 13:16 ` non-Jedi
@ 2021-05-16  2:54 ` ahesford
  2021-05-16  3:00 ` ahesford
  2021-05-17 12:05 ` non-Jedi
  10 siblings, 0 replies; 12+ messages in thread
From: ahesford @ 2021-05-16  2:54 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1763 bytes --]

There's a closed pull request on the void-packages repository

julia: update to 1.6.1.
https://github.com/void-linux/void-packages/pull/30703

Description:
Also change to using vendored llvm to reduce maintenance burden from julia depending on
versions of llvm which are quickly obsoleted (closes #30490); this should also fix julia's
build being broken on i686. This doesn't address #29964, and a decision should still be made
on whether to accept #30061.

[ci skip] for building llvm

<!-- Mark items with [x] where applicable -->

#### General
- [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

<!--
If GitHub CI cannot be used to validate the build result (for example, if the
build is likely to take several hours), make sure to
[skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration).
When skipping CI, uncomment and fill out the following section.
Note: for builds that are likely to complete in less than 2 hours, it is not
acceptable to skip CI.
-->
#### Does it build and run successfully? 
(Please choose at least one native build and, if supported, at least one cross build. More are better.)
- [x] I built this PR locally for my native architecture, (x86_64 glibc)
- [ ] I built this PR locally for these architectures (if supported. mark crossbuilds):
  - [ ] aarch64-musl
  - [ ] armv7l
  - [ ] armv6l-musl


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: julia: update to 1.6.1.
  2021-05-06 14:29 [PR PATCH] julia: update to 1.6.1 non-Jedi
                   ` (8 preceding siblings ...)
  2021-05-16  2:54 ` [PR PATCH] [Closed]: " ahesford
@ 2021-05-16  3:00 ` ahesford
  2021-05-17 12:05 ` non-Jedi
  10 siblings, 0 replies; 12+ messages in thread
From: ahesford @ 2021-05-16  3:00 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 682 bytes --]

New comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/30703#issuecomment-841758134

Comment:
I think the unversioned shlib thing is a non-issue because, as you said, the loads seem to refer to symlinks in `/usr/lib/julia` that the package itself creates.

You forgot to remove `broken` for `i686`, but I did that for you.

Finally, the `skip

I removed the `broken` line for `i686`; you forgot that in the template.

Finally, the `skiprdeps` does not appear to be necessary. The libraries you were ignoring used the custom `libLLVM11-jl.so` soname, which will not be confused with `llvm11`. I dropped the line before merging.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: julia: update to 1.6.1.
  2021-05-06 14:29 [PR PATCH] julia: update to 1.6.1 non-Jedi
                   ` (9 preceding siblings ...)
  2021-05-16  3:00 ` ahesford
@ 2021-05-17 12:05 ` non-Jedi
  10 siblings, 0 replies; 12+ messages in thread
From: non-Jedi @ 2021-05-17 12:05 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 179 bytes --]

New comment by non-Jedi on void-packages repository

https://github.com/void-linux/void-packages/pull/30703#issuecomment-842269798

Comment:
All good points. Thank you @ahesford.

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2021-05-17 12:05 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-06 14:29 [PR PATCH] julia: update to 1.6.1 non-Jedi
2021-05-06 14:47 ` ericonr
2021-05-06 16:20 ` non-Jedi
2021-05-06 16:22 ` [PR PATCH] [Updated] " non-Jedi
2021-05-06 16:25 ` non-Jedi
2021-05-09  4:03 ` ericonr
2021-05-09  4:03 ` ericonr
2021-05-11 17:47 ` [PR PATCH] [Updated] " non-Jedi
2021-05-12 13:16 ` non-Jedi
2021-05-16  2:54 ` [PR PATCH] [Closed]: " ahesford
2021-05-16  3:00 ` ahesford
2021-05-17 12:05 ` non-Jedi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).