diff options
author | 2014-10-21 11:14:55 +0000 | |
---|---|---|
committer | 2014-10-21 11:14:55 +0000 | |
commit | bf825e0dcadf2543912964e186653bf731be1326 (patch) | |
tree | 7458790f4eb637279df2909811575138ad85bf94 /dev-perl/perl-tk | |
parent | Stable for HPPA (bug #525744). (diff) | |
download | gentoo-2-bf825e0dcadf2543912964e186653bf731be1326.tar.gz gentoo-2-bf825e0dcadf2543912964e186653bf731be1326.tar.bz2 gentoo-2-bf825e0dcadf2543912964e186653bf731be1326.zip |
dev-perl/perl-tk: Add fix for build against perl-5.20, thanks Norman Yarvin for the patch, #523982
(Portage version: 2.2.14/cvs/Linux x86_64, signed Manifest commit with key B9D4F231BD1558AB!)
Diffstat (limited to 'dev-perl/perl-tk')
-rw-r--r-- | dev-perl/perl-tk/ChangeLog | 9 | ||||
-rw-r--r-- | dev-perl/perl-tk/files/freetype_location.patch | 32 | ||||
-rw-r--r-- | dev-perl/perl-tk/files/mainwindow_segfaults.patch | 25 | ||||
-rw-r--r-- | dev-perl/perl-tk/perl-tk-804.32.0-r1.ebuild | 56 |
4 files changed, 121 insertions, 1 deletions
diff --git a/dev-perl/perl-tk/ChangeLog b/dev-perl/perl-tk/ChangeLog index 7f1fad96dfe5..31b27304424b 100644 --- a/dev-perl/perl-tk/ChangeLog +++ b/dev-perl/perl-tk/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for dev-perl/perl-tk # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-perl/perl-tk/ChangeLog,v 1.102 2014/10/11 18:44:58 dilfridge Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-perl/perl-tk/ChangeLog,v 1.103 2014/10/21 11:14:55 jlec Exp $ + +*perl-tk-804.32.0-r1 (21 Oct 2014) + + 21 Oct 2014; Justin Lecher <jlec@gentoo.org> +perl-tk-804.32.0-r1.ebuild, + +files/freetype_location.patch, +files/mainwindow_segfaults.patch: + Add fix for build against perl-5.20, thanks Norman Yarvin for the patch, + #523982 11 Oct 2014; Andreas K. Huettel <dilfridge@gentoo.org> -perl-tk-804.29.0.ebuild, -perl-tk-804.30.0.ebuild, -perl-tk-804.31.0.ebuild, diff --git a/dev-perl/perl-tk/files/freetype_location.patch b/dev-perl/perl-tk/files/freetype_location.patch new file mode 100644 index 000000000000..bac2a437c235 --- /dev/null +++ b/dev-perl/perl-tk/files/freetype_location.patch @@ -0,0 +1,32 @@ +From 1ca4589ef5a87999ec564081900bc8fdaed83c74 Mon Sep 17 00:00:00 2001 +From: Slaven Rezic <slaven@rezic.de> +Date: Sun, 2 Mar 2014 12:10:31 +0100 +Subject: [PATCH] look also for /usr/include/freetype2/freetype.h + +In some freetype installations (e.g. Debian/jessie) the intermediate +"freetype" directory may be missing in the include path. + +This should fix +https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=740207 +--- + myConfig | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/myConfig b/myConfig +index 02d2ee5..3ca8144 100755 +--- a/myConfig ++++ b/myConfig +@@ -147,7 +147,12 @@ sub Ift + { + foreach (map { "$_/freetype2" } @_) + { +- if (-d $_ && -d "$_/freetype" && -r "$_/freetype/freetype.h") ++ if (-r "$_/freetype.h") # location in Debian (since jessie) ++ { ++ print "Using -I$_ to find $_/freetype/freetype.h\n"; ++ return "-I$_"; ++ } ++ if (-r "$_/freetype/freetype.h") # location in FreeBSD (up to version 10.0) and Debian (up to wheezy) + { + print "Using -I$_ to find $_/freetype/freetype.h\n"; + return "-I$_"; diff --git a/dev-perl/perl-tk/files/mainwindow_segfaults.patch b/dev-perl/perl-tk/files/mainwindow_segfaults.patch new file mode 100644 index 000000000000..50e2e4b826ad --- /dev/null +++ b/dev-perl/perl-tk/files/mainwindow_segfaults.patch @@ -0,0 +1,25 @@ +From ba3a92a779f7adcf655b7e45b40ee5b0cb79bc8b Mon Sep 17 00:00:00 2001 +From: Slaven Rezic <slaven@rezic.de> +Date: Fri, 14 Mar 2014 16:00:05 +0100 +Subject: [PATCH] no segfaults if Tk::MainWindow::Create was called without + args + +However, this case never happened in real life, as this function was +not supposed to be used directly anyway. +--- + tkGlue.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tkGlue.c b/tkGlue.c +index 57f0bca..ae595bf 100644 +--- a/tkGlue.c ++++ b/tkGlue.c +@@ -2370,7 +2370,7 @@ XS(XS_Tk__MainWindow_Create) + STRLEN na; + Tcl_Interp *interp = Tcl_CreateInterp(); + SV **args = &ST(0); +- char *appName = SvPV(ST(1),na); ++ char *appName = items >= 1 ? SvPV(ST(1),na) : ""; + int offset = args - sp; + int code; + if (!initialized) diff --git a/dev-perl/perl-tk/perl-tk-804.32.0-r1.ebuild b/dev-perl/perl-tk/perl-tk-804.32.0-r1.ebuild new file mode 100644 index 000000000000..113d6d245900 --- /dev/null +++ b/dev-perl/perl-tk/perl-tk-804.32.0-r1.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-perl/perl-tk/perl-tk-804.32.0-r1.ebuild,v 1.1 2014/10/21 11:14:55 jlec Exp $ + +EAPI=5 + +MY_PN=Tk +MODULE_AUTHOR=SREZIC +MODULE_VERSION=804.032 +inherit multilib perl-module + +DESCRIPTION="A Perl Module for Tk" + +LICENSE+=" BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris" +IUSE="" + +DEPEND=" + media-libs/freetype + >=media-libs/libpng-1.4 + virtual/jpeg + x11-libs/libX11 + x11-libs/libXft" +RDEPEND="${DEPEND}" + +# No test running here, requires an X server, and fails lots anyway. +SRC_TEST="skip" +PATCHES=( + "${FILESDIR}"/${PN}-804.31.0-xorg.patch + "${FILESDIR}"/freetype_location.patch + "${FILESDIR}"/mainwindow_segfaults.patch + ) + +src_prepare() { + MAKEOPTS+=" -j1" #333049 + 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" + for dir in ${BUNDLED}; do + 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 +} |