diff options
Diffstat (limited to 'dev-perl')
-rw-r--r-- | dev-perl/Tk/Tk-804.36.0-r2.ebuild | 69 | ||||
-rw-r--r-- | dev-perl/Tk/files/Tk-804.036-incompatible-function-pointer-types.patch | 14 |
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 |