summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorNarrat2020-01-11 01:41:00 +0100
committerNarrat2020-01-11 01:42:20 +0100
commitec081e3a2a65e90e1dd2d115f5ac59edd188987d (patch)
tree5b71bd173241bade1b40e5efbcd31808ca1d7484
parent13d45c83e21c1644d8807ad34709af6d42a55401 (diff)
downloadaur-ec081e3a2a65e90e1dd2d115f5ac59edd188987d.tar.gz
Julia: Follow Arch PKGBUILD
-rw-r--r--.SRCINFO48
-rw-r--r--Make.user13
-rw-r--r--PKGBUILD84
-rw-r--r--julia-system-cblas.patch (renamed from cblas.patch)44
-rw-r--r--libunwind-version.patch17
-rw-r--r--make-install-no-build.patch (renamed from julia-makefile.patch)11
6 files changed, 112 insertions, 105 deletions
diff --git a/.SRCINFO b/.SRCINFO
index efbcf5c1e447..c34bc784a2f5 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,59 +1,47 @@
pkgbase = julia-git
pkgdesc = High-level, high-performance, dynamic programming language
- pkgver = 1.3.0.DEV.r44719.gefd794e199
+ pkgver = 1.5.0.DEV.r45903.gedc1b7d14a
pkgrel = 1
- url = https://julialang.org
+ url = https://julialang.org/
arch = x86_64
license = MIT
makedepends = cmake
makedepends = gcc-fortran
makedepends = gmp
- makedepends = python2
+ makedepends = python
makedepends = git
- makedepends = cblas
- makedepends = hicolor-icon-theme
- makedepends = libgit2
- makedepends = libunwind
- makedepends = libutf8proc
- makedepends = mbedtls
- makedepends = mpfr
- makedepends = openblas
- makedepends = openlibm
- makedepends = pcre2
- makedepends = suitesparse
- makedepends = xdg-utils
- makedepends = desktop-file-utils
- makedepends = gtk-update-icon-cache
- source = git://github.com/JuliaLang/julia.git#branch=master
- source = Make.user
- source = julia-makefile.patch
- source = cblas.patch
- sha256sums = SKIP
- sha256sums = 21f97b3441097e71db59e2205f644466d829bbd0b73a34bc8b857b4390cf8ffc
- sha256sums = 030b37d711a08567e7f9c5f0626dec7aed02c83373b5ec666d519897b50218ea
- sha256sums = 5eb9280c6b91c9be15a52de7dc5f05e69a5edbfe1c5d1f62497470a1aa0d1fa8
-
-pkgname = julia-git
depends = cblas
depends = hicolor-icon-theme
depends = libgit2
depends = libunwind
depends = libutf8proc
+ depends = openblas
+ depends = suitesparse
depends = mbedtls
depends = mpfr
- depends = openblas
depends = openlibm
depends = pcre2
- depends = suitesparse
depends = xdg-utils
depends = desktop-file-utils
depends = gtk-update-icon-cache
+ source = git://github.com/JuliaLang/julia.git#branch=master
+ source = Make.user
+ source = julia-system-cblas.patch
+ source = libunwind-version.patch
+ source = make-install-no-build.patch
+ sha256sums = SKIP
+ sha256sums = 1aee33d62dcd8e6b65672bd9996a61c83e44056dd31efa79761cb85effb0e6a1
+ sha256sums = d4c8fe9eec1bc416549924ae328ceb3f63cc736ecd5e67886faa924e7c14bc5d
+ sha256sums = 856dab2da8124df95e4fbd17f1164bebe1b10e99852fedf38f9dfe31f8ae295c
+ sha256sums = 0b57e0bc6e25c92fde8a6474394f7a99bfb57f9b5d0f7b53f988622ae67de8b7
+
+pkgname = julia-git
optdepends = openblas-lapack: multithreaded replacement for lapack
optdepends = fftw: If using the FFTW package from julia
optdepends = gnuplot: If using the Gaston Package from julia
provides = julia
conflicts = julia
- backup = etc/julia/juliarc.jl
+ backup = etc/julia/startup.jl
pkgname = julia-git-docs
pkgdesc = Documentation and examples for Julia
diff --git a/Make.user b/Make.user
index ea39240e6ce3..526cb9bdedc6 100644
--- a/Make.user
+++ b/Make.user
@@ -1,18 +1,16 @@
prefix:=/usr
sysconfdir:=/etc
#MARCH=${CARCH/_/-}
-USE_BLAS64:=0
USE_SYSTEM_LLVM:=0
USE_SYSTEM_LIBUNWIND:=1
-USE_SYSTEM_PCRE:=0
+USE_SYSTEM_PCRE:=1
USE_SYSTEM_LIBM:=0
USE_SYSTEM_OPENLIBM:=1
USE_SYSTEM_DSFMT:=0
USE_SYSTEM_BLAS:=1
-USE_SYSTEM_CBLAS:=1
USE_SYSTEM_LAPACK:=1
USE_SYSTEM_GMP:=1
-USE_SYSTEM_MPFR:=0
+USE_SYSTEM_MPFR:=1
USE_SYSTEM_SUITESPARSE:=1
USE_SYSTEM_LIBUV:=0
USE_SYSTEM_UTF8PROC:=1
@@ -20,8 +18,7 @@ USE_SYSTEM_MBEDTLS:=1
USE_SYSTEM_LIBSSH2:=1
USE_SYSTEM_CURL:=1
USE_SYSTEM_LIBGIT2:=1
-# patchelf is not even used unless $(private_libdir_rel) != $(build_private_libdir_rel)
-# but we USE_SYSTEM_PATCHELF=1 to prevent building it. This is why it is not in makedepends.
USE_SYSTEM_PATCHELF:=1
-USE_INTEL_MKL:=0
-USE_SYSTEM_CBLAS:=1
+USE_SYSTEM_ZLIB:=1
+USE_SYSTEM_P7ZIP:=1
+
diff --git a/PKGBUILD b/PKGBUILD
index a2b143f733ea..8e065bbafa01 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,27 +4,29 @@
_pkgbase=julia
pkgbase=${_pkgbase}-git
-pkgname=('julia-git' 'julia-git-docs')
-pkgver=1.3.0.DEV.r44719.gefd794e199
+pkgname=(julia-git julia-git-docs)
+pkgver=1.5.0.DEV.r45903.gedc1b7d14a
pkgrel=1
+arch=(x86_64)
pkgdesc='High-level, high-performance, dynamic programming language'
-arch=('x86_64')
-url="https://julialang.org"
-license=('MIT')
-makedepends=('cmake' 'gcc-fortran' 'gmp' 'python2' 'git')
-makedepends+=('cblas' 'hicolor-icon-theme' 'libgit2' 'libunwind' 'libutf8proc'
- 'mbedtls' 'mpfr' 'openblas' 'openlibm' 'pcre2' 'suitesparse'
- 'xdg-utils' 'desktop-file-utils' 'gtk-update-icon-cache') # 'llvm' 'patchelf' 'intel-mkl'
+url='https://julialang.org/'
+license=(MIT)
+depends=(cblas hicolor-icon-theme libgit2 libunwind libutf8proc openblas
+ suitesparse mbedtls mpfr openlibm pcre2
+ xdg-utils desktop-file-utils gtk-update-icon-cache) # 'llvm' 'patchelf' 'intel-mkl'
+makedepends=(cmake gcc-fortran gmp python git)
# Needed if building the documentation
#makedepends+=('juliadoc-git' 'texlive-langcjk' 'texlive-latexextra')
source=(git://github.com/JuliaLang/julia.git#branch=master
Make.user
- julia-makefile.patch
- cblas.patch)
+ julia-system-cblas.patch
+ libunwind-version.patch
+ make-install-no-build.patch)
sha256sums=('SKIP'
- '21f97b3441097e71db59e2205f644466d829bbd0b73a34bc8b857b4390cf8ffc'
- '030b37d711a08567e7f9c5f0626dec7aed02c83373b5ec666d519897b50218ea'
- '5eb9280c6b91c9be15a52de7dc5f05e69a5edbfe1c5d1f62497470a1aa0d1fa8')
+ '1aee33d62dcd8e6b65672bd9996a61c83e44056dd31efa79761cb85effb0e6a1'
+ 'd4c8fe9eec1bc416549924ae328ceb3f63cc736ecd5e67886faa924e7c14bc5d'
+ '856dab2da8124df95e4fbd17f1164bebe1b10e99852fedf38f9dfe31f8ae295c'
+ '0b57e0bc6e25c92fde8a6474394f7a99bfb57f9b5d0f7b53f988622ae67de8b7')
pkgver() {
@@ -44,18 +46,22 @@ prepare() {
msg2 'Configuring the build...'
cp -v $srcdir/Make.user .
- msg2 'Patching make install...'
- patch -p0 -i ../julia-makefile.patch
+ # Add and use option to build with system cblas
+ patch -p1 -i ../julia-system-cblas.patch
- # add and use option to build with system cblas
- # https://github.com/JuliaLang/julia/pull/29540
- patch -p1 --no-backup-if-mismatch -i ../cblas.patch
+ # Fixing libunwind version check
+ # https://github.com/JuliaLang/julia/pull/29082
+ patch -p1 -i ../libunwind-version.patch
+
+ # Don't build again in install
+ patch -p1 -i ../make-install-no-build.patch
}
build() {
# See FS#57387 for why USE_SYSTEM_LLVM=0 is used, for now
# See FS#58221 for why USE_SYSTEM_ARPACK=0 is used, for now
- env CFLAGS="$CFLAGS -w" CXXFLAGS="$CXXFLAGS -w" make -C "$_pkgbase"
+ export PATH="$srcdir/bin:$PATH"
+ env CFLAGS="$CFLAGS -w" CXXFLAGS="$CXXFLAGS -w" make VERBOSE=1 -C "$_pkgbase"
# Building doc
cd $_pkgbase/doc
@@ -69,31 +75,31 @@ check() {
# this is the make testall target, plus the --skip option from
# travis/appveyor/circleci (one test fails with DNS resolution errors)
- ../julia --check-bounds=yes --startup-file=no ./runtests.jl all --skip Sockets
+ ../julia --check-bounds=yes --startup-file=no ./runtests.jl all --skip Sockets --skip Distributed --skip LibGit2/libgit2
find ../stdlib \( -name \*.cov -o -name \*.mem \) -delete
rm -r depot/compiled
}
package_julia-git() {
- depends=('cblas' 'hicolor-icon-theme' 'libgit2' 'libunwind' 'libutf8proc'
- 'mbedtls' 'mpfr' 'openblas' 'openlibm' 'pcre2' 'suitesparse'
- 'xdg-utils' 'desktop-file-utils' 'gtk-update-icon-cache') # 'llvm' 'patchelf' 'intel-mkl'
optdepends=('openblas-lapack: multithreaded replacement for lapack'
'fftw: If using the FFTW package from julia'
'gnuplot: If using the Gaston Package from julia')
provides=('julia')
conflicts=('julia')
- backup=('etc/julia/juliarc.jl')
+ backup=(etc/julia/startup.jl)
- CFLAGS=${CFLAGS//-march=i686/-march=pentium4}
- CXXFLAGS=${CXXFLAGS//-march=i686/-march=pentium4}
- make -C "$_pkgbase" DESTDIR="$pkgdir" install
+ make -C "$_pkgbase" DESTDIR="$pkgdir" install \
+ prefix=/usr \
+ libexecdir=/usr/lib \
+ sysconfdir=/etc
- # Documentation and examples are in the julia-docs package
- rm -rf "$pkgdir/usr/share/"{doc,julia/doc,julia/examples}
+ # Documentation is in the julia-docs package.
+ # Man pages in /usr/share/julia/doc/man are duplicate.
+ rm -rf "$pkgdir/usr/share/"{doc,julia/doc}
- install -Dm644 "$_pkgbase/LICENSE.md" "$pkgdir/usr/share/licenses/$pkgbase/LICENSE.md"
+ install -Dm644 "$_pkgbase/LICENSE.md" \
+ "$pkgdir/usr/share/licenses/$pkgname/LICENSE.md"
# Remove files that don't belong into the package
find ${pkgdir} -name ".gitignore" -delete
@@ -102,17 +108,15 @@ package_julia-git() {
package_julia-git-docs() {
arch=('any')
pkgdesc='Documentation and examples for Julia'
- depends=('julia')
- provides=('julia-docs')
- conflicts=('julia-docs' 'julia-git-doc')
+ depends=(julia)
+ provides=(julia-docs)
+ conflicts=(julia-docs julia-git-doc)
install -d "$pkgdir/usr/share/doc"
cp -r "$_pkgbase/doc" "$pkgdir/usr/share/doc/$_pkgbase"
- cp -r "$_pkgbase/examples" "$pkgdir/usr/share/doc/$_pkgbase/examples"
- install -Dm644 "$_pkgbase/LICENSE.md" "$pkgdir/usr/share/licenses/$pkgbase/LICENSE.md"
-
- # Remove double
- rm -rf "$pkgdir/usr/share/doc/julia/man/"
+ rm -rf "$pkgdir/usr/share/doc/julia/man"
+ install -Dm644 "$_pkgbase/LICENSE.md" \
+ "$pkgdir/usr/share/licenses/$pkgname/LICENSE.md"
# Installing built docs. Adjust it accordingly to your changes in build()
cd "$_pkgbase/doc/_build"
@@ -124,5 +128,3 @@ package_julia-git-docs() {
# Remove files that don't belong into the package
find ${pkgdir} -name ".gitignore" -delete
}
-
-# vim:set ts=2 sw=2 et:
diff --git a/cblas.patch b/julia-system-cblas.patch
index c0cf0607a307..16f91c8c5dd5 100644
--- a/cblas.patch
+++ b/julia-system-cblas.patch
@@ -1,17 +1,23 @@
-commit 0c442318196389d653ee21eba65d8c4f7beb72a0
-Author: Eli Schwartz <eschwartz@archlinux.org>
-Date: Fri Oct 5 15:52:17 2018 +0000
+From 0c442318196389d653ee21eba65d8c4f7beb72a0 Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz@archlinux.org>
+Date: Fri, 5 Oct 2018 15:52:17 +0000
+Subject: [PATCH] Use a dedicated cblas library, that may or may not be in fact
+ the blas one.
- Use a dedicated cblas library, that may or may not be in fact the blas one.
-
- Openblas can be built with statically compiled convenience copies of
- cblas, but if not, then the system libcblas.so should be used.
+Openblas can be built with statically compiled convenience copies of
+cblas, but if not, then the system libcblas.so should be used.
+---
+ Make.inc | 12 +++++++++++-
+ Makefile | 3 +++
+ base/Makefile | 4 ++++
+ stdlib/LinearAlgebra/src/blas.jl | 15 +++++++++++++--
+ 4 files changed, 31 insertions(+), 3 deletions(-)
diff --git a/Make.inc b/Make.inc
-index b00a41b356..7bc6cd69e8 100644
+index b00a41b356d8..7bc6cd69e863 100644
--- a/Make.inc
+++ b/Make.inc
-@@ -886,6 +886,7 @@ endif
+@@ -945,6 +945,7 @@ endif
ifeq ($(USE_SYSTEM_BLAS), 1)
ifeq ($(OS), Darwin)
USE_BLAS64 := 0
@@ -19,7 +25,7 @@ index b00a41b356..7bc6cd69e8 100644
USE_SYSTEM_LAPACK := 0
LIBBLAS := -L$(build_libdir) -lgfortblas
LIBBLASNAME := libgfortblas
-@@ -898,12 +899,21 @@ LIBBLAS := -L$(build_shlibdir) -lopenblas
+@@ -957,12 +958,21 @@ LIBBLAS := -L$(build_shlibdir) -lopenblas
LIBBLASNAME := libopenblas
endif
@@ -43,10 +49,10 @@ index b00a41b356..7bc6cd69e8 100644
LIBLAPACK ?= -llapack
LIBLAPACKNAME ?= liblapack
diff --git a/Makefile b/Makefile
-index 6063e79ae9..7df60b8170 100644
+index 6063e79ae956..7df60b8170d6 100644
--- a/Makefile
+++ b/Makefile
-@@ -254,6 +254,9 @@ endif
+@@ -184,6 +184,9 @@ endif
endif
JL_PRIVATE_LIBS-$(USE_SYSTEM_BLAS) += $(LIBBLASNAME)
@@ -57,7 +63,7 @@ index 6063e79ae9..7df60b8170 100644
JL_PRIVATE_LIBS-$(USE_SYSTEM_LAPACK) += $(LIBLAPACKNAME)
endif
diff --git a/base/Makefile b/base/Makefile
-index 70e6da933d..8ecfa6902b 100644
+index 70e6da933d70..8ecfa6902b59 100644
--- a/base/Makefile
+++ b/base/Makefile
@@ -42,6 +42,7 @@ else
@@ -68,7 +74,7 @@ index 70e6da933d..8ecfa6902b 100644
@echo "const liblapack_name = \"$(LIBLAPACKNAME)\"" >> $@
ifeq ($(USE_BLAS64), 1)
@echo "const USE_BLAS64 = true" >> $@
-@@ -175,6 +176,9 @@ endif
+@@ -183,6 +184,9 @@ endif
$(eval $(call symlink_system_library,libpcre2-8,PCRE))
$(eval $(call symlink_system_library,libdSFMT,DSFMT))
$(eval $(call symlink_system_library,$(LIBBLASNAME),BLAS))
@@ -79,10 +85,10 @@ index 70e6da933d..8ecfa6902b 100644
$(eval $(call symlink_system_library,$(LIBLAPACKNAME),LAPACK))
endif
diff --git a/stdlib/LinearAlgebra/src/blas.jl b/stdlib/LinearAlgebra/src/blas.jl
-index fee8c9e74d..8c76d1acbf 100644
+index fee8c9e74d7e..8c76d1acbf29 100644
--- a/stdlib/LinearAlgebra/src/blas.jl
+++ b/stdlib/LinearAlgebra/src/blas.jl
-@@ -62,6 +62,7 @@ export
+@@ -61,6 +61,7 @@ export
const libblas = Base.libblas_name
@@ -90,7 +96,7 @@ index fee8c9e74d..8c76d1acbf 100644
const liblapack = Base.liblapack_name
import LinearAlgebra
-@@ -103,6 +103,16 @@ else
+@@ -101,6 +102,16 @@ else
end
end
@@ -107,7 +113,7 @@ index fee8c9e74d..8c76d1acbf 100644
openblas_get_config() = strip(unsafe_string(ccall((@blasfunc(openblas_get_config), libblas), Ptr{UInt8}, () )))
"""
-@@ -301,7 +312,7 @@ for (fname, elty) in ((:cblas_zdotc_sub,:ComplexF64),
+@@ -300,7 +311,7 @@ for (fname, elty) in ((:cblas_zdotc_sub,:ComplexF64),
# DOUBLE PRECISION DX(*),DY(*)
function dotc(n::Integer, DX::Union{Ptr{$elty},AbstractArray{$elty}}, incx::Integer, DY::Union{Ptr{$elty},AbstractArray{$elty}}, incy::Integer)
result = Ref{$elty}()
@@ -116,7 +122,7 @@ index fee8c9e74d..8c76d1acbf 100644
(BlasInt, Ptr{$elty}, BlasInt, Ptr{$elty}, BlasInt, Ptr{$elty}),
n, DX, incx, DY, incy, result)
result[]
-@@ -319,7 +330,7 @@ for (fname, elty) in ((:cblas_zdotu_sub,:ComplexF64),
+@@ -318,7 +329,7 @@ for (fname, elty) in ((:cblas_zdotu_sub,:ComplexF64),
# DOUBLE PRECISION DX(*),DY(*)
function dotu(n::Integer, DX::Union{Ptr{$elty},AbstractArray{$elty}}, incx::Integer, DY::Union{Ptr{$elty},AbstractArray{$elty}}, incy::Integer)
result = Ref{$elty}()
diff --git a/libunwind-version.patch b/libunwind-version.patch
new file mode 100644
index 000000000000..c2abc6113f13
--- /dev/null
+++ b/libunwind-version.patch
@@ -0,0 +1,17 @@
+diff --git a/src/julia_internal.h b/src/julia_internal.h
+index 186b5d7b2b..33143f2062 100644
+--- a/src/julia_internal.h
++++ b/src/julia_internal.h
+@@ -612,12 +612,9 @@ extern volatile int jl_in_stackwalk;
+ # include <libunwind.h>
+ typedef unw_context_t bt_context_t;
+ typedef unw_cursor_t bt_cursor_t;
+-# if (!defined(SYSTEM_LIBUNWIND) || UNW_VERSION_MAJOR > 1 || \
+- (UNW_VERSION_MAJOR == 1 && UNW_VERSION_MINOR != 0 && UNW_VERSION_MINOR != 1))
+ // Enable our memory manager only for libunwind with our patch or
+ // on a newer release
+ # define JL_UNW_HAS_FORMAT_IP 1
+-# endif
+ #else
+ // Unwinding is disabled
+ typedef int bt_context_t;
diff --git a/julia-makefile.patch b/make-install-no-build.patch
index da263d2777a1..6d89d95be605 100644
--- a/julia-makefile.patch
+++ b/make-install-no-build.patch
@@ -1,6 +1,6 @@
---- Makefile.orig
-+++ Makefile
-@@ -269,12 +269,9 @@
+--- julia-1.3.0/Makefile.orig 2019-12-06 12:54:23.879790955 +0000
++++ julia-1.3.0/Makefile 2019-12-06 12:54:36.329952953 +0000
+@@ -277,12 +277,7 @@
endif
@@ -10,10 +10,7 @@
-else
- @$(MAKE) $(QUIET_MAKE) release
-endif
-+docsindex: $(build_depsbindir)/stringreplace $(BUILDROOT)/doc/_build/html/en/index.html
-+
+install:
- @for subdir in $(bindir) $(datarootdir)/julia/stdlib/$(VERSDIR) $(docdir) $(man1dir) $(includedir)/julia $(libdir) $(private_libdir) $(sysconfdir); do \
+ @for subdir in $(bindir) $(datarootdir)/julia/stdlib/$(VERSDIR) $(docdir) $(man1dir) $(includedir)/julia $(libdir) $(private_libdir) $(sysconfdir) $(libexecdir); do \
mkdir -p $(DESTDIR)$$subdir; \
done
-