Compare commits

...

No commits in common. "c8s" and "f09b6e3c0276c8b6b7af96c07d3b2b65d3a3f927" have entirely different histories.

8 changed files with 303 additions and 16 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/Tix8.4.3-src.tar.gz
Tix8.4.3-src.tar.gz

View File

@ -1 +1 @@
285d2f19f907ebad002ee0266f56be620d44f174 SOURCES/Tix8.4.3-src.tar.gz
285d2f19f907ebad002ee0266f56be620d44f174 Tix8.4.3-src.tar.gz

1
sources Normal file
View File

@ -0,0 +1 @@
2b8bf4b10a852264678182652f477e59 Tix8.4.3-src.tar.gz

256
tix-8.4.2-tcl8.5.patch Normal file
View File

@ -0,0 +1,256 @@
diff -up Tix8.4.2/generic/tixImgXpm.c_old Tix8.4.2/generic/tixImgXpm.c
--- Tix8.4.2/generic/tixImgXpm.c_old 2008-01-08 11:53:37.000000000 +0100
+++ Tix8.4.2/generic/tixImgXpm.c 2008-01-08 12:04:49.000000000 +0100
@@ -45,19 +45,19 @@ static int ImgXpmConfigureMaster _ANSI_
int flags));
static int ImgXpmGetData _ANSI_ARGS_((Tcl_Interp *interp,
PixmapMaster *masterPtr));
-static char ** ImgXpmGetDataFromFile _ANSI_ARGS_((Tcl_Interp * interp,
+static CONST84 char ** ImgXpmGetDataFromFile _ANSI_ARGS_((Tcl_Interp * interp,
char * string, int * numLines_return));
-static char ** ImgXpmGetDataFromId _ANSI_ARGS_((Tcl_Interp * interp,
+static CONST84 char ** ImgXpmGetDataFromId _ANSI_ARGS_((Tcl_Interp * interp,
CONST84 char * id));
-static char ** ImgXpmGetDataFromString _ANSI_ARGS_((Tcl_Interp*interp,
+static CONST84 char ** ImgXpmGetDataFromString _ANSI_ARGS_((Tcl_Interp*interp,
char * string, int * numLines_return));
static void ImgXpmGetPixmapFromData _ANSI_ARGS_((
Tcl_Interp * interp,
PixmapMaster *masterPtr,
PixmapInstance *instancePtr));
-static char * GetType _ANSI_ARGS_((char * colorDefn,
+static CONST84 char * GetType _ANSI_ARGS_((CONST84 char * colorDefn,
int * type_ret));
-static char * GetColor _ANSI_ARGS_((char * colorDefn,
+static CONST84 char * GetColor _ANSI_ARGS_((CONST84 char * colorDefn,
char * colorName, int * type_ret));
/*
@@ -286,7 +286,7 @@ ImgXpmGetData(interp, masterPtr)
Tcl_Interp *interp; /* For reporting errors. */
PixmapMaster *masterPtr;
{
- char ** data = NULL;
+ CONST84 char ** data = NULL;
int isAllocated = 0; /* do we need to free "data"? */
int listArgc;
CONST84 char ** listArgv = NULL;
@@ -363,7 +363,7 @@ ImgXpmGetData(interp, masterPtr)
return code;
}
-static char ** ImgXpmGetDataFromId(interp, id)
+static CONST84 char ** ImgXpmGetDataFromId(interp, id)
Tcl_Interp * interp;
CONST84 char * id;
{
@@ -378,13 +378,13 @@ static char ** ImgXpmGetDataFromId(inter
if (hashPtr == NULL) {
Tcl_AppendResult(interp, "unknown pixmap ID \"", id,
"\"", NULL);
- return (char**)NULL;
+ return NULL;
} else {
- return (char**)Tcl_GetHashValue(hashPtr);
+ return (CONST84 char**)Tcl_GetHashValue(hashPtr);
}
}
-static char ** ImgXpmGetDataFromString(interp, string, numLines_return)
+static CONST84 char ** ImgXpmGetDataFromString(interp, string, numLines_return)
Tcl_Interp * interp;
char * string;
int * numLines_return;
@@ -392,7 +392,7 @@ static char ** ImgXpmGetDataFromString(i
int quoted;
char * p, * list;
int numLines;
- char ** data;
+ CONST84 char ** data;
/* skip the leading blanks (leading blanks are not defined in the
* the XPM definition, but skipping them shouldn't hurt. Also, the ability
@@ -510,17 +510,17 @@ static char ** ImgXpmGetDataFromString(i
error:
Tcl_AppendResult(interp, "File format error", NULL);
- return (char**) NULL;
+ return NULL;
}
-static char ** ImgXpmGetDataFromFile(interp, fileName, numLines_return)
+static CONST84 char ** ImgXpmGetDataFromFile(interp, fileName, numLines_return)
Tcl_Interp * interp;
char * fileName;
int * numLines_return;
{
FILE * fd = NULL;
int size, n;
- char ** data;
+ CONST84 char ** data;
char *cmdBuffer = NULL;
Tcl_DString buffer; /* initialized by Tcl_TildeSubst */
@@ -588,16 +588,16 @@ static char ** ImgXpmGetDataFromFile(int
ckfree(cmdBuffer);
}
Tcl_DStringFree(&buffer);
- return (char**)NULL;
+ return NULL;
}
-static char *
+static CONST84 char *
GetType(colorDefn, type_ret)
- char * colorDefn;
+ CONST84 char * colorDefn;
int * type_ret;
{
- char * p = colorDefn;
+ CONST84 char * p = colorDefn;
/* skip white spaces */
while (*p && isspace(*p)) {
@@ -642,9 +642,9 @@ GetType(colorDefn, type_ret)
/*
* colorName is guaranteed to be big enough
*/
-static char *
+static CONST84 char *
GetColor(colorDefn, colorName, type_ret)
- char * colorDefn;
+ CONST84 char * colorDefn;
char * colorName; /* if found, name is copied to this array */
int * type_ret;
{
@@ -751,7 +751,7 @@ ImgXpmGetPixmapFromData(interp, masterPt
}
for (i=0; i<masterPtr->ncolors; i++) {
- char * colorDefn; /* the color definition line */
+ CONST84 char * colorDefn; /* the color definition line */
char * colorName; /* temp place to hold the color name
* defined for one type of visual */
char * useName; /* the color name used for this
@@ -842,7 +842,7 @@ ImgXpmGetPixmapFromData(interp, masterPt
* Parse the main body of the image
*/
for (i=0; i<masterPtr->size[1]; i++) {
- char * p = masterPtr->data[i+lOffset];
+ CONST84 char * p = masterPtr->data[i+lOffset];
for (j=0; j<masterPtr->size[0]; j++) {
if (masterPtr->cpp == 1) {
diff -up Tix8.4.2/generic/tixImgXpm.h_old Tix8.4.2/generic/tixImgXpm.h
--- Tix8.4.2/generic/tixImgXpm.h_old 2008-01-08 12:04:59.000000000 +0100
+++ Tix8.4.2/generic/tixImgXpm.h 2008-01-08 12:05:26.000000000 +0100
@@ -55,7 +55,7 @@ typedef struct PixmapMaster {
int size[2]; /* width and height */
int ncolors; /* number of colors */
int cpp; /* characters per pixel */
- char ** data; /* The data that defines this pixmap
+ CONST84 char ** data; /* The data that defines this pixmap
* image (array of strings). It is
* converted into an X Pixmap when this
* image is instanciated
diff -up Tix8.4.2/generic/tixInt.h_old Tix8.4.2/generic/tixInt.h
--- Tix8.4.2/generic/tixInt.h_old 2008-01-08 12:05:53.000000000 +0100
+++ Tix8.4.2/generic/tixInt.h 2008-01-08 12:09:35.000000000 +0100
@@ -23,6 +23,10 @@
#include <tixPort.h>
#endif
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+
/*----------------------------------------------------------------------
*
* Tix Display Item Types
diff -up Tix8.4.2/generic/tixWidget.c_old Tix8.4.2/generic/tixWidget.c
--- Tix8.4.2/generic/tixWidget.c_old 2008-01-08 11:46:43.000000000 +0100
+++ Tix8.4.2/generic/tixWidget.c 2008-01-08 11:53:17.000000000 +0100
@@ -162,24 +162,23 @@ TIX_DEFINE_CMD(Tix_CreateWidgetCmd)
done:
if (code != TCL_OK) {
- /* %% TCL CORE USED !! %% */
- Interp *iPtr = (Interp *) interp;
- CONST84 char * oldResult, * oldErrorInfo, * oldErrorCode;
+ Tcl_SavedResult oldResult;
+ Tcl_Obj * oldErrorInfo, * oldErrorCode;
Tk_Window topLevel, tkwin;
/* We need to save the old error message because
* interp->result may be changed by some of the following function
* calls.
*/
- if (interp->result) {
- oldResult = tixStrDup(interp->result);
- } else {
- oldResult = NULL;
+ oldErrorInfo = Tcl_GetVar2Ex(interp, "errorInfo", NULL, TCL_GLOBAL_ONLY);
+ oldErrorCode = Tcl_GetVar2Ex(interp, "errorCode", NULL, TCL_GLOBAL_ONLY);
+ if (oldErrorInfo) {
+ Tcl_IncrRefCount(oldErrorInfo);
}
- oldErrorInfo = Tcl_GetVar2(interp, "errorInfo", NULL, TCL_GLOBAL_ONLY);
- oldErrorCode = Tcl_GetVar2(interp, "errorCode", NULL, TCL_GLOBAL_ONLY);
-
- Tcl_ResetResult(interp);
+ if (oldErrorCode) {
+ Tcl_IncrRefCount(oldErrorCode);
+ }
+ Tcl_SaveResult(interp, &oldResult);
/* (1) window */
topLevel = cPtr->mainWindow;
@@ -217,21 +216,17 @@ TIX_DEFINE_CMD(Tix_CreateWidgetCmd)
}
}
}
- if (oldResult) {
- Tcl_SetResult(interp, (char *) oldResult, TCL_DYNAMIC);
- }
- if (oldErrorInfo && *oldErrorInfo) {
- Tcl_SetVar2(interp, "errorInfo", NULL, oldErrorInfo,
- TCL_GLOBAL_ONLY);
- } else {
- Tcl_SetVar2(interp, "errorInfo", NULL, oldResult,
+ Tcl_RestoreResult(interp, &oldResult);
+ if (oldErrorInfo) {
+ Tcl_SetVar2Ex(interp, "errorInfo", NULL, oldErrorInfo,
TCL_GLOBAL_ONLY);
+ Tcl_DecrRefCount(oldErrorInfo);
}
if (oldErrorCode) {
- Tcl_SetVar2(interp, "errorCode", NULL, oldErrorCode,
+ Tcl_SetVar2Ex(interp, "errorCode", NULL, oldErrorCode,
TCL_GLOBAL_ONLY);
+ Tcl_DecrRefCount(oldErrorCode);
}
- iPtr->flags |= ERR_IN_PROGRESS;
}
if (widCmd) {
ckfree(widCmd);
diff -up Tix8.4.2/Makefile.in_old Tix8.4.2/Makefile.in
--- Tix8.4.2/Makefile.in_old 2008-01-08 11:43:41.000000000 +0100
+++ Tix8.4.2/Makefile.in 2008-01-08 11:46:22.000000000 +0100
@@ -128,6 +128,7 @@ SHLIB_LD = @SHLIB_LD@ $(CFLAGS) -Wl,-son
SHLIB_LD_FLAGS = @SHLIB_LD_FLAGS@
SHLIB_LD_LIBS = @SHLIB_LD_LIBS@
STLIB_LD = @STLIB_LD@
+TCL_VERSION = @TCL_VERSION@
TCL_DEFS = @TCL_DEFS@
TCL_SRC_DIR = @TCL_SRC_DIR@
TCL_BIN_DIR = @TCL_BIN_DIR@
@@ -294,7 +295,7 @@ VPATH = $(srcdir):$(srcdir)/generic:$(sr
pkgIndex.tcl:
(\
- echo 'if {[catch {package require Tcl 8.4}]} return';\
+ echo 'if {[catch {package require Tcl $(TCL_VERSION)}]} return';\
echo 'package ifneeded $(PACKAGE_NAME) $(PACKAGE_VERSION) \
[list load [file join $$dir $(PKG_LIB_FILE)] $(PACKAGE_NAME)]'\
) > pkgIndex.tcl

View File

@ -8,21 +8,21 @@ Summary: A set of extension widgets for Tk
Name: tix
Epoch: 1
Version: %{tixmajor}.3
Release: 23%{?dist}
Release: 33%{?dist}
License: TCL
Group: Development/Languages
URL: http://tix.sourceforge.net/
Source0: http://downloads.sourceforge.net/project/%{name}/%{name}/%{version}/Tix%{version}-src.tar.gz
# 0: Fixes BZ#81297 (soname of libraries)
Patch0: tix-8.4.2-link.patch
Patch1: tix-8.4.3-tcl86.patch
# 2: Fixes BZ#1602715 (issues found by static analysis)
Patch2: tix-8.4.3-covscan-fixes.patch
Requires: tcl(abi) = 8.6
Requires: tcl >= %{tcltkver}, tk >= %{tcltkver}
Requires: /etc/ld.so.conf.d
BuildRequires: make
Buildrequires: tcl-devel >= %{tcltkver}, tk-devel >= %{tcltkver}
BuildRequires: libX11-devel
BuildRequires: gcc
%description
Tix, the Tk Interface eXtension, is a powerful set of user interface
@ -32,7 +32,6 @@ appearance and functionality of your application.
%package devel
Summary: Tk Interface eXtension development files
Group: Development/Languages
Requires: tix = %{epoch}:%{version}-%{release}
%description devel
@ -46,7 +45,6 @@ tix applications.
%package doc
Summary: Tk Interface eXtension documentation
Group: Development/Languages
Requires: tix = %{epoch}:%{version}-%{release}
%description doc
@ -72,10 +70,10 @@ sed -i 's/\r//' docs/Release-8.4.0.txt
%build
%configure --with-tcl=%{_libdir} --with-tk=%{_libdir} --libdir=%{tcl_sitearch}
make all %{?_smp_mflags} PKG_LIB_FILE=libTix.so
%make_build all PKG_LIB_FILE=libTix.so
%install
make install DESTDIR=$RPM_BUILD_ROOT PKG_LIB_FILE=libTix.so
%make_install PKG_LIB_FILE=libTix.so
# move shared lib to tcl sitearch
mv $RPM_BUILD_ROOT%{tcl_sitearch}/Tix%{version}/libTix.so \
@ -130,13 +128,45 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/Tix%{tixmajor}/license.terms
%doc %{tcl_sitelib}/Tix%{tixmajor}
%changelog
* Thu Aug 02 2018 Vitezslav Crhonek <vcrhonek@redhat.com> - 1:8.4.3-23
- Fix issues detected by static analysis
Resolves: #1602715
* Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com> - 1:8.4.3-33
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Mon Jul 02 2018 Vitezslav Crhonek <vcrhonek@redhat.com> - 1:8.4.3-22
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 1:8.4.3-32
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:8.4.3-31
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Thu Nov 26 2020 Vitezslav Crhonek <vcrhonek@redhat.com> - 1:8.4.3-30
- Use make macros, patch by Tom Stellard <tstellar@redhat.com>
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:8.4.3-29
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:8.4.3-28
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1:8.4.3-27
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1:8.4.3-26
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Thu Aug 02 2018 Vitezslav Crhonek <vcrhonek@redhat.com> - 1:8.4.3-25
- Fix issues detected by static analysis
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1:8.4.3-24
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Mon Jul 02 2018 Vitezslav Crhonek <vcrhonek@redhat.com> - 1:8.4.3-23
- Fix license
* Tue Feb 27 2018 Vitezslav Crhonek <vcrhonek@redhat.com> - 1:8.4.3-22
- Add BuildRequires gcc
- Remove Group tag
- Fix bogus dates in %%changelog
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1:8.4.3-21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
@ -386,14 +416,14 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/Tix%{tixmajor}/license.terms
* Mon Jan 07 2002 Florian La Roche <Florian.LaRoche@redhat.de>
- fix config.guess and config.sub to newer versions
* Mon Aug 29 2001 Adrian Havill <havill@redhat.com>
* Wed Aug 29 2001 Adrian Havill <havill@redhat.com>
- hard-coded the compat symlink for tix libdir. (bug 52812)
* Mon Aug 28 2001 Adrian Havill <havill@redhat.com>
* Tue Aug 28 2001 Adrian Havill <havill@redhat.com>
- fixed itkwish/itclsh lib problem (bug 52608)
- make itcl install not need tclsh/wish during config/make (bug 52606)
* Mon Aug 8 2001 Adrian Havill <havill@redhat.com>
* Wed Aug 8 2001 Adrian Havill <havill@redhat.com>
- added execute bit mode for itclsh and itksh compat shells
- re-enable glibc string and math inlines; recent gcc is a-ok.
- optimize at -O2 instead of -O