commit:     f8d188daee9adf814f377a17c17f8779205b780e
Author:     Michal Privoznik <michal.privoznik <AT> gmail <DOT> com>
AuthorDate: Thu Oct  9 14:02:35 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Oct  9 17:32:03 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f8d188da

dev-php/libvirt-php: Don't rely on libxml2 to provide ATTRIBUTE_UNUSED

In the past, libxml2 used to declare some attributes in its
headers, with ATTRIBUTE_UNUSED being one of them. Some projects
(like libvirt-php) misused this. But after libxml2 was cleaned up
and stopped polluting header files (see commit in backported
patch), these projects have to redefine the macro themselves.

Closes: https://bugs.gentoo.org/963308
Signed-off-by: Michal Privoznik <michal.privoznik <AT> gmail.com>
Part-of: https://github.com/gentoo/gentoo/pull/44111
Closes: https://github.com/gentoo/gentoo/pull/44111
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/libvirt-php-0.5.8-attribute_unused.patch | 42 ++++++++++++++++++++++
 ...0.5.8-r1.ebuild => libvirt-php-0.5.8-r2.ebuild} |  4 +++
 2 files changed, 46 insertions(+)

diff --git a/dev-php/libvirt-php/files/libvirt-php-0.5.8-attribute_unused.patch 
b/dev-php/libvirt-php/files/libvirt-php-0.5.8-attribute_unused.patch
new file mode 100644
index 000000000000..2047acb04c6a
--- /dev/null
+++ b/dev-php/libvirt-php/files/libvirt-php-0.5.8-attribute_unused.patch
@@ -0,0 +1,42 @@
+From 64b28253bb25933b74978906042aa07874500beb Mon Sep 17 00:00:00 2001
+Message-ID: 
<64b28253bb25933b74978906042aa07874500beb.1760018492.git.mpriv...@redhat.com>
+From: Michal Privoznik <[email protected]>
+Date: Thu, 14 Aug 2025 16:39:44 +0200
+Subject: [libvirt-php][PATCH] src: Don't rely on libxml2 to provide
+ ATTRIBUTE_UNUSED macro
+
+From: Michal Privoznik <[email protected]>
+
+One of the libxml2 header files used to provide ATTRIBUTE_UNUSED
+macro definition (it used to be libxml/xmlexports.h but then it
+was moved to libxml/xmlversion.h). But as of [1] this is no
+longer the case. Thus, declare the macro on our own.
+
+1: 
https://gitlab.gnome.org/GNOME/libxml2/-/commit/208f27f9641a59863ce1f7d4992df77f7eb0ea9d
+
+Signed-off-by: Michal Privoznik <[email protected]>
+(cherry picked from commit 5f78512c0eb139660d0a644895e07f83259cda37)
+Resolves: https://bugs.gentoo.org/963308
+Signed-off-by: Michal Privoznik <[email protected]>
+---
+ src/util.h | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/util.h b/src/util.h
+index 9839c3a..a677477 100644
+--- a/src/util.h
++++ b/src/util.h
+@@ -46,6 +46,10 @@
+ 
+ # define IS_BIGENDIAN (*(uint16_t *)"\0\xff" < 0x100)
+ 
++# ifndef ATTRIBUTE_UNUSED
++#  define ATTRIBUTE_UNUSED __attribute__((__unused__))
++# endif
++
+ # define SWAP2_BY_ENDIAN(le, v1, v2)    \
+     (((le && IS_BIGENDIAN) || (!le && !IS_BIGENDIAN)) ? ((v2 << 8) + v1) : 
((v1 << 8) + v2))
+ 
+-- 
+2.49.1
+

diff --git a/dev-php/libvirt-php/libvirt-php-0.5.8-r1.ebuild 
b/dev-php/libvirt-php/libvirt-php-0.5.8-r2.ebuild
similarity index 95%
rename from dev-php/libvirt-php/libvirt-php-0.5.8-r1.ebuild
rename to dev-php/libvirt-php/libvirt-php-0.5.8-r2.ebuild
index f327a76933ac..48ef43f49233 100644
--- a/dev-php/libvirt-php/libvirt-php-0.5.8-r1.ebuild
+++ b/dev-php/libvirt-php/libvirt-php-0.5.8-r2.ebuild
@@ -28,6 +28,10 @@ DEPEND="${RDEPEND}
 
 DOCS=( ChangeLog NEWS README )
 
+PATCHES=(
+       "${FILESDIR}"/${PN}-0.5.8-attribute_unused.patch
+)
+
 src_unpack() {
        default
 

Reply via email to