commit:     16eaba9bc57ea1d0fd90045de20d4de98ca8a052
Author:     Sergey Torokhov <torokhov-s-a <AT> yandex <DOT> ru>
AuthorDate: Mon Oct 16 22:29:52 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Oct 27 02:30:39 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=16eaba9b

sci-libs/cantera: 3.0, mv libcantera_python3_XY.so to /usr/lib*/cantera

Change installation path of libcantera_python3_XY.so plugin
from "/usr/$(get_libdir)" to "/usr/$(get_libdir)/cantera" directory
and add new direcotry to RPATH to properly working of dlopen()
to load plugin from C++ user's code.

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

 sci-libs/cantera/cantera-3.0.0.ebuild          |  4 ++--
 sci-libs/cantera/files/cantera-3.0.0_env.patch | 12 ++++++++++++
 2 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/sci-libs/cantera/cantera-3.0.0.ebuild 
b/sci-libs/cantera/cantera-3.0.0.ebuild
index efc3e6149962..27478930c415 100644
--- a/sci-libs/cantera/cantera-3.0.0.ebuild
+++ b/sci-libs/cantera/cantera-3.0.0.ebuild
@@ -63,8 +63,6 @@ DEPEND="
        )
 "
 
-QA_SONAME="usr/lib.*/libcantera_python3.*.so" # intended for dlopen()
-
 PATCHES=(
        "${FILESDIR}/${P}_env.patch"
 )
@@ -98,6 +96,8 @@ src_configure() {
                system_blas_lapack=$(usex lapack y n)
                env_vars="all"
                extra_inc_dirs="/usr/include/eigen3"
+               use_rpath_linkage="yes"
+               extra_lib_dirs="/usr/$(get_libdir)/${PN}"
        )
        use hdf5 && scons_vars+=( system_highfive="y" )
        use lapack && scons_vars+=( blas_lapack_libs="lapack,blas" )

diff --git a/sci-libs/cantera/files/cantera-3.0.0_env.patch 
b/sci-libs/cantera/files/cantera-3.0.0_env.patch
index 786df7140632..cfc2874250e4 100644
--- a/sci-libs/cantera/files/cantera-3.0.0_env.patch
+++ b/sci-libs/cantera/files/cantera-3.0.0_env.patch
@@ -23,3 +23,15 @@ diff -Naur a/SConstruct b/SConstruct
  
  # Print values of all build options:
  # the (updated) "cantera.conf" combines all options that were specified by 
the user
+diff -Naur a/src/SConscript b/src/SConscript
+--- a/src/SConscript
++++ b/src/SConscript
+@@ -89,7 +89,7 @@
+     shim = pyenv.SharedObject("extensions/pythonShim.cpp")
+     pylibname = 
f"../lib/cantera_python{pyenv['py_version_short'].replace('.', '_')}"
+     lib = build(pyenv.SharedLibrary(pylibname, shim, SPAWN=get_spawn(pyenv)))
+-    install("$inst_shlibdir", lib)
++    install("$inst_shlibdir/cantera", lib)
+ 
+ 
+ # build the Cantera static library

Reply via email to