--- graphics/libimg/Makefile Tue Aug 15 01:06:35 2006 +++ graphics/libimg/Makefile Mon Mar 12 15:28:31 2007 @@ -7,17 +7,40 @@ PORTNAME= libimg PORTVERSION= 1.2.4 -PORTREVISION= 2 -CATEGORIES= graphics tk84 -MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} +PORTREVISION= 3 +CATEGORIES?= graphics tk84 +MASTER_SITES= ${MASTER_SITE_SOURiCEFORGE} MASTER_SITE_SUBDIR= tkimg DISTNAME= img${PORTVERSION} -MAINTAINER= ports@FreeBSD.org +MAINTAINER= martin@matuska.org COMMENT= A library of image format handlers for Tk4.1 and later -LIB_DEPENDS= tk84:${PORTSDIR}/x11-toolkits/tk84 \ - png:${PORTSDIR}/graphics/png \ +MAKEFILE= ${FILESDIR}/Makefile.bsd + +.if defined(USE_TKSTEP80) +PKGNAMESUFFIX= -tkstep80 +MAKEFILE= ${FILESDIR}/Makefile.tkstep80 +MAKE_ENV+= TCL_VER=8.0 +EXTRA_PATCHES= ${FILESDIR}/pre-tk84-warnings +BUILD_DEPENDS= ${LOCALBASE}/lib/tkstep8.0/tkstep.tcl:${PORTSDIR}/x11-toolkits/tkstep80 +RUN_DEPENDS+= ${BUILD_DEPENDS} +CONFLICTS= libimg-1.* libimg-tk83-1.* +.elif defined(USE_TK) && ${USE_TK} == 83 +PKGNAMESUFFIX= -tk83 +USE_TK= 83 +USE_TK_BUILD= 83 +MAKE_ENV+= TCL_VER=8.3 +EXTRA_PATCHES= ${FILESDIR}/pre-tk84-warnings +CONFLICTS= libimg-1.* libimg-tkstep-1.* +.else +USE_TK= 84 +USE_TK_BUILD= 84 +EXTRA_PATCHES= ${FILESDIR}/tk84-Tk_PhotoPutBlock ${FILESDIR}/tk84-warnings +CONFLICTS= libimg-tk83-1.* libimg-tkstep-1.* +.endif + +LIB_DEPENDS= png:${PORTSDIR}/graphics/png \ jpeg:${PORTSDIR}/graphics/jpeg \ tiff:${PORTSDIR}/graphics/tiff @@ -27,8 +50,6 @@ EXTRACT_AFTER_ARGS= | ${TAR} -xf - --exclude '*/libz/*' \ --exclude '*/compat/*' --exclude '*/libtiff/*' \ --exclude '*/libjpeg/*' --exclude '*/libpng/*' - -MAKEFILE= ${FILESDIR}/Makefile.bsd MAKE_ARGS= PORTVERSION="${PORTVERSION}" LOCALBASE="${LOCALBASE}" \ MKDIR="${MKDIR}" INSTALL_DATA="${INSTALL_DATA}" --- graphics/libimg/files/Makefile.tkstep80 Thu Jan 1 01:00:00 1970 +++ graphics/libimg/files/Makefile.tkstep80 Mon Mar 12 15:10:55 2007 @@ -0,0 +1,68 @@ +SHLIB_NAME= libimg.so.1 + +PORTVERSION?= 1.2.4 +LOCALBASE?= /usr/local +X11BASE?= /usr/X11R6 +TCL_VER= 8.0 + +.if exists(${LOCALBASE}/lib/tkstep${TCL_VER}/tkStepConfig.sh) +# If for some reason the file does not exist -- make the best guess. In +# reality, it will exist by the time we are actually doing the build, so +# the quality of the guess does not matter. But we still try well. -mi +TCL_STUB_LIB_SPEC!= . ${LOCALBASE}/lib/tcl${TCL_VER}/tclConfig.sh; \ + echo $$TCL_STUB_LIB_SPEC +TK_STUB_LIB_SPEC!= . ${LOCALBASE}/lib/tkstep${TCL_VER}/tkConfig.sh; \ + echo $$TK_STUB_LIB_SPEC +.else +TCL_STUB_LIB_SPEC= -L${LOCALBASE}/lib -ltcl${TCL_VER:S/.//} +TK_STUB_LIB_SPEC= -L${LOCALBASE}/lib -ltk${TCL_VER:S/.//} +.endif + +LDADD= -lm -lz -L${LOCALBASE}/lib -lpng -ljpeg -ltiff \ + -L${X11BASE}/lib -lX11 + +CFLAGS+= -I${LOCALBASE}/include/tcl${TCL_VER} +CFLAGS+= -I${LOCALBASE}/include/tcl${TCL_VER}/generic +CFLAGS+= -D__X11__ -I${X11BASE}/include -DALLOW_B64 +CFLAGS+= -I${LOCALBASE}/include/tkstep${TCL_VER} +CFLAGS+= -DNDEBUG -Wall -I. +CFLAGS+= -DVERSION=\"${PORTVERSION}\" -I${LOCALBASE}/include +CFLAGS+= -DHAVE_JPEGLIB_H -DHAVE_TIFF_H -DHAVE_DLFCN_H -DHAVE_IMG_H + +all: pkgIndex.tcl + +pkgIndex.tcl: pkgIndex.tcl.in + sed -e 's,@IMG_PATCH_LEVEL@,${PORTVERSION},g' \ + -e 's,@IMG_SHARED_LIB_FILE@,../${SHLIB_NAME},g' \ + < pkgIndex.tcl.in > pkgIndex.tcl + +DIR = lib/Img1.2 +INSTDIR = ${LOCALBASE}/${DIR} +LIBDIR = ${LOCALBASE}/lib + +${INSTDIR} ${INSTDIR}/msgs: + ${MKDIR} $@ + +beforeinstall: ${INSTDIR} ${INSTDIR}/msgs + ${INSTALL_DATA} pkgIndex.tcl ${.CURDIR}/demo.tcl ${.CURDIR}/tkv.tcl \ + ${.CURDIR}/imgmsg.tcl ${INSTDIR} + ${INSTALL_DATA} ${.CURDIR}/msgs/* ${INSTDIR}/msgs/ + +environ: + @${ECHO} SHLIB_NAME=${SHLIB_NAME} SHLIB_LINK=${SHLIB_LINK} DIR=${DIR} + +# fundamentals of this library +SRCS = imgInit.c imgObj.c imgUtil.c imgPmap.c imgUnixPmap.c \ + imgBMP.c imgGIF.c imgJPEG.c imgPNG.c imgPS.c \ + imgTIFF.c \ + imgWindow.c imgXBM.c imgXPM.c + +test: $(SHLIB_NAME) + PATH=${TK_BIN_DIR}:${PATH}; export PATH; \ + TCLLIBPATH=`pwd`; export TCLLIBPATH; \ + export SHLIB_PATH; \ + LD_LIBRARY_PATH=`pwd`; \ + export LD_LIBRARY_PATH; \ + wishstep${TCL_VER} demo.tcl + +.include --- graphics/libimg/files/patch-tk84_Tk_PhotoPutBlock Fri Jun 10 03:21:05 2005 +++ graphics/libimg/files/patch-tk84_Tk_PhotoPutBlock Thu Jan 1 01:00:00 1970 @@ -1,145 +0,0 @@ ---- imgBMP.c.orig Sun Aug 13 06:08:30 2000 -+++ imgBMP.c Mon Dec 1 12:49:07 2003 -@@ -256,7 +256,7 @@ - for( y = height-1; y>=0; y--) { - ImgRead(handle, line, bytesPerLine); - Tk_PhotoPutBlock(imageHandle, &block, destX, destY+y, -- width,1); -+ width,1,TK_PHOTO_COMPOSITE_SET); - } - break; - case 8: -@@ -268,7 +268,7 @@ - expline += 3; - } - Tk_PhotoPutBlock(imageHandle, &block, destX, destY+y, -- width,1); -+ width,1,TK_PHOTO_COMPOSITE_SET); - expline = block.pixelPtr; - } - break; -@@ -287,7 +287,7 @@ - expline += 3; - } - Tk_PhotoPutBlock(imageHandle, &block, destX, destY+y, -- width,1); -+ width,1,TK_PHOTO_COMPOSITE_SET); - expline = block.pixelPtr; - } - break; -@@ -302,7 +302,7 @@ - expline += 3; - } - Tk_PhotoPutBlock(imageHandle, &block, destX, destY+y, -- width,1); -+ width,1,TK_PHOTO_COMPOSITE_SET); - expline = block.pixelPtr; - } - break; ---- imgGIF.c.orig Sun Aug 13 06:09:39 2000 -+++ imgGIF.c Mon Dec 1 12:50:19 2003 -@@ -482,7 +482,7 @@ - } - - if (transparent == -1) { -- Tk_PhotoPutBlock(imageHandle, &block, destX, destY, width, height); -+ Tk_PhotoPutBlock(imageHandle, &block, destX, destY, width, height, TK_PHOTO_COMPOSITE_SET); - } else { - ImgPhotoPutBlock(imageHandle, &block, destX, destY, width, height); - } ---- imgJPEG.c.orig Sun Aug 13 06:10:22 2000 -+++ imgJPEG.c Mon Dec 1 12:50:53 2003 -@@ -1030,7 +1030,7 @@ - for (curY = 0; curY < stopY; curY++) { - jpeg.read_scanlines(cinfo, buffer, 1); - if (curY >= srcY) { -- Tk_PhotoPutBlock(imageHandle, &block, destX, outY, outWidth, 1); -+ Tk_PhotoPutBlock(imageHandle, &block, destX, outY, outWidth, 1, TK_PHOTO_COMPOSITE_SET); - outY++; - } - } ---- imgPS.c.orig Sun Aug 13 06:06:53 2000 -+++ imgPS.c Mon Dec 1 12:51:42 2003 -@@ -395,7 +395,7 @@ - for (j = 0; j < width; j++) { - line3[j] = ((line[(j+srcX)/8]>>(7-(j+srcX)%8) & 1)) ? 0 : 255; - } -- Tk_PhotoPutBlock(imageHandle, &block, destX, destY++, width, 1); -+ Tk_PhotoPutBlock(imageHandle, &block, destX, destY++, width, 1, TK_PHOTO_COMPOSITE_SET); - } - break; - case '5': -@@ -413,7 +413,7 @@ - c++; - } - } -- Tk_PhotoPutBlock(imageHandle, &block, destX, destY++, width, 1); -+ Tk_PhotoPutBlock(imageHandle, &block, destX, destY++, width, 1, TK_PHOTO_COMPOSITE_SET); - } - break; - case '6': -@@ -435,7 +435,7 @@ - c++; - } - } -- Tk_PhotoPutBlock(imageHandle, &block, destX, destY++, width, 1); -+ Tk_PhotoPutBlock(imageHandle, &block, destX, destY++, width, 1, TK_PHOTO_COMPOSITE_SET); - } - break; - } ---- imgUtil.c Tue Jan 15 15:59:59 2002 -+++ imgUtil.c Thu Jun 9 20:51:49 2005 -@@ -95,7 +95,7 @@ - } - if (end > X) { - blockPtr->pixelPtr = rowPtr + blockPtr->pixelSize * X; -- Tk_PhotoPutBlock(handle, blockPtr, x+X, y+Y, end-X, 1); -+ Tk_PhotoPutBlock(handle, blockPtr, x+X, y+Y, end-X, 1, TK_PHOTO_COMPOSITE_SET); - } - X = end; - } -@@ -103,12 +103,12 @@ - } - blockPtr->pixelPtr = imagePtr; - } else { -- Tk_PhotoPutBlock(handle,blockPtr,x,y,width,height); -+ Tk_PhotoPutBlock(handle,blockPtr,x,y,width,height,TK_PHOTO_COMPOSITE_SET); - } - return TCL_OK; - } - -- -+#if 0 /* OS run-time linker is better suited for this job { */ - /* - *---------------------------------------------------------------------- - * -@@ -248,4 +248,5 @@ - dlclose(*handlePtr); - } - *handlePtr = IMG_FAILED; --} -\ No newline at end of file -+} -+#endif /* } */ ---- imgWindow.c.orig Sat Jan 15 13:25:37 2000 -+++ imgWindow.c Mon Dec 1 12:52:11 2003 -@@ -378,7 +378,7 @@ - } - } - -- Tk_PhotoPutBlock(imageHandle, &block, destX, destY, width, height); -+ Tk_PhotoPutBlock(imageHandle, &block, destX, destY, width, height, TK_PHOTO_COMPOSITE_SET); - - #ifndef __WIN32__ - XDestroyImage(ximage); ---- imgXPM.c.orig Sun Aug 13 06:41:31 2000 -+++ imgXPM.c Mon Dec 1 12:52:34 2003 -@@ -504,7 +504,7 @@ - col = (int)0; - } - } while ((i < width) && col); -- Tk_PhotoPutBlock(imageHandle, &block.pub, destX+j, destY, len, 1); -+ Tk_PhotoPutBlock(imageHandle, &block.pub, destX+j, destY, len, 1, TK_PHOTO_COMPOSITE_SET); - } else { - p += byteSize; - i++; --- graphics/libimg/files/patch-warnings Fri Jun 10 03:21:05 2005 +++ graphics/libimg/files/patch-warnings Thu Jan 1 01:00:00 1970 @@ -1,229 +0,0 @@ ---- imgObj.c Tue Jan 15 16:00:08 2002 -+++ imgObj.c Thu Jun 9 05:28:23 2005 -@@ -33,5 +33,5 @@ - return (initialized = IMG_PERL|IMG_OBJS); - #else -- char *version; -+ const char *version; - initialized = IMG_TCL; - if (!Tcl_GetCommandInfo(interp,"image", &cmdInfo)) { ---- imgInit.c Tue Jan 15 15:59:58 2002 -+++ imgInit.c Thu Jun 9 05:27:40 2005 -@@ -94,5 +94,5 @@ - { - Tk_PhotoImageFormat **formatPtr = Formats; -- char *version; -+ const char *version; - - if ((version = Tcl_InitStubs(interp, "8.0", 0)) == NULL) { ---- imgPmap.h Tue Jan 15 15:59:58 2002 -+++ imgPmap.h Thu Jun 9 05:48:57 2005 -@@ -53,5 +53,5 @@ - int ncolors; /* number of colors */ - int cpp; /* characters per pixel */ -- char ** data; /* The data that defines this pixmap -+ const char ** data; /* The data that defines this pixmap - * image (array of strings). It is - * converted into an X Pixmap when this ---- imgPmap.c Tue Jan 15 15:59:58 2002 -+++ imgPmap.c Thu Jun 9 05:52:31 2005 -@@ -49,6 +53,5 @@ - Display *display)); - static void ImgXpmDelete _ANSI_ARGS_((ClientData clientData)); --static int ImgXpmCmd _ANSI_ARGS_((ClientData clientData, -- Tcl_Interp *interp, int argc, char **argv)); -+static Tcl_CmdProc ImgXpmCmd; - static void ImgXpmCmdDeletedProc _ANSI_ARGS_(( - ClientData clientData)); -@@ -56,11 +59,11 @@ - PixmapInstance *instancePtr)); - static int ImgXpmConfigureMaster _ANSI_ARGS_(( -- PixmapMaster *masterPtr, int argc, char **argv, -- int flags)); -+ PixmapMaster *masterPtr, int argc, -+ const char **argv, int flags)); - static int ImgXpmGetData _ANSI_ARGS_((Tcl_Interp *interp, - PixmapMaster *masterPtr)); --static char ** ImgXpmGetDataFromFile _ANSI_ARGS_((Tcl_Interp * interp, -+static const char ** ImgXpmGetDataFromFile _ANSI_ARGS_((Tcl_Interp * interp, - char * string, int * numLines_return)); --static char ** ImgXpmGetDataFromString _ANSI_ARGS_((Tcl_Interp*interp, -+static const char ** ImgXpmGetDataFromString _ANSI_ARGS_((Tcl_Interp*interp, - char * string, int * numLines_return)); - static void ImgXpmGetPixmapFromData _ANSI_ARGS_(( -@@ -68,7 +71,7 @@ - PixmapMaster *masterPtr, - PixmapInstance *instancePtr)); --static char * GetType _ANSI_ARGS_((char * colorDefn, -+static const char * GetType _ANSI_ARGS_((const char * colorDefn, - int * type_ret)); --static char * GetColor _ANSI_ARGS_((char * colorDefn, -+static const char * GetColor _ANSI_ARGS_((const char * colorDefn, - char * colorName, int * type_ret)); - -@@ -131,6 +134,6 @@ - PixmapMaster *masterPtr; - int i; -- char *argvbuf[10]; -- char **args = argvbuf; -+ const char *argvbuf[10]; -+ const char **args = argvbuf; - - /* -@@ -138,5 +141,5 @@ - */ - if (argc > 10) { -- args = (char **) ckalloc(argc * sizeof(char *)); -+ args = (const char **)ckalloc(argc * sizeof(char *)); - } - for (i = 0; i < argc; i++) { -@@ -197,5 +200,5 @@ - * overall pixmap image to (reconfigure). */ - int argc; /* Number of entries in argv. */ -- char **argv; /* Pairs of configuration options for image. */ -+ const char **argv; /* Pairs of configuration options for image. */ - int flags; /* Flags to pass to Tk_ConfigureWidget, - * such as TK_CONFIG_ARGV_ONLY. */ -@@ -280,8 +283,8 @@ - PixmapMaster *masterPtr; - { -- char ** data = NULL; -+ const char ** data = NULL; - int isAllocated = 0; /* do we need to free "data"? */ - int listArgc; -- char ** listArgv = NULL; -+ const char ** listArgv = NULL; - int numLines; - int size[2]; -@@ -371,5 +374,6 @@ - } - --static char ** ImgXpmGetDataFromString(interp, string, numLines_return) -+static const char ** -+ImgXpmGetDataFromString(interp, string, numLines_return) - Tcl_Interp * interp; - char * string; -@@ -379,5 +383,5 @@ - char * p, * list; - int numLines; -- char ** data; -+ const char ** data; - - /* skip the leading blanks (leading blanks are not defined in the -@@ -497,8 +501,9 @@ - error: - Tcl_AppendResult(interp, "File format error", NULL); -- return (char**) NULL; -+ return NULL; - } - --static char ** ImgXpmGetDataFromFile(interp, fileName, numLines_return) -+static const char ** -+ImgXpmGetDataFromFile(interp, fileName, numLines_return) - Tcl_Interp * interp; - char * fileName; -@@ -507,10 +512,10 @@ - Tcl_Channel chan; - int size; -- char ** data = (char **) NULL; -+ const char ** data = NULL; - char *cmdBuffer = NULL; - - chan = ImgOpenFileChannel(interp, fileName, 0); - if (!chan) { -- return (char **) NULL; -+ return NULL; - } - -@@ -540,10 +545,10 @@ - - --static char * -+static const char * - GetType(colorDefn, type_ret) -- char * colorDefn; -+ const char * colorDefn; - int * type_ret; - { -- char * p = colorDefn; -+ const char * p = colorDefn; - - /* skip white spaces */ -@@ -590,7 +595,7 @@ - * colorName is guaranteed to be big enough - */ --static char * -+static const char * - GetColor(colorDefn, colorName, type_ret) -- char * colorDefn; -+ const char * colorDefn; - char * colorName; /* if found, name is copied to this array */ - int * type_ret; -@@ -699,5 +704,5 @@ - - for (i=0; incolors; i++) { -- char * colorDefn; /* the color definition line */ -+ const char * colorDefn; /* the color definition line */ - char * colorName; /* temp place to hold the color name - * defined for one type of visual */ -@@ -790,5 +795,5 @@ - */ - for (i=0; isize[1]; i++) { -- char * p = masterPtr->data[i+lOffset]; -+ const char * p = masterPtr->data[i+lOffset]; - - for (j=0; jsize[0]; j++) { -@@ -905,5 +910,5 @@ - Tcl_Interp *interp; /* Current interpreter. */ - int argc; /* Number of arguments. */ -- char **argv; /* Argument strings. */ -+ const char *argv[]; /* Argument strings. */ - { - PixmapMaster *masterPtr = (PixmapMaster *) clientData; ---- imgPS.c Tue Jan 15 16:00:10 2002 -+++ imgPS.c Thu Jun 9 05:58:04 2005 -@@ -269,5 +269,5 @@ - { - #ifndef MAC_TCL -- char *argv[10]; -+ const char *argv[10]; - int len, i, j, fileWidth, fileHeight, maxintensity, index; - char *p, type; ---- imgXPM.c Tue Jan 15 16:00:08 2002 -+++ imgXPM.c Thu Jun 9 20:33:32 2005 -@@ -287,6 +287,6 @@ - char buffer[MAX_BUFFER]; - int i, isMono; -- int color1; -- unsigned int data; -+ intptr_t color1; -+ uintptr_t data; - Tcl_HashEntry *hPtr; - -@@ -466,5 +466,5 @@ - - for (i = 0; i < width; ) { -- unsigned int col; -+ uintptr_t col; - - memcpy((char *) &color1, p, byteSize); -@@ -476,7 +476,7 @@ - */ - if (hPtr != (Tcl_HashEntry *)NULL) -- col = (int)Tcl_GetHashValue(hPtr); -+ col = (uintptr_t)Tcl_GetHashValue(hPtr); - else -- col = (int)0; -+ col = 0; - - /* -@@ -500,7 +500,7 @@ - hPtr = Tcl_FindHashEntry(&colorTable, (char *) color1); - if (hPtr != (Tcl_HashEntry *)NULL) -- col = (int)Tcl_GetHashValue(hPtr); -+ col = (uintptr_t)Tcl_GetHashValue(hPtr); - else -- col = (int)0; -+ col = 0; - } - } while ((i < width) && col); --- graphics/libimg/files/pre-tk84-warnings Thu Jan 1 01:00:00 1970 +++ graphics/libimg/files/pre-tk84-warnings Mon Mar 12 11:42:15 2007 @@ -0,0 +1,38 @@ +--- imgXPM.c Tue Jan 15 16:00:08 2002 ++++ imgXPM.c Thu Jun 9 20:33:32 2005 +@@ -287,6 +287,6 @@ + char buffer[MAX_BUFFER]; + int i, isMono; +- int color1; +- unsigned int data; ++ intptr_t color1; ++ uintptr_t data; + Tcl_HashEntry *hPtr; + +@@ -466,5 +466,5 @@ + + for (i = 0; i < width; ) { +- unsigned int col; ++ uintptr_t col; + + memcpy((char *) &color1, p, byteSize); +@@ -476,7 +476,7 @@ + */ + if (hPtr != (Tcl_HashEntry *)NULL) +- col = (int)Tcl_GetHashValue(hPtr); ++ col = (uintptr_t)Tcl_GetHashValue(hPtr); + else +- col = (int)0; ++ col = 0; + + /* +@@ -500,7 +500,7 @@ + hPtr = Tcl_FindHashEntry(&colorTable, (char *) color1); + if (hPtr != (Tcl_HashEntry *)NULL) +- col = (int)Tcl_GetHashValue(hPtr); ++ col = (uintptr_t)Tcl_GetHashValue(hPtr); + else +- col = (int)0; ++ col = 0; + } + } while ((i < width) && col); --- graphics/libimg/files/tk84-Tk_PhotoPutBlock Thu Jan 1 01:00:00 1970 +++ graphics/libimg/files/tk84-Tk_PhotoPutBlock Fri Jun 10 03:21:05 2005 @@ -0,0 +1,145 @@ +--- imgBMP.c.orig Sun Aug 13 06:08:30 2000 ++++ imgBMP.c Mon Dec 1 12:49:07 2003 +@@ -256,7 +256,7 @@ + for( y = height-1; y>=0; y--) { + ImgRead(handle, line, bytesPerLine); + Tk_PhotoPutBlock(imageHandle, &block, destX, destY+y, +- width,1); ++ width,1,TK_PHOTO_COMPOSITE_SET); + } + break; + case 8: +@@ -268,7 +268,7 @@ + expline += 3; + } + Tk_PhotoPutBlock(imageHandle, &block, destX, destY+y, +- width,1); ++ width,1,TK_PHOTO_COMPOSITE_SET); + expline = block.pixelPtr; + } + break; +@@ -287,7 +287,7 @@ + expline += 3; + } + Tk_PhotoPutBlock(imageHandle, &block, destX, destY+y, +- width,1); ++ width,1,TK_PHOTO_COMPOSITE_SET); + expline = block.pixelPtr; + } + break; +@@ -302,7 +302,7 @@ + expline += 3; + } + Tk_PhotoPutBlock(imageHandle, &block, destX, destY+y, +- width,1); ++ width,1,TK_PHOTO_COMPOSITE_SET); + expline = block.pixelPtr; + } + break; +--- imgGIF.c.orig Sun Aug 13 06:09:39 2000 ++++ imgGIF.c Mon Dec 1 12:50:19 2003 +@@ -482,7 +482,7 @@ + } + + if (transparent == -1) { +- Tk_PhotoPutBlock(imageHandle, &block, destX, destY, width, height); ++ Tk_PhotoPutBlock(imageHandle, &block, destX, destY, width, height, TK_PHOTO_COMPOSITE_SET); + } else { + ImgPhotoPutBlock(imageHandle, &block, destX, destY, width, height); + } +--- imgJPEG.c.orig Sun Aug 13 06:10:22 2000 ++++ imgJPEG.c Mon Dec 1 12:50:53 2003 +@@ -1030,7 +1030,7 @@ + for (curY = 0; curY < stopY; curY++) { + jpeg.read_scanlines(cinfo, buffer, 1); + if (curY >= srcY) { +- Tk_PhotoPutBlock(imageHandle, &block, destX, outY, outWidth, 1); ++ Tk_PhotoPutBlock(imageHandle, &block, destX, outY, outWidth, 1, TK_PHOTO_COMPOSITE_SET); + outY++; + } + } +--- imgPS.c.orig Sun Aug 13 06:06:53 2000 ++++ imgPS.c Mon Dec 1 12:51:42 2003 +@@ -395,7 +395,7 @@ + for (j = 0; j < width; j++) { + line3[j] = ((line[(j+srcX)/8]>>(7-(j+srcX)%8) & 1)) ? 0 : 255; + } +- Tk_PhotoPutBlock(imageHandle, &block, destX, destY++, width, 1); ++ Tk_PhotoPutBlock(imageHandle, &block, destX, destY++, width, 1, TK_PHOTO_COMPOSITE_SET); + } + break; + case '5': +@@ -413,7 +413,7 @@ + c++; + } + } +- Tk_PhotoPutBlock(imageHandle, &block, destX, destY++, width, 1); ++ Tk_PhotoPutBlock(imageHandle, &block, destX, destY++, width, 1, TK_PHOTO_COMPOSITE_SET); + } + break; + case '6': +@@ -435,7 +435,7 @@ + c++; + } + } +- Tk_PhotoPutBlock(imageHandle, &block, destX, destY++, width, 1); ++ Tk_PhotoPutBlock(imageHandle, &block, destX, destY++, width, 1, TK_PHOTO_COMPOSITE_SET); + } + break; + } +--- imgUtil.c Tue Jan 15 15:59:59 2002 ++++ imgUtil.c Thu Jun 9 20:51:49 2005 +@@ -95,7 +95,7 @@ + } + if (end > X) { + blockPtr->pixelPtr = rowPtr + blockPtr->pixelSize * X; +- Tk_PhotoPutBlock(handle, blockPtr, x+X, y+Y, end-X, 1); ++ Tk_PhotoPutBlock(handle, blockPtr, x+X, y+Y, end-X, 1, TK_PHOTO_COMPOSITE_SET); + } + X = end; + } +@@ -103,12 +103,12 @@ + } + blockPtr->pixelPtr = imagePtr; + } else { +- Tk_PhotoPutBlock(handle,blockPtr,x,y,width,height); ++ Tk_PhotoPutBlock(handle,blockPtr,x,y,width,height,TK_PHOTO_COMPOSITE_SET); + } + return TCL_OK; + } + +- ++#if 0 /* OS run-time linker is better suited for this job { */ + /* + *---------------------------------------------------------------------- + * +@@ -248,4 +248,5 @@ + dlclose(*handlePtr); + } + *handlePtr = IMG_FAILED; +-} +\ No newline at end of file ++} ++#endif /* } */ +--- imgWindow.c.orig Sat Jan 15 13:25:37 2000 ++++ imgWindow.c Mon Dec 1 12:52:11 2003 +@@ -378,7 +378,7 @@ + } + } + +- Tk_PhotoPutBlock(imageHandle, &block, destX, destY, width, height); ++ Tk_PhotoPutBlock(imageHandle, &block, destX, destY, width, height, TK_PHOTO_COMPOSITE_SET); + + #ifndef __WIN32__ + XDestroyImage(ximage); +--- imgXPM.c.orig Sun Aug 13 06:41:31 2000 ++++ imgXPM.c Mon Dec 1 12:52:34 2003 +@@ -504,7 +504,7 @@ + col = (int)0; + } + } while ((i < width) && col); +- Tk_PhotoPutBlock(imageHandle, &block.pub, destX+j, destY, len, 1); ++ Tk_PhotoPutBlock(imageHandle, &block.pub, destX+j, destY, len, 1, TK_PHOTO_COMPOSITE_SET); + } else { + p += byteSize; + i++; --- graphics/libimg/files/tk84-warnings Thu Jan 1 01:00:00 1970 +++ graphics/libimg/files/tk84-warnings Fri Jun 10 03:21:05 2005 @@ -0,0 +1,229 @@ +--- imgObj.c Tue Jan 15 16:00:08 2002 ++++ imgObj.c Thu Jun 9 05:28:23 2005 +@@ -33,5 +33,5 @@ + return (initialized = IMG_PERL|IMG_OBJS); + #else +- char *version; ++ const char *version; + initialized = IMG_TCL; + if (!Tcl_GetCommandInfo(interp,"image", &cmdInfo)) { +--- imgInit.c Tue Jan 15 15:59:58 2002 ++++ imgInit.c Thu Jun 9 05:27:40 2005 +@@ -94,5 +94,5 @@ + { + Tk_PhotoImageFormat **formatPtr = Formats; +- char *version; ++ const char *version; + + if ((version = Tcl_InitStubs(interp, "8.0", 0)) == NULL) { +--- imgPmap.h Tue Jan 15 15:59:58 2002 ++++ imgPmap.h Thu Jun 9 05:48:57 2005 +@@ -53,5 +53,5 @@ + int ncolors; /* number of colors */ + int cpp; /* characters per pixel */ +- char ** data; /* The data that defines this pixmap ++ const char ** data; /* The data that defines this pixmap + * image (array of strings). It is + * converted into an X Pixmap when this +--- imgPmap.c Tue Jan 15 15:59:58 2002 ++++ imgPmap.c Thu Jun 9 05:52:31 2005 +@@ -49,6 +53,5 @@ + Display *display)); + static void ImgXpmDelete _ANSI_ARGS_((ClientData clientData)); +-static int ImgXpmCmd _ANSI_ARGS_((ClientData clientData, +- Tcl_Interp *interp, int argc, char **argv)); ++static Tcl_CmdProc ImgXpmCmd; + static void ImgXpmCmdDeletedProc _ANSI_ARGS_(( + ClientData clientData)); +@@ -56,11 +59,11 @@ + PixmapInstance *instancePtr)); + static int ImgXpmConfigureMaster _ANSI_ARGS_(( +- PixmapMaster *masterPtr, int argc, char **argv, +- int flags)); ++ PixmapMaster *masterPtr, int argc, ++ const char **argv, int flags)); + static int ImgXpmGetData _ANSI_ARGS_((Tcl_Interp *interp, + PixmapMaster *masterPtr)); +-static char ** ImgXpmGetDataFromFile _ANSI_ARGS_((Tcl_Interp * interp, ++static const char ** ImgXpmGetDataFromFile _ANSI_ARGS_((Tcl_Interp * interp, + char * string, int * numLines_return)); +-static char ** ImgXpmGetDataFromString _ANSI_ARGS_((Tcl_Interp*interp, ++static const char ** ImgXpmGetDataFromString _ANSI_ARGS_((Tcl_Interp*interp, + char * string, int * numLines_return)); + static void ImgXpmGetPixmapFromData _ANSI_ARGS_(( +@@ -68,7 +71,7 @@ + PixmapMaster *masterPtr, + PixmapInstance *instancePtr)); +-static char * GetType _ANSI_ARGS_((char * colorDefn, ++static const char * GetType _ANSI_ARGS_((const char * colorDefn, + int * type_ret)); +-static char * GetColor _ANSI_ARGS_((char * colorDefn, ++static const char * GetColor _ANSI_ARGS_((const char * colorDefn, + char * colorName, int * type_ret)); + +@@ -131,6 +134,6 @@ + PixmapMaster *masterPtr; + int i; +- char *argvbuf[10]; +- char **args = argvbuf; ++ const char *argvbuf[10]; ++ const char **args = argvbuf; + + /* +@@ -138,5 +141,5 @@ + */ + if (argc > 10) { +- args = (char **) ckalloc(argc * sizeof(char *)); ++ args = (const char **)ckalloc(argc * sizeof(char *)); + } + for (i = 0; i < argc; i++) { +@@ -197,5 +200,5 @@ + * overall pixmap image to (reconfigure). */ + int argc; /* Number of entries in argv. */ +- char **argv; /* Pairs of configuration options for image. */ ++ const char **argv; /* Pairs of configuration options for image. */ + int flags; /* Flags to pass to Tk_ConfigureWidget, + * such as TK_CONFIG_ARGV_ONLY. */ +@@ -280,8 +283,8 @@ + PixmapMaster *masterPtr; + { +- char ** data = NULL; ++ const char ** data = NULL; + int isAllocated = 0; /* do we need to free "data"? */ + int listArgc; +- char ** listArgv = NULL; ++ const char ** listArgv = NULL; + int numLines; + int size[2]; +@@ -371,5 +374,6 @@ + } + +-static char ** ImgXpmGetDataFromString(interp, string, numLines_return) ++static const char ** ++ImgXpmGetDataFromString(interp, string, numLines_return) + Tcl_Interp * interp; + char * string; +@@ -379,5 +383,5 @@ + char * p, * list; + int numLines; +- char ** data; ++ const char ** data; + + /* skip the leading blanks (leading blanks are not defined in the +@@ -497,8 +501,9 @@ + error: + Tcl_AppendResult(interp, "File format error", NULL); +- return (char**) NULL; ++ return NULL; + } + +-static char ** ImgXpmGetDataFromFile(interp, fileName, numLines_return) ++static const char ** ++ImgXpmGetDataFromFile(interp, fileName, numLines_return) + Tcl_Interp * interp; + char * fileName; +@@ -507,10 +512,10 @@ + Tcl_Channel chan; + int size; +- char ** data = (char **) NULL; ++ const char ** data = NULL; + char *cmdBuffer = NULL; + + chan = ImgOpenFileChannel(interp, fileName, 0); + if (!chan) { +- return (char **) NULL; ++ return NULL; + } + +@@ -540,10 +545,10 @@ + + +-static char * ++static const char * + GetType(colorDefn, type_ret) +- char * colorDefn; ++ const char * colorDefn; + int * type_ret; + { +- char * p = colorDefn; ++ const char * p = colorDefn; + + /* skip white spaces */ +@@ -590,7 +595,7 @@ + * colorName is guaranteed to be big enough + */ +-static char * ++static const char * + GetColor(colorDefn, colorName, type_ret) +- char * colorDefn; ++ const char * colorDefn; + char * colorName; /* if found, name is copied to this array */ + int * type_ret; +@@ -699,5 +704,5 @@ + + for (i=0; incolors; i++) { +- char * colorDefn; /* the color definition line */ ++ const char * colorDefn; /* the color definition line */ + char * colorName; /* temp place to hold the color name + * defined for one type of visual */ +@@ -790,5 +795,5 @@ + */ + for (i=0; isize[1]; i++) { +- char * p = masterPtr->data[i+lOffset]; ++ const char * p = masterPtr->data[i+lOffset]; + + for (j=0; jsize[0]; j++) { +@@ -905,5 +910,5 @@ + Tcl_Interp *interp; /* Current interpreter. */ + int argc; /* Number of arguments. */ +- char **argv; /* Argument strings. */ ++ const char *argv[]; /* Argument strings. */ + { + PixmapMaster *masterPtr = (PixmapMaster *) clientData; +--- imgPS.c Tue Jan 15 16:00:10 2002 ++++ imgPS.c Thu Jun 9 05:58:04 2005 +@@ -269,5 +269,5 @@ + { + #ifndef MAC_TCL +- char *argv[10]; ++ const char *argv[10]; + int len, i, j, fileWidth, fileHeight, maxintensity, index; + char *p, type; +--- imgXPM.c Tue Jan 15 16:00:08 2002 ++++ imgXPM.c Thu Jun 9 20:33:32 2005 +@@ -287,6 +287,6 @@ + char buffer[MAX_BUFFER]; + int i, isMono; +- int color1; +- unsigned int data; ++ intptr_t color1; ++ uintptr_t data; + Tcl_HashEntry *hPtr; + +@@ -466,5 +466,5 @@ + + for (i = 0; i < width; ) { +- unsigned int col; ++ uintptr_t col; + + memcpy((char *) &color1, p, byteSize); +@@ -476,7 +476,7 @@ + */ + if (hPtr != (Tcl_HashEntry *)NULL) +- col = (int)Tcl_GetHashValue(hPtr); ++ col = (uintptr_t)Tcl_GetHashValue(hPtr); + else +- col = (int)0; ++ col = 0; + + /* +@@ -500,7 +500,7 @@ + hPtr = Tcl_FindHashEntry(&colorTable, (char *) color1); + if (hPtr != (Tcl_HashEntry *)NULL) +- col = (int)Tcl_GetHashValue(hPtr); ++ col = (uintptr_t)Tcl_GetHashValue(hPtr); + else +- col = (int)0; ++ col = 0; + } + } while ((i < width) && col);