+#
+# Conditional build:
+%bcond_with tests # perform "make test" (requires valid $DISPLAY)
+#
%include /usr/lib/rpm/macros.perl
-Summary: Tk perl module
-Summary(pl): Modu³ perla Tk
+%define pdir Tk
+%define pnam Tk
+Summary: Tk - a graphical user interface toolkit for Perl
+Summary(pl.UTF-8): Tk - toolkit graficznego interfejsu użytkownika dla Perla
Name: perl-Tk
-Version: 800.014
-Release: 3
-Copyright: GPL
+Version: 804.030
+Release: 4
+# same as perl (except pTk dir - BSD-like)
+License: GPL v1+ or Artistic, parts BSD-like
Group: Development/Languages/Perl
-Group(pl): Programowanie/Jêzyki/Perl
-Source: ftp://ftp.perl.org/pub/CPAN/modules/by-module/Tk/Tk%{version}.tar.gz
-Patch: perl-Tk-paths.patch
-BuildRequires: rpm-perlprov >= 3.0.3-16
-BuildRequires: perl >= 5.005_03-14
-%requires_eq perl
-Requires: %{perl_sitearch}
-BuildRoot: /tmp/%{name}-%{version}-root
+Source0: http://www.cpan.org/modules/by-authors/id/S/SR/SREZIC/%{pnam}-%{version}.tar.gz
+# Source0-md5: 13275e85f99ee467a86d9598a437abff
+Patch0: %{name}-misc.patch
+Patch1: %{name}-man_section.patch
+URL: http://search.cpan.org/dist/Tk/
+BuildRequires: perl-Tie-Watch
+BuildRequires: perl-devel >= 1:5.8.0
+BuildRequires: rpm-perlprov >= 4.1-13
+BuildRequires: sed >= 4.0
+BuildRequires: xorg-lib-libXft-devel
+Obsoletes: perl-Tk-JPEG
+Obsoletes: perl-Tk-PNG
+BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%define _noautoreq_perl WidgetDemo
%description
-This package gives you the ability to develop perl applications using
+Perl Tk extension aims to provide a complete interface to the latest
+production version of John Ousterhout's Tk GUI toolkit, while
+providing an Object Oriented interface to Perl code.
+
+%description -l pl.UTF-8
+Rozszerzenie Perla Tk ma na celu udostępnienie pełnego interfejsu do
+najnowszej produkcyjnej wersji toolkitu graficznego Tk Johna
+Ousterhouta, jednocześnie zapewniając zorientowany obiektowo interfejs
+dla kodu w Perlu.
+
+%package devel
+Summary: Perl Tk - development files
+Summary(pl.UTF-8): Perl Tk - pliki programistyczne
+Group: Development/Languages/Perl
+Requires: %{name} = %{version}-%{release}
+
+%description devel
+This package gives you the ability to develop Perl applications for
the Tk GUI.
-%description -l pl
-Ten pakiet daje Ci mo¿liwo¶æ tworzenia aplikacji perla z wykorzystaniem
-GUI Tk.
+%description devel -l pl.UTF-8
+Ten pakiet umożliwia tworzenie aplikacji Perlowych przy użyciu
+graficznego interfejsu użytkownika Tk.
%prep
-%setup -q -n Tk%{version}
-%patch -p1
+%setup -q -n %{pnam}-%{version}
+%patch0 -p1
+%patch1 -p1
%build
-perl Makefile.PL
-make OPTIMIZE="$RPM_OPT_FLAGS"
+# sync with current Xlib
+ln -sf /usr/include/X11/Xlib.h pTk/Xlib.h
+
+%{__perl} Makefile.PL \
+ XFT=1 \
+ INSTALLDIRS=vendor \
+ X11LIB=/usr/%{_lib}
+%{__sed} -i -e 's/<default.h>/"default.h"/g' pTk/tixDef.h
+%{__make} \
+ CC="%{__cc}" \
+ OPTIMIZE="%{rpmcflags}"
+
+%{?with_tests:%{__make} test}
%install
rm -rf $RPM_BUILD_ROOT
-make install DESTDIR=$RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT{%{perl_vendorlib}/Tk,%{_examplesdir}/%{name}-%{version}}
-find $RPM_BUILD_ROOT%{perl_sitearch}/auto/Tk -name \*.so \
- -exec strip --strip-unneeded {} \;
+%{__make} pure_install \
+ DESTDIR=$RPM_BUILD_ROOT
-(
- cd $RPM_BUILD_ROOT%{perl_sitearch}/auto/Tk
- sed -e "s#$RPM_BUILD_ROOT##" .packlist >.packlist.new
- mv .packlist.new .packlist
-)
+# put demos to examples dir. do they work? don't know. didn't test
+mv $RPM_BUILD_ROOT{%{perl_vendorarch}/Tk/demos,%{_examplesdir}/%{name}-%{version}}
-gzip -9nf $RPM_BUILD_ROOT%{_mandir}/man[13]/* \
- Changes README README.linux ToDo Funcs.doc
+# perl-Tie-Watch packaged in system
+%{__rm} $RPM_BUILD_ROOT{%{_mandir}/man3/Tie::Watch.3pm,%{perl_vendorarch}/Tie/Watch.pm}
+
+%{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/Tk{,/*}.pod
+%{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/auto/Tk/.packlist
+
+# in %doc
+%{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/Tk/{Credits,README.*,license.terms}
+
+find $RPM_BUILD_ROOT -type f | xargs sed -i -e "s|/usr/local/bin/perl|%{_bindir}/perl|g"
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
-%doc {Changes,README,ToDo,README.linux,Funcs.doc}.gz
-%attr(755,root,root) %{_bindir}/*
-
-%{perl_sitearch}/Tk.pm
-%{perl_sitearch}/Tk/*.pm
-%{perl_sitearch}/Tk/prolog.ps
-%{perl_sitearch}/Tk/*.xbm
-%{perl_sitearch}/Tk/*.xpm
-%{perl_sitearch}/Tk/*.gif
-%{perl_sitearch}/Tk/tkGlue*
-%{perl_sitearch}/Tk/typemap
-%{perl_sitearch}/Tk/DragDrop
-%{perl_sitearch}/Tk/Menu
-%{perl_sitearch}/Tk/Text
-%{perl_sitearch}/Tk/demos
-%{perl_sitearch}/Tk/pTk
-
-%dir %{perl_sitearch}/auto/Tk
-%attr(755,root,root) %{perl_sitearch}/auto/Tk/Tk.so
-%{perl_sitearch}/auto/Tk/Tk.bs
-%{perl_sitearch}/auto/Tk/autosplit.ix
-%{perl_sitearch}/auto/Tk/*.al
-%{perl_sitearch}/auto/Tk/.packlist
-%{perl_sitearch}/auto/Tk/Frame
-%{perl_sitearch}/auto/Tk/Clipboard
-%{perl_sitearch}/auto/Tk/CmdLine
-
-%dir %{perl_sitearch}/auto/Tk/Bitmap
-%dir %{perl_sitearch}/auto/Tk/Canvas
-%dir %{perl_sitearch}/auto/Tk/Entry
-%dir %{perl_sitearch}/auto/Tk/HList
-%dir %{perl_sitearch}/auto/Tk/IO
-%dir %{perl_sitearch}/auto/Tk/InputO
-%dir %{perl_sitearch}/auto/Tk/Listbox
-%dir %{perl_sitearch}/auto/Tk/Menubutton
-%dir %{perl_sitearch}/auto/Tk/Mwm
-%dir %{perl_sitearch}/auto/Tk/NBFrame
-%dir %{perl_sitearch}/auto/Tk/Photo
-%dir %{perl_sitearch}/auto/Tk/Pixmap
-%dir %{perl_sitearch}/auto/Tk/Scale
-%dir %{perl_sitearch}/auto/Tk/Scrollbar
-%dir %{perl_sitearch}/auto/Tk/TList
-%dir %{perl_sitearch}/auto/Tk/Table
-%dir %{perl_sitearch}/auto/Tk/Text
-%dir %{perl_sitearch}/auto/Tk/TextUndo
-%dir %{perl_sitearch}/auto/Tk/TixGrid
-%dir %{perl_sitearch}/auto/Tk/Toplevel
-%dir %{perl_sitearch}/auto/Tk/Widget
-%dir %{perl_sitearch}/auto/Tk/WinPhoto
-%dir %{perl_sitearch}/auto/Tk/Wm
-%dir %{perl_sitearch}/auto/Tk/X
-%dir %{perl_sitearch}/auto/Tk/Xlib
-
-%{perl_sitearch}/auto/Tk/Listbox/*.al
-%{perl_sitearch}/auto/Tk/Listbox/autosplit.ix
-%{perl_sitearch}/auto/Tk/Scale/*.al
-%{perl_sitearch}/auto/Tk/Scale/autosplit.ix
-%{perl_sitearch}/auto/Tk/Scrollbar/*.al
-%{perl_sitearch}/auto/Tk/Scrollbar/autosplit.ix
-%{perl_sitearch}/auto/Tk/Table/*.al
-%{perl_sitearch}/auto/Tk/Table/autosplit.ix
-%{perl_sitearch}/auto/Tk/Text/autosplit.ix
-%{perl_sitearch}/auto/Tk/TextUndo/*.al
-%{perl_sitearch}/auto/Tk/TextUndo/autosplit.ix
-%{perl_sitearch}/auto/Tk/Toplevel/*.al
-%{perl_sitearch}/auto/Tk/Toplevel/autosplit.ix
-%{perl_sitearch}/auto/Tk/Widget/*.al
-%{perl_sitearch}/auto/Tk/Widget/autosplit.ix
-%{perl_sitearch}/auto/Tk/Wm/*.al
-%{perl_sitearch}/auto/Tk/Wm/autosplit.ix
-%{perl_sitearch}/auto/Tk/X/autosplit.ix
-
-%{perl_sitearch}/auto/Tk/*/*.bs
-%attr(755,root,root) %{perl_sitearch}/auto/Tk/*/*.so
-
-%{_mandir}/man[13]/*
+%doc Changes README README.linux ToDo Funcs.doc
+%doc Tk/Credits Tk/license.terms Tk/README.Adjust
+%attr(755,root,root) %{_bindir}/gedi
+%attr(755,root,root) %{_bindir}/tkjpeg
+%dir %{perl_vendorlib}/Tk
+%{perl_vendorarch}/Tk.pm
+%dir %{perl_vendorarch}/Tk
+%{perl_vendorarch}/Tk/DragDrop
+%{perl_vendorarch}/Tk/Event
+%{perl_vendorarch}/Tk/Menu
+%{perl_vendorarch}/Tk/Text
+%{perl_vendorarch}/Tk/[A-L]*.pm
+%{perl_vendorarch}/Tk/[N-Z]*.pm
+%{perl_vendorarch}/Tk/M[a-z]*.pm
+%{perl_vendorarch}/Tk/widgets.pm
+%dir %{perl_vendorarch}/auto/Tk
+%{perl_vendorarch}/auto/Tk/Tk.bs
+%attr(755,root,root) %{perl_vendorarch}/auto/Tk/Tk.so
+%{perl_vendorarch}/auto/Tk/autosplit.ix
+%{perl_vendorarch}/auto/Tk/*.al
+%dir %{perl_vendorarch}/auto/Tk/[BHLMNPWXp]*
+%dir %{perl_vendorarch}/auto/Tk/Canvas
+%dir %{perl_vendorarch}/auto/Tk/C[lo]*
+%dir %{perl_vendorarch}/auto/Tk/Entry
+%dir %{perl_vendorarch}/auto/Tk/Event
+%dir %{perl_vendorarch}/auto/Tk/Frame
+%dir %{perl_vendorarch}/auto/Tk/IO
+%dir %{perl_vendorarch}/auto/Tk/InputO
+%dir %{perl_vendorarch}/auto/Tk/Sc*
+%dir %{perl_vendorarch}/auto/Tk/T[Laeio]*
+%dir %{perl_vendorarch}/auto/Tk/JPEG
+%{perl_vendorarch}/auto/Tk/*/autosplit.ix
+%{perl_vendorarch}/auto/Tk/*/*.al
+%{perl_vendorarch}/auto/Tk/*/*.bs
+%{perl_vendorarch}/auto/Tk/*/*.ld
+%attr(755,root,root) %{perl_vendorarch}/auto/Tk/*/*.so
+%{_mandir}/man1/tkjpeg.1p*
+%{_mandir}/man3/Tk*.3pm*
+
+%files devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/ptked
+%attr(755,root,root) %{_bindir}/ptksh
+%attr(755,root,root) %{_bindir}/widget
+%{perl_vendorarch}/Tk/MMtry.pm
+%{perl_vendorarch}/Tk/MMutil.pm
+%{perl_vendorarch}/Tk/prolog.ps
+%{perl_vendorarch}/Tk/typemap
+%{perl_vendorarch}/Tk/tkGlue*
+%{perl_vendorarch}/Tk/vtab.def
+%{perl_vendorarch}/Tk/TkXSUB.def
+%{perl_vendorarch}/Tk/install.pm
+%{perl_vendorarch}/Tk/pTk
+# most of the bitmaps are used by demos
+%{perl_vendorarch}/Tk/*.x[bp]m
+%{perl_vendorarch}/Tk/*.gif
+%{_mandir}/man1/ptked.1p*
+%{_mandir}/man1/ptksh.1p*
+%{_mandir}/man1/widget.1p*
+%{_examplesdir}/%{name}-%{version}