!1 Package init

Merge pull request !1 from lkx690/master
This commit is contained in:
openeuler-ci-bot 2020-03-21 17:11:55 +08:00 committed by Gitee
commit 2b8927653d
4 changed files with 164 additions and 0 deletions

BIN
Tk-804.034.tar.gz Normal file

Binary file not shown.

33
perl-Tk-seg.patch Normal file
View File

@ -0,0 +1,33 @@
diff -up Tk-804.028/pTk/mTk/generic/tkConfig.c.seg Tk-804.028/pTk/mTk/generic/tkConfig.c
--- Tk-804.028/pTk/mTk/generic/tkConfig.c.seg 2008-03-11 23:29:39.000000000 -0400
+++ Tk-804.028/pTk/mTk/generic/tkConfig.c 2008-03-11 23:28:09.000000000 -0400
@@ -1210,11 +1210,11 @@ GetOptionFromObj(interp, objPtr, tablePt
* First, check to see if the object already has the answer cached.
*/
- if (objPtr->typePtr == &tkOptionObjType) {
+/* if (objPtr->typePtr == &tkOptionObjType) {
if (objPtr->internalRep.twoPtrValue.ptr1 == (VOID *) tablePtr) {
return (Option *) objPtr->internalRep.twoPtrValue.ptr2;
}
- }
+ }*/
/*
* The answer isn't cached.
@@ -2277,9 +2277,15 @@ Tk_GetOptionValue(interp, recordPtr, opt
if (optionPtr == NULL) {
return NULL;
}
+
+ if (optionPtr->specPtr == NULL) {
+ return NULL;
+ }
+
if (optionPtr->specPtr->type == TK_OPTION_SYNONYM) {
optionPtr = optionPtr->extra.synonymPtr;
}
+
if (optionPtr->specPtr->objOffset >= 0) {
resultPtr = *((Tcl_Obj **) (recordPtr + optionPtr->specPtr->objOffset));
if (resultPtr == NULL) {

26
perl-Tk-widget.patch Normal file
View File

@ -0,0 +1,26 @@
--- old/demos/widget.orig 2008-01-02 13:24:14.000000000 +0100
+++ new/demos/widget 2008-01-02 13:27:10.000000000 +0100
@@ -3,7 +3,8 @@
use 5.008;
use Config;
use Tk 804.000;
-use lib Tk->findINC( 'demos/widget_lib' );
+#use lib Tk->findINC( 'demos/widget_lib' );
+use lib "@demopath@/widget_lib";
use Tk::widgets qw/ DialogBox ErrorDialog LabEntry ROText /;
use Tk::Config ();
use WidgetDemo;
@@ -62,9 +63,11 @@
$l->destroy;
}
-my $widget_lib = Tk->findINC('demos/widget_lib');
+#my $widget_lib = Tk->findINC('demos/widget_lib');
+my $widget_lib = "@demopath@/widget_lib";
my $wd = "$widget_lib/WidgetDemo.pm";
-$WIDTRIB = Tk->findINC('demos/widtrib');
+#$WIDTRIB = Tk->findINC('demos/widtrib');
+$WIDTRIB = "@demopath@/widtrib";
unless (Tk::tainting) {
$WIDTRIB = $ENV{WIDTRIB} if defined $ENV{WIDTRIB};
$WIDTRIB = $ARGV[0] if defined $ARGV[0];

105
perl-Tk.spec Normal file
View File

@ -0,0 +1,105 @@
%define perlver %(eval "`%{__perl} -V:version`"; echo $version)
Name: perl-Tk
Version: 804.034
Release: 5
Summary: A graphical user interface toolkit for Perl
License: (GPL+ or Artistic) and SWL
URL: https://metacpan.org/release/Tk
Source0: https://cpan.metacpan.org/authors/id/S/SR/SREZIC/Tk-%{version}.tar.gz
Patch0000: perl-Tk-widget.patch
Patch0001: perl-Tk-seg.patch
BuildRequires: gcc-c++ perl-devel >= 3:5.8.3 perl-generators freetype-devel libjpeg-devel
BuildRequires: libpng-devel libX11-devel libXft-devel perl(Config) perl(Cwd)
BuildRequires: perl(File::Copy) perl(lib) perl(open) perl(strict) perl(Test)
BuildRequires: perl(AutoLoader) perl(ExtUtils::MakeMaker) perl(base) perl(Carp)
BuildRequires: perl(DirHandle) perl(DynaLoader) perl(Encode) perl(Exporter)
BuildRequires: perl(File::Basename) perl(File::Spec) perl(if) perl(locale)
BuildRequires: perl(IO::Handle) perl(overload) perl(subs) perl(Symbol) perl(Text::Tabs)
BuildRequires: perl(vars) perl(warnings) perl(XSLoader) xorg-x11-server-Xvfb
BuildRequires: xorg-x11-xinit font(:lang=en) liberation-sans-fonts perl(constant)
BuildRequires: perl(Data::Dumper) perl(Devel::Peek) perl(ExtUtils::Command::MM)
BuildRequires: perl(File::Spec::Functions) perl(File::Temp) perl(FindBin) perl(Getopt::Long)
BuildRequires: perl(IO::Socket) perl(POSIX) perl(Test::More) perl(utf8) perl(MIME::Base64)
Requires: perl(:MODULE_COMPAT_%{perlver})
Provides: perl(Tk::LabRadio) = 4.004 perl(Tk) = %{version}
%{?perl_default_filter}
%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-Tk is a collection of modules and code that attempts to wed the easily configured
Tk widget toolkit to the powerful lexigraphic, dynamic memory, I/O, and object-oriented
capabilities of Perl 5. In other words, it is an interpreted scripting language for making
widgets and programs with Graphical User Interfaces (GUI).
%package devel
Summary: Development files for perl-Tk
Requires: perl-Tk = %{version}-%{release}
%description devel
This package provides the modules and Tk code for Perl/Tk.
%package help
Summary: Help document for perl-Tk
%description help
Help document for perl-Tk.
%prep
%autosetup -n Tk-%{version} -p1
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
%{__perl} -pi -e 's,\@demopath\@,%{_pkgdocdir}/demos,g' demos/widget
%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_build
%check
xvfb-run -a make test
%install
%make_install
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 {} \;
%files
%doc Changes README README.linux ToDo pTk/*license* __demos/demos demos/widget COPYING
%{_bindir}/{p*,tkjpeg}
%{perl_vendorarch}/auto/Tk
%{perl_vendorarch}/T*
%exclude %{perl_vendorarch}/Tk/{MMutil.pm,install.pm,MakeDepend.pm,demos}
%exclude %{_bindir}/{gedi,widget}
%exclude %{_libdir}/perl5/perllocal.pod
%files devel
%dir %{perl_vendorarch}/Tk
%{perl_vendorarch}/Tk/{MMutil.pm,install.pm,MakeDepend.pm}
%files help
%doc blib/man1/widget.1
%{_mandir}/man*/*
%exclude %{_mandir}/man1/widget.1*
%changelog
* Fri Dec 20 2019 shijian <shijian16@huawei.com> - 804.034-5
- Package init