491fcf
%bcond_with system_lapack
491fcf
# Version of bundled lapack
129f89
%global lapackver 3.9.1
491fcf
b4496a
# Use strip from gcc-toolset-12
b4496a
%global __strip "scl enable gcc-toolset-12 -- strip"
9b3d59
491fcf
# DO NOT "CLEAN UP" OR MODIFY THIS SPEC FILE WITHOUT ASKING THE
491fcf
# MAINTAINER FIRST!
491fcf
#
491fcf
# OpenBLAS is hand written assembler code and it has a limited number
491fcf
# of supported architectures. Don't enable any new architectures /
491fcf
# processors a) without checking that it is actually supported and b)
491fcf
# without modifying the target flags.
491fcf
#
491fcf
# The same spec is also used on the EPEL branches, meaninng that some
491fcf
# "obsoleted" features are still kept in the spec.
491fcf
491fcf
Name:           openblas
129f89
Version:        0.3.15
b4496a
Release:        6%{?dist}
491fcf
Summary:        An optimized BLAS library based on GotoBLAS2
491fcf
Group:          Development/Libraries
491fcf
License:        BSD
491fcf
URL:            https://github.com/xianyi/OpenBLAS/
491fcf
Source0:        https://github.com/xianyi/OpenBLAS/archive/v%{version}.tar.gz
491fcf
# Use system lapack
129f89
Patch0:         openblas-0.3.15-system-lapack.patch
491fcf
# Drop extra p from threaded library name
129f89
Patch1:         openblas-0.3.15-libname.patch
491fcf
# Supply the proper flags to the test makefile
129f89
Patch2:         openblas-0.3.15-tests.patch
491fcf
# Enable optimizations for all LAPACK sources
129f89
Patch3:         openblas-0.3.15-noopt.patch
491fcf
# Pass ASMFLAGS to assembler compiler
129f89
Patch4:         openblas-0.3.15-asmflags.patch
491fcf
# Remove optimization pragmas on ppc64le
129f89
Patch5:         openblas-0.3.15-power-optimize.patch
491fcf
fa5ffb
Patch6:         openblas-CVE-2021-4048.patch
fa5ffb
129f89
BuildRequires:  scl-utils
b4496a
BuildRequires:  gcc-toolset-12-gcc
b4496a
BuildRequires:  gcc-toolset-12-gcc-gfortran
b4496a
BuildRequires:  gcc-toolset-12-annobin-plugin-gcc
491fcf
BuildRequires:  perl-devel
491fcf
BuildRequires:  multilib-rpm-config
491fcf
491fcf
# Do we have execstack?
491fcf
%if 0%{?rhel} == 7
491fcf
%ifarch ppc64le aarch64
491fcf
%global execstack 0
491fcf
%else
491fcf
%global execstack 1
491fcf
%endif
491fcf
%else
491fcf
%global execstack 1
491fcf
%endif
491fcf
%if %{execstack}
491fcf
BuildRequires:  /usr/bin/execstack
491fcf
%endif
491fcf
491fcf
# LAPACK
491fcf
%if %{with system_lapack}
491fcf
%if 0%{?rhel} == 5 || 0%{?rhel} == 6
491fcf
BuildRequires:  lapack-devel
491fcf
%else
491fcf
BuildRequires:  lapack-static
491fcf
%endif
491fcf
# Do we have LAPACKE? (Needs at least lapack 3.4.0)
491fcf
%if 0%{?fedora}
491fcf
%global lapacke 1
491fcf
%else
491fcf
%global lapacke 0
491fcf
%endif
491fcf
491fcf
%else
491fcf
# Use bundled LAPACK
491fcf
%global lapacke 1
491fcf
Provides:       bundled(lapack) = %{lapackver}
491fcf
%endif
491fcf
491fcf
# Build 64-bit interface binaries?
491fcf
%if 0%{?__isa_bits} == 64
491fcf
%global build64 1
491fcf
%else
491fcf
%global build64 0
491fcf
%endif
491fcf
491fcf
%if %{with system_lapack}
491fcf
%if %build64
491fcf
BuildRequires:  lapack64-static
491fcf
%endif
491fcf
%endif
491fcf
491fcf
# Upstream supports the package only on these architectures.
491fcf
# Runtime processor detection is not available on other archs.
491fcf
ExclusiveArch:  %{openblas_arches}
491fcf
491fcf
%global base_description \
491fcf
OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD \
491fcf
version. The project is supported by the Lab of Parallel Software and \
491fcf
Computational Science, ISCAS. http://www.rdcps.ac.cn
491fcf
491fcf
491fcf
%description
491fcf
%{base_description}
491fcf
491fcf
%package Rblas
491fcf
Summary:	A version of OpenBLAS for R to use as libRblas
491fcf
Group:		Development/Libraries
491fcf
491fcf
%description Rblas
491fcf
%{base_description}
491fcf
491fcf
%package openmp
491fcf
Summary:        An optimized BLAS library based on GotoBLAS2, OpenMP version
491fcf
Group:          Development/Libraries
491fcf
491fcf
%description openmp
491fcf
%{base_description}
491fcf
491fcf
This package contains the library compiled with OpenMP support.
491fcf
491fcf
%package threads
491fcf
Summary:        An optimized BLAS library based on GotoBLAS2, pthreads version
491fcf
Group:          Development/Libraries
491fcf
491fcf
%description threads
491fcf
%{base_description}
491fcf
491fcf
This package contains the library compiled with threading support.
491fcf
491fcf
%if %build64
491fcf
%package serial64
491fcf
Summary:        An optimized BLAS library based on GotoBLAS2, serial version
491fcf
Group:          Development/Libraries
491fcf
491fcf
%description serial64
491fcf
%{base_description}
491fcf
491fcf
This package contains the sequential library compiled with a 64-bit
491fcf
interface.
491fcf
491fcf
%package openmp64
491fcf
Summary:        An optimized BLAS library based on GotoBLAS2, OpenMP version
491fcf
Group:          Development/Libraries
491fcf
491fcf
%description openmp64
491fcf
%{base_description}
491fcf
491fcf
This package contains the library compiled with OpenMP support and
491fcf
64-bit interface.
491fcf
491fcf
%package threads64
491fcf
Summary:        An optimized BLAS library based on GotoBLAS2, pthreads version
491fcf
Group:          Development/Libraries
491fcf
491fcf
%description threads64
491fcf
%{base_description}
491fcf
491fcf
This package contains the library compiled with threading support and
491fcf
64-bit interface.
491fcf
491fcf
%package serial64_
491fcf
Summary:        An optimized BLAS library based on GotoBLAS2, serial version
491fcf
Group:          Development/Libraries
491fcf
491fcf
%description serial64_
491fcf
%{base_description}
491fcf
491fcf
This package contains the sequential library compiled with a 64-bit
491fcf
interface and a symbol name suffix.
491fcf
491fcf
%package openmp64_
491fcf
Summary:        An optimized BLAS library based on GotoBLAS2, OpenMP version
491fcf
Group:          Development/Libraries
491fcf
491fcf
%description openmp64_
491fcf
%{base_description}
491fcf
491fcf
This package contains the library compiled with OpenMP support and
491fcf
64-bit interface and a symbol name suffix.
491fcf
491fcf
%package threads64_
491fcf
Summary:        An optimized BLAS library based on GotoBLAS2, pthreads version
491fcf
Group:          Development/Libraries
491fcf
491fcf
%description threads64_
491fcf
%{base_description}
491fcf
491fcf
This package contains the library compiled with threading support and
491fcf
64-bit interface and a symbol name suffix.
491fcf
%endif
491fcf
491fcf
491fcf
%package devel
491fcf
Summary:        Development headers and libraries for OpenBLAS
491fcf
Group:          Development/Libraries
491fcf
Requires:       %{name}%{?_isa} = %{version}-%{release}
491fcf
Requires:       %{name}-openmp%{?_isa} = %{version}-%{release}
491fcf
Requires:       %{name}-threads%{?_isa} = %{version}-%{release}
491fcf
%if %build64
491fcf
Requires:       %{name}-openmp64%{?_isa} = %{version}-%{release}
491fcf
Requires:       %{name}-threads64%{?_isa} = %{version}-%{release}
491fcf
Requires:       %{name}-serial64%{?_isa} = %{version}-%{release}
491fcf
Requires:       %{name}-openmp64_%{?_isa} = %{version}-%{release}
491fcf
Requires:       %{name}-threads64_%{?_isa} = %{version}-%{release}
491fcf
Requires:       %{name}-serial64_%{?_isa} = %{version}-%{release}
491fcf
%endif
491fcf
Requires:       %{name}-srpm-macros
491fcf
491fcf
%description devel
491fcf
%{base_description}
491fcf
491fcf
This package contains the development headers and libraries.
491fcf
491fcf
%package static
491fcf
Summary:        Static version of OpenBLAS
491fcf
Group:          Development/Libraries
491fcf
Requires:       %{name}-devel%{?_isa} = %{version}-%{release}
491fcf
491fcf
%description static
491fcf
%{base_description}
491fcf
491fcf
This package contains the static libraries.
491fcf
491fcf
491fcf
%prep
491fcf
%setup -q -c -T
491fcf
491fcf
# Untar source
491fcf
tar zxf %{SOURCE0}
491fcf
cd OpenBLAS-%{version}
491fcf
%if %{with system_lapack}
170ebb
%patch0 -p1 -b .system-lapack
491fcf
%endif
491fcf
%patch1 -p1 -b .libname
170ebb
%patch2 -p1 -b .tests
170ebb
%patch3 -p1 -b .noopt
170ebb
%patch4 -p1 -b .asmflags
170ebb
%patch5 -p1 -b .power-optimize
fa5ffb
%patch6 -p1 -b .cve-2021-4048
491fcf
491fcf
# Fix source permissions
491fcf
find -name \*.f -exec chmod 644 {} \;
491fcf
491fcf
%if %{with system_lapack}
491fcf
# Get rid of bundled LAPACK sources
491fcf
rm -rf lapack-netlib
491fcf
%endif
491fcf
491fcf
# Make serial, threaded and OpenMP versions; as well as 64-bit versions
491fcf
# Also make an libRblas.so
491fcf
cd ..
491fcf
cp -ar OpenBLAS-%{version} openmp
491fcf
cp -ar OpenBLAS-%{version} threaded
491fcf
%if %build64
491fcf
for d in {serial,threaded,openmp}64{,_}; do
491fcf
    cp -ar OpenBLAS-%{version} $d
491fcf
done
491fcf
%endif
491fcf
cp -ar OpenBLAS-%{version} Rblas
491fcf
mv OpenBLAS-%{version} serial
491fcf
491fcf
# Hackup Rblas Makefiles
491fcf
sed -i 's|.so.$(MAJOR_VERSION)|.so|g' Rblas/Makefile
491fcf
sed -i 's|.so.$(MAJOR_VERSION)|.so|g' Rblas/exports/Makefile
491fcf
sed -i 's|@ln -fs $(LIBSONAME) $(LIBPREFIX).so|#@ln -fs $(LIBSONAME) $(LIBPREFIX).so|g' Rblas/Makefile
491fcf
491fcf
%if %{with system_lapack}
491fcf
# Setup 32-bit interface LAPACK
491fcf
mkdir netliblapack
491fcf
cd netliblapack
491fcf
ar x %{_libdir}/liblapack_pic.a
491fcf
# Get rid of duplicate functions. See list in Makefile of lapack directory
491fcf
for f in laswp getf2 getrf potf2 potrf lauu2 lauum trti2 trtri getrs; do
491fcf
    \rm {c,d,s,z}$f.o
491fcf
done
491fcf
491fcf
# LAPACKE
491fcf
%if %{lapacke}
491fcf
ar x %{_libdir}/liblapacke.a
491fcf
%endif
491fcf
491fcf
# Create makefile
491fcf
echo "TOPDIR = .." > Makefile
491fcf
echo "include ../Makefile.system" >> Makefile
491fcf
echo "COMMONOBJS = \\" >> Makefile
491fcf
for i in *.o; do
491fcf
 echo "$i \\" >> Makefile
491fcf
done
491fcf
echo -e "\n\ninclude \$(TOPDIR)/Makefile.tail" >> Makefile
491fcf
491fcf
%if %{lapacke}
491fcf
# Copy include files
491fcf
cp -a %{_includedir}/lapacke .
491fcf
%endif
491fcf
cd ..
491fcf
491fcf
# Copy in place
491fcf
for d in serial threaded openmp; do
491fcf
    cp -pr netliblapack $d
491fcf
done
491fcf
rm -rf netliblapack
491fcf
491fcf
491fcf
# Setup 64-bit interface LAPACK
491fcf
%if %build64
491fcf
mkdir netliblapack64
491fcf
cd netliblapack64
491fcf
ar x %{_libdir}/liblapack64_pic.a
491fcf
# Get rid of duplicate functions. See list in Makefile of lapack directory
491fcf
for f in laswp getf2 getrf potf2 potrf lauu2 lauum trti2 trtri getrs; do
491fcf
    \rm {c,d,s,z}$f.o
491fcf
done
491fcf
491fcf
# LAPACKE, no 64-bit interface
491fcf
%if %{lapacke}
491fcf
ar x %{_libdir}/liblapacke.a
491fcf
%endif
491fcf
491fcf
# Create makefile
491fcf
echo "TOPDIR = .." > Makefile
491fcf
echo "include ../Makefile.system" >> Makefile
491fcf
echo "COMMONOBJS = \\" >> Makefile
491fcf
for i in *.o; do
491fcf
    echo "$i \\" >> Makefile
491fcf
done
491fcf
echo -e "\n\ninclude \$(TOPDIR)/Makefile.tail" >> Makefile
491fcf
491fcf
%if %{lapacke}
491fcf
# Copy include files
491fcf
cp -a %{_includedir}/lapacke .
491fcf
%endif
491fcf
cd ..
491fcf
491fcf
# Copy in place
491fcf
for d in {serial,threaded,openmp}64{,_}; do
491fcf
    cp -pr netliblapack64 $d/netliblapack
491fcf
done
491fcf
rm -rf netliblapack64
491fcf
%endif
491fcf
%endif
491fcf
491fcf
%build
b4496a
# Enable gcc-toolset-12
b4496a
source scl_source enable gcc-toolset-12
129f89
491fcf
%if !%{lapacke}
491fcf
LAPACKE="NO_LAPACKE=1"
491fcf
%endif
491fcf
491fcf
# Maximum possible amount of processors
491fcf
NMAX="NUM_THREADS=128"
491fcf
491fcf
%ifarch %{ix86} x86_64
9b3d59
TARGET="TARGET=CORE2 DYNAMIC_ARCH=1 DYNAMIC_OLDER=1"
491fcf
491fcf
# Compability for old versions of GCC
491fcf
%if 0%{?rhel} == 5
491fcf
export AVX="NO_AVX=1 NO_AVX2=1"
491fcf
%endif
491fcf
%if 0%{?rhel} == 6
491fcf
export AVX="NO_AVX2=1"
491fcf
%endif
491fcf
491fcf
%endif
491fcf
%ifarch armv7hl
9b3d59
# ARM v7 still doesn't have runtime cpu detection...
491fcf
TARGET="TARGET=ARMV7 DYNAMIC_ARCH=0"
491fcf
%endif
491fcf
%ifarch ppc64
9b3d59
TARGET="TARGET=POWER6 DYNAMIC_ARCH=1 DYNAMIC_OLDER=1"
491fcf
%endif
491fcf
%ifarch ppc64p7
9b3d59
TARGET="TARGET=POWER7 DYNAMIC_ARCH=1 DYNAMIC_OLDER=1"
491fcf
%endif
491fcf
%ifarch ppc64le
9b3d59
TARGET="TARGET=POWER8 DYNAMIC_ARCH=1 DYNAMIC_OLDER=1"
491fcf
%endif
491fcf
%ifarch aarch64
b4496a
TARGET="TARGET=ARMV8 DYNAMIC_ARCH=0"
491fcf
%endif
d6c2f4
%ifarch s390x
9b3d59
TARGET="TARGET=ZARCH_GENERIC DYNAMIC_ARCH=1 DYNAMIC_OLDER=1"
d6c2f4
%endif
491fcf
491fcf
%if 0%{?rhel} == 5
491fcf
# Gfortran too old to recognize -frecursive
491fcf
COMMON="%{optflags} -fPIC"
491fcf
FCOMMON="%{optflags} -fPIC -cpp"
491fcf
%else
491fcf
COMMON="%{optflags} -fPIC"
491fcf
FCOMMON="%{optflags} -fPIC -frecursive -cpp"
491fcf
%endif
491fcf
# Use Fedora linker flags
491fcf
export LDFLAGS="%{__global_ldflags}"
491fcf
491fcf
# ensure object files built from assembler sources are annotated
491fcf
export ASMFLAGS="-Wa,--generate-missing-build-notes=yes"
491fcf
491fcf
make -C Rblas      $TARGET USE_THREAD=0 USEOPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libRblas" LIBSONAME="libRblas.so" $AVX $LAPACKE INTERFACE64=0
491fcf
491fcf
# Declare some necessary build flags
491fcf
COMMON="%{optflags} -fPIC"
491fcf
FCOMMON="$COMMON -frecursive -cpp"
9b3d59
make -C serial     $TARGET USE_THREAD=0 USE_LOCKING=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblas"      $AVX $LAPACKE INTERFACE64=0
491fcf
make -C threaded   $TARGET USE_THREAD=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblasp"     $AVX $LAPACKE INTERFACE64=0
491fcf
491fcf
# USE_THREAD determines use of SMP, not of pthreads
491fcf
COMMON="%{optflags} -fPIC -fopenmp -pthread"
491fcf
FCOMMON="$COMMON -frecursive -cpp"
491fcf
make -C openmp     $TARGET USE_THREAD=1 USE_OPENMP=1 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblaso"     $AVX $LAPACKE INTERFACE64=0
491fcf
491fcf
%if %build64
491fcf
COMMON="%{optflags} -fPIC"
491fcf
FCOMMON="$COMMON -frecursive -fdefault-integer-8 -cpp"
9b3d59
make -C serial64   $TARGET USE_THREAD=0 USE_LOCKING=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblas64"    $AVX $LAPACKE INTERFACE64=1
491fcf
make -C threaded64 $TARGET USE_THREAD=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblasp64"   $AVX $LAPACKE INTERFACE64=1
491fcf
491fcf
COMMON="%{optflags} -fPIC -fopenmp -pthread"
491fcf
FCOMMON="$COMMON -frecursive -fdefault-integer-8 -cpp"
491fcf
make -C openmp64   $TARGET USE_THREAD=1 USE_OPENMP=1 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblaso64"   $AVX $LAPACKE INTERFACE64=1
491fcf
491fcf
COMMON="%{optflags} -fPIC"
491fcf
FCOMMON="$COMMON -frecursive  -fdefault-integer-8 -cpp"
9b3d59
make -C serial64_   $TARGET USE_THREAD=0 USE_LOCKING=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblas64_"  $AVX $LAPACKE INTERFACE64=1 SYMBOLSUFFIX=64_
491fcf
make -C threaded64_ $TARGET USE_THREAD=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblasp64_" $AVX $LAPACKE INTERFACE64=1 SYMBOLSUFFIX=64_
491fcf
491fcf
COMMON="%{optflags} -fPIC -fopenmp -pthread"
491fcf
FCOMMON="$COMMON -frecursive -fdefault-integer-8 -cpp"
491fcf
make -C openmp64_   $TARGET USE_THREAD=1 USE_OPENMP=1 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblaso64_" $AVX $LAPACKE INTERFACE64=1 SYMBOLSUFFIX=64_
491fcf
%endif
491fcf
491fcf
%install
b4496a
# Enable gcc-toolset-12
b4496a
source scl_source enable gcc-toolset-12
0de2d8
491fcf
rm -rf %{buildroot}
491fcf
# Install serial library and headers
b4496a
make -C serial USE_THREAD=0 DESTDIR=%{buildroot} OPENBLAS_LIBRARY_DIR=%{_libdir} OPENBLAS_INCLUDE_DIR=%{_includedir}/%name OPENBLAS_BINARY_DIR=%{_bindir} OPENBLAS_CMAKE_DIR=%{_libdir}/cmake install
491fcf
491fcf
# Copy lapacke include files
491fcf
%if %{with system_lapack} && %{lapacke}
491fcf
cp -a %{_includedir}/lapacke %{buildroot}%{_includedir}/%{name}
491fcf
%endif
491fcf
491fcf
# Fix i686-x86_64 multilib difference
491fcf
%multilib_fix_c_header --file %{_includedir}/openblas/openblas_config.h
491fcf
9b3d59
# Fix name of libraries: runtime CPU detection has none
9b3d59
suffix=""
9b3d59
# but archs that don't have it do have one
491fcf
%ifarch armv7hl
491fcf
suffix="_armv7"
491fcf
%endif
b4496a
%ifarch aarch64
b4496a
suffix="_armv8"
b4496a
%endif
491fcf
slibname=`basename %{buildroot}%{_libdir}/libopenblas${suffix}-*.so .so`
491fcf
mv %{buildroot}%{_libdir}/${slibname}.a %{buildroot}%{_libdir}/lib%{name}.a
491fcf
if [[ "$suffix" != "" ]]; then
491fcf
   sname=$(echo $slibname | sed "s|$suffix||g")
491fcf
   mv %{buildroot}%{_libdir}/${slibname}.so %{buildroot}%{_libdir}/${sname}.so
491fcf
else
491fcf
   sname=${slibname}
491fcf
fi
491fcf
491fcf
# Install the Rblas library
491fcf
mkdir -p %{buildroot}%{_libdir}/R/lib/
491fcf
install -p -m 755 Rblas/libRblas.so %{buildroot}%{_libdir}/R/lib/
491fcf
491fcf
# Install the OpenMP library
491fcf
olibname=`echo ${slibname} | sed "s|lib%{name}|lib%{name}o|g"`
491fcf
install -D -p -m 644 openmp/${olibname}.a %{buildroot}%{_libdir}/lib%{name}o.a
491fcf
if [[ "$suffix" != "" ]]; then
491fcf
   oname=$(echo $olibname | sed "s|$suffix||g")
491fcf
else
491fcf
   oname=${olibname}
491fcf
fi
491fcf
install -D -p -m 755 openmp/${olibname}.so %{buildroot}%{_libdir}/${oname}.so
491fcf
491fcf
# Install the threaded library
491fcf
plibname=`echo ${slibname} | sed "s|lib%{name}|lib%{name}p|g"`
491fcf
install -D -p -m 644 threaded/${plibname}.a %{buildroot}%{_libdir}/lib%{name}p.a
491fcf
if [[ "$suffix" != "" ]]; then
491fcf
   pname=$(echo $plibname | sed "s|$suffix||g")
491fcf
else
491fcf
   pname=${plibname}
491fcf
fi
491fcf
install -D -p -m 755 threaded/${plibname}.so %{buildroot}%{_libdir}/${pname}.so
491fcf
491fcf
# Install the 64-bit interface libraries
491fcf
%if %build64
491fcf
slibname64=`echo ${slibname} | sed "s|lib%{name}|lib%{name}64|g"`
491fcf
install -D -p -m 644 serial64/${slibname64}.a %{buildroot}%{_libdir}/lib%{name}64.a
491fcf
slibname64_=`echo ${slibname} | sed "s|lib%{name}|lib%{name}64_|g"`
491fcf
install -D -p -m 644 serial64_/${slibname64_}.a %{buildroot}%{_libdir}/lib%{name}64_.a
491fcf
491fcf
if [[ "$suffix" != "" ]]; then
491fcf
   sname64=$(echo ${slibname64} | sed "s|$suffix||g")
491fcf
   sname64_=$(echo ${slibname64_} | sed "s|$suffix||g")
491fcf
else
491fcf
   sname64=${slibname64}
491fcf
   sname64_=${slibname64_}
491fcf
fi
491fcf
install -D -p -m 755 serial64/${slibname64}.so %{buildroot}%{_libdir}/${sname64}.so
491fcf
install -D -p -m 755 serial64_/${slibname64_}.so %{buildroot}%{_libdir}/${sname64_}.so
491fcf
491fcf
olibname64=`echo ${slibname} | sed "s|lib%{name}|lib%{name}o64|g"`
491fcf
install -D -p -m 644 openmp64/${olibname64}.a %{buildroot}%{_libdir}/lib%{name}o64.a
491fcf
olibname64_=`echo ${slibname} | sed "s|lib%{name}|lib%{name}o64_|g"`
491fcf
install -D -p -m 644 openmp64_/${olibname64_}.a %{buildroot}%{_libdir}/lib%{name}o64_.a
491fcf
491fcf
if [[ "$suffix" != "" ]]; then
491fcf
   oname64=$(echo ${olibname64} | sed "s|$suffix||g")
491fcf
   oname64_=$(echo ${olibname64_} | sed "s|$suffix||g")
491fcf
else
491fcf
   oname64=${olibname64}
491fcf
   oname64_=${olibname64_}
491fcf
fi
491fcf
install -D -p -m 755 openmp64/${olibname64}.so %{buildroot}%{_libdir}/${oname64}.so
491fcf
install -D -p -m 755 openmp64_/${olibname64_}.so %{buildroot}%{_libdir}/${oname64_}.so
491fcf
491fcf
plibname64=`echo ${slibname} | sed "s|lib%{name}|lib%{name}p64|g"`
491fcf
install -D -p -m 644 threaded64/${plibname64}.a %{buildroot}%{_libdir}/lib%{name}p64.a
491fcf
plibname64_=`echo ${slibname} | sed "s|lib%{name}|lib%{name}p64_|g"`
491fcf
install -D -p -m 644 threaded64_/${plibname64_}.a %{buildroot}%{_libdir}/lib%{name}p64_.a
491fcf
491fcf
if [[ "$suffix" != "" ]]; then
491fcf
   pname64=$(echo $plibname64 | sed "s|$suffix||g")
491fcf
   pname64_=$(echo $plibname64_ | sed "s|$suffix||g")
491fcf
else
491fcf
   pname64=${plibname64}
491fcf
   pname64_=${plibname64_}
491fcf
fi
491fcf
install -D -p -m 755 threaded64/${plibname64}.so %{buildroot}%{_libdir}/${pname64}.so
491fcf
install -D -p -m 755 threaded64_/${plibname64_}.so %{buildroot}%{_libdir}/${pname64_}.so
491fcf
%endif
491fcf
491fcf
# Fix symlinks
491fcf
pushd %{buildroot}%{_libdir}
491fcf
# Serial libraries
491fcf
ln -sf ${sname}.so lib%{name}.so
491fcf
ln -sf ${sname}.so lib%{name}.so.0
491fcf
# OpenMP libraries
491fcf
ln -sf ${oname}.so lib%{name}o.so
491fcf
ln -sf ${oname}.so lib%{name}o.so.0
491fcf
# Threaded libraries
491fcf
ln -sf ${pname}.so lib%{name}p.so
491fcf
ln -sf ${pname}.so lib%{name}p.so.0
491fcf
491fcf
%if %build64
491fcf
# Serial libraries
491fcf
ln -sf ${sname64}.so lib%{name}64.so
491fcf
ln -sf ${sname64}.so lib%{name}64.so.0
491fcf
ln -sf ${sname64_}.so lib%{name}64_.so
491fcf
ln -sf ${sname64_}.so lib%{name}64_.so.0
491fcf
# OpenMP libraries
491fcf
ln -sf ${oname64}.so lib%{name}o64.so
491fcf
ln -sf ${oname64}.so lib%{name}o64.so.0
491fcf
ln -sf ${oname64_}.so lib%{name}o64_.so
491fcf
ln -sf ${oname64_}.so lib%{name}o64_.so.0
491fcf
# Threaded libraries
491fcf
ln -sf ${pname64}.so lib%{name}p64.so
491fcf
ln -sf ${pname64}.so lib%{name}p64.so.0
491fcf
ln -sf ${pname64_}.so lib%{name}p64_.so
491fcf
ln -sf ${pname64_}.so lib%{name}p64_.so.0
491fcf
%endif
491fcf
491fcf
%if %{execstack}
491fcf
# Get rid of executable stacks
491fcf
for lib in %{buildroot}%{_libdir}/libopenblas*.so; do
491fcf
 execstack -c $lib
491fcf
done
491fcf
for lib in %{buildroot}%{_libdir}/R/lib/libRblas*.so; do
491fcf
 execstack -c $lib
491fcf
done
491fcf
%endif
491fcf
491fcf
# Get rid of generated CMake config
491fcf
rm -rf %{buildroot}%{_libdir}/cmake
491fcf
491fcf
%post -p /sbin/ldconfig
491fcf
%postun -p /sbin/ldconfig
491fcf
491fcf
%post openmp -p /sbin/ldconfig
491fcf
%postun openmp -p /sbin/ldconfig
491fcf
491fcf
%post Rblas -p /sbin/ldconfig
491fcf
%postun Rblas -p /sbin/ldconfig
491fcf
491fcf
%post threads -p /sbin/ldconfig
491fcf
%postun threads -p /sbin/ldconfig
491fcf
491fcf
%if %build64
491fcf
%post openmp64 -p /sbin/ldconfig
491fcf
%postun openmp64 -p /sbin/ldconfig
491fcf
%post openmp64_ -p /sbin/ldconfig
491fcf
%postun openmp64_ -p /sbin/ldconfig
491fcf
491fcf
%post serial64 -p /sbin/ldconfig
491fcf
%postun serial64 -p /sbin/ldconfig
491fcf
%post serial64_ -p /sbin/ldconfig
491fcf
%postun serial64_ -p /sbin/ldconfig
491fcf
491fcf
%post threads64 -p /sbin/ldconfig
491fcf
%postun threads64 -p /sbin/ldconfig
491fcf
%post threads64_ -p /sbin/ldconfig
491fcf
%postun threads64_ -p /sbin/ldconfig
491fcf
%endif
491fcf
491fcf
%files
491fcf
%doc serial/Changelog.txt serial/GotoBLAS* serial/LICENSE
491fcf
%{_libdir}/lib%{name}-*.so
491fcf
%{_libdir}/lib%{name}.so.*
491fcf
491fcf
%files openmp
491fcf
%{_libdir}/lib%{name}o-*.so
491fcf
%{_libdir}/lib%{name}o.so.*
491fcf
491fcf
%files threads
491fcf
%{_libdir}/lib%{name}p-*.so
491fcf
%{_libdir}/lib%{name}p.so.*
491fcf
491fcf
%if %build64
491fcf
%files serial64
491fcf
%{_libdir}/lib%{name}64-*.so
491fcf
%{_libdir}/lib%{name}64.so.*
491fcf
491fcf
%files openmp64
491fcf
%{_libdir}/lib%{name}o64-*.so
491fcf
%{_libdir}/lib%{name}o64.so.*
491fcf
491fcf
%files threads64
491fcf
%{_libdir}/lib%{name}p64-*.so
491fcf
%{_libdir}/lib%{name}p64.so.*
491fcf
491fcf
%files serial64_
491fcf
%{_libdir}/lib%{name}64_-*.so
491fcf
%{_libdir}/lib%{name}64_.so.*
491fcf
491fcf
%files openmp64_
491fcf
%{_libdir}/lib%{name}o64_-*.so
491fcf
%{_libdir}/lib%{name}o64_.so.*
491fcf
491fcf
%files threads64_
491fcf
%{_libdir}/lib%{name}p64_-*.so
491fcf
%{_libdir}/lib%{name}p64_.so.*
491fcf
%endif
491fcf
491fcf
%files devel
491fcf
%{_includedir}/%{name}/
b4496a
%{_libdir}/pkgconfig/
b4496a
%{_libdir}/pkgconfig/%{name}.pc
491fcf
%{_libdir}/lib%{name}.so
491fcf
%{_libdir}/lib%{name}o.so
491fcf
%{_libdir}/lib%{name}p.so
491fcf
%if %build64
491fcf
%{_libdir}/lib%{name}64.so
491fcf
%{_libdir}/lib%{name}o64.so
491fcf
%{_libdir}/lib%{name}p64.so
491fcf
%{_libdir}/lib%{name}64_.so
491fcf
%{_libdir}/lib%{name}o64_.so
491fcf
%{_libdir}/lib%{name}p64_.so
491fcf
%endif
491fcf
491fcf
%files Rblas
491fcf
%{_libdir}/R/lib/libRblas.so
491fcf
491fcf
%files static
491fcf
%{_libdir}/lib%{name}.a
491fcf
%{_libdir}/lib%{name}o.a
491fcf
%{_libdir}/lib%{name}p.a
491fcf
%if %build64
491fcf
%{_libdir}/lib%{name}64.a
491fcf
%{_libdir}/lib%{name}o64.a
491fcf
%{_libdir}/lib%{name}p64.a
491fcf
%{_libdir}/lib%{name}64_.a
491fcf
%{_libdir}/lib%{name}o64_.a
491fcf
%{_libdir}/lib%{name}p64_.a
491fcf
%endif
491fcf
491fcf
%changelog
b4496a
* Thu Feb 16 2023 Matej Mužila <mmuzila@redhat.com> - 0.3.15-6
b4496a
- Include openblas.pc
b4496a
- Resolves: #2115722
b4496a
b4496a
* Wed Feb 15 2023 Nikola Forró <nforro@redhat.com> - 0.3.15-5
b4496a
- Disable dynamic CPU detection on aarch64
b4496a
- Use gcc-toolset-12
b4496a
- Resolves: #2170398
b4496a
fa5ffb
* Wed Jun 15 2022 Matej Mužila <mmuzila@redhat.com> - 0.3.15-4
fa5ffb
- Fix out-of-bounds read in *larrv
fa5ffb
- Resolves: CVE-2021-4048
fa5ffb
0de2d8
* Fri Nov 12 2021 Nikola Forró <nforro@redhat.com> - 0.3.15-3
0de2d8
- Fix missing header files in openblas-devel subpackage by enabling
0de2d8
  gcc-toolset-11 in %%install as well
0de2d8
  related: #1983218
0de2d8
9b3d59
* Thu Oct 21 2021 Nikola Forró <nforro@redhat.com> - 0.3.15-2
9b3d59
- Enable dynamic cpu detection on all supported architectures
9b3d59
  related: #1983218
9b3d59
129f89
* Wed Sep 15 2021 Nikola Forró <nforro@redhat.com> - 0.3.15-1
129f89
- Rebase to version 0.3.15
129f89
- Use gcc-toolset-11 to benefit from POWER 10 optimizations
129f89
  resolves: #1983218
129f89
227702
* Wed Oct 28 2020 Nikola Forró <nforro@redhat.com> - 0.3.12-1
227702
- Rebase to version 0.3.12
227702
  related: #1847435
227702
05262b
* Wed Oct 21 2020 Nikola Forró <nforro@redhat.com> - 0.3.10-2
05262b
- Fix macro used in LAPACKE_zgesvdq
05262b
  related: #1847435
05262b
170ebb
* Tue Oct 20 2020 Nikola Forró <nforro@redhat.com> - 0.3.10-1
170ebb
- Rebase to version 0.3.10
170ebb
  resolves: #1847435
170ebb
d6c2f4
* Fri Nov 22 2019 Nikola Forró <nforro@redhat.com> - 0.3.3-5
d6c2f4
- Detect POWER9 as POWER8
d6c2f4
  related: #1752241
d6c2f4
d6c2f4
* Wed Nov 20 2019 Nikola Forró <nforro@redhat.com> - 0.3.3-4
d6c2f4
- Add tests and enable gating
d6c2f4
  related: #1752241
d6c2f4
d6c2f4
* Tue Sep 24 2019 Nikola Forró <nforro@redhat.com> - 0.3.3-3
d6c2f4
- Fix izamax on s390x
d6c2f4
  resolves: #1752241
d6c2f4
491fcf
* Wed Nov 07 2018 Nikola Forró <nforro@redhat.com> - 0.3.3-2
491fcf
- Fix i686-x86_64 multilib difference
491fcf
  related: #1627890
491fcf
491fcf
* Fri Oct 19 2018 Nikola Forró <nforro@redhat.com> - 0.3.3-1
491fcf
- Rebase to version 0.3.3
491fcf
  resolves: #1627890
491fcf
491fcf
* Mon Oct 15 2018 Nikola Forró <nforro@redhat.com> - 0.2.20-16
491fcf
- Set proper CFLAGS also for Rblas
491fcf
  related: #1624156
491fcf
491fcf
* Fri Oct 12 2018 Nikola Forró <nforro@redhat.com> - 0.2.20-15
491fcf
- Remove optimization pragmas on ppc64le
491fcf
  related: #1624156
491fcf
491fcf
* Wed Sep 26 2018 Nikola Forró <nforro@redhat.com> - 0.2.20-14
491fcf
- Ensure object files built from assembler sources are annotated
491fcf
  related: #1624156
491fcf
491fcf
* Mon Sep 17 2018 Nikola Forró <nforro@redhat.com> - 0.2.20-13
491fcf
- Fix detection of generic ARMv8 CPUs
491fcf
- Get rid of executable stack in libRblas.so
491fcf
  related: #1624156
491fcf
491fcf
* Thu Sep 06 2018 Nikola Forró <nforro@redhat.com> - 0.2.20-12
491fcf
- Force preprocessing of Fortran sources to make annobin record proper flags
491fcf
- Enable optimizations for all LAPACK sources
491fcf
  resolves: #1624156
491fcf
491fcf
* Tue Aug 14 2018 Nikola Forró <nforro@redhat.com> - 0.2.20-11
491fcf
- Fix build on s390x (#1615557)
491fcf
491fcf
* Thu Mar 22 2018 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.20-10
491fcf
- Disable CPU affinity unintentionally enabled upstream (BZ #1558091).
491fcf
491fcf
* Wed Mar 04 2018 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.20-9
491fcf
- Clean up obsolete conditionals for 64 bit builds in spec file.
491fcf
491fcf
* Tue Feb 27 2018 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.20-8
491fcf
- Use %%__global_ldflags instead of %%build_ldflags that doesn't work on
491fcf
  all distributions.
491fcf
491fcf
* Tue Feb 27 2018 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.20-7
491fcf
- Honor Fedora linker flags (BZ #1548750).
491fcf
491fcf
* Wed Feb 14 2018 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.20-6
491fcf
- Drop arch-dependent buildrequires (BZ #1545201); no changes to package
491fcf
  (only affects packages custom built with --with system_lapack).
491fcf
491fcf
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.20-5
491fcf
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
491fcf
491fcf
* Tue Jan 30 2018 Florian Weimer <fweimer@redhat.com> - 0.2.20-4
491fcf
- Rebuild for GCC 8
491fcf
491fcf
* Thu Sep 14 2017 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.20-3
491fcf
- Simplify spec, dropping extra lib arguments.
491fcf
491fcf
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.20-2
491fcf
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
491fcf
491fcf
* Fri Jul 28 2017 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.20-1
491fcf
- Update to 0.2.20.
491fcf
491fcf
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.19-12
491fcf
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
491fcf
491fcf
* Mon May 29 2017 Dan Horák <dan[at]danny.cz> - 0.2.19-11
491fcf
- add generic s390x support (#1442048)
491fcf
491fcf
* Mon Mar 20 2017 Orion Poplawski <orion@cora.nwra.com> - 0.2.19-10
491fcf
- Drop openblas-srpm-macros version requirement
491fcf
491fcf
* Mon Mar 20 2017 Orion Poplawski <orion@cora.nwra.com> - 0.2.19-9
491fcf
- Move openblas-srpm-macros to separate package
491fcf
491fcf
* Wed Mar 15 2017 Orion Poplawski <orion@cora.nwra.com> - 0.2.19-8
491fcf
- Define %%openblas_arches for dependent packages to use
491fcf
491fcf
* Mon Feb 13 2017 Björn Esser <besser82@fedoraproject.org> - 0.2.19-7
491fcf
- Upgrade Patch4 to hopefully fully fix the issues on PPC64LE
491fcf
491fcf
* Fri Feb 03 2017 Björn Esser <besser82@fedoraproject.org> - 0.2.19-6
491fcf
- Add Patch4 to fix register clobbers (BZ #1417385)
491fcf
491fcf
* Sat Jan 28 2017 Björn Esser <besser82@fedoraproject.org> - 0.2.19-5
491fcf
- Rebuilt for GCC-7
491fcf
491fcf
* Wed Dec 14 2016 Tom Callaway <spot@fedoraproject.org> - 0.2.19-4
491fcf
- build a copy of openblas that thinks it is Rblas
491fcf
  There are no code changes, except for libname and soname, it is identical to libopenblas.so.0
491fcf
  Unfortunately, while R itself is fine using a symlink from libopenblas.so.0 to libRblas.so
491fcf
  the larger R ecosystem becomes unhappy in this scenario.
491fcf
491fcf
* Thu Nov 03 2016 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.19-3
491fcf
- Fix linkage of OpenMP libraries (BZ #1391491).
491fcf
491fcf
* Thu Oct 20 2016 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.19-2
491fcf
- Actually use 8-bit integers in 64-bit interfaces (BZ #1382916).
491fcf
491fcf
* Tue Oct 18 2016 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.19-1
491fcf
- Update to 0.2.19.
491fcf
491fcf
* Wed Aug 17 2016 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.18-5
491fcf
- Revert "minor spec cleanups" by Peter Robinson.
491fcf
491fcf
* Wed Jul 13 2016 Peter Robinson <pbrobinson@fedoraproject.org> 0.2.18-4
491fcf
- aarch64 has execstack in Fedora
491fcf
- Minor spec cleanups
491fcf
491fcf
* Wed Jul 13 2016 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.18-3
491fcf
- Enable ppc64 and ppc64p7 architectures
491fcf
  based on Dan Horák's patch (BZ #1356189).
491fcf
- Supply proper make flags to the tests.
491fcf
491fcf
* Tue Jul 12 2016 Jeff Bastian <jbastian@redhat.com> - 0.2.18-2
491fcf
- update for aarch64
491fcf
491fcf
* Tue Apr 12 2016 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.18-1
491fcf
- Update to 0.2.18.
491fcf
491fcf
* Wed Apr 6 2016 Orion Poplawski <orion@cora.nwra.com> - 0.2.17-1
491fcf
- Update to 0.2.17
491fcf
491fcf
* Fri Mar 18 2016 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.16-3
491fcf
- Include deprecated LAPACK functions.
491fcf
491fcf
* Wed Mar 16 2016 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.16-2
491fcf
- Fix library suffix on ppc64le.
491fcf
491fcf
* Tue Mar 15 2016 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.16-1
491fcf
- Update to 0.2.16.
491fcf
491fcf
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.15-6
491fcf
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
491fcf
491fcf
* Tue Jan 12 2016 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.15-5
491fcf
- Need to use -frecursive to make LAPACK thread safe.
491fcf
491fcf
* Tue Jan 12 2016 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.15-4
491fcf
- Add version to bundled lapack provide.
491fcf
491fcf
* Mon Jan 11 2016 Orion Poplawski <orion@cora.nwra.com> - 0.2.15-3
491fcf
- Allow conditional build with or without system lapack, default to without
491fcf
491fcf
* Tue Dec 01 2015 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.15-2
491fcf
- Enable armv7hl and ppc64le architectures.
491fcf
- Build versions of the 64-bit libraries with an additional suffix
491fcf
  (BZ #1287541).
491fcf
491fcf
* Wed Oct 28 2015 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.15-1
491fcf
- Update to 0.2.15.
491fcf
491fcf
* Tue Aug 04 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.2.14-4
491fcf
- Use new execstack (#1247795)
491fcf
491fcf
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.2.14-3
491fcf
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
491fcf
491fcf
* Sun May  3 2015 Peter Robinson <pbrobinson@fedoraproject.org> 0.2.14-2
491fcf
- Run ldconfig on 64 builds too
491fcf
491fcf
* Wed Mar 25 2015 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.14-1
491fcf
- Update to 0.2.14.
491fcf
491fcf
* Fri Dec 19 2014 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.13-2
491fcf
- Bump spec due to LAPACK rebuild.
491fcf
491fcf
* Fri Dec 05 2014 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.13-1
491fcf
- Update to 0.2.13.
491fcf
491fcf
* Mon Oct 13 2014 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.12-1
491fcf
- Update to 0.2.12.
491fcf
491fcf
* Mon Aug 18 2014 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.11-1
491fcf
- Update to 0.2.11.
491fcf
491fcf
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.2.10-2
491fcf
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
491fcf
491fcf
* Wed Jul 16 2014 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.10-1
491fcf
- Update to 0.2.10.
491fcf
491fcf
* Wed Jun 11 2014 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.9-1
491fcf
- Increase maximum amount of cores from 32 to 128.
491fcf
- Add 64-bit interface support. (BZ #1088256)
491fcf
- Update to 0.2.9. (BZ #1043083)
491fcf
491fcf
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.2.8-2
491fcf
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
491fcf
491fcf
* Wed Aug 07 2013 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.8-1
491fcf
- Update to 0.2.8.
491fcf
491fcf
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.2.7-2
491fcf
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
491fcf
491fcf
* Tue Jul 23 2013 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.7-1
491fcf
- Update to 0.2.7.
491fcf
- Use OpenBLAS versions of LAPACK functions, as they seem to be
491fcf
  working now.
491fcf
491fcf
* Mon Jul 08 2013 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.5-10
491fcf
- Due to long standing bug, replace all OpenBLAS LAPACK functions with
491fcf
  generic ones, so that package can finally be released in stable.
491fcf
491fcf
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.2.5-9
491fcf
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
491fcf
491fcf
* Tue Jan 15 2013 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.5-8
491fcf
- Added LAPACKE include files.
491fcf
491fcf
* Mon Jan 14 2013 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.5-7
491fcf
- Fix build on RHEL5 and ppc architecture.
491fcf
491fcf
* Mon Dec 24 2012 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.5-6
491fcf
- Review fixes.
491fcf
491fcf
* Fri Dec 21 2012 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.5-5
491fcf
- Disable LAPACKE support on distributions where it is not available due to
491fcf
  a too old version of lapack.
491fcf
491fcf
* Mon Dec 17 2012 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.5-4
491fcf
- Don't use reference LAPACK functions that have optimized implementation.
491fcf
491fcf
* Wed Dec 12 2012 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.5-3
491fcf
- Use system version of LAPACK.
491fcf
491fcf
* Mon Nov 26 2012 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.5-2
491fcf
- Fixed 32-bit build, and build on EPEL 5.
491fcf
491fcf
* Mon Nov 26 2012 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.5-1
491fcf
- Update to 0.2.5.
491fcf
491fcf
* Thu Oct 06 2011 Jussi Lehtola <jussilehtola@fedoraproject.org> - 0.1-2.alpha2.4
491fcf
- Added documentation.
491fcf
491fcf
* Sun Sep 18 2011 Jussi Lehtola <jussilehtola@fedoraproject.org> - 0.1-1.alpha2.4
491fcf
- First release.