commit:     5b37420a57390e4fbc7abf0ea78570f0b4204da5
Author:     Sergey Torokhov <torokhov-s-a <AT> yandex <DOT> ru>
AuthorDate: Mon Jun  6 22:19:56 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Jun  7 07:44:04 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5b37420a

sci-libs/cantera: restrict sci-libs/sundials for sci-libs/cantera[lapack]

It seems that >=sci-libs/cantera-2.5.1-r3[lapack] tests are
currently broken if build against >=sci-libs/sundials-5.8.0[lapack].

The cantera-2.5.1_env.patch is updated here to proper check
if >=sundials-5.5 is build with lapack support.

This change doesn't affect cantera-2.5.1-r1 at all
and allow to build cantera-2.5.1-r3 against sundials[lapack]
but in cantera-2.5.1-r4 restriction of sundials is used.

So revbump is assumed to keep stablized.

Signed-off-by: Sergey Torokhov <torokhov-s-a <AT> yandex.ru>
Closes: https://github.com/gentoo/gentoo/pull/25779
Signed-off-by: Sam James <sam <AT> gentoo.org>

 sci-libs/cantera/cantera-2.5.1-r1.ebuild           |  2 +-
 ...era-2.5.1-r3.ebuild => cantera-2.5.1-r4.ebuild} |  3 ++-
 ...antera-2.6.0.ebuild => cantera-2.6.0-r1.ebuild} |  3 ++-
 sci-libs/cantera/files/cantera-2.5.1_env.patch     | 27 ++++++++++++++++++++++
 4 files changed, 32 insertions(+), 3 deletions(-)

diff --git a/sci-libs/cantera/cantera-2.5.1-r1.ebuild 
b/sci-libs/cantera/cantera-2.5.1-r1.ebuild
index 659722a8c3cf..5deadec53ca2 100644
--- a/sci-libs/cantera/cantera-2.5.1-r1.ebuild
+++ b/sci-libs/cantera/cantera-2.5.1-r1.ebuild
@@ -8,7 +8,7 @@ PYTHON_COMPAT=( python3_{8,9} )
 FORTRAN_NEEDED=fortran
 FORTRAN_STANDARD="77 90"
 
-inherit desktop fortran-2 python-single-r1 scons-utils toolchain-funcs
+inherit fortran-2 python-single-r1 scons-utils toolchain-funcs
 
 DESCRIPTION="Object-oriented tool suite for chemical kinetics, thermodynamics, 
and transport"
 HOMEPAGE="https://www.cantera.org";

diff --git a/sci-libs/cantera/cantera-2.5.1-r3.ebuild 
b/sci-libs/cantera/cantera-2.5.1-r4.ebuild
similarity index 97%
rename from sci-libs/cantera/cantera-2.5.1-r3.ebuild
rename to sci-libs/cantera/cantera-2.5.1-r4.ebuild
index dad4dddb283b..cd12713f6574 100644
--- a/sci-libs/cantera/cantera-2.5.1-r3.ebuild
+++ b/sci-libs/cantera/cantera-2.5.1-r4.ebuild
@@ -39,7 +39,8 @@ RDEPEND="
                ')
        )
        dev-cpp/yaml-cpp
-       <sci-libs/sundials-5.9.0:0=[lapack?]
+       !lapack? ( <sci-libs/sundials-5.9.0:0= )
+       lapack? ( <sci-libs/sundials-5.3.0:0=[lapack] )
 "
 
 DEPEND="

diff --git a/sci-libs/cantera/cantera-2.6.0.ebuild 
b/sci-libs/cantera/cantera-2.6.0-r1.ebuild
similarity index 97%
rename from sci-libs/cantera/cantera-2.6.0.ebuild
rename to sci-libs/cantera/cantera-2.6.0-r1.ebuild
index 35884d896367..fb800fb485b5 100644
--- a/sci-libs/cantera/cantera-2.6.0.ebuild
+++ b/sci-libs/cantera/cantera-2.6.0-r1.ebuild
@@ -39,7 +39,8 @@ RDEPEND="
                ')
        )
        dev-cpp/yaml-cpp
-       <sci-libs/sundials-5.9.0:0=[lapack?]
+       !lapack? ( sci-libs/sundials:0= )
+       lapack? ( <sci-libs/sundials-5.3.0:0=[lapack?] )
 "
 
 DEPEND="

diff --git a/sci-libs/cantera/files/cantera-2.5.1_env.patch 
b/sci-libs/cantera/files/cantera-2.5.1_env.patch
index 576e2de2d577..77004803b127 100644
--- a/sci-libs/cantera/files/cantera-2.5.1_env.patch
+++ b/sci-libs/cantera/files/cantera-2.5.1_env.patch
@@ -32,6 +32,33 @@ diff -Naur old/SConstruct new/SConstruct
  
  # Print values of all build options:
  print("Configuration variables read from 'cantera.conf' and command line:")
+@@ -1149,10 +1149,24 @@
+         if retcode == 0:
+             config_error("Failed to determine Sundials BLAS/LAPACK.")
+         env['has_sundials_lapack'] = int(has_sundials_lapack.strip())
+-    else:
+-        # In Sundials 2.6, SUNDIALS_BLAS_LAPACK is either defined or undefined
++    elif sundials_ver < parse_version('5.5'):
++        # In Sundials 2.6-5.5, SUNDIALS_BLAS_LAPACK is either defined or 
undefined
+         env['has_sundials_lapack'] = 
conf.CheckDeclaration('SUNDIALS_BLAS_LAPACK',
+                 '#include "sundials/sundials_config.h"', 'C++')
++    else:
++        # In Sundials 5.5 and higher, two defines are included specific to the
++        # SUNLINSOL packages indicating whether SUNDIALS has been built with 
LAPACK
++        lapackband = conf.CheckDeclaration(
++            "SUNDIALS_SUNLINSOL_LAPACKBAND",
++            '#include "sundials/sundials_config.h"',
++            "C++",
++        )
++        lapackdense = conf.CheckDeclaration(
++            "SUNDIALS_SUNLINSOL_LAPACKDENSE",
++            '#include "sundials/sundials_config.h"',
++            "C++",
++        )
++        env["has_sundials_lapack"] = lapackband and lapackdense
+ 
+     # In the case where a user is trying to link Cantera to an external 
BLAS/LAPACK
+     # library, but Sundials was configured without this support, print a 
Warning.
 diff -Naur old/interfaces/cython/SConscript new/interfaces/cython/SConscript
 --- old/interfaces/cython/SConscript   2021-03-21 01:18:43.000000000 +0300
 +++ new/interfaces/cython/SConscript   2021-03-21 01:59:29.000000000 +0300

Reply via email to