public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] [PATCH 0/2] RFC: Introducing ldso switching to BLAS/LAPACK
       [not found] <e8c6b0500c8dd1d4dcd6d133bea4aa3e4de08b7d.camel@gentoo.org>
@ 2019-06-27  6:16 ` heroxbd
  2019-06-27  6:16   ` [gentoo-dev] [PATCH 1/2] virtual/{blas,cblas,lapack,lapacke}: add virtual packages heroxbd
                     ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: heroxbd @ 2019-06-27  6:16 UTC (permalink / raw
  To: gentoo-dev, gentoo-science; +Cc: Benda Xu

From: Benda Xu <heroxbd@gentoo.org>

The following 2 patches are to introduce the runtime switching
mechanism to BLAS/LAPACK libraries in Gentoo.

This feature is turned off by default and only the reference
BLAS/LAPACK is used to satisfy the dependencies.  It can be enabled by
USE=eselect-ldso.


Sorry for the glitch to the tree caused by my mistake yesterday.  I am
looking forward to your review.  I am cross posting to -dev and -sci
so as to attract atention from all interested parties.

Cheers,
Benda

Benda Xu (2):
  virtual/{blas,cblas,lapack,lapacke}: add virtual packages.
  virtual/{c,}blas: add sci-libs/blis as a candidate.

 virtual/blas/blas-3.8.ebuild       | 17 +++++++++++++++++
 virtual/blas/metadata.xml          | 10 +++++++---
 virtual/cblas/cblas-3.8.ebuild     | 17 +++++++++++++++++
 virtual/cblas/metadata.xml         | 10 +++++++---
 virtual/lapack/lapack-3.8.ebuild   | 14 ++++++++++++++
 virtual/lapack/metadata.xml        | 10 +++++++---
 virtual/lapacke/lapacke-3.8.ebuild | 14 ++++++++++++++
 virtual/lapacke/metadata.xml       | 16 ++++++++++++++++
 8 files changed, 99 insertions(+), 9 deletions(-)
 create mode 100644 virtual/blas/blas-3.8.ebuild
 create mode 100644 virtual/cblas/cblas-3.8.ebuild
 create mode 100644 virtual/lapack/lapack-3.8.ebuild
 create mode 100644 virtual/lapacke/lapacke-3.8.ebuild
 create mode 100644 virtual/lapacke/metadata.xml

-- 
2.17.0



^ permalink raw reply	[flat|nested] 6+ messages in thread

* [gentoo-dev] [PATCH 1/2] virtual/{blas,cblas,lapack,lapacke}: add virtual packages.
  2019-06-27  6:16 ` [gentoo-dev] [PATCH 0/2] RFC: Introducing ldso switching to BLAS/LAPACK heroxbd
@ 2019-06-27  6:16   ` heroxbd
  2019-06-27  6:16   ` [gentoo-dev] [PATCH 2/2] virtual/{c,}blas: add sci-libs/blis as a candidate heroxbd
  2019-06-27 14:52   ` [gentoo-dev] [PATCH 0/2] RFC: Introducing ldso switching to BLAS/LAPACK Mike Gilbert
  2 siblings, 0 replies; 6+ messages in thread
From: heroxbd @ 2019-06-27  6:16 UTC (permalink / raw
  To: gentoo-dev, gentoo-science; +Cc: Benda Xu, Mo Zhou

From: Benda Xu <heroxbd@gentoo.org>

  These virtual packages are used by the BLAS/LAPACK runtime switching
  mechanism.

Closes: https://github.com/gentoo/gentoo/pull/12323
Closes: https://bugs.gentoo.org/373613
Closes: https://bugs.gentoo.org/381801
Closes: https://bugs.gentoo.org/498490
Closes: https://bugs.gentoo.org/563674
Closes: https://bugs.gentoo.org/564546
Closes: https://bugs.gentoo.org/565776
Closes: https://bugs.gentoo.org/646316
Closes: https://bugs.gentoo.org/657984
Closes: https://bugs.gentoo.org/659014
Closes: https://bugs.gentoo.org/659264
Closes: https://bugs.gentoo.org/669644

Signed-off-by: Mo Zhou <cdluminate@gmail.com>
Signed-off-by: Benda Xu <heroxbd@gentoo.org>
---
 virtual/blas/blas-3.8.ebuild       | 14 ++++++++++++++
 virtual/blas/metadata.xml          | 10 +++++++---
 virtual/cblas/cblas-3.8.ebuild     | 14 ++++++++++++++
 virtual/cblas/metadata.xml         | 10 +++++++---
 virtual/lapack/lapack-3.8.ebuild   | 14 ++++++++++++++
 virtual/lapack/metadata.xml        | 10 +++++++---
 virtual/lapacke/lapacke-3.8.ebuild | 14 ++++++++++++++
 virtual/lapacke/metadata.xml       | 16 ++++++++++++++++
 8 files changed, 93 insertions(+), 9 deletions(-)
 create mode 100644 virtual/blas/blas-3.8.ebuild
 create mode 100644 virtual/cblas/cblas-3.8.ebuild
 create mode 100644 virtual/lapack/lapack-3.8.ebuild
 create mode 100644 virtual/lapacke/lapacke-3.8.ebuild
 create mode 100644 virtual/lapacke/metadata.xml

diff --git a/virtual/blas/blas-3.8.ebuild b/virtual/blas/blas-3.8.ebuild
new file mode 100644
index 000000000000..e3807aaa8c4a
--- /dev/null
+++ b/virtual/blas/blas-3.8.ebuild
@@ -0,0 +1,14 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+DESCRIPTION="Virtual for FORTRAN 77 BLAS implementation"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris"
+IUSE="eselect-ldso"
+
+RDEPEND="
+	>=sci-libs/lapack-3.8.0[eselect-ldso?]
+"
+DEPEND="${RDEPEND}"
diff --git a/virtual/blas/metadata.xml b/virtual/blas/metadata.xml
index 1b4d6e817c05..35dd50fb4450 100644
--- a/virtual/blas/metadata.xml
+++ b/virtual/blas/metadata.xml
@@ -6,7 +6,11 @@
     <name>Gentoo Science Project</name>
   </maintainer>
   <longdescription lang="en">
-Gentoo virtual package for the Basic Linear Algebra Subprograms
-FORTRAN 77 implementation.
-</longdescription>
+    Gentoo virtual package for the Basic Linear Algebra Subprograms
+    FORTRAN 77 implementation.
+  </longdescription>
+  <use>
+    <flag name="eselect-ldso">Enable runtime library switching by
+    eselect and ld.so.</flag>
+  </use>
 </pkgmetadata>
diff --git a/virtual/cblas/cblas-3.8.ebuild b/virtual/cblas/cblas-3.8.ebuild
new file mode 100644
index 000000000000..0b295963f8de
--- /dev/null
+++ b/virtual/cblas/cblas-3.8.ebuild
@@ -0,0 +1,14 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+DESCRIPTION="Virtual for BLAS C implementation"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="eselect-ldso"
+
+RDEPEND="
+	>=sci-libs/lapack-3.8.0[eselect-ldso?]
+"
+DEPEND="${RDEPEND}"
diff --git a/virtual/cblas/metadata.xml b/virtual/cblas/metadata.xml
index 9aac1c20c93f..204ea7552ca9 100644
--- a/virtual/cblas/metadata.xml
+++ b/virtual/cblas/metadata.xml
@@ -6,7 +6,11 @@
     <name>Gentoo Science Project</name>
   </maintainer>
   <longdescription lang="en">
-Gentoo virtual package for the Basic Linear Algebra Subprograms
-C implementation.
-</longdescription>
+    Gentoo virtual package for the Basic Linear Algebra Subprograms
+    C implementation.
+  </longdescription>
+  <use>
+    <flag name="eselect-ldso">Enable runtime library switching by
+    eselect and ld.so.</flag>
+  </use>
 </pkgmetadata>
diff --git a/virtual/lapack/lapack-3.8.ebuild b/virtual/lapack/lapack-3.8.ebuild
new file mode 100644
index 000000000000..93ddd49d8b79
--- /dev/null
+++ b/virtual/lapack/lapack-3.8.ebuild
@@ -0,0 +1,14 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Virtual for Linear Algebra Package FORTRAN 77 (LAPACK) implementation"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="eselect-ldso"
+
+RDEPEND="
+	>=sci-libs/lapack-3.8.0[eselect-ldso?]
+"
+DEPEND="${RDEPEND}"
diff --git a/virtual/lapack/metadata.xml b/virtual/lapack/metadata.xml
index ccb7a1fa1fad..0b91d851efe1 100644
--- a/virtual/lapack/metadata.xml
+++ b/virtual/lapack/metadata.xml
@@ -6,7 +6,11 @@
     <name>Gentoo Science Project</name>
   </maintainer>
   <longdescription lang="en">
-Gentoo virtual package for the Linear Algebra PACKAge
-FORTRAN 77 implementation.
-</longdescription>
+    Gentoo virtual package for the Linear Algebra PACKAge
+    FORTRAN 77 implementation.
+  </longdescription>
+  <use>
+    <flag name="eselect-ldso">Enable runtime library switching by
+    eselect and ld.so.</flag>
+  </use>
 </pkgmetadata>
diff --git a/virtual/lapacke/lapacke-3.8.ebuild b/virtual/lapacke/lapacke-3.8.ebuild
new file mode 100644
index 000000000000..fc61bf733e2e
--- /dev/null
+++ b/virtual/lapacke/lapacke-3.8.ebuild
@@ -0,0 +1,14 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Virtual for LAPACK C implementation"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="eselect-ldso"
+
+RDEPEND="
+	>=sci-libs/lapack-3.8.0[lapacke,eselect-ldso?]
+"
+DEPEND="${RDEPEND}"
diff --git a/virtual/lapacke/metadata.xml b/virtual/lapacke/metadata.xml
new file mode 100644
index 000000000000..299f0ab2ab69
--- /dev/null
+++ b/virtual/lapacke/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+  <maintainer type="project">
+    <email>sci@gentoo.org</email>
+    <name>Gentoo Science Project</name>
+  </maintainer>
+  <longdescription lang="en">
+    Gentoo virtual package for the Linear Algebra PACKAge C
+    implementation.
+  </longdescription>
+  <use>
+    <flag name="eselect-ldso">Enable runtime library switching by
+    eselect and ld.so.</flag>
+  </use>
+</pkgmetadata>
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [gentoo-dev] [PATCH 2/2] virtual/{c,}blas: add sci-libs/blis as a candidate.
  2019-06-27  6:16 ` [gentoo-dev] [PATCH 0/2] RFC: Introducing ldso switching to BLAS/LAPACK heroxbd
  2019-06-27  6:16   ` [gentoo-dev] [PATCH 1/2] virtual/{blas,cblas,lapack,lapacke}: add virtual packages heroxbd
@ 2019-06-27  6:16   ` heroxbd
  2019-06-27 14:52   ` [gentoo-dev] [PATCH 0/2] RFC: Introducing ldso switching to BLAS/LAPACK Mike Gilbert
  2 siblings, 0 replies; 6+ messages in thread
From: heroxbd @ 2019-06-27  6:16 UTC (permalink / raw
  To: gentoo-dev, gentoo-science; +Cc: Benda Xu

From: Benda Xu <heroxbd@gentoo.org>

  On ld.so-based systems, runtime library switching is possible.  We
  use 'eselect-ldso' to flag this possibility.  In this case, blis can
  used as a drop-in replacement via an `eselect` call.

  Otherwise If USE eselect-ldso is not set, only reference
  implementation will be pulled in.

Package-Manager: Portage-2.3.52, Repoman-2.3.12
Signed-off-by: Benda Xu <heroxbd@gentoo.org>
---
 virtual/blas/blas-3.8.ebuild   | 5 ++++-
 virtual/cblas/cblas-3.8.ebuild | 5 ++++-
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/virtual/blas/blas-3.8.ebuild b/virtual/blas/blas-3.8.ebuild
index e3807aaa8c4a..45bf1cc03013 100644
--- a/virtual/blas/blas-3.8.ebuild
+++ b/virtual/blas/blas-3.8.ebuild
@@ -9,6 +9,9 @@ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~
 IUSE="eselect-ldso"
 
 RDEPEND="
-	>=sci-libs/lapack-3.8.0[eselect-ldso?]
+	!eselect-ldso? ( >=sci-libs/lapack-3.8.0[-eselect-ldso] )
+	eselect-ldso? ( || (
+		>=sci-libs/lapack-3.8.0[eselect-ldso]
+		sci-libs/blis[eselect-ldso] ) )
 "
 DEPEND="${RDEPEND}"
diff --git a/virtual/cblas/cblas-3.8.ebuild b/virtual/cblas/cblas-3.8.ebuild
index 0b295963f8de..440e9fc4a540 100644
--- a/virtual/cblas/cblas-3.8.ebuild
+++ b/virtual/cblas/cblas-3.8.ebuild
@@ -9,6 +9,9 @@ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~a
 IUSE="eselect-ldso"
 
 RDEPEND="
-	>=sci-libs/lapack-3.8.0[eselect-ldso?]
+	!eselect-ldso? ( >=sci-libs/lapack-3.8.0[-eselect-ldso] )
+	eselect-ldso? ( || (
+		>=sci-libs/lapack-3.8.0[eselect-ldso]
+		sci-libs/blis[eselect-ldso] ) )
 "
 DEPEND="${RDEPEND}"
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [gentoo-dev] [PATCH 0/2] RFC: Introducing ldso switching to BLAS/LAPACK
  2019-06-27  6:16 ` [gentoo-dev] [PATCH 0/2] RFC: Introducing ldso switching to BLAS/LAPACK heroxbd
  2019-06-27  6:16   ` [gentoo-dev] [PATCH 1/2] virtual/{blas,cblas,lapack,lapacke}: add virtual packages heroxbd
  2019-06-27  6:16   ` [gentoo-dev] [PATCH 2/2] virtual/{c,}blas: add sci-libs/blis as a candidate heroxbd
@ 2019-06-27 14:52   ` Mike Gilbert
  2019-06-27 16:37     ` Benda Xu
  2 siblings, 1 reply; 6+ messages in thread
From: Mike Gilbert @ 2019-06-27 14:52 UTC (permalink / raw
  To: Gentoo Dev; +Cc: gentoo-science, Benda Xu

On Thu, Jun 27, 2019 at 2:16 AM <heroxbd@gentoo.org> wrote:
>
> From: Benda Xu <heroxbd@gentoo.org>
>
> The following 2 patches are to introduce the runtime switching
> mechanism to BLAS/LAPACK libraries in Gentoo.
>
> This feature is turned off by default and only the reference
> BLAS/LAPACK is used to satisfy the dependencies.  It can be enabled by
> USE=eselect-ldso.
>
>
> Sorry for the glitch to the tree caused by my mistake yesterday.  I am
> looking forward to your review.  I am cross posting to -dev and -sci
> so as to attract atention from all interested parties.

This looks a lot safer than yesterday's patch since there are no
ebuild removals here.

If/when you do want to remove old ebuilds, I suggest creating a github
PR, and let the CI bot check reverse dependencies. This was actually
done for the change that was reverted yesterday, but it seems like the
CI results were ignored and the commit was pushed regardless.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [gentoo-dev] [PATCH 0/2] RFC: Introducing ldso switching to BLAS/LAPACK
  2019-06-27 14:52   ` [gentoo-dev] [PATCH 0/2] RFC: Introducing ldso switching to BLAS/LAPACK Mike Gilbert
@ 2019-06-27 16:37     ` Benda Xu
  2019-06-27 17:31       ` Mike Gilbert
  0 siblings, 1 reply; 6+ messages in thread
From: Benda Xu @ 2019-06-27 16:37 UTC (permalink / raw
  To: gentoo-dev

Mike Gilbert <floppym@gentoo.org> writes:

> This looks a lot safer than yesterday's patch since there are no
> ebuild removals here.

Thank you Mike.

> If/when you do want to remove old ebuilds, I suggest creating a github
> PR, and let the CI bot check reverse dependencies. 

Yeah, that would have been a much safer way to remove ebuilds.

> This was actually done for the change that was reverted yesterday, but
> it seems like the CI results were ignored and the commit was pushed
> regardless.

Yesterday the original pull requests by Mo did not remove ebuilds.  It
was only when I started to adopt the PR that I saw

> RepoMan scours the neighborhood...
>   repo.eapi-deprecated          1
>    virtual/cblas/cblas-1.0.ebuild: 5

after which I impulsively killed it.


I should take this lesson and be more careful removing ebuilds.

Yours,
Benda


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [gentoo-dev] [PATCH 0/2] RFC: Introducing ldso switching to BLAS/LAPACK
  2019-06-27 16:37     ` Benda Xu
@ 2019-06-27 17:31       ` Mike Gilbert
  0 siblings, 0 replies; 6+ messages in thread
From: Mike Gilbert @ 2019-06-27 17:31 UTC (permalink / raw
  To: Gentoo Dev

On Thu, Jun 27, 2019 at 12:37 PM Benda Xu <heroxbd@gentoo.org> wrote:
>
> Mike Gilbert <floppym@gentoo.org> writes:
>
> > This looks a lot safer than yesterday's patch since there are no
> > ebuild removals here.
>
> Thank you Mike.
>
> > If/when you do want to remove old ebuilds, I suggest creating a github
> > PR, and let the CI bot check reverse dependencies.
>
> Yeah, that would have been a much safer way to remove ebuilds.
>
> > This was actually done for the change that was reverted yesterday, but
> > it seems like the CI results were ignored and the commit was pushed
> > regardless.
>
> Yesterday the original pull requests by Mo did not remove ebuilds.  It
> was only when I started to adopt the PR that I saw
>
> > RepoMan scours the neighborhood...
> >   repo.eapi-deprecated          1
> >    virtual/cblas/cblas-1.0.ebuild: 5
>
> after which I impulsively killed it.

Ah, that makes more sense.


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2019-06-27 17:31 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <e8c6b0500c8dd1d4dcd6d133bea4aa3e4de08b7d.camel@gentoo.org>
2019-06-27  6:16 ` [gentoo-dev] [PATCH 0/2] RFC: Introducing ldso switching to BLAS/LAPACK heroxbd
2019-06-27  6:16   ` [gentoo-dev] [PATCH 1/2] virtual/{blas,cblas,lapack,lapacke}: add virtual packages heroxbd
2019-06-27  6:16   ` [gentoo-dev] [PATCH 2/2] virtual/{c,}blas: add sci-libs/blis as a candidate heroxbd
2019-06-27 14:52   ` [gentoo-dev] [PATCH 0/2] RFC: Introducing ldso switching to BLAS/LAPACK Mike Gilbert
2019-06-27 16:37     ` Benda Xu
2019-06-27 17:31       ` Mike Gilbert

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox