commit:     0bdb2489027a808f33a4c4c95c3ae16ce9ef3d89
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 30 14:50:41 2020 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Nov 30 14:50:48 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0bdb2489

sys-libs/talloc: fix Darwin build

Package-Manager: Portage-3.0.10.2-prefix, Repoman-3.0.2
Signed-off-by: Sam James <sam <AT> gentoo.org>

 sys-libs/talloc/talloc-2.3.1.ebuild | 37 +++++++++++++++++++++++++++++--------
 1 file changed, 29 insertions(+), 8 deletions(-)

diff --git a/sys-libs/talloc/talloc-2.3.1.ebuild 
b/sys-libs/talloc/talloc-2.3.1.ebuild
index ec25e7966a9..e6dbe274fd6 100644
--- a/sys-libs/talloc/talloc-2.3.1.ebuild
+++ b/sys-libs/talloc/talloc-2.3.1.ebuild
@@ -53,6 +53,13 @@ pkg_setup() {
 src_prepare() {
        default
 
+       if [[ ${CHOST} == *-darwin* ]] ; then
+               # Drop irritating ABI names (e.g. cpython-37m)
+               # We're only installing one implementation anyway
+               sed -i "s/+ 
conf.all_envs\['default'\]\['PYTHON_SO_ABI_FLAG'\]//" wscript || die
+               sed -i "s/name = bld.pyembed_libname('pytalloc-util')/name = 
'pytalloc-util'/" wscript || die
+       fi
+
        # what would you expect of waf? i won't even waste time trying.
        multilib_copy_sources
 }
@@ -78,19 +85,33 @@ multilib_src_install() {
        if [[ ${CHOST} == *-darwin* ]] ; then
                install_name_tool \
                        -id "${EPREFIX}"/usr/$(get_libdir)/libtalloc.2.dylib \
-                       "${ED}"/usr/$(get_libdir)/libtalloc.2.0.5.dylib || die
+                       "${ED}"/usr/$(get_libdir)/libtalloc.${PV}.dylib || die
+
                if use python ; then
                        install_name_tool \
                                -id 
"${EPREFIX}"/usr/$(get_libdir)/libpytalloc-util.2.dylib \
-                               
"${ED}"/usr/$(get_libdir)/libpytalloc-util.2.0.5.dylib || die
+                               
"${ED}"/usr/$(get_libdir)/libpytalloc-util.${PV}.dylib || die
+                       install_name_tool \
+                               -change 
"${BUILD_DIR}/bin/default/libtalloc.dylib" \
+                               
"${EPREFIX}"/usr/$(get_libdir)/libtalloc.2.dylib \
+                               
"${ED}"/usr/$(get_libdir)/libpytalloc-util.${PV}.dylib || die
+
+                       install_name_tool \
+                               -id 
"${EPREFIX}"/usr/$(get_libdir)/libpytalloc-util.dylib \
+                               
"${ED}"/usr/$(get_libdir)/libpytalloc-util.dylib || die
+                       install_name_tool \
+                               -change 
"${BUILD_DIR}/bin/default/libtalloc.dylib" \
+                               
"${EPREFIX}"/usr/$(get_libdir)/libtalloc.2.dylib \
+                               
"${ED}"/usr/$(get_libdir)/libpytalloc-util.dylib || die
+
                        install_name_tool \
-                               -change "${S}/bin/default/libtalloc.dylib" \
-                                       
"${EPREFIX}"/usr/$(get_libdir)/libtalloc.2.dylib \
-                               
"${ED}"/usr/$(get_libdir)/libpytalloc-util.2.0.5.dylib || die
+                               -change 
"${BUILD_DIR}/bin/default/libpytalloc-util.dylib" \
+                               
"${EPREFIX}"/usr/$(get_libdir)/libpytalloc-util.dylib \
+                               "${D}"$(python_get_sitedir)/talloc*.bundle || 
die
                        install_name_tool \
-                               -change "${S}/bin/default/libtalloc.dylib" \
-                                       
"${EPREFIX}"/usr/$(get_libdir)/libtalloc.2.dylib \
-                               "${D}"$(python_get_sitedir)/talloc.bundle || die
+                               -change 
"${BUILD_DIR}/bin/default/libtalloc.dylib" \
+                               
"${EPREFIX}"/usr/$(get_libdir)/libtalloc.2.dylib \
+                               "${D}"$(python_get_sitedir)/talloc*.bundle || 
die
                fi
        fi
 }

Reply via email to