#1 Build against FlexiBLAS
Merged 3 years ago by davidsch. Opened 3 years ago by iucar.
rpms/ iucar/bout++ master  into  master

file modified
+16 -10
@@ -1,6 +1,6 @@ 

  Name:           bout++

  Version:        4.3.1

- Release:        6%{?dist}

+ Release:        7%{?dist}

  Summary:        Library for the BOUndary Turbulence simulation framework

  

  # BOUT++ itself is LGPL, but we are linking with GPLed code, so the distributed library is GPL
@@ -12,14 +12,9 @@ 

  Patch0:  remove-mpark.patch

  

  %if 0%{?fedora} >= 33

- %global blaslib flexiblas

- %global blasvar %{nil}

- %else

- %global blaslib openblas

- %global blasvar p

+ %bcond_without flexiblas

  %endif

  

- 

  # Disable tests and manual on epel < 8

  %if 0%{?rhel} && 0%{?rhel} < 8

  %bcond_with manual
@@ -72,8 +67,11 @@ 

  BuildRequires:  python%{python3_pkgversion}-Cython

  BuildRequires:  python%{python3_pkgversion}-netcdf4

  BuildRequires:  python%{python3_pkgversion}-scipy

- BuildRequires:  %{blaslib}-devel

- BuildRequires:  lapack-devel

+ %if %{with flexiblas}

+ BuildRequires:  flexiblas-devel

+ %else

+ BuildRequires:  blas-devel, lapack-devel

+ %endif

  BuildRequires:  gcc-c++

  %if %{with system_mpark}

  BuildRequires:  mpark-variant-devel
@@ -328,6 +326,12 @@ 

        exit 1

    fi

  

+   %if %{with flexiblas}

+   sed -e 's|-lblas|-lflexiblas|g' \

+       -e 's|-llapack|-lflexiblas|g' \

+       -i configure

+   %endif

+ 

    %configure \

  	     --with-netcdf \

               --with-hdf5 \
@@ -346,7 +350,6 @@ 

  

    sed -e "s| -L%{_libdir} | |g" \

        -e 's|@$(LD)|$(LD)|'  \

-       -e 's| -lblas | -l%{blaslib} |g' \

        -i make.config

    cat make.config

  
@@ -526,6 +529,9 @@ 

  #

  

  %changelog

+ * Thu Aug 20 2020 Iñaki Úcar <iucar@fedoraproject.org> - 4.3.1-7

+ - https://fedoraproject.org/wiki/Changes/FlexiBLAS_as_BLAS/LAPACK_manager

+ 

  * Sat Aug 15 2020 David Schwörer <davidsch@fedoraproject.org> 4.3.1-6

  - Enable sundials and petsc

  - Rebuild with flexiblas

This PR is part of a F33 System-Wide Change Proposal that aims to set FlexiBLAS
as the default BLAS/LAPACK manager for all consumers of these APIs. For further
information, see https://fedoraproject.org/wiki/Changes/FlexiBLAS_as_BLAS/LAPACK_manager

You'll find a successful scratch build for this PR in
https://koji.fedoraproject.org/koji/taskinfo?taskID=49754360

I kindly ask you to merge this PR and build the package in rawhide and F33. Please,
report any issues you may found in https://bugzilla.redhat.com/show_bug.cgi?id=1860504

Despite its name, FlexiBLAS replaces both BLAS and LAPACK, and the binary must end up linked against libflexiblas and not liblapack or libblas. This patch fixes the issue.

Pull-Request has been merged by davidsch

3 years ago