commit:     93c6b141a2bbb7a40c30785fc1e4bbc69422fb05
Author:     Viorel Munteanu <ceamac <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 28 09:53:54 2022 +0000
Commit:     Viorel Munteanu <ceamac <AT> gentoo <DOT> org>
CommitDate: Tue Nov 29 08:07:30 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=93c6b141

dev-libs/xalan-c: fix compilation with lto

Closes: https://bugs.gentoo.org/856097
Signed-off-by: Viorel Munteanu <ceamac <AT> gentoo.org>

 dev-libs/xalan-c/files/xalan-c-1.12-fix-lto.patch  | 46 ++++++++++++++++++++++
 ...{xalan-c-9999.ebuild => xalan-c-1.12-r2.ebuild} |  4 ++
 dev-libs/xalan-c/xalan-c-9999.ebuild               |  4 ++
 3 files changed, 54 insertions(+)

diff --git a/dev-libs/xalan-c/files/xalan-c-1.12-fix-lto.patch 
b/dev-libs/xalan-c/files/xalan-c-1.12-fix-lto.patch
new file mode 100644
index 000000000000..6b3a46c1342e
--- /dev/null
+++ b/dev-libs/xalan-c/files/xalan-c-1.12-fix-lto.patch
@@ -0,0 +1,46 @@
+Fix error: type ‘struct NameCompareFunctor’ violates the C++ One Definition 
Rule [-Werror=odr]
+
+Bug: https://bugs.gentoo.org/856097
+
+--- a/src/xalanc/PlatformSupport/AttributesImpl.cpp
++++ b/src/xalanc/PlatformSupport/AttributesImpl.cpp
+@@ -253,6 +253,9 @@
+ 
+ 
+ 
++namespace
++{
++
+ struct NameCompareFunctor
+ {
+     NameCompareFunctor(const XMLCh*     theQName) :
+@@ -271,6 +274,8 @@
+     const XMLCh* const  m_qname;
+ };
+ 
++}     // --- namespace
++
+ 
+ 
+ struct URIAndLocalNameCompareFunctor
+--- a/src/xalanc/PlatformSupport/AttributeListImpl.cpp
++++ b/src/xalanc/PlatformSupport/AttributeListImpl.cpp
+@@ -242,6 +242,9 @@
+ 
+ 
+ 
++namespace
++{
++
+ struct NameCompareFunctor
+ {
+     NameCompareFunctor(const XMLCh*     theName) :
+@@ -260,6 +263,8 @@
+     const XMLCh* const  m_name;
+ };
+ 
++}     // --- namespace
++
+ 
+ 
+ const XMLCh*

diff --git a/dev-libs/xalan-c/xalan-c-9999.ebuild 
b/dev-libs/xalan-c/xalan-c-1.12-r2.ebuild
similarity index 96%
copy from dev-libs/xalan-c/xalan-c-9999.ebuild
copy to dev-libs/xalan-c/xalan-c-1.12-r2.ebuild
index 53dc25c881f6..cd8b913943ee 100644
--- a/dev-libs/xalan-c/xalan-c-9999.ebuild
+++ b/dev-libs/xalan-c/xalan-c-1.12-r2.ebuild
@@ -41,6 +41,10 @@ BDEPEND+="
        doc? ( app-doc/doxygen[dot] )
 "
 
+PATCHES=(
+       "${FILESDIR}"/${P}-fix-lto.patch
+)
+
 src_configure() {
        local mycmakeargs=(
                -Ddoxygen=$(usex doc)

diff --git a/dev-libs/xalan-c/xalan-c-9999.ebuild 
b/dev-libs/xalan-c/xalan-c-9999.ebuild
index 53dc25c881f6..19e421f40c78 100644
--- a/dev-libs/xalan-c/xalan-c-9999.ebuild
+++ b/dev-libs/xalan-c/xalan-c-9999.ebuild
@@ -41,6 +41,10 @@ BDEPEND+="
        doc? ( app-doc/doxygen[dot] )
 "
 
+PATCHES=(
+       "${FILESDIR}"/${PN}-1.12-fix-lto.patch
+)
+
 src_configure() {
        local mycmakeargs=(
                -Ddoxygen=$(usex doc)

Reply via email to