From 1493d223794efe79baa2249d5c54a647d84ab914 Mon Sep 17 00:00:00 2001 From: Kent Fredric Date: Sat, 12 Mar 2016 16:09:13 +1300 Subject: [PATCH] dev-perl/Tk: Copy from dev-perl/perl-tk Migrating to a more predictable name matching upstream conventions Package-Manager: portage-2.2.27 --- dev-perl/Tk/Manifest | 2 + dev-perl/Tk/Tk-804.32.0-r1.ebuild | 55 ++++++++ dev-perl/Tk/Tk-804.33.0.ebuild | 53 ++++++++ dev-perl/Tk/files/Tk-804.31.0-xorg.patch | 43 ++++++ dev-perl/Tk/files/Tk-804.33.0-xorg.patch | 41 ++++++ dev-perl/Tk/files/freetype_location.patch | 32 +++++ dev-perl/Tk/files/mainwindow_segfaults.patch | 25 ++++ dev-perl/Tk/metadata.xml | 136 +++++++++++++++++++ 8 files changed, 387 insertions(+) create mode 100644 dev-perl/Tk/Manifest create mode 100644 dev-perl/Tk/Tk-804.32.0-r1.ebuild create mode 100644 dev-perl/Tk/Tk-804.33.0.ebuild create mode 100644 dev-perl/Tk/files/Tk-804.31.0-xorg.patch create mode 100644 dev-perl/Tk/files/Tk-804.33.0-xorg.patch create mode 100644 dev-perl/Tk/files/freetype_location.patch create mode 100644 dev-perl/Tk/files/mainwindow_segfaults.patch create mode 100644 dev-perl/Tk/metadata.xml diff --git a/dev-perl/Tk/Manifest b/dev-perl/Tk/Manifest new file mode 100644 index 000000000000..80ea29c7bcb2 --- /dev/null +++ b/dev-perl/Tk/Manifest @@ -0,0 +1,2 @@ +DIST Tk-804.032.tar.gz 6933200 SHA256 8003fa82672367093d8fd26d89dcac695afad92f4ad406a106d56e07e9dd5949 SHA512 9370c7d954a11b4a16317d749fd06a8ea70b37309a9ba6bb8c9ff6fecf1a264d12f101fcc9aaf1aac781a42f45758e66c955b2f550d7894e94927060a5e29ef7 WHIRLPOOL 1851c9fde36f62a5a96e17c6c1c3eb206a948f669457ac765c28b560076e4b0e32f4ef6c49e725b90f7c704aa270265b7c305ceb3c1dc277eedfafc1a831cb10 +DIST Tk-804.033.tar.gz 6924238 SHA256 84756e9b07a2555c8eecf88e63d5cbbba9b1aa97b1e71a3d4aa524a7995a88ad SHA512 ea56be8246123bbc570d86a7d4f1610349cced91ad92ab740baca4c280822aac2e3acab6334bef60b10a70d5840f331fa40b507aba47a7929f44960df95f2aee WHIRLPOOL 105bce71314e63d7512c6c8bcfa913c6026d8081ad2a5a1bde19f471552026d1c31d28589ae27a0468e73946f030e21d2b79f838033ba5623df94be02bd14826 diff --git a/dev-perl/Tk/Tk-804.32.0-r1.ebuild b/dev-perl/Tk/Tk-804.32.0-r1.ebuild new file mode 100644 index 000000000000..bcfad3f85f36 --- /dev/null +++ b/dev-perl/Tk/Tk-804.32.0-r1.ebuild @@ -0,0 +1,55 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +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 +} diff --git a/dev-perl/Tk/Tk-804.33.0.ebuild b/dev-perl/Tk/Tk-804.33.0.ebuild new file mode 100644 index 000000000000..23224d2b0cef --- /dev/null +++ b/dev-perl/Tk/Tk-804.33.0.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +MODULE_AUTHOR=SREZIC +MODULE_VERSION=804.033 +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:0 + 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}"/${P}-xorg.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 +} diff --git a/dev-perl/Tk/files/Tk-804.31.0-xorg.patch b/dev-perl/Tk/files/Tk-804.31.0-xorg.patch new file mode 100644 index 000000000000..2bad0ba092d5 --- /dev/null +++ b/dev-perl/Tk/files/Tk-804.31.0-xorg.patch @@ -0,0 +1,43 @@ + myConfig | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +diff --git a/myConfig b/myConfig +index e0ace45..be52a82 100755 +--- a/myConfig ++++ b/myConfig +@@ -307,7 +307,7 @@ if ($win_arch eq 'x') { + } + close(XMKMF); + while (defined $uidir) { +- last unless ($uidir =~ s!^.*-I(\S+)/lib/X11/config!!o); ++ last unless ($uidir =~ s!^.*-I(\S+)/lib(64)/X11/config!!o); + $try = $1; + $try =~ s/'x11root'/$ENV{X11ROOT}/; + push(@xdirs,$try); +@@ -356,7 +356,7 @@ if ($win_arch eq 'x') { + # + unless (defined $xlib) + { +- $xlib = &lX11(0,chooseX11(),chooseX11(),,'/usr/X386/lib') ++ $xlib = &lX11(0,chooseX11(),chooseX11(),,'/usr/X386/lib','/usr/lib64') + } + + # +@@ -375,7 +375,7 @@ if ($win_arch eq 'x') { + exit 0; + } + +- ($base) = $xlib =~ m#-L(.*)(?:/lib)$#x; ++ ($base) = $xlib =~ m#-L(.*)(?:/lib(64))$#x; + if (defined $X11INC) + { + $xinc = &IX11("$X11INC"); +@@ -387,6 +387,8 @@ if ($win_arch eq 'x') { + { + warn "Cannot find X include files via $base/include\n"; + $xinc = &IX11(map("$_/include",@xdirs), ++ chooseX11(), ++ '/usr/include', + '/usr/openwin/include', + chooseX11(), + chooseX11(), diff --git a/dev-perl/Tk/files/Tk-804.33.0-xorg.patch b/dev-perl/Tk/files/Tk-804.33.0-xorg.patch new file mode 100644 index 000000000000..d4284a394930 --- /dev/null +++ b/dev-perl/Tk/files/Tk-804.33.0-xorg.patch @@ -0,0 +1,41 @@ +diff --git a/myConfig b/myConfig +index fcf1933..14033cb 100755 +--- a/myConfig ++++ b/myConfig +@@ -316,7 +316,7 @@ if ($win_arch eq 'x') { + } + close(XMKMF); + while (defined $uidir) { +- last unless ($uidir =~ s!^.*-I(\S+)/lib/X11/config!!o); ++ last unless ($uidir =~ s!^.*-I(\S+)/lib(64)/X11/config!!o); + $try = $1; + $try =~ s/'x11root'/$ENV{X11ROOT}/; + push(@xdirs,$try); +@@ -365,8 +365,7 @@ if ($win_arch eq 'x') { + # + unless (defined $xlib) + { +- $xlib = &lX11(0,chooseX11(),chooseX11(),,'/usr/X386/lib', +- '/opt/X11/lib') ++ $xlib = &lX11(0,chooseX11(),chooseX11(),,'/usr/X386/lib','/opt/X11/lib','/usr/lib64') + } + + # +@@ -385,7 +384,7 @@ if ($win_arch eq 'x') { + exit 0; + } + +- ($base) = $xlib =~ m#-L(.*)(?:/lib)$#x; ++ ($base) = $xlib =~ m#-L(.*)(?:/lib(64))$#x; + if (defined $X11INC) + { + $xinc = &IX11("$X11INC"); +@@ -397,6 +396,8 @@ if ($win_arch eq 'x') { + { + warn "Cannot find X include files via $base/include\n"; + $xinc = &IX11(map("$_/include",@xdirs), ++ chooseX11(), ++ '/usr/include', + '/usr/openwin/include', + chooseX11(), + chooseX11(), diff --git a/dev-perl/Tk/files/freetype_location.patch b/dev-perl/Tk/files/freetype_location.patch new file mode 100644 index 000000000000..bac2a437c235 --- /dev/null +++ b/dev-perl/Tk/files/freetype_location.patch @@ -0,0 +1,32 @@ +From 1ca4589ef5a87999ec564081900bc8fdaed83c74 Mon Sep 17 00:00:00 2001 +From: Slaven Rezic +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/Tk/files/mainwindow_segfaults.patch b/dev-perl/Tk/files/mainwindow_segfaults.patch new file mode 100644 index 000000000000..50e2e4b826ad --- /dev/null +++ b/dev-perl/Tk/files/mainwindow_segfaults.patch @@ -0,0 +1,25 @@ +From ba3a92a779f7adcf655b7e45b40ee5b0cb79bc8b Mon Sep 17 00:00:00 2001 +From: Slaven Rezic +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/Tk/metadata.xml b/dev-perl/Tk/metadata.xml new file mode 100644 index 000000000000..71bef34370ba --- /dev/null +++ b/dev-perl/Tk/metadata.xml @@ -0,0 +1,136 @@ + + + + + perl@gentoo.org + Gentoo Perl Project + + + Tk + Tie::Watch + Tie::Watch::Array + Tie::Watch::Hash + Tie::Watch::Scalar + Tk + Tk::Adjuster + Tk::Adjuster::Item + Tk::After + Tk::Animation + Tk::Balloon + Tk::Bitmap + Tk::BrowseEntry + Tk::Button + Tk::Canvas + Tk::Checkbutton + Tk::Clipboard + Tk::CmdLine + Tk::ColorDialog + Tk::ColorEditor + Tk::ColorSelect + Tk::Compound + Tk::Configure + Tk::Derived + Tk::Dialog + Tk::DialogBox + Tk::DirTree + Tk::DirTreeDialog + Tk::Dirlist + Tk::DragDrop + Tk::DragDrop::Common + Tk::DragDrop::Local + Tk::DragDrop::Rect + Tk::DragDrop::SunConst + Tk::DragDrop::SunDrop + Tk::DragDrop::SunSite + Tk::DragDrop::Win32Drop + Tk::DragDrop::Win32Site + Tk::DragDrop::XDNDDrop + Tk::DragDrop::XDNDSite + Tk::DropSite + Tk::DummyEncode + Tk::DummyEncode::iso8859_1 + Tk::English + Tk::Entry + Tk::ErrorDialog + Tk::Event + Tk::Event::IO + Tk::FBox + Tk::FileSelect + Tk::FloatEntry + Tk::Font + Tk::Frame + Tk::HList + Tk::IO + Tk::IconList + Tk::Image + Tk::InputO + Tk::ItemStyle + Tk::JPEG + Tk::LabEntry + Tk::LabFrame + Tk::LabRadiobutton + Tk::Label + Tk::LabeledEntryLabeledRadiobutton + Tk::Labelframe + Tk::Listbox + Tk::MMtry + Tk::MMutil + Tk::MainWindow + Tk::MakeDepend + Tk::Menu + Tk::Menu::Button + Tk::Menu::Cascade + Tk::Menu::Checkbutton + Tk::Menu::Item + Tk::Menu::Radiobutton + Tk::Menu::Separator + Tk::Menubar + Tk::Menubutton + Tk::Message + Tk::MsgBox + Tk::Mwm + Tk::NBFrame + Tk::NoteBook + Tk::Optionmenu + Tk::PNG + Tk::Pane + Tk::Panedwindow + Tk::Photo + Tk::Pixmap + Tk::Pretty + Tk::ProgressBar + Tk::ROText + Tk::Radiobutton + Tk::Region + Tk::Reindex + Tk::ReindexedROText + Tk::ReindexedText + Tk::Scale + Tk::Scrollbar + Tk::Spinbox + Tk::Stats + Tk::Submethods + Tk::TList + Tk::Table + Tk::Text + Tk::Text::Tag + Tk::TextEdit + Tk::TextList + Tk::TextUndo + Tk::Tiler + Tk::TixGrid + Tk::Toplevel + Tk::Trace + Tk::Tree + Tk::Widget + Tk::WinPhoto + Tk::Wm + Tk::X + Tk::X11Font + Tk::Xlib + Tk::Xrm + Tk::install + Tk::widgets + WidgetDemo + + -- 2.26.2