[testing] julia: update to 1.1.0

This commit is contained in:
Jeff Huang 2019-02-12 04:49:41 +01:00
parent 566e1873e4
commit 1427a68024
4 changed files with 96 additions and 73 deletions

34
julia/Make.user Normal file
View File

@ -0,0 +1,34 @@
# vim: set ft=make:
override prefix = /usr
override sysconfdir = /etc
override MARCH = x86-64
override JULIA_BUILD_MODE = release
override USE_BLAS64 = 0
override USE_SYSTEM_DSFMT = 0
override USE_SYSTEM_FFTW = 1
override USE_SYSTEM_GMP = 1
override USE_SYSTEM_LIBGIT2 = 1
override USE_SYSTEM_LIBM = 0
override USE_SYSTEM_LIBUNWIND = 1
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
# system blas with cblas symbols linked too
override USE_SYSTEM_BLAS = 1
override USE_SYSTEM_CBLAS = 1
override USE_SYSTEM_LAPACK = 1
# FS#57387
override USE_SYSTEM_LLVM = 0
# FS#60227
override USE_LLVM_SHLIB = 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.
override USE_SYSTEM_PATCHELF = 1

View File

@ -1,102 +1,91 @@
# Contributions from Arch:
# Maintainer: Alexander F. Rødseth <xyproto@archlinux.org>
# Contributor: Eli Schwartz <eschwartz@archlinux.org>
# Contributor: Lex Black <autumn-wind@web.de>
# Contributor: Michael Jakl <jakl.michael@gmail.com>
# Contributor: devmotion <nospam-archlinux.org@devmotion.de>
# Contributor: Valentin Churavy <v.churavy@gmail.com>
pkgbase=julia
pkgname=(julia julia-docs)
pkgver=1.0.0
pkgver=1.1.0
pkgrel=1
arch=('x86_64')
arch=(x86_64)
pkgdesc='High-level, high-performance, dynamic programming language'
url='https://julialang.org/'
license=('MIT')
depends=('fftw' 'hicolor-icon-theme' 'libgit2' 'libunwind' 'libutf8proc' 'suitesparse')
makedepends=('cmake' 'gcc-fortran' 'gmp' 'python2')
source=("https://github.com/JuliaLang/$pkgbase/releases/download/v$pkgver/$pkgbase-$pkgver-full.tar.gz"
"julia-libunwind-version.diff"
"julia-makefile.diff")
sha256sums=('1a2497977b1d43bb821a5b7475b4054b29938baae8170881c6b8dd4099d133f1'
'22974e1a6602c250cd993cc89cf38fd24668617484f44cadd60665e9af15207b'
'b7374fcd5a579fc59d6988795fc0c3cf411a89205942c691a5b3003793ae6c52')
license=(MIT)
depends=(cblas fftw hicolor-icon-theme libgit2 libunwind libutf8proc openblas
suitesparse)
makedepends=(cmake gcc-fortran gmp python2)
source=("https://github.com/JuliaLang/julia/releases/download/v$pkgver/$pkgbase-$pkgver-full.tar.gz"{,.asc}
'cblas.patch::https://github.com/JuliaLang/julia/pull/29540/commits/0c442318196389d653ee21eba65d8c4f7beb72a0.patch'
libunwind-version.patch
makefile.patch
Make.user)
sha256sums=('a62c40922a368e303051c007a32e616862340d6ae5f3fac851a9e1b7c7bed0a7'
'SKIP'
'88fcbd8a2450027aada0892a60c49c891a8dae43ee6c19e64364b1a1373d50bc'
'a5eec1e43e1161c313b1d32a5f35a67d6b4a2bbc2d6d324c010f6f2b35be4a72'
'b7374fcd5a579fc59d6988795fc0c3cf411a89205942c691a5b3003793ae6c52'
'5d80da405df2a45a67e8d9e66ab4e25c2df754516023bbab81f9f263f6109329')
# Julia (Binary signing key) <buildbot@julialang.org>
validpgpkeys=('3673DF529D9049477F76B37566E3C7DC03D6E495')
prepare() {
cd $pkgbase
# https://github.com/JuliaLang/julia/pull/29082 fix libunwind version check
patch -p1 -i ../julia-libunwind-version.diff
# make 'make install' really just install
patch -p0 -i ../julia-makefile.diff
cd $pkgbase-$pkgver
# add and use option to build with system cblas
patch -p1 --no-backup-if-mismatch -i ../cblas.patch
# https://github.com/JuliaLang/julia/pull/29082
msg2 'Fixing libunwind version check...'
patch -p1 -i ../libunwind-version.patch
msg2 'Patching make install...'
patch -p0 -i ../makefile.patch
msg2 'Configuring the build...'
cp -f ../Make.user Make.user
}
build() {
# configure the build.
#
# Setting USE_SYSTEM_*=1 for quite a few things, for now,
# just to make Julia 1.0.0 compile.
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 = 1
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"
env CFLAGS="$CFLAGS -w" CXXFLAGS="$CXXFLAGS -w" make -C $pkgbase-$pkgver
}
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)
cd $pkgbase-$pkgver/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/
rm -r depot/compiled
}
package_julia() {
backup=('etc/julia/startup.jl')
backup=(etc/julia/startup.jl)
optdepends=('gnuplot: If using the Gaston Package from julia')
make -C "$pkgbase" DESTDIR="$pkgdir" install
make -C $pkgbase-$pkgver DESTDIR="$pkgdir" install
# Remove duplicate man-page from julia/doc
rm -rf "$pkgdir/usr/share/julia/doc/man"
# Documentation is in the julia-docs package
# 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}
# License
install -Dm644 "$pkgbase/LICENSE.md" "$pkgdir/usr/share/licenses/$pkgname/LICENSE.md"
install -Dm644 $pkgbase-$pkgver/LICENSE.md \
"$pkgdir/usr/share/licenses/$pkgname/LICENSE.md"
}
package_julia-docs() {
pkgdesc='Documentation and examples for Julia'
depends=('julia')
cd "$pkgbase"
depends=(julia)
install -d "$pkgdir/usr/share/doc"
cp -r doc "$pkgdir/usr/share/doc/$pkgbase"
rm -rf "$pkgdir"/usr/share/doc/julia/man/
install -Dm644 LICENSE.md "$pkgdir/usr/share/licenses/$pkgname/LICENSE.md"
cp -r $pkgbase-$pkgver/doc "$pkgdir/usr/share/doc/$pkgbase"
rm -rf "$pkgdir/usr/share/doc/julia/man"
install -Dm644 $pkgbase-$pkgver/LICENSE.md \
"$pkgdir/usr/share/licenses/$pkgname/LICENSE.md"
}
# getver: julialang.org/downloads
# vim: ts=2 sw=2 et:

View File

@ -7,7 +7,7 @@ index 186b5d7b2b..33143f2062 100644
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 > 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