[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