Github messages for voidlinux
 help / color / mirror / Atom feed
From: ahesford <ahesford@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] julia: update to 1.5.0.
Date: Wed, 26 Aug 2020 04:30:02 +0200	[thread overview]
Message-ID: <20200826023002.PkpU1dJnrXydxRJd-TjeylVCovPv5_NqxjD8Qseh0jY@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-24097@inbox.vuxu.org>

[-- 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"

  parent reply	other threads:[~2020-08-26  2:30 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-06  2:50 [PR PATCH] " 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 ` ahesford [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200826023002.PkpU1dJnrXydxRJd-TjeylVCovPv5_NqxjD8Qseh0jY@z \
    --to=ahesford@users.noreply.github.com \
    --cc=ml@inbox.vuxu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).