diff --git a/.gitignore b/.gitignore index 13a46c8..84fc1f1 100644 --- a/.gitignore +++ b/.gitignore @@ -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 diff --git a/lapack.spec b/lapack.spec index 755a5da..b493383 100644 --- a/lapack.spec +++ b/lapack.spec @@ -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 - 3.9.1-1 +- 3.9.1 +- use upstream cmake build (no more hacked up Makefiles, huzzah) + * Tue Jan 26 2021 Fedora Release Engineering - 3.9.0-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild diff --git a/sources b/sources index 50764ac..a19b61c 100644 --- a/sources +++ b/sources @@ -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