summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2023-01-17 01:54:40 +0000
committerSam James <sam@gentoo.org>2023-01-17 01:54:40 +0000
commit7b75d588596d13dbd739cc0cf1100d3cc28afd9b (patch)
treea0aa10ec5e3615862f1ab1316568d13a41073374 /dev-perl/X11-XCB
parentnet-misc/s6-networking: move myself as the first maintainer (diff)
downloadgentoo-7b75d588596d13dbd739cc0cf1100d3cc28afd9b.tar.gz
gentoo-7b75d588596d13dbd739cc0cf1100d3cc28afd9b.tar.bz2
gentoo-7b75d588596d13dbd739cc0cf1100d3cc28afd9b.zip
dev-perl/X11-XCB: backport build fixes
Closes: https://bugs.gentoo.org/890178 Thanks-to: Peter Levine <plevine457@gmail.com> Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-perl/X11-XCB')
-rw-r--r--dev-perl/X11-XCB/X11-XCB-0.190.0-r1.ebuild63
-rw-r--r--dev-perl/X11-XCB/files/X11-XCB-0.190.0-build-fixes.patch37
2 files changed, 100 insertions, 0 deletions
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 <plevine457@gmail.com>
+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 <plevine457@gmail.com>
+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");
+