1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-19 00:13:33 +00:00

graphics/xv: update to 4.2.0

This commit is contained in:
Dirk Meyer 2023-11-26 16:04:03 +01:00
parent 5576d8df9b
commit c2069505c5
16 changed files with 334 additions and 3177 deletions

View File

@ -1,27 +1,24 @@
PORTNAME= xv
PORTVERSION= 3.10a
PORTREVISION= 22
PORTVERSION= 4.2.0
DISTVERSIONPREFIX= v
PORTREVISION= 0
CATEGORIES+= graphics
MASTER_SITES= ftp://ftp.cis.upenn.edu/pub/xv/:base \
SF/png-mng/XV%20jumbo%20patches/20070520
DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:base \
${DISTNAME}-jumbo-patches-20070520.tar.gz
DIST_SUBDIR= ${PORTNAME}
PATCH_SITES= http://www.gregroelofs.com/code/
PATCHFILES= xv-3.10a-enhancements.20070520-20081216.diff
MAINTAINER?= dinoex@FreeBSD.org
COMMENT?= X11 program that displays images of various formats
WWW= http://www.trilon.com/xv/
LIB_DEPENDS= libtiff.so:graphics/tiff \
libpng.so:graphics/png \
libjasper.so:graphics/jasper
libjasper.so:graphics/jasper \
libwebp.so:graphics/webp
USES= cpe imake jpeg xorg
USE_XORG= xext x11 xt
USES= cpe localbase cmake jpeg xorg
USE_XORG= xext x11 xt ice sm
USE_GITHUB= yes
GH_ACCOUNT= jasper-software
CPE_VENDOR= xv_project
@ -30,43 +27,22 @@ M17N_DESC= build with Multilingualization support
.include <bsd.port.options.mk>
.if defined(CC) && ${CC:T:Mclang}
# Optimizer crashes with
# Assertion failed: (isPtrIV == IndVar->getType()->isPointerTy() && "IndVar type must match IVInit type")
CFLAGS:= ${CFLAGS:S/-O2//g}
.endif
.if ${PORT_OPTIONS:MM17N}
MAKE_ENV= LOCALE_EXTENSION=-DTV_MULTILINGUAL
CFLAGS+= -DTV_MULTILINGUAL
DESCR= ${FILESDIR}/pkg-descr
CONFLICTS_INSTALL= xv
.else
CONFLICTS_INSTALL= xv-m17n
.endif
pre-patch:
${PATCH} -d ${PATCH_WRKSRC} ${PATCH_ARGS} -p1 < ${WRKDIR}/xv-3.10a-jumbo-fix-enh-patch-20070520.txt
XV_DOCS= README.md src/docs/help
post-patch:
${REINPLACE_CMD} -e "s@%%LOCALBASE%%@${LOCALBASE}@" \
${WRKSRC}/config.h
.for i in bggen.1 vdcomp.1 xcmap.1 xv.1 xvp2p.1
${CP} ${WRKSRC}/docs/${i:R}.man ${WRKSRC}
do-install-DOCS-on:
.for i in ${XV_DOCS}
${INSTALL_DATA} ${WRKSRC}/${i} ${STAGEDIR}${DOCSDIR}/
.endfor
post-install:
.if ${PORT_OPTIONS:MDOCS}
${MKDIR} ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/README ${STAGEDIR}${DOCSDIR}/
${INSTALL_DATA} ${WRKSRC}/README.jumbo ${STAGEDIR}${DOCSDIR}/
${INSTALL_DATA} ${WRKSRC}/README.pcd ${STAGEDIR}${DOCSDIR}/
${INSTALL_DATA} ${WRKSRC}/docs/epsf.ps ${STAGEDIR}${DOCSDIR}/
${INSTALL_DATA} ${WRKSRC}/docs/xpm.ps ${STAGEDIR}${DOCSDIR}/
${INSTALL_DATA} ${WRKSRC}/docs/xvdocs.ps ${STAGEDIR}${DOCSDIR}/
${INSTALL_DATA} ${WRKSRC}/docs/xvtitle.ps ${STAGEDIR}${DOCSDIR}/
${INSTALL_DATA} ${WRKSRC}/docs/help ${STAGEDIR}${DOCSDIR}/
${INSTALL_DATA} ${WRKSRC}/docs/bmp.doc ${STAGEDIR}${DOCSDIR}/
${INSTALL_DATA} ${WRKSRC}/docs/gif* ${STAGEDIR}${DOCSDIR}/
.endif
do-install-DOCS-off:
${RM} -fr ${STAGEDIR}${DOCSDIR}/
.include <bsd.port.mk>

View File

@ -1,6 +1,3 @@
SHA256 (xv/xv-3.10a.tar.gz) = 03eb26b1e8f315c3093f4ae794862ba46637d16c055e8efbe5e3beb5d40fc451
SIZE (xv/xv-3.10a.tar.gz) = 2259124
SHA256 (xv/xv-3.10a-jumbo-patches-20070520.tar.gz) = 221ec89fdf0772bd09c845cbb337aecf411a1aee215140b676717f49e9e65c80
SIZE (xv/xv-3.10a-jumbo-patches-20070520.tar.gz) = 1363802
SHA256 (xv/xv-3.10a-enhancements.20070520-20081216.diff) = c47aa52b7dbf2e09896d3eba6411d78a56162a4b966197e40115c14d88c2e1eb
SIZE (xv/xv-3.10a-enhancements.20070520-20081216.diff) = 8847
TIMESTAMP = 1700942420
SHA256 (xv/jasper-software-xv-v4.2.0_GH0.tar.gz) = 2871338c517a7444fc9d6a3d146bc2c5c7bd98b50c83369b24d24ad49fa0ab87
SIZE (xv/jasper-software-xv-v4.2.0_GH0.tar.gz) = 5381969

View File

@ -1,126 +0,0 @@
--- Imakefile.orig 2009-05-17 15:02:50.000000000 +0200
+++ Imakefile 2009-05-17 15:05:52.000000000 +0200
@@ -6,13 +6,15 @@
/* if, for whatever reason, you're unable to get the JPEG library to compile
* on your machine, *COMMENT OUT* the following line
*/
-#define HaveJpeg
+/* #define HaveJpeg */
+#define UseInstalledJpeg
/* if, for whatever reason, you're unable to get the TIFF library to compile
* on your machine, *COMMENT OUT* the following line
*/
-#define HaveTiff
+/* #define HaveTiff */
+#define UseInstalledTiff
/* if, for whatever reason, you're unable to get the PDS/VICAR support
@@ -124,20 +126,48 @@
JPEG = -DDOJPEG
JPEGDIR = jpeg
LIBJPEG = $(JPEGDIR)/libjpeg.a
+DEPLIBJPEG = $(LIBJPEG)
JPEGINCLUDE = -I$(JPEGDIR)
#endif
+#ifdef UseInstalledJpeg
+JPEG = -DDOJPEG
+LIBJPEG = -L${LOCALBASE}/lib -ljpeg
+JPEGINCLUDE = -I${LOCALBASE}/include
+#endif
+
#ifdef HaveTiff
TIFF = -DDOTIFF
TIFFDIR = tiff
LIBTIFF = $(TIFFDIR)/libtiff.a
+DEPLIBTIFF = $(LIBTIFF)
TIFFINCLUDE = -I$(TIFFDIR)
#endif
+#ifdef UseInstalledTiff
+TIFF = -DDOTIFF -DUSE_TILED_TIFF_BOTLEFT_FIX -DOG3
+LIBTIFF = -L${LOCALBASE}/lib -ltiff
+TIFFINCLUDE = -I${LOCALBASE}/include
+#endif
+
#ifdef HavePDS
PDS = -DDOPDS
#endif
+PNG = -DDOPNG
+PNGINC = -I${LOCALBASE}/include
+PNGLIB = -L${LOCALBASE}/lib -lpng
+
+JP2K = -DDOJP2K
+JP2KINC = -I${LOCALBASE}/include
+JP2KLIB = -L${LOCALBASE}/lib -ljasper
+
+ZLIBDIR = /usr
+ZLIBINC = -I$(ZLIBDIR)/include
+ZLIBLIB = -L$(ZLIBDIR)/lib -lz
+
+DOCDIR = -L${PREFIX}/share/doc/xv
+SYSCONFDIR = ${PREFIX}/etc/
#if defined(SCOArchitecture)
SCO= -Dsco -DPOSIX -DNO_RANDOM
@@ -149,14 +179,17 @@
#endif
-DEPLIBS = $(LIBJPEG) $(LIBTIFF)
-LOCAL_LIBRARIES = $(XLIB) $(DEPLIBS)
+DEPLIBS = $(DEPLIBJPEG) $(DEPLIBTIFF)
+LOCAL_LIBRARIES = $(XLIB) $(LIBJPEG) $(LIBTIFF) ${PNGLIB} ${JP2KLIB} ${ZLIBLIB}
DEFINES= $(SCO) $(UNIX) $(NODIRENT) $(VPRINTF) $(TIMERS) \
$(HPUX7) $(JPEG) $(TIFF) $(PDS) $(DXWM) $(RAND) \
- $(BACKING_STORE) $(BSDTYPES) $(SGI) $(MGCSFX)
+ ${PNG} ${JP2K} $(TVL10N) \
+ -DDOCDIR=\"$(DOCDIR)\" \
+ -DSYSCONFDIR=\"$(SYSCONFDIR)\" \
+ $(BACKING_STORE) $(BSDTYPES) $(SGI) $(MGCSFX) $(LOCALE_EXTENSION)
-INCLUDES = $(JPEGINCLUDE) $(TIFFINCLUDE)
+INCLUDES = $(JPEGINCLUDE) $(TIFFINCLUDE) ${PNGINC} ${JP2KINC} ${ZLIBINC}
SRCS1 = xv.c xvevent.c xvroot.c xvmisc.c xvimage.c xvcolor.c xvsmooth.c \
xv24to8.c xvgif.c xvpm.c xvinfo.c xvctrl.c xvscrl.c xvalg.c \
@@ -166,7 +199,7 @@
xvbrowse.c xvtext.c xvpcx.c xviff.c xvtarga.c xvxpm.c xvcut.c \
xvxwd.c xvfits.c xvpng.c xvzx.c xvwbmp.c xvpcd.c \
xvmag.c xvpic.c xvmaki.c xvpi.c xvpic2.c xvvd.c xvmgcsfx.c \
- xvml.c
+ xvml.c xvjp2k.c xvhips.c
OBJS1 = xv.o xvevent.o xvroot.o xvmisc.o xvimage.o xvcolor.o xvsmooth.o \
xv24to8.o xvgif.o xvpm.o xvinfo.o xvctrl.o xvscrl.o xvalg.o \
@@ -176,7 +209,7 @@
xvbrowse.o xvtext.o xvpcx.o xviff.o xvtarga.o xvxpm.o xvcut.o \
xvxwd.o xvfits.o xvpng.o xvzx.o xvwbmp.o xvpcd.o \
xvmag.o xvpic.o xvmaki.o xvpi.o xvpic2.o xvvd.o xvmgcsfx.o \
- xvml.o
+ xvml.o xvjp2k.o xvhips.o
SRCS2= bggen.c
OBJS2= bggen.o
@@ -271,11 +304,11 @@
#endif
-InstallManPageLong(docs/xv,$(MANDIR),xv)
-InstallManPageLong(docs/bggen,$(MANDIR),bggen)
-InstallManPageLong(docs/xcmap,$(MANDIR),xcmap)
-InstallManPageLong(docs/xvp2p,$(MANDIR),xvpictoppm)
-InstallManPageLong(docs/vdcomp,$(MANDIR),vdcomp)
+InstallManPage(xv,$(MANDIR))
+InstallManPage(bggen,$(MANDIR))
+InstallManPage(xcmap,$(MANDIR))
+InstallManPage(xvp2p,$(MANDIR))
+InstallManPage(vdcomp,$(MANDIR))
InstallNonExecFile(xv_mgcsfx.sample,$(MGCSFXDIR))

View File

@ -1,20 +1,6 @@
--- config.h.orig Thu Aug 27 04:50:47 1998
+++ config.h Thu Aug 27 04:51:05 1998
@@ -103,10 +103,9 @@
* should not need to be changed
*/
-/* #define GS_PATH "/usr/local/bin/gs" */
-#define GS_PATH "gs"
-/* #define GS_LIB "." */
-/* #define GS_DEV "ppmraw" */
+#define GS_PATH "%%LOCALBASE%%/bin/gs"
+#define GS_LIB "%%LOCALBASE%%/lib/ghostscript"
+#define GS_DEV "ppmraw"
/***************************************************************************
@@ -159,7 +159,7 @@
--- src/config.h.orig 2023-07-17 01:25:42 UTC
+++ src/config.h
@@ -191,7 +191,7 @@
* in the following line.
*/
@ -23,7 +9,7 @@
/***************************************************************************
@@ -175,8 +175,8 @@
@@ -207,8 +207,8 @@
* is read-only), change 'undef' to 'define' the VIRTUAL_TD line.
*/
@ -32,27 +18,9 @@
+#define AUTO_EXPAND
+#define VIRTUAL_TD
#if !defined(AUTO_EXPAND) && defined(VIRTUAL_TD)
#if defined(VIRTUAL_TD) && !defined(AUTO_EXPAND)
# undef VIRTUAL_TD
@@ -190,7 +190,7 @@
* Shunauzer, change 'undef' to 'define' in the following line.
*/
-#undef VS_ADJUST
+#define VS_ADJUST
/***************************************************************************
@@ -216,7 +216,7 @@
* 'undef' to 'define' in the following line.
*/
-#undef TV_L10N
+/* #undef TV_L10N */
#ifdef TV_L10N
/*
@@ -259,7 +259,7 @@
@@ -291,7 +291,7 @@
* magic number or suffix in "~/.xv_mgcsfx" .
* To enable this feature, change 'undef' to 'define' in the following line.
*/
@ -61,24 +29,7 @@
#ifdef HAVE_MGCSFX
/*
@@ -285,14 +285,14 @@
* WARNING : If you decide to use preprocessor, you must not write
* '# <comment>' style comment in startup file. Because,
* preprocessor can't recognize. */
-# undef USE_MGCSFX_PREPROCESSOR
+# define USE_MGCSFX_PREPROCESSOR
# ifdef USE_MGCSFX_PREPROCESSOR
/*
* This is used like "system("MGCSFX_PREPROCESSOR MGCSFX_RC > tmp_name");",
* and read tmp_name instead of MGCSFX_RC.
*/
-# define MGCSFX_PREPROCESSOR "/usr/lib/cpp"
+# define MGCSFX_PREPROCESSOR "/usr/bin/cpp"
/* # define MGCSFX_PREPROCESSOR "cc -E" */
# endif /* USE_MGCSFX_PREPROCESSOR */
@@ -325,7 +325,7 @@
@@ -352,7 +352,7 @@
* 'undef' to 'define' in the following line.
*/

View File

@ -1,11 +1,11 @@
--- xv.h.orig 2009-05-17 12:01:21.000000000 +0200
+++ xv.h 2009-05-17 12:02:58.000000000 +0200
@@ -158,7 +159,7 @@
--- src/xv.h.orig 2023-07-17 01:25:42 UTC
+++ src/xv.h
@@ -183,7 +183,7 @@
#ifndef VMS
# include <errno.h>
-# ifndef __NetBSD__
+# if !defined(__NetBSD__) && !defined(__FreeBSD__)
# if !(defined __GLIBC__ && __GLIBC__ >= 2)
# if !(defined(__GLIBC__) && __GLIBC__ >= 2) && !defined(__OpenBSD__)
extern int errno; /* SHOULD be in errno.h, but often isn't */
extern char *sys_errlist[]; /* this too... */
# ifndef XV_HAVE_SYSERRLISTDECL

View File

@ -1,6 +1,6 @@
--- xvevent.c.orig 2009-05-22 07:21:18.000000000 +0200
+++ xvevent.c 2009-05-22 07:21:48.000000000 +0200
@@ -814,7 +814,7 @@
--- src/xvevent.c.orig 2023-07-17 01:25:42 UTC
+++ src/xvevent.c
@@ -828,7 +828,7 @@ int HandleEvent(event, donep)
debkludge_offy = eHIGH-xwa.height+p_offy;
}

View File

@ -1,7 +1,7 @@
--- xvgif.c.orig 2009-05-17 08:25:07.000000000 +0200
+++ xvgif.c 2009-05-17 09:37:28.000000000 +0200
@@ -169,8 +169,12 @@
--- src/xvgif.c.orig 2023-07-17 01:25:42 UTC
+++ src/xvgif.c
@@ -186,8 +186,12 @@ int LoadGIF(fname, pinfo)
aspect = NEXTBYTE;
if (aspect) {
+#if 0
@ -11,5 +11,5 @@
+ normaspect = (float) (aspect + 15) / 64.0; /* gif89 aspect ratio */
+#endif
if (DEBUG) fprintf(stderr,"GIF89 aspect = %f\n", normaspect);
}
/* FIXME: apparently this _should_ apply to all frames in a multi-image
* GIF (i.e., PgUp/PgDn), but it doesn't */

View File

@ -1,11 +0,0 @@
--- xvinfo.c.orig 1994-12-22 22:34:41 UTC
+++ xvinfo.c
@@ -26,7 +26,7 @@
#define INFOHIGH 270
/* max length of an Info String */
-#define ISTRLEN 80
+#define ISTRLEN 256
/* baseline of top line of text */
#define TOPBASE (36 + penn_height/2 + 4 + 8 + ASCENT)

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,6 @@
$OpenBSD$
--- xvjpeg.c.orig Fri Aug 28 13:41:30 2009
+++ xvjpeg.c Fri Aug 28 18:58:46 2009
@@ -696,7 +696,7 @@ L2:
--- src/xvjpeg.c.orig 2023-07-17 01:25:42 UTC
+++ src/xvjpeg.c
@@ -699,7 +699,7 @@ L2:
if ((cmy = *q++ - k) < 0) cmy = 0; *p++ = cmy; /* R */
if ((cmy = *q++ - k) < 0) cmy = 0; *p++ = cmy; /* G */
if ((cmy = *q++ - k) < 0) cmy = 0; *p++ = cmy; /* B */
@ -10,7 +9,7 @@ $OpenBSD$
}
else { /* assume normal data */
register byte *q = pic;
@@ -707,7 +707,7 @@ L2:
@@ -710,7 +710,7 @@ L2:
if ((cmy = k - *q++) < 0) cmy = 0; *p++ = cmy; /* R */
if ((cmy = k - *q++) < 0) cmy = 0; *p++ = cmy; /* G */
if ((cmy = k - *q++) < 0) cmy = 0; *p++ = cmy; /* B */

View File

@ -1,6 +1,6 @@
--- xvmisc.c.orig 2010-02-11 14:29:41.000000000 +0100
+++ xvmisc.c 2010-02-11 15:25:03.000000000 +0100
@@ -504,6 +504,7 @@
--- src/xvmisc.c.orig 2023-07-17 01:25:42 UTC
+++ src/xvmisc.c
@@ -504,6 +504,7 @@ void FatalError (identifier)
}
@ -8,7 +8,7 @@
/***********************************/
void Quit(i)
int i;
@@ -601,7 +619,8 @@
@@ -597,6 +598,7 @@ void Quit(i)
}
}
@ -16,4 +16,3 @@
XSync(theDisp, False);
exit(i);
}

View File

@ -1,509 +0,0 @@
--- xvpng.c.orig 2007-05-14 00:53:28 UTC
+++ xvpng.c
@@ -31,6 +31,7 @@
#ifdef HAVE_PNG
+#include "zlib.h"
#include "png.h"
/*** Stuff for PNG Dialog box ***/
@@ -41,7 +42,9 @@
#define COMPRESSION 6 /* default zlib compression level, not max
(Z_BEST_COMPRESSION) */
-#define HAVE_tRNS (info_ptr->valid & PNG_INFO_tRNS)
+/* old
+#define HAVE_tRNS (info_ptr->valid & PNG_INFO_tRNS) */
+#define HAVE_tRNS png_get_valid(png_ptr,info_ptr,PNG_INFO_tRNS)
#define DWIDE 86
#define DHIGH 104
@@ -444,6 +447,10 @@ int WritePNG(fp, pic, ptype, w, h, rmap,
byte *p, *png_line;
char software[256];
char *savecmnt;
+ /* for storing values until all are accumulated, so that the image header can be set in full */
+ int _bit_depth,_color_type,_interlace_type,_compression_type,_filter_type;
+ png_uint_32 _width,_height;
+ png_time _mod_time;
if ((png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, NULL,
png_xv_error, png_xv_warning)) == NULL) {
@@ -458,7 +465,7 @@ int WritePNG(fp, pic, ptype, w, h, rmap,
FatalError(software);
}
- if (setjmp(png_ptr->jmpbuf)) {
+ if (setjmp(png_jmpbuf(png_ptr))) {
png_destroy_write_struct(&png_ptr, &info_ptr);
return -1;
}
@@ -489,8 +496,8 @@ int WritePNG(fp, pic, ptype, w, h, rmap,
png_set_filter(png_ptr, 0, filter);
}
- info_ptr->width = w;
- info_ptr->height = h;
+ _width = w;
+ _height = h;
if (w <= 0 || h <= 0) {
SetISTR(ISTR_WARNING, "%s: image dimensions out of range (%dx%d)",
fbasename, w, h);
@@ -498,7 +505,7 @@ int WritePNG(fp, pic, ptype, w, h, rmap,
return -1;
}
- info_ptr->interlace_type = interCB.val ? 1 : 0;
+ _interlace_type = interCB.val ? PNG_INTERLACE_ADAM7 : PNG_INTERLACE_NONE;
linesize = 0; /* quiet a compiler warning */
@@ -542,40 +549,44 @@ int WritePNG(fp, pic, ptype, w, h, rmap,
png_destroy_write_struct(&png_ptr, &info_ptr);
return -1;
}
- info_ptr->color_type = PNG_COLOR_TYPE_RGB;
- info_ptr->bit_depth = 8;
+ _color_type = PNG_COLOR_TYPE_RGB;
+ _bit_depth = 8;
} else /* ptype == PIC8 */ {
linesize = w;
- info_ptr->color_type = PNG_COLOR_TYPE_PALETTE;
+ _color_type = PNG_COLOR_TYPE_PALETTE;
if (numuniqcols <= 2)
- info_ptr->bit_depth = 1;
+ _bit_depth = 1;
else
if (numuniqcols <= 4)
- info_ptr->bit_depth = 2;
+ _bit_depth = 2;
else
if (numuniqcols <= 16)
- info_ptr->bit_depth = 4;
+ _bit_depth = 4;
else
- info_ptr->bit_depth = 8;
+ _bit_depth = 8;
for (i = 0; i < numuniqcols; i++) {
palette[i].red = r1[i];
palette[i].green = g1[i];
palette[i].blue = b1[i];
}
- info_ptr->num_palette = numuniqcols;
- info_ptr->palette = palette;
+/* cannot find a setter for this, unsure if it is necessary anymore...
info_ptr->valid |= PNG_INFO_PLTE;
+*/
+ /* set the header just in case it's needed */
+ png_set_IHDR(png_ptr,info_ptr,_width,_height,_bit_depth,_color_type,
+ _interlace_type,PNG_COMPRESSION_TYPE_DEFAULT,PNG_FILTER_TYPE_DEFAULT);
+ png_set_PLTE(png_ptr,info_ptr,palette,numuniqcols);
}
}
else if (colorType == F_GREYSCALE || colorType == F_BWDITHER) {
- info_ptr->color_type = PNG_COLOR_TYPE_GRAY;
+ _color_type = PNG_COLOR_TYPE_GRAY;
if (colorType == F_BWDITHER) {
/* shouldn't happen */
if (ptype == PIC24) FatalError("PIC24 and B/W Stipple in WritePNG()");
- info_ptr->bit_depth = 1;
+ _bit_depth = 1;
if (MONO(r1[0], g1[0], b1[0]) > MONO(r1[1], g1[1], b1[1])) {
remap[0] = 1;
remap[1] = 0;
@@ -595,7 +606,7 @@ int WritePNG(fp, pic, ptype, w, h, rmap,
png_destroy_write_struct(&png_ptr, &info_ptr);
return -1;
}
- info_ptr->bit_depth = 8;
+ _bit_depth = 8;
}
else /* ptype == PIC8 */ {
int low_precision;
@@ -617,7 +628,7 @@ int WritePNG(fp, pic, ptype, w, h, rmap,
for (; i < 256; i++)
remap[i]=0; /* shouldn't be necessary, but... */
- info_ptr->bit_depth = 8;
+ _bit_depth = 8;
/* Note that this fails most of the time because of gamma */
/* (and that would be a bug: GRR FIXME) */
@@ -636,7 +647,7 @@ int WritePNG(fp, pic, ptype, w, h, rmap,
for (i = 0; i < numuniqcols; i++) {
remap[i] &= 0xf;
}
- info_ptr->bit_depth = 4;
+ _bit_depth = 4;
/* try to adjust to 2-bit precision grayscale */
@@ -652,7 +663,7 @@ int WritePNG(fp, pic, ptype, w, h, rmap,
for (i = 0; i < numuniqcols; i++) {
remap[i] &= 3;
}
- info_ptr->bit_depth = 2;
+ _bit_depth = 2;
/* try to adjust to 1-bit precision grayscale */
@@ -668,7 +679,7 @@ int WritePNG(fp, pic, ptype, w, h, rmap,
for (i = 0; i < numuniqcols; i++) {
remap[i] &= 1;
}
- info_ptr->bit_depth = 1;
+ _bit_depth = 1;
}
}
}
@@ -677,6 +688,9 @@ int WritePNG(fp, pic, ptype, w, h, rmap,
else
png_error(png_ptr, "Unknown colorstyle in WritePNG");
+ png_set_IHDR(png_ptr,info_ptr,_width,_height,_bit_depth,_color_type,
+ _interlace_type,PNG_COMPRESSION_TYPE_DEFAULT,PNG_FILTER_TYPE_DEFAULT);
+
if ((text = (png_textp)malloc(sizeof(png_text)))) {
sprintf(software, "XV %s", REVDATE);
@@ -685,20 +699,22 @@ int WritePNG(fp, pic, ptype, w, h, rmap,
text->text = software;
text->text_length = strlen(text->text);
- info_ptr->max_text = 1;
- info_ptr->num_text = 1;
- info_ptr->text = text;
+/* max_text seems to be internal only now, do not set
+ info_ptr->max_text = 1; */
+ png_set_text(png_ptr,info_ptr,text,1);
}
Display_Gamma = gDial.val; /* Save the current gamma for loading */
// GRR FIXME: add .Xdefaults option to omit writing gamma (size, cumulative errors when editing)--alternatively, modify save box to include "omit" checkbox
- info_ptr->gamma = 1.0/gDial.val;
- info_ptr->valid |= PNG_INFO_gAMA;
+ png_set_gAMA(png_ptr,info_ptr,1.0/gDial.val);
+/* doesn't seem to be a way to set valid directly anymore, unnecessary maybe..
+ info_ptr->valid |= PNG_INFO_gAMA; */
+/* might need to be png_write_info_before_PLTE() ... */
png_write_info(png_ptr, info_ptr);
- if (info_ptr->bit_depth < 8)
+ if (_bit_depth < 8)
png_set_packing(png_ptr);
pass=png_set_interlace_handling(png_ptr);
@@ -711,13 +727,13 @@ int WritePNG(fp, pic, ptype, w, h, rmap,
int j;
p = pic;
for (j = 0; j < h; ++j) {
- if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY) {
+ if (_color_type == PNG_COLOR_TYPE_GRAY) {
int k;
for (k = 0; k < w; ++k)
png_line[k] = ptype==PIC24 ? MONO(p[k*3], p[k*3+1], p[k*3+2]) :
remap[pc2nc[p[k]]];
png_write_row(png_ptr, png_line);
- } else if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE) {
+ } else if (_color_type == PNG_COLOR_TYPE_PALETTE) {
int k;
for (k = 0; k < w; ++k)
png_line[k] = pc2nc[p[k]];
@@ -739,28 +755,31 @@ int WritePNG(fp, pic, ptype, w, h, rmap,
(savecmnt = (char *)malloc((strlen(picComments) + 1)*sizeof(char)))) {
png_textp tp;
char *comment, *key;
+ int nt;
+ int mt;
strcpy(savecmnt, picComments);
key = savecmnt;
+ png_get_text(png_ptr,info_ptr,&tp,&mt); /* to get 'max_text' */
tp = text;
- info_ptr->num_text = 0;
+ nt = 0;
comment = strchr(key, ':');
do {
/* Allocate a larger structure for comments if necessary */
- if (info_ptr->num_text >= info_ptr->max_text)
+ if (nt >= mt)
{
if ((tp =
- realloc(text, (info_ptr->num_text + 2)*sizeof(png_text))) == NULL)
+ realloc(text, (nt + 2)*sizeof(png_text))) == NULL)
{
break;
}
else
{
text = tp;
- tp = &text[info_ptr->num_text];
- info_ptr->max_text += 2;
+ tp = &text[nt];
+ mt += 2;
}
}
@@ -810,7 +829,7 @@ int WritePNG(fp, pic, ptype, w, h, rmap,
}
tp->compression = tp->text_length > 640 ? 0 : -1;
- info_ptr->num_text++;
+ nt++;
tp++;
}
}
@@ -834,27 +853,29 @@ int WritePNG(fp, pic, ptype, w, h, rmap,
tp->text = key;
tp->text_length = q - key;
tp->compression = tp->text_length > 750 ? 0 : -1;
- info_ptr->num_text++;
+ nt++;
key = NULL;
}
} while (key && *key);
+ png_set_text(png_ptr,info_ptr,text,nt);
}
else {
- info_ptr->num_text = 0;
+ png_set_text(png_ptr,info_ptr,text,0);
}
}
- info_ptr->text = text;
- png_convert_from_time_t(&(info_ptr->mod_time), time(NULL));
- info_ptr->valid |= PNG_INFO_tIME;
+ png_convert_from_time_t(&_mod_time, time(NULL));
+ png_set_tIME(png_ptr,info_ptr,&_mod_time);
+/* dunno how to set validity
+ info_ptr->valid |= PNG_INFO_tIME; */
png_write_end(png_ptr, info_ptr);
fflush(fp); /* just in case we core-dump before finishing... */
if (text) {
free(text);
- /* must do this or png_destroy_write_struct() 0.97+ will free text again: */
- info_ptr->text = (png_textp)NULL;
+ /* must do this or png_destroy_write_struct() 0.97+ will free text again:
+ info_ptr->text = (png_textp)NULL; */
if (savecmnt)
{
free(savecmnt);
@@ -886,6 +907,14 @@ int LoadPNG(fname, pinfo)
int pass;
int gray_to_rgb;
size_t commentsize;
+ /* temp storage vars for libpng15 migration */
+ int _bit_depth,_color_type,_interlace_type,_compression_type,_filter_type,_num_text,_num_palette;
+ png_uint_32 _width,_height;
+ png_timep _mod_time;
+ double _gamma;
+ png_textp _text;
+ png_colorp _palette;
+ png_color_16p _background;
fbasename = BaseName(fname);
@@ -921,7 +950,7 @@ int LoadPNG(fname, pinfo)
FatalError("malloc failure in LoadPNG");
}
- if (setjmp(png_ptr->jmpbuf)) {
+ if (setjmp(png_jmpbuf(png_ptr))) {
fclose(fp);
png_destroy_read_struct(&png_ptr, &info_ptr, (png_infopp)NULL);
if (!read_anything) {
@@ -945,8 +974,10 @@ int LoadPNG(fname, pinfo)
#endif
png_read_info(png_ptr, info_ptr);
- pinfo->w = pinfo->normw = info_ptr->width;
- pinfo->h = pinfo->normh = info_ptr->height;
+ png_get_IHDR(png_ptr,info_ptr,&_width,&_height,&_bit_depth,&_color_type,&_interlace_type,NULL,NULL);
+
+ pinfo->w = pinfo->normw = _width;
+ pinfo->h = pinfo->normh = _height;
if (pinfo->w <= 0 || pinfo->h <= 0) {
SetISTR(ISTR_WARNING, "%s: image dimensions out of range (%dx%d)",
fbasename, pinfo->w, pinfo->h);
@@ -957,9 +988,9 @@ int LoadPNG(fname, pinfo)
pinfo->frmType = F_PNG;
sprintf(pinfo->fullInfo, "PNG, %d bit ",
- info_ptr->bit_depth * info_ptr->channels);
+ _bit_depth * png_get_channels(png_ptr,info_ptr));
- switch(info_ptr->color_type) {
+ switch(_color_type) {
case PNG_COLOR_TYPE_PALETTE:
strcat(pinfo->fullInfo, "palette color");
break;
@@ -983,15 +1014,17 @@ int LoadPNG(fname, pinfo)
sprintf(pinfo->fullInfo + strlen(pinfo->fullInfo),
", %sinterlaced. (%d bytes)",
- info_ptr->interlace_type ? "" : "non-", filesize);
+ _interlace_type ? "" : "non-", filesize);
- sprintf(pinfo->shrtInfo, "%lux%lu PNG", info_ptr->width, info_ptr->height);
+ sprintf(pinfo->shrtInfo, "%lux%lu PNG", _width, _height);
- if (info_ptr->bit_depth < 8)
+ if (_bit_depth < 8)
png_set_packing(png_ptr);
- if (info_ptr->valid & PNG_INFO_gAMA)
- png_set_gamma(png_ptr, Display_Gamma, info_ptr->gamma);
+ if (png_get_valid(png_ptr,info_ptr,PNG_INFO_gAMA)) {
+ png_get_gAMA(png_ptr,info_ptr,&_gamma);
+ png_set_gamma(png_ptr, Display_Gamma, _gamma);
+ }
/*
*else
* png_set_gamma(png_ptr, Display_Gamma, 0.45);
@@ -1000,7 +1033,7 @@ int LoadPNG(fname, pinfo)
gray_to_rgb = 0; /* quiet a compiler warning */
if (have_imagebg) {
- if (info_ptr->bit_depth == 16) {
+ if (_bit_depth == 16) {
my_background.red = imagebgR;
my_background.green = imagebgG;
my_background.blue = imagebgB;
@@ -1013,8 +1046,8 @@ int LoadPNG(fname, pinfo)
}
png_set_background(png_ptr, &my_background, PNG_BACKGROUND_GAMMA_SCREEN,
0, Display_Gamma);
- if ((info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA ||
- (info_ptr->color_type == PNG_COLOR_TYPE_GRAY && HAVE_tRNS)) &&
+ if ((_color_type == PNG_COLOR_TYPE_GRAY_ALPHA ||
+ (_color_type == PNG_COLOR_TYPE_GRAY && HAVE_tRNS)) &&
(imagebgR != imagebgG || imagebgR != imagebgB)) /* i.e., colored bg */
{
png_set_gray_to_rgb(png_ptr);
@@ -1022,8 +1055,9 @@ int LoadPNG(fname, pinfo)
gray_to_rgb = 1;
}
} else {
- if (info_ptr->valid & PNG_INFO_bKGD) {
- png_set_background(png_ptr, &info_ptr->background,
+ if (png_get_valid(png_ptr,info_ptr,PNG_INFO_bKGD)) {
+ png_get_bKGD(png_ptr,info_ptr,&_background);
+ png_set_background(png_ptr, _background,
PNG_BACKGROUND_GAMMA_FILE, 1, 1.0);
} else {
my_background.red = my_background.green = my_background.blue =
@@ -1033,13 +1067,13 @@ int LoadPNG(fname, pinfo)
}
}
- if (info_ptr->bit_depth == 16)
+ if (_bit_depth == 16)
png_set_strip_16(png_ptr);
- if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY ||
- info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
+ if (_color_type == PNG_COLOR_TYPE_GRAY ||
+ _color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
{
- if (info_ptr->bit_depth == 1)
+ if (_bit_depth == 1)
pinfo->colType = F_BWDITHER;
else
pinfo->colType = F_GREYSCALE;
@@ -1049,9 +1083,11 @@ int LoadPNG(fname, pinfo)
pass=png_set_interlace_handling(png_ptr);
png_read_update_info(png_ptr, info_ptr);
+ /* get HIDR again just in case the info_ptr changed */
+ png_get_IHDR(png_ptr,info_ptr,&_width,&_height,&_bit_depth,&_color_type,&_interlace_type,NULL,NULL);
- if (info_ptr->color_type == PNG_COLOR_TYPE_RGB ||
- info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA || gray_to_rgb)
+ if (_color_type == PNG_COLOR_TYPE_RGB ||
+ _color_type == PNG_COLOR_TYPE_RGB_ALPHA || gray_to_rgb)
{
linesize = 3 * pinfo->w;
if (linesize/3 < pinfo->w) { /* know pinfo->w > 0 (see above) */
@@ -1065,16 +1101,17 @@ int LoadPNG(fname, pinfo)
} else {
linesize = pinfo->w;
pinfo->type = PIC8;
- if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY ||
- info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA) {
+ if (_color_type == PNG_COLOR_TYPE_GRAY ||
+ _color_type == PNG_COLOR_TYPE_GRAY_ALPHA) {
for (i = 0; i < 256; i++)
pinfo->r[i] = pinfo->g[i] = pinfo->b[i] = i;
} else {
pinfo->colType = F_FULLCOLOR;
- for (i = 0; i < info_ptr->num_palette; i++) {
- pinfo->r[i] = info_ptr->palette[i].red;
- pinfo->g[i] = info_ptr->palette[i].green;
- pinfo->b[i] = info_ptr->palette[i].blue;
+ png_get_PLTE(png_ptr,info_ptr,&_palette,&_num_palette);
+ for (i = 0; i < _num_palette; i++) {
+ pinfo->r[i] = _palette[i].red;
+ pinfo->g[i] = _palette[i].green;
+ pinfo->b[i] = _palette[i].blue;
}
}
}
@@ -1092,7 +1129,7 @@ int LoadPNG(fname, pinfo)
png_error(png_ptr, "can't allocate space for PNG image");
}
- png_start_read_image(png_ptr);
+ /*png_start_read_image(png_ptr); -- causes a warning and seems to be unnecessary */
for (i = 0; i < pass; i++) {
byte *p = pinfo->pic;
@@ -1106,22 +1143,23 @@ int LoadPNG(fname, pinfo)
png_read_end(png_ptr, info_ptr);
- if (info_ptr->num_text > 0) {
+ png_get_text(png_ptr,info_ptr,&_text,&_num_text);
+ if (_num_text > 0) {
commentsize = 1;
- for (i = 0; i < info_ptr->num_text; i++)
- commentsize += strlen(info_ptr->text[i].key) + 1 +
- info_ptr->text[i].text_length + 2;
+ for (i = 0; i < _num_text; i++)
+ commentsize += strlen(_text[i].key) + 2 +
+ _text[i].text_length + _text[i].itxt_length + 1;
if ((pinfo->comment = malloc(commentsize)) == NULL) {
png_warning(png_ptr,"can't allocate comment string");
}
else {
pinfo->comment[0] = '\0';
- for (i = 0; i < info_ptr->num_text; i++) {
- strcat(pinfo->comment, info_ptr->text[i].key);
+ for (i = 0; i < _num_text; i++) {
+ strcat(pinfo->comment, _text[i].key);
strcat(pinfo->comment, "::");
- strcat(pinfo->comment, info_ptr->text[i].text);
+ strcat(pinfo->comment, _text[i].text);
strcat(pinfo->comment, "\n");
}
}
@@ -1143,7 +1181,7 @@ png_xv_error(png_ptr, message)
{
SetISTR(ISTR_WARNING,"%s: libpng error: %s", fbasename, message);
- longjmp(png_ptr->jmpbuf, 1);
+ longjmp(png_jmpbuf(png_ptr), 1);
}

View File

@ -1,6 +1,6 @@
--- xvtext.c.orig 2009-05-20 13:18:36.000000000 +0200
+++ xvtext.c 2009-05-20 13:22:45.000000000 +0200
@@ -181,7 +181,7 @@
--- src/xvtext.c.orig 2023-07-17 01:25:42 UTC
+++ src/xvtext.c
@@ -181,7 +181,7 @@ static int selectCodeset PARM((TVINFO *));
#endif
#ifdef TV_MULTILINGUAL
static void setCodingSpec PARM((TVINFO *, struct coding_spec *));

View File

@ -1,17 +1,17 @@
--- xvvd.c.orig 2007-04-16 06:30:19.000000000 +0200
+++ xvvd.c 2010-02-11 15:23:41.000000000 +0100
@@ -1060,6 +1060,8 @@
--- src/xvvd.c.orig 2023-07-17 01:25:42 UTC
+++ src/xvvd.c
@@ -1072,6 +1072,8 @@ static void HUPhandler(XtPointer dummy, XtSignalId* Id
#endif
}
+int InSignal = 0;
+
void vd_handler(sig)
int sig;
static void vd_handler(int sig)
{
@@ -1068,7 +1070,7 @@
UsedSignal = sig;
@@ -1085,7 +1087,7 @@ static void INThandler(XtPointer dummy, XtSignalId* Id
#else
sigblock(sigmask(sig));
sigblock(sigmask(UsedSignal));
#endif
-
+ InSignal = 1;

View File

@ -16,5 +16,3 @@ Please read the documentation in the directory
for proper usage.
LICENSE: shareware, free for personal use
See also: http://www.gregroelofs.com/greg_xv.html

View File

@ -3,22 +3,282 @@ bin/bggen
bin/vdcomp
bin/xcmap
bin/xvpictoppm
lib/X11/xv_mgcsfx.sample
man/man1/bggen.1.gz
man/man1/vdcomp.1.gz
man/man1/xcmap.1.gz
man/man1/xv.1.gz
man/man1/xvp2p.1.gz
etc/xv_mgcsfx
%%PORTDOCS%%%%DOCSDIR%%/BUGS
%%PORTDOCS%%%%DOCSDIR%%/CHANGELOG
%%PORTDOCS%%%%DOCSDIR%%/CPMASK
%%PORTDOCS%%%%DOCSDIR%%/IDEAS
%%PORTDOCS%%%%DOCSDIR%%/README
%%PORTDOCS%%%%DOCSDIR%%/README.jumbo
%%PORTDOCS%%%%DOCSDIR%%/README.FLmask
%%PORTDOCS%%%%DOCSDIR%%/README.docs
%%PORTDOCS%%%%DOCSDIR%%/README.md
%%PORTDOCS%%%%DOCSDIR%%/README.pcd
%%PORTDOCS%%%%DOCSDIR%%/epsf.ps
%%PORTDOCS%%%%DOCSDIR%%/xpm.ps
%%PORTDOCS%%%%DOCSDIR%%/xvdocs.ps
%%PORTDOCS%%%%DOCSDIR%%/xvtitle.ps
%%PORTDOCS%%%%DOCSDIR%%/bigxv.jpg
%%PORTDOCS%%%%DOCSDIR%%/copyright.h
%%PORTDOCS%%%%DOCSDIR%%/formats/bmp.doc
%%PORTDOCS%%%%DOCSDIR%%/formats/epsf.ps
%%PORTDOCS%%%%DOCSDIR%%/formats/gif.ack
%%PORTDOCS%%%%DOCSDIR%%/formats/gif.aspect
%%PORTDOCS%%%%DOCSDIR%%/formats/gif87.doc
%%PORTDOCS%%%%DOCSDIR%%/formats/gif89.doc
%%PORTDOCS%%%%DOCSDIR%%/formats/pbm.5
%%PORTDOCS%%%%DOCSDIR%%/formats/pgm.5
%%PORTDOCS%%%%DOCSDIR%%/formats/ppm.5
%%PORTDOCS%%%%DOCSDIR%%/formats/xpm.ps
%%PORTDOCS%%%%DOCSDIR%%/help
%%PORTDOCS%%%%DOCSDIR%%/bmp.doc
%%PORTDOCS%%%%DOCSDIR%%/gif.ack
%%PORTDOCS%%%%DOCSDIR%%/gif.aspect
%%PORTDOCS%%%%DOCSDIR%%/gif87.doc
%%PORTDOCS%%%%DOCSDIR%%/gif89.doc
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/adding-algorithms.html
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/adding-formats-1.html
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/adding-formats-2.html
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/availability.html
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/color-allocation.html
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/color-editor-1.html
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/color-editor-2.html
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/color-editor-3.html
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/command-line-options.html
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/control-window-1.html
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/control-window-2.html
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/control-window-3.html
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/control-window-4.html
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/control-window-5.html
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/control-window-6.html
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/credits.html
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/diversity-algorithm.html
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/external-programs.html
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/image-window.html
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/blutxtr2.jpg
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-001.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-002.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-003.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-004.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-005.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-006.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-007.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-008.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-009.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-010.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-011.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-012.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-013.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-014.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-015.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-016.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-017.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-018.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-019.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-020.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-021.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-022.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-023.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-024.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-025.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-026.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-027.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-028.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-029.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-030.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-031.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-032.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-033.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-034.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-035.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-036.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-037.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-038.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-039.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-040.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-041.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-042.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-043.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-044.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-045.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-046.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-047.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-048.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-049.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-050.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-051.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-052.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-053.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-054.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-055.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-056.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-057.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-058.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-059.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-060.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-061.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-062.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-063.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-064.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-065.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-066.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-067.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-068.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-069.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-070.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-071.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-072.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-073.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-074.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-075.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-076.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-077.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-078.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-079.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-080.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-081.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-082.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-083.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-084.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-085.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-086.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-087.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-088.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-089.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-090.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-091.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-092.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-093.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-094.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-095.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-096.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-097.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-098.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-099.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-100.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-101.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-102.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-103.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-104.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-105.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-106.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-107.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-108.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-109.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-110.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-111.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-112.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-113.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-114.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-115.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-116.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-117.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-118.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-119.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-120.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-121.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-122.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-123.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-124.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-125.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-126.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-127.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-128.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-129.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-130.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-131.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-132.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-133.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-134.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-135.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-136.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-137.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-138.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-139.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-140.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-141.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-142.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-143.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-144.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-145.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-146.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-147.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-148.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-149.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-150.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-151.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-152.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-153.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-154.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-155.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-156.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-157.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-158.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-159.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-160.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-161.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-162.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-163.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-164.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-165.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-166.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-167.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-168.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-169.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-170.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-171.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-172.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-173.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-174.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-175.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-176.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-177.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-178.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-179.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-180.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-181.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-182.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-183.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-184.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-185.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-186.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-187.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-188.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-189.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-190.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-191.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-192.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-193.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-194.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-195.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-196.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-197.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-198.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-199.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-200.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-201.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-202.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/fig-203.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/navbar.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/small_banner.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/images/xvlogo.gif
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/index.html
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/info-window.html
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/load-window.html
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/manindex.html
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/modifying-behavior-1.html
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/modifying-behavior-2.html
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/modifying-behavior-3.html
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/modifying-behavior-4.html
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/mouse-keyboard-usage.html
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/overview.html
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/postscript-window.html
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/release-notes.html
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/rgb-hsv-colorspaces.html
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/save-window-1.html
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/save-window-2.html
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/textview-window.html
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/visual-schnauzer-1.html
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/visual-schnauzer-2.html
%%PORTDOCS%%%%DOCSDIR%%/manuals/html/x-resources.html
%%PORTDOCS%%%%DOCSDIR%%/manuals/xvdocs.pdf
%%PORTDOCS%%%%DOCSDIR%%/manuals/xvdocs.ps
%%PORTDOCS%%%%DOCSDIR%%/manuals/xvtitle.ps
share/man/fi/man1/xv.1.gz
share/man/man1/bggen.1.gz
share/man/man1/vdcomp.1.gz
share/man/man1/xcmap.1.gz
share/man/man1/xv.1.gz
share/man/man1/xvpictoppm.1.gz
share/man/pl/man1/xvpictoppm.1.gz