diff options
author | Narrat | 2020-01-11 01:41:00 +0100 |
---|---|---|
committer | Narrat | 2020-01-11 01:42:20 +0100 |
commit | ec081e3a2a65e90e1dd2d115f5ac59edd188987d (patch) | |
tree | 5b71bd173241bade1b40e5efbcd31808ca1d7484 | |
parent | 13d45c83e21c1644d8807ad34709af6d42a55401 (diff) | |
download | aur-ec081e3a2a65e90e1dd2d115f5ac59edd188987d.tar.gz |
Julia: Follow Arch PKGBUILD
-rw-r--r-- | .SRCINFO | 48 | ||||
-rw-r--r-- | Make.user | 13 | ||||
-rw-r--r-- | PKGBUILD | 84 | ||||
-rw-r--r-- | julia-system-cblas.patch (renamed from cblas.patch) | 44 | ||||
-rw-r--r-- | libunwind-version.patch | 17 | ||||
-rw-r--r-- | make-install-no-build.patch (renamed from julia-makefile.patch) | 11 |
6 files changed, 112 insertions, 105 deletions
@@ -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 + @@ -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 - |