# if you wanna test, add " --define '_run_test 1' " option to rpmbuild command
%define run_test %{?_run_test:1}%{!?_run_test:0}
%define pkgname Tk

Summary:	A perl module for Tk.
Name:		perl-%{pkgname}
Version:	804.036
Release:	1%{_dist_release}
Group:		programming
Vendor:		Project Vine
Distribution:	Vine Linux

License:	GPL or Artistic
URL:		http://perltk.org/
Source0:	https://cpan.metacpan.org/authors/id/S/SR/SREZIC/%{pkgname}-%{version}.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

BuildRoot:	%{_tmppath}/%{name}-%{version}-root
BuildRequires:	libX11-devel
BuildRequires:	libpng-devel
BuildRequires:	libjpeg-turbo-devel
BuildRequires:  libxcrypt-devel
BuildRequires:  libnsl2-devel
Requires:	perl >= 2:5.34.0

Provides: 	perl(Tk::LabRadio) = 4.004
Provides: 	perl(Tk::TextReindex) = 4.004
Provides:       perl(Tk) = %{version}

%{?perl_default_filter}
# Explicity filter "useless" unversioned provides. For some reason, rpm is
# detecting these both with and without version.
%global __provides_exclude %{?__provides_exclude:%__provides_exclude|}perl\\(Tk\\)
%global __provides_exclude %__provides_exclude|perl\\(Tk::Clipboard\\)$
%global __provides_exclude %__provides_exclude|perl\\(Tk::Frame\\)$
%global __provides_exclude %__provides_exclude|perl\\(Tk::Listbox\\)$
%global __provides_exclude %__provides_exclude|perl\\(Tk::Scale\\)$
%global __provides_exclude %__provides_exclude|perl\\(Tk::Scrollbar\\)$
%global __provides_exclude %__provides_exclude|perl\\(Tk::Table\\)$
%global __provides_exclude %__provides_exclude|perl\\(Tk::Toplevel\\)$
%global __provides_exclude %__provides_exclude|perl\\(Tk::Widget\\)$
%global __provides_exclude %__provides_exclude|perl\\(Tk::Wm\\)$

%description
Perl bindings to the Tk Graphical User Interface ToolKit. 


%debug_package


%prep
%setup -q -n %{pkgname}-%{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\@,%{?_pkgdocdir}%{!?_pkgdocdir:%{_docdir}/%{name}-%{version}}/demos,g' demos/widget
# debian patch
#%%patch1 -p1
# patch to fix #235666 ... seems like caching code is broken
%patch2 -p1 -b .seg


%build
%{__perl} Makefile.PL INSTALLDIRS=vendor X11LIB=%{_libdir} XFT=1 NO_PACKLIST=1 NO_PERLLOCAL=1
find . -name Makefile | xargs %{__perl} -pi -e 's/^\tLD_RUN_PATH=[^\s]+\s*/\t/'
make %{?_smp_mflags}


%install
rm -rf $RPM_BUILD_ROOT
make pure_install DESTDIR=$RPM_BUILD_ROOT
find $RPM_BUILD_ROOT -type f -name '*.bs' -size 0 -delete
find $RPM_BUILD_ROOT -type d -depth -exec rmdir {} 2>/dev/null \;

chmod -R u+rwX,go+rX,go-w $RPM_BUILD_ROOT/*


%if %{run_test}
%check
    xvfb-run -a make test
%endif


%clean
rm -rf $RPM_BUILD_ROOT


%files
%defattr(-,root,root)
%license COPYING pTk/*license*
%doc Changes README README.linux ToDo
%doc blib/man1/widget.1
%{_bindir}/p*
%{_bindir}/tkjpeg
%{perl_vendorarch}/auto/Tk
%{perl_vendorarch}/T*
%{_mandir}/man*/*
%exclude %{_bindir}/gedi
%exclude %{_bindir}/widget
%exclude %{_mandir}/man1/widget.1*
%exclude %{perl_vendorarch}/Tk/demos


%changelog
* Thu Nov 18 2021 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 804.036-1
- new upstream release.
- built with perl-5.34.0.
- dropped Patch4.

* Fri May 17 2019 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 804.034-1
- new upstream release.
- rebuilt with perl-5.26.
- added BR:libxcrypt-devel,libnsl2-devel.

* Wed Apr 15 2015 Ryoichi INAGAKI <ryo1@toki.waseda.jp> 804.033-1
- new upstream release

* Thu Jul 3 2014 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 804.032-1
- new upstream release.
- replaced patches.

* Sun May 22 2011 Shu KONNO <owa@bg.wakwak.com> 804.028-5
- added BR: libjpeg-turbo-devel

* Sun May 22 2011 Shu KONNO <owa@bg.wakwak.com> 804.028-4
- added Patch200: perl-Tk-804.028.Xlib.patch
- added Patch201: perl-Tk-804.028.pTkCallback.patch
- added Patch202: perl-Tk-804.028.encGlue.patch
- added Patch203: perl-Tk-804.028.tkGlue.patch
- added _run_test option

* Sat Jan  9 2010 IWAI, Masaharu <iwai@alib.jp> 804.028-3
- add BuildRequires: libX11-devel libpng-devel : <BTS:VineLinux:866>
- drop X11LIBS argument for Makefile.PL on x86_64 architecture
- add documents

* Mon Jan  4 2010 IWAI, Masaharu <iwai@alib.jp> 804.028-2
- add patch11 for fix CPAN bug #38746: <BTS:VineLinux:866>
  - see http://rt.cpan.org/Public/Bug/Display.html?id=38746

* Sun Aug 24 2008 Daisuke SUZUKI <daisuke@linux.or.jp> 804.028-1
- new upstream release
- build with perl-8.10.0

* Fri Mar 28 2008 Satoshi IWAMOTO <satoshi.iwamoto@nifty.ne.jp> 804.027-3
- add patch100 for fix CVE-2006-4484
- with new versioning policy
- add Vendor/Distribution tag

* Mon Dec 31 2007 Shu KONNO <owa@bg.wakwak.com> 804.027-0vl2
- added X11LIB to build (for x86_64)

* Sun Oct 22 2006 MATSUBAYASHI Kohji <shaolin@vinelinux.org> 804.027-0vl1
- updated to 804.027
- build with perl-5.8.6
- no noarch now (arch-dependent files/binaries are actually included)

* Sun Oct 03 2004 Daisuke SUZUKI <daisuke@linux.or.jp> 804.026-0vl1
- initial build for Vine Linux

