From owner-svn-ports-all@FreeBSD.ORG Mon Jun 9 20:20:43 2014 Return-Path: Delivered-To: svn-ports-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C2A00258; Mon, 9 Jun 2014 20:20:43 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id AE0162E2D; Mon, 9 Jun 2014 20:20:43 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s59KKh8a012289; Mon, 9 Jun 2014 20:20:43 GMT (envelope-from mi@svn.freebsd.org) Received: (from mi@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s59KKgGh012283; Mon, 9 Jun 2014 20:20:42 GMT (envelope-from mi@svn.freebsd.org) Message-Id: <201406092020.s59KKgGh012283@svn.freebsd.org> From: Mikhail Teterin Date: Mon, 9 Jun 2014 20:20:42 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r357202 - in head/graphics/libimg: . files X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Jun 2014 20:20:43 -0000 Author: mi Date: Mon Jun 9 20:20:42 2014 New Revision: 357202 URL: http://svnweb.freebsd.org/changeset/ports/357202 QAT: https://qat.redports.org/buildarchive/r357202/ Log: Upgrade from 1.2.4 to 1.4.2. Allow for staging. Added: head/graphics/libimg/files/patch-config (contents, props changed) Deleted: head/graphics/libimg/files/Makefile.bsd head/graphics/libimg/files/Makefile.tkstep80 head/graphics/libimg/files/patch-warnings head/graphics/libimg/files/pre-tk84-warnings head/graphics/libimg/files/tk84-Tk_PhotoPutBlock head/graphics/libimg/files/tk84-warnings head/graphics/libimg/files/tk85-Tk_PhotoPutBlock Modified: head/graphics/libimg/Makefile head/graphics/libimg/distinfo head/graphics/libimg/files/patch-jpeg head/graphics/libimg/files/patch-png head/graphics/libimg/files/patch-tiff head/graphics/libimg/pkg-plist Modified: head/graphics/libimg/Makefile ============================================================================== --- head/graphics/libimg/Makefile Mon Jun 9 19:58:33 2014 (r357201) +++ head/graphics/libimg/Makefile Mon Jun 9 20:20:42 2014 (r357202) @@ -2,57 +2,52 @@ # $FreeBSD$ PORTNAME= libimg -PORTVERSION= 1.2.4 -PORTREVISION= 9 +PORTVERSION= 1.4.2 CATEGORIES?= graphics tk MASTER_SITES= SF/tkimg/tkimg/${PORTVERSION:R} -DISTNAME= img${PORTVERSION} +DISTNAME= tkimg${PORTVERSION} MAINTAINER= mi@aldan.algebra.com COMMENT= A library of image format handlers for Tk4.1 and later +BUILD_DEPENDS= dtplite:${PORTSDIR}/devel/tcllib LIB_DEPENDS= libpng15.so:${PORTSDIR}/graphics/png \ libjpeg.so:${PORTSDIR}/graphics/jpeg \ libtiff.so:${PORTSDIR}/graphics/tiff -DIR= lib/Img1.2 - -SHLIB_NAME= libimg.so.1 -SHLIB_LINK= ${SHLIB_NAME:R} - -PLIST_SUB+= DIR="${DIR}" SHLIB_NAME="${SHLIB_NAME}" \ +PLIST_SUB+= SHLIB_NAME="${SHLIB_NAME}" \ SHLIB_LINK="${SHLIB_LINK}" -WRKSRC= ${WRKDIR}/img${PORTVERSION} -MAKEFILE= ${FILESDIR}/Makefile.bsd +WRKSRC= ${WRKDIR}/tkimg${PORTVERSION:R} USES= tk -MAKE_ENV+= TCL_VER=${TCL_VER} +USE_BZIP2= yes # We don't need the bundled libraries: -EXTRACT_AFTER_ARGS= --exclude '*/libz/*' \ +EXTRACT_AFTER_ARGS= --exclude '*/libz/*' --exclude zlib \ + --exclude 'config.*' --exclude Makefile \ --exclude '*/compat/*' --exclude '*/libtiff/*' \ --exclude '*/libjpeg/*' --exclude '*/libpng/*' - -MAKE_ARGS= PORTVERSION="${PORTVERSION}" LOCALBASE="${LOCALBASE}" \ - MKDIR="${MKDIR}" INSTALL_DATA="${INSTALL_DATA}" \ - SHLIB_NAME="${SHLIB_NAME}" \ - DIR="${DIR}" - -USE_LDCONFIG= yes +MAKE_ARGS+= INSTALL_ROOT="${STAGEDIR}" +USE_AUTOTOOLS= autoconf +CONFIGURE_ARGS= --with-tcl="${TCL_LIBDIR}" --with-tk="${TK_LIBDIR}" +CONFIGURE_ENV= WRKDIR="${WRKDIR}" + +post-patch: + ${REINPLACE_CMD} -E -e 's,"(zlib|tiff|jpeg|png)tcl.h",<\1.h>,' \ + -e 's,jpeg\.h,jpeglib.h,' ${WRKSRC}/*/*.[ch] +.for d in jpeg png tiff zlib + touch ${WRKDIR}/$dtclConfig.sh +.endfor + +post-configure: +.for l in jpeg png tiff + ${REINPLACE_CMD} -E -e 's,^SHLIB_LD_LIBS[[:space:]]*=[[:space:]]*(.*),SHLIB_LD_LIBS=\1 -l$l,' \ + -e 's,-lpng$$,-lpng15,' ${WRKSRC}/$l/Makefile +.endfor post-install: - ${MKDIR} ${STAGEDIR}${DOCSDIR} - ${INSTALL_DATA} ${WRKSRC}/doc/* ${STAGEDIR}${DOCSDIR} - -.include - -.if ${TCL_VER} == 8.4 -PKGNAMESUFFIX= -tk84 -EXTRA_PATCHES= ${FILESDIR}/tk84-Tk_PhotoPutBlock ${FILESDIR}/tk84-warnings -CONFLICTS= libimg-tkstep-1.* -.else -EXTRA_PATCHES= ${FILESDIR}/tk85-Tk_PhotoPutBlock ${FILESDIR}/tk84-warnings -CONFLICTS= libimg-tk84-1.* libimg-tkstep-1.* -.endif + ${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/msgs/ + ${INSTALL_DATA} ${WRKSRC}/msgs/*.msg ${STAGEDIR}${EXAMPLESDIR}/msgs/ + ${INSTALL_SCRIPT} ${WRKSRC}/demo.tcl ${WRKSRC}/tkv.tcl ${STAGEDIR}${EXAMPLESDIR}/ -.include +.include Modified: head/graphics/libimg/distinfo ============================================================================== --- head/graphics/libimg/distinfo Mon Jun 9 19:58:33 2014 (r357201) +++ head/graphics/libimg/distinfo Mon Jun 9 20:20:42 2014 (r357202) @@ -1,2 +1,2 @@ -SHA256 (img1.2.4.tar.gz) = 1e3cb9c28fdf1ef87cd7c379ba1eb46988524d42120ae2d22d856a2dfee71fa0 -SIZE (img1.2.4.tar.gz) = 1672758 +SHA256 (tkimg1.4.2.tar.bz2) = bcced9c9e799e256683885ab703bc6777c95e415ed6f0b8c18793057fd87b866 +SIZE (tkimg1.4.2.tar.bz2) = 5541116 Added: head/graphics/libimg/files/patch-config ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/graphics/libimg/files/patch-config Mon Jun 9 20:20:42 2014 (r357202) @@ -0,0 +1,60 @@ +--- base/Makefile.in 2013-11-21 17:03:14.000000000 -0500 ++++ base/Makefile.in 2014-06-09 15:29:06.000000000 -0400 +@@ -432,5 +432,5 @@ + $(INSTALL_DATA) pkgIndex.tcl $(DESTDIR)$(pkglibdir); \ + fi +- $(INSTALL_DATA) tkimgConfig.sh $(DESTDIR)$(libdir) ++ $(INSTALL_DATA) tkimgConfig.sh $(DESTDIR)$(libdir)/Img + + #======================================================================== +--- Makefile.in 2013-11-21 17:03:12.000000000 -0500 ++++ Makefile.in 2014-06-09 15:13:46.000000000 -0400 +@@ -58,5 +58,5 @@ + + # Directory where libimg.a is at run-time: +-LIB_RUNTIME_DIR = $(libdir)/$(PACKAGE_NAME)$(PACKAGE_VERSION) ++LIB_RUNTIME_DIR = $(libdir)/$(PACKAGE_NAME) + + # Directory in which to install the archive libimg.a: +@@ -145,5 +145,5 @@ + mv pkgIndex.tcl Img/exec_prefix/lib/Img/pkgIndex.tcl + chmod ugo+w Img/exec_prefix/lib/Img/pkgIndex.tcl +- for p in Img/exec_prefix/lib/*.sh ; do \ ++ for p in Img/exec_prefix/lib/Img/*.sh ; do \ + sed -e 's#$(libdir)/[^/ ]*\([/ ]\)#$(LIB_RUNTIME_DIR)\1#' \ + $$p > $$p.1 && mv -f $$p.1 $$p ; \ +@@ -156,5 +156,5 @@ + done + mkdir -p $(INSTALL_ROOT)$(libdir) +- for p in Img/exec_prefix/lib/*.sh ; do \ ++ for p in Img/exec_prefix/lib/Img/*.sh ; do \ + $(INSTALL_PROGRAM) $$p $(INSTALL_ROOT)$(libdir)/`basename $$p` ; \ + done +--- configure.in 2014-06-09 15:13:46.000000000 -0400 ++++ configure.in 2013-11-21 17:03:14.000000000 -0500 +@@ -110,16 +110,12 @@ + + TEA_CONFIG_COLLECT +-TEA_CONFIG_SUBDIR(zlib, [--disable-option-checking]) +-TEA_CONFIG_SUBDIR(libpng, [--with-zlibtcl=`pwd`/zlib --disable-option-checking]) +-TEA_CONFIG_SUBDIR(libtiff, [--disable-option-checking]) +-TEA_CONFIG_SUBDIR(libjpeg, [--disable-option-checking]) + TEA_CONFIG_SUBDIR(base, [--disable-option-checking]) + TEA_CONFIG_SUBDIR(bmp, [--with-tkimg=`pwd`/base --disable-option-checking]) + TEA_CONFIG_SUBDIR(gif, [--with-tkimg=`pwd`/base --disable-option-checking]) + TEA_CONFIG_SUBDIR(ico, [--with-tkimg=`pwd`/base --disable-option-checking]) +-TEA_CONFIG_SUBDIR(jpeg, [--with-tkimg=`pwd`/base --with-jpegtcl=`pwd`/libjpeg --disable-option-checking]) ++TEA_CONFIG_SUBDIR(jpeg, [--with-tkimg=`pwd`/base --with-jpegtcl="$WRKDIR" --disable-option-checking]) + TEA_CONFIG_SUBDIR(pcx, [--with-tkimg=`pwd`/base --disable-option-checking]) + TEA_CONFIG_SUBDIR(pixmap, [--with-tkimg=`pwd`/base --disable-option-checking]) +-TEA_CONFIG_SUBDIR(png, [--with-tkimg=`pwd`/base --with-pngtcl=`pwd`/libpng --with-zlibtcl=`pwd`/zlib --disable-option-checking]) ++TEA_CONFIG_SUBDIR(png, [--with-tkimg=`pwd`/base --with-pngtcl="$WRKDIR" --with-zlibtcl="$WRKDIR" --disable-option-checking]) + TEA_CONFIG_SUBDIR(ppm, [--with-tkimg=`pwd`/base --disable-option-checking]) + TEA_CONFIG_SUBDIR(ps, [--with-tkimg=`pwd`/base --disable-option-checking]) +@@ -127,5 +123,5 @@ + TEA_CONFIG_SUBDIR(sun, [--with-tkimg=`pwd`/base --disable-option-checking]) + TEA_CONFIG_SUBDIR(tga, [--with-tkimg=`pwd`/base --disable-option-checking]) +-TEA_CONFIG_SUBDIR(tiff, [--with-tkimg=`pwd`/base --with-tifftcl=`pwd`/libtiff --with-zlibtcl=`pwd`/zlib --with-jpegtcl=`pwd`/libjpeg --disable-option-checking]) ++TEA_CONFIG_SUBDIR(tiff, [--with-tkimg=`pwd`/base --with-tifftcl="$WRKDIR" --with-zlibtcl="WRKDIR" --with-jpegtcl="$WRKDIR" --disable-option-checking]) + TEA_CONFIG_SUBDIR(window, [--with-tkimg=`pwd`/base --disable-option-checking]) + TEA_CONFIG_SUBDIR(xbm, [--with-tkimg=`pwd`/base --disable-option-checking]) Modified: head/graphics/libimg/files/patch-jpeg ============================================================================== --- head/graphics/libimg/files/patch-jpeg Mon Jun 9 19:58:33 2014 (r357201) +++ head/graphics/libimg/files/patch-jpeg Mon Jun 9 20:20:42 2014 (r357202) @@ -1,606 +1,100 @@ ---- imgJPEG.c Thu Jun 9 06:36:41 2005 -+++ imgJPEG.c Thu Jun 9 20:27:11 2005 -@@ -173,115 +173,4 @@ - j_common_ptr cinfo)); - static int load_jpeg_library _ANSI_ARGS_((Tcl_Interp *interp)); --static int CreateCompress _ANSI_ARGS_((j_compress_ptr, int, size_t)); --static int CreateDecompress _ANSI_ARGS_((j_decompress_ptr, int, size_t)); -- --/* -- * Stuff to support dynamic loading of libjpeg -- */ -- --static struct JpegFunctions { -- VOID *handle; -- int (* abort_decompress) _ANSI_ARGS_((j_decompress_ptr)); -- int (* destroy_compress) _ANSI_ARGS_((j_compress_ptr)); -- int (* destroy_decompress) _ANSI_ARGS_((j_decompress_ptr)); -- int (* finish_compress) _ANSI_ARGS_((j_compress_ptr)); -- int (* finish_decompress) _ANSI_ARGS_((j_decompress_ptr)); -- int (* read_header) _ANSI_ARGS_((j_decompress_ptr, int)); -- JDIMENSION (* read_scanlines) _ANSI_ARGS_((j_decompress_ptr, -- JSAMPARRAY, JDIMENSION)); -- boolean (* resync_to_restart) _ANSI_ARGS_((j_decompress_ptr, int)); -- int (* set_defaults) _ANSI_ARGS_((j_compress_ptr)); -- int (* start_compress) _ANSI_ARGS_((j_compress_ptr, int)); -- int (* start_decompress) _ANSI_ARGS_((j_decompress_ptr)); -- struct jpeg_error_mgr *(* std_error) _ANSI_ARGS_((struct jpeg_error_mgr *)); -- JDIMENSION (* write_scanlines) _ANSI_ARGS_((j_compress_ptr, -- JSAMPARRAY, JDIMENSION)); -- int (* set_colorspace) _ANSI_ARGS_((j_compress_ptr, J_COLOR_SPACE)); -- int (* set_quality) _ANSI_ARGS_((j_compress_ptr, int, int)); -- int (* simple_progression) _ANSI_ARGS_((j_compress_ptr)); -- int (* CreateCompress) _ANSI_ARGS_((j_compress_ptr, int, size_t)); -- int (* CreateDecompress) _ANSI_ARGS_((j_decompress_ptr, int, size_t)); -- int (* create_compress) _ANSI_ARGS_((j_compress_ptr)); -- int (* create_decompress) _ANSI_ARGS_((j_decompress_ptr)); -- void (* destroy) _ANSI_ARGS_((j_common_ptr)); -- JDIMENSION (* write_raw_data) _ANSI_ARGS_((j_compress_ptr, -- JSAMPIMAGE, JDIMENSION)); -- void (* suppress_tables) _ANSI_ARGS_((j_compress_ptr, boolean)); -- void (* write_tables) _ANSI_ARGS_((j_compress_ptr)); -- JDIMENSION (* read_raw_data) _ANSI_ARGS_((j_decompress_ptr, -- JSAMPIMAGE, JDIMENSION)); -- void (* abort) _ANSI_ARGS_((j_common_ptr)); --} jpeg = {0}; -- --static char *symbols[] = { --#ifdef NEED_SHORT_EXTERNAL_NAMES -- "jAbrtDecompress", -- "jDestCompress", -- "jDestDecompress", -- "jFinCompress", -- "jFinDecompress", -- "jReadHeader", -- "jReadScanlines", -- "jResyncRestart", -- "jSetDefaults", -- "jStrtCompress", -- "jStrtDecompress", -- "jStdError", -- "jWrtScanlines", -- /* the following 3 symbols are not crucial. They implement -- resp. the "-grayscale", "-quality" and "-progressive" -- options. If any of the symbols are missing from the -- library, the corresponding option just has no effect. */ -- "jSetColorspace", -- "jSetQuality", -- "jSimProgress", -- "jCreaCompress", -- "jCreaDecompress", -- "jCreaCompress", -- "jCreaDecompress", -- "jDestroy", -- "jWrtRawData", -- "jSuppressTables", -- "jWrtTables", -- "jReadRawData", -- "jAbort", --#else -- "jpeg_abort_decompress", -- "jpeg_destroy_compress", -- "jpeg_destroy_decompress", -- "jpeg_finish_compress", -- "jpeg_finish_decompress", -- "jpeg_read_header", -- "jpeg_read_scanlines", -- "jpeg_resync_to_restart", -- "jpeg_set_defaults", -- "jpeg_start_compress", -- "jpeg_start_decompress", -- "jpeg_std_error", -- "jpeg_write_scanlines", -- /* the following 3 symbols are not crucial. They implement -- resp. the "-grayscale", "-quality" and "-progressive" -- options. If any of the symbols are missing from the -- library, the corresponding option just has no effect. */ -- "jpeg_set_colorspace", -- "jpeg_set_quality", -- "jpeg_simple_progression", -- /* In later versions, jpeg_create_compress and jpeg_create_decompress -- are macros pointing to jpeg_CreateCompress and jpeg_CreateDecompres. -- Which one is found depends on the version. */ -- "jpeg_CreateCompress", -- "jpeg_CreateDecompress", -- "jpeg_create_compress", -- "jpeg_create_decompress", -- "jpeg_destroy", -- "jpeg_write_raw_data", -- "jpeg_suppress_tables", -- "jpeg_write_tables", -- "jpeg_read_raw_data", -- "jpeg_abort", --#endif -- (char *) NULL --}; -- - - static int -@@ -292,21 +181,10 @@ - struct my_error_mgr jerror; /* for controlling libjpeg error handling */ - int i; -+ static int initialized; +--- jpeg/jpeg.c 2013-04-09 15:10:34.000000000 -0400 ++++ jpeg/jpeg.c 2014-06-09 13:53:53.000000000 -0400 +@@ -56,5 +56,9 @@ + #endif + #include "tkimg.h" +-#include "jpegtcl.h" ++#ifdef EXTERN ++# undef EXTERN ++#endif ++#include ++#include -- if (ImgLoadLib(interp, JPEG_LIB_NAME, &jpeg.handle, symbols, 13) -- != TCL_OK) { -- return TCL_ERROR; -- } -- if (jpeg.CreateCompress == NULL) { -- if (jpeg.create_compress == NULL) { -- goto load_failed; -- } -- jpeg.CreateCompress = CreateCompress; -- } -- if (jpeg.CreateDecompress == NULL) { -- if (jpeg.create_decompress == NULL) { -- goto load_failed; -- } -- jpeg.CreateDecompress = CreateDecompress; -- } -+ if (initialized) -+ return TCL_OK; -+ -+ initialized = 1; - - /* The followin code tries to determine if the JPEG library is -@@ -322,5 +200,5 @@ - cinfo = (struct jpeg_compress_struct *) - ckalloc(8*sizeof(struct jpeg_compress_struct)); -- cinfo->err = jpeg.std_error(&jerror.pub); -+ cinfo->err = jpeg_std_error(&jerror.pub); - jerror.pub.error_exit = my_error_exit; - jerror.pub.output_message = my_output_message; -@@ -328,18 +206,16 @@ - if (setjmp(jerror.setjmp_buffer)) { - /* If we get here, the JPEG library is invalid. */ -- jpeg.destroy_compress(cinfo); -+ jpeg_destroy_compress(cinfo); - ckfree((char *)cinfo); --load_failed: - if (interp) { -- Tcl_AppendResult(interp, "couldn't load \"", JPEG_LIB_NAME, -- "\": please upgrade to at least version 6a", (char *) NULL); -+ Tcl_AppendResult(interp, "JPEG library mismatch, expecting \"", -+ JPEG_LIB_NAME, NULL); - } -- ImgLoadFailed(&jpeg.handle); - return TCL_ERROR; - } - - /* Now we can initialize libjpeg. */ - ((char *) cinfo)[sizeof(struct jpeg_compress_struct)] = 53; -- jpeg.CreateCompress(cinfo, JPEG_LIB_VERSION, -+ jpeg_CreateCompress(cinfo, JPEG_LIB_VERSION, - (size_t) sizeof(struct jpeg_compress_struct)); - if (((char *) cinfo)[sizeof(struct jpeg_compress_struct)] != 53) { -@@ -359,5 +235,5 @@ - cinfo->X_density = 0; - cinfo->Y_density = 0; -- jpeg.set_defaults(cinfo); -+ jpeg_set_defaults(cinfo); + static int SetupJPegLibrary(Tcl_Interp *interp); +@@ -137,86 +141,11 @@ - if ((cinfo->data_precision != BITS_IN_JSAMPLE) || -@@ -375,5 +251,5 @@ - } - } -- jpeg.destroy_compress(cinfo); -+ jpeg_destroy_compress(cinfo); - ckfree((char *) cinfo); - return TCL_OK; -@@ -383,13 +259,6 @@ - ImgLoadJpegLibrary() - { -- if ((load_jpeg_library(NULL) == TCL_OK) -- && jpeg.destroy -- && jpeg.write_raw_data -- && jpeg.suppress_tables -- && jpeg.write_tables -- && jpeg.read_raw_data -- && jpeg.abort) { -+ if (load_jpeg_library(NULL) == TCL_OK) - return TCL_OK; -- } - return TCL_ERROR; - } -@@ -420,179 +289,4 @@ - JSAMPARRAY, JDIMENSION)); --static int --CreateCompress(cinfo, version, size) -- j_compress_ptr cinfo; -- int version; -- size_t size; --{ -- return jpeg.create_compress(cinfo); --} - --static int --CreateDecompress(cinfo, version, size) -- j_decompress_ptr cinfo; -- int version; -- size_t size; --{ -- return jpeg.create_decompress(cinfo); --} -- --int --Imgjpeg_CreateCompress(cinfo, version, size) -- j_compress_ptr cinfo; -- int version; -- size_t size; --{ -- return jpeg.CreateCompress(cinfo, version, size); --} -- --int --Imgjpeg_CreateDecompress(cinfo, version, size) -- j_decompress_ptr cinfo; -- int version; -- size_t size; --{ -- return jpeg.CreateDecompress(cinfo, version, size); --} -- --boolean --Imgjpeg_resync_to_restart(a,b) -- j_decompress_ptr a; -- int b; --{ -- return jpeg.resync_to_restart(a,b); --} -- --JDIMENSION --Imgjpeg_read_scanlines(a,b,c) -- j_decompress_ptr a; -- JSAMPARRAY b; -- JDIMENSION c; --{ -- return jpeg.read_scanlines(a,b,c); --} -- --int --Imgjpeg_set_colorspace(a,b) -- j_compress_ptr a; -- J_COLOR_SPACE b; --{ -- return jpeg.set_colorspace(a,b); --} -- --int --Imgjpeg_set_defaults(a) -- j_compress_ptr a; --{ -- return jpeg.set_defaults(a); --} -- --int --Imgjpeg_start_decompress(a) -- j_decompress_ptr a; --{ -- return jpeg.start_decompress(a); --} -- --void --Imgjpeg_destroy(a) -- j_common_ptr a; --{ -- jpeg.destroy(a); --} -- --struct jpeg_error_mgr * --Imgjpeg_std_error(a) -- struct jpeg_error_mgr *a; --{ -- return jpeg.std_error(a); --} -- --JDIMENSION Imgjpeg_write_raw_data(a,b,c) -- j_compress_ptr a; -- JSAMPIMAGE b; -- JDIMENSION c; --{ -- return jpeg.write_raw_data(a,b,c); --} -- --void --Imgjpeg_suppress_tables(a,b) -- j_compress_ptr a; -- boolean b; --{ -- jpeg.suppress_tables(a,b); --} -- --void --Imgjpeg_abort(a) -- j_common_ptr a; --{ -- jpeg.abort(a); --} -- --int --Imgjpeg_read_header(a,b) -- j_decompress_ptr a; -- int b; --{ -- return jpeg.read_header(a,b); --} -- --int --Imgjpeg_start_compress(a,b) -- j_compress_ptr a; -- int b; --{ -- return jpeg.start_compress(a,b); --} -- --void --Imgjpeg_write_tables(a) -- j_compress_ptr a; --{ -- jpeg.write_tables(a); --} + static int + SetupJPegLibrary (interp) + Tcl_Interp *interp; + { +- struct jpeg_compress_struct *cinfo; /* libjpeg's parameter structure */ +- struct my_error_mgr jerror; /* for controlling libjpeg error handling */ +- int i; - --int --Imgjpeg_finish_decompress(a) -- j_decompress_ptr a; --{ -- return jpeg.finish_decompress(a); --} +- if (Jpegtcl_InitStubs(interp, JPEGTCL_VERSION, 0) == NULL) { +- return TCL_ERROR; +- } - --int --Imgjpeg_finish_compress(a) -- j_compress_ptr a; --{ -- return jpeg.finish_compress(a); --} +- /* The followin code tries to determine if the JPEG library is +- valid at all. The library might be configured differently, +- which will produce core dumps. Also it might be that +- fields appear in different places in jpeg_compress_struct +- or jpeg_decompress_struct. This will make the library totally +- unusable. In stead of a core-dump, we better have a proper +- error message */ +- +- /* overallocat size, so we don't get a core-dump if the library +- thinks that the structure is much larger */ +- +- cinfo = (struct jpeg_compress_struct *) ckalloc(8*sizeof(struct jpeg_compress_struct)); +- cinfo->err = jpeg_std_error(&jerror.pub); +- jerror.pub.error_exit = my_error_exit; +- jerror.pub.output_message = my_output_message; +- /* Establish the setjmp return context for my_error_exit to use. */ +- if (setjmp(jerror.setjmp_buffer)) { +- /* If we get here, the JPEG library is invalid. */ +- jpeg_destroy_compress(cinfo); +- ckfree((char *)cinfo); - --JDIMENSION --Imgjpeg_read_raw_data(a,b,c) -- j_decompress_ptr a; -- JSAMPIMAGE b; -- JDIMENSION c; --{ -- return jpeg.read_raw_data(a,b,c); --} +- if (interp) { +- Tcl_AppendResult(interp, "couldn't use \"", "jpegtcl", +- "\": please upgrade to at least version 6a", (char *) NULL); +- } +- return TCL_ERROR; +- } - --int --Imgjpeg_set_quality(a,b,c) -- j_compress_ptr a; -- int b; -- int c; --{ -- return jpeg.set_quality(a,b,c); --} +- /* Now we can initialize libjpeg. */ +- ((char *) cinfo)[sizeof(struct jpeg_compress_struct)] = 53; +- jpeg_create_compress(cinfo); +- if (((char *) cinfo)[sizeof(struct jpeg_compress_struct)] != 53) { +- /* Oops. The library changed this value, which is outside the +- * structure. Definitely, the library is invalid!!!! */ +- ERREXIT(cinfo, JMSG_NOMESSAGE); +- } - --JDIMENSION --Imgjpeg_write_scanlines(a,b,c) -- j_compress_ptr a; -- JSAMPARRAY b; -- JDIMENSION c; --{ -- return jpeg.write_scanlines(a,b,c); --} - - -@@ -794,5 +488,5 @@ - /* Initialize JPEG error handler */ - /* We set up the normal JPEG error routines, then override error_exit. */ -- cinfo.err = jpeg.std_error(&jerror.pub); -+ cinfo.err = jpeg_std_error(&jerror.pub); - jerror.pub.error_exit = my_error_exit; - jerror.pub.output_message = my_output_message; -@@ -803,10 +497,10 @@ - Tcl_AppendResult(interp, "couldn't read JPEG string: ", (char *) NULL); - append_jpeg_message(interp, (j_common_ptr) &cinfo); -- jpeg.destroy_decompress(&cinfo); -+ jpeg_destroy_decompress(&cinfo); - return TCL_ERROR; - } - - /* Now we can initialize libjpeg. */ -- jpeg.CreateDecompress(&cinfo, JPEG_LIB_VERSION, -+ jpeg_CreateDecompress(&cinfo, JPEG_LIB_VERSION, - (size_t) sizeof(struct jpeg_decompress_struct)); - jpeg_channel_src(&cinfo, chan); -@@ -817,5 +511,5 @@ - - /* Reclaim libjpeg's internal resources. */ -- jpeg.destroy_decompress(&cinfo); -+ jpeg_destroy_decompress(&cinfo); - - return result; -@@ -865,5 +559,5 @@ - /* Initialize JPEG error handler */ - /* We set up the normal JPEG error routines, then override error_exit. */ -- cinfo.err = jpeg.std_error(&jerror.pub); -+ cinfo.err = jpeg_std_error(&jerror.pub); - jerror.pub.error_exit = my_error_exit; - jerror.pub.output_message = my_output_message; -@@ -874,10 +568,10 @@ - Tcl_AppendResult(interp, "couldn't read JPEG string: ", (char *) NULL); - append_jpeg_message(interp, (j_common_ptr) &cinfo); -- jpeg.destroy_decompress(&cinfo); -+ jpeg_destroy_decompress(&cinfo); - return TCL_ERROR; - } - - /* Now we can initialize libjpeg. */ -- jpeg.CreateDecompress(&cinfo, JPEG_LIB_VERSION, -+ jpeg_CreateDecompress(&cinfo, JPEG_LIB_VERSION, - (size_t) sizeof(struct jpeg_decompress_struct)); - jpeg_obj_src(&cinfo, data); -@@ -888,5 +582,5 @@ - - /* Reclaim libjpeg's internal resources. */ -- jpeg.destroy_decompress(&cinfo); -+ jpeg_destroy_decompress(&cinfo); - - return result; -@@ -926,5 +620,5 @@ - * in image being read. */ - { -- static char *jpegReadOptions[] = {"-fast", "-grayscale", NULL}; -+ static const char *jpegReadOptions[] = {"-fast", "-grayscale", NULL}; - int fileWidth, fileHeight, stopY, curY, outY, outWidth, outHeight; - myblock bl; -@@ -935,5 +629,5 @@ - - /* Ready to read header data. */ -- jpeg.read_header(cinfo, TRUE); -+ jpeg_read_header(cinfo, TRUE); - - /* This code only supports 8-bit-precision JPEG files. */ -@@ -972,5 +666,5 @@ - } - -- jpeg.start_decompress(cinfo); -+ jpeg_start_decompress(cinfo); - - /* Check dimensions. */ -@@ -1029,5 +723,5 @@ - outY = destY; - for (curY = 0; curY < stopY; curY++) { -- jpeg.read_scanlines(cinfo, buffer, 1); -+ jpeg_read_scanlines(cinfo, buffer, 1); - if (curY >= srcY) { - Tk_PhotoPutBlock(imageHandle, &block, destX, outY, outWidth, 1, TK_PHOTO_COMPOSITE_SET); -@@ -1038,7 +732,7 @@ - /* Do normal cleanup if we read the whole image; else early abort */ - if (cinfo->output_scanline == cinfo->output_height) -- jpeg.finish_decompress(cinfo); -+ jpeg_finish_decompress(cinfo); - else -- jpeg.abort_decompress(cinfo); -+ jpeg_abort_decompress(cinfo); - - return TCL_OK; -@@ -1086,5 +780,5 @@ - /* Initialize JPEG error handler */ - /* We set up the normal JPEG error routines, then override error_exit. */ -- cinfo.err = jpeg.std_error(&jerror.pub); -+ cinfo.err = jpeg_std_error(&jerror.pub); - jerror.pub.error_exit = my_error_exit; - jerror.pub.output_message = my_output_message; -@@ -1096,11 +790,11 @@ - "\": ", (char *) NULL); - append_jpeg_message(interp, (j_common_ptr) &cinfo); -- jpeg.destroy_compress(&cinfo); -+ jpeg_destroy_compress(&cinfo); - Tcl_Close(interp, chan); - return TCL_ERROR; - } - - /* Now we can initialize libjpeg. */ -- jpeg.CreateCompress(&cinfo, JPEG_LIB_VERSION, -+ jpeg_CreateCompress(&cinfo, JPEG_LIB_VERSION, - (size_t) sizeof(struct jpeg_compress_struct)); - jpeg_channel_dest(&cinfo, chan); -@@ -1109,5 +803,5 @@ - result = CommonWriteJPEG(interp, &cinfo, format, blockPtr); - -- jpeg.destroy_compress(&cinfo); -+ jpeg_destroy_compress(&cinfo); - if (Tcl_Close(interp, chan) == TCL_ERROR) { - return TCL_ERROR; -@@ -1154,5 +848,5 @@ - /* Initialize JPEG error handler */ - /* We set up the normal JPEG error routines, then override error_exit. */ -- cinfo.err = jpeg.std_error(&jerror.pub); -+ cinfo.err = jpeg_std_error(&jerror.pub); - jerror.pub.error_exit = my_error_exit; - jerror.pub.output_message = my_output_message; -@@ -1167,6 +861,6 @@ - } - - /* Now we can initialize libjpeg. */ -- jpeg.CreateCompress(&cinfo, JPEG_LIB_VERSION, -+ jpeg_CreateCompress(&cinfo, JPEG_LIB_VERSION, - (size_t) sizeof(struct jpeg_compress_struct)); - jpeg_string_dest(&cinfo, dataPtr); -@@ -1177,5 +871,5 @@ - writeend: - -- jpeg.destroy_compress(&cinfo); -+ jpeg_destroy_compress(&cinfo); - if (dataPtr == &data) { - if (result == TCL_OK) { -@@ -1210,5 +904,5 @@ - Tk_PhotoImageBlock *blockPtr; - { -- static char *jpegWriteOptions[] = {"-grayscale", "-optimize", -+ static const char *jpegWriteOptions[] = {"-grayscale", "-optimize", - "-progressive", "-quality", "-smooth", NULL}; - JSAMPROW row_pointer[1]; /* pointer to original data scanlines */ -@@ -1239,5 +933,5 @@ - cinfo->in_color_space = JCS_RGB; - -- jpeg.set_defaults(cinfo); -+ jpeg_set_defaults(cinfo); - - /* Parse options, if any, and alter default parameters */ -@@ -1262,7 +956,7 @@ - } - case 2: { -- if (jpeg.simple_progression != NULL) { -+ if (jpeg_simple_progression != NULL) { - /* Select simple progressive mode. */ -- jpeg.simple_progression(cinfo); -+ jpeg_simple_progression(cinfo); - } - break; -@@ -1278,5 +972,5 @@ - return TCL_ERROR; - } -- jpeg.set_quality(cinfo, quality, FALSE); -+ jpeg_set_quality(cinfo, quality, FALSE); - break; - } -@@ -1301,11 +995,11 @@ - greenOffset = blockPtr->offset[1] - blockPtr->offset[0]; - blueOffset = blockPtr->offset[2] - blockPtr->offset[0]; -- if ((jpeg.set_colorspace != NULL) && -+ if ((jpeg_set_colorspace != NULL) && - (grayscale || (!greenOffset && !blueOffset))) { - /* Generate monochrome JPEG file if source block is grayscale. */ -- jpeg.set_colorspace(cinfo, JCS_GRAYSCALE); -+ jpeg_set_colorspace(cinfo, JCS_GRAYSCALE); - } - -- jpeg.start_compress(cinfo, TRUE); -+ jpeg_start_compress(cinfo, TRUE); - - /* note: we assume libjpeg is configured for standard RGB pixel order. */ -@@ -1315,5 +1009,5 @@ - for (h = blockPtr->height; h > 0; h--) { - row_pointer[0] = (JSAMPROW) pixLinePtr; -- jpeg.write_scanlines(cinfo, row_pointer, 1); -+ jpeg_write_scanlines(cinfo, row_pointer, 1); - pixLinePtr += blockPtr->pitch; - } -@@ -1341,10 +1035,10 @@ - pixelPtr += blockPtr->pixelSize; - } -- jpeg.write_scanlines(cinfo, buffer, 1); -+ jpeg_write_scanlines(cinfo, buffer, 1); - pixLinePtr += blockPtr->pitch; - } - } - -- jpeg.finish_compress(cinfo); -+ jpeg_finish_compress(cinfo); +- /* Set up JPEG compression parameters. */ +- cinfo->image_width = 16; +- cinfo->image_height = 16; +- cinfo->input_components = 3; +- cinfo->in_color_space = JCS_RGB; +- cinfo->data_precision = -1; +- cinfo->optimize_coding = TRUE; +- cinfo->dct_method = -1; +- cinfo->X_density = 0; +- cinfo->Y_density = 0; +- jpeg_set_defaults(cinfo); +- +- if ((cinfo->data_precision != BITS_IN_JSAMPLE) || +- (cinfo->optimize_coding != FALSE) || +- (cinfo->dct_method != JDCT_DEFAULT) || +- (cinfo->X_density != 1) || +- (cinfo->Y_density != 1)) { +- ERREXIT(cinfo, JMSG_NOMESSAGE); +- } +- for (i = 0; i < NUM_ARITH_TBLS; i++) { +- if ((cinfo->arith_dc_L[i] != 0) || +- (cinfo->arith_dc_U[i] != 1) || +- (cinfo->arith_ac_K[i] != 5)) { +- ERREXIT(cinfo, JMSG_NOMESSAGE); +- } +- } +- jpeg_destroy_compress(cinfo); +- ckfree((char *) cinfo); return TCL_OK; } -@@ -1370,5 +1064,5 @@ - src->pub.fill_input_buffer = fill_input_buffer; - src->pub.skip_input_data = skip_input_data; -- src->pub.resync_to_restart = jpeg.resync_to_restart; /* use default method */ -+ src->pub.resync_to_restart = jpeg_resync_to_restart; /* use default method */ - src->pub.term_source = dummy_source; - -@@ -1443,5 +1137,5 @@ - src->pub.fill_input_buffer = fill_input_buffer; - src->pub.skip_input_data = skip_input_data; -- src->pub.resync_to_restart = jpeg.resync_to_restart; /* use default method */ -+ src->pub.resync_to_restart = jpeg_resync_to_restart; /* use default method */ - src->pub.term_source = dummy_source; +- + /* + *---------------------------------------------------------------------- Modified: head/graphics/libimg/files/patch-png ============================================================================== --- head/graphics/libimg/files/patch-png Mon Jun 9 19:58:33 2014 (r357201) +++ head/graphics/libimg/files/patch-png Mon Jun 9 20:20:42 2014 (r357202) @@ -1,414 +1,39 @@ ---- imgPNG.c Tue Jan 15 16:00:08 2002 -+++ imgPNG.c Thu Jun 9 20:11:01 2005 -@@ -104,5 +104,4 @@ - static void tk_png_error _ANSI_ARGS_((png_structp, png_const_charp)); - static void tk_png_warning _ANSI_ARGS_((png_structp, png_const_charp)); --static int load_png_library _ANSI_ARGS_((Tcl_Interp *interp)); +--- png/png.c 2013-11-21 17:03:12.000000000 -0500 ++++ png/png.c 2014-06-09 13:57:22.000000000 -0400 +@@ -36,7 +36,8 @@ + */ + +-#include "pngtcl.h" ++#include + #include + #include ++#include - /* -@@ -116,87 +115,4 @@ - static void tk_png_flush _ANSI_ARGS_((png_structp)); - --static struct PngFunctions { -- VOID *handle; -- png_structp (* create_read_struct) _ANSI_ARGS_((png_const_charp, -- png_voidp, png_error_ptr, png_error_ptr)); -- png_infop (* create_info_struct) _ANSI_ARGS_((png_structp)); -- png_structp (* create_write_struct) _ANSI_ARGS_((png_const_charp, -- png_voidp, png_error_ptr, png_error_ptr)); -- void (* destroy_read_struct) _ANSI_ARGS_((png_structpp, -- png_infopp, png_infopp)); -- void (* destroy_write_struct) _ANSI_ARGS_((png_structpp, png_infopp)); -- void (* error) _ANSI_ARGS_((png_structp, png_charp)); -- png_byte (* get_channels) _ANSI_ARGS_((png_structp, png_infop)); -- png_voidp (* get_error_ptr) _ANSI_ARGS_((png_structp)); -- png_voidp (* get_progressive_ptr) _ANSI_ARGS_((png_structp)); -- png_uint_32 (* get_rowbytes) _ANSI_ARGS_((png_structp, png_infop)); -- png_uint_32 (* get_IHDR) _ANSI_ARGS_((png_structp, png_infop, -- png_uint_32*, png_uint_32*, int*, int*, int*, int*, int*)); -- png_uint_32 (* get_valid) _ANSI_ARGS_((png_structp, png_infop, png_uint_32)); -- void (* read_image) _ANSI_ARGS_((png_structp, png_bytepp)); -- void (* read_info) _ANSI_ARGS_((png_structp, png_infop)); -- void (* read_update_info) _ANSI_ARGS_((png_structp, png_infop)); -- int (* set_interlace_handling) _ANSI_ARGS_ ((png_structp)); -- void (* set_read_fn) _ANSI_ARGS_((png_structp, png_voidp, png_rw_ptr)); -- void (* set_text) _ANSI_ARGS_((png_structp, png_infop, png_textp, int)); -- void (* set_write_fn) _ANSI_ARGS_((png_structp, png_voidp, -- png_rw_ptr, png_voidp)); -- void (* set_IHDR) _ANSI_ARGS_((png_structp, png_infop, png_uint_32, -- png_uint_32, int, int, int, int, int)); -- void (* write_end) _ANSI_ARGS_((png_structp, png_infop)); -- void (* write_info) _ANSI_ARGS_((png_structp, png_infop)); -- void (* write_row) _ANSI_ARGS_((png_structp, png_bytep)); -- void (* set_expand) _ANSI_ARGS_((png_structp)); -- void (* set_filler) _ANSI_ARGS_((png_structp, png_uint_32, int)); -- void (* set_strip_16) _ANSI_ARGS_((png_structp)); -- png_uint_32 (* get_sRGB) _ANSI_ARGS_((png_structp, png_infop, int *)); -- void (* set_sRGB) _ANSI_ARGS_((png_structp, png_infop, int)); -- png_uint_32 (* get_gAMA) _ANSI_ARGS_((png_structp, png_infop, double *)); -- void (* set_gAMA) PNGARG((png_structp png_ptr, png_infop, double)); -- void (* set_gamma) _ANSI_ARGS_((png_structp, double, double)); -- void (* set_sRGB_gAMA_and_cHRM) _ANSI_ARGS_((png_structp, png_infop, int)); -- void (* write_iTXt) _ANSI_ARGS_((png_structp, int, png_charp, png_charp, -- png_charp, png_charp)); --} png = {0}; -- --static char *symbols[] = { -- "png_create_read_struct", -- "png_create_info_struct", -- "png_create_write_struct", -- "png_destroy_read_struct", -- "png_destroy_write_struct", -- "png_error", -- "png_get_channels", -- "png_get_error_ptr", -- "png_get_progressive_ptr", -- "png_get_rowbytes", -- "png_get_IHDR", -- "png_get_valid", -- "png_read_image", -- "png_read_info", -- "png_read_update_info", -- "png_set_interlace_handling", -- "png_set_read_fn", -- "png_set_text", -- "png_set_write_fn", -- "png_set_IHDR", -- "png_write_end", -- "png_write_info", -- "png_write_row", -- /* The following symbols are not crucial. All of them -- are checked at runtime. */ -- "png_set_expand", -- "png_set_filler", -- "png_set_strip_16", -- "png_get_sRGB", -- "png_set_sRGB", -- "png_get_gAMA", -- "png_set_gAMA", -- "png_set_gamma", -- "png_set_sRGB_gAMA_and_cHRM", -- "png_write_iTXt", /* Only used to check if libpng has iTXt support at runtime */ -- (char *) NULL --}; -- - typedef struct cleanup_info { + static int SetupPngLibrary(Tcl_Interp *interp); +@@ -171,7 +172,4 @@ Tcl_Interp *interp; -@@ -209,5 +125,5 @@ - png_const_charp error_msg; - { -- cleanup_info *info = (cleanup_info *) png.get_error_ptr(png_ptr); -+ cleanup_info *info = (cleanup_info *) png_get_error_ptr(png_ptr); - Tcl_AppendResult(info->interp, error_msg, (char *) NULL); - longjmp(info->jmpbuf,1); -@@ -228,7 +144,7 @@ - png_size_t length; - { -- if (ImgRead((MFile *) png.get_progressive_ptr(png_ptr), -+ if (ImgRead((MFile *) png_get_progressive_ptr(png_ptr), - (char *) data, (size_t) length) != (int) length) { -- png.error(png_ptr, "Read Error"); -+ png_error(png_ptr, "Read Error"); - } - } -@@ -240,7 +156,7 @@ - png_size_t length; { -- if (ImgWrite((MFile *) png.get_progressive_ptr(png_ptr), -+ if (ImgWrite((MFile *) png_get_progressive_ptr(png_ptr), - (char *) data, (size_t) length) != (int) length) { -- png.error(png_ptr, "Write Error"); -+ png_error(png_ptr, "Write Error"); - } - } -@@ -303,15 +219,4 @@ - } - --static int --load_png_library(interp) -- Tcl_Interp *interp; *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***