rpms/tix/devel tix-8.4.2-tcl8.5.patch,1.1,1.2 tix.spec,1.22,1.23

Vitezslav Crhonek (vcrhonek) fedora-extras-commits at redhat.com
Thu Jan 10 08:11:57 UTC 2008


Author: vcrhonek

Update of /cvs/extras/rpms/tix/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv17420

Modified Files:
	tix-8.4.2-tcl8.5.patch tix.spec 
Log Message:
tix 8.4 to tcl 8.5 compatibility patch, spec fixes

tix-8.4.2-tcl8.5.patch:

Index: tix-8.4.2-tcl8.5.patch
===================================================================
RCS file: /cvs/extras/rpms/tix/devel/tix-8.4.2-tcl8.5.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- tix-8.4.2-tcl8.5.patch	8 Jan 2008 09:36:16 -0000	1.1
+++ tix-8.4.2-tcl8.5.patch	10 Jan 2008 08:11:37 -0000	1.2
@@ -1,14 +1,272 @@
+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	2005-03-25 21:15:53.000000000 +0100
-+++ Tix8.4.2/generic/tixWidget.c	2008-01-08 10:12:36.000000000 +0100
-@@ -231,6 +231,10 @@ TIX_DEFINE_CMD(Tix_CreateWidgetCmd)
- 	    Tcl_SetVar2(interp, "errorCode", NULL, oldErrorCode,
+--- 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);
  	}
-+/* ERR_IN_PROGRESS isn't defined in tcl8.5 */
-+#ifndef ERR_IN_PROGRESS
-+#define ERR_IN_PROGRESS 0
-+#endif
- 	iPtr->flags |= ERR_IN_PROGRESS;
+-	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
+diff -up Tix8.4.2/unix/tixUnixXpm.c_old Tix8.4.2/unix/tixUnixXpm.c
+--- Tix8.4.2/unix/tixUnixXpm.c_old	2008-01-08 12:10:18.000000000 +0100
++++ Tix8.4.2/unix/tixUnixXpm.c	2008-01-08 12:13:07.000000000 +0100
+@@ -19,12 +19,6 @@
+ #include <tixImgXpm.h>
+ #include <X11/Xutil.h>
+ 
+-#if !defined(WIN32) && !defined(MAC_OSX_TK)
+-#define TkPutImage(colors, ncolors, display, pixels, gc, image, destx, desty, srcx, srcy, width, height) \
+-	XPutImage(display, pixels, gc, image, destx, desty, srcx, \
+-	srcy, width, height);
+-#endif
+-
+ typedef struct PixmapData {
+     Pixmap mask;		/* Mask: only display pixmap pixels where
+ 				 * there are 1's here. */


Index: tix.spec
===================================================================
RCS file: /cvs/extras/rpms/tix/devel/tix.spec,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- tix.spec	8 Jan 2008 09:36:16 -0000	1.22
+++ tix.spec	10 Jan 2008 08:11:37 -0000	1.23
@@ -1,5 +1,6 @@
 %{!?tcl_version: %define tcl_version %(echo 'puts $tcl_version' | tclsh)}
 %{!?tcl_sitearch: %define tcl_sitearch %{_libdir}/tcl%{tcl_version}}
+%{!?tcl_sitelib: %define tcl_sitelib %{_datadir}/tcl%{tcl_version}}
 %define tixmajor 8.4
 %define tcltkver 8.4.13
 
@@ -59,7 +60,7 @@
 %patch1 -p1 -b .err
 
 %build
-%configure --libdir=%{tcl_sitearch}
+%configure --with-tcl=%{_libdir} --with-tk=%{_libdir} --libdir=%{tcl_sitearch}
 make all %{?_smp_mflags} PKG_LIB_FILE=libTix.so
 
 %install
@@ -77,8 +78,8 @@
 ln -sf libTix.so $RPM_BUILD_ROOT%{_libdir}/libtix.so
 
 # install demo scripts
-mkdir -p $RPM_BUILD_ROOT%{_datadir}/Tix%{tixmajor}
-cp -a demos $RPM_BUILD_ROOT%{_datadir}/Tix%{tixmajor}
+mkdir -p $RPM_BUILD_ROOT%{tcl_sitelib}/Tix%{tixmajor}
+cp -a demos $RPM_BUILD_ROOT%{tcl_sitelib}/Tix%{tixmajor}
 
 # the header and man pages were in the previous package, keeping for now...
 mkdir -p $RPM_BUILD_ROOT%{_includedir}
@@ -105,7 +106,6 @@
 %defattr(-,root,root,-)
 %{tcl_sitearch}/libTix.so
 %{tcl_sitearch}/Tix%{version}
-%{_datadir}/Tix%{tixmajor}
 %doc *.txt *.html license.terms
 
 %files devel
@@ -118,13 +118,16 @@
 %files doc
 %defattr(-,root,root,-)
 %doc docs/*
+%doc %{tcl_sitelib}/Tix%{tixmajor}
 
 %changelog
-* Mon Jan  7 2008 Marcela Maslanova <mmaslano at redhat.com> - 1:8.4.2-3
-- fix for build with tcl8.5
-- change the installing paths
-- remove unusued variable
-- fix BuildRoot
+* Thu Jan 10 2008 Vitezslav Crhonek <vcrhonek at redhat.com> - 1:8.4.2-3
+- Fix for build with tcl 8.5, change the installing paths,
+  remove unused variable (Marcela Maslanova <mmaslano at redhat.com>)
+- Fix build issues and installation path problems for tcl 8.5,
+  move demo programs to -doc subpackage (Wart <wart at kobold.org>)
+- Fix buildroot, tix 8.4 to tcl 8.5 compatibility patch based on
+  patch by Greg Couch
 
 * Tue Aug 28 2007 Vitezslav Crhonek <vcrhonek at redhat.com> - 1:8.4.2-2
 - Rebuild




More information about the fedora-extras-commits mailing list