%{!?perl_vendorarch: %define perl_vendorarch %(eval "`%{__perl} -V:installvendorarch`"; echo $installvendorarch)} %define perlver %(eval "`%{__perl} -V:version`"; echo $version) Name: perl-Tk Version: 804.028 Release: 3%{?dist} Summary: Perl Graphical User Interface ToolKit Group: Development/Libraries License: GPL or Artistic URL: http://search.cpan.org/dist/Tk/ Source0: http://cpan.org/modules/by-module/Tk/Tk-804.028.tar.gz Patch0: perl-Tk-widget.patch # modified version of http://ftp.de.debian.org/debian/pool/main/p/perl-tk/perl-tk_804.027-8.diff.gz Patch1: perl-Tk-debian.patch.gz # fix segfaults as in #235666 because of broken cashing code Patch2: perl-Tk-seg.patch # fix gif overflow in tk see CVE-2006-4484 and CVE-2007-6697 or #431518 and # #431529 Patch100: perl-Tk-gif.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) # Versions before this have Unicode issues BuildRequires: perl-devel >= 3:5.8.3 BuildRequires: libjpeg-devel BuildRequires: libpng-devel BuildRequires: libX11-devel BuildRequires: libXft-devel Requires: perl(:MODULE_COMPAT_%{perlver}) Provides: perl(Tk::LabRadio) = 4.004 Provides: perl(Tk::TextReindex) Provides: perl(Tk) = %{version} %description This a re-port of a perl interface to Tk8.4. C code is derived from Tcl/Tk8.4.5. It also includes all the C code parts of Tix8.1.4 from SourceForge. The perl code corresponding to Tix's Tcl code is not fully implemented. Perl API is essentially the same as Tk800 series Tk800.025 but has not been verified as compliant. There ARE differences see pod/804delta.pod. %prep %setup -q -n Tk-%{version} find . -type f -exec %{__perl} -pi -e \ 's,^(#!)(/usr/local)?/bin/perl\b,$1%{__perl}, if ($. == 1)' {} \; chmod -x pod/Popup.pod Tixish/lib/Tk/balArrow.xbm # fix for widget as docs %patch0 %{__perl} -pi -e \ 's,\@demopath\@,%{_datadir}/doc/%{name}-%{version}/demos,g' \ %{_builddir}/Tk-%{version}/demos/widget # debian patch %patch1 -p1 # patch to fix #235666 ... seems like caching code is broken %patch2 %patch100 %build %{__perl} Makefile.PL INSTALLDIRS=vendor X11LIB=%{_libdir} XFT=1 find . -name Makefile | xargs %{__perl} -pi -e 's/^\tLD_RUN_PATH=[^\s]+\s*/\t/' make %{?_smp_mflags} # disable because they need an x screen #%check #make test %install rm -rf $RPM_BUILD_ROOT make pure_install PERL_INSTALL_ROOT=$RPM_BUILD_ROOT find $RPM_BUILD_ROOT -type f -name .packlist -exec rm -f {} \; find $RPM_BUILD_ROOT -type f -name '*.bs' -size 0 -exec rm -f {} \; find $RPM_BUILD_ROOT -type d -depth -exec rmdir {} 2>/dev/null \; chmod -R u+rwX,go+rX,go-w $RPM_BUILD_ROOT/* mkdir __demos cp -pR $RPM_BUILD_ROOT%{perl_vendorarch}/Tk/demos __demos find __demos/ -type f -exec chmod -x {} \; %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root,-) %doc Changes README README.linux ToDo pTk/*license* __demos/demos demos/widget %doc blib/man1/widget.1 %{_bindir}/p* %{_bindir}/tkjpeg %{perl_vendorarch}/auto/Tk %{perl_vendorarch}/T* %{_mandir}/man*/* %exclude %{_mandir}/man1/widget.1* %exclude %{_bindir}/gedi %exclude %{_bindir}/widget %exclude %{perl_vendorarch}/fix_4_os2.pl %exclude %{perl_vendorarch}/Tk/demos %exclude %{perl_vendorarch}/Tk/reindex.pl %changelog * Tue Feb 05 2008 Andreas Bierfert - 804.028-3 - fix #431529 gif overflow in tk (see also #431518) * Fri Jan 04 2008 Andreas Bierfert - 804.028-2 - add relevant parts of debian patch - add patch for #235666 * Wed Jan 02 2008 Andreas Bierfert - 804.028-1 - version upgrade - fix #210718 SIGSEGV on exit from texdoctk - fix #234404 Cannot manage big listboxes - fix #235666 Segfault occurs when using Perl-Tk on FC6 * Wed Dec 19 2007 Andreas Bierfert - 804.027-13 - fix BR * Wed Aug 22 2007 Andreas Bierfert - 804.027-12 - rebuild for buildid * Sun Apr 01 2007 Andreas Bierfert 804.027-11 - F7 rebuild (#234404) * Fri Sep 15 2006 Andreas Bierfert 804.027-10 - FE6 rebuild * Thu Feb 16 2006 Andreas Bierfert 804.027-9 - Rebuild for Fedora Extras 5 * Fri Nov 25 2005 Andreas Bierfert 804.027-8 - modular xorg integration * Sun Jul 31 2005 Andreas Bierfert 804.027-7 - fix #164716 * Mon Jun 20 2005 Andreas Bierfert 804.027-6 - some small cleanups - add dist tag * Thu Jun 16 2005 Andreas Bierfert 804.027-5 - exclude gedi - move widget to doc dir and patch it to work from there * Wed Jun 15 2005 Andreas Bierfert 804.027-4 - more cleanups from Ville Skyttä * Wed Jun 15 2005 Andreas Bierfert 804.027-3 - more cleanups * Tue Jun 14 2005 Andreas Bierfert 804.027-2 - add some stuff (e.g. xft) suggested by Steven Pritchard * Tue Jun 14 2005 Andreas Bierfert 804.027-1 - rebuild for fc4 * Fri Jun 04 2004 Andreas Bierfert 0:804.027-0.fdr.1 - Initial Version (thanks to perl-Archive-Zip spec)