diff --git a/octave.spec b/octave.spec index 35ae370..50c2d52 100644 --- a/octave.spec +++ b/octave.spec @@ -12,6 +12,9 @@ %bcond_with qt5 %endif +# Compile with ILP64 BLAS - not yet working +%bcond_with blas64 + # For rc versions, change release manually #global rcver 2 %if 0%{?rcver:1} @@ -19,10 +22,13 @@ %global relsuf .rc%{?rcver} %endif +%global optflags %{optflags} -flto=auto +%global build_ldflags %{build_ldflags} -flto + Name: octave Epoch: 6 Version: 5.1.0 -Release: 2%{?rcver:.rc%{rcver}}%{?dist} +Release: 4%{?rcver:.rc%{rcver}}%{?dist} Summary: A high-level language for numerical computations License: GPLv3+ URL: http://www.octave.org @@ -114,7 +120,11 @@ BuildRequires: qt5-qttools-devel BuildRequires: qscintilla-devel %endif BuildRequires: readline-devel +%if %{with blas64} +BuildRequires: suitesparse64-devel +%else BuildRequires: suitesparse-devel +%endif BuildRequires: sundials-devel BuildRequires: tex(dvips) BuildRequires: texinfo @@ -204,6 +214,9 @@ This package contains documentation for Octave. %prep %setup -q -n %{name}-%{version}%{?rctag} %patch2 -p1 -b .eof +%if %{with blas64} +sed -i -e 's/OCTAVE_CHECK_LIB(suitesparseconfig,/OCTAVE_CHECK_LIB(suitesparseconfig64,/' configure.ac +%endif # EPEL7's autoconf/automake is too old so don't do # unneeded patches there %if 0%{?fedora} @@ -213,7 +226,9 @@ autoreconf -i %build -%global enable64 no +export AR=%{_bindir}/gcc-ar +export RANLIB=%{_bindir}/gcc-ranlib +export NM=%{_bindir}/gcc-nm export F77=gfortran # TODO: some items appear to be bundled in libcruft.. # gl2ps.c is bundled. Anything else? @@ -230,10 +245,13 @@ export CPPFLAGS=-I%{_includedir}/suitesparse # Disable _GLIBCXX_ASSERTIONS for now # https://savannah.gnu.org/bugs/?55547 export CXXFLAGS="$(echo %optflags | sed s/-Wp,-D_GLIBCXX_ASSERTIONS//)" -%configure --enable-shared --disable-static --enable-64=%enable64 \ +%configure --enable-shared --disable-static \ --enable-float-truncate \ %{?disabledocs} \ --disable-silent-rules \ +%if %{with blas64} + --with-blas=openblas64 \ +%endif --with-java-includedir=/usr/lib/jvm/java/include \ --with-java-libdir=$libjvm \ --with-qrupdate \ @@ -412,6 +430,15 @@ make check %{?el7:|| :}%{?el8:|| :} %{_pkgdocdir}/refcard*.pdf %changelog +* Sat Nov 2 2019 Orion Poplawski - 6:5.1.0-4 +- Enable 64-bit array indexes + +* Sat Nov 2 2019 Orion Poplawski - 6:5.1.0-3 +- Enable LTO optimisations + +* Mon Oct 14 2019 Orion Poplawski - 6:5.1.0-2.1 +- Rebuild for suitesparse 5.4.0 + * Wed Jul 31 2019 Orion Poplawski - 6:5.1.0-2 - Drop use of %%buildarch in macros.octave (bugz#1733898)