summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2023-09-23 23:39:47 +0100
committerSam James <sam@gentoo.org>2023-09-23 23:40:13 +0100
commite0a874138a15a8317a223e8d9f7676b9e7b51e58 (patch)
treed749fbbbb1b4631c78f8f8a285f469f6890fc269 /dev-perl
parentapp-office/gnucash: add 5.3 (diff)
downloadgentoo-e0a874138a15a8317a223e8d9f7676b9e7b51e58.tar.gz
gentoo-e0a874138a15a8317a223e8d9f7676b9e7b51e58.tar.bz2
gentoo-e0a874138a15a8317a223e8d9f7676b9e7b51e58.zip
dev-perl/Tk: fix incompatible function pointer types
Closes: https://bugs.gentoo.org/883391 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-perl')
-rw-r--r--dev-perl/Tk/Tk-804.36.0-r2.ebuild69
-rw-r--r--dev-perl/Tk/files/Tk-804.036-incompatible-function-pointer-types.patch14
2 files changed, 83 insertions, 0 deletions
diff --git a/dev-perl/Tk/Tk-804.36.0-r2.ebuild b/dev-perl/Tk/Tk-804.36.0-r2.ebuild
new file mode 100644
index 000000000000..962e432cb9a7
--- /dev/null
+++ b/dev-perl/Tk/Tk-804.36.0-r2.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DIST_AUTHOR=SREZIC
+DIST_VERSION=804.036
+DIST_EXAMPLES=("examples/*")
+inherit perl-module virtualx
+
+DESCRIPTION="A Perl Module for Tk"
+
+LICENSE+=" tcltk BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+DEPEND="
+ media-libs/freetype
+ media-libs/libjpeg-turbo:=
+ >=media-libs/libpng-1.4:0
+ x11-libs/libX11
+ x11-libs/libXft
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-804.034-xorg.patch
+ "${FILESDIR}"/${PN}-804.036-configure-clang16.patch
+ "${FILESDIR}"/${PN}-804.036-crash.patch
+ "${FILESDIR}"/${PN}-804.036-incompatible-function-pointer-types.patch
+)
+
+PERL_RM_FILES=( "t/pod.t" )
+
+src_prepare() {
+ myconf=( X11ROOT="${EPREFIX}"/usr XFT=1 -I"${EPREFIX}"/usr/include/ -l"${EPREFIX}"/usr/$(get_libdir) )
+ mydoc="ToDo VERSIONS"
+
+ perl-module_src_prepare
+ # fix detection logic for Prefix, bug #385621
+ sed -i -e "s:/usr:${EPREFIX}/usr:g" myConfig || die
+ # having this around breaks with perl-module and a case-IN-sensitive fs
+ rm build_ptk || die
+
+ # Remove all bundled libs, fixes #488194
+ local BUNDLED="PNG/libpng \
+ PNG/zlib \
+ JPEG/jpeg"
+
+ # Move files required for tests temporarily
+
+ mkdir -p "${T}/stash" || die "can't create temporary stash"
+ mv "${S}/JPEG/jpeg/testimg.jpg" "${T}/stash/testimg.jpg" || die "can't move testimg.jpg"
+
+ for dir in ${BUNDLED}; do
+ einfo "Removing bundled: ${dir}"
+ rm -r "${S}/${dir}" || die "Can't remove bundle"
+ # Makefile.PL can copy files to ${S}/${dir}, so recreate them back.
+ mkdir -p "${S}/${dir}" || die "Can't restore bundled dir"
+ sed -i "\#^${dir}#d" "${S}"/MANIFEST || die 'Can not remove bundled libs from MANIFEST'
+ done
+
+ # Restore test files
+ mv "${T}/stash/testimg.jpg" "${S}/JPEG/jpeg/testimg.jpg" || die "can't restore testimg.jpg"
+}
+
+src_test() {
+ virtx perl-module_src_test
+}
diff --git a/dev-perl/Tk/files/Tk-804.036-incompatible-function-pointer-types.patch b/dev-perl/Tk/files/Tk-804.036-incompatible-function-pointer-types.patch
new file mode 100644
index 000000000000..9eefdf1b4e23
--- /dev/null
+++ b/dev-perl/Tk/files/Tk-804.036-incompatible-function-pointer-types.patch
@@ -0,0 +1,14 @@
+https://bugs.gentoo.org/883391
+https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=271521
+https://cgit.freebsd.org/ports/commit/?id=ecedf2f3cd2c933fb5df179f174c704c89cf1f31
+--- a/pTk/Xlib.t
++++ b/pTk/Xlib.t
+@@ -331,7 +331,7 @@ VFUNC(int,XIntersectRegion,V_XIntersectRegion,_ANSI_AR
+ #endif /* !DO_X_EXCLUDE */
+
+ #ifndef XKeycodeToKeysym
+-VFUNC(KeySym,XKeycodeToKeysym,V_XKeycodeToKeysym,_ANSI_ARGS_((Display *, unsigned int, int)))
++VFUNC(KeySym,XKeycodeToKeysym,V_XKeycodeToKeysym,_ANSI_ARGS_((Display *, KeyCode, int)))
+ #endif /* #ifndef XKeycodeToKeysym */
+
+ #ifndef XKeysymToString