commit:     7b75d588596d13dbd739cc0cf1100d3cc28afd9b
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 17 01:54:40 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Jan 17 01:54:40 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7b75d588

dev-perl/X11-XCB: backport build fixes

Closes: https://bugs.gentoo.org/890178
Thanks-to: Peter Levine <plevine457 <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-perl/X11-XCB/X11-XCB-0.190.0-r1.ebuild         | 63 ++++++++++++++++++++++
 .../files/X11-XCB-0.190.0-build-fixes.patch        | 37 +++++++++++++
 2 files changed, 100 insertions(+)

diff --git a/dev-perl/X11-XCB/X11-XCB-0.190.0-r1.ebuild 
b/dev-perl/X11-XCB/X11-XCB-0.190.0-r1.ebuild
new file mode 100644
index 000000000000..57f894e175ea
--- /dev/null
+++ b/dev-perl/X11-XCB/X11-XCB-0.190.0-r1.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DIST_AUTHOR=MSTPLBG
+DIST_VERSION=0.19
+inherit perl-module virtualx
+
+DESCRIPTION="Perl bindings for libxcb"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+       dev-perl/Data-Dump
+       dev-perl/Mouse
+       dev-perl/MouseX-NativeTraits
+       dev-perl/Try-Tiny
+       dev-perl/XML-Descent
+       dev-perl/XML-Simple
+       >=virtual/perl-XSLoader-0.20.0
+       >=x11-libs/libxcb-1.2
+       x11-libs/xcb-util
+       x11-libs/xcb-util-wm
+"
+DEPEND="
+       >=x11-libs/libxcb-1.2
+       x11-libs/xcb-util
+       x11-libs/xcb-util-wm
+       x11-base/xcb-proto
+"
+BDEPEND="${RDEPEND}
+       x11-base/xcb-proto
+       >=virtual/perl-Devel-PPPort-3.190.0
+       dev-perl/ExtUtils-Depends
+       >=virtual/perl-ExtUtils-MakeMaker-6.590.0
+       >=virtual/perl-ExtUtils-ParseXS-3.180.0
+       dev-perl/ExtUtils-PkgConfig
+       dev-perl/XS-Object-Magic
+       test? (
+               dev-perl/Test-Deep
+               dev-perl/Test-Exception
+               virtual/perl-Test-Simple
+       )
+"
+
+PATCHES=(
+       "${FILESDIR}"/${P}-build-fixes.patch
+)
+
+src_compile() {
+       mymake=(
+               "OPTIMIZE=${CFLAGS}"
+       )
+
+       perl-module_src_compile
+}
+
+src_test() {
+       virtx perl-module_src_test
+}

diff --git a/dev-perl/X11-XCB/files/X11-XCB-0.190.0-build-fixes.patch 
b/dev-perl/X11-XCB/files/X11-XCB-0.190.0-build-fixes.patch
new file mode 100644
index 000000000000..e1b18fc50fc6
--- /dev/null
+++ b/dev-perl/X11-XCB/files/X11-XCB-0.190.0-build-fixes.patch
@@ -0,0 +1,37 @@
+https://bugs.gentoo.org/890178
+https://github.com/stapelberg/X11-XCB/pull/3
+
+From 95539af3ff38ebc221f92893aade612305c2aba8 Mon Sep 17 00:00:00 2001
+From: Peter Levine <[email protected]>
+Date: Mon, 16 Jan 2023 03:40:24 -0500
+Subject: [PATCH 1/2] Fix undeclared __PACKAGE__ in C context
+
+--- a/XCB.xs
++++ b/XCB.xs
+@@ -180,7 +180,7 @@ _connect_and_attach_struct(self)
+   PREINIT:
+     XCBConnection *xcbconnbuf;
+   CODE:
+-    assert(sv_derivered_from(self, __PACKAGE__));
++    assert(sv_derivered_from(self, HvNAME(PL_curstash)));
+     SV **disp = hv_fetch((HV*)SvRV(self), "display", strlen("display"), 0);
+     if(!disp)
+         croak("Attribute 'display' is required");
+
+From 0922360b6fc1d2273dd3e15d0584bea983fdde9a Mon Sep 17 00:00:00 2001
+From: Peter Levine <[email protected]>
+Date: Mon, 16 Jan 2023 03:42:08 -0500
+Subject: [PATCH 2/2] Fix typo in  'sv_derived_from'
+
+--- a/XCB.xs
++++ b/XCB.xs
+@@ -180,7 +180,7 @@ _connect_and_attach_struct(self)
+   PREINIT:
+     XCBConnection *xcbconnbuf;
+   CODE:
+-    assert(sv_derivered_from(self, HvNAME(PL_curstash)));
++    assert(sv_derived_from(self, HvNAME(PL_curstash)));
+     SV **disp = hv_fetch((HV*)SvRV(self), "display", strlen("display"), 0);
+     if(!disp)
+         croak("Attribute 'display' is required");
+

Reply via email to