[arch-commits] Commit in julia/trunk (PKGBUILD julia-makefile.diff)
Eli Schwartz
eschwartz at archlinux.org
Tue Sep 4 15:00:38 UTC 2018
Date: Tuesday, September 4, 2018 @ 15:00:38
Author: eschwartz
Revision: 376745
upgpkg: julia 2:1.0.0-2
fix new name for the backup file
add testsuite
factorize configuration to only be needed at build time, not install time too
clean deps
re-fix install target
Added:
julia/trunk/julia-makefile.diff
Modified:
julia/trunk/PKGBUILD
---------------------+
PKGBUILD | 129 ++++++++++++++++++++++----------------------------
julia-makefile.diff | 12 ++++
2 files changed, 69 insertions(+), 72 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2018-09-04 14:57:50 UTC (rev 376744)
+++ PKGBUILD 2018-09-04 15:00:38 UTC (rev 376745)
@@ -9,98 +9,83 @@
pkgname=(julia julia-docs)
epoch=2
pkgver=1.0.0
-pkgrel=1
+pkgrel=2
arch=('x86_64')
pkgdesc='High-level, high-performance, dynamic programming language'
url='https://julialang.org/'
license=('MIT')
-depends=('fftw' 'hicolor-icon-theme' 'libgit2' 'libutf8proc' 'mpfr' 'pcre2' 'suitesparse')
-makedepends=('chrpath' 'cmake' 'gcc-fortran' 'gmp' 'gtk-update-icon-cache' 'patchelf' 'python2')
-options=('!emptydirs' 'staticlibs')
-source=("https://github.com/JuliaLang/$pkgbase/releases/download/v$pkgver/$pkgbase-$pkgver-full.tar.gz"{,.asc})
+depends=('fftw' 'hicolor-icon-theme' 'libgit2' 'libutf8proc' 'suitesparse')
+makedepends=('cmake' 'gcc-fortran' 'gmp' 'python2')
+source=("https://github.com/JuliaLang/$pkgbase/releases/download/v$pkgver/$pkgbase-$pkgver-full.tar.gz"{,.asc}
+ "julia-makefile.diff")
sha256sums=('1a2497977b1d43bb821a5b7475b4054b29938baae8170881c6b8dd4099d133f1'
- 'SKIP')
+ 'SKIP'
+ 'b7374fcd5a579fc59d6988795fc0c3cf411a89205942c691a5b3003793ae6c52')
validpgpkeys=('3673DF529D9049477F76B37566E3C7DC03D6E495') # Julia (Binary signing key) <buildbot at julialang.org>
+prepare() {
+ cd $pkgbase
+ patch -p0 -i ../julia-makefile.diff # make 'make install' really just install
+}
+
build() {
- export CFLAGS="$CFLAGS -w"
- export CXXFLAGS="$CXXFLAGS -w"
+ # configure the build.
#
- # USE_SYSTEM_LIBUNWIND=1 fails
- # USE_SYSTEM_LIBM=1 fails
- # USE_SYSTEM_LLVM=1 fails (see FS#57387)
- #
# Setting USE_SYSTEM_*=1 for quite a few things, for now,
# just to make Julia 1.0.0 compile.
- #
- make -C "$pkgbase" \
- prefix=/usr \
- sysconfdir=/etc \
- MARCH=x86-64 \
- JULIA_BUILD_MODE=release \
- USE_BLAS64=0 \
- USE_INTEL_MKL=0 \
- USE_LLVM_SHLIB=0 \
- USE_SYSTEM_BLAS=0 \
- USE_SYSTEM_DSFMT=0 \
- USE_SYSTEM_FFTW=1 \
- USE_SYSTEM_GMP=1 \
- USE_SYSTEM_LAPACK=0 \
- USE_SYSTEM_LIBGIT2=1 \
- USE_SYSTEM_LIBM=0 \
- USE_SYSTEM_LIBUNWIND=0 \
- USE_SYSTEM_LIBUV=0 \
- USE_SYSTEM_LLVM=0 \
- USE_SYSTEM_MPFR=0 \
- USE_SYSTEM_OPENLIBM=0 \
- USE_SYSTEM_OPENSPECFUN=0 \
- USE_SYSTEM_PATCHELF=1 \
- USE_SYSTEM_PCRE=0 \
- USE_SYSTEM_SUITESPARSE=1 \
- USE_SYSTEM_UTF8PROC=1
+ cat << '__EOF__' > $pkgbase/Make.user
+override prefix = /usr
+override sysconfdir = /etc
+override MARCH = x86-64
+override JULIA_BUILD_MODE = release
+override USE_BLAS64 = 0
+override USE_SYSTEM_BLAS = 0
+override USE_SYSTEM_DSFMT = 0
+override USE_SYSTEM_FFTW = 1
+override USE_SYSTEM_GMP = 1
+override USE_SYSTEM_LAPACK = 0
+override USE_SYSTEM_LIBGIT2 = 1
+override USE_SYSTEM_LIBM = 0
+override USE_SYSTEM_LIBUNWIND = 0
+override USE_SYSTEM_MPFR = 0
+override USE_SYSTEM_OPENLIBM = 0
+override USE_SYSTEM_OPENSPECFUN = 0
+override USE_SYSTEM_PCRE = 0
+override USE_SYSTEM_SUITESPARSE = 1
+override USE_SYSTEM_UTF8PROC = 1
+
+# FS#57387
+override USE_SYSTEM_LLVM = 0
+override USE_LLVM_SHLIB = 0
+
+# 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.
+override USE_SYSTEM_PATCHELF = 1
+__EOF__
+
+ export CFLAGS="$CFLAGS -w"
+ export CXXFLAGS="$CXXFLAGS -w"
+ make -C "$pkgbase"
}
+check() {
+ cd $pkgbase/test
+ # 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
+ find ../stdlib \( -name \*.cov -o -name \*.mem \) -delete
+ rm -r depot/compiled/
+}
+
package_julia() {
- backup=('etc/julia/juliarc.jl')
+ backup=('etc/julia/startup.jl')
optdepends=('gnuplot: If using the Gaston Package from julia')
- export CFLAGS="$CFLAGS -w"
- export CXXFLAGS="$CXXFLAGS -w"
- make -C "$pkgbase" \
- DESTDIR="$pkgdir" \
- prefix=/usr \
- sysconfdir=/etc \
- MARCH=x86-64 \
- USE_BLAS64=0 \
- USE_INTEL_MKL=0 \
- USE_LLVM_SHLIB=0 \
- USE_SYSTEM_BLAS=0 \
- USE_SYSTEM_DSFMT=0 \
- USE_SYSTEM_FFTW=1 \
- USE_SYSTEM_GMP=1 \
- USE_SYSTEM_LAPACK=0 \
- USE_SYSTEM_LIBGIT2=1 \
- USE_SYSTEM_LIBM=0 \
- USE_SYSTEM_LIBUNWIND=0 \
- USE_SYSTEM_LIBUV=0 \
- USE_SYSTEM_LLVM=0 \
- USE_SYSTEM_MPFR=0 \
- USE_SYSTEM_OPENLIBM=0 \
- USE_SYSTEM_OPENSPECFUN=0 \
- USE_SYSTEM_PATCHELF=1 \
- USE_SYSTEM_PCRE=0 \
- USE_SYSTEM_SUITESPARSE=1 \
- USE_SYSTEM_UTF8PROC=1 \
- install
+ make -C "$pkgbase" DESTDIR="$pkgdir" install
# Remove duplicate man-page from julia/doc
rm -rf "$pkgdir/usr/share/julia/doc/man"
- # FS#58211 && https://github.com/JuliaLang/julia/issues/26830
- #chrpath -r '$ORIGIN/julia' "$pkgdir/usr/lib/libjulia.so.$pkgver"
- # points to /usr/lib
- #chrpath -d "$pkgdir/usr/bin/julia"
-
# Documentation is in the julia-docs package
rm -rf "$pkgdir/usr/share/"{doc,julia/doc}
Added: julia-makefile.diff
===================================================================
--- julia-makefile.diff (rev 0)
+++ julia-makefile.diff 2018-09-04 15:00:38 UTC (rev 376745)
@@ -0,0 +1,12 @@
+--- Makefile.orig 2018-09-03 15:46:25.081697186 +0000
++++ Makefile 2018-09-03 15:46:43.958418721 +0000
+@@ -316,8 +316,7 @@
+ $(build_depsbindir)/stringreplace $$(strings -t x - $1 | grep '$2' | awk '{print $$1;}') '$3' 255 "$(call cygpath_w,$1)"
+ endef
+
+-install: $(build_depsbindir)/stringreplace $(BUILDROOT)/doc/_build/html/en/index.html
+- @$(MAKE) $(QUIET_MAKE) all
++install:
+ @for subdir in $(bindir) $(datarootdir)/julia/stdlib/$(VERSDIR) $(docdir) $(man1dir) $(includedir)/julia $(libdir) $(private_libdir) $(sysconfdir); do \
+ mkdir -p $(DESTDIR)$$subdir; \
+ done
More information about the arch-commits
mailing list