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
graphics/netpbm: Update to 10.80.00
- This moves netpbm to the advanced release series, which brings the port closer to what is available on OpenBSD, Fedora, Arch Linux, openSUSE, etc. and will let us get rid of patches for supporting newer libpng versions. - The advanced release series is only available via an SVN checkout. Add two maintenance targets netpbm-version-check and netpbm-fetch to make fetching them easier. To generate release tarballs the sources are then tagged and committed to https://github.com/t6/netpbm - Add STATIC option for linking all programs statically to allow running them in small chroots - Add option to disable adding a Perl run dependency. Only a fraction of all programs need it. Some are compatibility shims for newer programs which should be used instead. The following programs require Perl: pamfixtrunc pbmtox10bm pgmcrater pnmflip pnmquant pnmquantall ppmfade ppmquant ppmrainbow ppmshadow - Disable building svgtopam by default. It's the only program that requires libxml2 and is obsolete according to the author. - Install manpages by default - Allow running of the test suite via `make test` - Headers have been moved to ${LOCALBASE}/include/netpbm. Fix ports that expect them to be in ${LOCALBASE}/include Changes: https://raw.githubusercontent.com/t6/netpbm/v10.80.00/doc/HISTORY PR: 219982 Reviewed by: mat Exp-run by: antoine Differential Revision: https://reviews.freebsd.org/D11157
Notes
Notes: svn path=/head/; revision=451378
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