|
@@ -1,6 +1,18 @@
|
|
|
%define pkg_name julia
|
|
|
%define pkg_version 1.1.0
|
|
|
-%define pkg_release 1%{?_dist_release}
|
|
|
+%define pkg_release 2%{?_dist_release}
|
|
|
+
|
|
|
+%global unwindversion 1.1-julia2
|
|
|
+%global uvcommit 2348256acf5759a544e5ca7935f638d2bc091d60
|
|
|
+%global patchelfversion 0.9
|
|
|
+%global utf8proccommit 97ef668b312b96382714dbb8eaac4affce0816e6
|
|
|
+%global llvmversion 6.0.1
|
|
|
+%global libwhichcommit 81e9723c0273d78493dc8c8ed570f68d9ce7e89e
|
|
|
+%global mpfrversion 4.0.1
|
|
|
+%global cacertversion 2018-10-17
|
|
|
+
|
|
|
+%global pkgcommit 853b3f1fd9895db32b402d89e9dee153b66b2316
|
|
|
+
|
|
|
|
|
|
Summary: High-level, high-performance dynamic programming language for numerical computing
|
|
|
Name: %{pkg_name}
|
|
@@ -9,42 +21,37 @@ Release: %{pkg_release}
|
|
|
|
|
|
License: MIT, BSD and GPLv3
|
|
|
# julia, utf8proc, libwhich: MIT
|
|
|
-# libunwind, libuv, openblas, llvm: BSD
|
|
|
+# libunwind, libuv, llvm: BSD
|
|
|
# patchelf, mpfr: GPLv3
|
|
|
Group: Applications/Edutainment
|
|
|
URL: https://julialang.org/
|
|
|
|
|
|
Source0: https://github.com/JuliaLang/julia/releases/download/v%{version}/%{name}-%{version}.tar.gz
|
|
|
|
|
|
-Source11: libunwind-1.1-julia2.tar.gz
|
|
|
-Source12: libuv-2348256acf5759a544e5ca7935f638d2bc091d60.tar.gz
|
|
|
-Source13: patchelf-0.9.tar.gz
|
|
|
-Source14: utf8proc-97ef668b312b96382714dbb8eaac4affce0816e6.tar.gz
|
|
|
-Source15: llvm-6.0.1.src.tar.xz
|
|
|
-# Source16: openblas-fd8d1868a126bb9f12bbc43b36ee30d1ba943fbb.tar.gz
|
|
|
-Source17: libwhich-81e9723c0273d78493dc8c8ed570f68d9ce7e89e.tar.gz
|
|
|
-Source18: mpfr-4.0.1.tar.bz2
|
|
|
-
|
|
|
-
|
|
|
-# # Patches from Fedora srpm
|
|
|
-# Patch0: julia_unwind_version.patch
|
|
|
+Source11: libunwind-%{unwindversion}.tar.gz
|
|
|
+Source12: libuv-%{uvcommit}.tar.gz
|
|
|
+Source13: patchelf-%{patchelfversion}.tar.gz
|
|
|
+Source14: utf8proc-%{utf8proccommit}.tar.gz
|
|
|
+Source15: llvm-%{llvmversion}.src.tar.xz
|
|
|
+Source16: libwhich-%{libwhichcommit}.tar.gz
|
|
|
+Source17: mpfr-%{mpfrversion}.tar.bz2
|
|
|
+Source18: cacert-%{cacertversion}.pem
|
|
|
|
|
|
-# # https://github.com/JuliaLang/julia/pull/22603
|
|
|
-# # Remove ieee754_rem_pio2 in favor of a rem_pio2_kernel written in Julia.
|
|
|
-# Patch1: julia-0.6.3-issue22603.patch
|
|
|
+Source31: https://api.github.com/repos/JuliaLang/Pkg.jl/tarball/%{pkgcommit}#/Pkg-%{pkgcommit}.tar.gz
|
|
|
|
|
|
-# # # not make debug
|
|
|
+# not make debug
|
|
|
Patch11: julia-Makefile_release.patch
|
|
|
|
|
|
# ## Patches for make test
|
|
|
# # Avoid test error
|
|
|
-# Patch21: julia-0.6.3-skip_libgit2_test.patch
|
|
|
-Patch21: julia-skip-LibGit2-libgit2.patch
|
|
|
+# Patch21: julia-skip-LibGit2-libgit2.patch
|
|
|
+
|
|
|
+# Patch from Fedora
|
|
|
+Patch31: llvm-julia-installdirs-64.patch
|
|
|
+
|
|
|
+# march=pentium4 in i686
|
|
|
+Patch32: julia-i686-march.patch
|
|
|
|
|
|
-# # https://github.com/JuliaLang/julia/pull/23124
|
|
|
-# # Bump tolerance a bit in stressful test of eigs on matrix
|
|
|
-# # with many repeated eigenvalues.
|
|
|
-# Patch22: julia-0.6.3-issue23124.patch
|
|
|
|
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-root
|
|
|
|
|
@@ -60,8 +67,8 @@ BuildRequires: openlibm-devel
|
|
|
BuildRequires: suitesparse-devel
|
|
|
BuildRequires: dSFMT-devel
|
|
|
BuildRequires: pcre2-devel
|
|
|
-BuildRequires: curl-devel
|
|
|
BuildRequires: libssh2-devel
|
|
|
+BuildRequires: curl-devel
|
|
|
BuildRequires: libgit2-devel
|
|
|
BuildRequires: mbedtls-devel
|
|
|
BuildRequires: libatomic
|
|
@@ -75,8 +82,9 @@ Requires: openlibm
|
|
|
Requires: suitesparse
|
|
|
Requires: dSFMT
|
|
|
Requires: pcre2
|
|
|
-Requires: libssh2 mbedtls
|
|
|
+Requires: libssh2
|
|
|
Requires: libgit2
|
|
|
+Requires: mbedtls
|
|
|
Requires: libatomic
|
|
|
|
|
|
|
|
@@ -110,18 +118,19 @@ highlights or read the introduction in the online manual.
|
|
|
%{__rm} -rf ${RPM_BUILD_ROOT}
|
|
|
%setup -q
|
|
|
|
|
|
-# %patch0 -p1 -b .unwind
|
|
|
-# %patch1 -p1 -b.ieee754_rem_pio2
|
|
|
-
|
|
|
%patch11 -b .release
|
|
|
-%patch21 -b .skip_test
|
|
|
-# %patch22 -p1 -b .tolerance
|
|
|
+# %patch21 -b .skip_test
|
|
|
+
|
|
|
+%ifarch x86_64
|
|
|
+%patch31 -p1 -b .installdir64
|
|
|
+%endif
|
|
|
+
|
|
|
+%ifarch %{ix86}
|
|
|
+%patch32 -b .march
|
|
|
+%endif
|
|
|
|
|
|
-cat > Make.user <<EOF
|
|
|
-# Link to the LLVM shared library
|
|
|
-USE_LLVM_SHLIB=0
|
|
|
|
|
|
-# Link to the LLVM shared library
|
|
|
+cat > Make.user <<EOF
|
|
|
USE_SYSTEM_LLVM=0
|
|
|
USE_SYSTEM_LIBUNWIND=0
|
|
|
USE_SYSTEM_LIBUV=0
|
|
@@ -144,12 +153,14 @@ USE_SYSTEM_LIBGIT2=1
|
|
|
USE_SYSTEM_MBEDTLS=1
|
|
|
EOF
|
|
|
|
|
|
-%{__mkdir_p} deps/srccache
|
|
|
+%{__mkdir_p} deps/srccache stdlib/srccache
|
|
|
%{__cp} \
|
|
|
%{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14} %{SOURCE15} \
|
|
|
- %{SOURCE17} %{SOURCE18} \
|
|
|
+ %{SOURCE16} %{SOURCE17} %{SOURCE18} \
|
|
|
deps/srccache
|
|
|
|
|
|
+%{__cp} %{SOURCE31} stdlib/srccache
|
|
|
+
|
|
|
# Required so that the image is not optimized for the build CPU
|
|
|
# (i386 does not work yet: https://github.com/JuliaLang/julia/issues/7185)
|
|
|
# Without specifying MARCH, the Julia system image would only work on native CPU
|
|
@@ -165,13 +176,13 @@ EOF
|
|
|
%global blas USE_BLAS64=0 LIBBLAS=-lopenblasp LIBBLASNAME=libopenblasp LIBLAPACK=-lopenblasp LIBLAPACKNAME=libopenblasp
|
|
|
%endif
|
|
|
%ifarch x86_64
|
|
|
-%global blas USE_BLAS64=1 LIBBLAS=-lopenblasp64_ LIBBLASNAME=libopenblasp64_ LIBLAPACK=-lopenblasp64_ LIBLAPACKNAME=libopenblasp64_
|
|
|
+%global blas USE_BLAS64=1 LIBBLAS=-lopenblasp64_ LIBBLASNAME=libopenblasp64_ LIBLAPACK=-lopenblasp64_ LIBLAPACKNAME=libopenblasp64_ OPENBLAS_SYMBOLSUFFIX=64_
|
|
|
%endif
|
|
|
|
|
|
# About build, build_libdir and build_bindir
|
|
|
# see https://github.com/JuliaLang/julia/issues/5063#issuecomment-32628111
|
|
|
%global julia_builddir %{_builddir}/%{name}-%{version}/build
|
|
|
-%global installopts prefix=%{_prefix} bindir=%{_bindir} libdir=%{_libdir} libexecdir=%{_libexecdir} datarootdir=%{_datarootdir} includedir=%{_includedir} sysconfdir=%{_sysconfdir} build_prefix=%{julia_builddir} build_bindir=%{julia_builddir}%{_bindir} build_libdir=%{julia_builddir}%{_libdir} build_private_libdir=%{julia_builddir}%{_libdir}/julia build_libexecdir=%{julia_builddir}%{_libexecdir} build_datarootdir=%{julia_builddir}%{_datarootdir} build_includedir=%{julia_builddir}%{_includedir} build_sysconfdir=%{julia_builddir}%{_sysconfdir}
|
|
|
+%global installopts prefix=%{_prefix} bindir=%{_bindir} libdir=%{_libdir} libexecdir=%{_libexecdir} datarootdir=%{_datarootdir} includedir=%{_includedir} sysconfdir=%{_sysconfdir} build_prefix=%{julia_builddir}%{_prefix} build_bindir=%{julia_builddir}%{_bindir} build_libdir=%{julia_builddir}%{_libdir} build_private_libdir=%{julia_builddir}%{_libdir}/julia build_libexecdir=%{julia_builddir}%{_libexecdir} build_datarootdir=%{julia_builddir}%{_datarootdir} build_includedir=%{julia_builddir}%{_includedir} build_sysconfdir=%{julia_builddir}%{_sysconfdir}
|
|
|
|
|
|
%global commonopts MARCH=%{march} %{blas} %{installopts}
|
|
|
|
|
@@ -234,6 +245,14 @@ fi
|
|
|
|
|
|
|
|
|
%changelog
|
|
|
+* Wed Mar 27 2019 Toshiaki Ara <ara_t@384.jp> 1.1.0-2
|
|
|
+- build llvm shared library
|
|
|
+- add Patch31 for x86_64
|
|
|
+- add Patch32 for i686
|
|
|
+- add SOURCE18 (cacert-*.pem)
|
|
|
+- add SOURCE31 (Pkg library)
|
|
|
+- drop Patch21
|
|
|
+
|
|
|
* Mon Jan 28 2019 Toshiaki Ara <ara_t@384.jp> 1.1.0-1
|
|
|
- update to 1.1.0
|
|
|
- change using system openblas
|