diff options
Diffstat (limited to 'testing/julia/APKBUILD')
-rw-r--r-- | testing/julia/APKBUILD | 187 |
1 files changed, 187 insertions, 0 deletions
diff --git a/testing/julia/APKBUILD b/testing/julia/APKBUILD new file mode 100644 index 0000000000..322dbb4b57 --- /dev/null +++ b/testing/julia/APKBUILD @@ -0,0 +1,187 @@ +# Contributor: Jakub Jirutka <jakub@jirutka.cz> +# Maintainer: Jakub Jirutka <jakub@jirutka.cz> +pkgname=julia +pkgver=0.4.5 +# Keep in sync with deps/libuv.version. +_libuv_ver=efb40768b7c7bd9f173a7868f74b92b1c5a61a0e +# Keep in sync with deps/Versions.make. +_rmathjulia_ver=0.1 +pkgrel=0 +pkgdesc="A high-level, high-performance dynamic language for technical computing" +url="http://julialang.org" +arch="x86 x86_64" +license="MIT" +depends="arpack + fftw>=3.3 + gmp>=5.0 + libgit2>=0.21 + mpfr3 + openblas + openlibm + openspecfun>=0.4 + pcre2>=10.0 + suitesparse>=4.1 + " +depends_dev="arpack-dev + dsfmt-dev + fftw-dev + gmp-dev + libgit2-dev + libunwind-dev + llvm-dev>=3.7 + mpfr-dev + openblas-dev + openlibm-dev + openspecfun-dev + pcre2-dev + suitesparse-dev + utf8proc-dev>=1.3 + " +makedepends="$depends_dev + bash + cmake + dsfmt + gfortran + linux-headers + openssl-dev + paxmark + perl + " +subpackages="$pkgname-dev $pkgname-doc $pkgname-debug" +source="https://github.com/JuliaLang/julia/releases/download/v$pkgver/$pkgname-$pkgver.tar.gz + libuv-$_libuv_ver.tar.gz::https://api.github.com/repos/JuliaLang/libuv/tarball/$_libuv_ver + Rmath-julia-$_rmathjulia_ver.tar.gz::https://api.github.com/repos/JuliaLang/Rmath-julia/tarball/v$_rmathjulia_ver + find-syslibs + 0001-hardened.patch + 0002-verbose-build.patch + 0003-no-clean-docs.patch + 0004-remove-sysctl.h.patch + 0005-llvm-3.8.patch + 0006-fix-contrib-install.patch + 0007-fix-stack-addr.patch + 0008-ldconfig-compat.patch + " +builddir="$srcdir/$pkgname-$pkgver" +ldpath="/usr/lib/julia" + +prepare() { + cd "$builddir" + + cp "$srcdir"/Rmath-julia-$_rmathjulia_ver.tar.gz deps/ || return 1 + + # Julia needs patched libuv. + cp "$srcdir"/libuv-$_libuv_ver.tar.gz deps/ || return 1 + + # Prevent fetching of bundled stuff in the build and package phase. + cat <<-EOF > deps/jldownload + #!/bin/sh + echo "!!! Downloading disabled !!!" + echo "Abuild should not fetch any files in the build phase." + echo "Add all the needed files to the APKBUILD's source=." + exit 1 + EOF + + cat <<-EOF > Make.user + prefix=/usr + libexecdir=/usr/lib + sysconfdir=/etc + DESTDIR="$pkgdir" + LIBBLAS=-lopenblas + LIBBLASNAME=libopenblas + LIBLAPACK=-lopenblas + LIBLAPACKNAME=libopenblas + USE_SYSTEM_LLVM=1 + USE_SYSTEM_LIBUNWIND=1 + USE_SYSTEM_PCRE=1 + USE_SYSTEM_LIBM=1 + USE_SYSTEM_OPENLIBM=1 + USE_SYSTEM_OPENSPECFUN=1 + USE_SYSTEM_DSFMT=1 + USE_SYSTEM_BLAS=1 + USE_SYSTEM_LAPACK=1 + USE_SYSTEM_FFTW=1 + USE_SYSTEM_GMP=1 + USE_SYSTEM_MPFR=1 + USE_SYSTEM_ARPACK=1 + USE_SYSTEM_SUITESPARSE=1 + USE_SYSTEM_LIBUV=0 + USE_SYSTEM_UTF8PROC=1 + USE_SYSTEM_LIBGIT2=1 + USE_SYSTEM_PATCHELF=1 + USE_LLVM_SHLIB=1 + VERBOSE=1 + EOF + + # Pre-SSE2 CPU targets are not supported; + # create a generic 32-bit x86 binary. + if [ "$CARCH" = x86 ]; then + echo "MARCH=i686" >> Make.user + echo "JULIA_CPU_TARGET=pentium4" >> Make.user + else + echo "MARCH=${CARCH/_/-}" >> Make.user + fi + + default_prepare +} + +build() { + cd "$builddir" + + # If we don't clean here, then make install will recompile everything, + # don't know why... + make clean && make release +} + +package() { + cd "$builddir" + + make install || return 1 + install -D "$srcdir"/find-syslibs "$pkgdir"/usr/share/julia/find-syslibs +} + +debug() { + pkgdesc="$pkgdesc (debug build)" + + install -d "$subpkgdir"/usr/bin + mv "$pkgdir"/usr/bin/*-debug "$subpkgdir"/usr/bin/ || return 1 + + install -d "$subpkgdir"/usr/lib/julia + mv "$pkgdir"/usr/lib/julia/*-debug.* "$subpkgdir"/usr/lib/julia/ +} + +md5sums="dc2ff07bb6fd5eeae12c7ec41ec38f22 julia-0.4.5.tar.gz +b94c9164471d0492dce170961d7c65a2 libuv-efb40768b7c7bd9f173a7868f74b92b1c5a61a0e.tar.gz +4e3f9e41e7b8cd3070225d1f5e8b21d9 Rmath-julia-0.1.tar.gz +d529d078678c242b6ac61d65ad61e530 find-syslibs +8a2ced6314457d47739deef08adb9ff4 0001-hardened.patch +2539b4abe49d669ae01a4239fb14243f 0002-verbose-build.patch +0fc44cc7b6a0167ee1e36310364e7049 0003-no-clean-docs.patch +e5a50262e22a97d7f8108e6e8fc160d1 0004-remove-sysctl.h.patch +aa0a5c577ccd3d0c652d15b6a064594e 0005-llvm-3.8.patch +ab0e26d5ac79161d7e65481700cf9114 0006-fix-contrib-install.patch +16f15ab47f1aff789966c90887916e9e 0007-fix-stack-addr.patch +3cf5ef31fd586ffac9a29cc3eca00e8a 0008-ldconfig-compat.patch" +sha256sums="441ff61b71bb0ad1d5279156105b20e9d2b59fccf2ad0c390636923d9c37ec25 julia-0.4.5.tar.gz +872a96b616fc3517526812df11ed188500abff8dd73b75ae92377916b6efd3fe libuv-efb40768b7c7bd9f173a7868f74b92b1c5a61a0e.tar.gz +64c1ac8ee12859cf295d23bc1c840ea52e5abbcf4384ffacdaec0fc2246c252a Rmath-julia-0.1.tar.gz +b4bdd0dc307a76e51b40aa33de8856e9bd6e3d8be11b4c509d73f05d78a0cb79 find-syslibs +587f87971d0e8fa65cf06653c56f62db283be102f8ed57712cad30d18dfb6c22 0001-hardened.patch +892b3e0b3a94ad53a06574851dd397da4293c371ad980a03daa816a0585cb0ee 0002-verbose-build.patch +8dc6aabe30ff02acfdae7aea3c6ef8fcf397481dfe2a3e2ad7c65bd8d1bbb09a 0003-no-clean-docs.patch +70b9f2957d818ccd93f64a61f87eb5c7476258905d235c8e34745ec9c9e9a649 0004-remove-sysctl.h.patch +2fa4fd8aef4a8805919cf66442f8b76f6a47886c1f6d31e7be525aad33c358c0 0005-llvm-3.8.patch +56ce9bbbc2a623ee06646fe41a9c9170cc2637b6794ea8a3e41e1adb68e720a5 0006-fix-contrib-install.patch +5688090d48c93ae36b068a454d0c9b11e40ba5722b4e62980bfc4ee5de8caaf7 0007-fix-stack-addr.patch +7895279378e08f394501af568b08fb59244c272735045b077de1d7ff67810787 0008-ldconfig-compat.patch" +sha512sums="66af1b1f25350f92c229725391993ccf2ad516c22348d3523a76c110509792c083d7ad0c32058c236900afb0b854e939d151501c2611dfd8afe4b266861287cc julia-0.4.5.tar.gz +21bdcffd0c13c864bac6a1f42c5f229a57fd91e124ab4c43bd14ab29e5334bfcbdcdda2e16b3b08e8f79df5ab133bac5cdaeb2a88627fe152dd91d5e18154e61 libuv-efb40768b7c7bd9f173a7868f74b92b1c5a61a0e.tar.gz +1dd94eca05bc06c3f33e8be5087d3b1742d01c8b38588e0fa79b8f6b9998760bca21bee1b65873825c4dde2d994a8271166bc21f670a34810fa9db598473a887 Rmath-julia-0.1.tar.gz +0283c7b0ff7dd99ae79f6ddac63513ce7d58ba31de506a3fee07af9b8882ddc275d0f9cb002381ba1e304bcacf252612fa16b21b85667422477e6b945b725899 find-syslibs +15968d95b09ed0f2315e08a5fd14e798db7fd1faebd1327ceaf7886248b61d2e61f64e726d98cd70cbc2349c66fc3a707298a2481c6abf98c699826f3f2f4ccb 0001-hardened.patch +266e0170c133e5be98f843adca948a4d13f3549a3a01b0c6220d495149ef26a9a837e9d7b0d9066eb7f8370a46ee5de042882a7dd585ddb245a1573882e32365 0002-verbose-build.patch +2eae3ea85a56b5deaef464d36f543d60afb2e6a65ee4b57b599dd508046a02179ca53c5efd91351c8d0cbd5a3585b236da9b316e82416f9bff249b8b74ded305 0003-no-clean-docs.patch +6c111ccdd12af5b00fdf0b7cc8fba11980fceccf7c246b40e791cd1be8e39cd75b8c290c65ebd9b4add60fc242261e17e94807736fce6a96733e9bf18182b489 0004-remove-sysctl.h.patch +8546ff6c762b2a3a9f15a898e8b95b6cb0dd50a014de8349ee8d94d9663ca5031f775ec4f00e136ae2aef4778a8bdb1074930d10e2e1c40a8ec8db55fb7dc4d8 0005-llvm-3.8.patch +8a3f14a908e3b16aef0afbbd437322ca2fdbba0bf2738f93704f19b06ef4dfee64f3e3932e4b2e18776333f25962d1b1c62c1638d4ca020570e30ddef1fb56f8 0006-fix-contrib-install.patch +523a403095160af5f126e8883f356e52b1b0a3056f1f4921c8204fb699a729e2f5537437d00c0edb1af05d1f3c1489edc44149a629edca47bb91361243fb4db3 0007-fix-stack-addr.patch +ab53aeaf3464236896295eab25092e4881def9e12483728be4d8323e5d3213c8b0fc064e62d21fd049df9acd2976eee032b254f10d2092ac0a4be4ecf9c319af 0008-ldconfig-compat.patch" |