Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F112075837
D11157.id30631.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
105 KB
Referenced Files
None
Subscribers
None
D11157.id30631.diff
View Options
Index: astro/xplanet/Makefile
===================================================================
--- astro/xplanet/Makefile
+++ astro/xplanet/Makefile
@@ -3,7 +3,7 @@
PORTNAME= xplanet
PORTVERSION= 1.3.0
-PORTREVISION= 9
+PORTREVISION= 10
CATEGORIES= astro geography
MASTER_SITES= SF
@@ -11,11 +11,11 @@
COMMENT= Draw pictures of the earth textured by an image
GNU_CONFIGURE= yes
-USES= iconv
+USES= iconv localbase
USE_XORG= xt xscrnsaver
CONFIGURE_ARGS= --with-map-extension=jpg
-CPPFLAGS+= -I${LOCALBASE}/include
-LIBS+= -L${LOCALBASE}/lib -lm
+CPPFLAGS+= -I${LOCALBASE}/include/netpbm
+LIBS+= -lm
OPTIONS_DEFINE= FREETYPE PANGO GIF JPEG PNG PNM TIFF
OPTIONS_DEFAULT= FREETYPE PANGO GIF JPEG PNG PNM TIFF
Index: graphics/netpbm/Makefile
===================================================================
--- graphics/netpbm/Makefile
+++ graphics/netpbm/Makefile
@@ -2,71 +2,147 @@
# $FreeBSD$
PORTNAME= netpbm
-PORTVERSION= 10.35.98
+PORTVERSION= 10.79.02
+DISTVERSIONPREFIX= v
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
+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.
+USE_GITHUB= yes
+GH_ACCOUNT= t6
+
+TEST_TARGET= check
+TEST_ARGS= pkgdir="${STAGEDIR}${PREFIX}" \
+ resultdir="${WRKDIR}/tests" \
+ RGBDEF="${STAGEDIR}${PREFIX}/share/netpbm/rgb.txt"
+
+MAKE_ARGS= pkgdir=${STAGEDIR}${PREFIX} \
+ BINMODE=${BINMODE} \
+ SHAREMODE=${SHAREMODE} \
+ DATAMODE=${_SHAREMODE} \
+ DIRMODE=755 \
+ MANMODE=${MANMODE} \
+ DATADIR=${DATADIR}
+
+USES= ghostscript:test gmake perl5 shebangfix
+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
MAKEFILE= GNUmakefile
-MAKE_ENV= LN="${LN}" RANLIB="${RANLIB}"
-INSTALL_TARGET= install.bin install.lib install.data install-dev
+INSTALL_TARGET= install.bin install.lib install.data install.hdr \
+ install.staticlib
USE_LDCONFIG= yes
-MAKE_JOBS_UNSAFE= yes
+USE_PERL5= build test
-CFLAGS+= -DPNG_DEPSTRUCT= -Iutil
+# 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
-OPTIONS_DEFINE= X11 MANPAGES DOCS
+OPTIONS_DEFAULT= MANPAGES PERL
+OPTIONS_DEFINE= MANPAGES PERL STATIC SVGTOPAM X11
OPTIONS_SUB= yes
-X11_USE= xorg=x11
-X11_MAKE_ENV= WITH_X11=yes
+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
-MANPAGES_DISTFILES= netpbm-manpages-2013-03-09${EXTRACT_SUFX}:man
+post-patch:
+ @${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-extract-X11-off:
- @-${RM} ${WRKDIR}/doc/pamx.1 # only relevant for MANPAGES=on
+post-patch-STATIC-on:
+ @${REINPLACE_CMD} 's|$$(LD)|$$(LD) -static|g' ${WRKSRC}/common.mk
-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
+# 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.11.79
+ @${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
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- ${INSTALL_DATA} ${WRKSRC}/doc/USERDOC ${STAGEDIR}${DOCSDIR}/
+.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
+
+netpbm-fetch:
+ @svnlite export --force -r${NETPBM_REV} ${NETPBM_REPO}/${NETPBM_SERIES} netpbm-r${NETPBM_REV}
+.endif
.include <bsd.port.mk>
Index: graphics/netpbm/distinfo
===================================================================
--- graphics/netpbm/distinfo
+++ 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 = 1499723085
+SHA256 (t6-netpbm-v10.79.02_GH0.tar.gz) = 44497d112321e242379f3cec443803e908b7a348c043b069872732e66b737983
+SIZE (t6-netpbm-v10.79.02_GH0.tar.gz) = 2770184
+SHA256 (t6-netpbm-userguide-r2996_GH0.tar.gz) = a8d5ec3e74cea12f55a797ac0fe5a0f79d9adf578fa2762a7b569e2f1aaa105b
+SIZE (t6-netpbm-userguide-r2996_GH0.tar.gz) = 715558
Index: graphics/netpbm/files/Makefile.config.FreeBSD
===================================================================
--- 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
-
Index: graphics/netpbm/files/config.mk
===================================================================
--- /dev/null
+++ 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
Index: graphics/netpbm/files/patch-GNUmakefile
===================================================================
--- 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
Index: graphics/netpbm/files/patch-Makefile.common
===================================================================
--- 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=%) $<
-
-
Index: graphics/netpbm/files/patch-jpeg.c
===================================================================
--- 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;
Index: graphics/netpbm/files/patch-lib-Makefile
===================================================================
--- 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)
Index: graphics/netpbm/files/patch-lib-libpbm3.c
===================================================================
--- 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;
-
Index: graphics/netpbm/files/patch-lib-libpm.c
===================================================================
--- 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
Index: graphics/netpbm/files/patch-lib-libsystem.c
===================================================================
--- 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) {
Index: graphics/netpbm/files/patch-lib-util-pm_c_util.h
===================================================================
--- 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
Index: graphics/netpbm/files/patch-lib_libpm.c
===================================================================
--- /dev/null
+++ 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();
+
+ }
+
Index: graphics/netpbm/files/patch-pamrgbatopng.c
===================================================================
--- 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);
-
Index: graphics/netpbm/files/patch-pm_config.in.h
===================================================================
--- 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
Index: graphics/netpbm/files/patch-pngtopnm.c
===================================================================
--- 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, ¶ms) & 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);
Index: graphics/netpbm/files/patch-pngtxt.h
===================================================================
--- 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);
Index: graphics/netpbm/files/patch-pngtxt.c
===================================================================
--- 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);
- }
-
-
Index: graphics/netpbm/files/patch-pnmtopng.c
===================================================================
--- 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);
Index: graphics/netpbm/files/patch-ppmquantall
===================================================================
--- 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
Index: graphics/netpbm/files/patch-ppmquantall.csh
===================================================================
--- 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.$$
Index: graphics/netpbm/files/patch-ppmtompeg-Makefile
===================================================================
--- 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)
Index: graphics/netpbm/pkg-descr
===================================================================
--- graphics/netpbm/pkg-descr
+++ 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/
Index: graphics/netpbm/pkg-plist
===================================================================
--- graphics/netpbm/pkg-plist
+++ graphics/netpbm/pkg-plist
@@ -2,11 +2,13 @@
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/imgtoppm
bin/infotopam
bin/jbigtopnm
+bin/jpeg2ktopam
bin/jpegtopnm
bin/leaftoppm
bin/lispmtopgm
@@ -39,9 +42,11 @@
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/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/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-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/pbmtoascii
bin/pbmtoatk
bin/pbmtobbnbg
+bin/pbmtocis
bin/pbmtocmuwm
bin/pbmtodjvurle
bin/pbmtoepsi
@@ -111,6 +142,7 @@
bin/pbmtog3
bin/pbmtogem
bin/pbmtogo
+bin/pbmtoibm23xx
bin/pbmtoicon
bin/pbmtolj
bin/pbmtoln03
@@ -128,8 +160,9 @@
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/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/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/pnmdepth
bin/pnmenlarge
bin/pnmfile
-bin/pnmflip
+%%PERL%%bin/pnmflip
bin/pnmgamma
bin/pnmhisteq
bin/pnmhistmap
@@ -186,6 +223,7 @@
bin/pnminterp
bin/pnminvert
bin/pnmmargin
+bin/pnmmercator
bin/pnmmontage
bin/pnmnlfilt
bin/pnmnoraw
@@ -193,7 +231,8 @@
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/ppmdither
bin/ppmdmkfont
bin/ppmdraw
-bin/ppmfade
+%%PERL%%bin/ppmfade
bin/ppmflash
bin/ppmforge
bin/ppmglobe
@@ -245,20 +284,21 @@
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/ppmtopuzz
bin/ppmtorgb3
bin/ppmtosixel
-bin/ppmtotga
+bin/ppmtospu
bin/ppmtoterm
+bin/ppmtotga
bin/ppmtouil
bin/ppmtowinicon
bin/ppmtoxpm
@@ -303,11 +344,15 @@
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/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.79
%%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 @@
%%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 @@
%%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 @@
%%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 @@
%%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 @@
%%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 @@
%%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 @@
%%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 @@
%%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 @@
%%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 @@
%%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 @@
%%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 @@
%%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 @@
%%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 @@
%%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 @@
%%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 @@
%%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 @@
%%DATADIR%%/palmgray4.map
%%DATADIR%%/pcxstd.ppm
%%DATADIR%%/rgb.txt
-%%PORTDOCS%%%%DOCSDIR%%/USERDOC
Index: graphics/ppminfo/Makefile
===================================================================
--- graphics/ppminfo/Makefile
+++ graphics/ppminfo/Makefile
@@ -3,7 +3,7 @@
PORTNAME= ppminfo
PORTVERSION= 0.1
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= graphics
MASTER_SITES= http://www.vanheusden.com/ppminfo/ CENKES
@@ -12,10 +12,9 @@
LIB_DEPENDS= libnetpbm.so:graphics/netpbm
-USES= ncurses tar:tgz
+USES= localbase:ldflags ncurses tar:tgz
PLIST_FILES= bin/${PORTNAME}
-CFLAGS+= -I${LOCALBASE}/include
-LDFLAGS+= -L${LOCALBASE}/lib
+CFLAGS+= -I${LOCALBASE}/include/netpbm
post-patch:
@${REINPLACE_CMD} 's|min(|MIN(|;s|max(|MAX(|' ${WRKSRC}/pi.c
Index: graphics/ppminfo/files/patch-pi.c
===================================================================
--- /dev/null
+++ graphics/ppminfo/files/patch-pi.c
@@ -0,0 +1,11 @@
+--- pi.c.orig 2007-08-06 18:51:13 UTC
++++ pi.c
+@@ -1,6 +1,7 @@
+ #include <stdio.h>
+ #include <math.h>
+ #include <unistd.h>
++#include <sys/param.h>
+ #include <ppm.h>
+
+ #include "error.h"
+
Index: graphics/tumble/Makefile
===================================================================
--- graphics/tumble/Makefile
+++ graphics/tumble/Makefile
@@ -3,7 +3,7 @@
PORTNAME= tumble
PORTVERSION= 0.33
-PORTREVISION= 5
+PORTREVISION= 6
CATEGORIES= graphics print
MASTER_SITES= http://tumble.brouhaha.com/download/ \
http://www.sourcefiles.org/Graphics/Tools/Conversion/
@@ -18,6 +18,8 @@
libnetpbm.so:graphics/netpbm
USES= bison gmake jpeg localbase:ldflags
+
+CFLAGS+= -I${LOCALBASE}/include/netpbm
NOT_FOR_ARCHS= powerpc sparc64
NOT_FOR_ARCHS_REASON= Only works on little endian systems
Index: graphics/urt/Makefile
===================================================================
--- graphics/urt/Makefile
+++ graphics/urt/Makefile
@@ -3,7 +3,7 @@
PORTNAME= urt
PORTVERSION= 3.1b1
-PORTREVISION= 11
+PORTREVISION= 12
CATEGORIES= graphics
MASTER_SITES= http://BSDforge.com/projects/source/graphics/utah-raster/
@@ -22,6 +22,7 @@
NO_WRKSUBDIR= yes
+CFLAGS+= -I${LOCALBASE}/include/netpbm
USE_XORG= x11 xext
HAS_CONFIGURE= yes
CONFIGURE_SCRIPT=Configure
Index: multimedia/subtitleripper/Makefile
===================================================================
--- multimedia/subtitleripper/Makefile
+++ multimedia/subtitleripper/Makefile
@@ -3,7 +3,7 @@
PORTNAME= subtitleripper
DISTVERSION= 0.3-4
-PORTREVISION= 9
+PORTREVISION= 10
CATEGORIES= multimedia
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${PORTNAME}-0.3-4
@@ -17,7 +17,8 @@
transcode:multimedia/transcode
USES= gmake tar:tgz
-CFLAGS+= -D_WITH_GETLINE=1 -DHAVE_GETLINE=1
+CFLAGS+= -D_WITH_GETLINE=1 -DHAVE_GETLINE=1 \
+ -I${LOCALBASE}/include/netpbm
WRKSRC= ${WRKDIR}/${PORTNAME}
Index: palm/imgvtopgm/Makefile
===================================================================
--- palm/imgvtopgm/Makefile
+++ palm/imgvtopgm/Makefile
@@ -3,7 +3,7 @@
PORTNAME= imgvtopgm
PORTVERSION= 2.0
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= palm graphics
MASTER_SITES= http://linuxmafia.com/pub/palmos/other-os/
@@ -14,6 +14,8 @@
LICENSE_FILE= ${WRKSRC}/COPYING
LIB_DEPENDS= libnetpbm.so:graphics/netpbm
+
+USES= localbase
GNU_CONFIGURE= yes
Index: palm/ppmtoTbmp/Makefile
===================================================================
--- palm/ppmtoTbmp/Makefile
+++ palm/ppmtoTbmp/Makefile
@@ -14,8 +14,9 @@
LIB_DEPENDS= libnetpbm.so:graphics/netpbm
-MAKE_ARGS= CFLAGS="${CFLAGS} -I${LOCALBASE}/include" LDLIBS=-lnetpbm
-LDFLAGS+= -L${LOCALBASE}/lib
+USES= localbase:ldflags
+MAKE_ARGS= CFLAGS="${CFLAGS}" LDLIBS=-lnetpbm
+CFLAGS+= -I${LOCALBASE}/include/netpbm
PORTDOCS= README
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Thu, Mar 13, 11:41 AM (17 h, 55 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
17134918
Default Alt Text
D11157.id30631.diff (105 KB)
Attached To
Mode
D11157: graphics/netpbm: Update to 10.80.00
Attached
Detach File
Event Timeline
Log In to Comment