This commit is contained in:
Tom spot Callaway 2021-04-10 09:42:58 -04:00
parent fcf424ab55
commit 2d1369f7dd
3 changed files with 115 additions and 320 deletions

1
.gitignore vendored
View File

@ -12,3 +12,4 @@ lapack-3.2.2.tgz
/lapack-3.7.1.tgz
/lapack-3.8.0.tar.gz
/v3.9.0.tar.gz
/v3.9.1.tar.gz

View File

@ -1,3 +1,6 @@
# Something in the debuginfo process is stripping the custom 64_ symbols out of lapack64_ and blas64_
%global debug_package %{nil}
%global shortver 3
%global mediumver %{shortver}.9
@ -9,26 +12,16 @@
Summary: Numerical linear algebra package libraries
Name: lapack
Version: %{mediumver}.0
Release: 6%{?dist}
Version: %{mediumver}.1
Release: 1%{?dist}
License: BSD
URL: http://www.netlib.org/lapack/
Source0: https://github.com/Reference-LAPACK/lapack/archive/v%{version}.tar.gz
Source1: http://www.netlib.org/lapack/manpages.tgz
Source2: Makefile.blas
Source3: Makefile.lapack
Source4: http://www.netlib.org/lapack/lapackqref.ps
Source5: http://www.netlib.org/blas/blasqr.ps
Source6: Makefile.cblas
Patch3: lapack-3.9.0-make.inc.patch
Patch4: lapack-3.9.0-lapacke-shared.patch
Patch5: lapack-3.4.1-lapacke-disable-testing-functions.patch
Patch6: lapack-3.5.0-lapacke-matgenobj.patch
Patch7: lapack-3.9.0-lapacke-tmglib.patch
# Bugzilla 1814756
Patch8: https://github.com/Reference-LAPACK/lapack/commit/87536aa3c8bb0af00f66088fb6ac05d87509e011.patch
BuildRequires: gcc-gfortran, gawk
BuildRequires: make
BuildRequires: make, cmake
Requires: blas%{?_isa} = %{version}-%{release}
%global _description_lapack %{expand:
@ -118,257 +111,130 @@ This build has 64bit INTEGER support and a symbol name suffix.
%prep
%setup -q
%setup -q -D -T -a1
%patch3 -p1 -b .fedora
%patch4 -p1 -b .shared
# %patch5 -p1 -b .disable-functions
# %patch6 -p1 -b .matgenobj
%patch7 -p1 -b .tmglib
%patch8 -p1 -b .bz1814756
mkdir manpages
mv man/ manpages/
cp -f INSTALL/make.inc.gfortran make.inc
cp -f %{SOURCE2} BLAS/SRC/Makefile
cp -f %{SOURCE3} SRC/Makefile
cp -f %{SOURCE6} CBLAS/src/Makefile
sed -i "s|@SHORTVER@|%{shortver}|g" BLAS/SRC/Makefile
sed -i "s|@SHORTVER@|%{shortver}|g" SRC/Makefile
sed -i "s|@SHORTVER@|%{shortver}|g" LAPACKE/Makefile
sed -i "s|@SHORTVER@|%{shortver}|g" CBLAS/src/Makefile
sed -i "s|@LONGVER@|%{version}|g" BLAS/SRC/Makefile
sed -i "s|@LONGVER@|%{version}|g" SRC/Makefile
sed -i "s|@LONGVER@|%{version}|g" LAPACKE/Makefile
sed -i "s|@LONGVER@|%{version}|g" CBLAS/src/Makefile
%build
RPM_OPT_FLAGS="$RPM_OPT_FLAGS -frecursive --no-optimize-sibling-calls"
RPM_OPT_O_FLAGS=$(echo $RPM_OPT_FLAGS | sed 's|-O2|-O0|')
export FC=gfortran
%global optflags %{optflags} -frecursive --no-optimize-sibling-calls
# Build BLAS
pushd BLAS/SRC
FFLAGS="$RPM_OPT_O_FLAGS" make dcabs1.o
FFLAGS="$RPM_OPT_FLAGS" CFLAGS="$RPM_OPT_FLAGS" make static
cp libblas.a ${RPM_BUILD_DIR}/%{name}-%{version}/
make clean
FFLAGS="$RPM_OPT_O_FLAGS -fPIC" make dcabs1.o
FFLAGS="$RPM_OPT_FLAGS -fPIC" CFLAGS="$RPM_OPT_FLAGS -fPIC" LDFLAGS="%{build_ldflags}" make shared
cp libblas.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/
%if 0%{?arch64}
make clean
FFLAGS="$RPM_OPT_O_FLAGS -fdefault-integer-8" make dcabs1.o
FFLAGS="$RPM_OPT_FLAGS -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS" make static
cp libblas.a ${RPM_BUILD_DIR}/%{name}-%{version}/libblas64.a
make clean
FFLAGS="$RPM_OPT_O_FLAGS -fPIC -fdefault-integer-8" make dcabs1.o
FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC" LDFLAGS="%{build_ldflags}" make shared
cp libblas.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/libblas64.so.%{version}
make clean
FFLAGS="$RPM_OPT_O_FLAGS -fdefault-integer-8" make dcabs1.o
SYMBOLSUFFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS" make static
cp libblas64_.a ${RPM_BUILD_DIR}/%{name}-%{version}/libblas64_.a
make clean
FFLAGS="$RPM_OPT_O_FLAGS -fPIC -fdefault-integer-8" make dcabs1.o
SYMBOLSUFFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC" LDFLAGS="%{build_ldflags}" make shared
cp libblas64_.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/libblas64_.so.%{version}
%endif
popd
# shared normal
%cmake -DBUILD_DEPRECATED=ON -DBUILD_SHARED_LIBS=ON -DLAPACKE=ON -DLAPACKE_WITH_TMG=ON -DCBLAS=ON
%cmake_build
mv %_vpath_builddir %_vpath_builddir-SHARED
ln -s libblas.so.%{version} libblas.so
%if 0%{?arch64}
ln -s libblas64.so.%{version} libblas64.so
ln -s libblas64_.so.%{version} libblas64_.so
%endif
# Build CBLAS
cp CBLAS/include/cblas_mangling_with_flags.h.in CBLAS/include/cblas_mangling.h
pushd CBLAS/src
FFLAGS="$RPM_OPT_FLAGS" CFLAGS="$RPM_OPT_FLAGS -I../include" make static
cp libcblas.a ${RPM_BUILD_DIR}/%{name}-%{version}/
make clean
FFLAGS="$RPM_OPT_FLAGS -fPIC" CFLAGS="$RPM_OPT_FLAGS -fPIC -I../include" LDFLAGS="%{build_ldflags}" make shared
cp libcblas.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/
%if 0%{?arch64}
make clean
FFLAGS="$RPM_OPT_FLAGS -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -I../include" make static
cp libcblas.a ${RPM_BUILD_DIR}/%{name}-%{version}/libcblas64.a
make clean
FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC -I../include" LDFLAGS="%{build_ldflags}" make shared
cp libcblas.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/libcblas64.so.%{version}
make clean
SYMBOLSUFFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -I../include" make static
cp libcblas64_.a ${RPM_BUILD_DIR}/%{name}-%{version}/libcblas64_.a
make clean
SYMBOLSUFFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC -I../include" LDFLAGS="%{build_ldflags}" make shared
cp libcblas64_.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/libcblas64_.so.%{version}
%endif
popd
ln -s libcblas.so.%{version} libcblas.so
%if 0%{?arch64}
ln -s libcblas64.so.%{version} libcblas64.so
ln -s libcblas64_.so.%{version} libcblas64_.so
%endif
# Build the static dlamch, dsecnd, lsame, second, slamch bits
pushd INSTALL
make FFLAGS_NOOPT="$RPM_OPT_O_FLAGS" FFLAGS="$RPM_OPT_FLAGS"
popd
# Build the static lapack library
pushd SRC
make FFLAGS="$RPM_OPT_FLAGS" CFLAGS="$RPM_OPT_FLAGS" static
cp liblapack.a ${RPM_BUILD_DIR}/%{name}-%{version}/
popd
# Build the static with pic dlamch, dsecnd, lsame, second, slamch bits
pushd INSTALL
make clean
make FFLAGS_NOOPT="$RPM_OPT_O_FLAGS -fPIC" FFLAGS="$RPM_OPT_FLAGS -fPIC"
popd
# Build the static with pic lapack library
pushd SRC
make clean
make FFLAGS="$RPM_OPT_FLAGS -fPIC" CFLAGS="$RPM_OPT_FLAGS -fPIC" static
cp liblapack.a ${RPM_BUILD_DIR}/%{name}-%{version}/liblapack_pic.a
popd
# static normal
%cmake -DBUILD_DEPRECATED=ON -DBUILD_SHARED_LIBS=OFF -DLAPACKE=ON -DLAPACKE_WITH_TMG=ON -DCBLAS=ON
%cmake_build
mv %_vpath_builddir %_vpath_builddir-STATIC
%if 0%{?arch64}
# Build the static dlamch, dsecnd, lsame, second, slamch bits
pushd INSTALL
make clean
make FFLAGS_NOOPT="$RPM_OPT_O_FLAGS -fdefault-integer-8" FFLAGS="$RPM_OPT_FLAGS -fdefault-integer-8"
popd
# shared 64
%cmake -DBUILD_DEPRECATED=ON -DBUILD_SHARED_LIBS=ON -DBUILD_INDEX64=ON -DLAPACKE=OFF -DCBLAS=ON
%cmake_build
mv %_vpath_builddir %_vpath_builddir-SHARED64
# Build the static lapack library
pushd SRC
make clean
make FFLAGS="$RPM_OPT_FLAGS -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS" static
cp liblapack.a ${RPM_BUILD_DIR}/%{name}-%{version}/liblapack64.a
popd
# static 64
%cmake -DBUILD_DEPRECATED=ON -DBUILD_SHARED_LIBS=OFF -DBUILD_INDEX64=ON -DLAPACKE=OFF -DCBLAS=ON
%cmake_build
mv %_vpath_builddir %_vpath_builddir-STATIC64
# Build the static with pic dlamch, dsecnd, lsame, second, slamch bits (64bit INTEGER)
pushd INSTALL
make clean
make FFLAGS_NOOPT="$RPM_OPT_O_FLAGS -fPIC -fdefault-integer-8" FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8"
popd
# This is not an Easter Egg. Just a scrambled egg.
# Build the static with pic lapack library (64bit INTEGER)
pushd SRC
make clean
make FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC" static
cp liblapack.a ${RPM_BUILD_DIR}/%{name}-%{version}/liblapack_pic64.a
popd
# shared 64 SUFFIX
sed -i 's|64"|64_"|g' CMakeLists.txt
%cmake -DBUILD_DEPRECATED=ON -DBUILD_SHARED_LIBS=ON -DBUILD_INDEX64=ON -DLAPACKE=OFF -DCBLAS=ON
%cmake_build
mv %_vpath_builddir %_vpath_builddir-SHARED64SUFFIX
# Build the static dlamch, dsecnd, lsame, second, slamch bits
pushd INSTALL
make clean
make FFLAGS_NOOPT="$RPM_OPT_O_FLAGS -fdefault-integer-8" FFLAGS="$RPM_OPT_FLAGS -fdefault-integer-8"
popd
# static 64 SUFFIX
%cmake -DBUILD_DEPRECATED=ON -DBUILD_SHARED_LIBS=OFF -DBUILD_INDEX64=ON -DLAPACKE=OFF -DCBLAS=ON
%cmake_build
mv %_vpath_builddir %_vpath_builddir-STATIC64SUFFIX
# Build the static lapack library
pushd SRC
make clean
make SYMBOLSUFFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS" static
cp liblapack64_.a ${RPM_BUILD_DIR}/%{name}-%{version}/liblapack64_.a
popd
# Build the static with pic dlamch, dsecnd, lsame, second, slamch bits (64bit INTEGER)
pushd INSTALL
make clean
make FFLAGS_NOOPT="$RPM_OPT_O_FLAGS -fPIC -fdefault-integer-8" FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8"
popd
# Build the static with pic lapack library (64bit INTEGER)
pushd SRC
make clean
make SYMBOLSUFFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC" static
cp liblapack64_.a ${RPM_BUILD_DIR}/%{name}-%{version}/liblapack_pic64_.a
popd
# Undo the 64_ suffix
sed -i 's|64_"|64"|g' CMakeLists.txt
%endif
# Build the shared dlamch, dsecnd, lsame, second, slamch bits
pushd INSTALL
make clean
make FFLAGS_NOOPT="$RPM_OPT_O_FLAGS -fPIC" FFLAGS="$RPM_OPT_FLAGS -fPIC"
popd
# Build the shared lapack library
pushd SRC
make clean
make FFLAGS="$RPM_OPT_FLAGS -fPIC" CFLAGS="$RPM_OPT_FLAGS -fPIC" LDFLAGS="%{build_ldflags}" shared
cp liblapack.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/
popd
%global optflags %{optflags} -frecursive --no-optimize-sibling-calls -fPIC
# static normal lapack FPIC
%cmake -DBUILD_DEPRECATED=ON -DBUILD_SHARED_LIBS=OFF -DLAPACKE=OFF -DCBLAS=OFF
%cmake_build
mv %_vpath_builddir %_vpath_builddir-STATICFPIC
mv %_vpath_builddir-STATICFPIC/lib/liblapack.a %_vpath_builddir-STATICFPIC/lib/liblapack_pic.a
%if 0%{?arch64}
# Build the shared dlamch, dsecnd, lsame, second, slamch bits
pushd INSTALL
make clean
make FFLAGS_NOOPT="$RPM_OPT_O_FLAGS -fPIC -fdefault-integer-8" FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8"
popd
# static 64 lapack FPIC
%cmake -DBUILD_DEPRECATED=ON -DBUILD_SHARED_LIBS=OFF -DBUILD_INDEX64=ON -DLAPACKE=OFF -DCBLAS=OFF
%cmake_build
mv %_vpath_builddir %_vpath_builddir-STATIC64FPIC
mv %_vpath_builddir-STATIC64FPIC/lib/liblapack64.a %_vpath_builddir-STATIC64FPIC/lib/liblapack_pic64.a
# Build the shared lapack library
pushd SRC
make clean
make FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" LDFLAGS="%{build_ldflags}" shared
cp liblapack.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/liblapack64.so.%{version}
popd
# static 64 lapack suffix FPIC
sed -i 's|64"|64_"|g' CMakeLists.txt
%cmake -DBUILD_DEPRECATED=ON -DBUILD_SHARED_LIBS=OFF -DBUILD_INDEX64=ON -DLAPACKE=OFF -DCBLAS=OFF
%cmake_build
mv %_vpath_builddir %_vpath_builddir-STATIC64SUFFIXFPIC
mv %_vpath_builddir-STATIC64SUFFIXFPIC/lib/liblapack64_.a %_vpath_builddir-STATIC64SUFFIXFPIC/lib/liblapack_pic64_.a
# Build the shared dlamch, dsecnd, lsame, second, slamch bits
pushd INSTALL
make clean
make FFLAGS_NOOPT="$RPM_OPT_O_FLAGS -fPIC -fdefault-integer-8" FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8"
popd
# Build the shared lapack library
pushd SRC
make clean
make SYMBOLSUFFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" LDFLAGS="%{build_ldflags}" shared
cp liblapack64_.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/liblapack64_.so.%{version}
popd
# Undo the 64_ suffix
sed -i 's|64_"|64"|g' CMakeLists.txt
%endif
ln -s liblapack.so.%{version} liblapack.so
%if 0%{?arch64}
ln -s liblapack64.so.%{version} liblapack64.so
ln -s liblapack64_.so.%{version} liblapack64_.so
%endif
# Build the lapacke libraries
make FFLAGS="$RPM_OPT_FLAGS -fPIC" FFLAGS_NOOPT="$RPM_OPT_O_FLAGS -fPIC" tmglib
pushd LAPACKE
make clean
make CFLAGS="$RPM_OPT_FLAGS" BUILD_DEPRECATED="true" lapacke
make clean
make CFLAGS="$RPM_OPT_FLAGS -fPIC" BUILD_DEPRECATED="true" LDFLAGS="%{build_ldflags}" shlib
# cp liblapacke.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/
popd
cp -p %{SOURCE4} lapackqref.ps
cp -p %{SOURCE5} blasqr.ps
%install
mkdir -p %{buildroot}%{_libdir}
mkdir -p %{buildroot}%{_mandir}/man3
chmod 755 %{buildroot}%{_mandir}/man3
for f in liblapack.so.%{version} libblas.so.%{version} libcblas.so.%{version} liblapacke.so.%{version} \
libblas.a libcblas.a liblapack.a liblapack_pic.a liblapacke.a; do
cp -f $f ${RPM_BUILD_ROOT}%{_libdir}/$f
%if 0%{?arch64}
for t in SHARED STATIC SHARED64 STATIC64; do
%else
for t in SHARED STATIC; do
%endif
mv %_vpath_builddir-$t %_vpath_builddir
%cmake_install
mv %_vpath_builddir %_vpath_builddir-$t
done
%if 0%{?arch64}
for f in liblapack64.so.%{version} libblas64.so.%{version} libcblas64.so.%{version} \
liblapack64_.so.%{version} libblas64_.so.%{version} libcblas64_.so.%{version} \
libblas64.a libcblas64.a liblapack64.a liblapack_pic64.a \
libblas64_.a libcblas64_.a liblapack64_.a liblapack_pic64_.a; do
cp -f $f ${RPM_BUILD_ROOT}%{_libdir}/$f
# Set the suffix
sed -i 's|64"|64_"|g' CMakeLists.txt
for t in SHARED64SUFFIX STATIC64SUFFIX; do
mv %_vpath_builddir-$t %_vpath_builddir
%cmake_install
mv %_vpath_builddir %_vpath_builddir-$t
done
%endif
install -m0644 %_vpath_builddir-STATICFPIC/lib/liblapack_pic.a %{buildroot}%{_libdir}
%if 0%{?arch64}
install -m0644 %_vpath_builddir-STATIC64FPIC/lib/liblapack_pic64.a %{buildroot}%{_libdir}
install -m0644 %_vpath_builddir-STATIC64SUFFIXFPIC/lib/liblapack_pic64_.a %{buildroot}%{_libdir}
pushd %{buildroot}%{_libdir}
for name in blas cblas lapack; do
for i in `readelf -Ws lib${name}64_.so.%{version} | awk '{print $8}' | grep -v GLIBC |grep -v GFORTRAN |grep -v "Name" `; do echo "$i" "64_$i"; done > ${name}-prefix.def.dirty
sort -n ${name}-prefix.def.dirty | uniq > ${name}-prefix.def
objcopy --redefine-syms ${name}-prefix.def lib${name}64_.so.%{version} lib${name}64_.so.%{version}.fixed
rm -rf lib${name}64_.so.%{version}
mv lib${name}64_.so.%{version}.fixed lib${name}64_.so.%{version}
done
for name in blas cblas lapack lapack_pic; do
for i in `nm lib${name}64_.a |grep " T " | awk '{print $3}'`; do echo "$i" "64_$i"; done > ${name}-static-prefix.def.dirty
sort -n ${name}-static-prefix.def.dirty | uniq > ${name}-static-prefix.def
objcopy --redefine-syms ${name}-static-prefix.def lib${name}64_.a lib${name}64_.a.fixed
rm -rf lib${name}64_.a
mv lib${name}64_.a.fixed lib${name}64_.a
done
popd
# cleanup defs
rm -rf %{buildroot}%{_libdir}/*.def*
%endif
mkdir -p %{buildroot}%{_mandir}/man3
chmod 755 %{buildroot}%{_mandir}/man3
# Blas manpages
pushd manpages/
mkdir -p blas/man/man3
@ -419,90 +285,6 @@ find manpages/man/man3 -type f -printf "%{_mandir}/man3/%f*\n" > lapackmans
cp -f manpages/blas/man/man3/* ${RPM_BUILD_ROOT}%{_mandir}/man3
cp -f manpages/man/man3/* ${RPM_BUILD_ROOT}%{_mandir}/man3
# Cblas headers
mkdir -p %{buildroot}%{_includedir}/cblas/
cp -a CBLAS/include/*.h %{buildroot}%{_includedir}/cblas/
# Lapacke headers
mkdir -p %{buildroot}%{_includedir}/lapacke/
cp -a LAPACKE/include/*.h %{buildroot}%{_includedir}/lapacke/
pushd %{buildroot}%{_libdir}
ln -sf liblapack.so.%{version} liblapack.so
ln -sf liblapack.so.%{version} liblapack.so.%{shortver}
ln -sf liblapack.so.%{version} liblapack.so.%{mediumver}
ln -sf libblas.so.%{version} libblas.so
ln -sf libblas.so.%{version} libblas.so.%{shortver}
ln -sf libblas.so.%{version} libblas.so.%{mediumver}
ln -sf libcblas.so.%{version} libcblas.so
ln -sf libcblas.so.%{version} libcblas.so.%{shortver}
ln -sf libcblas.so.%{version} libcblas.so.%{mediumver}
ln -sf liblapacke.so.%{version} liblapacke.so
ln -sf liblapacke.so.%{version} liblapacke.so.%{shortver}
ln -sf liblapacke.so.%{version} liblapacke.so.%{mediumver}
%if 0%{?arch64}
ln -sf liblapack64.so.%{version} liblapack64.so
ln -sf liblapack64.so.%{version} liblapack64.so.%{shortver}
ln -sf liblapack64.so.%{version} liblapack64.so.%{mediumver}
ln -sf libblas64.so.%{version} libblas64.so
ln -sf libblas64.so.%{version} libblas64.so.%{shortver}
ln -sf libblas64.so.%{version} libblas64.so.%{mediumver}
ln -sf libcblas64.so.%{version} libcblas64.so
ln -sf libcblas64.so.%{version} libcblas64.so.%{shortver}
ln -sf libcblas64.so.%{version} libcblas64.so.%{mediumver}
ln -sf liblapack64_.so.%{version} liblapack64_.so
ln -sf liblapack64_.so.%{version} liblapack64_.so.%{shortver}
ln -sf liblapack64_.so.%{version} liblapack64_.so.%{mediumver}
ln -sf libblas64_.so.%{version} libblas64_.so
ln -sf libblas64_.so.%{version} libblas64_.so.%{shortver}
ln -sf libblas64_.so.%{version} libblas64_.so.%{mediumver}
ln -sf libcblas64_.so.%{version} libcblas64_.so
ln -sf libcblas64_.so.%{version} libcblas64_.so.%{shortver}
ln -sf libcblas64_.so.%{version} libcblas64_.so.%{mediumver}
%endif
popd
# pkgconfig
mkdir -p %{buildroot}%{_libdir}/pkgconfig/
cp -a lapack.pc.in %{buildroot}%{_libdir}/pkgconfig/lapack.pc
sed -i 's|@CMAKE_INSTALL_FULL_LIBDIR@|%{_libdir}|g' %{buildroot}%{_libdir}/pkgconfig/lapack.pc
sed -i 's|@CMAKE_INSTALL_FULL_INCLUDEDIR@|%{_includedir}|g' %{buildroot}%{_libdir}/pkgconfig/lapack.pc
sed -i 's|@LAPACK_VERSION@|%{version}|g' %{buildroot}%{_libdir}/pkgconfig/lapack.pc
%if 0%{?arch64}
cp -a %{buildroot}%{_libdir}/pkgconfig/lapack.pc %{buildroot}%{_libdir}/pkgconfig/lapack64.pc
sed -i 's|-llapack|-llapack64|g' %{buildroot}%{_libdir}/pkgconfig/lapack64.pc
sed -i 's|blas|blas64|g' %{buildroot}%{_libdir}/pkgconfig/lapack64.pc
cp -a %{buildroot}%{_libdir}/pkgconfig/lapack.pc %{buildroot}%{_libdir}/pkgconfig/lapack64_.pc
sed -i 's|-llapack|-llapack64_|g' %{buildroot}%{_libdir}/pkgconfig/lapack64_.pc
sed -i 's|blas|blas64_|g' %{buildroot}%{_libdir}/pkgconfig/lapack64_.pc
%endif
cp -a BLAS/blas.pc.in %{buildroot}%{_libdir}/pkgconfig/blas.pc
sed -i 's|@CMAKE_INSTALL_FULL_LIBDIR@|%{_libdir}|g' %{buildroot}%{_libdir}/pkgconfig/blas.pc
sed -i 's|@CMAKE_INSTALL_FULL_INCLUDEDIR@|%{_includedir}|g' %{buildroot}%{_libdir}/pkgconfig/blas.pc
sed -i 's|@LAPACK_VERSION@|%{version}|g' %{buildroot}%{_libdir}/pkgconfig/blas.pc
%if 0%{?arch64}
cp -a %{buildroot}%{_libdir}/pkgconfig/blas.pc %{buildroot}%{_libdir}/pkgconfig/blas64.pc
sed -i 's|-lblas|-lblas64|g' %{buildroot}%{_libdir}/pkgconfig/blas64.pc
cp -a %{buildroot}%{_libdir}/pkgconfig/blas.pc %{buildroot}%{_libdir}/pkgconfig/blas64_.pc
sed -i 's|-lblas|-lblas64_|g' %{buildroot}%{_libdir}/pkgconfig/blas64_.pc
%endif
cp -a LAPACKE/lapacke.pc.in %{buildroot}%{_libdir}/pkgconfig/lapacke.pc
sed -i 's|@CMAKE_INSTALL_FULL_LIBDIR@|%{_libdir}|g' %{buildroot}%{_libdir}/pkgconfig/lapacke.pc
sed -i 's|@CMAKE_INSTALL_FULL_INCLUDEDIR@|%{_includedir}/lapacke|g' %{buildroot}%{_libdir}/pkgconfig/lapacke.pc
sed -i 's|@LAPACK_VERSION@|%{version}|g' %{buildroot}%{_libdir}/pkgconfig/lapacke.pc
cp -a CBLAS/cblas.pc.in %{buildroot}%{_libdir}/pkgconfig/cblas.pc
sed -i 's|@CMAKE_INSTALL_FULL_LIBDIR@|%{_libdir}|g' %{buildroot}%{_libdir}/pkgconfig/cblas.pc
sed -i 's|@CMAKE_INSTALL_FULL_INCLUDEDIR@|%{_includedir}/cblas|g' %{buildroot}%{_libdir}/pkgconfig/cblas.pc
sed -i 's|@LAPACK_VERSION@|%{version}|g' %{buildroot}%{_libdir}/pkgconfig/cblas.pc
%if 0%{?arch64}
cp -a %{buildroot}%{_libdir}/pkgconfig/cblas.pc %{buildroot}%{_libdir}/pkgconfig/cblas64.pc
sed -i 's|-lcblas|-lcblas64|g' %{buildroot}%{_libdir}/pkgconfig/cblas64.pc
sed -i 's|Requires.private: blas|Requires.private: blas64|g' %{buildroot}%{_libdir}/pkgconfig/cblas64.pc
cp -a %{buildroot}%{_libdir}/pkgconfig/cblas.pc %{buildroot}%{_libdir}/pkgconfig/cblas64_.pc
sed -i 's|-lcblas|-lcblas64_|g' %{buildroot}%{_libdir}/pkgconfig/cblas64_.pc
sed -i 's|Requires.private: blas|Requires.private: blas64_|g' %{buildroot}%{_libdir}/pkgconfig/cblas64_.pc
%endif
%ldconfig_scriptlets
%ldconfig_scriptlets -n blas
@ -519,15 +301,20 @@ sed -i 's|Requires.private: blas|Requires.private: blas64_|g' %{buildroot}%{_lib
%doc README.md LICENSE lapackqref.ps
%{_libdir}/liblapack.so.*
%{_libdir}/liblapacke.so.*
%{_libdir}/libtmglib.so.*
%files devel
%{_includedir}/lapacke/
%{_includedir}/lapack*.h
%{_libdir}/liblapack.so
%{_libdir}/liblapacke.so
%{_libdir}/libtmglib.so
%{_libdir}/cmake/lapack-*
%{_libdir}/cmake/lapacke-*
%{_libdir}/pkgconfig/lapack.pc
%{_libdir}/pkgconfig/lapacke.pc
%if 0%{?arch64}
%{_libdir}/liblapack64.so
%{_libdir}/cmake/lapack64*
%{_libdir}/pkgconfig/lapack64.pc
%{_libdir}/liblapack64_.so
%{_libdir}/pkgconfig/lapack64_.pc
@ -537,6 +324,7 @@ sed -i 's|Requires.private: blas|Requires.private: blas64_|g' %{buildroot}%{_lib
%{_libdir}/liblapack.a
%{_libdir}/liblapack_pic.a
%{_libdir}/liblapacke.a
%{_libdir}/libtmglib.a
%if 0%{?arch64}
%{_libdir}/liblapack64.a
%{_libdir}/liblapack_pic64.a
@ -550,14 +338,16 @@ sed -i 's|Requires.private: blas|Requires.private: blas64_|g' %{buildroot}%{_lib
%{_libdir}/libcblas.so.*
%files -n blas-devel
%{_includedir}/cblas/
%{_includedir}/cblas*.h
%{_libdir}/libblas.so
%{_libdir}/libcblas.so
%{_libdir}/cmake/cblas-*
%{_libdir}/pkgconfig/blas.pc
%{_libdir}/pkgconfig/cblas.pc
%if 0%{?arch64}
%{_libdir}/libblas64.so
%{_libdir}/libcblas64.so
%{_libdir}/cmake/cblas64*
%{_libdir}/pkgconfig/blas64.pc
%{_libdir}/pkgconfig/cblas64.pc
%{_libdir}/libblas64_.so
@ -597,6 +387,10 @@ sed -i 's|Requires.private: blas|Requires.private: blas64_|g' %{buildroot}%{_lib
%endif
%changelog
* Fri Apr 9 2021 Tom Callaway <spot@fedoraproject.org> - 3.9.1-1
- 3.9.1
- use upstream cmake build (no more hacked up Makefiles, huzzah)
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.9.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild

View File

@ -1,2 +1,2 @@
SHA512 (manpages.tgz) = 75184bbfac90f46e4fbb25b341f00c260904b5f3174084022c53c686a5181bb678fc1ec948f419d33890cb5769a60ca1000964e4bf6cc89438552e8b8fe45f2a
SHA512 (v3.9.0.tar.gz) = 424956ad941a60a4b71e0d451ad48db12a692f8a71a90f3ca7f71d6ecc1922f392746ea84df1c47a46577ed2db32e9e47ec44ad248207c5ac7da179becb712ef
SHA512 (v3.9.1.tar.gz) = 1c70892ce22eb1f5c0be1e0384d00dc876622e6254e853616eb7c0379c5d1ecf2f1f94d06389dbfba06b78484daf625d899306a9dc0b31a0646320c814022fdb
SHA512 (manpages.tgz) = ba26b5866d3a6b40da0014a1b207683da4d1d9ce0bd62f4bcdf8bb4a60812f785bfb70fe60b5043ac43c2a5dc7729a83e777f1a3af7b532782a9c8912967c6d4