diff --git a/.gitignore b/.gitignore index b404838..0d377a3 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,4 @@ /Rmath-julia-0.1.tar.gz /julia-0.4.0-rc1_e5c6964a49.tar.gz /julia-0.4.0.tar.gz +/julia-0.4.1.tar.gz diff --git a/julia.spec b/julia.spec index a8cdf3f..dc0b7bb 100644 --- a/julia.spec +++ b/julia.spec @@ -8,8 +8,8 @@ %global llvmversion 33 Name: julia -Version: 0.4.0 -Release: 2%{?dist} +Version: 0.4.1 +Release: 1%{?dist} Summary: High-level, high-performance dynamic language for technical computing Group: Development/Languages # Julia itself is MIT, with a few LGPLv2+ and GPLv2+ files @@ -26,10 +26,8 @@ Provides: bundled(libuv) = %{uvversion} Provides: bundled(Rmath) = %{Rmathversion} BuildRequires: arpack-devel BuildRequires: desktop-file-utils -BuildRequires: double-conversion-devel >= 1.1.1 BuildRequires: dSFMT-devel BuildRequires: fftw-devel >= 3.3.2 -BuildRequires: gcc-gfortran # Needed to test package management until the switch to libgit2 BuildRequires: git BuildRequires: gmp-devel >= 5.0 @@ -136,26 +134,26 @@ popd # (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 %ifarch %{ix86} -%global march MARCH=pentium4 +%global march pentium4 %endif %ifarch x86_64 -%global march MARCH=x86-64 +%global march x86-64 %endif %ifarch %{arm} # gcc and LLVM do not support the same targets -%global march MARCH=$(echo %optflags | grep -Po 'march=\\K[^ ]*') JULIA_CPU_TARGET=generic +%global march $(echo %optflags | grep -Po 'march=\\K[^ ]*') %endif %ifarch armv7hl -%global march MARCH=$(echo %optflags | grep -Po 'march=\\K[^ ]*') JULIA_CPU_TARGET=cortex-a8 +%global march $(echo %optflags | grep -Po 'march=\\K[^ ]*') %endif %ifarch aarch64 -%global march MARCH=armv8-a JULIA_CPU_TARGET=generic +%global march armv8-a %endif %ifarch %{ix86} x86_64 -%global archspecific USE_SYSTEM_LIBM=0 USE_SYSTEM_OPENLIBM=1 LIBBLAS=-lopenblasp LIBBLASNAME=libopenblasp.so.0 LIBLAPACK=-lopenblasp LIBLAPACKNAME=libopenblasp.so.0 %{?march} +%global archspecific USE_SYSTEM_LIBM=0 USE_SYSTEM_OPENLIBM=1 LIBBLAS=-lopenblasp LIBBLASNAME=libopenblasp.so.0 LIBLAPACK=-lopenblasp LIBLAPACKNAME=libopenblasp.so.0 MARCH=%{march} %else -%global archspecific USE_SYSTEM_LIBM=1 LIBBLAS=-lblas LIBBLASNAME=liblblas.so.3 LIBLAPACK=-llapack LIBLAPACKNAME=liblapack.so.3 %{?march} +%global archspecific USE_SYSTEM_LIBM=1 LIBBLAS=-lblas LIBBLASNAME=libblas.so.3 LIBLAPACK=-llapack LIBLAPACKNAME=liblapack.so.3 MARCH=%{march} %endif # USE_BLAS64=0 means that BLAS was built with 32-bit integers, even if the library is 64 bits @@ -164,11 +162,13 @@ popd %global commonopts USE_SYSTEM_LLVM=1 USE_LLVM_SHLIB=1 LLVM_CONFIG=llvm-config-%{__isa_bits}-%{llvm_version} USE_SYSTEM_LIBUNWIND=1 USE_SYSTEM_READLINE=1 USE_SYSTEM_PCRE=1 USE_SYSTEM_OPENSPECFUN=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_ZLIB=1 USE_SYSTEM_GRISU=1 USE_SYSTEM_DSFMT=1 USE_SYSTEM_LIBUV=0 USE_SYSTEM_RMATH=0 USE_SYSTEM_UTF8PROC=1 USE_SYSTEM_LIBGIT2=1 USE_SYSTEM_PATCHELF=1 VERBOSE=1 USE_BLAS64=0 %{archspecific} 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} JULIA_CPU_CORES=$(echo %{?_smp_mflags} | sed s/-j//) %build -make %{?_smp_mflags} CFLAGS="%{optflags}" CXXFLAGS="%{optflags}" FFLAGS="%{optflags}" %commonopts release +%global buildflags CFLAGS="%{optflags} -march=%{march}" CXXFLAGS="%{optflags} -march=%{march}" + +make %{?_smp_mflags} %{buildflags} %commonopts release # If debug is not built here, it is built during make install # And both targets cannot be on the same call currently: # https://github.com/JuliaLang/julia/issues/10088 -make %{?_smp_mflags} CFLAGS="%{optflags}" CXXFLAGS="%{optflags}" FFLAGS="%{optflags}" %commonopts debug +make %{?_smp_mflags} %{buildflags} %commonopts debug %check make %{commonopts} -C test @@ -286,6 +286,11 @@ exit 0 /usr/bin/gtk-update-icon-cache %{_datarootdir}/icons/hicolor &>/dev/null || : %changelog +* Mon Nov 9 2015 Milan Bouchet-Valat - 0.4.1-1 +- New upstream release. +- Pass explicitly -march to override default -march=i686 with pentium4. +- Get rid of useless build dependencies. + * Fri Oct 9 2015 Milan Bouchet-Valat - 0.4.0-2 - Use LLVM 3.3 to fix bugs and improve compilation performance. - Run all the tests now that they pass. diff --git a/sources b/sources index e3a539c..3b55e32 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ 429c128e55147c8b43d6555fe406869b libuv-28f5f06b5ff6f010d666ec26552e0badaca5cdcd.tar.gz 4e3f9e41e7b8cd3070225d1f5e8b21d9 Rmath-julia-0.1.tar.gz -af4e9427785784ba44254f20e0eddf87 julia-0.4.0.tar.gz +53340df4b8767a6d3304ef8fc0eb7c4d julia-0.4.1.tar.gz