Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] julia: update to 1.5.0.
@ 2020-08-06  2:50 non-Jedi
  2020-08-06 14:12 ` non-Jedi
                   ` (40 more replies)
  0 siblings, 41 replies; 42+ messages in thread
From: non-Jedi @ 2020-08-06  2:50 UTC (permalink / raw)
  To: ml

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

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

https://github.com/non-Jedi/void-packages julia1.5
https://github.com/void-linux/void-packages/pull/24097

julia: update to 1.5.0.
The issues from <https://github.com/void-linux/void-packages/issues/21960> have been resolved, so system libgit2 is used instead of vendoring in dependency.

Switching from using skiprdeps to noverifyrdeps so that dependency
isn't falsely detected on libraries julia vendors
<https://github.com/void-linux/void-packages/issues/23997#issuecomment-667626936>.

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

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-julia1.5-24097.patch --]
[-- Type: text/x-diff, Size: 3043 bytes --]

From bf8b911ce9dbcbd930ffff2ecac833d92cda0b73 Mon Sep 17 00:00:00 2001
From: Adam Beckmeyer <adam_gpg@thebeckmeyers.xyz>
Date: Mon, 3 Aug 2020 11:14:03 -0400
Subject: [PATCH] julia: update to 1.5.0.

The issues from
<https://github.com/void-linux/void-packages/issues/21960>, so system
libgit2 is used instead of vendoring in dependency.

Switching from using skiprdeps to noverifyrdeps so that dependency
isn't falsely detected on libraries julia vendors
<https://github.com/void-linux/void-packages/issues/23997#issuecomment-667626936>.
---
 srcpkgs/julia/template | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/julia/template b/srcpkgs/julia/template
index 80f6d001a74..1e5744fc6f6 100644
--- a/srcpkgs/julia/template
+++ b/srcpkgs/julia/template
@@ -1,6 +1,6 @@
 # Template file for 'julia'
 pkgname=julia
-version=1.4.2
+version=1.5.0
 revision=1
 archs="i686* x86_64*"
 build_style=gnu-makefile
@@ -8,7 +8,7 @@ make_build_args="prefix=/usr sysconfdir=/etc datarootdir=/usr/share
  USE_LLVM_SHLIB=1 USE_BINARYBUILDER=0
  USE_SYSTEM_LIBUV=0 USE_SYSTEM_LIBUNWIND=0 USE_SYSTEM_PATCHELF=1 USE_SYSTEM_LIBM=0
  USE_SYSTEM_DSFMT=0 USE_SYSTEM_LLVM=0 USE_SYSTEM_PCRE=1 USE_SYSTEM_BLAS=0
- USE_SYSTEM_GMP=1 USE_SYSTEM_LIBGIT2=0 USE_SYSTEM_MBEDTLS=1 USE_SYSTEM_LIBSSH2=1
+ USE_SYSTEM_GMP=1 USE_SYSTEM_LIBGIT2=1 USE_SYSTEM_MBEDTLS=1 USE_SYSTEM_LIBSSH2=1
  USE_SYSTEM_CURL=1 USE_SYSTEM_MPFR=1 USE_SYSTEM_SUITESPARSE=0 USE_SYSTEM_UTF8PROC=0
  USE_SYSTEM_ZLIB=1 USE_SYSTEM_P7ZIP=1 USE_SYSTEM_LAPACK=0"
 make_install_args="$make_build_args"
@@ -16,21 +16,21 @@ make_check_args="$make_build_args"
 make_check_target=testall
 conf_files="/etc/julia/startup.jl"
 hostmakedepends="perl cmake python gcc-fortran patchelf which tar xz"
-makedepends="pcre2-devel gmp-devel mpfr-devel libcurl-devel
+makedepends="pcre2-devel gmp-devel libgit2-devel mpfr-devel libcurl-devel
  libssh2-devel mbedtls-devel libatomic-devel zlib-devel p7zip"
-depends="pcre2 gmp mpfr libcurl libssh2 mbedtls libatomic zlib p7zip"
+depends="pcre2 gmp libgit2 mpfr libcurl libssh2 mbedtls libatomic zlib p7zip libstdc++"
 short_desc="High-level, high-performance dynamic programming language"
 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=948c70801d5cce81eeb7f764b51b4bfbb2dc0b1b9effc2cb9fc8f8cf6c90a334
+checksum=4a6ffadc8dd04ca0b7fdef6ae203d0af38185e57b78f7c0b972c4707354a6d1b
 nocross=yes
-# Falsely detects dependency on libllvm
-skiprdeps="/usr/lib/libjulia.so.1.4 /usr/lib/julia/libllvmcalltest.so"
+noverifyrdeps="Julia vendors in libllvm, libgcc, libgfortran and libquadmath"
 
 case "$XBPS_TARGET_MACHINE" in
 *-musl)
+	depends+=" musl"
 	broken="fails to compile internal LLVM"
 	;;
 i686-musl)
@@ -43,6 +43,9 @@ x86_64-musl)
 	depends+=" libexecinfo"
 	LDFLAGS="-lexecinfo"
 	;;
+*)
+	depends+=" glibc"
+	;;
 esac
 
 case "$XBPS_TARGET_MACHINE" in

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

* Re: julia: update to 1.5.0.
  2020-08-06  2:50 [PR PATCH] julia: update to 1.5.0 non-Jedi
@ 2020-08-06 14:12 ` non-Jedi
  2020-08-06 21:39 ` [PR PATCH] [Updated] " non-Jedi
                   ` (39 subsequent siblings)
  40 siblings, 0 replies; 42+ messages in thread
From: non-Jedi @ 2020-08-06 14:12 UTC (permalink / raw)
  To: ml

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

New comment by non-Jedi on void-packages repository

https://github.com/void-linux/void-packages/pull/24097#issuecomment-669952467

Comment:
Any advice on handling the problem with vendored shared libraries causing incorrect dependencies issue? Obviously, setting `noverifyrdeps` isn't ideal, but so many of the shared libraries depend on libgfortran that listing them all with `skiprdeps` would be extremely tedious and error-prone. What I really want to express is "do not depend on `libgcc`, `libgfortran`, `libquadmath`, and `libllvm9` overriding automatic detection."

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

* Re: [PR PATCH] [Updated] julia: update to 1.5.0.
  2020-08-06  2:50 [PR PATCH] julia: update to 1.5.0 non-Jedi
  2020-08-06 14:12 ` non-Jedi
@ 2020-08-06 21:39 ` non-Jedi
  2020-08-06 21:41 ` non-Jedi
                   ` (38 subsequent siblings)
  40 siblings, 0 replies; 42+ messages in thread
From: non-Jedi @ 2020-08-06 21:39 UTC (permalink / raw)
  To: ml

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

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

https://github.com/non-Jedi/void-packages julia1.5
https://github.com/void-linux/void-packages/pull/24097

julia: update to 1.5.0.
The issues from <https://github.com/void-linux/void-packages/issues/21960> have been resolved, so system libgit2 is used instead of vendoring in dependency.

Switching from using skiprdeps to noverifyrdeps so that dependency
isn't falsely detected on libraries julia vendors
<https://github.com/void-linux/void-packages/issues/23997#issuecomment-667626936>.

[ci skip] because llvm takes too long to build.

Builds fine on my x86_64 glibc machine, and in principle we should be able to build julia on other supported architectures (armv7, aarch64, and x86_64-musl), but I don't have void installs to test that on.

EDIT: I was unsuccessful at getting musl to build locally failing to build llvm with:

> /usr/bin/ld: /builddir/julia-1.5.0/usr/lib/libunwind.a(Ltrace.o): relocation R_X86_64_TPOFF32 against `tls_cache_destroyed' can not be used when making a shared object; recompile with -fPIC

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

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-julia1.5-24097.patch --]
[-- Type: text/x-diff, Size: 4824 bytes --]

From bf8b911ce9dbcbd930ffff2ecac833d92cda0b73 Mon Sep 17 00:00:00 2001
From: Adam Beckmeyer <adam_gpg@thebeckmeyers.xyz>
Date: Mon, 3 Aug 2020 11:14:03 -0400
Subject: [PATCH 1/2] julia: update to 1.5.0.

The issues from
<https://github.com/void-linux/void-packages/issues/21960>, so system
libgit2 is used instead of vendoring in dependency.

Switching from using skiprdeps to noverifyrdeps so that dependency
isn't falsely detected on libraries julia vendors
<https://github.com/void-linux/void-packages/issues/23997#issuecomment-667626936>.
---
 srcpkgs/julia/template | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/julia/template b/srcpkgs/julia/template
index 80f6d001a74..1e5744fc6f6 100644
--- a/srcpkgs/julia/template
+++ b/srcpkgs/julia/template
@@ -1,6 +1,6 @@
 # Template file for 'julia'
 pkgname=julia
-version=1.4.2
+version=1.5.0
 revision=1
 archs="i686* x86_64*"
 build_style=gnu-makefile
@@ -8,7 +8,7 @@ make_build_args="prefix=/usr sysconfdir=/etc datarootdir=/usr/share
  USE_LLVM_SHLIB=1 USE_BINARYBUILDER=0
  USE_SYSTEM_LIBUV=0 USE_SYSTEM_LIBUNWIND=0 USE_SYSTEM_PATCHELF=1 USE_SYSTEM_LIBM=0
  USE_SYSTEM_DSFMT=0 USE_SYSTEM_LLVM=0 USE_SYSTEM_PCRE=1 USE_SYSTEM_BLAS=0
- USE_SYSTEM_GMP=1 USE_SYSTEM_LIBGIT2=0 USE_SYSTEM_MBEDTLS=1 USE_SYSTEM_LIBSSH2=1
+ USE_SYSTEM_GMP=1 USE_SYSTEM_LIBGIT2=1 USE_SYSTEM_MBEDTLS=1 USE_SYSTEM_LIBSSH2=1
  USE_SYSTEM_CURL=1 USE_SYSTEM_MPFR=1 USE_SYSTEM_SUITESPARSE=0 USE_SYSTEM_UTF8PROC=0
  USE_SYSTEM_ZLIB=1 USE_SYSTEM_P7ZIP=1 USE_SYSTEM_LAPACK=0"
 make_install_args="$make_build_args"
@@ -16,21 +16,21 @@ make_check_args="$make_build_args"
 make_check_target=testall
 conf_files="/etc/julia/startup.jl"
 hostmakedepends="perl cmake python gcc-fortran patchelf which tar xz"
-makedepends="pcre2-devel gmp-devel mpfr-devel libcurl-devel
+makedepends="pcre2-devel gmp-devel libgit2-devel mpfr-devel libcurl-devel
  libssh2-devel mbedtls-devel libatomic-devel zlib-devel p7zip"
-depends="pcre2 gmp mpfr libcurl libssh2 mbedtls libatomic zlib p7zip"
+depends="pcre2 gmp libgit2 mpfr libcurl libssh2 mbedtls libatomic zlib p7zip libstdc++"
 short_desc="High-level, high-performance dynamic programming language"
 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=948c70801d5cce81eeb7f764b51b4bfbb2dc0b1b9effc2cb9fc8f8cf6c90a334
+checksum=4a6ffadc8dd04ca0b7fdef6ae203d0af38185e57b78f7c0b972c4707354a6d1b
 nocross=yes
-# Falsely detects dependency on libllvm
-skiprdeps="/usr/lib/libjulia.so.1.4 /usr/lib/julia/libllvmcalltest.so"
+noverifyrdeps="Julia vendors in libllvm, libgcc, libgfortran and libquadmath"
 
 case "$XBPS_TARGET_MACHINE" in
 *-musl)
+	depends+=" musl"
 	broken="fails to compile internal LLVM"
 	;;
 i686-musl)
@@ -43,6 +43,9 @@ x86_64-musl)
 	depends+=" libexecinfo"
 	LDFLAGS="-lexecinfo"
 	;;
+*)
+	depends+=" glibc"
+	;;
 esac
 
 case "$XBPS_TARGET_MACHINE" in

From e66af0b67dd117ef84151d124d50f0ee692b28fe Mon Sep 17 00:00:00 2001
From: Adam Beckmeyer <adam_gpg@thebeckmeyers.xyz>
Date: Thu, 6 Aug 2020 17:37:47 -0400
Subject: [PATCH 2/2] julia: enable building on other archs.

x86_64-musl built fine locally, and julia upstream claims to support
armv7 and aarch64 on glibc as well. It's worth checking whether they
can successfully build.

[ci skip] for llvm build.
---
 srcpkgs/julia/template | 25 +++++++++++++------------
 1 file changed, 13 insertions(+), 12 deletions(-)

diff --git a/srcpkgs/julia/template b/srcpkgs/julia/template
index 1e5744fc6f6..30c3b7921f6 100644
--- a/srcpkgs/julia/template
+++ b/srcpkgs/julia/template
@@ -2,7 +2,7 @@
 pkgname=julia
 version=1.5.0
 revision=1
-archs="i686* x86_64*"
+archs="i686* x86_64* armv7l aarch64"
 build_style=gnu-makefile
 make_build_args="prefix=/usr sysconfdir=/etc datarootdir=/usr/share
  USE_LLVM_SHLIB=1 USE_BINARYBUILDER=0
@@ -31,17 +31,6 @@ noverifyrdeps="Julia vendors in libllvm, libgcc, libgfortran and libquadmath"
 case "$XBPS_TARGET_MACHINE" in
 *-musl)
 	depends+=" musl"
-	broken="fails to compile internal LLVM"
-	;;
-i686-musl)
-	makedepends+=" libexecinfo-devel"
-	depends+=" libexecinfo"
-	LDFLAGS="-lexecinfo -lc"
-	;;
-x86_64-musl)
-	makedepends+=" libexecinfo-devel"
-	depends+=" libexecinfo"
-	LDFLAGS="-lexecinfo"
 	;;
 *)
 	depends+=" glibc"
@@ -63,6 +52,18 @@ x86_64*)
 	export CXXFLAGS="-march=x86-64"
 	make_build_args+=" MARCH=x86-64"
 	;;
+armv7l*)
+	export M="armv7-a"
+	export CFLAGS="-march=armv7-a"
+	export CXXFLAGS="-march=armv7-a"
+	make_build_args+=" MARCH=armv7-a"
+	;;
+aarch64*)
+	export M="armv8-a"
+	export CFLAGS="-march=armv8-a"
+	export CXXFLAGS="-march=armv8-a"
+	make_build_args+=" MARCH=armv8-a"
+	;;
 esac
 
 post_extract() {

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

* Re: [PR PATCH] [Updated] julia: update to 1.5.0.
  2020-08-06  2:50 [PR PATCH] julia: update to 1.5.0 non-Jedi
  2020-08-06 14:12 ` non-Jedi
  2020-08-06 21:39 ` [PR PATCH] [Updated] " non-Jedi
@ 2020-08-06 21:41 ` non-Jedi
  2020-08-24  2:17 ` rjpower4
                   ` (37 subsequent siblings)
  40 siblings, 0 replies; 42+ messages in thread
From: non-Jedi @ 2020-08-06 21:41 UTC (permalink / raw)
  To: ml

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

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

https://github.com/non-Jedi/void-packages julia1.5
https://github.com/void-linux/void-packages/pull/24097

julia: update to 1.5.0.
The issues from <https://github.com/void-linux/void-packages/issues/21960> have been resolved, so system libgit2 is used instead of vendoring in dependency.

Switching from using skiprdeps to noverifyrdeps so that dependency
isn't falsely detected on libraries julia vendors
<https://github.com/void-linux/void-packages/issues/23997#issuecomment-667626936>.

[ci skip] because llvm takes too long to build.

Builds fine on my x86_64 glibc machine, and in principle we should be able to build julia on other supported architectures (armv7, aarch64, and x86_64-musl), but I don't have void installs to test that on.

EDIT: I was unsuccessful at getting musl to build locally failing to build llvm with:

> /usr/bin/ld: /builddir/julia-1.5.0/usr/lib/libunwind.a(Ltrace.o): relocation R_X86_64_TPOFF32 against `tls_cache_destroyed' can not be used when making a shared object; recompile with -fPIC

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

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-julia1.5-24097.patch --]
[-- Type: text/x-diff, Size: 8888 bytes --]

From bf8b911ce9dbcbd930ffff2ecac833d92cda0b73 Mon Sep 17 00:00:00 2001
From: Adam Beckmeyer <adam_gpg@thebeckmeyers.xyz>
Date: Mon, 3 Aug 2020 11:14:03 -0400
Subject: [PATCH 1/2] julia: update to 1.5.0.

The issues from
<https://github.com/void-linux/void-packages/issues/21960>, so system
libgit2 is used instead of vendoring in dependency.

Switching from using skiprdeps to noverifyrdeps so that dependency
isn't falsely detected on libraries julia vendors
<https://github.com/void-linux/void-packages/issues/23997#issuecomment-667626936>.
---
 srcpkgs/julia/template | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/julia/template b/srcpkgs/julia/template
index 80f6d001a74..1e5744fc6f6 100644
--- a/srcpkgs/julia/template
+++ b/srcpkgs/julia/template
@@ -1,6 +1,6 @@
 # Template file for 'julia'
 pkgname=julia
-version=1.4.2
+version=1.5.0
 revision=1
 archs="i686* x86_64*"
 build_style=gnu-makefile
@@ -8,7 +8,7 @@ make_build_args="prefix=/usr sysconfdir=/etc datarootdir=/usr/share
  USE_LLVM_SHLIB=1 USE_BINARYBUILDER=0
  USE_SYSTEM_LIBUV=0 USE_SYSTEM_LIBUNWIND=0 USE_SYSTEM_PATCHELF=1 USE_SYSTEM_LIBM=0
  USE_SYSTEM_DSFMT=0 USE_SYSTEM_LLVM=0 USE_SYSTEM_PCRE=1 USE_SYSTEM_BLAS=0
- USE_SYSTEM_GMP=1 USE_SYSTEM_LIBGIT2=0 USE_SYSTEM_MBEDTLS=1 USE_SYSTEM_LIBSSH2=1
+ USE_SYSTEM_GMP=1 USE_SYSTEM_LIBGIT2=1 USE_SYSTEM_MBEDTLS=1 USE_SYSTEM_LIBSSH2=1
  USE_SYSTEM_CURL=1 USE_SYSTEM_MPFR=1 USE_SYSTEM_SUITESPARSE=0 USE_SYSTEM_UTF8PROC=0
  USE_SYSTEM_ZLIB=1 USE_SYSTEM_P7ZIP=1 USE_SYSTEM_LAPACK=0"
 make_install_args="$make_build_args"
@@ -16,21 +16,21 @@ make_check_args="$make_build_args"
 make_check_target=testall
 conf_files="/etc/julia/startup.jl"
 hostmakedepends="perl cmake python gcc-fortran patchelf which tar xz"
-makedepends="pcre2-devel gmp-devel mpfr-devel libcurl-devel
+makedepends="pcre2-devel gmp-devel libgit2-devel mpfr-devel libcurl-devel
  libssh2-devel mbedtls-devel libatomic-devel zlib-devel p7zip"
-depends="pcre2 gmp mpfr libcurl libssh2 mbedtls libatomic zlib p7zip"
+depends="pcre2 gmp libgit2 mpfr libcurl libssh2 mbedtls libatomic zlib p7zip libstdc++"
 short_desc="High-level, high-performance dynamic programming language"
 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=948c70801d5cce81eeb7f764b51b4bfbb2dc0b1b9effc2cb9fc8f8cf6c90a334
+checksum=4a6ffadc8dd04ca0b7fdef6ae203d0af38185e57b78f7c0b972c4707354a6d1b
 nocross=yes
-# Falsely detects dependency on libllvm
-skiprdeps="/usr/lib/libjulia.so.1.4 /usr/lib/julia/libllvmcalltest.so"
+noverifyrdeps="Julia vendors in libllvm, libgcc, libgfortran and libquadmath"
 
 case "$XBPS_TARGET_MACHINE" in
 *-musl)
+	depends+=" musl"
 	broken="fails to compile internal LLVM"
 	;;
 i686-musl)
@@ -43,6 +43,9 @@ x86_64-musl)
 	depends+=" libexecinfo"
 	LDFLAGS="-lexecinfo"
 	;;
+*)
+	depends+=" glibc"
+	;;
 esac
 
 case "$XBPS_TARGET_MACHINE" in

From aa68b1b2dd33ab9c2157a8b56d3dbc91af5ec3ea Mon Sep 17 00:00:00 2001
From: Adam Beckmeyer <adam_gpg@thebeckmeyers.xyz>
Date: Thu, 6 Aug 2020 17:37:47 -0400
Subject: [PATCH 2/2] julia: enable building on other archs.

x86_64-musl built fine locally, and julia upstream claims to support
armv7 and aarch64 on glibc as well. It's worth checking whether they
can successfully build.

[ci skip] for llvm build.
---
 srcpkgs/julia/patches/36697.diff | 104 +++++++++++++++++++++++++++++++
 srcpkgs/julia/template           |  25 ++++----
 2 files changed, 117 insertions(+), 12 deletions(-)
 create mode 100644 srcpkgs/julia/patches/36697.diff

diff --git a/srcpkgs/julia/patches/36697.diff b/srcpkgs/julia/patches/36697.diff
new file mode 100644
index 00000000000..f0c84d548e3
--- /dev/null
+++ b/srcpkgs/julia/patches/36697.diff
@@ -0,0 +1,104 @@
+This patch was taken from <https://github.com/JuliaLang/julia/pull/36697>
+to workaround julia 1.5.0 not building correctly with musl libc.
+
+diff --git Make.inc Make.inc
+index e91461514463..21a0299318b5 100644
+--- Make.inc
++++ Make.inc
+@@ -940,17 +940,17 @@ LIBUNWIND:=
+ else
+ ifeq ($(USE_SYSTEM_LIBUNWIND), 1)
+ ifneq ($(OS),Darwin)
+-LIBUNWIND:=-lunwind-generic -lunwind
++LIBUNWIND:=-lunwind
+ # Only for linux since we want to use not yet released libunwind features
+ JCFLAGS+=-DSYSTEM_LIBUNWIND
+ JCPPFLAGS+=-DSYSTEM_LIBUNWIND
+ endif
+ else
+ ifeq ($(OS),Darwin)
+-LIBUNWIND:=$(build_libdir)/libosxunwind.a
++LIBUNWIND:=-losxunwind
+ JCPPFLAGS+=-DLIBOSXUNWIND
+ else
+-LIBUNWIND:=$(build_libdir)/libunwind-generic.a $(build_libdir)/libunwind.a
++LIBUNWIND:=-lunwind
+ endif
+ endif
+ endif
+@@ -1206,12 +1206,12 @@ OSLIBS += -lelf -lkvm -lrt -lpthread
+ OSLIBS += -lgcc_s
+ 
+ OSLIBS += -Wl,--export-dynamic -Wl,--version-script=$(JULIAHOME)/src/julia.expmap \
+-	$(NO_WHOLE_ARCHIVE) $(LIBUNWIND)
++	$(NO_WHOLE_ARCHIVE)
+ endif
+ 
+ ifeq ($(OS), Darwin)
+ SHLIB_EXT := dylib
+-OSLIBS += -framework CoreFoundation $(LIBUNWIND)
++OSLIBS += -framework CoreFoundation
+ WHOLE_ARCHIVE := -Xlinker -all_load
+ NO_WHOLE_ARCHIVE :=
+ JLDFLAGS :=
+diff --git Makefile Makefile
+index 96f58b9aec4e..23d1bd5208f7 100644
+--- Makefile
++++ Makefile
+@@ -181,6 +181,11 @@ endif
+ ifeq ($(USE_LLVM_SHLIB),1)
+ JL_PRIVATE_LIBS-$(USE_SYSTEM_LLVM) += libLLVM libLLVM-9jl
+ endif
++ifeq ($(OS),Darwin)
++JL_PRIVATE_LIBS-$(USE_SYSTEM_LIBUNWIND) += libosxunwind
++else
++JL_PRIVATE_LIBS-$(USE_SYSTEM_LIBUNWIND) += libunwind
++endif
+ 
+ ifeq ($(USE_SYSTEM_LIBM),0)
+ JL_PRIVATE_LIBS-$(USE_SYSTEM_OPENLIBM) += libopenlibm
+diff --git deps/Makefile deps/Makefile
+index e6a975ba1873..90e231f30e85 100644
+--- deps/Makefile
++++ deps/Makefile
+@@ -157,7 +157,11 @@ ifneq ($(OS), WINNT)
+ DEP_LIBS += libwhich
+ endif
+ 
+-DEP_LIBS_STAGED := $(filter-out suitesparse-wrapper osxunwind,$(DEP_LIBS)) # unlist targets that have not been converted to use the staged-install
++# unlist targets that have not been converted to use the staged-install
++DEP_LIBS_STAGED := $(filter-out suitesparse-wrapper,$(DEP_LIBS))
++ifneq ($(USE_BINARYBUILDER_LIBUNWIND),1)
++DEP_LIBS_STAGED := $(filter-out osxunwind,$(DEP_LIBS))
++endif
+ 
+ 
+ ## Common build target prefixes
+diff --git deps/unwind.mk deps/unwind.mk
+index f44917c28981..08d8990a720e 100644
+--- deps/unwind.mk
++++ deps/unwind.mk
+@@ -109,7 +109,7 @@ UNWIND_BB_NAME := LibUnwind.v$(UNWIND_VER)
+ 
+ $(eval $(call bb-install,unwind,UNWIND,false))
+ 
+-OSXUNWIND_BB_URL_BASE := https://github.com/JuliaPackaging/Yggdrasil/releases/download/LibOSXUnwind-$(OSXUNWIND_VER)-$(OSXUNWIND_BB_REL)
++OSXUNWIND_BB_URL_BASE := https://github.com/JuliaBinaryWrappers/LibOSXUnwind_jll.jl/releases/download/LibOSXUnwind-v$(OSXUNWIND_VER)+$(OSXUNWIND_BB_REL)
+ OSXUNWIND_BB_NAME := LibOSXUnwind.v$(OSXUNWIND_VER)
+ 
+ $(eval $(call bb-install,osxunwind,OSXUNWIND,false))
+diff --git src/Makefile src/Makefile
+index 3153c0178d0a..7d8db3740209 100644
+--- src/Makefile
++++ src/Makefile
+@@ -120,7 +120,7 @@ CLANG_LDFLAGS += -Wl,-undefined,dynamic_lookup
+ endif
+ 
+ 
+-COMMON_LIBS := -L$(build_shlibdir) -L$(build_libdir) $(LIBUV) $(LIBUTF8PROC) $(NO_WHOLE_ARCHIVE) $(LLVMLINK) $(OSLIBS) $(LIBUNWIND)
++COMMON_LIBS := -L$(build_shlibdir) -L$(build_libdir) $(LIBUV) $(LIBUTF8PROC) $(NO_WHOLE_ARCHIVE) $(LIBUNWIND) $(LLVMLINK) $(OSLIBS)
+ DEBUG_LIBS := $(WHOLE_ARCHIVE) $(BUILDDIR)/flisp/libflisp-debug.a $(WHOLE_ARCHIVE) $(BUILDDIR)/support/libsupport-debug.a $(COMMON_LIBS)
+ RELEASE_LIBS := $(WHOLE_ARCHIVE) $(BUILDDIR)/flisp/libflisp.a $(WHOLE_ARCHIVE) $(BUILDDIR)/support/libsupport.a $(COMMON_LIBS)
+ 
+
+
diff --git a/srcpkgs/julia/template b/srcpkgs/julia/template
index 1e5744fc6f6..30c3b7921f6 100644
--- a/srcpkgs/julia/template
+++ b/srcpkgs/julia/template
@@ -2,7 +2,7 @@
 pkgname=julia
 version=1.5.0
 revision=1
-archs="i686* x86_64*"
+archs="i686* x86_64* armv7l aarch64"
 build_style=gnu-makefile
 make_build_args="prefix=/usr sysconfdir=/etc datarootdir=/usr/share
  USE_LLVM_SHLIB=1 USE_BINARYBUILDER=0
@@ -31,17 +31,6 @@ noverifyrdeps="Julia vendors in libllvm, libgcc, libgfortran and libquadmath"
 case "$XBPS_TARGET_MACHINE" in
 *-musl)
 	depends+=" musl"
-	broken="fails to compile internal LLVM"
-	;;
-i686-musl)
-	makedepends+=" libexecinfo-devel"
-	depends+=" libexecinfo"
-	LDFLAGS="-lexecinfo -lc"
-	;;
-x86_64-musl)
-	makedepends+=" libexecinfo-devel"
-	depends+=" libexecinfo"
-	LDFLAGS="-lexecinfo"
 	;;
 *)
 	depends+=" glibc"
@@ -63,6 +52,18 @@ x86_64*)
 	export CXXFLAGS="-march=x86-64"
 	make_build_args+=" MARCH=x86-64"
 	;;
+armv7l*)
+	export M="armv7-a"
+	export CFLAGS="-march=armv7-a"
+	export CXXFLAGS="-march=armv7-a"
+	make_build_args+=" MARCH=armv7-a"
+	;;
+aarch64*)
+	export M="armv8-a"
+	export CFLAGS="-march=armv8-a"
+	export CXXFLAGS="-march=armv8-a"
+	make_build_args+=" MARCH=armv8-a"
+	;;
 esac
 
 post_extract() {

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

* Re: julia: update to 1.5.0.
  2020-08-06  2:50 [PR PATCH] julia: update to 1.5.0 non-Jedi
                   ` (2 preceding siblings ...)
  2020-08-06 21:41 ` non-Jedi
@ 2020-08-24  2:17 ` rjpower4
  2020-08-24 18:41 ` non-Jedi
                   ` (36 subsequent siblings)
  40 siblings, 0 replies; 42+ messages in thread
From: rjpower4 @ 2020-08-24  2:17 UTC (permalink / raw)
  To: ml

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

New comment by rjpower4 on void-packages repository

https://github.com/void-linux/void-packages/pull/24097#issuecomment-678868868

Comment:
Is this ready to merge or is there still work to be done? Asking in case I can help out, would love to get working with 1.5

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

* Re: julia: update to 1.5.0.
  2020-08-06  2:50 [PR PATCH] julia: update to 1.5.0 non-Jedi
                   ` (3 preceding siblings ...)
  2020-08-24  2:17 ` rjpower4
@ 2020-08-24 18:41 ` non-Jedi
  2020-08-25 14:56 ` ahesford
                   ` (35 subsequent siblings)
  40 siblings, 0 replies; 42+ messages in thread
From: non-Jedi @ 2020-08-24 18:41 UTC (permalink / raw)
  To: ml

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

New comment by non-Jedi on void-packages repository

https://github.com/void-linux/void-packages/pull/24097#issuecomment-679298208

Comment:
I thought it was ready to merge, but I've polished it up locally. Currently building x86_64-musl to make sure it still works and then will push.

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

* Re: julia: update to 1.5.0.
  2020-08-06  2:50 [PR PATCH] julia: update to 1.5.0 non-Jedi
                   ` (4 preceding siblings ...)
  2020-08-24 18:41 ` non-Jedi
@ 2020-08-25 14:56 ` ahesford
  2020-08-25 15:01 ` [PR REVIEW] " ahesford
                   ` (34 subsequent siblings)
  40 siblings, 0 replies; 42+ messages in thread
From: ahesford @ 2020-08-25 14:56 UTC (permalink / raw)
  To: ml

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

New comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/24097#issuecomment-680076564

Comment:
Why are you patching Darwin targets in the Makefile?

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

* Re: [PR REVIEW] julia: update to 1.5.0.
  2020-08-06  2:50 [PR PATCH] julia: update to 1.5.0 non-Jedi
                   ` (5 preceding siblings ...)
  2020-08-25 14:56 ` ahesford
@ 2020-08-25 15:01 ` ahesford
  2020-08-25 15:25 ` ericonr
                   ` (33 subsequent siblings)
  40 siblings, 0 replies; 42+ messages in thread
From: ahesford @ 2020-08-25 15:01 UTC (permalink / raw)
  To: ml

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

New review comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/24097#discussion_r476516252

Comment:
I'm going to play with this a bit

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

* Re: julia: update to 1.5.0.
  2020-08-06  2:50 [PR PATCH] julia: update to 1.5.0 non-Jedi
                   ` (6 preceding siblings ...)
  2020-08-25 15:01 ` [PR REVIEW] " ahesford
@ 2020-08-25 15:25 ` ericonr
  2020-08-25 16:33 ` [PR REVIEW] " non-Jedi
                   ` (32 subsequent siblings)
  40 siblings, 0 replies; 42+ messages in thread
From: ericonr @ 2020-08-25 15:25 UTC (permalink / raw)
  To: ml

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

New comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/24097#issuecomment-680094982

Comment:
@ahesford the patches were taken directly from a PR, so I guess it makes sense for them to include unrelated stuff.

```
This patch was taken from <https://github.com/JuliaLang/julia/pull/36697>
to workaround julia 1.5.0 not building correctly with musl libc.
```

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

* Re: [PR REVIEW] julia: update to 1.5.0.
  2020-08-06  2:50 [PR PATCH] julia: update to 1.5.0 non-Jedi
                   ` (7 preceding siblings ...)
  2020-08-25 15:25 ` ericonr
@ 2020-08-25 16:33 ` non-Jedi
  2020-08-25 19:22 ` [PR PATCH] [Updated] " ahesford
                   ` (31 subsequent siblings)
  40 siblings, 0 replies; 42+ messages in thread
From: non-Jedi @ 2020-08-25 16:33 UTC (permalink / raw)
  To: ml

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

New review comment by non-Jedi on void-packages repository

https://github.com/void-linux/void-packages/pull/24097#discussion_r476582892

Comment:
I'd certainly appreciate any help finding a better way to do this. I've been playing around with it locally and thus far unable to find a solution that doesn't spuriously detect dependencies but still hooks into the automatic soname stuff.

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

* Re: [PR PATCH] [Updated] julia: update to 1.5.0.
  2020-08-06  2:50 [PR PATCH] julia: update to 1.5.0 non-Jedi
                   ` (8 preceding siblings ...)
  2020-08-25 16:33 ` [PR REVIEW] " non-Jedi
@ 2020-08-25 19:22 ` ahesford
  2020-08-25 19:26 ` ahesford
                   ` (30 subsequent siblings)
  40 siblings, 0 replies; 42+ messages in thread
From: ahesford @ 2020-08-25 19:22 UTC (permalink / raw)
  To: ml

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

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

https://github.com/non-Jedi/void-packages julia1.5
https://github.com/void-linux/void-packages/pull/24097

julia: update to 1.5.0.
The issues from <https://github.com/void-linux/void-packages/issues/21960> have been resolved, so system libgit2 is used instead of vendoring in dependency.

Switching from using skiprdeps to noverifyrdeps so that dependency
isn't falsely detected on libraries julia vendors
<https://github.com/void-linux/void-packages/issues/23997#issuecomment-667626936>.

[ci skip] because llvm takes too long to build.

Builds fine on my x86_64 glibc machine, and in principle we should be able to build julia on other supported architectures (armv7, aarch64, and x86_64-musl), but I don't have void installs to test that on.

EDIT: I successfully built in a x86_64-musl hostdir/masterdir using the current template.

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

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-julia1.5-24097.patch --]
[-- Type: text/x-diff, Size: 12701 bytes --]

From bf8b911ce9dbcbd930ffff2ecac833d92cda0b73 Mon Sep 17 00:00:00 2001
From: Adam Beckmeyer <adam_gpg@thebeckmeyers.xyz>
Date: Mon, 3 Aug 2020 11:14:03 -0400
Subject: [PATCH 1/3] julia: update to 1.5.0.

The issues from
<https://github.com/void-linux/void-packages/issues/21960>, so system
libgit2 is used instead of vendoring in dependency.

Switching from using skiprdeps to noverifyrdeps so that dependency
isn't falsely detected on libraries julia vendors
<https://github.com/void-linux/void-packages/issues/23997#issuecomment-667626936>.
---
 srcpkgs/julia/template | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/julia/template b/srcpkgs/julia/template
index 80f6d001a74..1e5744fc6f6 100644
--- a/srcpkgs/julia/template
+++ b/srcpkgs/julia/template
@@ -1,6 +1,6 @@
 # Template file for 'julia'
 pkgname=julia
-version=1.4.2
+version=1.5.0
 revision=1
 archs="i686* x86_64*"
 build_style=gnu-makefile
@@ -8,7 +8,7 @@ make_build_args="prefix=/usr sysconfdir=/etc datarootdir=/usr/share
  USE_LLVM_SHLIB=1 USE_BINARYBUILDER=0
  USE_SYSTEM_LIBUV=0 USE_SYSTEM_LIBUNWIND=0 USE_SYSTEM_PATCHELF=1 USE_SYSTEM_LIBM=0
  USE_SYSTEM_DSFMT=0 USE_SYSTEM_LLVM=0 USE_SYSTEM_PCRE=1 USE_SYSTEM_BLAS=0
- USE_SYSTEM_GMP=1 USE_SYSTEM_LIBGIT2=0 USE_SYSTEM_MBEDTLS=1 USE_SYSTEM_LIBSSH2=1
+ USE_SYSTEM_GMP=1 USE_SYSTEM_LIBGIT2=1 USE_SYSTEM_MBEDTLS=1 USE_SYSTEM_LIBSSH2=1
  USE_SYSTEM_CURL=1 USE_SYSTEM_MPFR=1 USE_SYSTEM_SUITESPARSE=0 USE_SYSTEM_UTF8PROC=0
  USE_SYSTEM_ZLIB=1 USE_SYSTEM_P7ZIP=1 USE_SYSTEM_LAPACK=0"
 make_install_args="$make_build_args"
@@ -16,21 +16,21 @@ make_check_args="$make_build_args"
 make_check_target=testall
 conf_files="/etc/julia/startup.jl"
 hostmakedepends="perl cmake python gcc-fortran patchelf which tar xz"
-makedepends="pcre2-devel gmp-devel mpfr-devel libcurl-devel
+makedepends="pcre2-devel gmp-devel libgit2-devel mpfr-devel libcurl-devel
  libssh2-devel mbedtls-devel libatomic-devel zlib-devel p7zip"
-depends="pcre2 gmp mpfr libcurl libssh2 mbedtls libatomic zlib p7zip"
+depends="pcre2 gmp libgit2 mpfr libcurl libssh2 mbedtls libatomic zlib p7zip libstdc++"
 short_desc="High-level, high-performance dynamic programming language"
 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=948c70801d5cce81eeb7f764b51b4bfbb2dc0b1b9effc2cb9fc8f8cf6c90a334
+checksum=4a6ffadc8dd04ca0b7fdef6ae203d0af38185e57b78f7c0b972c4707354a6d1b
 nocross=yes
-# Falsely detects dependency on libllvm
-skiprdeps="/usr/lib/libjulia.so.1.4 /usr/lib/julia/libllvmcalltest.so"
+noverifyrdeps="Julia vendors in libllvm, libgcc, libgfortran and libquadmath"
 
 case "$XBPS_TARGET_MACHINE" in
 *-musl)
+	depends+=" musl"
 	broken="fails to compile internal LLVM"
 	;;
 i686-musl)
@@ -43,6 +43,9 @@ x86_64-musl)
 	depends+=" libexecinfo"
 	LDFLAGS="-lexecinfo"
 	;;
+*)
+	depends+=" glibc"
+	;;
 esac
 
 case "$XBPS_TARGET_MACHINE" in

From aa68b1b2dd33ab9c2157a8b56d3dbc91af5ec3ea Mon Sep 17 00:00:00 2001
From: Adam Beckmeyer <adam_gpg@thebeckmeyers.xyz>
Date: Thu, 6 Aug 2020 17:37:47 -0400
Subject: [PATCH 2/3] julia: enable building on other archs.

x86_64-musl built fine locally, and julia upstream claims to support
armv7 and aarch64 on glibc as well. It's worth checking whether they
can successfully build.

[ci skip] for llvm build.
---
 srcpkgs/julia/patches/36697.diff | 104 +++++++++++++++++++++++++++++++
 srcpkgs/julia/template           |  25 ++++----
 2 files changed, 117 insertions(+), 12 deletions(-)
 create mode 100644 srcpkgs/julia/patches/36697.diff

diff --git a/srcpkgs/julia/patches/36697.diff b/srcpkgs/julia/patches/36697.diff
new file mode 100644
index 00000000000..f0c84d548e3
--- /dev/null
+++ b/srcpkgs/julia/patches/36697.diff
@@ -0,0 +1,104 @@
+This patch was taken from <https://github.com/JuliaLang/julia/pull/36697>
+to workaround julia 1.5.0 not building correctly with musl libc.
+
+diff --git Make.inc Make.inc
+index e91461514463..21a0299318b5 100644
+--- Make.inc
++++ Make.inc
+@@ -940,17 +940,17 @@ LIBUNWIND:=
+ else
+ ifeq ($(USE_SYSTEM_LIBUNWIND), 1)
+ ifneq ($(OS),Darwin)
+-LIBUNWIND:=-lunwind-generic -lunwind
++LIBUNWIND:=-lunwind
+ # Only for linux since we want to use not yet released libunwind features
+ JCFLAGS+=-DSYSTEM_LIBUNWIND
+ JCPPFLAGS+=-DSYSTEM_LIBUNWIND
+ endif
+ else
+ ifeq ($(OS),Darwin)
+-LIBUNWIND:=$(build_libdir)/libosxunwind.a
++LIBUNWIND:=-losxunwind
+ JCPPFLAGS+=-DLIBOSXUNWIND
+ else
+-LIBUNWIND:=$(build_libdir)/libunwind-generic.a $(build_libdir)/libunwind.a
++LIBUNWIND:=-lunwind
+ endif
+ endif
+ endif
+@@ -1206,12 +1206,12 @@ OSLIBS += -lelf -lkvm -lrt -lpthread
+ OSLIBS += -lgcc_s
+ 
+ OSLIBS += -Wl,--export-dynamic -Wl,--version-script=$(JULIAHOME)/src/julia.expmap \
+-	$(NO_WHOLE_ARCHIVE) $(LIBUNWIND)
++	$(NO_WHOLE_ARCHIVE)
+ endif
+ 
+ ifeq ($(OS), Darwin)
+ SHLIB_EXT := dylib
+-OSLIBS += -framework CoreFoundation $(LIBUNWIND)
++OSLIBS += -framework CoreFoundation
+ WHOLE_ARCHIVE := -Xlinker -all_load
+ NO_WHOLE_ARCHIVE :=
+ JLDFLAGS :=
+diff --git Makefile Makefile
+index 96f58b9aec4e..23d1bd5208f7 100644
+--- Makefile
++++ Makefile
+@@ -181,6 +181,11 @@ endif
+ ifeq ($(USE_LLVM_SHLIB),1)
+ JL_PRIVATE_LIBS-$(USE_SYSTEM_LLVM) += libLLVM libLLVM-9jl
+ endif
++ifeq ($(OS),Darwin)
++JL_PRIVATE_LIBS-$(USE_SYSTEM_LIBUNWIND) += libosxunwind
++else
++JL_PRIVATE_LIBS-$(USE_SYSTEM_LIBUNWIND) += libunwind
++endif
+ 
+ ifeq ($(USE_SYSTEM_LIBM),0)
+ JL_PRIVATE_LIBS-$(USE_SYSTEM_OPENLIBM) += libopenlibm
+diff --git deps/Makefile deps/Makefile
+index e6a975ba1873..90e231f30e85 100644
+--- deps/Makefile
++++ deps/Makefile
+@@ -157,7 +157,11 @@ ifneq ($(OS), WINNT)
+ DEP_LIBS += libwhich
+ endif
+ 
+-DEP_LIBS_STAGED := $(filter-out suitesparse-wrapper osxunwind,$(DEP_LIBS)) # unlist targets that have not been converted to use the staged-install
++# unlist targets that have not been converted to use the staged-install
++DEP_LIBS_STAGED := $(filter-out suitesparse-wrapper,$(DEP_LIBS))
++ifneq ($(USE_BINARYBUILDER_LIBUNWIND),1)
++DEP_LIBS_STAGED := $(filter-out osxunwind,$(DEP_LIBS))
++endif
+ 
+ 
+ ## Common build target prefixes
+diff --git deps/unwind.mk deps/unwind.mk
+index f44917c28981..08d8990a720e 100644
+--- deps/unwind.mk
++++ deps/unwind.mk
+@@ -109,7 +109,7 @@ UNWIND_BB_NAME := LibUnwind.v$(UNWIND_VER)
+ 
+ $(eval $(call bb-install,unwind,UNWIND,false))
+ 
+-OSXUNWIND_BB_URL_BASE := https://github.com/JuliaPackaging/Yggdrasil/releases/download/LibOSXUnwind-$(OSXUNWIND_VER)-$(OSXUNWIND_BB_REL)
++OSXUNWIND_BB_URL_BASE := https://github.com/JuliaBinaryWrappers/LibOSXUnwind_jll.jl/releases/download/LibOSXUnwind-v$(OSXUNWIND_VER)+$(OSXUNWIND_BB_REL)
+ OSXUNWIND_BB_NAME := LibOSXUnwind.v$(OSXUNWIND_VER)
+ 
+ $(eval $(call bb-install,osxunwind,OSXUNWIND,false))
+diff --git src/Makefile src/Makefile
+index 3153c0178d0a..7d8db3740209 100644
+--- src/Makefile
++++ src/Makefile
+@@ -120,7 +120,7 @@ CLANG_LDFLAGS += -Wl,-undefined,dynamic_lookup
+ endif
+ 
+ 
+-COMMON_LIBS := -L$(build_shlibdir) -L$(build_libdir) $(LIBUV) $(LIBUTF8PROC) $(NO_WHOLE_ARCHIVE) $(LLVMLINK) $(OSLIBS) $(LIBUNWIND)
++COMMON_LIBS := -L$(build_shlibdir) -L$(build_libdir) $(LIBUV) $(LIBUTF8PROC) $(NO_WHOLE_ARCHIVE) $(LIBUNWIND) $(LLVMLINK) $(OSLIBS)
+ DEBUG_LIBS := $(WHOLE_ARCHIVE) $(BUILDDIR)/flisp/libflisp-debug.a $(WHOLE_ARCHIVE) $(BUILDDIR)/support/libsupport-debug.a $(COMMON_LIBS)
+ RELEASE_LIBS := $(WHOLE_ARCHIVE) $(BUILDDIR)/flisp/libflisp.a $(WHOLE_ARCHIVE) $(BUILDDIR)/support/libsupport.a $(COMMON_LIBS)
+ 
+
+
diff --git a/srcpkgs/julia/template b/srcpkgs/julia/template
index 1e5744fc6f6..30c3b7921f6 100644
--- a/srcpkgs/julia/template
+++ b/srcpkgs/julia/template
@@ -2,7 +2,7 @@
 pkgname=julia
 version=1.5.0
 revision=1
-archs="i686* x86_64*"
+archs="i686* x86_64* armv7l aarch64"
 build_style=gnu-makefile
 make_build_args="prefix=/usr sysconfdir=/etc datarootdir=/usr/share
  USE_LLVM_SHLIB=1 USE_BINARYBUILDER=0
@@ -31,17 +31,6 @@ noverifyrdeps="Julia vendors in libllvm, libgcc, libgfortran and libquadmath"
 case "$XBPS_TARGET_MACHINE" in
 *-musl)
 	depends+=" musl"
-	broken="fails to compile internal LLVM"
-	;;
-i686-musl)
-	makedepends+=" libexecinfo-devel"
-	depends+=" libexecinfo"
-	LDFLAGS="-lexecinfo -lc"
-	;;
-x86_64-musl)
-	makedepends+=" libexecinfo-devel"
-	depends+=" libexecinfo"
-	LDFLAGS="-lexecinfo"
 	;;
 *)
 	depends+=" glibc"
@@ -63,6 +52,18 @@ x86_64*)
 	export CXXFLAGS="-march=x86-64"
 	make_build_args+=" MARCH=x86-64"
 	;;
+armv7l*)
+	export M="armv7-a"
+	export CFLAGS="-march=armv7-a"
+	export CXXFLAGS="-march=armv7-a"
+	make_build_args+=" MARCH=armv7-a"
+	;;
+aarch64*)
+	export M="armv8-a"
+	export CFLAGS="-march=armv8-a"
+	export CXXFLAGS="-march=armv8-a"
+	make_build_args+=" MARCH=armv8-a"
+	;;
 esac
 
 post_extract() {

From 23f0e441ad924ffda5d736220cc244be87ac962e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Tue, 25 Aug 2020 15:21:49 -0400
Subject: [PATCH 3/3] julia: rely on system libraries where possible

---
 srcpkgs/julia/template | 44 ++++++++++++++++++++----------------------
 1 file changed, 21 insertions(+), 23 deletions(-)

diff --git a/srcpkgs/julia/template b/srcpkgs/julia/template
index 30c3b7921f6..1224e520353 100644
--- a/srcpkgs/julia/template
+++ b/srcpkgs/julia/template
@@ -2,66 +2,64 @@
 pkgname=julia
 version=1.5.0
 revision=1
-archs="i686* x86_64* armv7l aarch64"
+archs="i686* x86_64* armv7l* aarch64*"
 build_style=gnu-makefile
 make_build_args="prefix=/usr sysconfdir=/etc datarootdir=/usr/share
- USE_LLVM_SHLIB=1 USE_BINARYBUILDER=0
- USE_SYSTEM_LIBUV=0 USE_SYSTEM_LIBUNWIND=0 USE_SYSTEM_PATCHELF=1 USE_SYSTEM_LIBM=0
- USE_SYSTEM_DSFMT=0 USE_SYSTEM_LLVM=0 USE_SYSTEM_PCRE=1 USE_SYSTEM_BLAS=0
- USE_SYSTEM_GMP=1 USE_SYSTEM_LIBGIT2=1 USE_SYSTEM_MBEDTLS=1 USE_SYSTEM_LIBSSH2=1
- USE_SYSTEM_CURL=1 USE_SYSTEM_MPFR=1 USE_SYSTEM_SUITESPARSE=0 USE_SYSTEM_UTF8PROC=0
- USE_SYSTEM_ZLIB=1 USE_SYSTEM_P7ZIP=1 USE_SYSTEM_LAPACK=0"
+ USE_BINARYBUILDER=0 USE_SYSTEM_LIBM=0 USE_SYSTEM_DSFMT=0
+ USE_SYSTEM_LIBUV=0 USE_SYSTEM_SUITESPARSE=0
+ USE_SYSTEM_LLVM=1 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_CURL=1
+ USE_SYSTEM_ZLIB=1 USE_SYSTEM_P7ZIP=1 USE_SYSTEM_LIBGIT2=1
+ USE_SYSTEM_BLAS=1 USE_SYSTEM_LAPACK=1 USE_SYSTEM_UTF8PROC=1
+ UTF8PROC_INC='${XBPS_CROSS_BASE}/usr/include/libutf8proc'"
 make_install_args="$make_build_args"
 make_check_args="$make_build_args"
 make_check_target=testall
 conf_files="/etc/julia/startup.jl"
 hostmakedepends="perl cmake python gcc-fortran patchelf which tar xz"
-makedepends="pcre2-devel gmp-devel libgit2-devel mpfr-devel libcurl-devel
- libssh2-devel mbedtls-devel libatomic-devel zlib-devel p7zip"
-depends="pcre2 gmp libgit2 mpfr libcurl libssh2 mbedtls libatomic zlib p7zip libstdc++"
+makedepends="llvm10 p7zip pcre2-devel mpfr-devel libgit2-devel
+ libcurl-devel libssh2-devel mbedtls-devel libatomic-devel zlib-devel
+ libunwind-devel libutf8proc-devel blas-devel lapack-devel"
+# Julia provides vendored symlinks in /usr/lib/julia pointing to these libraries,
+# but none of the julia executables link to them so these deps can't be detected
+depends="libgit2 libcurl mpfr mbedtls libpcre2 libssh2"
 short_desc="High-level, high-performance dynamic programming language"
 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=4a6ffadc8dd04ca0b7fdef6ae203d0af38185e57b78f7c0b972c4707354a6d1b
-nocross=yes
-noverifyrdeps="Julia vendors in libllvm, libgcc, libgfortran and libquadmath"
-
-case "$XBPS_TARGET_MACHINE" in
-*-musl)
-	depends+=" musl"
-	;;
-*)
-	depends+=" glibc"
-	;;
-esac
+nocross="build system is a mess"
 
 case "$XBPS_TARGET_MACHINE" in
 i686*)
 	export M="pentium4"
 	export CFLAGS="-march=pentium4"
 	export CXXFLAGS="-march=pentium4"
-	export LDFLAGS+=" -Wl,--no-keep-memory"
+	export LDFLAGS="-Wl,--no-keep-memory"
+
 	make_build_args+=" MARCH=pentium4"
-	make_build_args+=" OPENBLAS_USE_THREAD=0"
 	;;
 x86_64*)
 	export M="x86-64"
 	export CFLAGS="-march=x86-64"
 	export CXXFLAGS="-march=x86-64"
+
 	make_build_args+=" MARCH=x86-64"
 	;;
 armv7l*)
 	export M="armv7-a"
 	export CFLAGS="-march=armv7-a"
 	export CXXFLAGS="-march=armv7-a"
+
 	make_build_args+=" MARCH=armv7-a"
 	;;
 aarch64*)
 	export M="armv8-a"
 	export CFLAGS="-march=armv8-a"
 	export CXXFLAGS="-march=armv8-a"
+
 	make_build_args+=" MARCH=armv8-a"
 	;;
 esac

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

* Re: julia: update to 1.5.0.
  2020-08-06  2:50 [PR PATCH] julia: update to 1.5.0 non-Jedi
                   ` (9 preceding siblings ...)
  2020-08-25 19:22 ` [PR PATCH] [Updated] " ahesford
@ 2020-08-25 19:26 ` ahesford
  2020-08-25 19:53 ` [PR REVIEW] " non-Jedi
                   ` (29 subsequent siblings)
  40 siblings, 0 replies; 42+ messages in thread
From: ahesford @ 2020-08-25 19:26 UTC (permalink / raw)
  To: ml

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

New comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/24097#issuecomment-680224893

Comment:
I just pushed some changes to your branch that clean everything up. We now use system libs wherever possible, and that resolves all of your symlink issues. I'm going to let this run through CI, but I've confirmed that it compiles for `x86_64*` and `i686`, that it will not cross-compile unless we really hack the build system, and it at least launches as compiled for `x86_64`. I'm not enough of a Julia user to test more than its ability to launch without crashing.

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

* Re: [PR REVIEW] julia: update to 1.5.0.
  2020-08-06  2:50 [PR PATCH] julia: update to 1.5.0 non-Jedi
                   ` (11 preceding siblings ...)
  2020-08-25 19:53 ` [PR REVIEW] " non-Jedi
@ 2020-08-25 19:53 ` non-Jedi
  2020-08-25 19:53 ` non-Jedi
                   ` (27 subsequent siblings)
  40 siblings, 0 replies; 42+ messages in thread
From: non-Jedi @ 2020-08-25 19:53 UTC (permalink / raw)
  To: ml

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

New review comment by non-Jedi on void-packages repository

https://github.com/void-linux/void-packages/pull/24097#discussion_r476692944

Comment:
[Julia heavily patches the llvm it uses](https://github.com/JuliaLang/julia/tree/master/deps/patches). Using llvm without those patches results in julia being non-functional. That one at least must be allowed to be vendored. In the past, julia would instantly segfault with an unpatched llvm, so if it doesn't do that things must be improving. Maybe in the future we'll even be able to unvendor it.

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

* Re: [PR REVIEW] julia: update to 1.5.0.
  2020-08-06  2:50 [PR PATCH] julia: update to 1.5.0 non-Jedi
                   ` (10 preceding siblings ...)
  2020-08-25 19:26 ` ahesford
@ 2020-08-25 19:53 ` non-Jedi
  2020-08-25 19:53 ` non-Jedi
                   ` (28 subsequent siblings)
  40 siblings, 0 replies; 42+ messages in thread
From: non-Jedi @ 2020-08-25 19:53 UTC (permalink / raw)
  To: ml

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

New review comment by non-Jedi on void-packages repository

https://github.com/void-linux/void-packages/pull/24097#discussion_r476697359

Comment:
We either need to let julia vendor in its own openblas or provide a system [openblas it can link against using 64-bit integers (ILP64)](https://github.com/JuliaLang/julia/blob/master/doc/build/distributing.md#notes-on-blas-and-lapack) (this change was made in https://github.com/void-linux/void-packages/pull/20353 because otherwise some 3rd-party julia packages which expect ILP64 don't work, e.g. Arpack.jl). Long term, it would be good to provide this as a system library [like Fedora does](https://discourse.julialang.org/t/no-documentation-for-the-state-of-patches-for-dependencies-of-julia/44735/3), but I haven't had time to work on that change yet.

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

* Re: [PR REVIEW] julia: update to 1.5.0.
  2020-08-06  2:50 [PR PATCH] julia: update to 1.5.0 non-Jedi
                   ` (12 preceding siblings ...)
  2020-08-25 19:53 ` non-Jedi
@ 2020-08-25 19:53 ` non-Jedi
  2020-08-25 19:56 ` non-Jedi
                   ` (26 subsequent siblings)
  40 siblings, 0 replies; 42+ messages in thread
From: non-Jedi @ 2020-08-25 19:53 UTC (permalink / raw)
  To: ml

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

New review comment by non-Jedi on void-packages repository

https://github.com/void-linux/void-packages/pull/24097#discussion_r476691888

Comment:
I didn't include musl for arm as [it's not a supported platform](https://julialang.org/downloads/#currently_supported_platforms), but if it works, it's fine.

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

* Re: [PR REVIEW] julia: update to 1.5.0.
  2020-08-06  2:50 [PR PATCH] julia: update to 1.5.0 non-Jedi
                   ` (13 preceding siblings ...)
  2020-08-25 19:53 ` non-Jedi
@ 2020-08-25 19:56 ` non-Jedi
  2020-08-25 19:59 ` non-Jedi
                   ` (25 subsequent siblings)
  40 siblings, 0 replies; 42+ messages in thread
From: non-Jedi @ 2020-08-25 19:56 UTC (permalink / raw)
  To: ml

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

New review comment by non-Jedi on void-packages repository

https://github.com/void-linux/void-packages/pull/24097#discussion_r476697359

Comment:
We either need to let julia vendor in its own openblas or provide a system [openblas it can link against using 64-bit integers (ILP64)](https://github.com/JuliaLang/julia/blob/master/doc/build/distributing.md#notes-on-blas-and-lapack) (this was changed to let julia vendor openblas in https://github.com/void-linux/void-packages/pull/20353 because otherwise some 3rd-party julia packages which expect ILP64 don't work, e.g. Arpack.jl). Long term, it would be good to provide this as a system library [like Fedora does](https://discourse.julialang.org/t/no-documentation-for-the-state-of-patches-for-dependencies-of-julia/44735/3), but I haven't had time to work on that change yet.

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

* Re: [PR REVIEW] julia: update to 1.5.0.
  2020-08-06  2:50 [PR PATCH] julia: update to 1.5.0 non-Jedi
                   ` (14 preceding siblings ...)
  2020-08-25 19:56 ` non-Jedi
@ 2020-08-25 19:59 ` non-Jedi
  2020-08-25 20:00 ` non-Jedi
                   ` (24 subsequent siblings)
  40 siblings, 0 replies; 42+ messages in thread
From: non-Jedi @ 2020-08-25 19:59 UTC (permalink / raw)
  To: ml

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

New review comment by non-Jedi on void-packages repository

https://github.com/void-linux/void-packages/pull/24097#discussion_r476702970

Comment:
With using system libunwind, we may be able to get rid of patch. I'll check.

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

* Re: [PR REVIEW] julia: update to 1.5.0.
  2020-08-06  2:50 [PR PATCH] julia: update to 1.5.0 non-Jedi
                   ` (15 preceding siblings ...)
  2020-08-25 19:59 ` non-Jedi
@ 2020-08-25 20:00 ` non-Jedi
  2020-08-25 20:04 ` ahesford
                   ` (23 subsequent siblings)
  40 siblings, 0 replies; 42+ messages in thread
From: non-Jedi @ 2020-08-25 20:00 UTC (permalink / raw)
  To: ml

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

New review comment by non-Jedi on void-packages repository

https://github.com/void-linux/void-packages/pull/24097#discussion_r476702970

Comment:
With using system libunwind, we may be able to get rid of the patch added in this PR. I'll check.

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

* Re: [PR REVIEW] julia: update to 1.5.0.
  2020-08-06  2:50 [PR PATCH] julia: update to 1.5.0 non-Jedi
                   ` (16 preceding siblings ...)
  2020-08-25 20:00 ` non-Jedi
@ 2020-08-25 20:04 ` ahesford
  2020-08-25 20:05 ` ahesford
                   ` (22 subsequent siblings)
  40 siblings, 0 replies; 42+ messages in thread
From: ahesford @ 2020-08-25 20:04 UTC (permalink / raw)
  To: ml

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

New review comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/24097#discussion_r476705612

Comment:
I see. None of the ARM stuff is tested at all because we don't have native ARM builders and, because the entire Julia build and dependency system is a total disaster, cross compilation fails. I can't see how `x86_64-musl` would build without patches but `{aarch64,armv7l}-musl` would fail. I'm tempted to leave it as is until somebody with a native ARM build finds a reason why the package is broken.

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

* Re: [PR REVIEW] julia: update to 1.5.0.
  2020-08-06  2:50 [PR PATCH] julia: update to 1.5.0 non-Jedi
                   ` (17 preceding siblings ...)
  2020-08-25 20:04 ` ahesford
@ 2020-08-25 20:05 ` ahesford
  2020-08-25 20:09 ` ahesford
                   ` (21 subsequent siblings)
  40 siblings, 0 replies; 42+ messages in thread
From: ahesford @ 2020-08-25 20:05 UTC (permalink / raw)
  To: ml

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

New review comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/24097#discussion_r476706247

Comment:
This is unforunate, but I guess not unexpected.

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

* Re: [PR REVIEW] julia: update to 1.5.0.
  2020-08-06  2:50 [PR PATCH] julia: update to 1.5.0 non-Jedi
                   ` (18 preceding siblings ...)
  2020-08-25 20:05 ` ahesford
@ 2020-08-25 20:09 ` ahesford
  2020-08-25 20:09 ` ahesford
                   ` (20 subsequent siblings)
  40 siblings, 0 replies; 42+ messages in thread
From: ahesford @ 2020-08-25 20:09 UTC (permalink / raw)
  To: ml

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

New review comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/24097#discussion_r476708294

Comment:
I thought about that, but saw at least one line in the patch that reorders linker arguments, so it might still be relevant.

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

* Re: [PR REVIEW] julia: update to 1.5.0.
  2020-08-06  2:50 [PR PATCH] julia: update to 1.5.0 non-Jedi
                   ` (19 preceding siblings ...)
  2020-08-25 20:09 ` ahesford
@ 2020-08-25 20:09 ` ahesford
  2020-08-25 20:18 ` non-Jedi
                   ` (19 subsequent siblings)
  40 siblings, 0 replies; 42+ messages in thread
From: ahesford @ 2020-08-25 20:09 UTC (permalink / raw)
  To: ml

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

New review comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/24097#discussion_r476708381

Comment:
These spurious dependencies aren't really spurious. For some sensless reason, Julia doesn't fix its build system and works around some library issues by directly **copying the system libraries into** `usr/lib/julia` and modifying the rpaths.

Even if we have to build openblas as part of Julia to support ILP64 (which never should have been the case---I don't know of a non-dead architeture that is natively ILP64---why would Julia impose this???), we should just *delete* the "vendored" clones it's made in `/usr/lib/julia` and, if we really need them, symlink to the system libraries.

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

* Re: [PR REVIEW] julia: update to 1.5.0.
  2020-08-06  2:50 [PR PATCH] julia: update to 1.5.0 non-Jedi
                   ` (20 preceding siblings ...)
  2020-08-25 20:09 ` ahesford
@ 2020-08-25 20:18 ` non-Jedi
  2020-08-25 20:20 ` non-Jedi
                   ` (18 subsequent siblings)
  40 siblings, 0 replies; 42+ messages in thread
From: non-Jedi @ 2020-08-25 20:18 UTC (permalink / raw)
  To: ml

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

New review comment by non-Jedi on void-packages repository

https://github.com/void-linux/void-packages/pull/24097#discussion_r476712410

Comment:
Looking at [how Fedora builds openblas with ILP64 (`libopenblas64_.so`)](https://src.fedoraproject.org/rpms/openblas/blob/5641975e5cba160e947c65c918c30f44b7bc17a5/f/openblas.spec#_411), getting it working on Void might not be so bad. Can take a look when I get a chance. I'd prefer not to block packaging julia 1.5 on this though.

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

* Re: [PR REVIEW] julia: update to 1.5.0.
  2020-08-06  2:50 [PR PATCH] julia: update to 1.5.0 non-Jedi
                   ` (21 preceding siblings ...)
  2020-08-25 20:18 ` non-Jedi
@ 2020-08-25 20:20 ` non-Jedi
  2020-08-25 20:21 ` non-Jedi
                   ` (17 subsequent siblings)
  40 siblings, 0 replies; 42+ messages in thread
From: non-Jedi @ 2020-08-25 20:20 UTC (permalink / raw)
  To: ml

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

New review comment by non-Jedi on void-packages repository

https://github.com/void-linux/void-packages/pull/24097#discussion_r476713425

Comment:
Sounds good to me.

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

* Re: [PR REVIEW] julia: update to 1.5.0.
  2020-08-06  2:50 [PR PATCH] julia: update to 1.5.0 non-Jedi
                   ` (22 preceding siblings ...)
  2020-08-25 20:20 ` non-Jedi
@ 2020-08-25 20:21 ` non-Jedi
  2020-08-25 20:29 ` non-Jedi
                   ` (16 subsequent siblings)
  40 siblings, 0 replies; 42+ messages in thread
From: non-Jedi @ 2020-08-25 20:21 UTC (permalink / raw)
  To: ml

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

New review comment by non-Jedi on void-packages repository

https://github.com/void-linux/void-packages/pull/24097#discussion_r476714050

Comment:
>Even if we have to build openblas as part of Julia to support ILP64 (which never should have been the case---I don't know of a non-dead architeture that is natively ILP64---why would Julia impose this???), we should just delete the "vendored" clones it's made in /usr/lib/julia and, if we really need them, symlink to the system libraries.

I'll try this locally and see how it goes.

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

* Re: [PR REVIEW] julia: update to 1.5.0.
  2020-08-06  2:50 [PR PATCH] julia: update to 1.5.0 non-Jedi
                   ` (23 preceding siblings ...)
  2020-08-25 20:21 ` non-Jedi
@ 2020-08-25 20:29 ` non-Jedi
  2020-08-25 20:47 ` ahesford
                   ` (15 subsequent siblings)
  40 siblings, 0 replies; 42+ messages in thread
From: non-Jedi @ 2020-08-25 20:29 UTC (permalink / raw)
  To: ml

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

New review comment by non-Jedi on void-packages repository

https://github.com/void-linux/void-packages/pull/24097#discussion_r476718253

Comment:
>(which never should have been the case---I don't know of a non-dead architeture that is natively ILP64---why would Julia impose this???)

I went digging: https://github.com/JuliaLang/julia/issues/1527

Looks like blas uses `int` for dimensions, so if you want to have arrays with dimensions greater than 2147483647 you need ILP64. My understanding here is fuzzy at best, so I could be off-base.

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

* Re: [PR REVIEW] julia: update to 1.5.0.
  2020-08-06  2:50 [PR PATCH] julia: update to 1.5.0 non-Jedi
                   ` (24 preceding siblings ...)
  2020-08-25 20:29 ` non-Jedi
@ 2020-08-25 20:47 ` ahesford
  2020-08-25 21:32 ` [PR PATCH] [Updated] " ahesford
                   ` (14 subsequent siblings)
  40 siblings, 0 replies; 42+ messages in thread
From: ahesford @ 2020-08-25 20:47 UTC (permalink / raw)
  To: ml

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

New review comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/24097#discussion_r476727262

Comment:
I'm test-building a version with vendored llvm and openblas that removes the conflicting `libgfortran`, `libgcc_s` and `libquadmath` without creating symlinks in `/usr/lib/julia`. The linker should be able to find these libraries in their default locations. When it's built, I'll force push to your branch (I've rebased on master so we don't have to compile an outdated `libressl`) and hopefully you can run it through its paces.

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

* Re: [PR PATCH] [Updated] julia: update to 1.5.0.
  2020-08-06  2:50 [PR PATCH] julia: update to 1.5.0 non-Jedi
                   ` (25 preceding siblings ...)
  2020-08-25 20:47 ` ahesford
@ 2020-08-25 21:32 ` ahesford
  2020-08-25 21:33 ` ahesford
                   ` (13 subsequent siblings)
  40 siblings, 0 replies; 42+ messages in thread
From: ahesford @ 2020-08-25 21:32 UTC (permalink / raw)
  To: ml

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

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

https://github.com/non-Jedi/void-packages julia1.5
https://github.com/void-linux/void-packages/pull/24097

julia: update to 1.5.0.
The issues from <https://github.com/void-linux/void-packages/issues/21960> have been resolved, so system libgit2 is used instead of vendoring in dependency.

Switching from using skiprdeps to noverifyrdeps so that dependency
isn't falsely detected on libraries julia vendors
<https://github.com/void-linux/void-packages/issues/23997#issuecomment-667626936>.

[ci skip] because llvm takes too long to build.

Builds fine on my x86_64 glibc machine, and in principle we should be able to build julia on other supported architectures (armv7, aarch64, and x86_64-musl), but I don't have void installs to test that on.

EDIT: I successfully built in a x86_64-musl hostdir/masterdir using the current template.

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

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-julia1.5-24097.patch --]
[-- Type: text/x-diff, Size: 15720 bytes --]

From 5be6fb210b4712741ceb40dddeb7490c45422395 Mon Sep 17 00:00:00 2001
From: Adam Beckmeyer <adam_gpg@thebeckmeyers.xyz>
Date: Mon, 3 Aug 2020 11:14:03 -0400
Subject: [PATCH 1/4] julia: update to 1.5.0.

The issues from
<https://github.com/void-linux/void-packages/issues/21960>, so system
libgit2 is used instead of vendoring in dependency.

Switching from using skiprdeps to noverifyrdeps so that dependency
isn't falsely detected on libraries julia vendors
<https://github.com/void-linux/void-packages/issues/23997#issuecomment-667626936>.
---
 srcpkgs/julia/template | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/julia/template b/srcpkgs/julia/template
index 80f6d001a74..1e5744fc6f6 100644
--- a/srcpkgs/julia/template
+++ b/srcpkgs/julia/template
@@ -1,6 +1,6 @@
 # Template file for 'julia'
 pkgname=julia
-version=1.4.2
+version=1.5.0
 revision=1
 archs="i686* x86_64*"
 build_style=gnu-makefile
@@ -8,7 +8,7 @@ make_build_args="prefix=/usr sysconfdir=/etc datarootdir=/usr/share
  USE_LLVM_SHLIB=1 USE_BINARYBUILDER=0
  USE_SYSTEM_LIBUV=0 USE_SYSTEM_LIBUNWIND=0 USE_SYSTEM_PATCHELF=1 USE_SYSTEM_LIBM=0
  USE_SYSTEM_DSFMT=0 USE_SYSTEM_LLVM=0 USE_SYSTEM_PCRE=1 USE_SYSTEM_BLAS=0
- USE_SYSTEM_GMP=1 USE_SYSTEM_LIBGIT2=0 USE_SYSTEM_MBEDTLS=1 USE_SYSTEM_LIBSSH2=1
+ USE_SYSTEM_GMP=1 USE_SYSTEM_LIBGIT2=1 USE_SYSTEM_MBEDTLS=1 USE_SYSTEM_LIBSSH2=1
  USE_SYSTEM_CURL=1 USE_SYSTEM_MPFR=1 USE_SYSTEM_SUITESPARSE=0 USE_SYSTEM_UTF8PROC=0
  USE_SYSTEM_ZLIB=1 USE_SYSTEM_P7ZIP=1 USE_SYSTEM_LAPACK=0"
 make_install_args="$make_build_args"
@@ -16,21 +16,21 @@ make_check_args="$make_build_args"
 make_check_target=testall
 conf_files="/etc/julia/startup.jl"
 hostmakedepends="perl cmake python gcc-fortran patchelf which tar xz"
-makedepends="pcre2-devel gmp-devel mpfr-devel libcurl-devel
+makedepends="pcre2-devel gmp-devel libgit2-devel mpfr-devel libcurl-devel
  libssh2-devel mbedtls-devel libatomic-devel zlib-devel p7zip"
-depends="pcre2 gmp mpfr libcurl libssh2 mbedtls libatomic zlib p7zip"
+depends="pcre2 gmp libgit2 mpfr libcurl libssh2 mbedtls libatomic zlib p7zip libstdc++"
 short_desc="High-level, high-performance dynamic programming language"
 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=948c70801d5cce81eeb7f764b51b4bfbb2dc0b1b9effc2cb9fc8f8cf6c90a334
+checksum=4a6ffadc8dd04ca0b7fdef6ae203d0af38185e57b78f7c0b972c4707354a6d1b
 nocross=yes
-# Falsely detects dependency on libllvm
-skiprdeps="/usr/lib/libjulia.so.1.4 /usr/lib/julia/libllvmcalltest.so"
+noverifyrdeps="Julia vendors in libllvm, libgcc, libgfortran and libquadmath"
 
 case "$XBPS_TARGET_MACHINE" in
 *-musl)
+	depends+=" musl"
 	broken="fails to compile internal LLVM"
 	;;
 i686-musl)
@@ -43,6 +43,9 @@ x86_64-musl)
 	depends+=" libexecinfo"
 	LDFLAGS="-lexecinfo"
 	;;
+*)
+	depends+=" glibc"
+	;;
 esac
 
 case "$XBPS_TARGET_MACHINE" in

From 87db57ed08dcf46e81d4d12653a19c48754b36cd Mon Sep 17 00:00:00 2001
From: Adam Beckmeyer <adam_gpg@thebeckmeyers.xyz>
Date: Thu, 6 Aug 2020 17:37:47 -0400
Subject: [PATCH 2/4] julia: enable building on other archs.

x86_64-musl built fine locally, and julia upstream claims to support
armv7 and aarch64 on glibc as well. It's worth checking whether they
can successfully build.

[ci skip] for llvm build.
---
 srcpkgs/julia/patches/36697.diff | 104 +++++++++++++++++++++++++++++++
 srcpkgs/julia/template           |  25 ++++----
 2 files changed, 117 insertions(+), 12 deletions(-)
 create mode 100644 srcpkgs/julia/patches/36697.diff

diff --git a/srcpkgs/julia/patches/36697.diff b/srcpkgs/julia/patches/36697.diff
new file mode 100644
index 00000000000..f0c84d548e3
--- /dev/null
+++ b/srcpkgs/julia/patches/36697.diff
@@ -0,0 +1,104 @@
+This patch was taken from <https://github.com/JuliaLang/julia/pull/36697>
+to workaround julia 1.5.0 not building correctly with musl libc.
+
+diff --git Make.inc Make.inc
+index e91461514463..21a0299318b5 100644
+--- Make.inc
++++ Make.inc
+@@ -940,17 +940,17 @@ LIBUNWIND:=
+ else
+ ifeq ($(USE_SYSTEM_LIBUNWIND), 1)
+ ifneq ($(OS),Darwin)
+-LIBUNWIND:=-lunwind-generic -lunwind
++LIBUNWIND:=-lunwind
+ # Only for linux since we want to use not yet released libunwind features
+ JCFLAGS+=-DSYSTEM_LIBUNWIND
+ JCPPFLAGS+=-DSYSTEM_LIBUNWIND
+ endif
+ else
+ ifeq ($(OS),Darwin)
+-LIBUNWIND:=$(build_libdir)/libosxunwind.a
++LIBUNWIND:=-losxunwind
+ JCPPFLAGS+=-DLIBOSXUNWIND
+ else
+-LIBUNWIND:=$(build_libdir)/libunwind-generic.a $(build_libdir)/libunwind.a
++LIBUNWIND:=-lunwind
+ endif
+ endif
+ endif
+@@ -1206,12 +1206,12 @@ OSLIBS += -lelf -lkvm -lrt -lpthread
+ OSLIBS += -lgcc_s
+ 
+ OSLIBS += -Wl,--export-dynamic -Wl,--version-script=$(JULIAHOME)/src/julia.expmap \
+-	$(NO_WHOLE_ARCHIVE) $(LIBUNWIND)
++	$(NO_WHOLE_ARCHIVE)
+ endif
+ 
+ ifeq ($(OS), Darwin)
+ SHLIB_EXT := dylib
+-OSLIBS += -framework CoreFoundation $(LIBUNWIND)
++OSLIBS += -framework CoreFoundation
+ WHOLE_ARCHIVE := -Xlinker -all_load
+ NO_WHOLE_ARCHIVE :=
+ JLDFLAGS :=
+diff --git Makefile Makefile
+index 96f58b9aec4e..23d1bd5208f7 100644
+--- Makefile
++++ Makefile
+@@ -181,6 +181,11 @@ endif
+ ifeq ($(USE_LLVM_SHLIB),1)
+ JL_PRIVATE_LIBS-$(USE_SYSTEM_LLVM) += libLLVM libLLVM-9jl
+ endif
++ifeq ($(OS),Darwin)
++JL_PRIVATE_LIBS-$(USE_SYSTEM_LIBUNWIND) += libosxunwind
++else
++JL_PRIVATE_LIBS-$(USE_SYSTEM_LIBUNWIND) += libunwind
++endif
+ 
+ ifeq ($(USE_SYSTEM_LIBM),0)
+ JL_PRIVATE_LIBS-$(USE_SYSTEM_OPENLIBM) += libopenlibm
+diff --git deps/Makefile deps/Makefile
+index e6a975ba1873..90e231f30e85 100644
+--- deps/Makefile
++++ deps/Makefile
+@@ -157,7 +157,11 @@ ifneq ($(OS), WINNT)
+ DEP_LIBS += libwhich
+ endif
+ 
+-DEP_LIBS_STAGED := $(filter-out suitesparse-wrapper osxunwind,$(DEP_LIBS)) # unlist targets that have not been converted to use the staged-install
++# unlist targets that have not been converted to use the staged-install
++DEP_LIBS_STAGED := $(filter-out suitesparse-wrapper,$(DEP_LIBS))
++ifneq ($(USE_BINARYBUILDER_LIBUNWIND),1)
++DEP_LIBS_STAGED := $(filter-out osxunwind,$(DEP_LIBS))
++endif
+ 
+ 
+ ## Common build target prefixes
+diff --git deps/unwind.mk deps/unwind.mk
+index f44917c28981..08d8990a720e 100644
+--- deps/unwind.mk
++++ deps/unwind.mk
+@@ -109,7 +109,7 @@ UNWIND_BB_NAME := LibUnwind.v$(UNWIND_VER)
+ 
+ $(eval $(call bb-install,unwind,UNWIND,false))
+ 
+-OSXUNWIND_BB_URL_BASE := https://github.com/JuliaPackaging/Yggdrasil/releases/download/LibOSXUnwind-$(OSXUNWIND_VER)-$(OSXUNWIND_BB_REL)
++OSXUNWIND_BB_URL_BASE := https://github.com/JuliaBinaryWrappers/LibOSXUnwind_jll.jl/releases/download/LibOSXUnwind-v$(OSXUNWIND_VER)+$(OSXUNWIND_BB_REL)
+ OSXUNWIND_BB_NAME := LibOSXUnwind.v$(OSXUNWIND_VER)
+ 
+ $(eval $(call bb-install,osxunwind,OSXUNWIND,false))
+diff --git src/Makefile src/Makefile
+index 3153c0178d0a..7d8db3740209 100644
+--- src/Makefile
++++ src/Makefile
+@@ -120,7 +120,7 @@ CLANG_LDFLAGS += -Wl,-undefined,dynamic_lookup
+ endif
+ 
+ 
+-COMMON_LIBS := -L$(build_shlibdir) -L$(build_libdir) $(LIBUV) $(LIBUTF8PROC) $(NO_WHOLE_ARCHIVE) $(LLVMLINK) $(OSLIBS) $(LIBUNWIND)
++COMMON_LIBS := -L$(build_shlibdir) -L$(build_libdir) $(LIBUV) $(LIBUTF8PROC) $(NO_WHOLE_ARCHIVE) $(LIBUNWIND) $(LLVMLINK) $(OSLIBS)
+ DEBUG_LIBS := $(WHOLE_ARCHIVE) $(BUILDDIR)/flisp/libflisp-debug.a $(WHOLE_ARCHIVE) $(BUILDDIR)/support/libsupport-debug.a $(COMMON_LIBS)
+ RELEASE_LIBS := $(WHOLE_ARCHIVE) $(BUILDDIR)/flisp/libflisp.a $(WHOLE_ARCHIVE) $(BUILDDIR)/support/libsupport.a $(COMMON_LIBS)
+ 
+
+
diff --git a/srcpkgs/julia/template b/srcpkgs/julia/template
index 1e5744fc6f6..30c3b7921f6 100644
--- a/srcpkgs/julia/template
+++ b/srcpkgs/julia/template
@@ -2,7 +2,7 @@
 pkgname=julia
 version=1.5.0
 revision=1
-archs="i686* x86_64*"
+archs="i686* x86_64* armv7l aarch64"
 build_style=gnu-makefile
 make_build_args="prefix=/usr sysconfdir=/etc datarootdir=/usr/share
  USE_LLVM_SHLIB=1 USE_BINARYBUILDER=0
@@ -31,17 +31,6 @@ noverifyrdeps="Julia vendors in libllvm, libgcc, libgfortran and libquadmath"
 case "$XBPS_TARGET_MACHINE" in
 *-musl)
 	depends+=" musl"
-	broken="fails to compile internal LLVM"
-	;;
-i686-musl)
-	makedepends+=" libexecinfo-devel"
-	depends+=" libexecinfo"
-	LDFLAGS="-lexecinfo -lc"
-	;;
-x86_64-musl)
-	makedepends+=" libexecinfo-devel"
-	depends+=" libexecinfo"
-	LDFLAGS="-lexecinfo"
 	;;
 *)
 	depends+=" glibc"
@@ -63,6 +52,18 @@ x86_64*)
 	export CXXFLAGS="-march=x86-64"
 	make_build_args+=" MARCH=x86-64"
 	;;
+armv7l*)
+	export M="armv7-a"
+	export CFLAGS="-march=armv7-a"
+	export CXXFLAGS="-march=armv7-a"
+	make_build_args+=" MARCH=armv7-a"
+	;;
+aarch64*)
+	export M="armv8-a"
+	export CFLAGS="-march=armv8-a"
+	export CXXFLAGS="-march=armv8-a"
+	make_build_args+=" MARCH=armv8-a"
+	;;
 esac
 
 post_extract() {

From 5876d48dda9d99ce5d8b49b06b5be66190e1c91e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Tue, 25 Aug 2020 15:21:49 -0400
Subject: [PATCH 3/4] julia: rely on system libraries where possible

---
 srcpkgs/julia/template | 44 ++++++++++++++++++++----------------------
 1 file changed, 21 insertions(+), 23 deletions(-)

diff --git a/srcpkgs/julia/template b/srcpkgs/julia/template
index 30c3b7921f6..1224e520353 100644
--- a/srcpkgs/julia/template
+++ b/srcpkgs/julia/template
@@ -2,66 +2,64 @@
 pkgname=julia
 version=1.5.0
 revision=1
-archs="i686* x86_64* armv7l aarch64"
+archs="i686* x86_64* armv7l* aarch64*"
 build_style=gnu-makefile
 make_build_args="prefix=/usr sysconfdir=/etc datarootdir=/usr/share
- USE_LLVM_SHLIB=1 USE_BINARYBUILDER=0
- USE_SYSTEM_LIBUV=0 USE_SYSTEM_LIBUNWIND=0 USE_SYSTEM_PATCHELF=1 USE_SYSTEM_LIBM=0
- USE_SYSTEM_DSFMT=0 USE_SYSTEM_LLVM=0 USE_SYSTEM_PCRE=1 USE_SYSTEM_BLAS=0
- USE_SYSTEM_GMP=1 USE_SYSTEM_LIBGIT2=1 USE_SYSTEM_MBEDTLS=1 USE_SYSTEM_LIBSSH2=1
- USE_SYSTEM_CURL=1 USE_SYSTEM_MPFR=1 USE_SYSTEM_SUITESPARSE=0 USE_SYSTEM_UTF8PROC=0
- USE_SYSTEM_ZLIB=1 USE_SYSTEM_P7ZIP=1 USE_SYSTEM_LAPACK=0"
+ USE_BINARYBUILDER=0 USE_SYSTEM_LIBM=0 USE_SYSTEM_DSFMT=0
+ USE_SYSTEM_LIBUV=0 USE_SYSTEM_SUITESPARSE=0
+ USE_SYSTEM_LLVM=1 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_CURL=1
+ USE_SYSTEM_ZLIB=1 USE_SYSTEM_P7ZIP=1 USE_SYSTEM_LIBGIT2=1
+ USE_SYSTEM_BLAS=1 USE_SYSTEM_LAPACK=1 USE_SYSTEM_UTF8PROC=1
+ UTF8PROC_INC='${XBPS_CROSS_BASE}/usr/include/libutf8proc'"
 make_install_args="$make_build_args"
 make_check_args="$make_build_args"
 make_check_target=testall
 conf_files="/etc/julia/startup.jl"
 hostmakedepends="perl cmake python gcc-fortran patchelf which tar xz"
-makedepends="pcre2-devel gmp-devel libgit2-devel mpfr-devel libcurl-devel
- libssh2-devel mbedtls-devel libatomic-devel zlib-devel p7zip"
-depends="pcre2 gmp libgit2 mpfr libcurl libssh2 mbedtls libatomic zlib p7zip libstdc++"
+makedepends="llvm10 p7zip pcre2-devel mpfr-devel libgit2-devel
+ libcurl-devel libssh2-devel mbedtls-devel libatomic-devel zlib-devel
+ libunwind-devel libutf8proc-devel blas-devel lapack-devel"
+# Julia provides vendored symlinks in /usr/lib/julia pointing to these libraries,
+# but none of the julia executables link to them so these deps can't be detected
+depends="libgit2 libcurl mpfr mbedtls libpcre2 libssh2"
 short_desc="High-level, high-performance dynamic programming language"
 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=4a6ffadc8dd04ca0b7fdef6ae203d0af38185e57b78f7c0b972c4707354a6d1b
-nocross=yes
-noverifyrdeps="Julia vendors in libllvm, libgcc, libgfortran and libquadmath"
-
-case "$XBPS_TARGET_MACHINE" in
-*-musl)
-	depends+=" musl"
-	;;
-*)
-	depends+=" glibc"
-	;;
-esac
+nocross="build system is a mess"
 
 case "$XBPS_TARGET_MACHINE" in
 i686*)
 	export M="pentium4"
 	export CFLAGS="-march=pentium4"
 	export CXXFLAGS="-march=pentium4"
-	export LDFLAGS+=" -Wl,--no-keep-memory"
+	export LDFLAGS="-Wl,--no-keep-memory"
+
 	make_build_args+=" MARCH=pentium4"
-	make_build_args+=" OPENBLAS_USE_THREAD=0"
 	;;
 x86_64*)
 	export M="x86-64"
 	export CFLAGS="-march=x86-64"
 	export CXXFLAGS="-march=x86-64"
+
 	make_build_args+=" MARCH=x86-64"
 	;;
 armv7l*)
 	export M="armv7-a"
 	export CFLAGS="-march=armv7-a"
 	export CXXFLAGS="-march=armv7-a"
+
 	make_build_args+=" MARCH=armv7-a"
 	;;
 aarch64*)
 	export M="armv8-a"
 	export CFLAGS="-march=armv8-a"
 	export CXXFLAGS="-march=armv8-a"
+
 	make_build_args+=" MARCH=armv8-a"
 	;;
 esac

From 6a6d184cb62a16349f1cd12ac81ccc49c50efcef Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Tue, 25 Aug 2020 16:52:41 -0400
Subject: [PATCH 4/4] julia: back to vendored LLVM, openblas and lapack

[ci skip]
---
 srcpkgs/julia/template | 29 +++++++++++++++++------------
 1 file changed, 17 insertions(+), 12 deletions(-)

diff --git a/srcpkgs/julia/template b/srcpkgs/julia/template
index 1224e520353..e8117bd60f3 100644
--- a/srcpkgs/julia/template
+++ b/srcpkgs/julia/template
@@ -5,22 +5,20 @@ 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_LLVM=1 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_CURL=1
- USE_SYSTEM_ZLIB=1 USE_SYSTEM_P7ZIP=1 USE_SYSTEM_LIBGIT2=1
- USE_SYSTEM_BLAS=1 USE_SYSTEM_LAPACK=1 USE_SYSTEM_UTF8PROC=1
+ USE_BINARYBUILDER=0 USE_SYSTEM_LIBM=0 USE_SYSTEM_DSFMT=0 USE_SYSTEM_LIBUV=0
+ USE_SYSTEM_SUITESPARSE=0 USE_SYSTEM_LLVM=0 USE_SYSTEM_BLAS=0 USE_SYSTEM_LAPACK=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_CURL=1
+ USE_SYSTEM_ZLIB=1 USE_SYSTEM_P7ZIP=1 USE_SYSTEM_LIBGIT2=1 USE_SYSTEM_UTF8PROC=1
  UTF8PROC_INC='${XBPS_CROSS_BASE}/usr/include/libutf8proc'"
 make_install_args="$make_build_args"
 make_check_args="$make_build_args"
 make_check_target=testall
 conf_files="/etc/julia/startup.jl"
-hostmakedepends="perl cmake python gcc-fortran patchelf which tar xz"
-makedepends="llvm10 p7zip pcre2-devel mpfr-devel libgit2-devel
- libcurl-devel libssh2-devel mbedtls-devel libatomic-devel zlib-devel
- libunwind-devel libutf8proc-devel blas-devel lapack-devel"
+hostmakedepends="pkg-config perl cmake python gcc-fortran patchelf which tar xz"
+makedepends="p7zip pcre2-devel mpfr-devel libgit2-devel libcurl-devel
+ libssh2-devel mbedtls-devel libatomic-devel zlib-devel libunwind-devel
+ 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 deps can't be detected
 depends="libgit2 libcurl mpfr mbedtls libpcre2 libssh2"
@@ -39,7 +37,7 @@ i686*)
 	export CXXFLAGS="-march=pentium4"
 	export LDFLAGS="-Wl,--no-keep-memory"
 
-	make_build_args+=" MARCH=pentium4"
+	make_build_args+=" MARCH=pentium4 OPENBLAS_USE_THREAD=0"
 	;;
 x86_64*)
 	export M="x86-64"
@@ -70,6 +68,13 @@ post_extract() {
 
 post_install() {
 	vlicense LICENSE.md
+
+	# julia needlessly copies system libraries into a vendor directory
+	local _lib
+	for _lib in libgcc_s.so.1 libgfortran.so.5 libquadmath.so.0; do
+		rm -f "${DESTDIR}/usr/lib/julia/${_lib}"
+		ln -s "/usr/lib/${_lib}" "${DESTDIR}/usr/lib/julia"
+	done
 }
 
 julia-devel_package() {

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

* Re: julia: update to 1.5.0.
  2020-08-06  2:50 [PR PATCH] julia: update to 1.5.0 non-Jedi
                   ` (26 preceding siblings ...)
  2020-08-25 21:32 ` [PR PATCH] [Updated] " ahesford
@ 2020-08-25 21:33 ` ahesford
  2020-08-26  1:58 ` [PR PATCH] [Updated] " non-Jedi
                   ` (12 subsequent siblings)
  40 siblings, 0 replies; 42+ messages in thread
From: ahesford @ 2020-08-25 21:33 UTC (permalink / raw)
  To: ml

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

New comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/24097#issuecomment-680281048

Comment:
OK, rebased against master and force-pushed changes that use vendored llvm and openblas but remove the libs that are just exact copies of system libs. Please test locally for expected operation and, if everything behaves as expected, I'll squash and merge.

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

* Re: [PR PATCH] [Updated] julia: update to 1.5.0.
  2020-08-06  2:50 [PR PATCH] julia: update to 1.5.0 non-Jedi
                   ` (27 preceding siblings ...)
  2020-08-25 21:33 ` ahesford
@ 2020-08-26  1:58 ` non-Jedi
  2020-08-26  2:00 ` non-Jedi
                   ` (11 subsequent siblings)
  40 siblings, 0 replies; 42+ messages in thread
From: non-Jedi @ 2020-08-26  1:58 UTC (permalink / raw)
  To: ml

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

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

https://github.com/non-Jedi/void-packages julia1.5
https://github.com/void-linux/void-packages/pull/24097

julia: update to 1.5.0.
The issues from <https://github.com/void-linux/void-packages/issues/21960> have been resolved, so system libgit2 is used instead of vendoring in dependency.

Switching from using skiprdeps to noverifyrdeps so that dependency
isn't falsely detected on libraries julia vendors
<https://github.com/void-linux/void-packages/issues/23997#issuecomment-667626936>.

[ci skip] because llvm takes too long to build.

Builds fine on my x86_64 glibc machine, and in principle we should be able to build julia on other supported architectures (armv7, aarch64, and x86_64-musl), but I don't have void installs to test that on.

EDIT: I successfully built in a x86_64-musl hostdir/masterdir using the current template.

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

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-julia1.5-24097.patch --]
[-- Type: text/x-diff, Size: 16790 bytes --]

From 5be6fb210b4712741ceb40dddeb7490c45422395 Mon Sep 17 00:00:00 2001
From: Adam Beckmeyer <adam_gpg@thebeckmeyers.xyz>
Date: Mon, 3 Aug 2020 11:14:03 -0400
Subject: [PATCH 1/5] julia: update to 1.5.0.

The issues from
<https://github.com/void-linux/void-packages/issues/21960>, so system
libgit2 is used instead of vendoring in dependency.

Switching from using skiprdeps to noverifyrdeps so that dependency
isn't falsely detected on libraries julia vendors
<https://github.com/void-linux/void-packages/issues/23997#issuecomment-667626936>.
---
 srcpkgs/julia/template | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/julia/template b/srcpkgs/julia/template
index 80f6d001a74..1e5744fc6f6 100644
--- a/srcpkgs/julia/template
+++ b/srcpkgs/julia/template
@@ -1,6 +1,6 @@
 # Template file for 'julia'
 pkgname=julia
-version=1.4.2
+version=1.5.0
 revision=1
 archs="i686* x86_64*"
 build_style=gnu-makefile
@@ -8,7 +8,7 @@ make_build_args="prefix=/usr sysconfdir=/etc datarootdir=/usr/share
  USE_LLVM_SHLIB=1 USE_BINARYBUILDER=0
  USE_SYSTEM_LIBUV=0 USE_SYSTEM_LIBUNWIND=0 USE_SYSTEM_PATCHELF=1 USE_SYSTEM_LIBM=0
  USE_SYSTEM_DSFMT=0 USE_SYSTEM_LLVM=0 USE_SYSTEM_PCRE=1 USE_SYSTEM_BLAS=0
- USE_SYSTEM_GMP=1 USE_SYSTEM_LIBGIT2=0 USE_SYSTEM_MBEDTLS=1 USE_SYSTEM_LIBSSH2=1
+ USE_SYSTEM_GMP=1 USE_SYSTEM_LIBGIT2=1 USE_SYSTEM_MBEDTLS=1 USE_SYSTEM_LIBSSH2=1
  USE_SYSTEM_CURL=1 USE_SYSTEM_MPFR=1 USE_SYSTEM_SUITESPARSE=0 USE_SYSTEM_UTF8PROC=0
  USE_SYSTEM_ZLIB=1 USE_SYSTEM_P7ZIP=1 USE_SYSTEM_LAPACK=0"
 make_install_args="$make_build_args"
@@ -16,21 +16,21 @@ make_check_args="$make_build_args"
 make_check_target=testall
 conf_files="/etc/julia/startup.jl"
 hostmakedepends="perl cmake python gcc-fortran patchelf which tar xz"
-makedepends="pcre2-devel gmp-devel mpfr-devel libcurl-devel
+makedepends="pcre2-devel gmp-devel libgit2-devel mpfr-devel libcurl-devel
  libssh2-devel mbedtls-devel libatomic-devel zlib-devel p7zip"
-depends="pcre2 gmp mpfr libcurl libssh2 mbedtls libatomic zlib p7zip"
+depends="pcre2 gmp libgit2 mpfr libcurl libssh2 mbedtls libatomic zlib p7zip libstdc++"
 short_desc="High-level, high-performance dynamic programming language"
 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=948c70801d5cce81eeb7f764b51b4bfbb2dc0b1b9effc2cb9fc8f8cf6c90a334
+checksum=4a6ffadc8dd04ca0b7fdef6ae203d0af38185e57b78f7c0b972c4707354a6d1b
 nocross=yes
-# Falsely detects dependency on libllvm
-skiprdeps="/usr/lib/libjulia.so.1.4 /usr/lib/julia/libllvmcalltest.so"
+noverifyrdeps="Julia vendors in libllvm, libgcc, libgfortran and libquadmath"
 
 case "$XBPS_TARGET_MACHINE" in
 *-musl)
+	depends+=" musl"
 	broken="fails to compile internal LLVM"
 	;;
 i686-musl)
@@ -43,6 +43,9 @@ x86_64-musl)
 	depends+=" libexecinfo"
 	LDFLAGS="-lexecinfo"
 	;;
+*)
+	depends+=" glibc"
+	;;
 esac
 
 case "$XBPS_TARGET_MACHINE" in

From 87db57ed08dcf46e81d4d12653a19c48754b36cd Mon Sep 17 00:00:00 2001
From: Adam Beckmeyer <adam_gpg@thebeckmeyers.xyz>
Date: Thu, 6 Aug 2020 17:37:47 -0400
Subject: [PATCH 2/5] julia: enable building on other archs.

x86_64-musl built fine locally, and julia upstream claims to support
armv7 and aarch64 on glibc as well. It's worth checking whether they
can successfully build.

[ci skip] for llvm build.
---
 srcpkgs/julia/patches/36697.diff | 104 +++++++++++++++++++++++++++++++
 srcpkgs/julia/template           |  25 ++++----
 2 files changed, 117 insertions(+), 12 deletions(-)
 create mode 100644 srcpkgs/julia/patches/36697.diff

diff --git a/srcpkgs/julia/patches/36697.diff b/srcpkgs/julia/patches/36697.diff
new file mode 100644
index 00000000000..f0c84d548e3
--- /dev/null
+++ b/srcpkgs/julia/patches/36697.diff
@@ -0,0 +1,104 @@
+This patch was taken from <https://github.com/JuliaLang/julia/pull/36697>
+to workaround julia 1.5.0 not building correctly with musl libc.
+
+diff --git Make.inc Make.inc
+index e91461514463..21a0299318b5 100644
+--- Make.inc
++++ Make.inc
+@@ -940,17 +940,17 @@ LIBUNWIND:=
+ else
+ ifeq ($(USE_SYSTEM_LIBUNWIND), 1)
+ ifneq ($(OS),Darwin)
+-LIBUNWIND:=-lunwind-generic -lunwind
++LIBUNWIND:=-lunwind
+ # Only for linux since we want to use not yet released libunwind features
+ JCFLAGS+=-DSYSTEM_LIBUNWIND
+ JCPPFLAGS+=-DSYSTEM_LIBUNWIND
+ endif
+ else
+ ifeq ($(OS),Darwin)
+-LIBUNWIND:=$(build_libdir)/libosxunwind.a
++LIBUNWIND:=-losxunwind
+ JCPPFLAGS+=-DLIBOSXUNWIND
+ else
+-LIBUNWIND:=$(build_libdir)/libunwind-generic.a $(build_libdir)/libunwind.a
++LIBUNWIND:=-lunwind
+ endif
+ endif
+ endif
+@@ -1206,12 +1206,12 @@ OSLIBS += -lelf -lkvm -lrt -lpthread
+ OSLIBS += -lgcc_s
+ 
+ OSLIBS += -Wl,--export-dynamic -Wl,--version-script=$(JULIAHOME)/src/julia.expmap \
+-	$(NO_WHOLE_ARCHIVE) $(LIBUNWIND)
++	$(NO_WHOLE_ARCHIVE)
+ endif
+ 
+ ifeq ($(OS), Darwin)
+ SHLIB_EXT := dylib
+-OSLIBS += -framework CoreFoundation $(LIBUNWIND)
++OSLIBS += -framework CoreFoundation
+ WHOLE_ARCHIVE := -Xlinker -all_load
+ NO_WHOLE_ARCHIVE :=
+ JLDFLAGS :=
+diff --git Makefile Makefile
+index 96f58b9aec4e..23d1bd5208f7 100644
+--- Makefile
++++ Makefile
+@@ -181,6 +181,11 @@ endif
+ ifeq ($(USE_LLVM_SHLIB),1)
+ JL_PRIVATE_LIBS-$(USE_SYSTEM_LLVM) += libLLVM libLLVM-9jl
+ endif
++ifeq ($(OS),Darwin)
++JL_PRIVATE_LIBS-$(USE_SYSTEM_LIBUNWIND) += libosxunwind
++else
++JL_PRIVATE_LIBS-$(USE_SYSTEM_LIBUNWIND) += libunwind
++endif
+ 
+ ifeq ($(USE_SYSTEM_LIBM),0)
+ JL_PRIVATE_LIBS-$(USE_SYSTEM_OPENLIBM) += libopenlibm
+diff --git deps/Makefile deps/Makefile
+index e6a975ba1873..90e231f30e85 100644
+--- deps/Makefile
++++ deps/Makefile
+@@ -157,7 +157,11 @@ ifneq ($(OS), WINNT)
+ DEP_LIBS += libwhich
+ endif
+ 
+-DEP_LIBS_STAGED := $(filter-out suitesparse-wrapper osxunwind,$(DEP_LIBS)) # unlist targets that have not been converted to use the staged-install
++# unlist targets that have not been converted to use the staged-install
++DEP_LIBS_STAGED := $(filter-out suitesparse-wrapper,$(DEP_LIBS))
++ifneq ($(USE_BINARYBUILDER_LIBUNWIND),1)
++DEP_LIBS_STAGED := $(filter-out osxunwind,$(DEP_LIBS))
++endif
+ 
+ 
+ ## Common build target prefixes
+diff --git deps/unwind.mk deps/unwind.mk
+index f44917c28981..08d8990a720e 100644
+--- deps/unwind.mk
++++ deps/unwind.mk
+@@ -109,7 +109,7 @@ UNWIND_BB_NAME := LibUnwind.v$(UNWIND_VER)
+ 
+ $(eval $(call bb-install,unwind,UNWIND,false))
+ 
+-OSXUNWIND_BB_URL_BASE := https://github.com/JuliaPackaging/Yggdrasil/releases/download/LibOSXUnwind-$(OSXUNWIND_VER)-$(OSXUNWIND_BB_REL)
++OSXUNWIND_BB_URL_BASE := https://github.com/JuliaBinaryWrappers/LibOSXUnwind_jll.jl/releases/download/LibOSXUnwind-v$(OSXUNWIND_VER)+$(OSXUNWIND_BB_REL)
+ OSXUNWIND_BB_NAME := LibOSXUnwind.v$(OSXUNWIND_VER)
+ 
+ $(eval $(call bb-install,osxunwind,OSXUNWIND,false))
+diff --git src/Makefile src/Makefile
+index 3153c0178d0a..7d8db3740209 100644
+--- src/Makefile
++++ src/Makefile
+@@ -120,7 +120,7 @@ CLANG_LDFLAGS += -Wl,-undefined,dynamic_lookup
+ endif
+ 
+ 
+-COMMON_LIBS := -L$(build_shlibdir) -L$(build_libdir) $(LIBUV) $(LIBUTF8PROC) $(NO_WHOLE_ARCHIVE) $(LLVMLINK) $(OSLIBS) $(LIBUNWIND)
++COMMON_LIBS := -L$(build_shlibdir) -L$(build_libdir) $(LIBUV) $(LIBUTF8PROC) $(NO_WHOLE_ARCHIVE) $(LIBUNWIND) $(LLVMLINK) $(OSLIBS)
+ DEBUG_LIBS := $(WHOLE_ARCHIVE) $(BUILDDIR)/flisp/libflisp-debug.a $(WHOLE_ARCHIVE) $(BUILDDIR)/support/libsupport-debug.a $(COMMON_LIBS)
+ RELEASE_LIBS := $(WHOLE_ARCHIVE) $(BUILDDIR)/flisp/libflisp.a $(WHOLE_ARCHIVE) $(BUILDDIR)/support/libsupport.a $(COMMON_LIBS)
+ 
+
+
diff --git a/srcpkgs/julia/template b/srcpkgs/julia/template
index 1e5744fc6f6..30c3b7921f6 100644
--- a/srcpkgs/julia/template
+++ b/srcpkgs/julia/template
@@ -2,7 +2,7 @@
 pkgname=julia
 version=1.5.0
 revision=1
-archs="i686* x86_64*"
+archs="i686* x86_64* armv7l aarch64"
 build_style=gnu-makefile
 make_build_args="prefix=/usr sysconfdir=/etc datarootdir=/usr/share
  USE_LLVM_SHLIB=1 USE_BINARYBUILDER=0
@@ -31,17 +31,6 @@ noverifyrdeps="Julia vendors in libllvm, libgcc, libgfortran and libquadmath"
 case "$XBPS_TARGET_MACHINE" in
 *-musl)
 	depends+=" musl"
-	broken="fails to compile internal LLVM"
-	;;
-i686-musl)
-	makedepends+=" libexecinfo-devel"
-	depends+=" libexecinfo"
-	LDFLAGS="-lexecinfo -lc"
-	;;
-x86_64-musl)
-	makedepends+=" libexecinfo-devel"
-	depends+=" libexecinfo"
-	LDFLAGS="-lexecinfo"
 	;;
 *)
 	depends+=" glibc"
@@ -63,6 +52,18 @@ x86_64*)
 	export CXXFLAGS="-march=x86-64"
 	make_build_args+=" MARCH=x86-64"
 	;;
+armv7l*)
+	export M="armv7-a"
+	export CFLAGS="-march=armv7-a"
+	export CXXFLAGS="-march=armv7-a"
+	make_build_args+=" MARCH=armv7-a"
+	;;
+aarch64*)
+	export M="armv8-a"
+	export CFLAGS="-march=armv8-a"
+	export CXXFLAGS="-march=armv8-a"
+	make_build_args+=" MARCH=armv8-a"
+	;;
 esac
 
 post_extract() {

From 5876d48dda9d99ce5d8b49b06b5be66190e1c91e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Tue, 25 Aug 2020 15:21:49 -0400
Subject: [PATCH 3/5] julia: rely on system libraries where possible

---
 srcpkgs/julia/template | 44 ++++++++++++++++++++----------------------
 1 file changed, 21 insertions(+), 23 deletions(-)

diff --git a/srcpkgs/julia/template b/srcpkgs/julia/template
index 30c3b7921f6..1224e520353 100644
--- a/srcpkgs/julia/template
+++ b/srcpkgs/julia/template
@@ -2,66 +2,64 @@
 pkgname=julia
 version=1.5.0
 revision=1
-archs="i686* x86_64* armv7l aarch64"
+archs="i686* x86_64* armv7l* aarch64*"
 build_style=gnu-makefile
 make_build_args="prefix=/usr sysconfdir=/etc datarootdir=/usr/share
- USE_LLVM_SHLIB=1 USE_BINARYBUILDER=0
- USE_SYSTEM_LIBUV=0 USE_SYSTEM_LIBUNWIND=0 USE_SYSTEM_PATCHELF=1 USE_SYSTEM_LIBM=0
- USE_SYSTEM_DSFMT=0 USE_SYSTEM_LLVM=0 USE_SYSTEM_PCRE=1 USE_SYSTEM_BLAS=0
- USE_SYSTEM_GMP=1 USE_SYSTEM_LIBGIT2=1 USE_SYSTEM_MBEDTLS=1 USE_SYSTEM_LIBSSH2=1
- USE_SYSTEM_CURL=1 USE_SYSTEM_MPFR=1 USE_SYSTEM_SUITESPARSE=0 USE_SYSTEM_UTF8PROC=0
- USE_SYSTEM_ZLIB=1 USE_SYSTEM_P7ZIP=1 USE_SYSTEM_LAPACK=0"
+ USE_BINARYBUILDER=0 USE_SYSTEM_LIBM=0 USE_SYSTEM_DSFMT=0
+ USE_SYSTEM_LIBUV=0 USE_SYSTEM_SUITESPARSE=0
+ USE_SYSTEM_LLVM=1 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_CURL=1
+ USE_SYSTEM_ZLIB=1 USE_SYSTEM_P7ZIP=1 USE_SYSTEM_LIBGIT2=1
+ USE_SYSTEM_BLAS=1 USE_SYSTEM_LAPACK=1 USE_SYSTEM_UTF8PROC=1
+ UTF8PROC_INC='${XBPS_CROSS_BASE}/usr/include/libutf8proc'"
 make_install_args="$make_build_args"
 make_check_args="$make_build_args"
 make_check_target=testall
 conf_files="/etc/julia/startup.jl"
 hostmakedepends="perl cmake python gcc-fortran patchelf which tar xz"
-makedepends="pcre2-devel gmp-devel libgit2-devel mpfr-devel libcurl-devel
- libssh2-devel mbedtls-devel libatomic-devel zlib-devel p7zip"
-depends="pcre2 gmp libgit2 mpfr libcurl libssh2 mbedtls libatomic zlib p7zip libstdc++"
+makedepends="llvm10 p7zip pcre2-devel mpfr-devel libgit2-devel
+ libcurl-devel libssh2-devel mbedtls-devel libatomic-devel zlib-devel
+ libunwind-devel libutf8proc-devel blas-devel lapack-devel"
+# Julia provides vendored symlinks in /usr/lib/julia pointing to these libraries,
+# but none of the julia executables link to them so these deps can't be detected
+depends="libgit2 libcurl mpfr mbedtls libpcre2 libssh2"
 short_desc="High-level, high-performance dynamic programming language"
 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=4a6ffadc8dd04ca0b7fdef6ae203d0af38185e57b78f7c0b972c4707354a6d1b
-nocross=yes
-noverifyrdeps="Julia vendors in libllvm, libgcc, libgfortran and libquadmath"
-
-case "$XBPS_TARGET_MACHINE" in
-*-musl)
-	depends+=" musl"
-	;;
-*)
-	depends+=" glibc"
-	;;
-esac
+nocross="build system is a mess"
 
 case "$XBPS_TARGET_MACHINE" in
 i686*)
 	export M="pentium4"
 	export CFLAGS="-march=pentium4"
 	export CXXFLAGS="-march=pentium4"
-	export LDFLAGS+=" -Wl,--no-keep-memory"
+	export LDFLAGS="-Wl,--no-keep-memory"
+
 	make_build_args+=" MARCH=pentium4"
-	make_build_args+=" OPENBLAS_USE_THREAD=0"
 	;;
 x86_64*)
 	export M="x86-64"
 	export CFLAGS="-march=x86-64"
 	export CXXFLAGS="-march=x86-64"
+
 	make_build_args+=" MARCH=x86-64"
 	;;
 armv7l*)
 	export M="armv7-a"
 	export CFLAGS="-march=armv7-a"
 	export CXXFLAGS="-march=armv7-a"
+
 	make_build_args+=" MARCH=armv7-a"
 	;;
 aarch64*)
 	export M="armv8-a"
 	export CFLAGS="-march=armv8-a"
 	export CXXFLAGS="-march=armv8-a"
+
 	make_build_args+=" MARCH=armv8-a"
 	;;
 esac

From 6a6d184cb62a16349f1cd12ac81ccc49c50efcef Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Tue, 25 Aug 2020 16:52:41 -0400
Subject: [PATCH 4/5] julia: back to vendored LLVM, openblas and lapack

[ci skip]
---
 srcpkgs/julia/template | 29 +++++++++++++++++------------
 1 file changed, 17 insertions(+), 12 deletions(-)

diff --git a/srcpkgs/julia/template b/srcpkgs/julia/template
index 1224e520353..e8117bd60f3 100644
--- a/srcpkgs/julia/template
+++ b/srcpkgs/julia/template
@@ -5,22 +5,20 @@ 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_LLVM=1 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_CURL=1
- USE_SYSTEM_ZLIB=1 USE_SYSTEM_P7ZIP=1 USE_SYSTEM_LIBGIT2=1
- USE_SYSTEM_BLAS=1 USE_SYSTEM_LAPACK=1 USE_SYSTEM_UTF8PROC=1
+ USE_BINARYBUILDER=0 USE_SYSTEM_LIBM=0 USE_SYSTEM_DSFMT=0 USE_SYSTEM_LIBUV=0
+ USE_SYSTEM_SUITESPARSE=0 USE_SYSTEM_LLVM=0 USE_SYSTEM_BLAS=0 USE_SYSTEM_LAPACK=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_CURL=1
+ USE_SYSTEM_ZLIB=1 USE_SYSTEM_P7ZIP=1 USE_SYSTEM_LIBGIT2=1 USE_SYSTEM_UTF8PROC=1
  UTF8PROC_INC='${XBPS_CROSS_BASE}/usr/include/libutf8proc'"
 make_install_args="$make_build_args"
 make_check_args="$make_build_args"
 make_check_target=testall
 conf_files="/etc/julia/startup.jl"
-hostmakedepends="perl cmake python gcc-fortran patchelf which tar xz"
-makedepends="llvm10 p7zip pcre2-devel mpfr-devel libgit2-devel
- libcurl-devel libssh2-devel mbedtls-devel libatomic-devel zlib-devel
- libunwind-devel libutf8proc-devel blas-devel lapack-devel"
+hostmakedepends="pkg-config perl cmake python gcc-fortran patchelf which tar xz"
+makedepends="p7zip pcre2-devel mpfr-devel libgit2-devel libcurl-devel
+ libssh2-devel mbedtls-devel libatomic-devel zlib-devel libunwind-devel
+ 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 deps can't be detected
 depends="libgit2 libcurl mpfr mbedtls libpcre2 libssh2"
@@ -39,7 +37,7 @@ i686*)
 	export CXXFLAGS="-march=pentium4"
 	export LDFLAGS="-Wl,--no-keep-memory"
 
-	make_build_args+=" MARCH=pentium4"
+	make_build_args+=" MARCH=pentium4 OPENBLAS_USE_THREAD=0"
 	;;
 x86_64*)
 	export M="x86-64"
@@ -70,6 +68,13 @@ post_extract() {
 
 post_install() {
 	vlicense LICENSE.md
+
+	# julia needlessly copies system libraries into a vendor directory
+	local _lib
+	for _lib in libgcc_s.so.1 libgfortran.so.5 libquadmath.so.0; do
+		rm -f "${DESTDIR}/usr/lib/julia/${_lib}"
+		ln -s "/usr/lib/${_lib}" "${DESTDIR}/usr/lib/julia"
+	done
 }
 
 julia-devel_package() {

From 026635864dd593504e8f2a02d188a421685467e2 Mon Sep 17 00:00:00 2001
From: Adam Beckmeyer <adam_gpg@thebeckmeyers.xyz>
Date: Tue, 25 Aug 2020 21:57:23 -0400
Subject: [PATCH 5/5] julia: add p7zip as runtime dependency.

Pkg package manager uses p7zip to extract/compress package archives.
---
 srcpkgs/julia/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/julia/template b/srcpkgs/julia/template
index e8117bd60f3..7f9d328a00f 100644
--- a/srcpkgs/julia/template
+++ b/srcpkgs/julia/template
@@ -21,7 +21,7 @@ makedepends="p7zip pcre2-devel mpfr-devel libgit2-devel libcurl-devel
  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 deps can't be detected
-depends="libgit2 libcurl mpfr mbedtls libpcre2 libssh2"
+depends="libgit2 libcurl mpfr mbedtls libpcre2 libssh2 p7zip"
 short_desc="High-level, high-performance dynamic programming language"
 maintainer="Adam Beckmeyer <adam_git@thebeckmeyers.xyz>"
 license="MIT"

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

* Re: julia: update to 1.5.0.
  2020-08-06  2:50 [PR PATCH] julia: update to 1.5.0 non-Jedi
                   ` (28 preceding siblings ...)
  2020-08-26  1:58 ` [PR PATCH] [Updated] " non-Jedi
@ 2020-08-26  2:00 ` non-Jedi
  2020-08-26  2:03 ` [PR REVIEW] " non-Jedi
                   ` (10 subsequent siblings)
  40 siblings, 0 replies; 42+ messages in thread
From: non-Jedi @ 2020-08-26  2:00 UTC (permalink / raw)
  To: ml

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

New comment by non-Jedi on void-packages repository

https://github.com/void-linux/void-packages/pull/24097#issuecomment-680414786

Comment:
I ran it through its test suite and smoke-tested it. Looks good to me. Thanks for your help with this! I really appreciate it.

Pushed one more commit adding p7zip as a runtime dependency (package manager calls 7z executable), but this should now be good to be squashed and merged.

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

* Re: [PR REVIEW] julia: update to 1.5.0.
  2020-08-06  2:50 [PR PATCH] julia: update to 1.5.0 non-Jedi
                   ` (29 preceding siblings ...)
  2020-08-26  2:00 ` non-Jedi
@ 2020-08-26  2:03 ` non-Jedi
  2020-08-26  2:14 ` non-Jedi
                   ` (9 subsequent siblings)
  40 siblings, 0 replies; 42+ messages in thread
From: non-Jedi @ 2020-08-26  2:03 UTC (permalink / raw)
  To: ml

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

New review comment by non-Jedi on void-packages repository

https://github.com/void-linux/void-packages/pull/24097#discussion_r476974997

Comment:
Should I add the specific sonames required to `shlib_requires` so this package gets picked up as requiring a revbump when a dependency soname changes?

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

* Re: julia: update to 1.5.0.
  2020-08-06  2:50 [PR PATCH] julia: update to 1.5.0 non-Jedi
                   ` (30 preceding siblings ...)
  2020-08-26  2:03 ` [PR REVIEW] " non-Jedi
@ 2020-08-26  2:14 ` non-Jedi
  2020-08-26  2:30 ` [PR PATCH] [Updated] " ahesford
                   ` (8 subsequent siblings)
  40 siblings, 0 replies; 42+ messages in thread
From: non-Jedi @ 2020-08-26  2:14 UTC (permalink / raw)
  To: ml

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

New comment by non-Jedi on void-packages repository

https://github.com/void-linux/void-packages/pull/24097#issuecomment-680414786

Comment:
I ran it through its test suite and smoke-tested it (ran some of my scripts, used the package manager, invoked some functions that would definitely require openblas, did something that's failed in the past without ILP64 openblas, etc.). Looks good to me. Thanks for your help with this! I really appreciate it.

Pushed one more commit adding p7zip as a runtime dependency (package manager calls 7z executable), but this should now be good to be squashed and merged.

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

* Re: [PR PATCH] [Updated] julia: update to 1.5.0.
  2020-08-06  2:50 [PR PATCH] julia: update to 1.5.0 non-Jedi
                   ` (31 preceding siblings ...)
  2020-08-26  2:14 ` non-Jedi
@ 2020-08-26  2:30 ` ahesford
  2020-08-26  2:30 ` ahesford
                   ` (7 subsequent siblings)
  40 siblings, 0 replies; 42+ messages in thread
From: ahesford @ 2020-08-26  2:30 UTC (permalink / raw)
  To: ml

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

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

https://github.com/non-Jedi/void-packages julia1.5
https://github.com/void-linux/void-packages/pull/24097

julia: update to 1.5.0.
The issues from <https://github.com/void-linux/void-packages/issues/21960> have been resolved, so system libgit2 is used instead of vendoring in dependency.

Switching from using skiprdeps to noverifyrdeps so that dependency
isn't falsely detected on libraries julia vendors
<https://github.com/void-linux/void-packages/issues/23997#issuecomment-667626936>.

[ci skip] because llvm takes too long to build.

Builds fine on my x86_64 glibc machine, and in principle we should be able to build julia on other supported architectures (armv7, aarch64, and x86_64-musl), but I don't have void installs to test that on.

EDIT: I successfully built in a x86_64-musl hostdir/masterdir using the current template.

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

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-julia1.5-24097.patch --]
[-- Type: text/x-diff, Size: 18472 bytes --]

From 5be6fb210b4712741ceb40dddeb7490c45422395 Mon Sep 17 00:00:00 2001
From: Adam Beckmeyer <adam_gpg@thebeckmeyers.xyz>
Date: Mon, 3 Aug 2020 11:14:03 -0400
Subject: [PATCH 1/6] julia: update to 1.5.0.

The issues from
<https://github.com/void-linux/void-packages/issues/21960>, so system
libgit2 is used instead of vendoring in dependency.

Switching from using skiprdeps to noverifyrdeps so that dependency
isn't falsely detected on libraries julia vendors
<https://github.com/void-linux/void-packages/issues/23997#issuecomment-667626936>.
---
 srcpkgs/julia/template | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/julia/template b/srcpkgs/julia/template
index 80f6d001a74..1e5744fc6f6 100644
--- a/srcpkgs/julia/template
+++ b/srcpkgs/julia/template
@@ -1,6 +1,6 @@
 # Template file for 'julia'
 pkgname=julia
-version=1.4.2
+version=1.5.0
 revision=1
 archs="i686* x86_64*"
 build_style=gnu-makefile
@@ -8,7 +8,7 @@ make_build_args="prefix=/usr sysconfdir=/etc datarootdir=/usr/share
  USE_LLVM_SHLIB=1 USE_BINARYBUILDER=0
  USE_SYSTEM_LIBUV=0 USE_SYSTEM_LIBUNWIND=0 USE_SYSTEM_PATCHELF=1 USE_SYSTEM_LIBM=0
  USE_SYSTEM_DSFMT=0 USE_SYSTEM_LLVM=0 USE_SYSTEM_PCRE=1 USE_SYSTEM_BLAS=0
- USE_SYSTEM_GMP=1 USE_SYSTEM_LIBGIT2=0 USE_SYSTEM_MBEDTLS=1 USE_SYSTEM_LIBSSH2=1
+ USE_SYSTEM_GMP=1 USE_SYSTEM_LIBGIT2=1 USE_SYSTEM_MBEDTLS=1 USE_SYSTEM_LIBSSH2=1
  USE_SYSTEM_CURL=1 USE_SYSTEM_MPFR=1 USE_SYSTEM_SUITESPARSE=0 USE_SYSTEM_UTF8PROC=0
  USE_SYSTEM_ZLIB=1 USE_SYSTEM_P7ZIP=1 USE_SYSTEM_LAPACK=0"
 make_install_args="$make_build_args"
@@ -16,21 +16,21 @@ make_check_args="$make_build_args"
 make_check_target=testall
 conf_files="/etc/julia/startup.jl"
 hostmakedepends="perl cmake python gcc-fortran patchelf which tar xz"
-makedepends="pcre2-devel gmp-devel mpfr-devel libcurl-devel
+makedepends="pcre2-devel gmp-devel libgit2-devel mpfr-devel libcurl-devel
  libssh2-devel mbedtls-devel libatomic-devel zlib-devel p7zip"
-depends="pcre2 gmp mpfr libcurl libssh2 mbedtls libatomic zlib p7zip"
+depends="pcre2 gmp libgit2 mpfr libcurl libssh2 mbedtls libatomic zlib p7zip libstdc++"
 short_desc="High-level, high-performance dynamic programming language"
 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=948c70801d5cce81eeb7f764b51b4bfbb2dc0b1b9effc2cb9fc8f8cf6c90a334
+checksum=4a6ffadc8dd04ca0b7fdef6ae203d0af38185e57b78f7c0b972c4707354a6d1b
 nocross=yes
-# Falsely detects dependency on libllvm
-skiprdeps="/usr/lib/libjulia.so.1.4 /usr/lib/julia/libllvmcalltest.so"
+noverifyrdeps="Julia vendors in libllvm, libgcc, libgfortran and libquadmath"
 
 case "$XBPS_TARGET_MACHINE" in
 *-musl)
+	depends+=" musl"
 	broken="fails to compile internal LLVM"
 	;;
 i686-musl)
@@ -43,6 +43,9 @@ x86_64-musl)
 	depends+=" libexecinfo"
 	LDFLAGS="-lexecinfo"
 	;;
+*)
+	depends+=" glibc"
+	;;
 esac
 
 case "$XBPS_TARGET_MACHINE" in

From 87db57ed08dcf46e81d4d12653a19c48754b36cd Mon Sep 17 00:00:00 2001
From: Adam Beckmeyer <adam_gpg@thebeckmeyers.xyz>
Date: Thu, 6 Aug 2020 17:37:47 -0400
Subject: [PATCH 2/6] julia: enable building on other archs.

x86_64-musl built fine locally, and julia upstream claims to support
armv7 and aarch64 on glibc as well. It's worth checking whether they
can successfully build.

[ci skip] for llvm build.
---
 srcpkgs/julia/patches/36697.diff | 104 +++++++++++++++++++++++++++++++
 srcpkgs/julia/template           |  25 ++++----
 2 files changed, 117 insertions(+), 12 deletions(-)
 create mode 100644 srcpkgs/julia/patches/36697.diff

diff --git a/srcpkgs/julia/patches/36697.diff b/srcpkgs/julia/patches/36697.diff
new file mode 100644
index 00000000000..f0c84d548e3
--- /dev/null
+++ b/srcpkgs/julia/patches/36697.diff
@@ -0,0 +1,104 @@
+This patch was taken from <https://github.com/JuliaLang/julia/pull/36697>
+to workaround julia 1.5.0 not building correctly with musl libc.
+
+diff --git Make.inc Make.inc
+index e91461514463..21a0299318b5 100644
+--- Make.inc
++++ Make.inc
+@@ -940,17 +940,17 @@ LIBUNWIND:=
+ else
+ ifeq ($(USE_SYSTEM_LIBUNWIND), 1)
+ ifneq ($(OS),Darwin)
+-LIBUNWIND:=-lunwind-generic -lunwind
++LIBUNWIND:=-lunwind
+ # Only for linux since we want to use not yet released libunwind features
+ JCFLAGS+=-DSYSTEM_LIBUNWIND
+ JCPPFLAGS+=-DSYSTEM_LIBUNWIND
+ endif
+ else
+ ifeq ($(OS),Darwin)
+-LIBUNWIND:=$(build_libdir)/libosxunwind.a
++LIBUNWIND:=-losxunwind
+ JCPPFLAGS+=-DLIBOSXUNWIND
+ else
+-LIBUNWIND:=$(build_libdir)/libunwind-generic.a $(build_libdir)/libunwind.a
++LIBUNWIND:=-lunwind
+ endif
+ endif
+ endif
+@@ -1206,12 +1206,12 @@ OSLIBS += -lelf -lkvm -lrt -lpthread
+ OSLIBS += -lgcc_s
+ 
+ OSLIBS += -Wl,--export-dynamic -Wl,--version-script=$(JULIAHOME)/src/julia.expmap \
+-	$(NO_WHOLE_ARCHIVE) $(LIBUNWIND)
++	$(NO_WHOLE_ARCHIVE)
+ endif
+ 
+ ifeq ($(OS), Darwin)
+ SHLIB_EXT := dylib
+-OSLIBS += -framework CoreFoundation $(LIBUNWIND)
++OSLIBS += -framework CoreFoundation
+ WHOLE_ARCHIVE := -Xlinker -all_load
+ NO_WHOLE_ARCHIVE :=
+ JLDFLAGS :=
+diff --git Makefile Makefile
+index 96f58b9aec4e..23d1bd5208f7 100644
+--- Makefile
++++ Makefile
+@@ -181,6 +181,11 @@ endif
+ ifeq ($(USE_LLVM_SHLIB),1)
+ JL_PRIVATE_LIBS-$(USE_SYSTEM_LLVM) += libLLVM libLLVM-9jl
+ endif
++ifeq ($(OS),Darwin)
++JL_PRIVATE_LIBS-$(USE_SYSTEM_LIBUNWIND) += libosxunwind
++else
++JL_PRIVATE_LIBS-$(USE_SYSTEM_LIBUNWIND) += libunwind
++endif
+ 
+ ifeq ($(USE_SYSTEM_LIBM),0)
+ JL_PRIVATE_LIBS-$(USE_SYSTEM_OPENLIBM) += libopenlibm
+diff --git deps/Makefile deps/Makefile
+index e6a975ba1873..90e231f30e85 100644
+--- deps/Makefile
++++ deps/Makefile
+@@ -157,7 +157,11 @@ ifneq ($(OS), WINNT)
+ DEP_LIBS += libwhich
+ endif
+ 
+-DEP_LIBS_STAGED := $(filter-out suitesparse-wrapper osxunwind,$(DEP_LIBS)) # unlist targets that have not been converted to use the staged-install
++# unlist targets that have not been converted to use the staged-install
++DEP_LIBS_STAGED := $(filter-out suitesparse-wrapper,$(DEP_LIBS))
++ifneq ($(USE_BINARYBUILDER_LIBUNWIND),1)
++DEP_LIBS_STAGED := $(filter-out osxunwind,$(DEP_LIBS))
++endif
+ 
+ 
+ ## Common build target prefixes
+diff --git deps/unwind.mk deps/unwind.mk
+index f44917c28981..08d8990a720e 100644
+--- deps/unwind.mk
++++ deps/unwind.mk
+@@ -109,7 +109,7 @@ UNWIND_BB_NAME := LibUnwind.v$(UNWIND_VER)
+ 
+ $(eval $(call bb-install,unwind,UNWIND,false))
+ 
+-OSXUNWIND_BB_URL_BASE := https://github.com/JuliaPackaging/Yggdrasil/releases/download/LibOSXUnwind-$(OSXUNWIND_VER)-$(OSXUNWIND_BB_REL)
++OSXUNWIND_BB_URL_BASE := https://github.com/JuliaBinaryWrappers/LibOSXUnwind_jll.jl/releases/download/LibOSXUnwind-v$(OSXUNWIND_VER)+$(OSXUNWIND_BB_REL)
+ OSXUNWIND_BB_NAME := LibOSXUnwind.v$(OSXUNWIND_VER)
+ 
+ $(eval $(call bb-install,osxunwind,OSXUNWIND,false))
+diff --git src/Makefile src/Makefile
+index 3153c0178d0a..7d8db3740209 100644
+--- src/Makefile
++++ src/Makefile
+@@ -120,7 +120,7 @@ CLANG_LDFLAGS += -Wl,-undefined,dynamic_lookup
+ endif
+ 
+ 
+-COMMON_LIBS := -L$(build_shlibdir) -L$(build_libdir) $(LIBUV) $(LIBUTF8PROC) $(NO_WHOLE_ARCHIVE) $(LLVMLINK) $(OSLIBS) $(LIBUNWIND)
++COMMON_LIBS := -L$(build_shlibdir) -L$(build_libdir) $(LIBUV) $(LIBUTF8PROC) $(NO_WHOLE_ARCHIVE) $(LIBUNWIND) $(LLVMLINK) $(OSLIBS)
+ DEBUG_LIBS := $(WHOLE_ARCHIVE) $(BUILDDIR)/flisp/libflisp-debug.a $(WHOLE_ARCHIVE) $(BUILDDIR)/support/libsupport-debug.a $(COMMON_LIBS)
+ RELEASE_LIBS := $(WHOLE_ARCHIVE) $(BUILDDIR)/flisp/libflisp.a $(WHOLE_ARCHIVE) $(BUILDDIR)/support/libsupport.a $(COMMON_LIBS)
+ 
+
+
diff --git a/srcpkgs/julia/template b/srcpkgs/julia/template
index 1e5744fc6f6..30c3b7921f6 100644
--- a/srcpkgs/julia/template
+++ b/srcpkgs/julia/template
@@ -2,7 +2,7 @@
 pkgname=julia
 version=1.5.0
 revision=1
-archs="i686* x86_64*"
+archs="i686* x86_64* armv7l aarch64"
 build_style=gnu-makefile
 make_build_args="prefix=/usr sysconfdir=/etc datarootdir=/usr/share
  USE_LLVM_SHLIB=1 USE_BINARYBUILDER=0
@@ -31,17 +31,6 @@ noverifyrdeps="Julia vendors in libllvm, libgcc, libgfortran and libquadmath"
 case "$XBPS_TARGET_MACHINE" in
 *-musl)
 	depends+=" musl"
-	broken="fails to compile internal LLVM"
-	;;
-i686-musl)
-	makedepends+=" libexecinfo-devel"
-	depends+=" libexecinfo"
-	LDFLAGS="-lexecinfo -lc"
-	;;
-x86_64-musl)
-	makedepends+=" libexecinfo-devel"
-	depends+=" libexecinfo"
-	LDFLAGS="-lexecinfo"
 	;;
 *)
 	depends+=" glibc"
@@ -63,6 +52,18 @@ x86_64*)
 	export CXXFLAGS="-march=x86-64"
 	make_build_args+=" MARCH=x86-64"
 	;;
+armv7l*)
+	export M="armv7-a"
+	export CFLAGS="-march=armv7-a"
+	export CXXFLAGS="-march=armv7-a"
+	make_build_args+=" MARCH=armv7-a"
+	;;
+aarch64*)
+	export M="armv8-a"
+	export CFLAGS="-march=armv8-a"
+	export CXXFLAGS="-march=armv8-a"
+	make_build_args+=" MARCH=armv8-a"
+	;;
 esac
 
 post_extract() {

From 5876d48dda9d99ce5d8b49b06b5be66190e1c91e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Tue, 25 Aug 2020 15:21:49 -0400
Subject: [PATCH 3/6] julia: rely on system libraries where possible

---
 srcpkgs/julia/template | 44 ++++++++++++++++++++----------------------
 1 file changed, 21 insertions(+), 23 deletions(-)

diff --git a/srcpkgs/julia/template b/srcpkgs/julia/template
index 30c3b7921f6..1224e520353 100644
--- a/srcpkgs/julia/template
+++ b/srcpkgs/julia/template
@@ -2,66 +2,64 @@
 pkgname=julia
 version=1.5.0
 revision=1
-archs="i686* x86_64* armv7l aarch64"
+archs="i686* x86_64* armv7l* aarch64*"
 build_style=gnu-makefile
 make_build_args="prefix=/usr sysconfdir=/etc datarootdir=/usr/share
- USE_LLVM_SHLIB=1 USE_BINARYBUILDER=0
- USE_SYSTEM_LIBUV=0 USE_SYSTEM_LIBUNWIND=0 USE_SYSTEM_PATCHELF=1 USE_SYSTEM_LIBM=0
- USE_SYSTEM_DSFMT=0 USE_SYSTEM_LLVM=0 USE_SYSTEM_PCRE=1 USE_SYSTEM_BLAS=0
- USE_SYSTEM_GMP=1 USE_SYSTEM_LIBGIT2=1 USE_SYSTEM_MBEDTLS=1 USE_SYSTEM_LIBSSH2=1
- USE_SYSTEM_CURL=1 USE_SYSTEM_MPFR=1 USE_SYSTEM_SUITESPARSE=0 USE_SYSTEM_UTF8PROC=0
- USE_SYSTEM_ZLIB=1 USE_SYSTEM_P7ZIP=1 USE_SYSTEM_LAPACK=0"
+ USE_BINARYBUILDER=0 USE_SYSTEM_LIBM=0 USE_SYSTEM_DSFMT=0
+ USE_SYSTEM_LIBUV=0 USE_SYSTEM_SUITESPARSE=0
+ USE_SYSTEM_LLVM=1 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_CURL=1
+ USE_SYSTEM_ZLIB=1 USE_SYSTEM_P7ZIP=1 USE_SYSTEM_LIBGIT2=1
+ USE_SYSTEM_BLAS=1 USE_SYSTEM_LAPACK=1 USE_SYSTEM_UTF8PROC=1
+ UTF8PROC_INC='${XBPS_CROSS_BASE}/usr/include/libutf8proc'"
 make_install_args="$make_build_args"
 make_check_args="$make_build_args"
 make_check_target=testall
 conf_files="/etc/julia/startup.jl"
 hostmakedepends="perl cmake python gcc-fortran patchelf which tar xz"
-makedepends="pcre2-devel gmp-devel libgit2-devel mpfr-devel libcurl-devel
- libssh2-devel mbedtls-devel libatomic-devel zlib-devel p7zip"
-depends="pcre2 gmp libgit2 mpfr libcurl libssh2 mbedtls libatomic zlib p7zip libstdc++"
+makedepends="llvm10 p7zip pcre2-devel mpfr-devel libgit2-devel
+ libcurl-devel libssh2-devel mbedtls-devel libatomic-devel zlib-devel
+ libunwind-devel libutf8proc-devel blas-devel lapack-devel"
+# Julia provides vendored symlinks in /usr/lib/julia pointing to these libraries,
+# but none of the julia executables link to them so these deps can't be detected
+depends="libgit2 libcurl mpfr mbedtls libpcre2 libssh2"
 short_desc="High-level, high-performance dynamic programming language"
 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=4a6ffadc8dd04ca0b7fdef6ae203d0af38185e57b78f7c0b972c4707354a6d1b
-nocross=yes
-noverifyrdeps="Julia vendors in libllvm, libgcc, libgfortran and libquadmath"
-
-case "$XBPS_TARGET_MACHINE" in
-*-musl)
-	depends+=" musl"
-	;;
-*)
-	depends+=" glibc"
-	;;
-esac
+nocross="build system is a mess"
 
 case "$XBPS_TARGET_MACHINE" in
 i686*)
 	export M="pentium4"
 	export CFLAGS="-march=pentium4"
 	export CXXFLAGS="-march=pentium4"
-	export LDFLAGS+=" -Wl,--no-keep-memory"
+	export LDFLAGS="-Wl,--no-keep-memory"
+
 	make_build_args+=" MARCH=pentium4"
-	make_build_args+=" OPENBLAS_USE_THREAD=0"
 	;;
 x86_64*)
 	export M="x86-64"
 	export CFLAGS="-march=x86-64"
 	export CXXFLAGS="-march=x86-64"
+
 	make_build_args+=" MARCH=x86-64"
 	;;
 armv7l*)
 	export M="armv7-a"
 	export CFLAGS="-march=armv7-a"
 	export CXXFLAGS="-march=armv7-a"
+
 	make_build_args+=" MARCH=armv7-a"
 	;;
 aarch64*)
 	export M="armv8-a"
 	export CFLAGS="-march=armv8-a"
 	export CXXFLAGS="-march=armv8-a"
+
 	make_build_args+=" MARCH=armv8-a"
 	;;
 esac

From 6a6d184cb62a16349f1cd12ac81ccc49c50efcef Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Tue, 25 Aug 2020 16:52:41 -0400
Subject: [PATCH 4/6] julia: back to vendored LLVM, openblas and lapack

[ci skip]
---
 srcpkgs/julia/template | 29 +++++++++++++++++------------
 1 file changed, 17 insertions(+), 12 deletions(-)

diff --git a/srcpkgs/julia/template b/srcpkgs/julia/template
index 1224e520353..e8117bd60f3 100644
--- a/srcpkgs/julia/template
+++ b/srcpkgs/julia/template
@@ -5,22 +5,20 @@ 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_LLVM=1 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_CURL=1
- USE_SYSTEM_ZLIB=1 USE_SYSTEM_P7ZIP=1 USE_SYSTEM_LIBGIT2=1
- USE_SYSTEM_BLAS=1 USE_SYSTEM_LAPACK=1 USE_SYSTEM_UTF8PROC=1
+ USE_BINARYBUILDER=0 USE_SYSTEM_LIBM=0 USE_SYSTEM_DSFMT=0 USE_SYSTEM_LIBUV=0
+ USE_SYSTEM_SUITESPARSE=0 USE_SYSTEM_LLVM=0 USE_SYSTEM_BLAS=0 USE_SYSTEM_LAPACK=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_CURL=1
+ USE_SYSTEM_ZLIB=1 USE_SYSTEM_P7ZIP=1 USE_SYSTEM_LIBGIT2=1 USE_SYSTEM_UTF8PROC=1
  UTF8PROC_INC='${XBPS_CROSS_BASE}/usr/include/libutf8proc'"
 make_install_args="$make_build_args"
 make_check_args="$make_build_args"
 make_check_target=testall
 conf_files="/etc/julia/startup.jl"
-hostmakedepends="perl cmake python gcc-fortran patchelf which tar xz"
-makedepends="llvm10 p7zip pcre2-devel mpfr-devel libgit2-devel
- libcurl-devel libssh2-devel mbedtls-devel libatomic-devel zlib-devel
- libunwind-devel libutf8proc-devel blas-devel lapack-devel"
+hostmakedepends="pkg-config perl cmake python gcc-fortran patchelf which tar xz"
+makedepends="p7zip pcre2-devel mpfr-devel libgit2-devel libcurl-devel
+ libssh2-devel mbedtls-devel libatomic-devel zlib-devel libunwind-devel
+ 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 deps can't be detected
 depends="libgit2 libcurl mpfr mbedtls libpcre2 libssh2"
@@ -39,7 +37,7 @@ i686*)
 	export CXXFLAGS="-march=pentium4"
 	export LDFLAGS="-Wl,--no-keep-memory"
 
-	make_build_args+=" MARCH=pentium4"
+	make_build_args+=" MARCH=pentium4 OPENBLAS_USE_THREAD=0"
 	;;
 x86_64*)
 	export M="x86-64"
@@ -70,6 +68,13 @@ post_extract() {
 
 post_install() {
 	vlicense LICENSE.md
+
+	# julia needlessly copies system libraries into a vendor directory
+	local _lib
+	for _lib in libgcc_s.so.1 libgfortran.so.5 libquadmath.so.0; do
+		rm -f "${DESTDIR}/usr/lib/julia/${_lib}"
+		ln -s "/usr/lib/${_lib}" "${DESTDIR}/usr/lib/julia"
+	done
 }
 
 julia-devel_package() {

From 026635864dd593504e8f2a02d188a421685467e2 Mon Sep 17 00:00:00 2001
From: Adam Beckmeyer <adam_gpg@thebeckmeyers.xyz>
Date: Tue, 25 Aug 2020 21:57:23 -0400
Subject: [PATCH 5/6] julia: add p7zip as runtime dependency.

Pkg package manager uses p7zip to extract/compress package archives.
---
 srcpkgs/julia/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/julia/template b/srcpkgs/julia/template
index e8117bd60f3..7f9d328a00f 100644
--- a/srcpkgs/julia/template
+++ b/srcpkgs/julia/template
@@ -21,7 +21,7 @@ makedepends="p7zip pcre2-devel mpfr-devel libgit2-devel libcurl-devel
  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 deps can't be detected
-depends="libgit2 libcurl mpfr mbedtls libpcre2 libssh2"
+depends="libgit2 libcurl mpfr mbedtls libpcre2 libssh2 p7zip"
 short_desc="High-level, high-performance dynamic programming language"
 maintainer="Adam Beckmeyer <adam_git@thebeckmeyers.xyz>"
 license="MIT"

From e4ae1e79b9739ab58594be3b4cc9c1f070c23a3f Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Tue, 25 Aug 2020 21:35:19 -0400
Subject: [PATCH 6/6] julia: back to system llvm, keep vendored linear algebra

[ci skip]
---
 srcpkgs/julia/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/julia/template b/srcpkgs/julia/template
index 7f9d328a00f..aa3716add1f 100644
--- a/srcpkgs/julia/template
+++ b/srcpkgs/julia/template
@@ -6,7 +6,7 @@ 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_LLVM=0 USE_SYSTEM_BLAS=0 USE_SYSTEM_LAPACK=0
+ USE_SYSTEM_SUITESPARSE=0 USE_SYSTEM_LLVM=1 USE_SYSTEM_BLAS=0 USE_SYSTEM_LAPACK=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_CURL=1
  USE_SYSTEM_ZLIB=1 USE_SYSTEM_P7ZIP=1 USE_SYSTEM_LIBGIT2=1 USE_SYSTEM_UTF8PROC=1
@@ -18,7 +18,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
  libssh2-devel mbedtls-devel libatomic-devel zlib-devel libunwind-devel
- libutf8proc-devel"
+ libutf8proc-devel llvm10"
 # Julia provides vendored symlinks in /usr/lib/julia pointing to these libraries,
 # but none of the julia executables link to them so these deps can't be detected
 depends="libgit2 libcurl mpfr mbedtls libpcre2 libssh2 p7zip"

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

* Re: julia: update to 1.5.0.
  2020-08-06  2:50 [PR PATCH] julia: update to 1.5.0 non-Jedi
                   ` (32 preceding siblings ...)
  2020-08-26  2:30 ` [PR PATCH] [Updated] " ahesford
@ 2020-08-26  2:30 ` ahesford
  2020-08-26  2:44 ` [PR REVIEW] " ahesford
                   ` (6 subsequent siblings)
  40 siblings, 0 replies; 42+ messages in thread
From: ahesford @ 2020-08-26  2:30 UTC (permalink / raw)
  To: ml

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

New comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/24097#issuecomment-680423238

Comment:
If you don't mind, please give me one more test. I can't put down `USE_SYSTEM_LLVM` and built one version with the Void `llvm10` and one with the in-tree, patched llvm9. I ran `xbps-src check julia` for each version. I've pushed a commit on top of your `p7zip` change to build with `USE_SYSTEM_LLVM`.

When built against Void `llvm10`, `check` reports 38552019 pass results, 3 failures, and 352559 broken tests.
When built with the in-tree llvm9, `check` reports 38559013 pass results, 3 failures and 352559 broken tests.

These are the differences:
```
--- llvm09.txt	2020-08-25 22:13:48.687994239 -0400
+++ llvm10.txt	2020-08-25 22:13:48.687994239 -0400
@@ -20,2 +19,2 @@
-    Libdl                           |       64             1        65
-    LinearAlgebra/addmul            |     4338                    4338
+    LinearAlgebra/addmul            |    10620                   10620
+    Libdl                           |       72             1        73
@@ -68 +67 @@
-    abstractarray                   |    54677         24795     79472
+    abstractarray                   |    54967         24795     79762
@@ -74 +73 @@
-    bitarray                        |   913624                  913624
+    bitarray                        |   914096                  914096
@@ -99 +98 @@
-    env                             |      191                     191
+    env                             |      192                     192
@@ -123 +122 @@
-    loading                         |   159280                  159280
+    loading                         |   145198                  145198
@@ -127 +126 @@
-    misc                            |  1280984                 1280984
+    misc                            |  1280992                 1280992
@@ -140 +139 @@
-    ranges                          | 12109662        327691  12437353
+    ranges                          | 12109689        327691  12437380
@@ -177 +176 @@
-  Overall                           | 38559013     3  352559  38911575
+  Overall                           | 38552019     3  352559  38904581
```

I'm not sure why the total number of tests is different, but it sure seems like Julia is generally doing what it expects with the Void `llvm10`.

If you can identify a problem caused by `llvm10`, we'll stick with the vendored version in https://github.com/void-linux/void-packages/pull/24097/commits/026635864dd593504e8f2a02d188a421685467e2 and call it quits. However, if everything seems to work as you expect with `llvm10`, I prefer building against the Void package. You've noted before that LLVM takes a long time to build, and builder resources are valuable. Adding all of this extra time just to support Julia is a hard sell unless absolutely necessary.

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

* Re: [PR REVIEW] julia: update to 1.5.0.
  2020-08-06  2:50 [PR PATCH] julia: update to 1.5.0 non-Jedi
                   ` (33 preceding siblings ...)
  2020-08-26  2:30 ` ahesford
@ 2020-08-26  2:44 ` ahesford
  2020-08-26  2:46 ` non-Jedi
                   ` (5 subsequent siblings)
  40 siblings, 0 replies; 42+ messages in thread
From: ahesford @ 2020-08-26  2:44 UTC (permalink / raw)
  To: ml

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

New review comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/24097#discussion_r476999364

Comment:
Yes, that's the right thing to do here.

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

* Re: julia: update to 1.5.0.
  2020-08-06  2:50 [PR PATCH] julia: update to 1.5.0 non-Jedi
                   ` (34 preceding siblings ...)
  2020-08-26  2:44 ` [PR REVIEW] " ahesford
@ 2020-08-26  2:46 ` non-Jedi
  2020-08-26  2:52 ` ahesford
                   ` (4 subsequent siblings)
  40 siblings, 0 replies; 42+ messages in thread
From: non-Jedi @ 2020-08-26  2:46 UTC (permalink / raw)
  To: ml

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

New comment by non-Jedi on void-packages repository

https://github.com/void-linux/void-packages/pull/24097#issuecomment-680440017

Comment:
I'll build overnight and take a look tomorrow. I would certainly hope that julia would include tests for whatever issues their llvm patches address, but I'm not very confident that's the case, so I'll also dig through the julia repo's git blame and see if I can reproduce whatever issues the patches are for (and whether those issues are significant in practice). llvm10 is not officially supported by julia, so at the very least we may want to build against llvm9 (assuming the test suite is similarly clean).

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

* Re: julia: update to 1.5.0.
  2020-08-06  2:50 [PR PATCH] julia: update to 1.5.0 non-Jedi
                   ` (35 preceding siblings ...)
  2020-08-26  2:46 ` non-Jedi
@ 2020-08-26  2:52 ` ahesford
  2020-08-26  2:56 ` non-Jedi
                   ` (3 subsequent siblings)
  40 siblings, 0 replies; 42+ messages in thread
From: ahesford @ 2020-08-26  2:52 UTC (permalink / raw)
  To: ml

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

New comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/24097#issuecomment-680448482

Comment:
I know llvm10 support is "in progress" for julia but not yet officially supported. Void no longer ships llvm9 so that doesn't bring any advantage. I'm not *too* worried about "official" support status at the moment, since we're also building packages for musl and they call that "tier 3" which seems to mean "it may or not compile". Well, it definitely compiles in all of our cases.

Even if you can't find a compelling reason to build their patched llvm9, we can always revbump and drop USE_SYSTEM_LLVM when we see the first issue report.

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

* Re: julia: update to 1.5.0.
  2020-08-06  2:50 [PR PATCH] julia: update to 1.5.0 non-Jedi
                   ` (36 preceding siblings ...)
  2020-08-26  2:52 ` ahesford
@ 2020-08-26  2:56 ` non-Jedi
  2020-08-26  2:57 ` non-Jedi
                   ` (2 subsequent siblings)
  40 siblings, 0 replies; 42+ messages in thread
From: non-Jedi @ 2020-08-26  2:56 UTC (permalink / raw)
  To: ml

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

New comment by non-Jedi on void-packages repository

https://github.com/void-linux/void-packages/pull/24097#issuecomment-680455006

Comment:
I won't be able to dig into this any more tonight, but based on the results you got from the julia test suite, I'm comfortable shipping it depending on system llvm10 for now. Since llvm takes the bulk of the build-time for this package anyway, it's not like we'd really be hurting much if we have to quickly revbump it.

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

* Re: julia: update to 1.5.0.
  2020-08-06  2:50 [PR PATCH] julia: update to 1.5.0 non-Jedi
                   ` (37 preceding siblings ...)
  2020-08-26  2:56 ` non-Jedi
@ 2020-08-26  2:57 ` non-Jedi
  2020-08-26  4:06 ` [PR PATCH] [Closed]: " ahesford
  2020-08-26  4:09 ` ahesford
  40 siblings, 0 replies; 42+ messages in thread
From: non-Jedi @ 2020-08-26  2:57 UTC (permalink / raw)
  To: ml

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

New comment by non-Jedi on void-packages repository

https://github.com/void-linux/void-packages/pull/24097#issuecomment-680455006

Comment:
I won't be able to dig into this any more tonight, but based on the results you got from the julia test suite, I'm comfortable shipping it depending on system llvm10 for now. Since llvm takes the bulk of the build-time for this package anyway, it's not like we'd really be hurting much if we have to quickly revbump it. At a glance, it looks like about half of the patches they're carrying are specifically for supporting windows, so the situation has definitely improved since I last looked...

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

* Re: [PR PATCH] [Closed]: julia: update to 1.5.0.
  2020-08-06  2:50 [PR PATCH] julia: update to 1.5.0 non-Jedi
                   ` (38 preceding siblings ...)
  2020-08-26  2:57 ` non-Jedi
@ 2020-08-26  4:06 ` ahesford
  2020-08-26  4:09 ` ahesford
  40 siblings, 0 replies; 42+ messages in thread
From: ahesford @ 2020-08-26  4:06 UTC (permalink / raw)
  To: ml

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

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

julia: update to 1.5.0.
https://github.com/void-linux/void-packages/pull/24097

Description:
The issues from <https://github.com/void-linux/void-packages/issues/21960> have been resolved, so system libgit2 is used instead of vendoring in dependency.

Switching from using skiprdeps to noverifyrdeps so that dependency
isn't falsely detected on libraries julia vendors
<https://github.com/void-linux/void-packages/issues/23997#issuecomment-667626936>.

[ci skip] because llvm takes too long to build.

Builds fine on my x86_64 glibc machine, and in principle we should be able to build julia on other supported architectures (armv7, aarch64, and x86_64-musl), but I don't have void installs to test that on.

EDIT: I successfully built in a x86_64-musl hostdir/masterdir using the current template.

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

* Re: julia: update to 1.5.0.
  2020-08-06  2:50 [PR PATCH] julia: update to 1.5.0 non-Jedi
                   ` (39 preceding siblings ...)
  2020-08-26  4:06 ` [PR PATCH] [Closed]: " ahesford
@ 2020-08-26  4:09 ` ahesford
  40 siblings, 0 replies; 42+ messages in thread
From: ahesford @ 2020-08-26  4:09 UTC (permalink / raw)
  To: ml

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

New comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/24097#issuecomment-680557731

Comment:
Merged with the `shlib_requires` additions you noted. If you catch any issues, let me know.

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

end of thread, other threads:[~2020-08-26  4:09 UTC | newest]

Thread overview: 42+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-06  2:50 [PR PATCH] julia: update to 1.5.0 non-Jedi
2020-08-06 14:12 ` non-Jedi
2020-08-06 21:39 ` [PR PATCH] [Updated] " non-Jedi
2020-08-06 21:41 ` non-Jedi
2020-08-24  2:17 ` rjpower4
2020-08-24 18:41 ` non-Jedi
2020-08-25 14:56 ` ahesford
2020-08-25 15:01 ` [PR REVIEW] " ahesford
2020-08-25 15:25 ` ericonr
2020-08-25 16:33 ` [PR REVIEW] " non-Jedi
2020-08-25 19:22 ` [PR PATCH] [Updated] " ahesford
2020-08-25 19:26 ` ahesford
2020-08-25 19:53 ` [PR REVIEW] " non-Jedi
2020-08-25 19:53 ` non-Jedi
2020-08-25 19:53 ` non-Jedi
2020-08-25 19:56 ` non-Jedi
2020-08-25 19:59 ` non-Jedi
2020-08-25 20:00 ` non-Jedi
2020-08-25 20:04 ` ahesford
2020-08-25 20:05 ` ahesford
2020-08-25 20:09 ` ahesford
2020-08-25 20:09 ` ahesford
2020-08-25 20:18 ` non-Jedi
2020-08-25 20:20 ` non-Jedi
2020-08-25 20:21 ` non-Jedi
2020-08-25 20:29 ` non-Jedi
2020-08-25 20:47 ` ahesford
2020-08-25 21:32 ` [PR PATCH] [Updated] " ahesford
2020-08-25 21:33 ` ahesford
2020-08-26  1:58 ` [PR PATCH] [Updated] " non-Jedi
2020-08-26  2:00 ` non-Jedi
2020-08-26  2:03 ` [PR REVIEW] " non-Jedi
2020-08-26  2:14 ` non-Jedi
2020-08-26  2:30 ` [PR PATCH] [Updated] " ahesford
2020-08-26  2:30 ` ahesford
2020-08-26  2:44 ` [PR REVIEW] " ahesford
2020-08-26  2:46 ` non-Jedi
2020-08-26  2:52 ` ahesford
2020-08-26  2:56 ` non-Jedi
2020-08-26  2:57 ` non-Jedi
2020-08-26  4:06 ` [PR PATCH] [Closed]: " ahesford
2020-08-26  4:09 ` ahesford

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).