svn commit: r357202 - in head/graphics/libimg: . files
Mikhail Teterin
mi at FreeBSD.org
Mon Jun 9 20:20:43 UTC 2014
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 at 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 <bsd.port.pre.mk>
-
-.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 <bsd.port.post.mk>
+.include <bsd.port.mk>
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 <jpeglib.h>
++#include <jerror.h>
-- 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 <png.h>
+ #include <string.h>
+ #include <stdlib.h>
++#include <tcl.h>
- /*
-@@ -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 ***
More information about the svn-ports-all
mailing list