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