Hello,

Here's my "second approximation" to the idea of using sci-libs/flexiblas
as the system LAPACK provider.  It is USE flag based rather than
unconditional to make it possible to test it without immediately
removing the existing system.

For the rationale, see:
https://public-inbox.gentoo.org/gentoo-dev/[email protected]/T/#t

The implementation follows the following principles:

- top-level BLAS/LAPACK libraries and pkg-config files are replaced by
  symlinks to the flexiblas library/pkg-config file, installed by
  sci-libs/flexiblas[system-blas]

- sci-libs/lapack[flexiblas] renames installed libraries, pkg-config
  files and CMake files by adding a `-reference` suffix to them (to make
  place for flexiblas symlinks)

- virtuals get a [flexiblas] flag to pull
  sci-libs/flexiblas[system-blas] setup in place of the eselect-based
  system

- sci-libs/flexiblas[system-blas] blocks the eselect packages,
  and removes their config upon install, so that their ld.so.conf bits
  do not interfere

I've done some initial testing and have had no issues.  More feedback
and testing welcome.

Note that the diffs for virtuals ended up weird because of
--find-copies-harder.  That's because all the virtuals are very similar,
so the differences between different virtuals are smaller than between
the revbumps.

Also available as a pull request on the LLM Torment Nexus:
https://github.com/gentoo/gentoo/pull/43755

-- 
Best regards,
Michał Górny


Michał Górny (6):
  sci-libs/lapack: Introduce USE=flexiblas for sys flexiblas use
  sci-libs/flexiblas: Support installing as a system BLAS/LAPACK
  virtual/blas: Add flexiblas support
  virtual/cblas: Add flexiblas support
  virtual/lapack: Add flexiblas support
  virtual/lapacke: Add flexiblas support

 ...4.82.ebuild => flexiblas-3.4.82-r1.ebuild} | 57 +++++++++++++++++--
 sci-libs/flexiblas/metadata.xml               |  4 ++
 ...12.1-r1.ebuild => lapack-3.12.1-r2.ebuild} | 22 ++++++-
 sci-libs/lapack/metadata.xml                  |  3 +
 virtual/blas/blas-3.8-r1.ebuild               | 27 +++++++++
 virtual/blas/metadata.xml                     |  1 +
 virtual/cblas/cblas-3.8-r1.ebuild             | 27 +++++++++
 virtual/cblas/metadata.xml                    |  1 +
 virtual/lapack/lapack-3.10-r1.ebuild          | 26 +++++++++
 virtual/lapack/metadata.xml                   |  1 +
 virtual/lapacke/lapacke-3.8-r2.ebuild         | 26 +++++++++
 virtual/lapacke/metadata.xml                  |  1 +
 12 files changed, 191 insertions(+), 5 deletions(-)
 copy sci-libs/flexiblas/{flexiblas-3.4.82.ebuild => 
flexiblas-3.4.82-r1.ebuild} (73%)
 copy sci-libs/lapack/{lapack-3.12.1-r1.ebuild => lapack-3.12.1-r2.ebuild} (88%)
 create mode 100644 virtual/blas/blas-3.8-r1.ebuild
 create mode 100644 virtual/cblas/cblas-3.8-r1.ebuild
 create mode 100644 virtual/lapack/lapack-3.10-r1.ebuild
 create mode 100644 virtual/lapacke/lapacke-3.8-r2.ebuild


Reply via email to