lapack/lapack.spec

503 lines
16 KiB
RPMSpec
Raw Normal View History

#
# spec file for package lapack
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%global flavor @BUILD_FLAVOR@%{nil}
%global pname lapack
%if "%{flavor}" == "static"
%define psuffix -static
%bcond_with shared
# Generate man files for the static flavour to avoid additional deps/build time
# for main flavour
%bcond_without man
%else
%define psuffix %{nil}
%bcond_without shared
%bcond_with man
%endif
%define __builder ninja
%define so_ver 3
%bcond_without tmg
# For Leap 15.X, we do not need arch dependent symlink names because no baselibs are generated
%if 0%{?suse_version} >= 1500
%define a_x _%{_arch}
%endif
Name: %{pname}%{?psuffix}
Version: 3.12.0
Release: 0
Summary: Linear Algebra PACKage
License: BSD-3-Clause
Accepting request 1064110 from home:StefanBruens:branches:science - Fix missing symbols for deprecated functions in LAPACK, add Restore_missing_deprecated_prototypes.patch - Add -Wl,--no-undefined when creating shared libraries, to catch missing symbols during build - Test fixes: * Build test binaries during %build, run in %check * Fix incorrect path for test output, to actually catch any test failures - Spec file cleanup: * Do not rename blaslib, it is used for test binaries * Use same commands for building lapacke as for other libs * Remove unused FFLAGS_NOOP for test binaries - Remove unneeded links. These will be taken care of by the update-alternatives. This will bring this package in sync with openblas. - Build deprecated functions again to avoid breaking the ABI. (boo#1207989) - Make library links in the alternatives directory arch dependent. This avoids conflicts when both 32-bit and 64-bit versions are installed (boo#1207563). - Consolidate dummy links for update-alternatives bringing them in sync with openblas. Add alternatives for lapacke. - Add Fix-out-of-bounds-read.patch to fix out of bound reads when user input is not validated properly. (bsc#1193562, CVE-2021-4048) - Rename conflicting MIN.3 and MAX.3 manpages into lapack-{MAX,MIN}.3 - Do not create the dummy files in /etc/alternatives during %install: managed by update-alternatives and packaged as ghost. - stop owning directories provided by filesystem (bsc#1184786) - Update to version 3.9.0: * LAPACK QR-preconditioned QR SVD method - xGESVDQ routines * LAPACK Householder Reconstruction - Add Avoid-out-of-bounds-accesses-in-complex-EIG-tests.patch - Rebase lapack-3.2.2.patch - Drop -std=legacy from fortran flags: * add Fix-MinGW-build-error.patch * add Fix-some-minor-inconsistencies-in-LAPACKE_czgesvdq.patch - Remove pre_checkin.sh, remove lapack-man.changes copy - Build CBLAS from lapack package * update baselibs.conf - Clean up spec file: * remove useless make cleanlib * remove ineffective duplicated 'make ..lib' calls with deviating opts, as the object files are not removed (fortuanately) the existing PIC files are used for the static libraries * remove fortran-only -std=legacy opt from CFLAGS - lapack-man: * Build manpages from same sources as the binaries (3.8.0) instead of old 3.5.0. * Merge blas-man package into lapack-man package. Avoids tedious splitting of the two. * Use fdupes macro instead of trying to deduplicate man pages manually. - Cleanup lapack spec: * Remove conditionals for obsolete distro versions * Only use python3-base instead of python3 * Drop old copy of lapack_testing.py as separate source - Add -std=legacy in order to fix boo#1166619. - Use FAT LTO objects in order to provide proper static library. - Update to version 3.8.0: * Symmetric-indefinite Factorization: Aasen’s tridiagonalization 2 stage. * LAPACKE interfaces. - Static -pic libraries are no longer built. - Package lapack_testing.py from lapack 3.8.0 with adjusted interpreter and adjust BuildRequires to python3. [bnc#1075766] - Correct RPM groups - Build the man pages in a separate .spec file (lapack-man). The resulting rpm names are kept identical. This allows us to drop doxygen out of lapack's main package buildroot, thus eliminating a build cycle. - Fix static libraries list - Add baselibs.conf to sources - Include update-alternatives dependency in subpackages that use it to guarantee it will be available. - Move blas and lapack libraries to subdirectories for fixing update-alternatives [bnc#861081] - Add %posttrans scripts for fixing migration problems. - Update to 3.5.0 * Added Hermitian LDLT factorization routines with rook pivoting algorithm * 2-by-1 CSD to be used for tall and skinny matrix with orthonormal columns * New stopping criteria for balancing * New complex division algorithm * Various improvements - No longer removing files due to license reasons as one file is no longer part of Lapack and the others have been replaced by new ones under the normal LAPACK license - packaged symlinks created by update-alternative as %ghost files - removed quotes from update-alternative command to silence rpmlint warning - Split devel packages into devel and devel-static - add update-alternative support to allow user to easily switch between several blas and lapack libraries - Update to 3.4.2 * Bug fixes - Fix bnc#772628 - update baselibs.conf - build the c interface lapacke - doxygen >= 1.7 is required for building docu - Change obsoletes '<=' for lapack and blas back to '<', there was a version update in between - Remove psfig.tex (bnc#757332) - fixing dependencies for devel-32bit - Update to 3.4.1 * Bug fixes - Undo spec file obfuscation - Fixed building on openSUSE 11.4 by fixing defattr - Made the package groups consistent: Development/Libraries/Parallel - Cleaned up spec file formatting - Made all requires use the new package naming - Adhere to shared library policy, packages containing *.so or *.h files have to be named $FOO-devel, packages containing *.a files either have to be named $FOO-devel-static or provide this name - Set license to 'BSD-3-Clause', according to the file LICENSE and the description on http://www.netlib.org/lapack/ it's not public domain - Package README and LICENSE in library packages - Removed rpmlint filters - Use upstream tarball URL - patch license to follow spdx.org standard - Remove redundant/unwanted tags/section (cf. specfile guidelines) - Use %_smp_mflags for parallel building - Update to 3.4.0 * xGEQRT: QR factorization (improved interface) * xGEQRT3: recursive QR factorization. * xTPQRT: Communication-Avoiding QR sequential kernels. * Bug fixes. * Changes see http://www.netlib.org/lapack/lapack-3.4.0.html - Run BLAS and LAPACK testsuite when building - Update to 3.3.1 [bnc#654560] * New procedures to compute the complete CS decomposition of a partitioned unitary matrix * Level-3 BLAS symmetric indefinite solve (xSYTRS) and symmetric indefinite inversion (xSYTRI) * Bug fixes * Changes see at http://www.netlib.org/lapack/lapack-3.3.1.html and http://www.netlib.org/lapack/lapack-3.3.0.html - Add baselibs. [bnc#630656] - Update to version 3.2.2 * Bug fix release * Changes see at http://www.netlib.org/lapack/lapack-3.2.2.html - package man and blas-man as noarch - Drop -O3 -funroll-all-loops compiler flags, build dcabs1.f with -O0. [bnc#569978] - Update to version 3.2.1 [bnc#504669] * Changes see at http://www.netlib.org/lapack/lapack-3.2.1.html - Update to version 3.2.0. [bnc#456384] * Extra Precise Iterative Refinement * XBLAS * Non-Negative Diagonals from Householder QR * High Performance QR and Householder Reflections on Low-Profile Matrices * New fast and accurate Jacobi SVD * Routines for Rectangular Full Packed format * Pivoted Cholesky * Mixed precision iterative refinement * Some new variants added for the one sided factorization * More robust DQDS algorithm - use versioned requires/obsoletes - %run_ldconfig is deprecated - prefix the patch with the packagename - Update to version 3.1.1. [#265999] - Integrates 3.1.0 errata and missing blas routines. - Provides better gfortran SECOND integration. - Split shared libraries into their own versioned subpackage. - Include fixes for the 3.1.0 errata. - Add missing CSROT, DROTM, DROTMG, DSDOT, SDSDOT, SROTM, SROTMG and ZDROT from blas distribution. [#228824] - Restore missing so symlinks. - Update to version 3.1.0. - Rename blasman to blas-man. - Rename lapack-manpages to lapack-man. - Trim BuildRequires. - Build and package -fPIC static library variants. [#205310] - Fix installing of the libblas.so symlink. - Do not package the matrix testing setup library libtmglib. - Do not package useless README file. - converted neededforbuild to BuildRequires - Add gmp-devel to nfb - fixed all other instances of -fno-f2c, and g77 -> gfortran use. - g77 -> gfortran, -fno-f2c is no more. - Updated manpages (#48784) - remove BuildPrereq, BuildRequires is generated - Fixed permission for manpages (#36340) - add %run_ldconfig - Use $RPM_OPT_FLAGS, so it builds on ppc64. - Fixed manpage conflict - correct library version - use -fPIC for all shared objects - link liblapack with shared libblas (same reason) - fixed %{_lib}-problems for x86_64 - Fixed bug #9925, adding blas to required packages. - Fixed bug #6803 - compile with '-01' for IA64 due to 'internal compiler error' in g77 - Fixed bug of missing objects (#4028) - Applied new patches - Modified group, url and files in spec - Applied new patches - Applied new patched - Moved manpages to /usr/share/man - Update to latest version - Package split lapack + blas - Package split: man pages + libraries - New package: LAPACK Linear Algebra Package (LAPACK) OBS-URL: https://build.opensuse.org/request/show/1064110 OBS-URL: https://build.opensuse.org/package/show/science/lapack?expand=0&rev=33
2023-02-10 09:30:51 +01:00
URL: https://www.netlib.org/lapack/
Source0: https://github.com/Reference-LAPACK/lapack/archive/v%{version}.tar.gz#/%{pname}-%{version}.tar.gz
# PATCH-FIX-UPSTREAM fix-lapack-testing.patch gh#Reference-LAPACK/lapack@5b0687f429cf
Patch1: fix-lapack-testing.patch
Source98: lapack.rpmlintrc
Source99: baselibs.conf
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: gcc-fortran
BuildRequires: ninja
BuildRequires: python-rpm-macros
BuildRequires: python3-base
# SECTION Requirements for MAN files
%if %{with man}
BuildRequires: doxygen
BuildRequires: graphviz
%endif
# /SECTION
%description
LAPACK provides routines for solving systems of simultaneous linear
equations, least-squares solutions of linear systems of equations,
eigenvalue problems, and singular value problems. The associated matrix
factorizations (LU, Cholesky, QR, SVD, Schur, generalized Schur) are
also provided, as are related computations such as reordering of the
Schur factorizations and estimating condition numbers. Dense and banded
matrices are handled, but not general sparse matrices. In all areas,
similar functionality is provided for real and complex matrices, in
both single and double precision.
# LAPACK
%package -n liblapack%{so_ver}
Summary: Linear Algebra PACKage: Shared Library
Requires(post): update-alternatives
Requires(postun): update-alternatives
%description -n liblapack%{so_ver}
LAPACK provides routines for solving systems of simultaneous linear
equations, least-squares solutions of linear systems of equations,
eigenvalue problems, and singular value problems. The associated matrix
factorizations (LU, Cholesky, QR, SVD, Schur, generalized Schur) are
also provided, as are related computations such as reordering of the
Schur factorizations and estimating condition numbers. Dense and banded
matrices are handled, but not general sparse matrices. In all areas,
similar functionality is provided for real and complex matrices, in
both single and double precision.
This package provides the shared library for LAPACK.
%package -n %{pname}-devel
Summary: Linear Algebra PACKage: headers and source files for development
Requires: blas-devel = %{version}
Requires: liblapack%{so_ver} = %{version}
Recommends: lapack-man = %{version}
Provides: lapack = %{version}
Obsoletes: lapack < %{version}
%description -n %{pname}-devel
LAPACK provides routines for solving systems of simultaneous linear
equations, least-squares solutions of linear systems of equations,
eigenvalue problems, and singular value problems. The associated matrix
factorizations (LU, Cholesky, QR, SVD, Schur, generalized Schur) are
also provided, as are related computations such as reordering of the
Schur factorizations and estimating condition numbers. Dense and banded
matrices are handled, but not general sparse matrices. In all areas,
similar functionality is provided for real and complex matrices, in
both single and double precision.
%package -n %{pname}-devel-static
Summary: Linear Algebra PACKage - static libraries
Requires: lapack-devel = %{version}
%description -n %{pname}-devel-static
LAPACK provides routines for solving systems of simultaneous linear
equations, least-squares solutions of linear systems of equations,
eigenvalue problems, and singular value problems. The associated matrix
factorizations (LU, Cholesky, QR, SVD, Schur, generalized Schur) are
also provided, as are related computations such as reordering of the
Schur factorizations and estimating condition numbers. Dense and banded
matrices are handled, but not general sparse matrices. In all areas,
similar functionality is provided for real and complex matrices, in
both single and double precision.
This package provides the static library for LAPACK.
# BLAS
%package -n libblas%{so_ver}
Summary: Basic Linear Algebra Subprograms: Shared Library
Requires(post): update-alternatives
Requires(postun): update-alternatives
%description -n libblas%{so_ver}
BLAS (Basic Linear Algebra Subprograms) is a standard library for
numerical algebra. BLAS provides a number of basic algorithms for
linear algebra.
This package provides the shared library for BLAS.
%package -n blas-devel
Summary: Basic Linear Algebra Subprograms: headers and sources for development
Requires: libblas%{so_ver} = %{version}
Recommends: lapack-man = %{version}
Provides: blas = %{version}
Obsoletes: blas < %{version}
%description -n blas-devel
BLAS (Basic Linear Algebra Subprograms) is a standard library for
numerical algebra. BLAS provides a number of basic algorithms for
linear algebra. BLAS is fast and well-tested, was written in FORTRAN 77
and built with gfortran. BLAS manual pages are available in the
blas-man package.
%package -n blas-devel-static
Summary: Basic Linear Algebra Subprograms: static library
Requires: blas-devel = %{version}
%description -n blas-devel-static
BLAS (Basic Linear Algebra Subprograms) is a standard library for
numerical algebra. BLAS provides a number of basic algorithms for
linear algebra. BLAS is fast and well-tested, was written in FORTRAN 77
and built with gfortran. BLAS manual pages are available in the
blas-man package.
This package provides the static library for BLAS.
# LAPACKE
%package -n liblapacke%{so_ver}
Summary: Native C Interface to LAPACK: shared library
Requires(post): update-alternatives
Requires(postun): update-alternatives
%description -n liblapacke%{so_ver}
This library provides a native C interface to LAPACK routines available
at www.netlib.org/lapack to facilitate usage of LAPACK functionality
for C programmers.
%package -n lapacke-devel
Summary: Native C Interface to LAPACK: headers and sources for development
Requires: liblapacke%{so_ver} = %{version}
Recommends: lapack-man = %{version}
Provides: lapacke = %{version}
%description -n lapacke-devel
LAPACKE provides a native C interface to LAPACK routines available
at www.netlib.org/lapack to facilitate usage of LAPACK functionality
for C programmers.
This package provides LAPACKE headers and development files.
%package -n lapacke-devel-static
Summary: Native C Interface to LAPACK: static library
Requires: lapacke-devel = %{version}
%description -n lapacke-devel-static
LAPACKE provides a native C interface to LAPACK routines available
at www.netlib.org/lapack to facilitate usage of LAPACK functionality
for C programmers.
This package provides the static library for LAPACKE.
# CBLAS
%package -n libcblas%{so_ver}
Summary: Native C interface to BLAS: Shared Library
Requires(post): update-alternatives
Requires(postun): update-alternatives
%description -n libcblas%{so_ver}
This library provides a native C interface to BLAS routines available
at www.netlib.org/blas to facilitate usage of BLAS functionality
for C programmers.
%package -n cblas-devel
Summary: Native C interface to BLAS: headers and sources for development
Requires: libcblas%{so_ver} = %{version}
Recommends: lapack-man = %{version}
Provides: cblas = %{version}
%description -n cblas-devel
This library provides a native C interface to BLAS routines available
at www.netlib.org/blas to facilitate usage of BLAS functionality
for C programmers.
This package provides the cblas headers and development files.
%package -n cblas-devel-static
Summary: Native C interface to BLAS: static library
Requires: cblas-devel = %{version}
%description -n cblas-devel-static
This library provides a native C interface to BLAS routines available
at www.netlib.org/blas to facilitate usage of BLAS functionality
for C programmers.
This package contains the CBLAS static libraries.
# TMGLIB
%package -n libtmglib%{so_ver}
Summary: Test Matrix Generator Library: shared library
%description -n libtmglib%{so_ver}
This package provides the shared library for tmglib, the Test Matrix Generator
Library.
%package -n tmglib-devel
Summary: Test Matrix Generator Library: headers and sources for development
Requires: libtmglib%{so_ver} = %{version}
%description -n tmglib-devel
This package provides the headers and sources needed to develop against tmglib,
the Test Matrix Generator Library.
%package -n tmglib-devel-static
Summary: Test Matrix Generator Library: static library
Requires: tmglib-devel
%description -n tmglib-devel-static
This package provides the headers and sources needed to develop against the
tmglib as a static library.
# MAN Pages
%package -n lapack-man
Summary: Man pages for BLAS, CBLAS, and LAPACK
%description -n lapack-man
This package provides the man pages for BLAS, CBLAS, and LAPACK.
%prep
%autosetup -p1 -n %{pname}-%{version}
sed -i -E '1{s@#!/usr/bin/env python[0-9]*@#!%{_bindir}/python%{python3_version}@}' lapack_testing.py
%build
%ifarch %{ix86}
%if 0%{?sle_version:%sle_version} >= 150000
%global precflags "-mfpmath=sse"
%global test_precflags %{precflags}
%else
%global test_precflags "-ffloat-store"
%endif
%endif
%if %{without shared}
%global _lto_cflags %{_lto_cflags} -ffat-lto-objects
%endif
%global optflags_f %{optflags}
Accepting request 1064110 from home:StefanBruens:branches:science - Fix missing symbols for deprecated functions in LAPACK, add Restore_missing_deprecated_prototypes.patch - Add -Wl,--no-undefined when creating shared libraries, to catch missing symbols during build - Test fixes: * Build test binaries during %build, run in %check * Fix incorrect path for test output, to actually catch any test failures - Spec file cleanup: * Do not rename blaslib, it is used for test binaries * Use same commands for building lapacke as for other libs * Remove unused FFLAGS_NOOP for test binaries - Remove unneeded links. These will be taken care of by the update-alternatives. This will bring this package in sync with openblas. - Build deprecated functions again to avoid breaking the ABI. (boo#1207989) - Make library links in the alternatives directory arch dependent. This avoids conflicts when both 32-bit and 64-bit versions are installed (boo#1207563). - Consolidate dummy links for update-alternatives bringing them in sync with openblas. Add alternatives for lapacke. - Add Fix-out-of-bounds-read.patch to fix out of bound reads when user input is not validated properly. (bsc#1193562, CVE-2021-4048) - Rename conflicting MIN.3 and MAX.3 manpages into lapack-{MAX,MIN}.3 - Do not create the dummy files in /etc/alternatives during %install: managed by update-alternatives and packaged as ghost. - stop owning directories provided by filesystem (bsc#1184786) - Update to version 3.9.0: * LAPACK QR-preconditioned QR SVD method - xGESVDQ routines * LAPACK Householder Reconstruction - Add Avoid-out-of-bounds-accesses-in-complex-EIG-tests.patch - Rebase lapack-3.2.2.patch - Drop -std=legacy from fortran flags: * add Fix-MinGW-build-error.patch * add Fix-some-minor-inconsistencies-in-LAPACKE_czgesvdq.patch - Remove pre_checkin.sh, remove lapack-man.changes copy - Build CBLAS from lapack package * update baselibs.conf - Clean up spec file: * remove useless make cleanlib * remove ineffective duplicated 'make ..lib' calls with deviating opts, as the object files are not removed (fortuanately) the existing PIC files are used for the static libraries * remove fortran-only -std=legacy opt from CFLAGS - lapack-man: * Build manpages from same sources as the binaries (3.8.0) instead of old 3.5.0. * Merge blas-man package into lapack-man package. Avoids tedious splitting of the two. * Use fdupes macro instead of trying to deduplicate man pages manually. - Cleanup lapack spec: * Remove conditionals for obsolete distro versions * Only use python3-base instead of python3 * Drop old copy of lapack_testing.py as separate source - Add -std=legacy in order to fix boo#1166619. - Use FAT LTO objects in order to provide proper static library. - Update to version 3.8.0: * Symmetric-indefinite Factorization: Aasen’s tridiagonalization 2 stage. * LAPACKE interfaces. - Static -pic libraries are no longer built. - Package lapack_testing.py from lapack 3.8.0 with adjusted interpreter and adjust BuildRequires to python3. [bnc#1075766] - Correct RPM groups - Build the man pages in a separate .spec file (lapack-man). The resulting rpm names are kept identical. This allows us to drop doxygen out of lapack's main package buildroot, thus eliminating a build cycle. - Fix static libraries list - Add baselibs.conf to sources - Include update-alternatives dependency in subpackages that use it to guarantee it will be available. - Move blas and lapack libraries to subdirectories for fixing update-alternatives [bnc#861081] - Add %posttrans scripts for fixing migration problems. - Update to 3.5.0 * Added Hermitian LDLT factorization routines with rook pivoting algorithm * 2-by-1 CSD to be used for tall and skinny matrix with orthonormal columns * New stopping criteria for balancing * New complex division algorithm * Various improvements - No longer removing files due to license reasons as one file is no longer part of Lapack and the others have been replaced by new ones under the normal LAPACK license - packaged symlinks created by update-alternative as %ghost files - removed quotes from update-alternative command to silence rpmlint warning - Split devel packages into devel and devel-static - add update-alternative support to allow user to easily switch between several blas and lapack libraries - Update to 3.4.2 * Bug fixes - Fix bnc#772628 - update baselibs.conf - build the c interface lapacke - doxygen >= 1.7 is required for building docu - Change obsoletes '<=' for lapack and blas back to '<', there was a version update in between - Remove psfig.tex (bnc#757332) - fixing dependencies for devel-32bit - Update to 3.4.1 * Bug fixes - Undo spec file obfuscation - Fixed building on openSUSE 11.4 by fixing defattr - Made the package groups consistent: Development/Libraries/Parallel - Cleaned up spec file formatting - Made all requires use the new package naming - Adhere to shared library policy, packages containing *.so or *.h files have to be named $FOO-devel, packages containing *.a files either have to be named $FOO-devel-static or provide this name - Set license to 'BSD-3-Clause', according to the file LICENSE and the description on http://www.netlib.org/lapack/ it's not public domain - Package README and LICENSE in library packages - Removed rpmlint filters - Use upstream tarball URL - patch license to follow spdx.org standard - Remove redundant/unwanted tags/section (cf. specfile guidelines) - Use %_smp_mflags for parallel building - Update to 3.4.0 * xGEQRT: QR factorization (improved interface) * xGEQRT3: recursive QR factorization. * xTPQRT: Communication-Avoiding QR sequential kernels. * Bug fixes. * Changes see http://www.netlib.org/lapack/lapack-3.4.0.html - Run BLAS and LAPACK testsuite when building - Update to 3.3.1 [bnc#654560] * New procedures to compute the complete CS decomposition of a partitioned unitary matrix * Level-3 BLAS symmetric indefinite solve (xSYTRS) and symmetric indefinite inversion (xSYTRI) * Bug fixes * Changes see at http://www.netlib.org/lapack/lapack-3.3.1.html and http://www.netlib.org/lapack/lapack-3.3.0.html - Add baselibs. [bnc#630656] - Update to version 3.2.2 * Bug fix release * Changes see at http://www.netlib.org/lapack/lapack-3.2.2.html - package man and blas-man as noarch - Drop -O3 -funroll-all-loops compiler flags, build dcabs1.f with -O0. [bnc#569978] - Update to version 3.2.1 [bnc#504669] * Changes see at http://www.netlib.org/lapack/lapack-3.2.1.html - Update to version 3.2.0. [bnc#456384] * Extra Precise Iterative Refinement * XBLAS * Non-Negative Diagonals from Householder QR * High Performance QR and Householder Reflections on Low-Profile Matrices * New fast and accurate Jacobi SVD * Routines for Rectangular Full Packed format * Pivoted Cholesky * Mixed precision iterative refinement * Some new variants added for the one sided factorization * More robust DQDS algorithm - use versioned requires/obsoletes - %run_ldconfig is deprecated - prefix the patch with the packagename - Update to version 3.1.1. [#265999] - Integrates 3.1.0 errata and missing blas routines. - Provides better gfortran SECOND integration. - Split shared libraries into their own versioned subpackage. - Include fixes for the 3.1.0 errata. - Add missing CSROT, DROTM, DROTMG, DSDOT, SDSDOT, SROTM, SROTMG and ZDROT from blas distribution. [#228824] - Restore missing so symlinks. - Update to version 3.1.0. - Rename blasman to blas-man. - Rename lapack-manpages to lapack-man. - Trim BuildRequires. - Build and package -fPIC static library variants. [#205310] - Fix installing of the libblas.so symlink. - Do not package the matrix testing setup library libtmglib. - Do not package useless README file. - converted neededforbuild to BuildRequires - Add gmp-devel to nfb - fixed all other instances of -fno-f2c, and g77 -> gfortran use. - g77 -> gfortran, -fno-f2c is no more. - Updated manpages (#48784) - remove BuildPrereq, BuildRequires is generated - Fixed permission for manpages (#36340) - add %run_ldconfig - Use $RPM_OPT_FLAGS, so it builds on ppc64. - Fixed manpage conflict - correct library version - use -fPIC for all shared objects - link liblapack with shared libblas (same reason) - fixed %{_lib}-problems for x86_64 - Fixed bug #9925, adding blas to required packages. - Fixed bug #6803 - compile with '-01' for IA64 due to 'internal compiler error' in g77 - Fixed bug of missing objects (#4028) - Applied new patches - Modified group, url and files in spec - Applied new patches - Applied new patched - Moved manpages to /usr/share/man - Update to latest version - Package split lapack + blas - Package split: man pages + libraries - New package: LAPACK Linear Algebra Package (LAPACK) OBS-URL: https://build.opensuse.org/request/show/1064110 OBS-URL: https://build.opensuse.org/package/show/science/lapack?expand=0&rev=33
2023-02-10 09:30:51 +01:00
%cmake \
-DBUILD_SHARED_LIBS=%{?with_shared:ON}%{!?with_shared:OFF} \
-DBLAS++=OFF \
-DLAPACK++=OFF \
-DCBLAS=ON \
-DLAPACKE=ON \
-DLAPACKE_WITH_TMG=%{?with_tmglib:ON}%{!?with_tmglib:OFF} \
-DBUILD_DEPRECATED=ON \
-DBUILD_MAN_DOCUMENTATION=%{?with_man:ON}%{!?with_man:OFF} \
-DBUILD_TESTING=ON \
%{nil}
%cmake_build
%if %{with man}
doxygen Doxyfile.man
%endif
Accepting request 1064110 from home:StefanBruens:branches:science - Fix missing symbols for deprecated functions in LAPACK, add Restore_missing_deprecated_prototypes.patch - Add -Wl,--no-undefined when creating shared libraries, to catch missing symbols during build - Test fixes: * Build test binaries during %build, run in %check * Fix incorrect path for test output, to actually catch any test failures - Spec file cleanup: * Do not rename blaslib, it is used for test binaries * Use same commands for building lapacke as for other libs * Remove unused FFLAGS_NOOP for test binaries - Remove unneeded links. These will be taken care of by the update-alternatives. This will bring this package in sync with openblas. - Build deprecated functions again to avoid breaking the ABI. (boo#1207989) - Make library links in the alternatives directory arch dependent. This avoids conflicts when both 32-bit and 64-bit versions are installed (boo#1207563). - Consolidate dummy links for update-alternatives bringing them in sync with openblas. Add alternatives for lapacke. - Add Fix-out-of-bounds-read.patch to fix out of bound reads when user input is not validated properly. (bsc#1193562, CVE-2021-4048) - Rename conflicting MIN.3 and MAX.3 manpages into lapack-{MAX,MIN}.3 - Do not create the dummy files in /etc/alternatives during %install: managed by update-alternatives and packaged as ghost. - stop owning directories provided by filesystem (bsc#1184786) - Update to version 3.9.0: * LAPACK QR-preconditioned QR SVD method - xGESVDQ routines * LAPACK Householder Reconstruction - Add Avoid-out-of-bounds-accesses-in-complex-EIG-tests.patch - Rebase lapack-3.2.2.patch - Drop -std=legacy from fortran flags: * add Fix-MinGW-build-error.patch * add Fix-some-minor-inconsistencies-in-LAPACKE_czgesvdq.patch - Remove pre_checkin.sh, remove lapack-man.changes copy - Build CBLAS from lapack package * update baselibs.conf - Clean up spec file: * remove useless make cleanlib * remove ineffective duplicated 'make ..lib' calls with deviating opts, as the object files are not removed (fortuanately) the existing PIC files are used for the static libraries * remove fortran-only -std=legacy opt from CFLAGS - lapack-man: * Build manpages from same sources as the binaries (3.8.0) instead of old 3.5.0. * Merge blas-man package into lapack-man package. Avoids tedious splitting of the two. * Use fdupes macro instead of trying to deduplicate man pages manually. - Cleanup lapack spec: * Remove conditionals for obsolete distro versions * Only use python3-base instead of python3 * Drop old copy of lapack_testing.py as separate source - Add -std=legacy in order to fix boo#1166619. - Use FAT LTO objects in order to provide proper static library. - Update to version 3.8.0: * Symmetric-indefinite Factorization: Aasen’s tridiagonalization 2 stage. * LAPACKE interfaces. - Static -pic libraries are no longer built. - Package lapack_testing.py from lapack 3.8.0 with adjusted interpreter and adjust BuildRequires to python3. [bnc#1075766] - Correct RPM groups - Build the man pages in a separate .spec file (lapack-man). The resulting rpm names are kept identical. This allows us to drop doxygen out of lapack's main package buildroot, thus eliminating a build cycle. - Fix static libraries list - Add baselibs.conf to sources - Include update-alternatives dependency in subpackages that use it to guarantee it will be available. - Move blas and lapack libraries to subdirectories for fixing update-alternatives [bnc#861081] - Add %posttrans scripts for fixing migration problems. - Update to 3.5.0 * Added Hermitian LDLT factorization routines with rook pivoting algorithm * 2-by-1 CSD to be used for tall and skinny matrix with orthonormal columns * New stopping criteria for balancing * New complex division algorithm * Various improvements - No longer removing files due to license reasons as one file is no longer part of Lapack and the others have been replaced by new ones under the normal LAPACK license - packaged symlinks created by update-alternative as %ghost files - removed quotes from update-alternative command to silence rpmlint warning - Split devel packages into devel and devel-static - add update-alternative support to allow user to easily switch between several blas and lapack libraries - Update to 3.4.2 * Bug fixes - Fix bnc#772628 - update baselibs.conf - build the c interface lapacke - doxygen >= 1.7 is required for building docu - Change obsoletes '<=' for lapack and blas back to '<', there was a version update in between - Remove psfig.tex (bnc#757332) - fixing dependencies for devel-32bit - Update to 3.4.1 * Bug fixes - Undo spec file obfuscation - Fixed building on openSUSE 11.4 by fixing defattr - Made the package groups consistent: Development/Libraries/Parallel - Cleaned up spec file formatting - Made all requires use the new package naming - Adhere to shared library policy, packages containing *.so or *.h files have to be named $FOO-devel, packages containing *.a files either have to be named $FOO-devel-static or provide this name - Set license to 'BSD-3-Clause', according to the file LICENSE and the description on http://www.netlib.org/lapack/ it's not public domain - Package README and LICENSE in library packages - Removed rpmlint filters - Use upstream tarball URL - patch license to follow spdx.org standard - Remove redundant/unwanted tags/section (cf. specfile guidelines) - Use %_smp_mflags for parallel building - Update to 3.4.0 * xGEQRT: QR factorization (improved interface) * xGEQRT3: recursive QR factorization. * xTPQRT: Communication-Avoiding QR sequential kernels. * Bug fixes. * Changes see http://www.netlib.org/lapack/lapack-3.4.0.html - Run BLAS and LAPACK testsuite when building - Update to 3.3.1 [bnc#654560] * New procedures to compute the complete CS decomposition of a partitioned unitary matrix * Level-3 BLAS symmetric indefinite solve (xSYTRS) and symmetric indefinite inversion (xSYTRI) * Bug fixes * Changes see at http://www.netlib.org/lapack/lapack-3.3.1.html and http://www.netlib.org/lapack/lapack-3.3.0.html - Add baselibs. [bnc#630656] - Update to version 3.2.2 * Bug fix release * Changes see at http://www.netlib.org/lapack/lapack-3.2.2.html - package man and blas-man as noarch - Drop -O3 -funroll-all-loops compiler flags, build dcabs1.f with -O0. [bnc#569978] - Update to version 3.2.1 [bnc#504669] * Changes see at http://www.netlib.org/lapack/lapack-3.2.1.html - Update to version 3.2.0. [bnc#456384] * Extra Precise Iterative Refinement * XBLAS * Non-Negative Diagonals from Householder QR * High Performance QR and Householder Reflections on Low-Profile Matrices * New fast and accurate Jacobi SVD * Routines for Rectangular Full Packed format * Pivoted Cholesky * Mixed precision iterative refinement * Some new variants added for the one sided factorization * More robust DQDS algorithm - use versioned requires/obsoletes - %run_ldconfig is deprecated - prefix the patch with the packagename - Update to version 3.1.1. [#265999] - Integrates 3.1.0 errata and missing blas routines. - Provides better gfortran SECOND integration. - Split shared libraries into their own versioned subpackage. - Include fixes for the 3.1.0 errata. - Add missing CSROT, DROTM, DROTMG, DSDOT, SDSDOT, SROTM, SROTMG and ZDROT from blas distribution. [#228824] - Restore missing so symlinks. - Update to version 3.1.0. - Rename blasman to blas-man. - Rename lapack-manpages to lapack-man. - Trim BuildRequires. - Build and package -fPIC static library variants. [#205310] - Fix installing of the libblas.so symlink. - Do not package the matrix testing setup library libtmglib. - Do not package useless README file. - converted neededforbuild to BuildRequires - Add gmp-devel to nfb - fixed all other instances of -fno-f2c, and g77 -> gfortran use. - g77 -> gfortran, -fno-f2c is no more. - Updated manpages (#48784) - remove BuildPrereq, BuildRequires is generated - Fixed permission for manpages (#36340) - add %run_ldconfig - Use $RPM_OPT_FLAGS, so it builds on ppc64. - Fixed manpage conflict - correct library version - use -fPIC for all shared objects - link liblapack with shared libblas (same reason) - fixed %{_lib}-problems for x86_64 - Fixed bug #9925, adding blas to required packages. - Fixed bug #6803 - compile with '-01' for IA64 due to 'internal compiler error' in g77 - Fixed bug of missing objects (#4028) - Applied new patches - Modified group, url and files in spec - Applied new patches - Applied new patched - Moved manpages to /usr/share/man - Update to latest version - Package split lapack + blas - Package split: man pages + libraries - New package: LAPACK Linear Algebra Package (LAPACK) OBS-URL: https://build.opensuse.org/request/show/1064110 OBS-URL: https://build.opensuse.org/package/show/science/lapack?expand=0&rev=33
2023-02-10 09:30:51 +01:00
%install
%cmake_install
Accepting request 1064110 from home:StefanBruens:branches:science - Fix missing symbols for deprecated functions in LAPACK, add Restore_missing_deprecated_prototypes.patch - Add -Wl,--no-undefined when creating shared libraries, to catch missing symbols during build - Test fixes: * Build test binaries during %build, run in %check * Fix incorrect path for test output, to actually catch any test failures - Spec file cleanup: * Do not rename blaslib, it is used for test binaries * Use same commands for building lapacke as for other libs * Remove unused FFLAGS_NOOP for test binaries - Remove unneeded links. These will be taken care of by the update-alternatives. This will bring this package in sync with openblas. - Build deprecated functions again to avoid breaking the ABI. (boo#1207989) - Make library links in the alternatives directory arch dependent. This avoids conflicts when both 32-bit and 64-bit versions are installed (boo#1207563). - Consolidate dummy links for update-alternatives bringing them in sync with openblas. Add alternatives for lapacke. - Add Fix-out-of-bounds-read.patch to fix out of bound reads when user input is not validated properly. (bsc#1193562, CVE-2021-4048) - Rename conflicting MIN.3 and MAX.3 manpages into lapack-{MAX,MIN}.3 - Do not create the dummy files in /etc/alternatives during %install: managed by update-alternatives and packaged as ghost. - stop owning directories provided by filesystem (bsc#1184786) - Update to version 3.9.0: * LAPACK QR-preconditioned QR SVD method - xGESVDQ routines * LAPACK Householder Reconstruction - Add Avoid-out-of-bounds-accesses-in-complex-EIG-tests.patch - Rebase lapack-3.2.2.patch - Drop -std=legacy from fortran flags: * add Fix-MinGW-build-error.patch * add Fix-some-minor-inconsistencies-in-LAPACKE_czgesvdq.patch - Remove pre_checkin.sh, remove lapack-man.changes copy - Build CBLAS from lapack package * update baselibs.conf - Clean up spec file: * remove useless make cleanlib * remove ineffective duplicated 'make ..lib' calls with deviating opts, as the object files are not removed (fortuanately) the existing PIC files are used for the static libraries * remove fortran-only -std=legacy opt from CFLAGS - lapack-man: * Build manpages from same sources as the binaries (3.8.0) instead of old 3.5.0. * Merge blas-man package into lapack-man package. Avoids tedious splitting of the two. * Use fdupes macro instead of trying to deduplicate man pages manually. - Cleanup lapack spec: * Remove conditionals for obsolete distro versions * Only use python3-base instead of python3 * Drop old copy of lapack_testing.py as separate source - Add -std=legacy in order to fix boo#1166619. - Use FAT LTO objects in order to provide proper static library. - Update to version 3.8.0: * Symmetric-indefinite Factorization: Aasen’s tridiagonalization 2 stage. * LAPACKE interfaces. - Static -pic libraries are no longer built. - Package lapack_testing.py from lapack 3.8.0 with adjusted interpreter and adjust BuildRequires to python3. [bnc#1075766] - Correct RPM groups - Build the man pages in a separate .spec file (lapack-man). The resulting rpm names are kept identical. This allows us to drop doxygen out of lapack's main package buildroot, thus eliminating a build cycle. - Fix static libraries list - Add baselibs.conf to sources - Include update-alternatives dependency in subpackages that use it to guarantee it will be available. - Move blas and lapack libraries to subdirectories for fixing update-alternatives [bnc#861081] - Add %posttrans scripts for fixing migration problems. - Update to 3.5.0 * Added Hermitian LDLT factorization routines with rook pivoting algorithm * 2-by-1 CSD to be used for tall and skinny matrix with orthonormal columns * New stopping criteria for balancing * New complex division algorithm * Various improvements - No longer removing files due to license reasons as one file is no longer part of Lapack and the others have been replaced by new ones under the normal LAPACK license - packaged symlinks created by update-alternative as %ghost files - removed quotes from update-alternative command to silence rpmlint warning - Split devel packages into devel and devel-static - add update-alternative support to allow user to easily switch between several blas and lapack libraries - Update to 3.4.2 * Bug fixes - Fix bnc#772628 - update baselibs.conf - build the c interface lapacke - doxygen >= 1.7 is required for building docu - Change obsoletes '<=' for lapack and blas back to '<', there was a version update in between - Remove psfig.tex (bnc#757332) - fixing dependencies for devel-32bit - Update to 3.4.1 * Bug fixes - Undo spec file obfuscation - Fixed building on openSUSE 11.4 by fixing defattr - Made the package groups consistent: Development/Libraries/Parallel - Cleaned up spec file formatting - Made all requires use the new package naming - Adhere to shared library policy, packages containing *.so or *.h files have to be named $FOO-devel, packages containing *.a files either have to be named $FOO-devel-static or provide this name - Set license to 'BSD-3-Clause', according to the file LICENSE and the description on http://www.netlib.org/lapack/ it's not public domain - Package README and LICENSE in library packages - Removed rpmlint filters - Use upstream tarball URL - patch license to follow spdx.org standard - Remove redundant/unwanted tags/section (cf. specfile guidelines) - Use %_smp_mflags for parallel building - Update to 3.4.0 * xGEQRT: QR factorization (improved interface) * xGEQRT3: recursive QR factorization. * xTPQRT: Communication-Avoiding QR sequential kernels. * Bug fixes. * Changes see http://www.netlib.org/lapack/lapack-3.4.0.html - Run BLAS and LAPACK testsuite when building - Update to 3.3.1 [bnc#654560] * New procedures to compute the complete CS decomposition of a partitioned unitary matrix * Level-3 BLAS symmetric indefinite solve (xSYTRS) and symmetric indefinite inversion (xSYTRI) * Bug fixes * Changes see at http://www.netlib.org/lapack/lapack-3.3.1.html and http://www.netlib.org/lapack/lapack-3.3.0.html - Add baselibs. [bnc#630656] - Update to version 3.2.2 * Bug fix release * Changes see at http://www.netlib.org/lapack/lapack-3.2.2.html - package man and blas-man as noarch - Drop -O3 -funroll-all-loops compiler flags, build dcabs1.f with -O0. [bnc#569978] - Update to version 3.2.1 [bnc#504669] * Changes see at http://www.netlib.org/lapack/lapack-3.2.1.html - Update to version 3.2.0. [bnc#456384] * Extra Precise Iterative Refinement * XBLAS * Non-Negative Diagonals from Householder QR * High Performance QR and Householder Reflections on Low-Profile Matrices * New fast and accurate Jacobi SVD * Routines for Rectangular Full Packed format * Pivoted Cholesky * Mixed precision iterative refinement * Some new variants added for the one sided factorization * More robust DQDS algorithm - use versioned requires/obsoletes - %run_ldconfig is deprecated - prefix the patch with the packagename - Update to version 3.1.1. [#265999] - Integrates 3.1.0 errata and missing blas routines. - Provides better gfortran SECOND integration. - Split shared libraries into their own versioned subpackage. - Include fixes for the 3.1.0 errata. - Add missing CSROT, DROTM, DROTMG, DSDOT, SDSDOT, SROTM, SROTMG and ZDROT from blas distribution. [#228824] - Restore missing so symlinks. - Update to version 3.1.0. - Rename blasman to blas-man. - Rename lapack-manpages to lapack-man. - Trim BuildRequires. - Build and package -fPIC static library variants. [#205310] - Fix installing of the libblas.so symlink. - Do not package the matrix testing setup library libtmglib. - Do not package useless README file. - converted neededforbuild to BuildRequires - Add gmp-devel to nfb - fixed all other instances of -fno-f2c, and g77 -> gfortran use. - g77 -> gfortran, -fno-f2c is no more. - Updated manpages (#48784) - remove BuildPrereq, BuildRequires is generated - Fixed permission for manpages (#36340) - add %run_ldconfig - Use $RPM_OPT_FLAGS, so it builds on ppc64. - Fixed manpage conflict - correct library version - use -fPIC for all shared objects - link liblapack with shared libblas (same reason) - fixed %{_lib}-problems for x86_64 - Fixed bug #9925, adding blas to required packages. - Fixed bug #6803 - compile with '-01' for IA64 due to 'internal compiler error' in g77 - Fixed bug of missing objects (#4028) - Applied new patches - Modified group, url and files in spec - Applied new patches - Applied new patched - Moved manpages to /usr/share/man - Update to latest version - Package split lapack + blas - Package split: man pages + libraries - New package: LAPACK Linear Algebra Package (LAPACK) OBS-URL: https://build.opensuse.org/request/show/1064110 OBS-URL: https://build.opensuse.org/package/show/science/lapack?expand=0&rev=33
2023-02-10 09:30:51 +01:00
%if %{with shared}
# Prepare for update-alternatives
install -d %{buildroot}%{_sysconfdir}/alternatives
install -d %{buildroot}%{_libdir}/{lapack,blas}
mv %{buildroot}%{_libdir}/liblapack{,e}.so.* %{buildroot}%{_libdir}/lapack/
mv %{buildroot}%{_libdir}/lib{,c}blas.so.* %{buildroot}%{_libdir}/blas/
Accepting request 1064110 from home:StefanBruens:branches:science - Fix missing symbols for deprecated functions in LAPACK, add Restore_missing_deprecated_prototypes.patch - Add -Wl,--no-undefined when creating shared libraries, to catch missing symbols during build - Test fixes: * Build test binaries during %build, run in %check * Fix incorrect path for test output, to actually catch any test failures - Spec file cleanup: * Do not rename blaslib, it is used for test binaries * Use same commands for building lapacke as for other libs * Remove unused FFLAGS_NOOP for test binaries - Remove unneeded links. These will be taken care of by the update-alternatives. This will bring this package in sync with openblas. - Build deprecated functions again to avoid breaking the ABI. (boo#1207989) - Make library links in the alternatives directory arch dependent. This avoids conflicts when both 32-bit and 64-bit versions are installed (boo#1207563). - Consolidate dummy links for update-alternatives bringing them in sync with openblas. Add alternatives for lapacke. - Add Fix-out-of-bounds-read.patch to fix out of bound reads when user input is not validated properly. (bsc#1193562, CVE-2021-4048) - Rename conflicting MIN.3 and MAX.3 manpages into lapack-{MAX,MIN}.3 - Do not create the dummy files in /etc/alternatives during %install: managed by update-alternatives and packaged as ghost. - stop owning directories provided by filesystem (bsc#1184786) - Update to version 3.9.0: * LAPACK QR-preconditioned QR SVD method - xGESVDQ routines * LAPACK Householder Reconstruction - Add Avoid-out-of-bounds-accesses-in-complex-EIG-tests.patch - Rebase lapack-3.2.2.patch - Drop -std=legacy from fortran flags: * add Fix-MinGW-build-error.patch * add Fix-some-minor-inconsistencies-in-LAPACKE_czgesvdq.patch - Remove pre_checkin.sh, remove lapack-man.changes copy - Build CBLAS from lapack package * update baselibs.conf - Clean up spec file: * remove useless make cleanlib * remove ineffective duplicated 'make ..lib' calls with deviating opts, as the object files are not removed (fortuanately) the existing PIC files are used for the static libraries * remove fortran-only -std=legacy opt from CFLAGS - lapack-man: * Build manpages from same sources as the binaries (3.8.0) instead of old 3.5.0. * Merge blas-man package into lapack-man package. Avoids tedious splitting of the two. * Use fdupes macro instead of trying to deduplicate man pages manually. - Cleanup lapack spec: * Remove conditionals for obsolete distro versions * Only use python3-base instead of python3 * Drop old copy of lapack_testing.py as separate source - Add -std=legacy in order to fix boo#1166619. - Use FAT LTO objects in order to provide proper static library. - Update to version 3.8.0: * Symmetric-indefinite Factorization: Aasen’s tridiagonalization 2 stage. * LAPACKE interfaces. - Static -pic libraries are no longer built. - Package lapack_testing.py from lapack 3.8.0 with adjusted interpreter and adjust BuildRequires to python3. [bnc#1075766] - Correct RPM groups - Build the man pages in a separate .spec file (lapack-man). The resulting rpm names are kept identical. This allows us to drop doxygen out of lapack's main package buildroot, thus eliminating a build cycle. - Fix static libraries list - Add baselibs.conf to sources - Include update-alternatives dependency in subpackages that use it to guarantee it will be available. - Move blas and lapack libraries to subdirectories for fixing update-alternatives [bnc#861081] - Add %posttrans scripts for fixing migration problems. - Update to 3.5.0 * Added Hermitian LDLT factorization routines with rook pivoting algorithm * 2-by-1 CSD to be used for tall and skinny matrix with orthonormal columns * New stopping criteria for balancing * New complex division algorithm * Various improvements - No longer removing files due to license reasons as one file is no longer part of Lapack and the others have been replaced by new ones under the normal LAPACK license - packaged symlinks created by update-alternative as %ghost files - removed quotes from update-alternative command to silence rpmlint warning - Split devel packages into devel and devel-static - add update-alternative support to allow user to easily switch between several blas and lapack libraries - Update to 3.4.2 * Bug fixes - Fix bnc#772628 - update baselibs.conf - build the c interface lapacke - doxygen >= 1.7 is required for building docu - Change obsoletes '<=' for lapack and blas back to '<', there was a version update in between - Remove psfig.tex (bnc#757332) - fixing dependencies for devel-32bit - Update to 3.4.1 * Bug fixes - Undo spec file obfuscation - Fixed building on openSUSE 11.4 by fixing defattr - Made the package groups consistent: Development/Libraries/Parallel - Cleaned up spec file formatting - Made all requires use the new package naming - Adhere to shared library policy, packages containing *.so or *.h files have to be named $FOO-devel, packages containing *.a files either have to be named $FOO-devel-static or provide this name - Set license to 'BSD-3-Clause', according to the file LICENSE and the description on http://www.netlib.org/lapack/ it's not public domain - Package README and LICENSE in library packages - Removed rpmlint filters - Use upstream tarball URL - patch license to follow spdx.org standard - Remove redundant/unwanted tags/section (cf. specfile guidelines) - Use %_smp_mflags for parallel building - Update to 3.4.0 * xGEQRT: QR factorization (improved interface) * xGEQRT3: recursive QR factorization. * xTPQRT: Communication-Avoiding QR sequential kernels. * Bug fixes. * Changes see http://www.netlib.org/lapack/lapack-3.4.0.html - Run BLAS and LAPACK testsuite when building - Update to 3.3.1 [bnc#654560] * New procedures to compute the complete CS decomposition of a partitioned unitary matrix * Level-3 BLAS symmetric indefinite solve (xSYTRS) and symmetric indefinite inversion (xSYTRI) * Bug fixes * Changes see at http://www.netlib.org/lapack/lapack-3.3.1.html and http://www.netlib.org/lapack/lapack-3.3.0.html - Add baselibs. [bnc#630656] - Update to version 3.2.2 * Bug fix release * Changes see at http://www.netlib.org/lapack/lapack-3.2.2.html - package man and blas-man as noarch - Drop -O3 -funroll-all-loops compiler flags, build dcabs1.f with -O0. [bnc#569978] - Update to version 3.2.1 [bnc#504669] * Changes see at http://www.netlib.org/lapack/lapack-3.2.1.html - Update to version 3.2.0. [bnc#456384] * Extra Precise Iterative Refinement * XBLAS * Non-Negative Diagonals from Householder QR * High Performance QR and Householder Reflections on Low-Profile Matrices * New fast and accurate Jacobi SVD * Routines for Rectangular Full Packed format * Pivoted Cholesky * Mixed precision iterative refinement * Some new variants added for the one sided factorization * More robust DQDS algorithm - use versioned requires/obsoletes - %run_ldconfig is deprecated - prefix the patch with the packagename - Update to version 3.1.1. [#265999] - Integrates 3.1.0 errata and missing blas routines. - Provides better gfortran SECOND integration. - Split shared libraries into their own versioned subpackage. - Include fixes for the 3.1.0 errata. - Add missing CSROT, DROTM, DROTMG, DSDOT, SDSDOT, SROTM, SROTMG and ZDROT from blas distribution. [#228824] - Restore missing so symlinks. - Update to version 3.1.0. - Rename blasman to blas-man. - Rename lapack-manpages to lapack-man. - Trim BuildRequires. - Build and package -fPIC static library variants. [#205310] - Fix installing of the libblas.so symlink. - Do not package the matrix testing setup library libtmglib. - Do not package useless README file. - converted neededforbuild to BuildRequires - Add gmp-devel to nfb - fixed all other instances of -fno-f2c, and g77 -> gfortran use. - g77 -> gfortran, -fno-f2c is no more. - Updated manpages (#48784) - remove BuildPrereq, BuildRequires is generated - Fixed permission for manpages (#36340) - add %run_ldconfig - Use $RPM_OPT_FLAGS, so it builds on ppc64. - Fixed manpage conflict - correct library version - use -fPIC for all shared objects - link liblapack with shared libblas (same reason) - fixed %{_lib}-problems for x86_64 - Fixed bug #9925, adding blas to required packages. - Fixed bug #6803 - compile with '-01' for IA64 due to 'internal compiler error' in g77 - Fixed bug of missing objects (#4028) - Applied new patches - Modified group, url and files in spec - Applied new patches - Applied new patched - Moved manpages to /usr/share/man - Update to latest version - Package split lapack + blas - Package split: man pages + libraries - New package: LAPACK Linear Algebra Package (LAPACK) OBS-URL: https://build.opensuse.org/request/show/1064110 OBS-URL: https://build.opensuse.org/package/show/science/lapack?expand=0&rev=33
2023-02-10 09:30:51 +01:00
# Create the symlinks
for t in blas cblas lapack lapacke
do
ln -s %{_sysconfdir}/alternatives/lib${t}.so.%{so_ver}%{?a_x} %{buildroot}%{_libdir}/lib${t}.so.%{so_ver}
done
%else
# Remove headers and script files for static flavour to avoid file conflicts
rm -fr %{buildroot}%{_includedir}/*.h \
%{buildroot}%{_libdir}/cmake \
%{buildroot}%{_libdir}/pkgconfig
%endif
%if %{with man}
# Delete weirdly named man files
rm %{__builddir}/DOCS/man/man3/_*_.3
# Rename isnan to avoid conflict with libm's isnan man file (package man-pages)
mv %{__builddir}/DOCS/man/man3/isnan{,-lapack}.3
# Install man pages
mkdir -p %{buildroot}%{_mandir}
cp -r %{__builddir}/DOCS/man/man3 %{buildroot}%{_mandir}/
%endif
%check
%ctest
%if %{with shared}
%ldconfig_scriptlets -n libtmglib%{so_ver}
# BLAS
%post -n libblas%{so_ver}
%{_sbindir}/update-alternatives --install \
%{_libdir}/libblas.so.%{so_ver} libblas.so.%{so_ver}%{?a_x} %{_libdir}/blas/libblas.so.%{so_ver} 50
/sbin/ldconfig
%postun -n libblas%{so_ver}
/sbin/ldconfig
if [ ! %{_libdir}/blas/libblas.so.%{so_ver} ] ; then
%{_sbindir}/update-alternatives --remove libblas.so.%{so_ver}%{?a_x} %{_libdir}/blas/libblas.so.%{so_ver}
fi
# /BLAS
# LAPACK
%post -n liblapack%{so_ver}
%{_sbindir}/update-alternatives --install \
%{_libdir}/liblapack.so.%{so_ver} liblapack.so.%{so_ver}%{?a_x} %{_libdir}/lapack/liblapack.so.%{so_ver} 50
/sbin/ldconfig
%postun -n liblapack%{so_ver}
/sbin/ldconfig
if [ ! -f %{_libdir}/lapack/liblapack.so.%{so_ver} ] ; then
%{_sbindir}/update-alternatives --remove liblapack.so.%{so_ver}%{?a_x} %{_libdir}/lapack/liblapack.so.%{so_ver}
fi
# /LAPACK
# CBLAS
%post -n libcblas%{so_ver}
%{_sbindir}/update-alternatives --install \
%{_libdir}/libcblas.so.%{so_ver} libcblas.so.%{so_ver}%{?a_x} %{_libdir}/blas/libcblas.so.%{so_ver} 50
/sbin/ldconfig
%postun -n libcblas%{so_ver}
/sbin/ldconfig
if [ ! -f %{_libdir}/blas/libcblas.so.%{so_ver} ] ; then
%{_sbindir}/update-alternatives --remove libcblas.so.%{so_ver}%{?a_x} %{_libdir}/blas/libcblas.so.%{so_ver}
fi
# /CBLAS
# LAPACKE
%post -n liblapacke%{so_ver}
%{_sbindir}/update-alternatives --install \
%{_libdir}/liblapacke.so.%{so_ver} liblapacke.so.%{so_ver}%{?a_x} %{_libdir}/lapack/liblapacke.so.%{so_ver} 50
/sbin/ldconfig
%postun -n liblapacke%{so_ver}
/sbin/ldconfig
if [ ! -f %{_libdir}/lapack/liblapacke.so.%{so_ver} ] ; then
%{_sbindir}/update-alternatives --remove liblapacke.so.%{so_ver}%{?a_x} %{_libdir}/lapack/liblapacke.so.%{so_ver}
fi
# /LAPACKE
%endif
# SECTION main vs static flavour packages
%if %{with shared}
%files -n liblapack%{so_ver}
%doc README.md
%license LICENSE
%dir %{_libdir}/lapack
%{_libdir}/lapack/liblapack.so.*
%ghost %{_libdir}/liblapack.so.%{so_ver}
%ghost %{_sysconfdir}/alternatives/liblapack.so.%{so_ver}%{?a_x}
%files -n libblas%{so_ver}
%doc README.md
%license LICENSE
%dir %{_libdir}/blas
%{_libdir}/blas/libblas.so.*
%ghost %{_libdir}/libblas.so.%{so_ver}
%ghost %{_sysconfdir}/alternatives/libblas.so.%{so_ver}%{?a_x}
%files -n liblapacke%{so_ver}
%dir %{_libdir}/lapack
%{_libdir}/lapack/liblapacke.so.*
%ghost %{_libdir}/liblapacke.so.%{so_ver}
%ghost %{_sysconfdir}/alternatives/liblapacke.so.%{so_ver}%{?a_x}
%files -n libcblas%{so_ver}
%doc README.md
%license LICENSE
%dir %{_libdir}/blas
%{_libdir}/blas/libcblas.so.*
%ghost %{_libdir}/libcblas.so.%{so_ver}
%ghost %{_sysconfdir}/alternatives/libcblas.so.%{so_ver}%{?a_x}
%files -n libtmglib%{so_ver}
%license LICENSE
%{_libdir}/libtmglib.so.%{so_ver}*
%files -n tmglib-devel
%license LICENSE
%{_libdir}/libtmglib.so
%files -n %{pname}-devel
%{_libdir}/liblapack.so
%{_includedir}/lapack.h
%{_libdir}/cmake/lapack-%{version}/
%{_libdir}/pkgconfig/lapack.pc
%files -n blas-devel
%{_libdir}/libblas.so
%{_libdir}/pkgconfig/blas.pc
%files -n lapacke-devel
%doc LAPACKE/README
%license LAPACKE/LICENSE
%{_libdir}/liblapacke.so
%{_includedir}/lapacke*.h
%{_libdir}/cmake/lapacke-%{version}/
%{_libdir}/pkgconfig/lapacke.pc
%files -n cblas-devel
%doc CBLAS/README
%{_libdir}/libcblas.so
%{_includedir}/cblas*.h
%{_libdir}/cmake/cblas-%{version}/
%{_libdir}/pkgconfig/cblas.pc
# End of packages built for main flavour
%else
# Start of static flavour
%files -n %{pname}-devel-static
%license LICENSE
%{_libdir}/liblapack.a
%files -n cblas-devel-static
%license LICENSE
%{_libdir}/libcblas.a
%files -n blas-devel-static
%license LICENSE
%{_libdir}/libblas.a
%files -n lapacke-devel-static
%license LICENSE
%{_libdir}/liblapacke.a
%files -n tmglib-devel-static
%license LICENSE
%{_libdir}/libtmglib.a
%endif
# /SECTION main vs static flavour pkgs
%if %{with man}
%files -n lapack-man
%{_mandir}/man3/*.3%{?ext_man}
%endif
%changelog