aboutsummaryrefslogtreecommitdiff
path: root/graphics/netpbm
diff options
context:
space:
mode:
authorTobias Kortkamp <tobik@FreeBSD.org>2017-10-06 11:18:35 +0000
committerTobias Kortkamp <tobik@FreeBSD.org>2017-10-06 11:18:35 +0000
commit80365401d0256e1e916b625c829e841f650477c2 (patch)
treeac88a3b062a4f6d68cc3af9680e064e4b01f1e5f /graphics/netpbm
parent98407f9031c963deea22b05bb38380d6b6bf02e1 (diff)
downloadports-80365401d0256e1e916b625c829e841f650477c2.tar.gz
ports-80365401d0256e1e916b625c829e841f650477c2.zip
Notes
Diffstat (limited to 'graphics/netpbm')
-rw-r--r--graphics/netpbm/Makefile166
-rw-r--r--graphics/netpbm/distinfo9
-rw-r--r--graphics/netpbm/files/Makefile.config.FreeBSD129
-rw-r--r--graphics/netpbm/files/config.mk33
-rw-r--r--graphics/netpbm/files/patch-GNUmakefile13
-rw-r--r--graphics/netpbm/files/patch-Makefile.common35
-rw-r--r--graphics/netpbm/files/patch-jpeg.c11
-rw-r--r--graphics/netpbm/files/patch-lib-Makefile93
-rw-r--r--graphics/netpbm/files/patch-lib-libpbm3.c16
-rw-r--r--graphics/netpbm/files/patch-lib-libpm.c20
-rw-r--r--graphics/netpbm/files/patch-lib-libsystem.c16
-rw-r--r--graphics/netpbm/files/patch-lib-util-pm_c_util.h10
-rw-r--r--graphics/netpbm/files/patch-lib_libpm.c19
-rw-r--r--graphics/netpbm/files/patch-pamrgbatopng.c19
-rw-r--r--graphics/netpbm/files/patch-pm_config.in.h26
-rw-r--r--graphics/netpbm/files/patch-pngtopnm.c894
-rw-r--r--graphics/netpbm/files/patch-pngtxt.c80
-rw-r--r--graphics/netpbm/files/patch-pngtxt.h16
-rw-r--r--graphics/netpbm/files/patch-pnmtopng.c402
-rw-r--r--graphics/netpbm/files/patch-ppmquantall55
-rw-r--r--graphics/netpbm/files/patch-ppmquantall.csh13
-rw-r--r--graphics/netpbm/files/patch-ppmtompeg-Makefile12
-rw-r--r--graphics/netpbm/pkg-descr16
-rw-r--r--graphics/netpbm/pkg-plist225
24 files changed, 362 insertions, 1966 deletions
diff --git a/graphics/netpbm/Makefile b/graphics/netpbm/Makefile
index d596af40a373..0dd7d1382cae 100644
--- a/graphics/netpbm/Makefile
+++ b/graphics/netpbm/Makefile
@@ -2,71 +2,147 @@
# $FreeBSD$
PORTNAME= netpbm
-PORTVERSION= 10.35.98
+DISTVERSIONPREFIX= v
+DISTVERSION= 10.80.00
CATEGORIES= graphics
-MASTER_SITES= SF/netpbm/super_stable/${PORTVERSION} \
- LOCAL/dinoex/:man
-DISTFILES= ${DISTNAME}${EXTRACT_SUFX}
MAINTAINER= tobik@FreeBSD.org
COMMENT= Toolkit for conversion of images between different formats
-LIB_DEPENDS= libtiff.so:graphics/tiff \
- libpng.so:graphics/png \
- libjbig.so:graphics/jbigkit \
- libjasper.so:graphics/jasper \
- libxml2.so:textproc/libxml2
+LICENSE= IJG GPLv2 LGPL21 MIT PD
+LICENSE_COMB= multi
+LICENSE_NAME_IJG= Independent JPEG Group License
+LICENSE_FILE_IJG= ${WRKSRC}/doc/copyright_summary
+LICENSE_PERMS_IJG= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
-USES= gmake jpeg perl5 shebangfix tar:tgz
-SHEBANG_FILES= editor/pnmflip editor/pnmquant editor/ppmfade \
- editor/ppmquant editor/ppmshadow generator/ppmrainbow
-MAKEFILE= GNUmakefile
-MAKE_ENV= LN="${LN}" RANLIB="${RANLIB}"
-INSTALL_TARGET= install.bin install.lib install.data install-dev
+TEST_DEPENDS= bash:shells/bash
+
+# The port follows the advanced release series. Upstream does not
+# create tarballs for them, so we have to roll our own. See
+# http://netpbm.sourceforge.net/getting_netpbm.php. To checkout the
+# sources yourself see the netpbm-version-check and netpbm-fetch
+# targets below. The sources are then pushed to t6/netpbm and tagged
+# on GitHub.
+USES= ghostscript:test gmake perl5 shebangfix
+USE_GITHUB= yes
+GH_ACCOUNT= t6
USE_LDCONFIG= yes
-MAKE_JOBS_UNSAFE= yes
+USE_PERL5= build test
-CFLAGS+= -DPNG_DEPSTRUCT= -Iutil
+SHEBANG_FILES= buildtools/makeman editor/pnmflip editor/pnmquant \
+ editor/ppmfade editor/ppmquant editor/ppmshadow \
+ generator/ppmrainbow converter/pbm/pbmtox10bm \
+ test/Execute-Tests test/*.test test/Available-Testprog
-OPTIONS_DEFINE= X11 MANPAGES DOCS
-OPTIONS_SUB= yes
+MAKEFILE= GNUmakefile
+INSTALL_TARGET= install.bin install.lib install.data install.hdr \
+ install.staticlib
+MAKE_ARGS= pkgdir=${STAGEDIR}${PREFIX} \
+ BINMODE=${BINMODE} \
+ SHAREMODE=${SHAREMODE} \
+ DATAMODE=${_SHAREMODE} \
+ DIRMODE=755 \
+ MANMODE=${MANMODE} \
+ DATADIR=${DATADIR}
+TEST_ARGS= pkgdir="${STAGEDIR}${PREFIX}" \
+ resultdir="${WRKDIR}/tests" \
+ RGBDEF="${STAGEDIR}${PREFIX}/share/netpbm/rgb.txt"
+TEST_TARGET= check
-X11_USE= xorg=x11
-X11_MAKE_ENV= WITH_X11=yes
+# tiff-flate-lzw-roundtrip's checksums are different on FreeBSD so the
+# test fails. The resulting and intermediary images look fine in
+# spite of this.
+DISABLED_TESTS= all-in-place tiff-flate-lzw-roundtrip ppmgauss \
+ palm-roundtrip pamtopdbimg
-MANPAGES_DISTFILES= netpbm-manpages-2013-03-09${EXTRACT_SUFX}:man
+OPTIONS_DEFAULT= MANPAGES PERL
+OPTIONS_DEFINE= MANPAGES PERL STATIC SVGTOPAM X11
+OPTIONS_SUB= yes
-post-extract-X11-off:
- @-${RM} ${WRKDIR}/doc/pamx.1 # only relevant for MANPAGES=on
+MANPAGES_GH_TUPLE= t6:netpbm-userguide:r2996:userguide
+MANPAGES_USES= python:build,2.7
+PERL_USE= PERL5=run
+STATIC_BUILD_DEPENDS= tiff>0:graphics/tiff \
+ png>0:graphics/png \
+ jbigkit>0:graphics/jbigkit \
+ jasper>0:graphics/jasper
+STATIC_LIB_DEPENDS_OFF= libtiff.so:graphics/tiff \
+ libpng.so:graphics/png \
+ libjbig.so:graphics/jbigkit \
+ libjasper.so:graphics/jasper
+STATIC_USES= jpeg:build
+STATIC_USES_OFF= jpeg
+SVGTOPAM_DESC= Build svgtopam
+SVGTOPAM_USE= GNOME=libxml2
+SVGTOPAM_VARS_OFF= DISABLED_TESTS+=svgtopam
+X11_USE= XORG=x11,xcb,xau,xdmcp
post-patch:
- @${REINPLACE_CMD} -e 's|doc/USERDOC|${DOCSDIR}/USERDOC|g' \
- ${WRKSRC}/doc/netpbm.1
- @${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|g' \
- -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \
- ${WRKSRC}/pm_config.in.h
- @${REINPLACE_CMD} -e 's|^SCRIPTS =.*|SCRIPTS =|' ${WRKSRC}/GNUmakefile
- @${REINPLACE_CMD} -e 's|<shhopt.h>|<pm_shhopt.h>|g' ${WRKSRC}/lib/pm.h
- @${REINPLACE_CMD} -e 's| jpeg2000||g' \
- ${WRKSRC}/converter/other/Makefile
+ @${REINPLACE_CMD} -e 's|misc|share/netpbm|g' ${WRKSRC}/common.mk
+ @${REINPLACE_CMD} -e 's|$$(PKGDIR)/link|$$(PKGDIR)/lib|g' \
+ -e 's|pkg-config|false|g' \
+ ${WRKSRC}/GNUmakefile ${WRKSRC}/lib/Makefile
+.for test in ${DISABLED_TESTS}
+ @${REINPLACE_CMD} -e '/${test}/d' ${WRKSRC}/test/Test-Order
+.endfor
+
+post-patch-STATIC-on:
+ @${REINPLACE_CMD} 's|$$(LD)|$$(LD) -static|g' ${WRKSRC}/common.mk
+
+# Disable building svgtopam by default. It is the only program that
+# requires libxml2 and it is not useful in this day and age according
+# to the author. See the top of converter/other/svgtopam.c for more
+# details.
+post-patch-SVGTOPAM-off:
+ @${REINPLACE_CMD} '/svgtopam/d' ${WRKSRC}/converter/other/Makefile
+
+post-patch-X11-off:
+ @${REINPLACE_CMD} '/pamx/d' ${WRKSRC}/other/Makefile
do-configure:
- ${CP} ${PATCHDIR}/Makefile.config.FreeBSD ${WRKSRC}/Makefile.config
- ${LN} -sf ${WRKSRC}/lib/util/shhopt.h ${WRKSRC}/lib/util/pm_shhopt.h
- ${LN} -sf ${WRKSRC}/lib/util/nstring.h ${WRKSRC}/lib/util/pm_nstring.h
- cd ${WRKSRC} && buildtools/stamp-date > ${WRKSRC}/lib/compile.h
+ @${CAT} ${WRKSRC}/config.mk.in ${FILESDIR}/config.mk > ${WRKSRC}/config.mk
+
+post-build-MANPAGES-on:
+ @cd ${WRKSRC_userguide} && ${WRKSRC}/buildtools/makeman *.html
+ @cd ${WRKSRC_userguide} && ${MV} index.1 netpbm.1
+# Remove broken manpages
+ @cd ${WRKSRC_userguide} && ${RM} directory.1 liberror.1 \
+ libnetpbm_dir.1 libsystem.3 libtmpfile.3 libtmpfilefd.3 \
+ ppmsvgalib.1 vidtoppm.1 extendedopacity.5
post-install:
- ${INSTALL_DATA} ${WRKSRC}/lib/util/pm_c_util.h ${STAGEDIR}${PREFIX}/include/
- ${INSTALL_MAN} ${WRKSRC}/doc/netpbm.1 ${STAGEDIR}${PREFIX}/man/man1/
+ @cd ${STAGEDIR}${PREFIX}/lib && ${LN} -sf libnetpbm.so.11 libnetpbm.so
+ @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libnetpbm.so
+ @${RM} ${STAGEDIR}${PREFIX}/bin/manweb
+ ${INSTALL_DATA} ${WRKSRC}/lib/util/pm_c_util.h ${WRKSRC}/pm_config.h \
+ ${STAGEDIR}${PREFIX}/include/netpbm
post-install-MANPAGES-on:
- ${INSTALL_MAN} ${WRKDIR}/doc/*.1 ${STAGEDIR}${PREFIX}/man/man1/
- ${INSTALL_MAN} ${WRKDIR}/doc/*.3 ${STAGEDIR}${PREFIX}/man/man3/
- ${INSTALL_MAN} ${WRKDIR}/doc/*.5 ${STAGEDIR}${PREFIX}/man/man5/
+ ${INSTALL_MAN} ${WRKSRC_userguide}/*.1 ${STAGEDIR}${PREFIX}/man/man1
+ ${INSTALL_MAN} ${WRKSRC_userguide}/*.3 ${STAGEDIR}${PREFIX}/man/man3
+ ${INSTALL_MAN} ${WRKSRC_userguide}/*.5 ${STAGEDIR}${PREFIX}/man/man5
+
+.if defined(DEVELOPER)
+# A lot of this is stolen from the netpbm OpenBSD port
+NETPBM_REPO= https://svn.code.sf.net/p/netpbm/code
+NETPBM_SERIES= advanced
+
+netpbm-version-check:
+ @REV=`svnlite info ${NETPBM_REPO}/${NETPBM_SERIES}/version.mk | sed -n 's/Last Changed Rev: //p'`; \
+ VERSION=`(svnlite cat -r$$REV ${NETPBM_REPO}/${NETPBM_SERIES}/version.mk; \
+ echo 'all:'; \
+ echo ' @printf "%02d.%02d.%02d" \'; \
+ echo ' $${NETPBM_MAJOR_RELEASE} \' ; \
+ echo ' $${NETPBM_MINOR_RELEASE} \' ; \
+ echo ' $${NETPBM_POINT_RELEASE} \' ; \
+ ) | make -f -`; \
+ case `pkg version -t ${PORTVERSION} $$VERSION` in \
+ '>') echo "Port version is greater than latest release $$VERSION"; exit 1 ;; \
+ '<') echo "Run 'make NETPBM_REV=$$REV netpbm-fetch' to download netpbm $$VERSION" ;; \
+ esac
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- ${INSTALL_DATA} ${WRKSRC}/doc/USERDOC ${STAGEDIR}${DOCSDIR}/
+netpbm-fetch:
+ @svnlite export --force -r${NETPBM_REV} ${NETPBM_REPO}/${NETPBM_SERIES} netpbm-r${NETPBM_REV}
+.endif
.include <bsd.port.mk>
diff --git a/graphics/netpbm/distinfo b/graphics/netpbm/distinfo
index 4c38084d04ef..310ad287ab88 100644
--- a/graphics/netpbm/distinfo
+++ b/graphics/netpbm/distinfo
@@ -1,4 +1,5 @@
-SHA256 (netpbm-10.35.98.tgz) = 0b396f3e6495892a1da6785bcf2e1cde693ffdbef1fb1f44d60486880212825a
-SIZE (netpbm-10.35.98.tgz) = 2560129
-SHA256 (netpbm-manpages-2013-03-09.tgz) = 430a9c5becbc55e2fed832fa40d9fb050ac6ad426cbf39dc73af5d6be37f8cd6
-SIZE (netpbm-manpages-2013-03-09.tgz) = 1464320
+TIMESTAMP = 1506804540
+SHA256 (t6-netpbm-v10.80.00_GH0.tar.gz) = a066b36aab18fcb1601aa192872b0282bf74dba65ab7cfdfd13cb0a2a4bb8148
+SIZE (t6-netpbm-v10.80.00_GH0.tar.gz) = 2774451
+SHA256 (t6-netpbm-userguide-r2996_GH0.tar.gz) = a8d5ec3e74cea12f55a797ac0fe5a0f79d9adf578fa2762a7b569e2f1aaa105b
+SIZE (t6-netpbm-userguide-r2996_GH0.tar.gz) = 715558
diff --git a/graphics/netpbm/files/Makefile.config.FreeBSD b/graphics/netpbm/files/Makefile.config.FreeBSD
deleted file mode 100644
index d0bc3de482bd..000000000000
--- a/graphics/netpbm/files/Makefile.config.FreeBSD
+++ /dev/null
@@ -1,129 +0,0 @@
-# This is a make file inclusion, to be included in all the Netpbm make
-# files.
-
-DEFAULT_TARGET = nonmerge
-
-BUILD_FIASCO = Y
-
-LD = $(CC)
-
-LINKERISCOMPILER=Y
-
-LINKER_CAN_DO_EXPLICIT_LIBRARY=N
-
-INTTYPES_H = <inttypes.h>
-
-HAVE_INT64 = Y
-
-CC_FOR_BUILD = $(CC)
-LD_FOR_BUILD = $(LD)
-CFLAGS_FOR_BUILD = $(CFLAGS)
-
-INSTALL = $(SRCDIR)/buildtools/install.sh
-
-STRIPFLAG = -s
-
-SYMLINK = ln -sf
-
-MANPAGE_FORMAT = nroff
-
-AR = ar
-RANLIB = ranlib
-
-LEX = flex
-
-EXE =
-
-LDSHLIB = -shared -Wl,-soname,$(SONAME)
-
-LDRELOC = NONE
-
-CFLAGS_SHLIB =
-
-SHLIB_CLIB = -lc
-SHLIB_CLIB =
-
-NEED_RUNTIME_PATH = N
-
-RPATHOPTNAME = -rpath
-
-NETPBMLIB_RUNTIME_PATH =
-
-TIFFLIB = ${LOCALBASE}/lib/libtiff.so
-TIFFHDR_DIR = ${LOCALBASE}/include
-
-TIFFLIB_NEEDS_JPEG = Y
-TIFFLIB_NEEDS_Z = Y
-
-JPEGLIB = ${LOCALBASE}/lib/libjpeg.so
-JPEGHDR_DIR = ${LOCALBASE}/include
-
-PNGLIB = ${LOCALBASE}/lib/libpng.so
-PNGHDR_DIR = ${LOCALBASE}/include
-PNGVER =
-
-ZLIB = /usr/lib/libz.so
-ZHDR_DIR = /usr/include
-
-JBIGLIB = ${LOCALBASE}/lib/libjbig.so
-JBIGHDR_DIR = ${LOCALBASE}/include
-
-JASPERLIB = ${LOCALBASE}/lib/libjasper.so
-JASPERHDR_DIR = ${LOCALBASE}/include
-JASPERDEPLIBS =
-
-URTLIB = $(BUILDDIR)/urt/librle.a
-URTHDR_DIR = $(SRCDIR)/urt
-
-ifdef WITH_X11
-X11LIB = ${LOCALBASE}/lib/libX11.so
-X11HDR_DIR = ${LOCALBASE}/include
-else
-X11LIB = NONE
-X11HDR_DIR =
-endif
-
-LINUXSVGALIB = NONE
-LINUXSVGAHDR_DIR =
-
-OMIT_NETWORK =
-
-NETWORKLD =
-
-VMS =
-
-DONT_HAVE_PROCESS_MGMT = N
-
-PKGDIR_DEFAULT = ${DESTDIR}${PREFIX}
-
-PKGMANDIR = man
-
-SUFFIXMANUALS1 = 1
-SUFFIXMANUALS3 = 3
-SUFFIXMANUALS5 = 5
-
-NETPBMLIBTYPE = unixshared
-
-NETPBMLIBSUFFIX = so
-
-STATICLIB_TOO = y
-
-STATICLIBSUFFIX = a
-
-SHLIBPREFIXLIST = lib
-
-NETPBMSHLIBPREFIX = $(firstword $(SHLIBPREFIXLIST))
-
-DLLVER =
-
-NETPBM_DOCURL = http://netpbm.sourceforge.net/doc/
-
-DEFAULT_TARGET = nonmerge
-NETPBMLIBTYPE=unixshared
-NETPBMLIBSUFFIX=so
-STATICLIB_TOO=y
-LINKERISCOMPILER = Y
-CFLAGS_SHLIB += -fPIC -I..
-LDFLAGS+= -L${LOCALBASE}/lib
-SOVER = 1
-
diff --git a/graphics/netpbm/files/config.mk b/graphics/netpbm/files/config.mk
new file mode 100644
index 000000000000..844b5156bccd
--- /dev/null
+++ b/graphics/netpbm/files/config.mk
@@ -0,0 +1,33 @@
+# $FreeBSD$
+CFLAGS_SHLIB += -fPIC
+DEFAULT_TARGET = nonmerge
+INSTALL_PERM_BIN = $(BINMODE)
+INSTALL_PERM_DATA = $(DATAMODE)
+INSTALL_PERM_HDR = $(DATAMODE)
+INSTALL_PERM_LIBD = $(DIRMODE)
+INSTALL_PERM_LIBS = $(SHAREMODE)
+INSTALL_PERM_MAN = $(MANMODE)
+JASPERHDR_DIR = $(LOCALBASE)/include
+JASPERLIB = -L$(LOCALBASE)/lib -ljasper -ljpeg
+JBIGHDR_DIR = $(LOCALBASE)/include
+JBIGLIB = -L$(LOCALBASE)/lib -ljbig
+JPEGHDR_DIR = $(LOCALBASE)/include
+JPEGLIB = -L$(LOCALBASE)/lib -ljpeg
+LINKERISCOMPILER = Y
+NETPBMLIBSUFFIX = so
+NETPBMLIBTYPE = unixshared
+NETPBM_DOCURL = http://netpbm.sourceforge.net/doc/
+PNGHDR_DIR = $(LOCALBASE)/include
+PNGLIB = -L$(LOCALBASE)/lib -lpng
+RGB_DB_PATH = $(DATADIR)/rgb.txt:$(LOCALBASE)/lib/X11/rgb.txt
+STATICLIB_TOO = Y
+TIFFHDR_DIR = $(LOCALBASE)/include
+TIFFLIB = -L$(LOCALBASE)/lib -ltiff -llzma -ljbig
+X11HDR_DIR = $(LOCALBASE)/include
+X11LIB = -L$(LOCALBASE)/lib -lX11 -lxcb -lXau -lXdmcp
+ZLIB = -lz
+# Don't use pkg-config. It leads to all sorts of "fun" results when
+# trying to link netpbm's programs statically. This is only an issue
+# when building the port outside of Poudriere/Synth.
+PKG_CONFIG = false
+PNGVER = PKGCONFIG_NO_THANKS
diff --git a/graphics/netpbm/files/patch-GNUmakefile b/graphics/netpbm/files/patch-GNUmakefile
deleted file mode 100644
index 10b9852f4ffb..000000000000
--- a/graphics/netpbm/files/patch-GNUmakefile
+++ /dev/null
@@ -1,13 +0,0 @@
---- GNUmakefile.orig 2008-09-27 03:37:09.000000000 +0200
-+++ GNUmakefile 2012-05-25 06:01:31.000000000 +0200
-@@ -361,8 +361,8 @@
- install.hdr: $(PKGDIR)/include
- $(MAKE) -C lib -f $(SRCDIR)/lib/Makefile \
- SRCDIR=$(SRCDIR) BUILDDIR=$(BUILDDIR) install.hdr
-- $(INSTALL) -c -m $(INSTALL_PERM_HDR) \
-- $(BUILDDIR)/pm_config.h $(PKGDIR)/include
-+ ${BSD_INSTALL_DATA} \
-+ $(BUILDDIR)/pm_config.h $(PKGDIR)/include/
-
- ifeq ($(STATICLIB_TOO),y)
- BUILD_STATIC = y
diff --git a/graphics/netpbm/files/patch-Makefile.common b/graphics/netpbm/files/patch-Makefile.common
deleted file mode 100644
index 0e4f277923f8..000000000000
--- a/graphics/netpbm/files/patch-Makefile.common
+++ /dev/null
@@ -1,35 +0,0 @@
---- Makefile.common.orig 2012-06-21 22:40:36.000000000 +0200
-+++ Makefile.common 2012-06-23 16:48:15.000000000 +0200
-@@ -77,7 +77,7 @@
- # because $(INCLUDES) also contains -I's for some local directories, which
- # must go before -I importinc. It is too complex for the Super Stable series.
- #
--INCLUDES2 := $(INCLUDES) -I$(SRCDIR)/$(SUBDIR) -I. -I importinc
-+INCLUDES2 := $(PREINCLUDES) -I$(SRCDIR)/$(SUBDIR) -I. -Iimportinc $(INCLUDES)
-
- ifeq ($(NETPBMLIBTYPE),unixstatic)
- NETPBMLIBFNAME = libnetpbm.$(STATICLIBSUFFIX)
-@@ -417,19 +417,19 @@
- INSTALLBIN_TARGETS = $(BINARIES:%=%_installbin) netpbm_installbin
- .PHONY: $(INSTALLBIN_TARGETS)
- $(INSTALLBIN_TARGETS): $(PKGDIR)/bin
-- $(INSTALL) -c $(STRIPFLAG) -m $(INSTALL_PERM_BIN) \
-+ ${BSD_INSTALL_PROGRAM} \
- $(@:%_installbin=%) $<
-
- $(SCRIPTS:%=%_installscript): $(PKGDIR)/bin
-- $(INSTALL) -c -m $(INSTALL_PERM_BIN) \
-+ ${BSD_INSTALL_SCRIPT} \
- $(SRCDIR)/$(SUBDIR)/$(@:%_installscript=%) $<
-
- .PHONY: install.data
- install.data: $(DATAFILES:%=%_installdata) $(SUBDIRS:%=%/install.data)
-
- .PHONY: $(DATAFILES:%=%_installdata)
--$(DATAFILES:%=%_installdata): $(PKGDIR)/misc
-- $(INSTALL) -c -m $(INSTALL_PERM_DATA) \
-+$(DATAFILES:%=%_installdata): $(PKGDIR)/share/netpbm
-+ ${BSD_INSTALL_DATA} \
- $(SRCDIR)/$(SUBDIR)/$(@:%_installdata=%) $<
-
-
diff --git a/graphics/netpbm/files/patch-jpeg.c b/graphics/netpbm/files/patch-jpeg.c
deleted file mode 100644
index d1fc4252f4c2..000000000000
--- a/graphics/netpbm/files/patch-jpeg.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- converter/ppm/ppmtompeg/jpeg.c.orig 2005-11-10 04:53:40.000000000 +0100
-+++ converter/ppm/ppmtompeg/jpeg.c 2009-07-07 10:51:13.000000000 +0200
-@@ -469,7 +469,7 @@
- #ifdef JPEG4
- buffer_height = 8; /* could be 2, 4,8 rows high */
- #else
-- buffer_height = cinfo.max_v_samp_factor * cinfo.min_DCT_scaled_size;
-+ buffer_height = cinfo.max_v_samp_factor * cinfo.min_DCT_v_scaled_size;
- #endif
-
- for(cp=0,compptr = cinfo.comp_info;cp<cinfo.num_components;
diff --git a/graphics/netpbm/files/patch-lib-Makefile b/graphics/netpbm/files/patch-lib-Makefile
deleted file mode 100644
index 4ed3dec176b2..000000000000
--- a/graphics/netpbm/files/patch-lib-Makefile
+++ /dev/null
@@ -1,93 +0,0 @@
---- lib/Makefile.orig 2009-09-18 21:04:37.000000000 +0200
-+++ lib/Makefile 2010-05-21 10:36:08.000000000 +0200
-@@ -42,6 +42,8 @@
- # Library objects to be linked but not built by Makefile.common:
- LIBOBJECTS_X = util/shhopt.o util/nstring.o util/filename.o
-
-+SHLIBOBJECTS = $(patsubst %.o, %.lo, $(LIBOBJECTS))
-+
- MANUALS3 = libnetpbm
- MANUALS5 = pbm pgm ppm pnm pam
-
-@@ -80,13 +82,17 @@
-
- $(LIBOBJECTS): %.o: %.c importinc
- # Note that the user may have configured -I options into CFLAGS.
-+ $(CC) -c $(INCLUDES) -DNDEBUG $(CFLAGS) \
-+ $(CFLAGS_PERSONAL) $(CADD) -o $@ $<
-+
-+$(SHLIBOBJECTS): %.lo: %.c $(HEADERLINKS)
- $(CC) -c $(INCLUDES) -DNDEBUG $(CFLAGS) $(CFLAGS_SHLIB) \
- $(CFLAGS_PERSONAL) $(CADD) -o $@ $<
-
- MAJ = $(NETPBM_MAJOR_RELEASE)
- MIN = $(NETPBM_MINOR_RELEASE)
-
--SONAME = libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ)
-+SONAME = libnetpbm.$(NETPBMLIBSUFFIX).$(SOVER)
-
- ifeq ($(NETPBMLIBTYPE),irixshared)
- # The libxxx.so link is needed to link the executables.
-@@ -113,11 +119,8 @@
- # The $(SONAME) link is needed only to test the programs without
- # installing the libraries (in that case, you also need to direct the
- # dynamic linker to the source directories, e.g. set LD_LIBRARY_PATH).
--$(SONAME): libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ).$(MIN)
-- rm -f $@
-- $(SYMLINK) $< $@
--libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ).$(MIN): $(LIBOBJECTS) $(LIBOBJECTS_X)
-- $(LD) $(LDSHLIB) -o $@ $(LIBOBJECTS) $(LIBOBJECTS_X) \
-+$(SONAME): $(SHLIBOBJECTS) $(LIBOBJECTS_X)
-+ $(LD) $(LDSHLIB) -o $@ $(SHLIBOBJECTS) $(LIBOBJECTS_X) \
- $(SHLIB_CLIB) -lm $(LADD)
- endif
-
-@@ -205,13 +208,10 @@
- .PHONY: install.lib
- ifeq ($(NETPBMLIBTYPE),unixshared)
- # install a Unix-style shared library
--install.lib: $(PKGDIR)/lib $(PKGDIR)/link
-- cd $(PKGDIR)/lib ; rm -f libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ).*
-- $(INSTALL) -c -m $(INSTALL_PERM_LIBD) \
-- libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ).$(MIN) $(PKGDIR)/lib/
-- cd $(PKGDIR)/lib/ ; \
-- rm -f libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ); \
-- $(SYMLINK) libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ).$(MIN) $(SONAME)
-+install.lib: $(PKGDIR)/lib
-+ cd $(PKGDIR)/lib ; rm -f libnetpbm.$(NETPBMLIBSUFFIX).*
-+ ${BSD_INSTALL_DATA} \
-+ $(SONAME) $(PKGDIR)/lib/
- endif
- ifeq ($(NETPBMLIBTYPE),dll)
- #install a Windows DLL shared library
-@@ -241,23 +241,23 @@
- # directory when you compile your programs.
-
- %_installhdr: $(PKGDIR)/include
-- $(INSTALL) -c -m $(INSTALL_PERM_HDR) \
-+ ${BSD_INSTALL_DATA} \
- $(SRCDIR)/lib/$(@:%_installhdr=%) $(PKGDIR)/include/;
-
- .PHONY: install.staticlib
--install.staticlib: $(PKGDIR)/link
-- $(INSTALL) -c -m $(INSTALL_PERM_LIBS) libnetpbm.$(STATICLIBSUFFIX) \
-- $(PKGDIR)/link
-+install.staticlib: $(PKGDIR)/lib
-+ ${BSD_INSTALL_DATA} libnetpbm.$(STATICLIBSUFFIX) \
-+ $(PKGDIR)/lib
-
- # Install a shared library stub -- the ".so" file used at link time to
- # prepare a program for dynamically linking a library at run time
- .PHONY: install.sharedlibstub
--install.sharedlibstub: $(PKGDIR)/link
-+install.sharedlibstub: $(PKGDIR)/lib
- ifeq ($(NETPBMLIBTYPE),unixshared)
- # install the link-time (.so) links to the runtime libraries
-- cd $(PKGDIR)/link ; \
-+ cd $(PKGDIR)/lib ; \
- rm -f libnetpbm.$(NETPBMLIBSUFFIX); \
-- $(SYMLINK) ../lib/libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ) \
-+ $(SYMLINK) $(SONAME) \
- libnetpbm.$(NETPBMLIBSUFFIX)
- endif
- ifeq ($(NETPBMLIBTYPE),dll)
diff --git a/graphics/netpbm/files/patch-lib-libpbm3.c b/graphics/netpbm/files/patch-lib-libpbm3.c
deleted file mode 100644
index 7b1c80fe0b32..000000000000
--- a/graphics/netpbm/files/patch-lib-libpbm3.c
+++ /dev/null
@@ -1,16 +0,0 @@
---- lib/libpbm3.c 2008-03-28 19:58:06.000000000 +0100
-+++ lib/libpbm3.c 2011-12-18 11:55:05.000000000 +0100
-@@ -117,10 +117,10 @@
- ) ];
- */
-
-- typedef int v8qi __attribute__ ((mode(V8QI)));
-- typedef int di __attribute__ ((mode(DI)));
-+ typedef char v8qi __attribute__ ((vector_size(8)));
-+ typedef int di __attribute__ ((vector_size(8)));
-
-- di const zero64 = 0; /* to clear with PXOR */
-+ di const zero64 = (di){0}; /* to clear with PXOR */
-
- unsigned int col;
-
diff --git a/graphics/netpbm/files/patch-lib-libpm.c b/graphics/netpbm/files/patch-lib-libpm.c
deleted file mode 100644
index 7c805f039462..000000000000
--- a/graphics/netpbm/files/patch-lib-libpm.c
+++ /dev/null
@@ -1,20 +0,0 @@
---- lib/libpm.c.orig 2006-08-19 05:12:28.000000000 +0200
-+++ lib/libpm.c 2010-05-21 10:37:10.000000000 +0200
-@@ -669,7 +669,7 @@
- pm_openr(const char * const name) {
- FILE* f;
-
-- if (strcmp(name, "-") == 0)
-+ if (name == NULL || strcmp(name, "-") == 0)
- f = stdin;
- else {
- #ifndef VMS
-@@ -691,7 +691,7 @@
- pm_openw(const char * const name) {
- FILE* f;
-
-- if (strcmp(name, "-") == 0)
-+ if (name == NULL || strcmp(name, "-") == 0)
- f = stdout;
- else {
- #ifndef VMS
diff --git a/graphics/netpbm/files/patch-lib-libsystem.c b/graphics/netpbm/files/patch-lib-libsystem.c
deleted file mode 100644
index 57bb33db76b3..000000000000
--- a/graphics/netpbm/files/patch-lib-libsystem.c
+++ /dev/null
@@ -1,16 +0,0 @@
---- lib/libsystem.c.orig 2010-03-24 03:06:41.000000000 +0100
-+++ lib/libsystem.c 2010-05-25 07:31:25.000000000 +0200
-@@ -154,6 +154,13 @@
- }
-
-
-+#ifndef SIGRTMIN
-+#define SIGRTMIN 65
-+#endif
-+#ifndef SIGRTMAX
-+#define SIGRTMAX 126
-+#endif
-+
-
- static const char *
- signalName(unsigned int const signalClass) {
diff --git a/graphics/netpbm/files/patch-lib-util-pm_c_util.h b/graphics/netpbm/files/patch-lib-util-pm_c_util.h
deleted file mode 100644
index c630a8411eef..000000000000
--- a/graphics/netpbm/files/patch-lib-util-pm_c_util.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- lib/util/pm_c_util.h.orig 2006-08-19 05:12:28.000000000 +0200
-+++ lib/util/pm_c_util.h 2013-08-30 13:58:20.918173431 +0200
-@@ -50,6 +50,7 @@
- #ifndef __cplusplus
- #ifndef HAVE_BOOL
- #define HAVE_BOOL 1
-+ #undef bool
- typedef int bool;
- #endif
- #ifndef true
diff --git a/graphics/netpbm/files/patch-lib_libpm.c b/graphics/netpbm/files/patch-lib_libpm.c
new file mode 100644
index 000000000000..f2a3f108f628
--- /dev/null
+++ b/graphics/netpbm/files/patch-lib_libpm.c
@@ -0,0 +1,19 @@
+--- lib/libpm.c.orig 2017-06-10 22:23:50 UTC
++++ lib/libpm.c
+@@ -18,6 +17,7 @@
+ #include <unistd.h>
+ #include <stdio.h>
+ #include <stdarg.h>
++#include <stdlib.h>
+ #include <string.h>
+ #include <errno.h>
+ #include <setjmp.h>
+@@ -824,7 +824,7 @@ pm_arg0toprogname(const char arg0[]) {
+ unsigned int
+ pm_randseed(void) {
+
+- return time(NULL) ^ getpid();
++ return arc4random();
+
+ }
+
diff --git a/graphics/netpbm/files/patch-pamrgbatopng.c b/graphics/netpbm/files/patch-pamrgbatopng.c
deleted file mode 100644
index 5fc5e102ba82..000000000000
--- a/graphics/netpbm/files/patch-pamrgbatopng.c
+++ /dev/null
@@ -1,19 +0,0 @@
-$OpenBSD: patch-converter_other_pamrgbatopng_c,v 1.1 2011/07/08 20:36:09 naddy Exp $
-
-Fix build with png-1.5.
-
---- converter/other/pamrgbatopng.c.orig Fri Aug 18 21:12:28 2006
-+++ converter/other/pamrgbatopng.c Mon Jul 4 14:21:23 2011
-@@ -101,10 +101,8 @@ writePng(const struct pam * const pamP,
- if (!infoP)
- pm_error("Could not allocate PNG info structure");
- else {
-- infoP->width = pamP->width;
-- infoP->height = pamP->height;
-- infoP->bit_depth = 8;
-- infoP->color_type = PNG_COLOR_TYPE_RGB_ALPHA;
-+ png_set_IHDR(pngP, infoP, pamP->width, pamP->height,
-+ 8, PNG_COLOR_TYPE_RGB_ALPHA, 0, 0, 0);
-
- png_init_io(pngP, ofP);
-
diff --git a/graphics/netpbm/files/patch-pm_config.in.h b/graphics/netpbm/files/patch-pm_config.in.h
deleted file mode 100644
index 1ccdafc6a9c2..000000000000
--- a/graphics/netpbm/files/patch-pm_config.in.h
+++ /dev/null
@@ -1,26 +0,0 @@
---- pm_config.in.h.orig 2006-10-18 20:29:13.000000000 +0200
-+++ pm_config.in.h 2010-05-21 10:37:50.000000000 +0200
-@@ -15,6 +15,10 @@
-
- **************************************************************************/
-
-+#if (defined(__unix__) || defined(unix)) && !defined(USG)
-+#include <sys/param.h>
-+#endif
-+
- #if defined(USG) || defined(SVR4) || defined(VMS) || defined(__SVR4)
- #define SYSV
- #endif
-@@ -67,9 +71,9 @@
- #define RGB_DB2 "PBMplus_Dir:RGB.TXT"
- #define RGB_DB3 "PBMplus_Dir:RGB.TXT"
- #else
--#define RGB_DB1 "/usr/lib/X11/rgb.txt"
--#define RGB_DB2 "/usr/share/X11/rgb.txt"
--#define RGB_DB3 "/usr/X11R6/lib/X11/rgb.txt"
-+#define RGB_DB1 "%%PREFIX%%/share/netpbm/rgb.txt"
-+#define RGB_DB2 "%%LOCALBASE%%/share/netpbm/rgb.txt"
-+#define RGB_DB3 "%%LOCALBASE%%/lib/X11/rgb.txt"
- #endif
-
- /* CONFIGURE: This is the name of an environment variable that tells
diff --git a/graphics/netpbm/files/patch-pngtopnm.c b/graphics/netpbm/files/patch-pngtopnm.c
deleted file mode 100644
index 7ada8b3f972e..000000000000
--- a/graphics/netpbm/files/patch-pngtopnm.c
+++ /dev/null
@@ -1,894 +0,0 @@
-$OpenBSD: patch-converter_other_pngtopnm_c,v 1.2 2011/12/13 21:39:17 naddy Exp $
-
-Fix build with png-1.5.
-
---- converter/other/pngtopnm.c.orig Fri Nov 25 01:15:46 2011
-+++ converter/other/pngtopnm.c Tue Dec 13 22:25:03 2011
-@@ -44,12 +44,6 @@
- #include "nstring.h"
- #include "shhopt.h"
-
--#if PNG_LIBPNG_VER >= 10400
--#error Your PNG library (<png.h>) is incompatible with this Netpbm source code.
--#error You need either an older PNG library (older than 1.4)
--#error newer Netpbm source code (at least 10.48)
--#endif
--
- typedef struct _jmpbuf_wrapper {
- jmp_buf jmpbuf;
- } jmpbuf_wrapper;
-@@ -187,7 +181,7 @@ parseCommandLine(int argc,
-
-
-
--#define get_png_val(p) _get_png_val (&(p), info_ptr->bit_depth)
-+#define get_png_val(p) _get_png_val (&(p), png_get_bit_depth(png_ptr, info_ptr))
-
- static png_uint_16
- _get_png_val (png_byte ** const pp,
-@@ -266,33 +260,39 @@ png_color c;
- }
-
- #ifdef __STDC__
--static void save_text (png_info *info_ptr, FILE *tfp)
-+static void save_text (png_structp png_ptr, png_info *info_ptr, FILE *tfp)
- #else
--static void save_text (info_ptr, tfp)
-+static void save_text (png_ptr, info_ptr, tfp)
-+png_structp png_ptr;
- png_info *info_ptr;
- FILE *tfp;
- #endif
- {
- int i, j, k;
-+ png_textp text_ptr;
-+ int num_text;
-
-- for (i = 0 ; i < info_ptr->num_text ; i++) {
-+ if (png_get_text(png_ptr, info_ptr, &text_ptr, &num_text) == 0)
-+ return;
-+
-+ for (i = 0 ; i < num_text ; i++) {
- j = 0;
-- while (info_ptr->text[i].key[j] != '\0' && info_ptr->text[i].key[j] != ' ')
-+ while (text_ptr[i].key[j] != '\0' && text_ptr[i].key[j] != ' ')
- j++;
-- if (info_ptr->text[i].key[j] != ' ') {
-- fprintf (tfp, "%s", info_ptr->text[i].key);
-- for (j = strlen (info_ptr->text[i].key) ; j < 15 ; j++)
-+ if (text_ptr[i].key[j] != ' ') {
-+ fprintf (tfp, "%s", text_ptr[i].key);
-+ for (j = strlen (text_ptr[i].key) ; j < 15 ; j++)
- putc (' ', tfp);
- } else {
-- fprintf (tfp, "\"%s\"", info_ptr->text[i].key);
-- for (j = strlen (info_ptr->text[i].key) ; j < 13 ; j++)
-+ fprintf (tfp, "\"%s\"", text_ptr[i].key);
-+ for (j = strlen (text_ptr[i].key) ; j < 13 ; j++)
- putc (' ', tfp);
- }
- putc (' ', tfp); /* at least one space between key and text */
-
-- for (j = 0 ; j < info_ptr->text[i].text_length ; j++) {
-- putc (info_ptr->text[i].text[j], tfp);
-- if (info_ptr->text[i].text[j] == '\n')
-+ for (j = 0 ; j < text_ptr[i].text_length ; j++) {
-+ putc (text_ptr[i].text[j], tfp);
-+ if (text_ptr[i].text[j] == '\n')
- for (k = 0 ; k < 16 ; k++)
- putc ((int)' ', tfp);
- }
-@@ -301,9 +301,10 @@ FILE *tfp;
- }
-
- #ifdef __STDC__
--static void show_time (png_info *info_ptr)
-+static void show_time (png_structp png_ptr, png_info *info_ptr)
- #else
--static void show_time (info_ptr)
-+static void show_time (png_ptr, info_ptr)
-+png_structp png_ptr;
- png_info *info_ptr;
- #endif
- {
-@@ -311,19 +312,20 @@ png_info *info_ptr;
- "", "January", "February", "March", "April", "May", "June",
- "July", "August", "September", "October", "November", "December"
- };
-+ png_timep mod_time;
-
-- if (info_ptr->valid & PNG_INFO_tIME) {
-- if (info_ptr->mod_time.month < 1 ||
-- info_ptr->mod_time.month >= ARRAY_SIZE(month)) {
-+ if (png_get_tIME(png_ptr, info_ptr, &mod_time) & PNG_INFO_tIME) {
-+ if (mod_time->month < 1 ||
-+ mod_time->month >= ARRAY_SIZE(month)) {
- pm_message("tIME chunk in PNG input is invalid; "
- "modification time of image is unknown. "
- "The month value, which should be in the range "
-- "1-12, is %u", info_ptr->mod_time.month);
-+ "1-12, is %u", mod_time->month);
- } else
- pm_message ("modification time: %02d %s %d %02d:%02d:%02d",
-- info_ptr->mod_time.day, month[info_ptr->mod_time.month],
-- info_ptr->mod_time.year, info_ptr->mod_time.hour,
-- info_ptr->mod_time.minute, info_ptr->mod_time.second);
-+ mod_time->day, month[mod_time->month],
-+ mod_time->year, mod_time->hour,
-+ mod_time->minute, mod_time->second);
- }
- }
-
-@@ -360,12 +362,28 @@ png_const_charp msg;
-
-
- static void
--dump_png_info(png_info *info_ptr) {
-+dump_png_info(png_structp png_ptr, png_info *info_ptr) {
-
- const char *type_string;
- const char *filter_string;
-+ png_color_16p background;
-+ int num_trans;
-+ double gamma;
-+ png_color_8p sig_bit;
-+ png_colorp palette;
-+ int num_palette;
-+ png_uint_16p hist;
-+ int res_x, res_y, unit_type;
-+ png_int_32 offset_x, offset_y;
-+ png_timep mod_time;
-+ png_charp purpose;
-+ png_int_32 X0, X1;
-+ int type, nparams;
-+ png_charp units;
-+ png_charpp params;
-+ int file_srgb_intent;
-
-- switch (info_ptr->color_type) {
-+ switch (png_get_color_type(png_ptr, info_ptr)) {
- case PNG_COLOR_TYPE_GRAY:
- type_string = "gray";
- break;
-@@ -387,90 +405,101 @@ dump_png_info(png_info *info_ptr) {
- break;
- }
-
-- switch (info_ptr->filter_type) {
-+ switch (png_get_filter_type(png_ptr, info_ptr)) {
- case PNG_FILTER_TYPE_BASE:
- asprintfN(&filter_string, "base filter");
- break;
- default:
- asprintfN(&filter_string, "unknown filter type %d",
-- info_ptr->filter_type);
-+ png_get_filter_type(png_ptr, info_ptr));
- }
-
-- pm_message("reading a %ldw x %ldh image, %d bit%s",
-- info_ptr->width, info_ptr->height,
-- info_ptr->bit_depth, info_ptr->bit_depth > 1 ? "s" : "");
-+ pm_message("reading a %uw x %uh image, %d bit%s",
-+ png_get_image_width(png_ptr, info_ptr),
-+ png_get_image_height(png_ptr, info_ptr),
-+ png_get_bit_depth(png_ptr, info_ptr),
-+ png_get_bit_depth(png_ptr, info_ptr) > 1 ? "s" : "");
- pm_message("%s, %s, %s",
- type_string,
-- info_ptr->interlace_type ?
-+ png_get_interlace_type(png_ptr, info_ptr) ?
- "Adam7 interlaced" : "not interlaced",
- filter_string);
-- pm_message("background {index, gray, red, green, blue} = "
-- "{%d, %d, %d, %d, %d}",
-- info_ptr->background.index,
-- info_ptr->background.gray,
-- info_ptr->background.red,
-- info_ptr->background.green,
-- info_ptr->background.blue);
-
-+ if (png_get_bKGD(png_ptr, info_ptr, &background) & PNG_INFO_bKGD) {
-+ pm_message("background {index, gray, red, green, blue} = "
-+ "{%d, %d, %d, %d, %d}",
-+ background->index,
-+ background->gray,
-+ background->red,
-+ background->green,
-+ background->blue);
-+ }
-+
- strfree(filter_string);
-
-- if (info_ptr->valid & PNG_INFO_tRNS)
-+ if (png_get_tRNS(png_ptr, info_ptr,
-+ NULL, &num_trans, NULL) & PNG_INFO_tRNS)
- pm_message("tRNS chunk (transparency): %u entries",
-- info_ptr->num_trans);
-+ num_trans);
- else
- pm_message("tRNS chunk (transparency): not present");
-
-- if (info_ptr->valid & PNG_INFO_gAMA)
-- pm_message("gAMA chunk (image gamma): gamma = %4.2f", info_ptr->gamma);
-+ if (png_get_gAMA(png_ptr, info_ptr, &gamma) & PNG_INFO_gAMA)
-+ pm_message("gAMA chunk (image gamma): gamma = %4.2f", gamma);
- else
- pm_message("gAMA chunk (image gamma): not present");
-
-- if (info_ptr->valid & PNG_INFO_sBIT)
-+ if (png_get_sBIT(png_ptr, info_ptr, &sig_bit) & PNG_INFO_sBIT)
- pm_message("sBIT chunk: present");
- else
- pm_message("sBIT chunk: not present");
-
-- if (info_ptr->valid & PNG_INFO_cHRM)
-+ if (png_get_cHRM(png_ptr, info_ptr,
-+ NULL, NULL, NULL, NULL,
-+ NULL, NULL, NULL, NULL) & PNG_INFO_cHRM)
- pm_message("cHRM chunk: present");
- else
- pm_message("cHRM chunk: not present");
-
-- if (info_ptr->valid & PNG_INFO_PLTE)
-- pm_message("PLTE chunk: %d entries", info_ptr->num_palette);
-+ if (png_get_PLTE(png_ptr, info_ptr, &palette, &num_palette) & PNG_INFO_PLTE)
-+ pm_message("PLTE chunk: %d entries", num_palette);
- else
- pm_message("PLTE chunk: not present");
-
-- if (info_ptr->valid & PNG_INFO_bKGD)
-+ if (png_get_bKGD(png_ptr, info_ptr, &background) & PNG_INFO_bKGD)
- pm_message("bKGD chunk: present");
- else
- pm_message("bKGD chunk: not present");
-
-- if (info_ptr->valid & PNG_INFO_hIST)
-+ if (png_get_hIST(png_ptr, info_ptr, &hist) & PNG_INFO_hIST)
- pm_message("hIST chunk: present");
- else
- pm_message("hIST chunk: not present");
-
-- if (info_ptr->valid & PNG_INFO_pHYs)
-+ if (png_get_pHYs(png_ptr, info_ptr,
-+ &res_x, &res_y, &unit_type) & PNG_INFO_pHYs)
- pm_message("pHYs chunk: present");
- else
- pm_message("pHYs chunk: not present");
-
-- if (info_ptr->valid & PNG_INFO_oFFs)
-+ if (png_get_oFFs(png_ptr, info_ptr,
-+ &offset_x, &offset_y, &unit_type) & PNG_INFO_oFFs)
- pm_message("oFFs chunk: present");
- else
- pm_message("oFFs chunk: not present");
-
-- if (info_ptr->valid & PNG_INFO_tIME)
-+ if (png_get_tIME(png_ptr, info_ptr, &mod_time) & PNG_INFO_tIME)
- pm_message("tIME chunk: present");
- else
- pm_message("tIME chunk: not present");
-
-- if (info_ptr->valid & PNG_INFO_pCAL)
-+ if (png_get_pCAL(png_ptr, info_ptr, &purpose, &X0, &X1,
-+ &type, &nparams, &units, &params) & PNG_INFO_pCAL)
- pm_message("pCAL chunk: present");
- else
- pm_message("pCAL chunk: not present");
-
-- if (info_ptr->valid & PNG_INFO_sRGB)
-+ if (png_get_sRGB(png_ptr, info_ptr, &file_srgb_intent) & PNG_INFO_sRGB)
- pm_message("sRGB chunk: present");
- else
- pm_message("sRGB chunk: not present");
-@@ -479,19 +508,19 @@ dump_png_info(png_info *info_ptr) {
-
-
- static bool
--isTransparentColor(pngcolor const color,
-- png_info * const info_ptr,
-- double const totalgamma) {
-+isTransparentColor(pngcolor const color,
-+ png_structp const png_ptr,
-+ png_info * const info_ptr,
-+ double const totalgamma) {
- /*----------------------------------------------------------------------------
- Return TRUE iff pixels of color 'color' are supposed to be transparent
- everywhere they occur. Assume it's an RGB image.
- -----------------------------------------------------------------------------*/
- bool retval;
-+ png_color_16p transColorP;
-
-- if (info_ptr->valid & PNG_INFO_tRNS) {
-- const png_color_16 * const transColorP = &info_ptr->trans_values;
--
--
-+ if (png_get_tRNS(png_ptr, info_ptr,
-+ NULL, NULL, &transColorP) & PNG_INFO_tRNS) {
- /* There seems to be a problem here: you can't compare real
- numbers for equality. Also, I'm not sure the gamma
- corrected/uncorrected color spaces are right here.
-@@ -537,9 +566,11 @@ setupGammaCorrection(png_struct * const png_ptr,
- if (displaygamma == -1.0)
- *totalgammaP = -1.0;
- else {
-+ double fileGamma;
- float imageGamma;
-- if (info_ptr->valid & PNG_INFO_gAMA)
-- imageGamma = info_ptr->gamma;
-+
-+ if (png_get_gAMA(png_ptr, info_ptr, &fileGamma) & PNG_INFO_gAMA)
-+ imageGamma = fileGamma;
- else {
- if (verbose)
- pm_message("PNG doesn't specify image gamma. Assuming 1.0");
-@@ -555,10 +586,14 @@ setupGammaCorrection(png_struct * const png_ptr,
- } else {
- png_set_gamma(png_ptr, displaygamma, imageGamma);
- *totalgammaP = imageGamma * displaygamma;
-+#ifdef NOT_SUPPORTED_ANYMORE
-+ /* The API doesn't clearing PNG_INFO_sBIT. */
-+
- /* in case of gamma-corrections, sBIT's as in the
- PNG-file are not valid anymore
- */
- info_ptr->valid &= ~PNG_INFO_sBIT;
-+#endif
- if (verbose)
- pm_message("image gamma is %4.2f, "
- "converted for display gamma of %4.2f",
-@@ -570,20 +605,24 @@ setupGammaCorrection(png_struct * const png_ptr,
-
-
- static bool
--paletteHasPartialTransparency(png_info * const info_ptr) {
-+paletteHasPartialTransparency(png_structp png_ptr, png_info * const info_ptr) {
-
- bool retval;
-
-- if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE) {
-- if (info_ptr->valid & PNG_INFO_tRNS) {
-+ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_PALETTE) {
-+ png_bytep trans_alpha;
-+ int num_trans;
-+
-+ if (png_get_tRNS(png_ptr, info_ptr,
-+ &trans_alpha, &num_trans, NULL) & PNG_INFO_tRNS) {
- bool foundGray;
- unsigned int i;
-
- for (i = 0, foundGray = FALSE;
-- i < info_ptr->num_trans && !foundGray;
-+ i < num_trans && !foundGray;
- ++i) {
-- if (info_ptr->trans[i] != 0 &&
-- info_ptr->trans[i] != maxval) {
-+ if (trans_alpha[i] != 0 &&
-+ trans_alpha[i] != maxval) {
- foundGray = TRUE;
- }
- }
-@@ -611,14 +650,16 @@ setupSignificantBits(png_struct * const png_ptr
-
- Return the result as *maxvalP.
- -----------------------------------------------------------------------------*/
-+ png_color_8p sig_bit;
-+
- /* Initial assumption of maxval */
-- if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE) {
-+ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_PALETTE) {
- if (alpha == ALPHA_ONLY) {
-- if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY ||
-- info_ptr->color_type == PNG_COLOR_TYPE_RGB)
-+ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY ||
-+ png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB)
- /* The alpha mask will be all opaque, so maxval 1 is plenty */
- *maxvalP = 1;
-- else if (paletteHasPartialTransparency(info_ptr))
-+ else if (paletteHasPartialTransparency(png_ptr, info_ptr))
- /* Use same maxval as PNG transparency palette for simplicity*/
- *maxvalP = 255;
- else
-@@ -628,7 +669,7 @@ setupSignificantBits(png_struct * const png_ptr
- /* Use same maxval as PNG palette for simplicity */
- *maxvalP = 255;
- } else {
-- *maxvalP = (1l << info_ptr->bit_depth) - 1;
-+ *maxvalP = (1l << png_get_bit_depth(png_ptr, info_ptr)) - 1;
- }
-
- /* sBIT handling is very tricky. If we are extracting only the
-@@ -641,20 +682,26 @@ setupSignificantBits(png_struct * const png_ptr
- is used
- */
-
-- if (info_ptr->valid & PNG_INFO_sBIT) {
-+ if (png_get_sBIT(png_ptr, info_ptr, &sig_bit) & PNG_INFO_sBIT) {
-+ png_byte color_type;
-+ png_bytep trans_alpha;
-+ int num_trans;
-+
-+ color_type = png_get_color_type(png_ptr, info_ptr);
- switch (alpha) {
- case ALPHA_MIX:
-- if (info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA ||
-- info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
-+ if (color_type == PNG_COLOR_TYPE_RGB_ALPHA ||
-+ color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
- break;
-- if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE &&
-- (info_ptr->valid & PNG_INFO_tRNS)) {
-+ if (color_type == PNG_COLOR_TYPE_PALETTE &&
-+ png_get_tRNS(png_ptr, info_ptr,
-+ &trans_alpha, &num_trans, NULL) & PNG_INFO_tRNS) {
-
- bool trans_mix;
- unsigned int i;
- trans_mix = TRUE;
-- for (i = 0; i < info_ptr->num_trans; ++i)
-- if (info_ptr->trans[i] != 0 && info_ptr->trans[i] != 255) {
-+ for (i = 0; i < num_trans; ++i)
-+ if (trans_alpha[i] != 0 && trans_alpha[i] != 255) {
- trans_mix = FALSE;
- break;
- }
-@@ -665,70 +712,76 @@ setupSignificantBits(png_struct * const png_ptr
- /* else fall though to normal case */
-
- case ALPHA_NONE:
-- if ((info_ptr->color_type == PNG_COLOR_TYPE_PALETTE ||
-- info_ptr->color_type == PNG_COLOR_TYPE_RGB ||
-- info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA) &&
-- (info_ptr->sig_bit.red != info_ptr->sig_bit.green ||
-- info_ptr->sig_bit.red != info_ptr->sig_bit.blue) &&
-+ if ((color_type == PNG_COLOR_TYPE_PALETTE ||
-+ color_type == PNG_COLOR_TYPE_RGB ||
-+ color_type == PNG_COLOR_TYPE_RGB_ALPHA) &&
-+ (sig_bit->red != sig_bit->green ||
-+ sig_bit->red != sig_bit->blue) &&
- alpha == ALPHA_NONE) {
- pm_message("This program cannot handle "
- "different bit depths for color channels");
- pm_message("writing file with %d bit resolution",
-- info_ptr->bit_depth);
-+ png_get_bit_depth(png_ptr, info_ptr));
- *errorlevelP = PNMTOPNG_WARNING_LEVEL;
- } else {
-- if ((info_ptr->color_type == PNG_COLOR_TYPE_PALETTE) &&
-- (info_ptr->sig_bit.red < 255)) {
-+ png_colorp palette;
-+ int num_palette;
-+
-+ if ((color_type == PNG_COLOR_TYPE_PALETTE) &&
-+ (sig_bit->red < 255) &&
-+ png_get_PLTE(png_ptr, info_ptr,
-+ &palette, &num_palette) & PNG_INFO_PLTE) {
- unsigned int i;
-- for (i = 0; i < info_ptr->num_palette; ++i) {
-- info_ptr->palette[i].red >>=
-- (8 - info_ptr->sig_bit.red);
-- info_ptr->palette[i].green >>=
-- (8 - info_ptr->sig_bit.green);
-- info_ptr->palette[i].blue >>=
-- (8 - info_ptr->sig_bit.blue);
-+
-+ for (i = 0; i < num_palette; ++i) {
-+ palette[i].red >>=
-+ (8 - sig_bit->red);
-+ palette[i].green >>=
-+ (8 - sig_bit->green);
-+ palette[i].blue >>=
-+ (8 - sig_bit->blue);
- }
-- *maxvalP = (1l << info_ptr->sig_bit.red) - 1;
-+ *maxvalP = (1l << sig_bit->red) - 1;
- if (verbose)
- pm_message ("image has fewer significant bits, "
- "writing file with %d bits per channel",
-- info_ptr->sig_bit.red);
-+ sig_bit->red);
- } else
-- if ((info_ptr->color_type == PNG_COLOR_TYPE_RGB ||
-- info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA) &&
-- (info_ptr->sig_bit.red < info_ptr->bit_depth)) {
-- png_set_shift (png_ptr, &(info_ptr->sig_bit));
-- *maxvalP = (1l << info_ptr->sig_bit.red) - 1;
-+ if ((color_type == PNG_COLOR_TYPE_RGB ||
-+ color_type == PNG_COLOR_TYPE_RGB_ALPHA) &&
-+ (sig_bit->red < png_get_bit_depth(png_ptr, info_ptr))) {
-+ png_set_shift (png_ptr, sig_bit);
-+ *maxvalP = (1l << sig_bit->red) - 1;
- if (verbose)
- pm_message("image has fewer significant bits, "
- "writing file with %d "
- "bits per channel",
-- info_ptr->sig_bit.red);
-+ sig_bit->red);
- } else
-- if ((info_ptr->color_type == PNG_COLOR_TYPE_GRAY ||
-- info_ptr->color_type ==
-+ if ((color_type == PNG_COLOR_TYPE_GRAY ||
-+ color_type ==
- PNG_COLOR_TYPE_GRAY_ALPHA) &&
-- (info_ptr->sig_bit.gray < info_ptr->bit_depth)) {
-- png_set_shift (png_ptr, &(info_ptr->sig_bit));
-- *maxvalP = (1l << info_ptr->sig_bit.gray) - 1;
-+ (sig_bit->gray < png_get_bit_depth(png_ptr, info_ptr))) {
-+ png_set_shift (png_ptr, sig_bit);
-+ *maxvalP = (1l << sig_bit->gray) - 1;
- if (verbose)
- pm_message("image has fewer significant bits, "
- "writing file with %d bits",
-- info_ptr->sig_bit.gray);
-+ sig_bit->gray);
- }
- }
- break;
-
- case ALPHA_ONLY:
-- if ((info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA ||
-- info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA) &&
-- (info_ptr->sig_bit.gray < info_ptr->bit_depth)) {
-- png_set_shift (png_ptr, &(info_ptr->sig_bit));
-+ if ((color_type == PNG_COLOR_TYPE_RGB_ALPHA ||
-+ color_type == PNG_COLOR_TYPE_GRAY_ALPHA) &&
-+ (sig_bit->gray < png_get_bit_depth(png_ptr, info_ptr))) {
-+ png_set_shift (png_ptr, sig_bit);
- if (verbose)
- pm_message ("image has fewer significant bits, "
- "writing file with %d bits",
-- info_ptr->sig_bit.alpha);
-- *maxvalP = (1l << info_ptr->sig_bit.alpha) - 1;
-+ sig_bit->alpha);
-+ *maxvalP = (1l << sig_bit->alpha) - 1;
- }
- break;
-
-@@ -739,22 +792,28 @@ setupSignificantBits(png_struct * const png_ptr
-
-
- static bool
--imageHasColor(png_info * const info_ptr) {
-+imageHasColor(png_structp const png_ptr, png_info * const info_ptr) {
-
- bool retval;
-+ png_byte color_type;
-+ png_colorp palette;
-+ int num_palette;
-
-- if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY ||
-- info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
-+ color_type = png_get_color_type(png_ptr, info_ptr);
-+ if (color_type == PNG_COLOR_TYPE_GRAY ||
-+ color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
-
- retval = FALSE;
-- else if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE) {
-+ else if (color_type == PNG_COLOR_TYPE_PALETTE &&
-+ png_get_PLTE(png_ptr, info_ptr,
-+ &palette, &num_palette) & PNG_INFO_PLTE) {
- bool foundColor;
- unsigned int i;
-
- for (i = 0, foundColor = FALSE;
-- i < info_ptr->num_palette && !foundColor;
-+ i < num_palette && !foundColor;
- ++i) {
-- if (iscolor(info_ptr->palette[i]))
-+ if (iscolor(palette[i]))
- foundColor = TRUE;
- }
- retval = foundColor;
-@@ -767,14 +826,15 @@ imageHasColor(png_info * const info_ptr) {
-
-
- static void
--determineOutputType(png_info * const info_ptr,
-+determineOutputType(png_structp const png_ptr,
-+ png_info * const info_ptr,
- enum alpha_handling const alphaHandling,
- pngcolor const bgColor,
- xelval const maxval,
- int * const pnmTypeP) {
-
- if (alphaHandling != ALPHA_ONLY &&
-- (imageHasColor(info_ptr) || !isGrayscale(bgColor)))
-+ (imageHasColor(png_ptr, info_ptr) || !isGrayscale(bgColor)))
- *pnmTypeP = PPM_TYPE;
- else {
- if (maxval > 1)
-@@ -787,7 +847,8 @@ determineOutputType(png_info * const info_ptr
-
-
- static void
--getBackgroundColor(png_info * const info_ptr,
-+getBackgroundColor(png_structp const png_ptr,
-+ png_info * const info_ptr,
- const char * const requestedColor,
- float const totalgamma,
- xelval const maxval,
-@@ -798,6 +859,8 @@ getBackgroundColor(png_info * const info_ptr,
- Otherwise, if the PNG specifies a background color, that's the one.
- And otherwise, it's white.
- -----------------------------------------------------------------------------*/
-+ png_color_16p background;
-+
- if (requestedColor) {
- /* Background was specified from the command-line; we always
- use that. I chose to do no gamma-correction in this case;
-@@ -809,27 +872,32 @@ getBackgroundColor(png_info * const info_ptr,
- bgColorP->g = PPM_GETG(backcolor);
- bgColorP->b = PPM_GETB(backcolor);
-
-- } else if (info_ptr->valid & PNG_INFO_bKGD) {
-+ } else if (png_get_bKGD(png_ptr, info_ptr, &background) & PNG_INFO_bKGD) {
- /* didn't manage to get libpng to work (bugs?) concerning background
- processing, therefore we do our own.
- */
-- switch (info_ptr->color_type) {
-+ switch (png_get_color_type(png_ptr, info_ptr)) {
- case PNG_COLOR_TYPE_GRAY:
- case PNG_COLOR_TYPE_GRAY_ALPHA:
- bgColorP->r = bgColorP->g = bgColorP->b =
-- gamma_correct(info_ptr->background.gray, totalgamma);
-+ gamma_correct(background->gray, totalgamma);
- break;
- case PNG_COLOR_TYPE_PALETTE: {
-- png_color const rawBgcolor =
-- info_ptr->palette[info_ptr->background.index];
-- bgColorP->r = gamma_correct(rawBgcolor.red, totalgamma);
-- bgColorP->g = gamma_correct(rawBgcolor.green, totalgamma);
-- bgColorP->b = gamma_correct(rawBgcolor.blue, totalgamma);
-+ png_colorp palette;
-+ int num_palette;
-+
-+ if (png_get_PLTE(png_ptr, info_ptr,
-+ &palette, &num_palette) & PNG_INFO_PLTE) {
-+ png_color const rawBgcolor = palette[background->index];
-+ bgColorP->r = gamma_correct(rawBgcolor.red, totalgamma);
-+ bgColorP->g = gamma_correct(rawBgcolor.green, totalgamma);
-+ bgColorP->b = gamma_correct(rawBgcolor.blue, totalgamma);
-+ }
- }
- break;
- case PNG_COLOR_TYPE_RGB:
- case PNG_COLOR_TYPE_RGB_ALPHA: {
-- png_color_16 const rawBgcolor = info_ptr->background;
-+ png_color_16 const rawBgcolor = *background;
-
- bgColorP->r = gamma_correct(rawBgcolor.red, totalgamma);
- bgColorP->g = gamma_correct(rawBgcolor.green, totalgamma);
-@@ -848,6 +916,7 @@ static void
- writePnm(FILE * const ofP,
- xelval const maxval,
- int const pnm_type,
-+ png_structp const png_ptr,
- png_info * const info_ptr,
- png_byte ** const png_image,
- pngcolor const bgColor,
-@@ -865,6 +934,7 @@ writePnm(FILE * const ofP,
- -----------------------------------------------------------------------------*/
- xel * xelrow;
- unsigned int row;
-+ png_uint_32 width, height;
-
- if (verbose)
- pm_message ("writing a %s file (maxval=%u)",
-@@ -874,27 +944,35 @@ writePnm(FILE * const ofP,
- "UNKNOWN!",
- maxval);
-
-- xelrow = pnm_allocrow(info_ptr->width);
-+ xelrow = pnm_allocrow(png_get_image_width(png_ptr, info_ptr));
-
-- pnm_writepnminit(stdout, info_ptr->width, info_ptr->height, maxval,
-- pnm_type, FALSE);
-+ width = png_get_image_width(png_ptr, info_ptr);
-+ height = png_get_image_height(png_ptr, info_ptr);
-
-- for (row = 0; row < info_ptr->height; ++row) {
-+ pnm_writepnminit(stdout, width, height, maxval, pnm_type, FALSE);
-+
-+ for (row = 0; row < height; ++row) {
- png_byte * png_pixelP;
- int col;
-
- png_pixelP = &png_image[row][0]; /* initial value */
-- for (col = 0; col < info_ptr->width; ++col) {
-- switch (info_ptr->color_type) {
-+ for (col = 0; col < width; ++col) {
-+ switch (png_get_color_type(png_ptr, info_ptr)) {
- case PNG_COLOR_TYPE_GRAY: {
- pngcolor fgColor;
-+ png_color_16p trans_color;
-+
- fgColor.r = fgColor.g = fgColor.b = get_png_val(png_pixelP);
-- setXel(&xelrow[col], fgColor, bgColor, alpha_handling,
-- ((info_ptr->valid & PNG_INFO_tRNS) &&
-- (fgColor.r ==
-- gamma_correct(info_ptr->trans_values.gray,
-- totalgamma))) ?
-- 0 : maxval);
-+
-+ if (png_get_tRNS(png_ptr, info_ptr,
-+ NULL, NULL, &trans_color) & PNG_INFO_tRNS &&
-+ (fgColor.r == gamma_correct(trans_color->gray,
-+ totalgamma))) {
-+ setXel(&xelrow[col], fgColor, bgColor, alpha_handling, 0);
-+ } else {
-+ setXel(&xelrow[col], fgColor, bgColor, alpha_handling,
-+ maxval);
-+ }
- }
- break;
-
-@@ -909,19 +987,31 @@ writePnm(FILE * const ofP,
- break;
-
- case PNG_COLOR_TYPE_PALETTE: {
-- png_uint_16 const index = get_png_val(png_pixelP);
-- png_color const paletteColor = info_ptr->palette[index];
-+ png_uint_16 const index = get_png_val(png_pixelP);
-+ png_colorp palette;
-+ int num_palette;
-
-- pngcolor fgColor;
-+ if (png_get_PLTE(png_ptr, info_ptr,
-+ &palette, &num_palette) & PNG_INFO_PLTE) {
-+ png_color const paletteColor = palette[index];
-+ pngcolor fgColor;
-+ png_bytep trans_alpha;
-+ int num_trans;
-
-- fgColor.r = paletteColor.red;
-- fgColor.g = paletteColor.green;
-- fgColor.b = paletteColor.blue;
-+ fgColor.r = paletteColor.red;
-+ fgColor.g = paletteColor.green;
-+ fgColor.b = paletteColor.blue;
-
-- setXel(&xelrow[col], fgColor, bgColor, alpha_handling,
-- (info_ptr->valid & PNG_INFO_tRNS) &&
-- index < info_ptr->num_trans ?
-- info_ptr->trans[index] : maxval);
-+ if (png_get_tRNS(png_ptr, info_ptr,
-+ &trans_alpha,
-+ &num_trans, NULL) & PNG_INFO_tRNS) {
-+ setXel(&xelrow[col], fgColor, bgColor, alpha_handling,
-+ index < num_trans ? trans_alpha[index] : maxval);
-+ } else {
-+ setXel(&xelrow[col], fgColor, bgColor, alpha_handling,
-+ maxval);
-+ }
-+ }
- }
- break;
-
-@@ -932,8 +1022,8 @@ writePnm(FILE * const ofP,
- fgColor.g = get_png_val(png_pixelP);
- fgColor.b = get_png_val(png_pixelP);
- setXel(&xelrow[col], fgColor, bgColor, alpha_handling,
-- isTransparentColor(fgColor, info_ptr, totalgamma) ?
-- 0 : maxval);
-+ isTransparentColor(fgColor, png_ptr, info_ptr,
-+ totalgamma) ? 0 : maxval);
- }
- break;
-
-@@ -950,10 +1040,10 @@ writePnm(FILE * const ofP,
- break;
-
- default:
-- pm_error ("unknown PNG color type: %d", info_ptr->color_type);
-+ pm_error ("unknown PNG color type: %d", png_get_color_type(png_ptr, info_ptr));
- }
- }
-- pnm_writepnmrow(ofP, xelrow, info_ptr->width, maxval, pnm_type, FALSE);
-+ pnm_writepnmrow(ofP, xelrow, width, maxval, pnm_type, FALSE);
- }
- pnm_freerow (xelrow);
- }
-@@ -974,6 +1064,7 @@ convertpng(FILE * const ifp,
- int pnm_type;
- pngcolor bgColor;
- float totalgamma;
-+ int res_x, res_y, unit_type;
-
- *errorlevelP = 0;
-
-@@ -996,28 +1087,28 @@ convertpng(FILE * const ifp,
- png_set_sig_bytes (png_ptr, SIG_CHECK_SIZE);
- png_read_info (png_ptr, info_ptr);
-
-- MALLOCARRAY(png_image, info_ptr->height);
-+ MALLOCARRAY(png_image, png_get_image_height(png_ptr, info_ptr));
- if (png_image == NULL) {
- png_destroy_read_struct (&png_ptr, &info_ptr, (png_infopp)NULL);
- pm_closer (ifp);
- pm_error ("couldn't allocate space for image");
- }
-
-- if (info_ptr->bit_depth == 16)
-- linesize = 2 * info_ptr->width;
-+ if (png_get_bit_depth(png_ptr, info_ptr) == 16)
-+ linesize = 2 * png_get_image_width(png_ptr, info_ptr);
- else
-- linesize = info_ptr->width;
-+ linesize = png_get_image_width(png_ptr, info_ptr);
-
-- if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
-+ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY_ALPHA)
- linesize *= 2;
- else
-- if (info_ptr->color_type == PNG_COLOR_TYPE_RGB)
-+ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB)
- linesize *= 3;
- else
-- if (info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA)
-+ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB_ALPHA)
- linesize *= 4;
-
-- for (y = 0 ; y < info_ptr->height ; y++) {
-+ for (y = 0 ; y < png_get_image_height(png_ptr, info_ptr) ; y++) {
- png_image[y] = malloc (linesize);
- if (png_image[y] == NULL) {
- for (x = 0 ; x < y ; x++)
-@@ -1029,7 +1120,7 @@ convertpng(FILE * const ifp,
- }
- }
-
-- if (info_ptr->bit_depth < 8)
-+ if (png_get_bit_depth(png_ptr, info_ptr) < 8)
- png_set_packing (png_ptr);
-
- setupGammaCorrection(png_ptr, info_ptr, cmdline.gamma, &totalgamma);
-@@ -1037,8 +1128,8 @@ convertpng(FILE * const ifp,
- setupSignificantBits(png_ptr, info_ptr, cmdline.alpha,
- &maxval, errorlevelP);
-
-- getBackgroundColor(info_ptr, cmdline.background, totalgamma, maxval,
-- &bgColor);
-+ getBackgroundColor(png_ptr, info_ptr, cmdline.background, totalgamma,
-+ maxval, &bgColor);
-
- png_read_image (png_ptr, png_image);
- png_read_end (png_ptr, info_ptr);
-@@ -1048,16 +1139,17 @@ convertpng(FILE * const ifp,
- completes. That's because it comes from chunks that are at the
- end of the stream.
- */
-- dump_png_info(info_ptr);
-+ dump_png_info(png_ptr, info_ptr);
-
- if (mtime)
-- show_time (info_ptr);
-+ show_time (png_ptr, info_ptr);
- if (tfp)
-- save_text (info_ptr, tfp);
-+ save_text (png_ptr, info_ptr, tfp);
-
-- if (info_ptr->valid & PNG_INFO_pHYs) {
-+ if (png_get_pHYs(png_ptr, info_ptr,
-+ &res_x, &res_y, &unit_type) & PNG_INFO_pHYs) {
- float r;
-- r = (float)info_ptr->x_pixels_per_unit / info_ptr->y_pixels_per_unit;
-+ r = (float)res_x / res_y;
- if (r != 1.0) {
- pm_message ("warning - non-square pixels; "
- "to fix do a 'pamscale -%cscale %g'",
-@@ -1067,13 +1159,13 @@ convertpng(FILE * const ifp,
- }
- }
-
-- determineOutputType(info_ptr, cmdline.alpha, bgColor, maxval, &pnm_type);
-+ determineOutputType(png_ptr, info_ptr, cmdline.alpha, bgColor, maxval, &pnm_type);
-
-- writePnm(stdout, maxval, pnm_type, info_ptr, png_image, bgColor,
-+ writePnm(stdout, maxval, pnm_type, png_ptr, info_ptr, png_image, bgColor,
- cmdline.alpha, totalgamma);
-
- fflush(stdout);
-- for (y = 0 ; y < info_ptr->height ; y++)
-+ for (y = 0 ; y < png_get_image_height(png_ptr, info_ptr) ; y++)
- free (png_image[y]);
- free (png_image);
- png_destroy_read_struct (&png_ptr, &info_ptr, (png_infopp)NULL);
diff --git a/graphics/netpbm/files/patch-pngtxt.c b/graphics/netpbm/files/patch-pngtxt.c
deleted file mode 100644
index 9c4cfe07e6c5..000000000000
--- a/graphics/netpbm/files/patch-pngtxt.c
+++ /dev/null
@@ -1,80 +0,0 @@
-$OpenBSD: patch-converter_other_pngtxt_c,v 1.1 2011/07/08 20:36:09 naddy Exp $
-
-Fix build with png-1.5.
-
---- converter/other/pngtxt.c.orig Fri Aug 18 21:12:28 2006
-+++ converter/other/pngtxt.c Mon Jul 4 14:21:23 2011
-@@ -240,7 +240,8 @@ handleArrayAllocation(png_text ** const arrayP,
-
-
- void
--pnmpng_read_text (png_info * const info_ptr,
-+pnmpng_read_text (png_struct * png_ptr,
-+ png_info * info_ptr,
- FILE * const tfp,
- bool const ztxt,
- bool const verbose) {
-@@ -250,6 +251,7 @@ pnmpng_read_text (png_info * const info_ptr,
- unsigned int commentIdx;
- bool noCommentsYet;
- bool eof;
-+ png_textp text_ptr;
- unsigned int allocatedComments;
- /* Number of entries currently allocated for the info_ptr->text
- array
-@@ -257,8 +259,8 @@ pnmpng_read_text (png_info * const info_ptr,
-
- allocatedComments = 256; /* initial value */
-
-- MALLOCARRAY(info_ptr->text, allocatedComments);
-- if (info_ptr->text == NULL)
-+ MALLOCARRAY(text_ptr, allocatedComments);
-+ if (text_ptr == NULL)
- pm_error("unable to allocate memory for comment array");
-
- commentIdx = 0;
-@@ -273,7 +275,7 @@ pnmpng_read_text (png_info * const info_ptr,
- if (lineLength == 0) {
- /* skip this empty line */
- } else {
-- handleArrayAllocation(&info_ptr->text, &allocatedComments,
-+ handleArrayAllocation(&text_ptr, &allocatedComments,
- commentIdx);
- if ((textline[0] != ' ') && (textline[0] != '\t')) {
- /* Line doesn't start with white space, which
-@@ -285,7 +287,7 @@ pnmpng_read_text (png_info * const info_ptr,
- ++commentIdx;
- noCommentsYet = FALSE;
-
-- startComment(&info_ptr->text[commentIdx],
-+ startComment(&text_ptr[commentIdx],
- textline, lineLength, ztxt);
- } else {
- /* Line starts with whitespace, which means it is
-@@ -295,20 +297,20 @@ pnmpng_read_text (png_info * const info_ptr,
- pm_error("Invalid comment file format: "
- "first line is a continuation line! "
- "(It starts with whitespace)");
-- continueComment(&info_ptr->text[commentIdx],
-+ continueComment(&text_ptr[commentIdx],
- textline, lineLength);
- }
- }
- strfree(textline);
- }
- }
-- if (noCommentsYet)
-- info_ptr->num_text = 0;
-- else
-- info_ptr->num_text = commentIdx + 1;
-+ if (!noCommentsYet)
-+ png_set_text(png_ptr, info_ptr, text_ptr, commentIdx + 1);
-
- if (verbose)
-- pm_message("%d comments placed in text chunk", info_ptr->num_text);
-+ pm_message("%d comments placed in text chunk", commentIdx + 1);
-+
-+ free(text_ptr);
- }
-
-
diff --git a/graphics/netpbm/files/patch-pngtxt.h b/graphics/netpbm/files/patch-pngtxt.h
deleted file mode 100644
index efdb6d1d81b0..000000000000
--- a/graphics/netpbm/files/patch-pngtxt.h
+++ /dev/null
@@ -1,16 +0,0 @@
-$OpenBSD: patch-converter_other_pngtxt_h,v 1.1 2011/07/08 20:36:09 naddy Exp $
-
-Fix build with png-1.5.
-
---- converter/other/pngtxt.h.orig Fri Aug 18 21:12:28 2006
-+++ converter/other/pngtxt.h Mon Jul 4 14:21:23 2011
-@@ -5,7 +5,8 @@
- #include <png.h>
-
- void
--pnmpng_read_text (png_info * const info_ptr,
-+pnmpng_read_text (png_struct * png_ptr,
-+ png_info * const info_ptr,
- FILE * const tfp,
- bool const ztxt,
- bool const verbose);
diff --git a/graphics/netpbm/files/patch-pnmtopng.c b/graphics/netpbm/files/patch-pnmtopng.c
deleted file mode 100644
index 22a0f6297aa9..000000000000
--- a/graphics/netpbm/files/patch-pnmtopng.c
+++ /dev/null
@@ -1,402 +0,0 @@
-$OpenBSD: patch-converter_other_pnmtopng_c,v 1.2 2011/12/13 21:39:17 naddy Exp $
-
-Fix build with png-1.5.
-
---- converter/other/pnmtopng.c.orig Sun Sep 25 20:51:44 2011
-+++ converter/other/pnmtopng.c Tue Dec 13 22:22:04 2011
-@@ -61,7 +61,8 @@
- #include <assert.h>
- #include <string.h> /* strcat() */
- #include <limits.h>
--#include <png.h> /* includes zlib.h and setjmp.h */
-+#include <png.h> /* includes setjmp.h */
-+#include <zlib.h>
- #include "pnm.h"
- #include "pngtxt.h"
- #include "shhopt.h"
-@@ -69,13 +70,6 @@
- #include "nstring.h"
- #include "version.h"
-
--#if PNG_LIBPNG_VER >= 10400
--#error Your PNG library (<png.h>) is incompatible with this Netpbm source code.
--#error You need either an older PNG library (older than 1.4)
--#error newer Netpbm source code (at least 10.47.04)
--#endif
--
--
- struct zlibCompression {
- /* These are parameters that describe a form of zlib compression.
- Values have the same meaning as the similarly named arguments to
-@@ -2098,6 +2092,7 @@ makePngLine(png_byte * const line,
- gray * const alpha_mask,
- colorhash_table const cht,
- coloralphahash_table const caht,
-+ png_struct * const png_ptr,
- png_info * const info_ptr,
- xelval const png_maxval,
- unsigned int const depth) {
-@@ -2110,20 +2105,20 @@ makePngLine(png_byte * const line,
- xel p_png;
- xel const p = xelrow[col];
- PPM_DEPTH(p_png, p, maxval, png_maxval);
-- if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY ||
-- info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA) {
-+ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY ||
-+ png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY_ALPHA) {
- if (depth == 16)
- *pp++ = PNM_GET1(p_png) >> 8;
- *pp++ = PNM_GET1(p_png) & 0xff;
-- } else if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE) {
-+ } else if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_PALETTE) {
- unsigned int paletteIndex;
- if (alpha)
- paletteIndex = lookupColorAlpha(caht, &p, &alpha_mask[col]);
- else
- paletteIndex = ppm_lookupcolor(cht, &p);
- *pp++ = paletteIndex;
-- } else if (info_ptr->color_type == PNG_COLOR_TYPE_RGB ||
-- info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA) {
-+ } else if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB ||
-+ png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB_ALPHA) {
- if (depth == 16)
- *pp++ = PPM_GETR(p_png) >> 8;
- *pp++ = PPM_GETR(p_png) & 0xff;
-@@ -2136,7 +2131,7 @@ makePngLine(png_byte * const line,
- } else
- pm_error("INTERNAL ERROR: undefined color_type");
-
-- if (info_ptr->color_type & PNG_COLOR_MASK_ALPHA) {
-+ if (png_get_color_type(png_ptr, info_ptr) & PNG_COLOR_MASK_ALPHA) {
- int const png_alphaval = (int)
- alpha_mask[col] * (float) png_maxval / maxval + 0.5;
- if (depth == 16)
-@@ -2193,7 +2188,7 @@ writeRaster(png_struct * const png_ptr,
-
- makePngLine(line, xelrow, cols, maxval,
- alpha, alpha ? alpha_mask[row] : NULL,
-- cht, caht, info_ptr, png_maxval, depth);
-+ cht, caht, png_ptr, info_ptr, png_maxval, depth);
-
- png_write_row(png_ptr, line);
- }
-@@ -2205,12 +2200,12 @@ writeRaster(png_struct * const png_ptr,
-
- static void
- doGamaChunk(struct cmdlineInfo const cmdline,
-+ png_struct * const png_ptr,
- png_info * const info_ptr) {
-
- if (cmdline.gammaSpec) {
- /* gAMA chunk */
-- info_ptr->valid |= PNG_INFO_gAMA;
-- info_ptr->gamma = cmdline.gamma;
-+ png_set_gAMA(png_ptr, info_ptr, cmdline.gamma);
- }
- }
-
-@@ -2218,20 +2213,15 @@ doGamaChunk(struct cmdlineInfo const cmdline,
-
- static void
- doChrmChunk(struct cmdlineInfo const cmdline,
-+ png_struct * const png_ptr,
- png_info * const info_ptr) {
-
- if (cmdline.rgbSpec) {
- /* cHRM chunk */
-- info_ptr->valid |= PNG_INFO_cHRM;
--
-- info_ptr->x_white = cmdline.rgb.wx;
-- info_ptr->y_white = cmdline.rgb.wy;
-- info_ptr->x_red = cmdline.rgb.rx;
-- info_ptr->y_red = cmdline.rgb.ry;
-- info_ptr->x_green = cmdline.rgb.gx;
-- info_ptr->y_green = cmdline.rgb.gy;
-- info_ptr->x_blue = cmdline.rgb.bx;
-- info_ptr->y_blue = cmdline.rgb.by;
-+
-+ png_set_cHRM (png_ptr, info_ptr, cmdline.rgb.wx, cmdline.rgb.wy,
-+ cmdline.rgb.rx, cmdline.rgb.ry, cmdline.rgb.gx,
-+ cmdline.rgb.gy, cmdline.rgb.bx, cmdline.rgb.by);
- }
- }
-
-@@ -2239,15 +2229,12 @@ doChrmChunk(struct cmdlineInfo const cmdline,
-
- static void
- doPhysChunk(struct cmdlineInfo const cmdline,
-+ png_struct * const png_ptr,
- png_info * const info_ptr) {
-
- if (cmdline.sizeSpec) {
- /* pHYS chunk */
-- info_ptr->valid |= PNG_INFO_pHYs;
--
-- info_ptr->x_pixels_per_unit = cmdline.size.x;
-- info_ptr->y_pixels_per_unit = cmdline.size.y;
-- info_ptr->phys_unit_type = cmdline.size.unit;
-+ png_set_pHYs(png_ptr, info_ptr, cmdline.size.x, cmdline.size.y, cmdline.size.unit);
- }
- }
-
-@@ -2256,26 +2243,28 @@ doPhysChunk(struct cmdlineInfo const cmdline,
-
- static void
- doTimeChunk(struct cmdlineInfo const cmdline,
-+ png_struct * const png_ptr,
- png_info * const info_ptr) {
-
- if (cmdline.modtimeSpec) {
- /* tIME chunk */
-- info_ptr->valid |= PNG_INFO_tIME;
--
-- png_convert_from_time_t(&info_ptr->mod_time, cmdline.modtime);
-+ png_timep ptime;
-+ png_convert_from_time_t(ptime, cmdline.modtime);
-+ png_set_tIME(png_ptr, info_ptr, ptime);
- }
- }
-
-
-
- static void
--doSbitChunk(png_info * const pngInfoP,
-+doSbitChunk(png_struct * const pngP,
-+ png_info * const pngInfoP,
- xelval const pngMaxval,
- xelval const maxval,
- bool const alpha,
- xelval const alphaMaxval) {
-
-- if (pngInfoP->color_type != PNG_COLOR_TYPE_PALETTE &&
-+ if (png_get_color_type(pngP, pngInfoP) != PNG_COLOR_TYPE_PALETTE &&
- (pngMaxval > maxval || (alpha && pngMaxval > alphaMaxval))) {
-
- /* We're writing in a bit depth that doesn't match the maxval
-@@ -2294,27 +2283,29 @@ doSbitChunk(png_info * const pngInfoP,
- sBIT chunk.
- */
-
-- pngInfoP->valid |= PNG_INFO_sBIT;
--
- {
- int const sbitval = pm_maxvaltobits(MIN(maxval, pngMaxval));
-+ png_color_8 sbit;
-
-- if (pngInfoP->color_type & PNG_COLOR_MASK_COLOR) {
-- pngInfoP->sig_bit.red = sbitval;
-- pngInfoP->sig_bit.green = sbitval;
-- pngInfoP->sig_bit.blue = sbitval;
-+ (void)memset(&sbit, 0, sizeof(sbit));
-+ if (png_get_color_type(pngP, pngInfoP) & PNG_COLOR_MASK_COLOR) {
-+ sbit.red = sbitval;
-+ sbit.green = sbitval;
-+ sbit.blue = sbitval;
- } else
-- pngInfoP->sig_bit.gray = sbitval;
-+ sbit.gray = sbitval;
-
- if (verbose)
- pm_message("Writing sBIT chunk with bits = %d", sbitval);
-+
-+ if (png_get_color_type(pngP, pngInfoP) & PNG_COLOR_MASK_ALPHA) {
-+ sbit.alpha =
-+ pm_maxvaltobits(MIN(alphaMaxval, pngMaxval));
-+ if (verbose)
-+ pm_message(" alpha bits = %d", sbit.alpha);
-+ }
-+ png_set_sBIT(pngP, pngInfoP, &sbit);
- }
-- if (pngInfoP->color_type & PNG_COLOR_MASK_ALPHA) {
-- pngInfoP->sig_bit.alpha =
-- pm_maxvaltobits(MIN(alphaMaxval, pngMaxval));
-- if (verbose)
-- pm_message(" alpha bits = %d", pngInfoP->sig_bit.alpha);
-- }
- }
- }
-
-@@ -2410,6 +2401,8 @@ convertpnm(struct cmdlineInfo const cmdline,
- xelval maxmaxval;
- gray ** alpha_mask;
-
-+ int color_type;
-+
- /* these guys are initialized to quiet compiler warnings: */
- maxmaxval = 255;
- alpha_mask = NULL;
-@@ -2595,43 +2588,42 @@ convertpnm(struct cmdlineInfo const cmdline,
- pm_error ("setjmp returns error condition (2)");
- }
-
-- png_init_io (png_ptr, stdout);
-- info_ptr->width = cols;
-- info_ptr->height = rows;
-- info_ptr->bit_depth = depth;
--
- if (colorMapped)
-- info_ptr->color_type = PNG_COLOR_TYPE_PALETTE;
-- else if (pnm_type == PPM_TYPE)
-- info_ptr->color_type = PNG_COLOR_TYPE_RGB;
-- else
-- info_ptr->color_type = PNG_COLOR_TYPE_GRAY;
-+ color_type = PNG_COLOR_TYPE_PALETTE;
-+ else if (pnm_type == PPM_TYPE) {
-+ if (alpha)
-+ color_type = PNG_COLOR_TYPE_RGB_ALPHA;
-+ else
-+ color_type = PNG_COLOR_TYPE_RGB;
-+ } else {
-+ if (alpha)
-+ color_type = PNG_COLOR_TYPE_GRAY_ALPHA;
-+ else
-+ color_type = PNG_COLOR_TYPE_GRAY;
-+ }
-
-- if (alpha && info_ptr->color_type != PNG_COLOR_TYPE_PALETTE)
-- info_ptr->color_type |= PNG_COLOR_MASK_ALPHA;
-+ png_set_IHDR(png_ptr, info_ptr, cols, rows, depth, color_type, 0, 0, 0);
-+ png_init_io (png_ptr, stdout);
-
-- info_ptr->interlace_type = cmdline.interlace;
-+ if (cmdline.interlace)
-+ png_set_interlace_handling(png_ptr);
-
-- doGamaChunk(cmdline, info_ptr);
-+ doGamaChunk(cmdline, png_ptr, info_ptr);
-
-- doChrmChunk(cmdline, info_ptr);
-+ doChrmChunk(cmdline, png_ptr, info_ptr);
-
-- doPhysChunk(cmdline, info_ptr);
-+ doPhysChunk(cmdline, png_ptr, info_ptr);
-
-- if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE) {
-+ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_PALETTE) {
-
- /* creating PNG palette (PLTE and tRNS chunks) */
-
- createPngPalette(palette_pnm, palette_size, maxval,
- trans_pnm, trans_size, alpha_maxval,
- palette, trans);
-- info_ptr->valid |= PNG_INFO_PLTE;
-- info_ptr->palette = palette;
-- info_ptr->num_palette = palette_size;
-+ png_set_PLTE(png_ptr, info_ptr, palette, palette_size);
- if (trans_size > 0) {
-- info_ptr->valid |= PNG_INFO_tRNS;
-- info_ptr->trans = trans;
-- info_ptr->num_trans = trans_size; /* omit opaque values */
-+ png_set_tRNS(png_ptr, info_ptr, trans, trans_size, NULL);
- }
- /* creating hIST chunk */
- if (cmdline.hist) {
-@@ -2657,18 +2649,17 @@ convertpnm(struct cmdlineInfo const cmdline,
-
- ppm_freecolorhash(cht);
-
-- info_ptr->valid |= PNG_INFO_hIST;
-- info_ptr->hist = histogram;
-+ png_set_hIST(png_ptr, info_ptr, histogram);
- if (verbose)
- pm_message("histogram created");
- }
- } else { /* color_type != PNG_COLOR_TYPE_PALETTE */
-- if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY ||
-- info_ptr->color_type == PNG_COLOR_TYPE_RGB) {
-+ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY ||
-+ png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB) {
- if (transparent > 0) {
-- info_ptr->valid |= PNG_INFO_tRNS;
-- info_ptr->trans_values =
-- xelToPngColor_16(transcolor, maxval, png_maxval);
-+ png_color_16 trans_color = xelToPngColor_16(transcolor, maxval, png_maxval);
-+ png_set_tRNS(png_ptr, info_ptr, NULL, 0, &trans_color);
-+
- }
- } else {
- /* This is PNG_COLOR_MASK_ALPHA. Transparency will be handled
-@@ -2676,43 +2667,49 @@ convertpnm(struct cmdlineInfo const cmdline,
- */
- }
- if (verbose) {
-- if (info_ptr->valid && PNG_INFO_tRNS)
-+ if (png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS)) {
-+ png_color_16p trans_color;
-+
-+ png_get_tRNS(png_ptr, info_ptr, NULL, NULL, &trans_color);
- pm_message("Transparent color {gray, red, green, blue} = "
- "{%d, %d, %d, %d}",
-- info_ptr->trans_values.gray,
-- info_ptr->trans_values.red,
-- info_ptr->trans_values.green,
-- info_ptr->trans_values.blue);
-- else
-+ trans_color->gray,
-+ trans_color->red,
-+ trans_color->green,
-+ trans_color->blue);
-+ } else
- pm_message("No transparent color");
- }
- }
-
- /* bKGD chunk */
- if (cmdline.background) {
-- info_ptr->valid |= PNG_INFO_bKGD;
-- if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE) {
-- info_ptr->background.index = background_index;
-+ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_PALETTE) {
-+ png_color_16 background;
-+
-+ (void)memset(&background, 0, sizeof(background));
-+ background.index = background_index;
-+ png_set_bKGD(png_ptr, info_ptr, &background);
- } else {
-- info_ptr->background =
-- xelToPngColor_16(backcolor, maxval, png_maxval);
-+ png_color_16 background = xelToPngColor_16(backcolor, maxval, png_maxval);
-+ png_set_bKGD(png_ptr, info_ptr, &background);
- if (verbose)
- pm_message("Writing bKGD chunk with background color "
- " {gray, red, green, blue} = {%d, %d, %d, %d}",
-- info_ptr->background.gray,
-- info_ptr->background.red,
-- info_ptr->background.green,
-- info_ptr->background.blue );
-+ background.gray,
-+ background.red,
-+ background.green,
-+ background.blue );
- }
- }
-
-- doSbitChunk(info_ptr, png_maxval, maxval, alpha, alpha_maxval);
-+ doSbitChunk(png_ptr, info_ptr, png_maxval, maxval, alpha, alpha_maxval);
-
- /* tEXT and zTXT chunks */
- if (cmdline.text || cmdline.ztxt)
-- pnmpng_read_text(info_ptr, tfp, !!cmdline.ztxt, cmdline.verbose);
-+ pnmpng_read_text(png_ptr, info_ptr, tfp, !!cmdline.ztxt, cmdline.verbose);
-
-- doTimeChunk(cmdline, info_ptr);
-+ doTimeChunk(cmdline, png_ptr, info_ptr);
-
- if (cmdline.filterSet != 0)
- png_set_filter(png_ptr, 0, cmdline.filterSet);
-@@ -2722,6 +2719,7 @@ convertpnm(struct cmdlineInfo const cmdline,
- /* write the png-info struct */
- png_write_info(png_ptr, info_ptr);
-
-+#if 0
- if (cmdline.text || cmdline.ztxt)
- /* prevent from being written twice with png_write_end */
- info_ptr->num_text = 0;
-@@ -2729,6 +2727,7 @@ convertpnm(struct cmdlineInfo const cmdline,
- if (cmdline.modtime)
- /* prevent from being written twice with png_write_end */
- info_ptr->valid &= ~PNG_INFO_tIME;
-+#endif
-
- /* let libpng take care of, e.g., bit-depth conversions */
- png_set_packing (png_ptr);
diff --git a/graphics/netpbm/files/patch-ppmquantall b/graphics/netpbm/files/patch-ppmquantall
deleted file mode 100644
index c2363d19cb17..000000000000
--- a/graphics/netpbm/files/patch-ppmquantall
+++ /dev/null
@@ -1,55 +0,0 @@
---- editor/ppmquantall.orig 2009-04-28 03:43:45.000000000 +0200
-+++ editor/ppmquantall 2013-12-30 12:26:49.000000000 +0100
-@@ -53,8 +53,6 @@
-
- newcolors=$1
- shift
--nfiles=$#
--files=($@)
-
- # Extract the width and height of each of the images.
- # Here, we make the assumption that the width and height are on the
-@@ -62,14 +60,6 @@
- # To be robust, we need to use Pnmfile to get that information, or
- # Put this program in C and use ppm_readppminit().
-
--widths=()
--heights=()
--
--for i in ${files[@]}; do
-- widths=(${widths[*]} `grep -v '^#' $i | sed '1d; s/ .*//; 2q'`)
-- heights=(${heights[*]} `grep -v '^#' $i | sed '1d; s/.* //; 2q'`)
--done
--
- tempdir="${TMPDIR-/tmp}/ppmquantall.$$"
- mkdir $tempdir || { echo "Could not create temporary file. Exiting."; exit 1;}
- chmod 700 $tempdir
-@@ -78,7 +68,7 @@
-
- all=$tempdir/pqa.all.$$
-
--pnmcat -topbottom -jleft -white ${files[@]} | pnmquant $newcolors > $all
-+pnmcat -topbottom -jleft -white "$@" | pnmquant $newcolors > $all
- if [ $? != 0 ]; then
- exit $?
- fi
-@@ -86,12 +76,15 @@
- y=0
- i=0
-
--while [ $i -lt $nfiles ]; do
-- pamcut -left 0 -top $y -width ${widths[$i]} -height ${heights[$i]} $all \
-- > ${files[$i]}$ext
-+for f in "$@"; do
-+ width=`grep -v '^#' "$f" | sed '1d; s/ .*//; 2q'`
-+ height=`grep -v '^#' "$f" | sed '1d; s/.* //; 2q'`
-+
-+ pamcut -left 0 -top $y -width $width -height $height $all \
-+ > "$f$ext"
- if [ $? != 0 ]; then
- exit $?
- fi
-- y=$(($y + ${heights[$i]}))
-+ y=$(($y + $height))
- i=$(($i + 1))
- done
diff --git a/graphics/netpbm/files/patch-ppmquantall.csh b/graphics/netpbm/files/patch-ppmquantall.csh
deleted file mode 100644
index 11b31fc0fa90..000000000000
--- a/graphics/netpbm/files/patch-ppmquantall.csh
+++ /dev/null
@@ -1,13 +0,0 @@
---- editor/ppmquantall.csh.orig 2006-08-19 05:12:28.000000000 +0200
-+++ editor/ppmquantall.csh 2013-12-25 21:56:17.183814873 +0100
-@@ -30,8 +30,8 @@
- set widths=()
- set heights=()
- foreach i ( $files )
-- set widths=( $widths `sed '1d; s/ .*//; 2q' $i` )
-- set heights=( $heights `sed '1d; s/.* //; 2q' $i` )
-+ set widths=( $widths `grep -v '^#' "$i" | sed '1d; s/ .*//; 2q'` )
-+ set heights=( $heights `grep -v '^#' "$i" | sed '1d; s/.* //; 2q'` )
- end
-
- set all=/tmp/pqa.all.$$
diff --git a/graphics/netpbm/files/patch-ppmtompeg-Makefile b/graphics/netpbm/files/patch-ppmtompeg-Makefile
deleted file mode 100644
index 88b671f0c15d..000000000000
--- a/graphics/netpbm/files/patch-ppmtompeg-Makefile
+++ /dev/null
@@ -1,12 +0,0 @@
---- converter/ppm/ppmtompeg/Makefile.orig 2008-12-07 02:58:20.000000000 +0100
-+++ converter/ppm/ppmtompeg/Makefile 2011-05-11 06:01:02.000000000 +0200
-@@ -18,7 +18,8 @@
- JPEGLIBX = $(JPEGLIB)
- endif
-
--INCLUDES = -I$(SRCDIR)/$(SUBDIR)/headers
-+INCLUDES =
-+PREINCLUDES = -I$(SRCDIR)/$(SUBDIR)/headers
-
- ifneq ($(JPEGHDR_DIR),NONE)
- ifneq ($(JPEGHDR_DIR)x,x)
diff --git a/graphics/netpbm/pkg-descr b/graphics/netpbm/pkg-descr
index b5fbdcccea46..7f9680e1db6a 100644
--- a/graphics/netpbm/pkg-descr
+++ b/graphics/netpbm/pkg-descr
@@ -1,10 +1,10 @@
-Netpbm is a toolkit for conversion of images between a variety of
-different formats, as well as to allow a few basic image operations.
-Netpbm is based on the widely spread Pbmplus package (release: 10 Dec
-91). On top of that, a lot of improvements and additions have been
-made. After the latest release of Pbmplus, a lot of additional filters
-have been circulating on the net. The aim of Netpbm was, to collect
-these and to turn them into a package. This work has been performed by
-a group of programmers all over the world.
+Netpbm is a toolkit for manipulation of graphic images, including
+conversion of images between a variety of different formats. There
+are over 300 separate tools in the package including converters for
+about 100 graphics formats.
+
+Examples of supported image manipulations: Shrinking an image by 10%;
+Cutting the top half off of an image; Making a mirror image; Creating
+a sequence of images that fade from one image to another.
WWW: http://netpbm.sourceforge.net/
diff --git a/graphics/netpbm/pkg-plist b/graphics/netpbm/pkg-plist
index f856c733214f..218eb1468e9b 100644
--- a/graphics/netpbm/pkg-plist
+++ b/graphics/netpbm/pkg-plist
@@ -2,11 +2,13 @@ bin/411toppm
bin/anytopnm
bin/asciitopgm
bin/atktopbm
+bin/avstopam
bin/bioradtopgm
bin/bmptopnm
bin/bmptoppm
bin/brushtopbm
bin/cameratopam
+bin/cistopbm
bin/cmuwmtopbm
bin/ddbugtopbm
bin/escp2topbm
@@ -27,6 +29,7 @@ bin/ilbmtoppm
bin/imgtoppm
bin/infotopam
bin/jbigtopnm
+bin/jpeg2ktopam
bin/jpegtopnm
bin/leaftoppm
bin/lispmtopgm
@@ -39,9 +42,11 @@ bin/neotoppm
bin/palmtopnm
bin/pamaddnoise
bin/pamarith
+bin/pambackground
bin/pambayer
bin/pamchannel
bin/pamcomp
+bin/pamcrater
bin/pamcut
bin/pamdeinterlace
bin/pamdepth
@@ -50,7 +55,10 @@ bin/pamditherbw
bin/pamedge
bin/pamendian
bin/pamenlarge
+bin/pamexec
bin/pamfile
+bin/pamfix
+%%PERL%%bin/pamfixtrunc
bin/pamflip
bin/pamfunc
bin/pamgauss
@@ -58,15 +66,21 @@ bin/pamgradient
bin/pamlookup
bin/pammasksharpen
bin/pammixinterlace
+bin/pammosaicknit
bin/pamoil
+bin/pampaintspill
bin/pamperspective
bin/pampick
bin/pampop9
+bin/pamrecolor
bin/pamrgbatopng
+bin/pamrubber
bin/pamscale
bin/pamseq
+bin/pamshadedrelief
bin/pamsharpmap
bin/pamsharpness
+bin/pamsistoaglyph
bin/pamslice
bin/pamsplit
bin/pamstack
@@ -75,24 +89,40 @@ bin/pamstretch
bin/pamstretch-gen
bin/pamsumm
bin/pamsummcol
+bin/pamtable
bin/pamthreshold
bin/pamtilt
+bin/pamtoavs
bin/pamtodjvurle
bin/pamtofits
+bin/pamtogif
bin/pamtohdiff
bin/pamtohtmltbl
+bin/pamtojpeg2k
+bin/pamtompfont
+bin/pamtooctaveimg
+bin/pamtopam
+bin/pamtopdbimg
bin/pamtopfm
+bin/pamtopng
bin/pamtopnm
+bin/pamtosrf
bin/pamtosvg
bin/pamtotga
bin/pamtotiff
bin/pamtouil
+bin/pamtowinicon
bin/pamtoxvmini
+bin/pamundice
+bin/pamunlookup
+bin/pamvalidate
+bin/pamwipeout
%%X11%%bin/pamx
bin/pbmclean
bin/pbmlife
bin/pbmmake
bin/pbmmask
+bin/pbmminkowski
bin/pbmpage
bin/pbmpscale
bin/pbmreduce
@@ -103,6 +133,7 @@ bin/pbmto4425
bin/pbmtoascii
bin/pbmtoatk
bin/pbmtobbnbg
+bin/pbmtocis
bin/pbmtocmuwm
bin/pbmtodjvurle
bin/pbmtoepsi
@@ -111,6 +142,7 @@ bin/pbmtoescp2
bin/pbmtog3
bin/pbmtogem
bin/pbmtogo
+bin/pbmtoibm23xx
bin/pbmtoicon
bin/pbmtolj
bin/pbmtoln03
@@ -128,8 +160,9 @@ bin/pbmtoplot
bin/pbmtoppa
bin/pbmtopsg3
bin/pbmtoptx
+bin/pbmtosunicon
bin/pbmtowbmp
-bin/pbmtox10bm
+%%PERL%%bin/pbmtox10bm
bin/pbmtoxbm
bin/pbmtoybm
bin/pbmtozinc
@@ -137,10 +170,11 @@ bin/pbmupc
bin/pc1toppm
bin/pcdovtoppm
bin/pcxtoppm
+bin/pdbimgtopam
bin/pfmtopam
bin/pgmabel
bin/pgmbentley
-bin/pgmcrater
+%%PERL%%bin/pgmcrater
bin/pgmdeshadow
bin/pgmedge
bin/pgmenhance
@@ -161,11 +195,14 @@ bin/pgmtolispm
bin/pgmtopbm
bin/pgmtopgm
bin/pgmtoppm
+bin/pgmtosbig
+bin/pgmtost4
bin/pi1toppm
bin/pi3topbm
bin/picttoppm
bin/pjtoppm
bin/pktopbm
+bin/pngtopam
bin/pngtopnm
bin/pnmalias
bin/pnmarith
@@ -178,7 +215,7 @@ bin/pnmcut
bin/pnmdepth
bin/pnmenlarge
bin/pnmfile
-bin/pnmflip
+%%PERL%%bin/pnmflip
bin/pnmgamma
bin/pnmhisteq
bin/pnmhistmap
@@ -186,6 +223,7 @@ bin/pnmindex
bin/pnminterp
bin/pnminvert
bin/pnmmargin
+bin/pnmmercator
bin/pnmmontage
bin/pnmnlfilt
bin/pnmnoraw
@@ -193,7 +231,8 @@ bin/pnmnorm
bin/pnmpad
bin/pnmpaste
bin/pnmpsnr
-bin/pnmquant
+%%PERL%%bin/pnmquant
+%%PERL%%bin/pnmquantall
bin/pnmremap
bin/pnmrotate
bin/pnmscale
@@ -234,7 +273,7 @@ bin/ppmdist
bin/ppmdither
bin/ppmdmkfont
bin/ppmdraw
-bin/ppmfade
+%%PERL%%bin/ppmfade
bin/ppmflash
bin/ppmforge
bin/ppmglobe
@@ -245,20 +284,21 @@ bin/ppmmix
bin/ppmnorm
bin/ppmntsc
bin/ppmpat
-bin/ppmquant
+%%PERL%%bin/ppmquant
bin/ppmquantall
-bin/ppmrainbow
+%%PERL%%bin/ppmrainbow
bin/ppmrelief
bin/ppmrough
-bin/ppmshadow
+%%PERL%%bin/ppmshadow
bin/ppmshift
bin/ppmspread
bin/ppmtoacad
+bin/ppmtoapplevol
bin/ppmtoarbtxt
+bin/ppmtoascii
bin/ppmtobmp
bin/ppmtoeyuv
bin/ppmtogif
-bin/pbmtoibm23xx
bin/ppmtoicr
bin/ppmtoilbm
bin/ppmtojpeg
@@ -278,8 +318,9 @@ bin/ppmtoppm
bin/ppmtopuzz
bin/ppmtorgb3
bin/ppmtosixel
-bin/ppmtotga
+bin/ppmtospu
bin/ppmtoterm
+bin/ppmtotga
bin/ppmtouil
bin/ppmtowinicon
bin/ppmtoxpm
@@ -303,11 +344,15 @@ bin/sldtoppm
bin/spctoppm
bin/spottopgm
bin/sputoppm
-bin/svgtopam
+bin/srftopam
+bin/st4topgm
+bin/sunicontopnm
+%%SVGTOPAM%%bin/svgtopam
bin/tgatoppm
bin/thinkjettopbm
bin/tifftopnm
bin/wbmptopbm
+bin/winicontopam
bin/winicontoppm
bin/xbmtopbm
bin/ximtoppm
@@ -317,41 +362,49 @@ bin/xwdtopnm
bin/ybmtopbm
bin/yuvsplittoppm
bin/yuvtoppm
+bin/yuy2topam
bin/zeisstopnm
-include/bitio.h
-include/colorname.h
-include/mallocvar.h
-include/nstring.h
-include/shhopt.h
-include/pam.h
-include/pammap.h
-include/pbm.h
-include/pbmfont.h
-include/pgm.h
-include/pm.h
-include/pm_c_util.h
-include/pm_config.h
-include/pm_gamma.h
-include/pm_system.h
-include/pnm.h
-include/ppm.h
-include/ppmcmap.h
-include/ppmfloyd.h
+include/netpbm/colorname.h
+include/netpbm/mallocvar.h
+include/netpbm/pam.h
+include/netpbm/pamdraw.h
+include/netpbm/pammap.h
+include/netpbm/pbm.h
+include/netpbm/pbmfont.h
+include/netpbm/pgm.h
+include/netpbm/pm.h
+include/netpbm/pm_c_util.h
+include/netpbm/pm_config.h
+include/netpbm/pm_gamma.h
+include/netpbm/pm_system.h
+include/netpbm/pnm.h
+include/netpbm/ppm.h
+include/netpbm/ppmcmap.h
+include/netpbm/ppmdfont.h
+include/netpbm/ppmdraw.h
+include/netpbm/ppmfloyd.h
+include/netpbm/runlength.h
+include/netpbm/shhopt.h
lib/libnetpbm.a
lib/libnetpbm.so
-lib/libnetpbm.so.1
+lib/libnetpbm.so.11
+lib/libnetpbm.so.11.80
%%MANPAGES%%man/man1/411toppm.1.gz
%%MANPAGES%%man/man1/anytopnm.1.gz
%%MANPAGES%%man/man1/asciitopgm.1.gz
%%MANPAGES%%man/man1/atktopbm.1.gz
+%%MANPAGES%%man/man1/avstopam.1.gz
%%MANPAGES%%man/man1/bioradtopgm.1.gz
%%MANPAGES%%man/man1/bmptopnm.1.gz
%%MANPAGES%%man/man1/bmptoppm.1.gz
%%MANPAGES%%man/man1/brushtopbm.1.gz
+%%MANPAGES%%man/man1/cameratopam.1.gz
+%%MANPAGES%%man/man1/cistopbm.1.gz
%%MANPAGES%%man/man1/cmuwmtopbm.1.gz
%%MANPAGES%%man/man1/ddbugtopbm.1.gz
%%MANPAGES%%man/man1/escp2topbm.1.gz
%%MANPAGES%%man/man1/eyuvtoppm.1.gz
+%%MANPAGES%%man/man1/faxformat.1.gz
%%MANPAGES%%man/man1/fiascotopnm.1.gz
%%MANPAGES%%man/man1/fitstopnm.1.gz
%%MANPAGES%%man/man1/fstopgm.1.gz
@@ -373,55 +426,98 @@ lib/libnetpbm.so.1
%%MANPAGES%%man/man1/leaftoppm.1.gz
%%MANPAGES%%man/man1/lispmtopgm.1.gz
%%MANPAGES%%man/man1/macptopbm.1.gz
+%%MANPAGES%%man/man1/manweb.1.gz
%%MANPAGES%%man/man1/mdatopbm.1.gz
%%MANPAGES%%man/man1/mgrtopbm.1.gz
%%MANPAGES%%man/man1/mrf.1.gz
%%MANPAGES%%man/man1/mrftopbm.1.gz
%%MANPAGES%%man/man1/mtvtoppm.1.gz
%%MANPAGES%%man/man1/neotoppm.1.gz
-man/man1/netpbm.1.gz
+%%MANPAGES%%man/man1/netpbm.1.gz
%%MANPAGES%%man/man1/palmtopnm.1.gz
+%%MANPAGES%%man/man1/pamaddnoise.1.gz
%%MANPAGES%%man/man1/pamarith.1.gz
+%%MANPAGES%%man/man1/pambackground.1.gz
+%%MANPAGES%%man/man1/pambayer.1.gz
%%MANPAGES%%man/man1/pamchannel.1.gz
%%MANPAGES%%man/man1/pamcomp.1.gz
+%%MANPAGES%%man/man1/pamcrater.1.gz
%%MANPAGES%%man/man1/pamcut.1.gz
%%MANPAGES%%man/man1/pamdeinterlace.1.gz
+%%MANPAGES%%man/man1/pamdepth.1.gz
%%MANPAGES%%man/man1/pamdice.1.gz
%%MANPAGES%%man/man1/pamditherbw.1.gz
%%MANPAGES%%man/man1/pamedge.1.gz
%%MANPAGES%%man/man1/pamendian.1.gz
+%%MANPAGES%%man/man1/pamenlarge.1.gz
+%%MANPAGES%%man/man1/pamexec.1.gz
%%MANPAGES%%man/man1/pamfile.1.gz
+%%MANPAGES%%man/man1/pamfix.1.gz
+%%PERL%%%%MANPAGES%%man/man1/pamfixtrunc.1.gz
%%MANPAGES%%man/man1/pamflip.1.gz
%%MANPAGES%%man/man1/pamfunc.1.gz
%%MANPAGES%%man/man1/pamgauss.1.gz
+%%MANPAGES%%man/man1/pamgradient.1.gz
%%MANPAGES%%man/man1/pamlookup.1.gz
+%%MANPAGES%%man/man1/pammasksharpen.1.gz
+%%MANPAGES%%man/man1/pammixinterlace.1.gz
+%%MANPAGES%%man/man1/pammosaicknit.1.gz
%%MANPAGES%%man/man1/pamoil.1.gz
+%%MANPAGES%%man/man1/pampaintspill.1.gz
%%MANPAGES%%man/man1/pamperspective.1.gz
+%%MANPAGES%%man/man1/pampick.1.gz
%%MANPAGES%%man/man1/pampop9.1.gz
+%%MANPAGES%%man/man1/pamrecolor.1.gz
+%%MANPAGES%%man/man1/pamrgbatopng.1.gz
+%%MANPAGES%%man/man1/pamrubber.1.gz
%%MANPAGES%%man/man1/pamscale.1.gz
%%MANPAGES%%man/man1/pamseq.1.gz
+%%MANPAGES%%man/man1/pamshadedrelief.1.gz
%%MANPAGES%%man/man1/pamsharpmap.1.gz
%%MANPAGES%%man/man1/pamsharpness.1.gz
+%%MANPAGES%%man/man1/pamsistoaglyph.1.gz
%%MANPAGES%%man/man1/pamslice.1.gz
+%%MANPAGES%%man/man1/pamsplit.1.gz
%%MANPAGES%%man/man1/pamstack.1.gz
%%MANPAGES%%man/man1/pamstereogram.1.gz
%%MANPAGES%%man/man1/pamstretch-gen.1.gz
%%MANPAGES%%man/man1/pamstretch.1.gz
-%%MANPAGES%%man/man1/pamsummcol.1.gz
%%MANPAGES%%man/man1/pamsumm.1.gz
+%%MANPAGES%%man/man1/pamsummcol.1.gz
+%%MANPAGES%%man/man1/pamtable.1.gz
+%%MANPAGES%%man/man1/pamthreshold.1.gz
+%%MANPAGES%%man/man1/pamtilt.1.gz
+%%MANPAGES%%man/man1/pamtoavs.1.gz
%%MANPAGES%%man/man1/pamtodjvurle.1.gz
+%%MANPAGES%%man/man1/pamtofits.1.gz
+%%MANPAGES%%man/man1/pamtogif.1.gz
%%MANPAGES%%man/man1/pamtohdiff.1.gz
%%MANPAGES%%man/man1/pamtohtmltbl.1.gz
%%MANPAGES%%man/man1/pamtojpeg2k.1.gz
+%%MANPAGES%%man/man1/pamtompfont.1.gz
+%%MANPAGES%%man/man1/pamtooctaveimg.1.gz
+%%MANPAGES%%man/man1/pamtopam.1.gz
+%%MANPAGES%%man/man1/pamtopdbimg.1.gz
%%MANPAGES%%man/man1/pamtopfm.1.gz
+%%MANPAGES%%man/man1/pamtopng.1.gz
%%MANPAGES%%man/man1/pamtopnm.1.gz
+%%MANPAGES%%man/man1/pamtosrf.1.gz
+%%MANPAGES%%man/man1/pamtosvg.1.gz
%%MANPAGES%%man/man1/pamtotga.1.gz
+%%MANPAGES%%man/man1/pamtotiff.1.gz
%%MANPAGES%%man/man1/pamtouil.1.gz
-%%MANPAGES%%%%X11%%man/man1/pamx.1.gz
+%%MANPAGES%%man/man1/pamtowinicon.1.gz
+%%MANPAGES%%man/man1/pamtoxvmini.1.gz
+%%MANPAGES%%man/man1/pamundice.1.gz
+%%MANPAGES%%man/man1/pamunlookup.1.gz
+%%MANPAGES%%man/man1/pamvalidate.1.gz
+%%MANPAGES%%man/man1/pamwipeout.1.gz
+%%X11%%%%MANPAGES%%man/man1/pamx.1.gz
%%MANPAGES%%man/man1/pbmclean.1.gz
%%MANPAGES%%man/man1/pbmlife.1.gz
%%MANPAGES%%man/man1/pbmmake.1.gz
%%MANPAGES%%man/man1/pbmmask.1.gz
+%%MANPAGES%%man/man1/pbmminkowski.1.gz
%%MANPAGES%%man/man1/pbmpage.1.gz
%%MANPAGES%%man/man1/pbmpscale.1.gz
%%MANPAGES%%man/man1/pbmreduce.1.gz
@@ -432,6 +528,7 @@ man/man1/netpbm.1.gz
%%MANPAGES%%man/man1/pbmtoascii.1.gz
%%MANPAGES%%man/man1/pbmtoatk.1.gz
%%MANPAGES%%man/man1/pbmtobbnbg.1.gz
+%%MANPAGES%%man/man1/pbmtocis.1.gz
%%MANPAGES%%man/man1/pbmtocmuwm.1.gz
%%MANPAGES%%man/man1/pbmtodjvurle.1.gz
%%MANPAGES%%man/man1/pbmtoepsi.1.gz
@@ -440,11 +537,13 @@ man/man1/netpbm.1.gz
%%MANPAGES%%man/man1/pbmtog3.1.gz
%%MANPAGES%%man/man1/pbmtogem.1.gz
%%MANPAGES%%man/man1/pbmtogo.1.gz
+%%MANPAGES%%man/man1/pbmtoibm23xx.1.gz
%%MANPAGES%%man/man1/pbmtoicon.1.gz
%%MANPAGES%%man/man1/pbmtolj.1.gz
%%MANPAGES%%man/man1/pbmtoln03.1.gz
%%MANPAGES%%man/man1/pbmtolps.1.gz
%%MANPAGES%%man/man1/pbmtomacp.1.gz
+%%MANPAGES%%man/man1/pbmtomatrixorbital.1.gz
%%MANPAGES%%man/man1/pbmtomda.1.gz
%%MANPAGES%%man/man1/pbmtomgr.1.gz
%%MANPAGES%%man/man1/pbmtomrf.1.gz
@@ -456,23 +555,29 @@ man/man1/netpbm.1.gz
%%MANPAGES%%man/man1/pbmtoppa.1.gz
%%MANPAGES%%man/man1/pbmtopsg3.1.gz
%%MANPAGES%%man/man1/pbmtoptx.1.gz
+%%MANPAGES%%man/man1/pbmtosunicon.1.gz
%%MANPAGES%%man/man1/pbmtowbmp.1.gz
-%%MANPAGES%%man/man1/pbmtox10bm.1.gz
+%%PERL%%%%MANPAGES%%man/man1/pbmtox10bm.1.gz
%%MANPAGES%%man/man1/pbmtoxbm.1.gz
%%MANPAGES%%man/man1/pbmtoybm.1.gz
%%MANPAGES%%man/man1/pbmtozinc.1.gz
%%MANPAGES%%man/man1/pbmupc.1.gz
%%MANPAGES%%man/man1/pc1toppm.1.gz
+%%MANPAGES%%man/man1/pcdindex.1.gz
%%MANPAGES%%man/man1/pcdovtoppm.1.gz
%%MANPAGES%%man/man1/pcxtoppm.1.gz
+%%MANPAGES%%man/man1/pdbimgtopam.1.gz
%%MANPAGES%%man/man1/pfmtopam.1.gz
%%MANPAGES%%man/man1/pgmabel.1.gz
%%MANPAGES%%man/man1/pgmbentley.1.gz
-%%MANPAGES%%man/man1/pgmcrater.1.gz
+%%PERL%%%%MANPAGES%%man/man1/pgmcrater.1.gz
+%%MANPAGES%%man/man1/pgmdeshadow.1.gz
%%MANPAGES%%man/man1/pgmedge.1.gz
%%MANPAGES%%man/man1/pgmenhance.1.gz
%%MANPAGES%%man/man1/pgmhist.1.gz
%%MANPAGES%%man/man1/pgmkernel.1.gz
+%%MANPAGES%%man/man1/pgmmake.1.gz
+%%MANPAGES%%man/man1/pgmmedian.1.gz
%%MANPAGES%%man/man1/pgmminkowski.1.gz
%%MANPAGES%%man/man1/pgmmorphconv.1.gz
%%MANPAGES%%man/man1/pgmnoise.1.gz
@@ -486,11 +591,14 @@ man/man1/netpbm.1.gz
%%MANPAGES%%man/man1/pgmtopbm.1.gz
%%MANPAGES%%man/man1/pgmtopgm.1.gz
%%MANPAGES%%man/man1/pgmtoppm.1.gz
+%%MANPAGES%%man/man1/pgmtosbig.1.gz
+%%MANPAGES%%man/man1/pgmtost4.1.gz
%%MANPAGES%%man/man1/pi1toppm.1.gz
%%MANPAGES%%man/man1/pi3topbm.1.gz
%%MANPAGES%%man/man1/picttoppm.1.gz
%%MANPAGES%%man/man1/pjtoppm.1.gz
%%MANPAGES%%man/man1/pktopbm.1.gz
+%%MANPAGES%%man/man1/pngtopam.1.gz
%%MANPAGES%%man/man1/pngtopnm.1.gz
%%MANPAGES%%man/man1/pnmalias.1.gz
%%MANPAGES%%man/man1/pnmarith.1.gz
@@ -501,7 +609,9 @@ man/man1/netpbm.1.gz
%%MANPAGES%%man/man1/pnmcrop.1.gz
%%MANPAGES%%man/man1/pnmcut.1.gz
%%MANPAGES%%man/man1/pnmdepth.1.gz
+%%MANPAGES%%man/man1/pnmenlarge.1.gz
%%MANPAGES%%man/man1/pnmfile.1.gz
+%%PERL%%%%MANPAGES%%man/man1/pnmflip.1.gz
%%MANPAGES%%man/man1/pnmgamma.1.gz
%%MANPAGES%%man/man1/pnmhisteq.1.gz
%%MANPAGES%%man/man1/pnmhistmap.1.gz
@@ -509,6 +619,7 @@ man/man1/netpbm.1.gz
%%MANPAGES%%man/man1/pnminterp.1.gz
%%MANPAGES%%man/man1/pnminvert.1.gz
%%MANPAGES%%man/man1/pnmmargin.1.gz
+%%MANPAGES%%man/man1/pnmmercator.1.gz
%%MANPAGES%%man/man1/pnmmontage.1.gz
%%MANPAGES%%man/man1/pnmnlfilt.1.gz
%%MANPAGES%%man/man1/pnmnoraw.1.gz
@@ -516,11 +627,12 @@ man/man1/netpbm.1.gz
%%MANPAGES%%man/man1/pnmpad.1.gz
%%MANPAGES%%man/man1/pnmpaste.1.gz
%%MANPAGES%%man/man1/pnmpsnr.1.gz
-%%MANPAGES%%man/man1/pnmquant.1.gz
+%%PERL%%%%MANPAGES%%man/man1/pnmquant.1.gz
+%%PERL%%%%MANPAGES%%man/man1/pnmquantall.1.gz
%%MANPAGES%%man/man1/pnmremap.1.gz
%%MANPAGES%%man/man1/pnmrotate.1.gz
-%%MANPAGES%%man/man1/pnmscalefixed.1.gz
%%MANPAGES%%man/man1/pnmscale.1.gz
+%%MANPAGES%%man/man1/pnmscalefixed.1.gz
%%MANPAGES%%man/man1/pnmshear.1.gz
%%MANPAGES%%man/man1/pnmsmooth.1.gz
%%MANPAGES%%man/man1/pnmsplit.1.gz
@@ -541,18 +653,23 @@ man/man1/netpbm.1.gz
%%MANPAGES%%man/man1/pnmtorle.1.gz
%%MANPAGES%%man/man1/pnmtosgi.1.gz
%%MANPAGES%%man/man1/pnmtosir.1.gz
-%%MANPAGES%%man/man1/pnmtotiffcmyk.1.gz
%%MANPAGES%%man/man1/pnmtotiff.1.gz
+%%MANPAGES%%man/man1/pnmtotiffcmyk.1.gz
%%MANPAGES%%man/man1/pnmtoxwd.1.gz
%%MANPAGES%%man/man1/ppm3d.1.gz
%%MANPAGES%%man/man1/ppmbrighten.1.gz
%%MANPAGES%%man/man1/ppmchange.1.gz
%%MANPAGES%%man/man1/ppmcie.1.gz
%%MANPAGES%%man/man1/ppmcolormask.1.gz
+%%MANPAGES%%man/man1/ppmcolors.1.gz
+%%MANPAGES%%man/man1/ppmdcfont.1.gz
+%%MANPAGES%%man/man1/ppmddumpfont.1.gz
%%MANPAGES%%man/man1/ppmdim.1.gz
%%MANPAGES%%man/man1/ppmdist.1.gz
%%MANPAGES%%man/man1/ppmdither.1.gz
-%%MANPAGES%%man/man1/ppmfade.1.gz
+%%MANPAGES%%man/man1/ppmdmkfont.1.gz
+%%MANPAGES%%man/man1/ppmdraw.1.gz
+%%PERL%%%%MANPAGES%%man/man1/ppmfade.1.gz
%%MANPAGES%%man/man1/ppmflash.1.gz
%%MANPAGES%%man/man1/ppmforge.1.gz
%%MANPAGES%%man/man1/ppmglobe.1.gz
@@ -563,17 +680,18 @@ man/man1/netpbm.1.gz
%%MANPAGES%%man/man1/ppmnorm.1.gz
%%MANPAGES%%man/man1/ppmntsc.1.gz
%%MANPAGES%%man/man1/ppmpat.1.gz
+%%PERL%%%%MANPAGES%%man/man1/ppmquant.1.gz
%%MANPAGES%%man/man1/ppmquantall.1.gz
-%%MANPAGES%%man/man1/ppmquant.1.gz
-%%MANPAGES%%man/man1/ppmrainbow.1.gz
+%%PERL%%%%MANPAGES%%man/man1/ppmrainbow.1.gz
%%MANPAGES%%man/man1/ppmrelief.1.gz
%%MANPAGES%%man/man1/ppmrough.1.gz
-%%MANPAGES%%man/man1/ppmshadow.1.gz
+%%PERL%%%%MANPAGES%%man/man1/ppmshadow.1.gz
%%MANPAGES%%man/man1/ppmshift.1.gz
%%MANPAGES%%man/man1/ppmspread.1.gz
-%%MANPAGES%%man/man1/ppmsvgalib.1.gz
%%MANPAGES%%man/man1/ppmtoacad.1.gz
+%%MANPAGES%%man/man1/ppmtoapplevol.1.gz
%%MANPAGES%%man/man1/ppmtoarbtxt.1.gz
+%%MANPAGES%%man/man1/ppmtoascii.1.gz
%%MANPAGES%%man/man1/ppmtobmp.1.gz
%%MANPAGES%%man/man1/ppmtoeyuv.1.gz
%%MANPAGES%%man/man1/ppmtogif.1.gz
@@ -582,6 +700,7 @@ man/man1/netpbm.1.gz
%%MANPAGES%%man/man1/ppmtojpeg.1.gz
%%MANPAGES%%man/man1/ppmtoleaf.1.gz
%%MANPAGES%%man/man1/ppmtolj.1.gz
+%%MANPAGES%%man/man1/ppmtomap.1.gz
%%MANPAGES%%man/man1/ppmtomitsu.1.gz
%%MANPAGES%%man/man1/ppmtompeg.1.gz
%%MANPAGES%%man/man1/ppmtoneo.1.gz
@@ -595,6 +714,7 @@ man/man1/netpbm.1.gz
%%MANPAGES%%man/man1/ppmtopuzz.1.gz
%%MANPAGES%%man/man1/ppmtorgb3.1.gz
%%MANPAGES%%man/man1/ppmtosixel.1.gz
+%%MANPAGES%%man/man1/ppmtospu.1.gz
%%MANPAGES%%man/man1/ppmtoterm.1.gz
%%MANPAGES%%man/man1/ppmtotga.1.gz
%%MANPAGES%%man/man1/ppmtouil.1.gz
@@ -611,6 +731,7 @@ man/man1/netpbm.1.gz
%%MANPAGES%%man/man1/rawtopgm.1.gz
%%MANPAGES%%man/man1/rawtoppm.1.gz
%%MANPAGES%%man/man1/rgb3toppm.1.gz
+%%MANPAGES%%man/man1/rlatopam.1.gz
%%MANPAGES%%man/man1/rletopnm.1.gz
%%MANPAGES%%man/man1/sbigtopgm.1.gz
%%MANPAGES%%man/man1/sgitopnm.1.gz
@@ -619,11 +740,16 @@ man/man1/netpbm.1.gz
%%MANPAGES%%man/man1/spctoppm.1.gz
%%MANPAGES%%man/man1/spottopgm.1.gz
%%MANPAGES%%man/man1/sputoppm.1.gz
+%%MANPAGES%%man/man1/srftopam.1.gz
+%%MANPAGES%%man/man1/st4topgm.1.gz
+%%MANPAGES%%man/man1/sunicontopnm.1.gz
+%%SVGTOPAM%%%%MANPAGES%%man/man1/svgtopam.1.gz
%%MANPAGES%%man/man1/tgatoppm.1.gz
%%MANPAGES%%man/man1/thinkjettopbm.1.gz
%%MANPAGES%%man/man1/tifftopnm.1.gz
-%%MANPAGES%%man/man1/vidtoppm.1.gz
%%MANPAGES%%man/man1/wbmptopbm.1.gz
+%%MANPAGES%%man/man1/winicon.1.gz
+%%MANPAGES%%man/man1/winicontopam.1.gz
%%MANPAGES%%man/man1/winicontoppm.1.gz
%%MANPAGES%%man/man1/xbmtopbm.1.gz
%%MANPAGES%%man/man1/ximtoppm.1.gz
@@ -633,8 +759,12 @@ man/man1/netpbm.1.gz
%%MANPAGES%%man/man1/ybmtopbm.1.gz
%%MANPAGES%%man/man1/yuvsplittoppm.1.gz
%%MANPAGES%%man/man1/yuvtoppm.1.gz
+%%MANPAGES%%man/man1/yuy2topam.1.gz
%%MANPAGES%%man/man1/zeisstopnm.1.gz
+%%MANPAGES%%man/man3/libmaketmpfile.3.gz
+%%MANPAGES%%man/man3/libmaketmpfilefd.3.gz
%%MANPAGES%%man/man3/libnetpbm.3.gz
+%%MANPAGES%%man/man3/libnetpbm_draw.3.gz
%%MANPAGES%%man/man3/libnetpbm_image.3.gz
%%MANPAGES%%man/man3/libnetpbm_ug.3.gz
%%MANPAGES%%man/man3/libpbm.3.gz
@@ -642,11 +772,9 @@ man/man1/netpbm.1.gz
%%MANPAGES%%man/man3/libpm.3.gz
%%MANPAGES%%man/man3/libpnm.3.gz
%%MANPAGES%%man/man3/libppm.3.gz
-%%MANPAGES%%man/man3/libsystem.3.gz
-%%MANPAGES%%man/man3/libtmpfile.3.gz
-%%MANPAGES%%man/man5/extendedopacity.5.gz
%%MANPAGES%%man/man5/pam.5.gz
%%MANPAGES%%man/man5/pbm.5.gz
+%%MANPAGES%%man/man5/pfm.5.gz
%%MANPAGES%%man/man5/pgm.5.gz
%%MANPAGES%%man/man5/pnm.5.gz
%%MANPAGES%%man/man5/ppm.5.gz
@@ -656,4 +784,3 @@ man/man1/netpbm.1.gz
%%DATADIR%%/palmgray4.map
%%DATADIR%%/pcxstd.ppm
%%DATADIR%%/rgb.txt
-%%PORTDOCS%%%%DOCSDIR%%/USERDOC