View | Details | Raw Unified | Return to bug 219982 | Differences between
and this patch

Collapse All | Expand All

(-)Mk/Uses/ghostscript.mk (-8 / +14 lines)
Lines 4-17 Link Here
4
#
4
#
5
# Feature:	ghostscript
5
# Feature:	ghostscript
6
# Usage:	USES=ghostscript or USES=ghostscript:args
6
# Usage:	USES=ghostscript or USES=ghostscript:args
7
# Valid ARGS:	<version>, build, run, x11
7
# Valid ARGS:	<version>, build, run, test, x11
8
#
8
#
9
# version 	The chooseable versions are 7, 8, 9 and agpl. If no version is
9
# version 	The chooseable versions are 7, 8, 9 and agpl. If no version is
10
#		specified version agpl is selected.
10
#		specified version agpl is selected.
11
#
11
#
12
#		USES=ghostscript:7	# Use Ghostscript 7
12
#		USES=ghostscript:7	# Use Ghostscript 7
13
#		USES=ghostscript:run	# Use the set default Ghostscript as a run dependancy
13
#		USES=ghostscript:run	# Use the set default Ghostscript as a run dependency
14
#		USES=ghostscript:8,build # Use ghostscript 8 as a build dependancy.
14
#		USES=ghostscript:8,build # Use ghostscript 8 as a build dependency.
15
#
15
#
16
# x11		Indicate that X11 support is required.
16
# x11		Indicate that X11 support is required.
17
# build		Indicates that Ghostscript is needed at build time and adds
17
# build		Indicates that Ghostscript is needed at build time and adds
Lines 18-23 Link Here
18
#		it as BUILD_DEPENDS.
18
#		it as BUILD_DEPENDS.
19
# run		Indicates that Ghostscript is needed at run time and adds
19
# run		Indicates that Ghostscript is needed at run time and adds
20
#		it as RUN_DEPENDS.
20
#		it as RUN_DEPENDS.
21
# test		Indicates that Ghostscript is needed at test time and adds
22
#		it as TEST_DEPENDS.
21
#
23
#
22
# If build and run are omitted, Ghostscript will be added as BUILD_DEPENDS and
24
# If build and run are omitted, Ghostscript will be added as BUILD_DEPENDS and
23
# RUN_DEPENDS.
25
# RUN_DEPENDS.
Lines 34-40 Link Here
34
36
35
_GS_ARGS=		${ghostscript_ARGS}
37
_GS_ARGS=		${ghostscript_ARGS}
36
38
37
.if ${_GS_ARGS:N[789]:Nagpl:Nx11:Nbuild:Nrun}
39
.if ${_GS_ARGS:N[789]:Nagpl:Nx11:Nbuild:Nrun:Ntest}
38
IGNORE?=	Unknown ghostscript argument ${_GS_ARGS}
40
IGNORE?=	Unknown ghostscript argument ${_GS_ARGS}
39
.endif
41
.endif
40
42
Lines 46-51 Link Here
46
# pollutes the build/run dependency detection
48
# pollutes the build/run dependency detection
47
.undef _GS_BUILD_DEP
49
.undef _GS_BUILD_DEP
48
.undef _GS_RUN_DEP
50
.undef _GS_RUN_DEP
51
.undef _GS_TEST_DEP
49
.if ${_GS_ARGS:Mbuild}
52
.if ${_GS_ARGS:Mbuild}
50
_GS_BUILD_DEP=	yes
53
_GS_BUILD_DEP=	yes
51
.endif
54
.endif
Lines 52-61 Link Here
52
.if ${_GS_ARGS:Mrun}
55
.if ${_GS_ARGS:Mrun}
53
_GS_RUN_DEP=	yes
56
_GS_RUN_DEP=	yes
54
.endif
57
.endif
58
.if ${_GS_ARGS:Mtest}
59
_GS_TEST_DEP=	yes
60
.endif
55
61
56
# The port does not specify a build or run dependency, assume both are
62
# The port does not specify a build, run, or test dependency, assume that
57
# required.
63
# a build and run dependency is required.
58
.if !defined(_GS_BUILD_DEP) && !defined(_GS_RUN_DEP)
64
.if !defined(_GS_BUILD_DEP) && !defined(_GS_RUN_DEP) && !defined(_GS_TEST_DEP)
59
_GS_BUILD_DEP=	yes
65
_GS_BUILD_DEP=	yes
60
_GS_RUN_DEP=	yes
66
_GS_RUN_DEP=	yes
61
.endif
67
.endif
Lines 89-95 Link Here
89
_GS_PORT=	ghostscript${_GS_SELECTED}-base
95
_GS_PORT=	ghostscript${_GS_SELECTED}-base
90
_GS_X11_PORT=	ghostscript${_GS_SELECTED}-x11
96
_GS_X11_PORT=	ghostscript${_GS_SELECTED}-x11
91
97
92
.for type in BUILD RUN
98
.for type in BUILD RUN TEST
93
.if defined(_GS_${type}_DEP)
99
.if defined(_GS_${type}_DEP)
94
${type}_DEPENDS+=	${_GS_PORT}>=${_GS_VERSION_MINOR}:print/${_GS_PORT}
100
${type}_DEPENDS+=	${_GS_PORT}>=${_GS_VERSION_MINOR}:print/${_GS_PORT}
95
.if ${_GS_ARGS:Mx11}
101
.if ${_GS_ARGS:Mx11}
(-)graphics/netpbm/Makefile (-44 / +121 lines)
Lines 2-72 Link Here
2
# $FreeBSD$
2
# $FreeBSD$
3
3
4
PORTNAME=	netpbm
4
PORTNAME=	netpbm
5
PORTVERSION=	10.35.98
5
PORTVERSION=	10.78.05
6
DISTVERSIONPREFIX=	v
6
CATEGORIES=	graphics
7
CATEGORIES=	graphics
7
MASTER_SITES=	SF/netpbm/super_stable/${PORTVERSION} \
8
		LOCAL/dinoex/:man
9
DISTFILES=	${DISTNAME}${EXTRACT_SUFX}
10
8
11
MAINTAINER=	tobik@FreeBSD.org
9
MAINTAINER=	tobik@FreeBSD.org
12
COMMENT=	Toolkit for conversion of images between different formats
10
COMMENT=	Toolkit for conversion of images between different formats
13
11
14
LIB_DEPENDS=	libtiff.so:graphics/tiff \
12
LICENSE=	IJG GPLv2 LGPL21 MIT PD
15
		libpng.so:graphics/png \
13
LICENSE_COMB=	multi
16
		libjbig.so:graphics/jbigkit \
14
LICENSE_NAME_IJG=	Independent JPEG Group License
17
		libjasper.so:graphics/jasper \
15
LICENSE_FILE_IJG=	${WRKSRC}/doc/copyright_summary
18
		libxml2.so:textproc/libxml2
16
LICENSE_FILE=	${WRKSRC}/doc/copyright_summary
17
LICENSE_PERMS_IJG=	dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
19
18
20
USES=		gmake jpeg perl5 shebangfix tar:tgz
19
TEST_DEPENDS=	bash:shells/bash
21
SHEBANG_FILES=	editor/pnmflip editor/pnmquant editor/ppmfade \
20
22
		editor/ppmquant editor/ppmshadow generator/ppmrainbow
21
# The port follows the advanced release series.  Upstream does not
22
# create tarballs for them, so we have to roll our own.  See
23
# http://netpbm.sourceforge.net/getting_netpbm.php.  To checkout the
24
# sources yourself see the netpbm-version-check and netpbm-fetch
25
# targets below.  The sources are then pushed to t6/netpbm and tagged
26
# on GitHub.
27
USE_GITHUB=	yes
28
GH_ACCOUNT=	t6
29
30
TEST_TARGET=	check
31
TEST_ARGS=	pkgdir="${STAGEDIR}${PREFIX}" \
32
		resultdir="${WRKDIR}/tests" \
33
		RGBDEF="${STAGEDIR}${PREFIX}/share/netpbm/rgb.txt"
34
35
MAKE_ARGS=	pkgdir=${STAGEDIR}${PREFIX} \
36
		BINMODE=${BINMODE} \
37
		SHAREMODE=${SHAREMODE} \
38
		DATAMODE=${_SHAREMODE} \
39
		DIRMODE=755 \
40
		MANMODE=${MANMODE} \
41
		DATADIR=${DATADIR}
42
43
USES=		ghostscript:test gmake perl5 shebangfix
44
SHEBANG_FILES=	buildtools/makeman editor/pnmflip editor/pnmquant \
45
		editor/ppmfade editor/ppmquant editor/ppmshadow \
46
		generator/ppmrainbow converter/pbm/pbmtox10bm \
47
		test/Execute-Tests test/*.test test/Available-Testprog
23
MAKEFILE=	GNUmakefile
48
MAKEFILE=	GNUmakefile
24
MAKE_ENV=	LN="${LN}" RANLIB="${RANLIB}"
49
INSTALL_TARGET=	install.bin install.lib install.data install.hdr \
25
INSTALL_TARGET=	install.bin install.lib install.data install-dev
50
		install.staticlib
26
USE_LDCONFIG=	yes
51
USE_LDCONFIG=	yes
27
MAKE_JOBS_UNSAFE=	yes
52
USE_PERL5=	build test
28
53
29
CFLAGS+=	-DPNG_DEPSTRUCT= -Iutil
54
# tiff-flate-lzw-roundtrip's checksums are different on FreeBSD so the
55
# test fails.  The resulting and intermediary images look fine in
56
# spite of this.
57
DISABLED_TESTS=	all-in-place tiff-flate-lzw-roundtrip ppmgauss
30
58
31
OPTIONS_DEFINE=	X11 MANPAGES DOCS
59
OPTIONS_DEFAULT=	MANPAGES PERL
60
OPTIONS_DEFINE=	MANPAGES PERL STATIC SVGTOPAM X11
32
OPTIONS_SUB=	yes
61
OPTIONS_SUB=	yes
33
62
34
X11_USE=	xorg=x11
63
MANPAGES_GH_TUPLE=	t6:netpbm-userguide:r2996:userguide
35
X11_MAKE_ENV=	WITH_X11=yes
64
MANPAGES_USES=		python:2.7
65
PERL_USE=		PERL5=run
66
STATIC_BUILD_DEPENDS=	tiff>0:graphics/tiff \
67
			png>0:graphics/png \
68
			jbigkit>0:graphics/jbigkit \
69
			jasper>0:graphics/jasper
70
STATIC_LIB_DEPENDS_OFF=	libtiff.so:graphics/tiff \
71
			libpng.so:graphics/png \
72
			libjbig.so:graphics/jbigkit \
73
			libjasper.so:graphics/jasper
74
STATIC_USES=		jpeg:build
75
STATIC_USES_OFF=	jpeg
76
SVGTOPAM_DESC=		Build svgtopam
77
SVGTOPAM_USE=		GNOME=libxml2
78
SVGTOPAM_VARS_OFF=	DISABLED_TESTS+=svgtopam
79
X11_USE=		XORG=x11,xcb,xau,xdmcp
36
80
37
MANPAGES_DISTFILES=	netpbm-manpages-2013-03-09${EXTRACT_SUFX}:man
81
post-patch:
82
	@${REINPLACE_CMD} -e 's|misc|share/netpbm|g' ${WRKSRC}/common.mk
83
	@${REINPLACE_CMD} -e 's|$$(PKGDIR)/link|$$(PKGDIR)/lib|g' \
84
		-e 's|pkg-config|false|g' \
85
		${WRKSRC}/GNUmakefile ${WRKSRC}/lib/Makefile
86
.for test in ${DISABLED_TESTS}
87
	@${REINPLACE_CMD} -e '/${test}/d' ${WRKSRC}/test/Test-Order
88
.endfor
38
89
39
post-extract-X11-off:
90
post-patch-STATIC-on:
40
	@-${RM} ${WRKDIR}/doc/pamx.1 # only relevant for MANPAGES=on
91
	@${REINPLACE_CMD} 's|$$(LD)|$$(LD) -static|g' ${WRKSRC}/common.mk
41
92
42
post-patch:
93
# Disable building svgtopam by default.  It is the only program that
43
	@${REINPLACE_CMD} -e 's|doc/USERDOC|${DOCSDIR}/USERDOC|g' \
94
# requires libxml2 and it is not useful in this day and age according
44
		${WRKSRC}/doc/netpbm.1
95
# to the author.  See the top of converter/other/svgtopam.c for more
45
	@${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|g' \
96
# details.
46
		-e 's|%%LOCALBASE%%|${LOCALBASE}|g' \
97
post-patch-SVGTOPAM-off:
47
		${WRKSRC}/pm_config.in.h
98
	@${REINPLACE_CMD} '/svgtopam/d' ${WRKSRC}/converter/other/Makefile
48
	@${REINPLACE_CMD} -e 's|^SCRIPTS =.*|SCRIPTS =|' ${WRKSRC}/GNUmakefile
49
	@${REINPLACE_CMD} -e 's|<shhopt.h>|<pm_shhopt.h>|g' ${WRKSRC}/lib/pm.h
50
	@${REINPLACE_CMD} -e 's| jpeg2000||g' \
51
		${WRKSRC}/converter/other/Makefile
52
99
100
post-patch-X11-off:
101
	@${REINPLACE_CMD} '/pamx/d' ${WRKSRC}/other/Makefile
102
53
do-configure:
103
do-configure:
54
	${CP} ${PATCHDIR}/Makefile.config.FreeBSD ${WRKSRC}/Makefile.config
104
	@${CAT} ${WRKSRC}/config.mk.in ${FILESDIR}/config.mk > ${WRKSRC}/config.mk
55
	${LN} -sf ${WRKSRC}/lib/util/shhopt.h ${WRKSRC}/lib/util/pm_shhopt.h
56
	${LN} -sf ${WRKSRC}/lib/util/nstring.h ${WRKSRC}/lib/util/pm_nstring.h
57
	cd ${WRKSRC} && buildtools/stamp-date > ${WRKSRC}/lib/compile.h
58
105
106
post-build-MANPAGES-on:
107
	@cd ${WRKSRC_userguide} && ${WRKSRC}/buildtools/makeman *.html
108
	@cd ${WRKSRC_userguide} && ${MV} index.1 netpbm.1
109
# Remove broken manpages
110
	@cd ${WRKSRC_userguide} && ${RM} directory.1 liberror.1 \
111
		libnetpbm_dir.1 libsystem.3 libtmpfile.3 libtmpfilefd.3 \
112
		ppmsvgalib.1 vidtoppm.1 extendedopacity.5
113
59
post-install:
114
post-install:
60
	${INSTALL_DATA} ${WRKSRC}/lib/util/pm_c_util.h ${STAGEDIR}${PREFIX}/include/
115
	@cd ${STAGEDIR}${PREFIX}/lib && ${LN} -sf libnetpbm.so.11 libnetpbm.so
61
	${INSTALL_MAN} ${WRKSRC}/doc/netpbm.1 ${STAGEDIR}${PREFIX}/man/man1/
116
	@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libnetpbm.so.11.78
117
	@${RM} ${STAGEDIR}${PREFIX}/bin/manweb
118
	${INSTALL_DATA} ${WRKSRC}/lib/util/pm_c_util.h ${WRKSRC}/pm_config.h \
119
		${STAGEDIR}${PREFIX}/include/netpbm
62
120
63
post-install-MANPAGES-on:
121
post-install-MANPAGES-on:
64
	${INSTALL_MAN} ${WRKDIR}/doc/*.1 ${STAGEDIR}${PREFIX}/man/man1/
122
	${INSTALL_MAN} ${WRKSRC_userguide}/*.1 ${STAGEDIR}${PREFIX}/man/man1
65
	${INSTALL_MAN} ${WRKDIR}/doc/*.3 ${STAGEDIR}${PREFIX}/man/man3/
123
	${INSTALL_MAN} ${WRKSRC_userguide}/*.3 ${STAGEDIR}${PREFIX}/man/man3
66
	${INSTALL_MAN} ${WRKDIR}/doc/*.5 ${STAGEDIR}${PREFIX}/man/man5/
124
	${INSTALL_MAN} ${WRKSRC_userguide}/*.5 ${STAGEDIR}${PREFIX}/man/man5
67
125
68
post-install-DOCS-on:
126
.if defined(DEVELOPER)
69
	@${MKDIR} ${STAGEDIR}${DOCSDIR}
127
# A lot of this is stolen from the netpbm OpenBSD port
70
	${INSTALL_DATA} ${WRKSRC}/doc/USERDOC ${STAGEDIR}${DOCSDIR}/
128
NETPBM_REPO=	https://svn.code.sf.net/p/netpbm/code
129
NETPBM_SERIES=	advanced
71
130
131
netpbm-version-check:
132
	@REV=`svnlite info ${NETPBM_REPO}/${NETPBM_SERIES}/version.mk | sed -n 's/Last Changed Rev: //p'`; \
133
	VERSION=`(svnlite cat -r$$REV ${NETPBM_REPO}/${NETPBM_SERIES}/version.mk; \
134
			echo 'all:'; \
135
			echo '	@printf "%02d.%02d.%02d" \'; \
136
			echo '		$${NETPBM_MAJOR_RELEASE} \' ; \
137
			echo '		$${NETPBM_MINOR_RELEASE} \' ; \
138
			echo '		$${NETPBM_POINT_RELEASE} \' ; \
139
		) | make -f -`; \
140
	case `pkg version -t ${PORTVERSION} $$VERSION` in \
141
		'>') echo "Port version is greater than latest release $$VERSION"; exit 1 ;; \
142
		'<') echo "Run 'make NETPBM_REV=$$REV netpbm-fetch' to download netpbm $$VERSION" ;; \
143
	esac
144
145
netpbm-fetch:
146
	@svnlite export --force -r${NETPBM_REV} ${NETPBM_REPO}/${NETPBM_SERIES} netpbm-r${NETPBM_REV}
147
.endif
148
72
.include <bsd.port.mk>
149
.include <bsd.port.mk>
(-)graphics/netpbm/distinfo (-4 / +5 lines)
Lines 1-4 Link Here
1
SHA256 (netpbm-10.35.98.tgz) = 0b396f3e6495892a1da6785bcf2e1cde693ffdbef1fb1f44d60486880212825a
1
TIMESTAMP = 1497369974
2
SIZE (netpbm-10.35.98.tgz) = 2560129
2
SHA256 (t6-netpbm-v10.78.05_GH0.tar.gz) = 5aefd0736eaab24aeca03788356b29b4edfc72ea4038c367d27d51ade28250fd
3
SHA256 (netpbm-manpages-2013-03-09.tgz) = 430a9c5becbc55e2fed832fa40d9fb050ac6ad426cbf39dc73af5d6be37f8cd6
3
SIZE (t6-netpbm-v10.78.05_GH0.tar.gz) = 2758971
4
SIZE (netpbm-manpages-2013-03-09.tgz) = 1464320
4
SHA256 (t6-netpbm-userguide-r2996_GH0.tar.gz) = a8d5ec3e74cea12f55a797ac0fe5a0f79d9adf578fa2762a7b569e2f1aaa105b
5
SIZE (t6-netpbm-userguide-r2996_GH0.tar.gz) = 715558
(-)graphics/netpbm/files/Makefile.config.FreeBSD (-129 lines)
Lines 1-129 Link Here
1
# This is a make file inclusion, to be included in all the Netpbm make
2
# files.
3
4
DEFAULT_TARGET = nonmerge
5
6
BUILD_FIASCO = Y
7
8
LD = $(CC)
9
10
LINKERISCOMPILER=Y
11
12
LINKER_CAN_DO_EXPLICIT_LIBRARY=N
13
14
INTTYPES_H = <inttypes.h>
15
16
HAVE_INT64 = Y
17
18
CC_FOR_BUILD = $(CC)
19
LD_FOR_BUILD = $(LD)
20
CFLAGS_FOR_BUILD = $(CFLAGS)
21
22
INSTALL = $(SRCDIR)/buildtools/install.sh
23
24
STRIPFLAG = -s
25
26
SYMLINK = ln -sf
27
28
MANPAGE_FORMAT = nroff
29
30
AR = ar
31
RANLIB = ranlib
32
33
LEX = flex
34
35
EXE =
36
37
LDSHLIB = -shared -Wl,-soname,$(SONAME)
38
39
LDRELOC = NONE
40
41
CFLAGS_SHLIB = 
42
43
SHLIB_CLIB = -lc
44
SHLIB_CLIB =
45
46
NEED_RUNTIME_PATH = N
47
48
RPATHOPTNAME = -rpath
49
50
NETPBMLIB_RUNTIME_PATH = 
51
52
TIFFLIB = ${LOCALBASE}/lib/libtiff.so
53
TIFFHDR_DIR = ${LOCALBASE}/include
54
55
TIFFLIB_NEEDS_JPEG = Y
56
TIFFLIB_NEEDS_Z = Y
57
58
JPEGLIB = ${LOCALBASE}/lib/libjpeg.so
59
JPEGHDR_DIR = ${LOCALBASE}/include
60
61
PNGLIB = ${LOCALBASE}/lib/libpng.so
62
PNGHDR_DIR = ${LOCALBASE}/include
63
PNGVER =
64
65
ZLIB = /usr/lib/libz.so
66
ZHDR_DIR = /usr/include
67
68
JBIGLIB = ${LOCALBASE}/lib/libjbig.so
69
JBIGHDR_DIR = ${LOCALBASE}/include
70
71
JASPERLIB =  ${LOCALBASE}/lib/libjasper.so
72
JASPERHDR_DIR = ${LOCALBASE}/include
73
JASPERDEPLIBS =
74
75
URTLIB = $(BUILDDIR)/urt/librle.a
76
URTHDR_DIR = $(SRCDIR)/urt
77
78
ifdef WITH_X11
79
X11LIB = ${LOCALBASE}/lib/libX11.so
80
X11HDR_DIR = ${LOCALBASE}/include
81
else
82
X11LIB = NONE
83
X11HDR_DIR =
84
endif
85
86
LINUXSVGALIB = NONE
87
LINUXSVGAHDR_DIR = 
88
89
OMIT_NETWORK =
90
91
NETWORKLD = 
92
93
VMS = 
94
95
DONT_HAVE_PROCESS_MGMT = N
96
97
PKGDIR_DEFAULT = ${DESTDIR}${PREFIX}
98
99
PKGMANDIR = man
100
101
SUFFIXMANUALS1 = 1
102
SUFFIXMANUALS3 = 3
103
SUFFIXMANUALS5 = 5
104
105
NETPBMLIBTYPE = unixshared
106
107
NETPBMLIBSUFFIX = so
108
109
STATICLIB_TOO = y
110
111
STATICLIBSUFFIX = a
112
113
SHLIBPREFIXLIST = lib
114
115
NETPBMSHLIBPREFIX = $(firstword $(SHLIBPREFIXLIST))
116
117
DLLVER =
118
119
NETPBM_DOCURL = http://netpbm.sourceforge.net/doc/
120
121
DEFAULT_TARGET = nonmerge
122
NETPBMLIBTYPE=unixshared
123
NETPBMLIBSUFFIX=so
124
STATICLIB_TOO=y
125
LINKERISCOMPILER = Y
126
CFLAGS_SHLIB += -fPIC -I..
127
LDFLAGS+= -L${LOCALBASE}/lib
128
SOVER = 1
129
(-)graphics/netpbm/files/config.mk (+33 lines)
Line 0 Link Here
1
# $FreeBSD$
2
CFLAGS_SHLIB += -fPIC
3
DEFAULT_TARGET = nonmerge
4
INSTALL_PERM_BIN =  $(BINMODE)
5
INSTALL_PERM_DATA = $(DATAMODE)
6
INSTALL_PERM_HDR =  $(DATAMODE)
7
INSTALL_PERM_LIBD = $(DIRMODE)
8
INSTALL_PERM_LIBS = $(SHAREMODE)
9
INSTALL_PERM_MAN =  $(MANMODE)
10
JASPERHDR_DIR = $(LOCALBASE)/include
11
JASPERLIB = -L$(LOCALBASE)/lib -ljasper -ljpeg
12
JBIGHDR_DIR = $(LOCALBASE)/include
13
JBIGLIB = -L$(LOCALBASE)/lib -ljbig
14
JPEGHDR_DIR = $(LOCALBASE)/include
15
JPEGLIB = -L$(LOCALBASE)/lib -ljpeg
16
LINKERISCOMPILER = Y
17
NETPBMLIBSUFFIX = so
18
NETPBMLIBTYPE = unixshared
19
NETPBM_DOCURL = http://netpbm.sourceforge.net/doc/
20
PNGHDR_DIR = $(LOCALBASE)/include
21
PNGLIB = -L$(LOCALBASE)/lib -lpng
22
RGB_DB_PATH = $(DATADIR)/rgb.txt:$(LOCALBASE)/lib/X11/rgb.txt
23
STATICLIB_TOO = Y
24
TIFFHDR_DIR = $(LOCALBASE)/include
25
TIFFLIB = -L$(LOCALBASE)/lib -ltiff -llzma -ljbig
26
X11HDR_DIR = $(LOCALBASE)/include
27
X11LIB = -L$(LOCALBASE)/lib -lX11 -lxcb -lXau -lXdmcp
28
ZLIB = -lz
29
# Don't use pkg-config.  It leads to all sorts of "fun" results when
30
# trying to link netpbm's programs statically.  This is only an issue
31
# when building the port outside of Poudriere/Synth.
32
PKG_CONFIG = false
33
PNGVER = PKGCONFIG_NO_THANKS
(-)graphics/netpbm/files/patch-GNUmakefile (-13 lines)
Lines 1-13 Link Here
1
--- GNUmakefile.orig	2008-09-27 03:37:09.000000000 +0200
2
+++ GNUmakefile	2012-05-25 06:01:31.000000000 +0200
3
@@ -361,8 +361,8 @@
4
 install.hdr: $(PKGDIR)/include
5
 	$(MAKE) -C lib -f $(SRCDIR)/lib/Makefile \
6
 	    SRCDIR=$(SRCDIR) BUILDDIR=$(BUILDDIR) install.hdr
7
-	$(INSTALL) -c -m $(INSTALL_PERM_HDR) \
8
-	    $(BUILDDIR)/pm_config.h $(PKGDIR)/include
9
+	${BSD_INSTALL_DATA} \
10
+	    $(BUILDDIR)/pm_config.h $(PKGDIR)/include/
11
 
12
 ifeq ($(STATICLIB_TOO),y)
13
 BUILD_STATIC = y
(-)graphics/netpbm/files/patch-Makefile.common (-35 lines)
Lines 1-35 Link Here
1
--- Makefile.common.orig	2012-06-21 22:40:36.000000000 +0200
2
+++ Makefile.common	2012-06-23 16:48:15.000000000 +0200
3
@@ -77,7 +77,7 @@
4
 # because $(INCLUDES) also contains -I's for some local directories, which
5
 # must go before -I importinc.  It is too complex for the Super Stable series.
6
 #
7
-INCLUDES2 := $(INCLUDES) -I$(SRCDIR)/$(SUBDIR) -I. -I importinc
8
+INCLUDES2 := $(PREINCLUDES) -I$(SRCDIR)/$(SUBDIR) -I. -Iimportinc $(INCLUDES)
9
 
10
 ifeq ($(NETPBMLIBTYPE),unixstatic)
11
   NETPBMLIBFNAME = libnetpbm.$(STATICLIBSUFFIX)
12
@@ -417,19 +417,19 @@
13
 INSTALLBIN_TARGETS = $(BINARIES:%=%_installbin) netpbm_installbin
14
 .PHONY: $(INSTALLBIN_TARGETS)
15
 $(INSTALLBIN_TARGETS): $(PKGDIR)/bin
16
-	$(INSTALL) -c $(STRIPFLAG) -m $(INSTALL_PERM_BIN) \
17
+	${BSD_INSTALL_PROGRAM} \
18
 	  $(@:%_installbin=%) $<
19
 
20
 $(SCRIPTS:%=%_installscript): $(PKGDIR)/bin
21
-	$(INSTALL) -c -m $(INSTALL_PERM_BIN) \
22
+	${BSD_INSTALL_SCRIPT} \
23
 	  $(SRCDIR)/$(SUBDIR)/$(@:%_installscript=%) $<
24
 
25
 .PHONY: install.data
26
 install.data: $(DATAFILES:%=%_installdata) $(SUBDIRS:%=%/install.data)
27
 
28
 .PHONY: $(DATAFILES:%=%_installdata) 
29
-$(DATAFILES:%=%_installdata): $(PKGDIR)/misc
30
-	$(INSTALL) -c -m $(INSTALL_PERM_DATA) \
31
+$(DATAFILES:%=%_installdata): $(PKGDIR)/share/netpbm
32
+	${BSD_INSTALL_DATA} \
33
 	  $(SRCDIR)/$(SUBDIR)/$(@:%_installdata=%) $<
34
 
35
 
(-)graphics/netpbm/files/patch-converter_ppm_ppmtoarbtxt.c (+127 lines)
Line 0 Link Here
1
Backport of r2989 of netpbm's trunk.
2
3
ppmtoarbtxt expects that sscanf(3) returns EOF on match failures with
4
a pattern starting with "%*s", but that is not the case on FreeBSD.
5
6
Also see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=219926
7
8
--- converter/ppm/ppmtoarbtxt.c.orig	2017-06-10 22:23:50 UTC
9
+++ converter/ppm/ppmtoarbtxt.c
10
@@ -734,15 +734,20 @@ interpretObjType(const char * const typstr) {
11
 
12
 
13
 static SkeletonObject *
14
-newIcSkelFromReplString(const char *       const objstr,
15
+newIcSkelFromReplString(const char *       const icolorObjstr,
16
                         SkeletonObjectType const objType) {
17
-
18
+/*----------------------------------------------------------------------------
19
+  A new skeleton for an integer color substitution specifier (class
20
+  OBJTYP_ICOLOR) whose replacement string (the stuff between the parentheses
21
+  in #(...)) says substitution type 'objType' and the rest of the
22
+  replacement string is 'icolorObjstr'.
23
+-----------------------------------------------------------------------------*/
24
     SkeletonObject * retval;
25
     unsigned int icolmin, icolmax;
26
     char formstr[MAX_OBJ_BUF];
27
-    unsigned int nOdata;
28
+    int nOdata;
29
 
30
-    nOdata = sscanf(objstr, "%*s%s%u%u", formstr, &icolmin, &icolmax);
31
+    nOdata = sscanf(icolorObjstr, "%s%u%u", formstr, &icolmin, &icolmax);
32
 
33
     if (nOdata == 3)
34
         retval = newIcolDataObj(objType, formstr, icolmin, icolmax);
35
@@ -758,16 +763,20 @@ newIcSkelFromReplString(const char *       const objst
36
 
37
 
38
 static SkeletonObject *
39
-newFcSkelFromReplString(const char *       const objstr,
40
+newFcSkelFromReplString(const char *       const fcolorObjstr,
41
                         SkeletonObjectType const objType) {
42
-
43
+/*----------------------------------------------------------------------------
44
+  A new skeleton for a floating point color substitution specifier (class
45
+  OBJTYP_FCOLOR) whose replacement string (the stuff between the parentheses
46
+  in #(...)) says substitution type 'objType' and the rest of the
47
+  replacement string is 'fcolorObjstr'.
48
+-----------------------------------------------------------------------------*/
49
     SkeletonObject * retval;
50
     double fcolmin, fcolmax;
51
     char formstr[MAX_OBJ_BUF];
52
-    unsigned int nOdata;
53
+    int nOdata;
54
 
55
-    nOdata = sscanf(objstr, "%*s%s%lf%lf", formstr,
56
-                    &fcolmin, &fcolmax);
57
+    nOdata = sscanf(fcolorObjstr, "%s%lf%lf", formstr, &fcolmin, &fcolmax);
58
 
59
     if (nOdata == 3)
60
         retval = newFcolDataObj(objType, formstr, fcolmin, fcolmax);
61
@@ -783,12 +792,19 @@ newFcSkelFromReplString(const char *       const objst
62
 
63
 
64
 static SkeletonObject *
65
-newISkelFromReplString(const char *       const objstr,
66
+newISkelFromReplString(const char *       const intObjstr,
67
                        SkeletonObjectType const objType) {
68
-
69
+/*----------------------------------------------------------------------------
70
+  A new skeleton for an integer substitution specifier (class OBJTYP_INT)
71
+  whose replacement string (the stuff between the parentheses in #(...))
72
+  says substitution type 'objType' and the rest of the replacement string is
73
+  'intObjstr'.
74
+-----------------------------------------------------------------------------*/
75
     SkeletonObject * retval;
76
     char formstr[MAX_OBJ_BUF];
77
-    unsigned int const nOdata = sscanf(objstr, "%*s%s", formstr);
78
+    int nOdata;
79
+
80
+    nOdata = sscanf(intObjstr, "%s", formstr);
81
     
82
     if (nOdata == 1)
83
         retval = newIdataObj(objType, formstr);
84
@@ -806,7 +822,7 @@ newISkelFromReplString(const char *       const objstr
85
 static SkeletonObject *
86
 newSkeletonFromReplString(const char * const objstr) {
87
 /*----------------------------------------------------------------------------
88
-  Create a skeleton from the replacement string 'objstr' (the stuff
89
+  A new skeleton created from the replacement string 'objstr' (the stuff
90
   between the parentheses in #(...) ).
91
 
92
   Return NULL if it isn't a valid replacement string.
93
@@ -821,6 +837,7 @@ newSkeletonFromReplString(const char * const objstr) {
94
 
95
     SkeletonObject * retval;
96
     char typstr[MAX_OBJ_BUF];
97
+    int typlen;
98
     SkeletonObjectType objType;
99
     int conversionCt;
100
     char s1[MAX_OBJ_BUF];    /* Dry read. */
101
@@ -829,7 +846,8 @@ newSkeletonFromReplString(const char * const objstr) {
102
 
103
     typstr[0] = '\0';  /* initial value */
104
 
105
-    conversionCt = sscanf(objstr, "%s%s%f%f%s", typstr, s1, &f1, &f2, s2);
106
+    conversionCt = sscanf(objstr, "%s%n%s%f%f%s",
107
+                          typstr, &typlen, s1, &f1, &f2, s2);
108
     switch (conversionCt) {
109
     case 1: case 2: case 4:
110
         objType = interpretObjType(typstr);
111
@@ -840,13 +858,13 @@ newSkeletonFromReplString(const char * const objstr) {
112
 
113
     switch (objClass(objType)) {
114
     case OBJTYP_ICOLOR:
115
-        retval = newIcSkelFromReplString(objstr, objType);
116
+        retval = newIcSkelFromReplString(&objstr[typlen], objType);
117
         break;
118
     case OBJTYP_FCOLOR:
119
-        retval = newFcSkelFromReplString(objstr, objType);
120
+        retval = newFcSkelFromReplString(&objstr[typlen], objType);
121
         break;
122
     case OBJTYP_INT:
123
-        retval = newISkelFromReplString(objstr, objType);
124
+        retval = newISkelFromReplString(&objstr[typlen], objType);
125
         break;
126
     case OBJTYP_BDATA:
127
         retval = NULL;
(-)graphics/netpbm/files/patch-jpeg.c (-11 lines)
Lines 1-11 Link Here
1
--- converter/ppm/ppmtompeg/jpeg.c.orig	2005-11-10 04:53:40.000000000 +0100
2
+++ converter/ppm/ppmtompeg/jpeg.c	2009-07-07 10:51:13.000000000 +0200
3
@@ -469,7 +469,7 @@
4
 #ifdef JPEG4
5
     buffer_height = 8;  /* could be 2, 4,8 rows high */
6
 #else
7
-    buffer_height = cinfo.max_v_samp_factor * cinfo.min_DCT_scaled_size;
8
+    buffer_height = cinfo.max_v_samp_factor * cinfo.min_DCT_v_scaled_size;
9
 #endif
10
   
11
     for(cp=0,compptr = cinfo.comp_info;cp<cinfo.num_components;
(-)graphics/netpbm/files/patch-lib-Makefile (-93 lines)
Lines 1-93 Link Here
1
--- lib/Makefile.orig	2009-09-18 21:04:37.000000000 +0200
2
+++ lib/Makefile	2010-05-21 10:36:08.000000000 +0200
3
@@ -42,6 +42,8 @@
4
 # Library objects to be linked but not built by Makefile.common:
5
 LIBOBJECTS_X = util/shhopt.o util/nstring.o util/filename.o
6
 
7
+SHLIBOBJECTS = $(patsubst %.o, %.lo, $(LIBOBJECTS))
8
+
9
 MANUALS3 = libnetpbm
10
 MANUALS5 = pbm pgm ppm pnm pam
11
 
12
@@ -80,13 +82,17 @@
13
 
14
 $(LIBOBJECTS): %.o: %.c importinc
15
 # Note that the user may have configured -I options into CFLAGS.
16
+	$(CC) -c $(INCLUDES) -DNDEBUG $(CFLAGS) \
17
+	  $(CFLAGS_PERSONAL) $(CADD) -o $@ $<
18
+
19
+$(SHLIBOBJECTS): %.lo: %.c $(HEADERLINKS)
20
 	$(CC) -c $(INCLUDES) -DNDEBUG $(CFLAGS) $(CFLAGS_SHLIB) \
21
 	  $(CFLAGS_PERSONAL) $(CADD) -o $@ $<
22
 
23
 MAJ = $(NETPBM_MAJOR_RELEASE)
24
 MIN = $(NETPBM_MINOR_RELEASE)
25
 
26
-SONAME = libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ)
27
+SONAME = libnetpbm.$(NETPBMLIBSUFFIX).$(SOVER)
28
 
29
 ifeq ($(NETPBMLIBTYPE),irixshared)
30
 # The libxxx.so link is needed to link the executables.
31
@@ -113,11 +119,8 @@
32
 # The $(SONAME) link is needed only to test the programs without
33
 # installing the libraries (in that case, you also need to direct the 
34
 # dynamic linker to the source directories, e.g. set LD_LIBRARY_PATH).
35
-$(SONAME): libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ).$(MIN)
36
-	rm -f $@
37
-	$(SYMLINK) $< $@
38
-libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ).$(MIN): $(LIBOBJECTS) $(LIBOBJECTS_X)
39
-	$(LD) $(LDSHLIB) -o $@ $(LIBOBJECTS) $(LIBOBJECTS_X) \
40
+$(SONAME): $(SHLIBOBJECTS) $(LIBOBJECTS_X)
41
+	$(LD) $(LDSHLIB) -o $@ $(SHLIBOBJECTS) $(LIBOBJECTS_X) \
42
           $(SHLIB_CLIB) -lm $(LADD)
43
 endif
44
 
45
@@ -205,13 +208,10 @@
46
 .PHONY: install.lib
47
 ifeq ($(NETPBMLIBTYPE),unixshared)
48
 # install a Unix-style shared library
49
-install.lib: $(PKGDIR)/lib $(PKGDIR)/link
50
-	cd $(PKGDIR)/lib ; rm -f libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ).*
51
-	$(INSTALL) -c -m $(INSTALL_PERM_LIBD) \
52
-	  libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ).$(MIN)  $(PKGDIR)/lib/
53
-	cd $(PKGDIR)/lib/ ; \
54
-          rm -f libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ); \
55
-          $(SYMLINK) libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ).$(MIN) $(SONAME)
56
+install.lib: $(PKGDIR)/lib
57
+	cd $(PKGDIR)/lib ; rm -f libnetpbm.$(NETPBMLIBSUFFIX).*
58
+	${BSD_INSTALL_DATA} \
59
+          $(SONAME) $(PKGDIR)/lib/
60
 endif
61
 ifeq ($(NETPBMLIBTYPE),dll)
62
 #install a Windows DLL shared library
63
@@ -241,23 +241,23 @@
64
 # directory when you compile your programs.
65
 
66
 %_installhdr: $(PKGDIR)/include
67
-	$(INSTALL) -c -m $(INSTALL_PERM_HDR) \
68
+	${BSD_INSTALL_DATA} \
69
 	  $(SRCDIR)/lib/$(@:%_installhdr=%) $(PKGDIR)/include/;
70
 
71
 .PHONY: install.staticlib
72
-install.staticlib: $(PKGDIR)/link
73
-	$(INSTALL) -c -m $(INSTALL_PERM_LIBS) libnetpbm.$(STATICLIBSUFFIX) \
74
-	  $(PKGDIR)/link
75
+install.staticlib: $(PKGDIR)/lib
76
+	${BSD_INSTALL_DATA} libnetpbm.$(STATICLIBSUFFIX) \
77
+	  $(PKGDIR)/lib
78
 
79
 # Install a shared library stub -- the ".so" file used at link time to
80
 # prepare a program for dynamically linking a library at run time 
81
 .PHONY: install.sharedlibstub
82
-install.sharedlibstub: $(PKGDIR)/link
83
+install.sharedlibstub: $(PKGDIR)/lib
84
 ifeq ($(NETPBMLIBTYPE),unixshared)
85
 # install the link-time (.so) links to the runtime libraries
86
-	cd $(PKGDIR)/link ; \
87
+	cd $(PKGDIR)/lib ; \
88
           rm -f libnetpbm.$(NETPBMLIBSUFFIX); \
89
-          $(SYMLINK) ../lib/libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ) \
90
+          $(SYMLINK) $(SONAME) \
91
             libnetpbm.$(NETPBMLIBSUFFIX)
92
 endif
93
 ifeq ($(NETPBMLIBTYPE),dll)
(-)graphics/netpbm/files/patch-lib-libpbm3.c (-16 lines)
Lines 1-16 Link Here
1
--- lib/libpbm3.c	2008-03-28 19:58:06.000000000 +0100
2
+++ lib/libpbm3.c	2011-12-18 11:55:05.000000000 +0100
3
@@ -117,10 +117,10 @@
4
             ) ];
5
     */
6
 
7
-    typedef int v8qi __attribute__ ((mode(V8QI)));
8
-    typedef int di __attribute__ ((mode(DI)));
9
+    typedef char v8qi __attribute__ ((vector_size(8)));
10
+    typedef int di __attribute__ ((vector_size(8)));
11
 
12
-    di const zero64 = 0;        /* to clear with PXOR */
13
+    di const zero64 = (di){0};        /* to clear with PXOR */
14
 
15
     unsigned int col;
16
 
(-)graphics/netpbm/files/patch-lib-libpm.c (-20 lines)
Lines 1-20 Link Here
1
--- lib/libpm.c.orig	2006-08-19 05:12:28.000000000 +0200
2
+++ lib/libpm.c	2010-05-21 10:37:10.000000000 +0200
3
@@ -669,7 +669,7 @@
4
 pm_openr(const char * const name) {
5
     FILE* f;
6
 
7
-    if (strcmp(name, "-") == 0)
8
+    if (name == NULL || strcmp(name, "-") == 0)
9
         f = stdin;
10
     else {
11
 #ifndef VMS
12
@@ -691,7 +691,7 @@
13
 pm_openw(const char * const name) {
14
     FILE* f;
15
 
16
-    if (strcmp(name, "-") == 0)
17
+    if (name == NULL || strcmp(name, "-") == 0)
18
         f = stdout;
19
     else {
20
 #ifndef VMS
(-)graphics/netpbm/files/patch-lib-libsystem.c (-16 lines)
Lines 1-16 Link Here
1
--- lib/libsystem.c.orig	2010-03-24 03:06:41.000000000 +0100
2
+++ lib/libsystem.c	2010-05-25 07:31:25.000000000 +0200
3
@@ -154,6 +154,13 @@
4
 }
5
 
6
 
7
+#ifndef SIGRTMIN
8
+#define SIGRTMIN 65
9
+#endif
10
+#ifndef SIGRTMAX
11
+#define SIGRTMAX 126
12
+#endif
13
+
14
 
15
 static const char *
16
 signalName(unsigned int const signalClass) {
(-)graphics/netpbm/files/patch-lib-util-pm_c_util.h (-10 lines)
Lines 1-10 Link Here
1
--- lib/util/pm_c_util.h.orig	2006-08-19 05:12:28.000000000 +0200
2
+++ lib/util/pm_c_util.h	2013-08-30 13:58:20.918173431 +0200
3
@@ -50,6 +50,7 @@
4
 #ifndef __cplusplus
5
   #ifndef HAVE_BOOL
6
     #define HAVE_BOOL 1
7
+    #undef bool
8
     typedef int bool;
9
     #endif
10
   #ifndef true
(-)graphics/netpbm/files/patch-lib_libpm.c (+19 lines)
Line 0 Link Here
1
--- lib/libpm.c.orig	2017-06-10 22:23:50 UTC
2
+++ lib/libpm.c
3
@@ -18,6 +17,7 @@
4
 #include <unistd.h>
5
 #include <stdio.h>
6
 #include <stdarg.h>
7
+#include <stdlib.h>
8
 #include <string.h>
9
 #include <errno.h>
10
 #include <setjmp.h>
11
@@ -824,7 +824,7 @@ pm_arg0toprogname(const char arg0[]) {
12
 unsigned int
13
 pm_randseed(void) {
14
 
15
-    return time(NULL) ^ getpid();
16
+    return arc4random();
17
 
18
 }
19
 
(-)graphics/netpbm/files/patch-pamrgbatopng.c (-19 lines)
Lines 1-19 Link Here
1
$OpenBSD: patch-converter_other_pamrgbatopng_c,v 1.1 2011/07/08 20:36:09 naddy Exp $
2
3
Fix build with png-1.5.
4
5
--- converter/other/pamrgbatopng.c.orig	Fri Aug 18 21:12:28 2006
6
+++ converter/other/pamrgbatopng.c	Mon Jul  4 14:21:23 2011
7
@@ -101,10 +101,8 @@ writePng(const struct pam * const pamP,
8
     if (!infoP)
9
         pm_error("Could not allocate PNG info structure");
10
     else {
11
-        infoP->width      = pamP->width;
12
-        infoP->height     = pamP->height;
13
-        infoP->bit_depth  = 8;
14
-        infoP->color_type = PNG_COLOR_TYPE_RGB_ALPHA;
15
+        png_set_IHDR(pngP, infoP, pamP->width, pamP->height,
16
+                     8, PNG_COLOR_TYPE_RGB_ALPHA, 0, 0, 0);
17
         
18
         png_init_io(pngP, ofP);
19
 
(-)graphics/netpbm/files/patch-pm_config.in.h (-26 lines)
Lines 1-26 Link Here
1
--- pm_config.in.h.orig	2006-10-18 20:29:13.000000000 +0200
2
+++ pm_config.in.h	2010-05-21 10:37:50.000000000 +0200
3
@@ -15,6 +15,10 @@
4
 
5
 **************************************************************************/
6
 
7
+#if (defined(__unix__) || defined(unix)) && !defined(USG)
8
+#include <sys/param.h>
9
+#endif
10
+
11
 #if defined(USG) || defined(SVR4) || defined(VMS) || defined(__SVR4)
12
 #define SYSV
13
 #endif
14
@@ -67,9 +71,9 @@
15
 #define RGB_DB2 "PBMplus_Dir:RGB.TXT"
16
 #define RGB_DB3 "PBMplus_Dir:RGB.TXT"
17
 #else
18
-#define RGB_DB1 "/usr/lib/X11/rgb.txt"
19
-#define RGB_DB2 "/usr/share/X11/rgb.txt"
20
-#define RGB_DB3 "/usr/X11R6/lib/X11/rgb.txt"
21
+#define RGB_DB1 "%%PREFIX%%/share/netpbm/rgb.txt"
22
+#define RGB_DB2 "%%LOCALBASE%%/share/netpbm/rgb.txt"
23
+#define RGB_DB3 "%%LOCALBASE%%/lib/X11/rgb.txt"
24
 #endif
25
 
26
 /* CONFIGURE: This is the name of an environment variable that tells
(-)graphics/netpbm/files/patch-pngtopnm.c (-894 lines)
Lines 1-894 Link Here
1
$OpenBSD: patch-converter_other_pngtopnm_c,v 1.2 2011/12/13 21:39:17 naddy Exp $
2
3
Fix build with png-1.5.
4
5
--- converter/other/pngtopnm.c.orig	Fri Nov 25 01:15:46 2011
6
+++ converter/other/pngtopnm.c	Tue Dec 13 22:25:03 2011
7
@@ -44,12 +44,6 @@
8
 #include "nstring.h"
9
 #include "shhopt.h"
10
 
11
-#if PNG_LIBPNG_VER >= 10400
12
-#error Your PNG library (<png.h>) is incompatible with this Netpbm source code.
13
-#error You need either an older PNG library (older than 1.4)
14
-#error newer Netpbm source code (at least 10.48)
15
-#endif
16
-
17
 typedef struct _jmpbuf_wrapper {
18
   jmp_buf jmpbuf;
19
 } jmpbuf_wrapper;
20
@@ -187,7 +181,7 @@ parseCommandLine(int                 argc, 
21
 
22
 
23
 
24
-#define get_png_val(p) _get_png_val (&(p), info_ptr->bit_depth)
25
+#define get_png_val(p) _get_png_val (&(p), png_get_bit_depth(png_ptr, info_ptr))
26
 
27
 static png_uint_16
28
 _get_png_val (png_byte ** const pp,
29
@@ -266,33 +260,39 @@ png_color c;
30
 }
31
 
32
 #ifdef __STDC__
33
-static void save_text (png_info *info_ptr, FILE *tfp)
34
+static void save_text (png_structp png_ptr, png_info *info_ptr, FILE *tfp)
35
 #else
36
-static void save_text (info_ptr, tfp)
37
+static void save_text (png_ptr, info_ptr, tfp)
38
+png_structp png_ptr;
39
 png_info *info_ptr;
40
 FILE *tfp;
41
 #endif
42
 {
43
   int i, j, k;
44
+  png_textp text_ptr;
45
+  int num_text;
46
 
47
-  for (i = 0 ; i < info_ptr->num_text ; i++) {
48
+  if (png_get_text(png_ptr, info_ptr, &text_ptr, &num_text) == 0)
49
+    return;
50
+
51
+  for (i = 0 ; i < num_text ; i++) {
52
     j = 0;
53
-    while (info_ptr->text[i].key[j] != '\0' && info_ptr->text[i].key[j] != ' ')
54
+    while (text_ptr[i].key[j] != '\0' && text_ptr[i].key[j] != ' ')
55
       j++;    
56
-    if (info_ptr->text[i].key[j] != ' ') {
57
-      fprintf (tfp, "%s", info_ptr->text[i].key);
58
-      for (j = strlen (info_ptr->text[i].key) ; j < 15 ; j++)
59
+    if (text_ptr[i].key[j] != ' ') {
60
+      fprintf (tfp, "%s", text_ptr[i].key);
61
+      for (j = strlen (text_ptr[i].key) ; j < 15 ; j++)
62
         putc (' ', tfp);
63
     } else {
64
-      fprintf (tfp, "\"%s\"", info_ptr->text[i].key);
65
-      for (j = strlen (info_ptr->text[i].key) ; j < 13 ; j++)
66
+      fprintf (tfp, "\"%s\"", text_ptr[i].key);
67
+      for (j = strlen (text_ptr[i].key) ; j < 13 ; j++)
68
         putc (' ', tfp);
69
     }
70
     putc (' ', tfp); /* at least one space between key and text */
71
     
72
-    for (j = 0 ; j < info_ptr->text[i].text_length ; j++) {
73
-      putc (info_ptr->text[i].text[j], tfp);
74
-      if (info_ptr->text[i].text[j] == '\n')
75
+    for (j = 0 ; j < text_ptr[i].text_length ; j++) {
76
+      putc (text_ptr[i].text[j], tfp);
77
+      if (text_ptr[i].text[j] == '\n')
78
         for (k = 0 ; k < 16 ; k++)
79
           putc ((int)' ', tfp);
80
     }
81
@@ -301,9 +301,10 @@ FILE *tfp;
82
 }
83
 
84
 #ifdef __STDC__
85
-static void show_time (png_info *info_ptr)
86
+static void show_time (png_structp png_ptr, png_info *info_ptr)
87
 #else
88
-static void show_time (info_ptr)
89
+static void show_time (png_ptr, info_ptr)
90
+png_structp png_ptr;
91
 png_info *info_ptr;
92
 #endif
93
 {
94
@@ -311,19 +312,20 @@ png_info *info_ptr;
95
         "", "January", "February", "March", "April", "May", "June",
96
         "July", "August", "September", "October", "November", "December"
97
     };
98
+  png_timep mod_time;
99
 
100
-  if (info_ptr->valid & PNG_INFO_tIME) {
101
-    if (info_ptr->mod_time.month < 1 ||
102
-      info_ptr->mod_time.month >= ARRAY_SIZE(month)) {
103
+  if (png_get_tIME(png_ptr, info_ptr, &mod_time) & PNG_INFO_tIME) {
104
+    if (mod_time->month < 1 ||
105
+      mod_time->month >= ARRAY_SIZE(month)) {
106
       pm_message("tIME chunk in PNG input is invalid; "
107
                  "modification time of image is unknown.  "
108
                  "The month value, which should be in the range "
109
-                 "1-12, is %u", info_ptr->mod_time.month);
110
+                 "1-12, is %u", mod_time->month);
111
     } else
112
     pm_message ("modification time: %02d %s %d %02d:%02d:%02d",
113
-                info_ptr->mod_time.day, month[info_ptr->mod_time.month],
114
-                info_ptr->mod_time.year, info_ptr->mod_time.hour,
115
-                info_ptr->mod_time.minute, info_ptr->mod_time.second);
116
+                mod_time->day, month[mod_time->month],
117
+                mod_time->year, mod_time->hour,
118
+                mod_time->minute, mod_time->second);
119
   }
120
 }
121
 
122
@@ -360,12 +362,28 @@ png_const_charp msg;
123
 
124
 
125
 static void
126
-dump_png_info(png_info *info_ptr) {
127
+dump_png_info(png_structp png_ptr, png_info *info_ptr) {
128
 
129
     const char *type_string;
130
     const char *filter_string;
131
+    png_color_16p background;
132
+    int num_trans;
133
+    double gamma;
134
+    png_color_8p sig_bit;
135
+    png_colorp palette;
136
+    int num_palette;
137
+    png_uint_16p hist;
138
+    int res_x, res_y, unit_type;
139
+    png_int_32 offset_x, offset_y;
140
+    png_timep mod_time;
141
+    png_charp purpose;
142
+    png_int_32 X0, X1;
143
+    int type, nparams;
144
+    png_charp units;
145
+    png_charpp params;
146
+    int file_srgb_intent;
147
 
148
-    switch (info_ptr->color_type) {
149
+    switch (png_get_color_type(png_ptr, info_ptr)) {
150
       case PNG_COLOR_TYPE_GRAY:
151
         type_string = "gray";
152
         break;
153
@@ -387,90 +405,101 @@ dump_png_info(png_info *info_ptr) {
154
         break;
155
     }
156
 
157
-    switch (info_ptr->filter_type) {
158
+    switch (png_get_filter_type(png_ptr, info_ptr)) {
159
     case PNG_FILTER_TYPE_BASE:
160
         asprintfN(&filter_string, "base filter");
161
         break;
162
     default:
163
         asprintfN(&filter_string, "unknown filter type %d", 
164
-                  info_ptr->filter_type);
165
+                  png_get_filter_type(png_ptr, info_ptr));
166
     }
167
 
168
-    pm_message("reading a %ldw x %ldh image, %d bit%s",
169
-               info_ptr->width, info_ptr->height,
170
-               info_ptr->bit_depth, info_ptr->bit_depth > 1 ? "s" : "");
171
+    pm_message("reading a %uw x %uh image, %d bit%s",
172
+               png_get_image_width(png_ptr, info_ptr),
173
+               png_get_image_height(png_ptr, info_ptr),
174
+               png_get_bit_depth(png_ptr, info_ptr),
175
+               png_get_bit_depth(png_ptr, info_ptr) > 1 ? "s" : "");
176
     pm_message("%s, %s, %s",
177
                type_string,
178
-               info_ptr->interlace_type ? 
179
+               png_get_interlace_type(png_ptr, info_ptr) ? 
180
                "Adam7 interlaced" : "not interlaced",
181
                filter_string);
182
-    pm_message("background {index, gray, red, green, blue} = "
183
-               "{%d, %d, %d, %d, %d}",
184
-               info_ptr->background.index,
185
-               info_ptr->background.gray,
186
-               info_ptr->background.red,
187
-               info_ptr->background.green,
188
-               info_ptr->background.blue);
189
 
190
+    if (png_get_bKGD(png_ptr, info_ptr, &background) & PNG_INFO_bKGD) {
191
+      pm_message("background {index, gray, red, green, blue} = "
192
+                 "{%d, %d, %d, %d, %d}",
193
+                 background->index,
194
+                 background->gray,
195
+                 background->red,
196
+                 background->green,
197
+                 background->blue);
198
+   }
199
+
200
     strfree(filter_string);
201
 
202
-    if (info_ptr->valid & PNG_INFO_tRNS)
203
+    if (png_get_tRNS(png_ptr, info_ptr,
204
+                     NULL, &num_trans, NULL) & PNG_INFO_tRNS)
205
         pm_message("tRNS chunk (transparency): %u entries",
206
-                   info_ptr->num_trans);
207
+                   num_trans);
208
     else
209
         pm_message("tRNS chunk (transparency): not present");
210
 
211
-    if (info_ptr->valid & PNG_INFO_gAMA)
212
-        pm_message("gAMA chunk (image gamma): gamma = %4.2f", info_ptr->gamma);
213
+    if (png_get_gAMA(png_ptr, info_ptr, &gamma) & PNG_INFO_gAMA)
214
+        pm_message("gAMA chunk (image gamma): gamma = %4.2f", gamma);
215
     else
216
         pm_message("gAMA chunk (image gamma): not present");
217
 
218
-    if (info_ptr->valid & PNG_INFO_sBIT)
219
+    if (png_get_sBIT(png_ptr, info_ptr, &sig_bit) & PNG_INFO_sBIT)
220
         pm_message("sBIT chunk: present");
221
     else
222
         pm_message("sBIT chunk: not present");
223
 
224
-    if (info_ptr->valid & PNG_INFO_cHRM)
225
+    if (png_get_cHRM(png_ptr, info_ptr,
226
+                     NULL, NULL, NULL, NULL,
227
+                     NULL, NULL, NULL, NULL) & PNG_INFO_cHRM)
228
         pm_message("cHRM chunk: present");
229
     else
230
         pm_message("cHRM chunk: not present");
231
 
232
-    if (info_ptr->valid & PNG_INFO_PLTE)
233
-        pm_message("PLTE chunk: %d entries", info_ptr->num_palette);
234
+    if (png_get_PLTE(png_ptr, info_ptr, &palette, &num_palette) & PNG_INFO_PLTE)
235
+        pm_message("PLTE chunk: %d entries", num_palette);
236
     else
237
         pm_message("PLTE chunk: not present");
238
 
239
-    if (info_ptr->valid & PNG_INFO_bKGD)
240
+    if (png_get_bKGD(png_ptr, info_ptr, &background) & PNG_INFO_bKGD)
241
         pm_message("bKGD chunk: present");
242
     else
243
         pm_message("bKGD chunk: not present");
244
 
245
-    if (info_ptr->valid & PNG_INFO_hIST)
246
+    if (png_get_hIST(png_ptr, info_ptr, &hist) & PNG_INFO_hIST)
247
         pm_message("hIST chunk: present");
248
     else
249
         pm_message("hIST chunk: not present");
250
 
251
-    if (info_ptr->valid & PNG_INFO_pHYs)
252
+    if (png_get_pHYs(png_ptr, info_ptr,
253
+                     &res_x, &res_y, &unit_type) & PNG_INFO_pHYs)
254
         pm_message("pHYs chunk: present");
255
     else
256
         pm_message("pHYs chunk: not present");
257
 
258
-    if (info_ptr->valid & PNG_INFO_oFFs)
259
+    if (png_get_oFFs(png_ptr, info_ptr,
260
+                     &offset_x, &offset_y, &unit_type) & PNG_INFO_oFFs)
261
         pm_message("oFFs chunk: present");
262
     else
263
         pm_message("oFFs chunk: not present");
264
 
265
-    if (info_ptr->valid & PNG_INFO_tIME)
266
+    if (png_get_tIME(png_ptr, info_ptr, &mod_time) & PNG_INFO_tIME)
267
         pm_message("tIME chunk: present");
268
     else
269
         pm_message("tIME chunk: not present");
270
 
271
-    if (info_ptr->valid & PNG_INFO_pCAL)
272
+    if (png_get_pCAL(png_ptr, info_ptr, &purpose, &X0, &X1,
273
+                     &type, &nparams, &units, &params) & PNG_INFO_pCAL)
274
         pm_message("pCAL chunk: present");
275
     else
276
         pm_message("pCAL chunk: not present");
277
 
278
-    if (info_ptr->valid & PNG_INFO_sRGB)
279
+    if (png_get_sRGB(png_ptr, info_ptr, &file_srgb_intent) & PNG_INFO_sRGB)
280
         pm_message("sRGB chunk: present");
281
     else
282
         pm_message("sRGB chunk: not present");
283
@@ -479,19 +508,19 @@ dump_png_info(png_info *info_ptr) {
284
 
285
 
286
 static bool
287
-isTransparentColor(pngcolor   const color,
288
-                   png_info * const info_ptr,
289
-                   double     const totalgamma) {
290
+isTransparentColor(pngcolor    const color,
291
+                   png_structp const png_ptr,
292
+                   png_info  * const info_ptr,
293
+                   double      const totalgamma) {
294
 /*----------------------------------------------------------------------------
295
    Return TRUE iff pixels of color 'color' are supposed to be transparent
296
    everywhere they occur.  Assume it's an RGB image.
297
 -----------------------------------------------------------------------------*/
298
     bool retval;
299
+    png_color_16p transColorP;
300
 
301
-    if (info_ptr->valid & PNG_INFO_tRNS) {
302
-        const png_color_16 * const transColorP = &info_ptr->trans_values;
303
-    
304
-
305
+    if (png_get_tRNS(png_ptr, info_ptr,
306
+                     NULL, NULL, &transColorP) & PNG_INFO_tRNS) {
307
         /* There seems to be a problem here: you can't compare real
308
            numbers for equality.  Also, I'm not sure the gamma
309
            corrected/uncorrected color spaces are right here.  
310
@@ -537,9 +566,11 @@ setupGammaCorrection(png_struct * const png_ptr,
311
     if (displaygamma == -1.0)
312
         *totalgammaP = -1.0;
313
     else {
314
+        double fileGamma;
315
         float imageGamma;
316
-        if (info_ptr->valid & PNG_INFO_gAMA)
317
-            imageGamma = info_ptr->gamma;
318
+
319
+        if (png_get_gAMA(png_ptr, info_ptr, &fileGamma) & PNG_INFO_gAMA)
320
+            imageGamma = fileGamma;
321
         else {
322
             if (verbose)
323
                 pm_message("PNG doesn't specify image gamma.  Assuming 1.0");
324
@@ -555,10 +586,14 @@ setupGammaCorrection(png_struct * const png_ptr,
325
         } else {
326
             png_set_gamma(png_ptr, displaygamma, imageGamma);
327
             *totalgammaP = imageGamma * displaygamma;
328
+#ifdef NOT_SUPPORTED_ANYMORE
329
+            /* The API doesn't clearing PNG_INFO_sBIT. */
330
+
331
             /* in case of gamma-corrections, sBIT's as in the
332
                PNG-file are not valid anymore 
333
             */
334
             info_ptr->valid &= ~PNG_INFO_sBIT;
335
+#endif
336
             if (verbose)
337
                 pm_message("image gamma is %4.2f, "
338
                            "converted for display gamma of %4.2f",
339
@@ -570,20 +605,24 @@ setupGammaCorrection(png_struct * const png_ptr,
340
 
341
 
342
 static bool
343
-paletteHasPartialTransparency(png_info * const info_ptr) {
344
+paletteHasPartialTransparency(png_structp png_ptr, png_info * const info_ptr) {
345
 
346
     bool retval;
347
 
348
-    if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE) {
349
-        if (info_ptr->valid & PNG_INFO_tRNS) {
350
+    if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_PALETTE) {
351
+      png_bytep trans_alpha;
352
+      int num_trans;
353
+
354
+      if (png_get_tRNS(png_ptr, info_ptr,
355
+                       &trans_alpha, &num_trans, NULL) & PNG_INFO_tRNS) {
356
             bool foundGray;
357
             unsigned int i;
358
             
359
             for (i = 0, foundGray = FALSE;
360
-                 i < info_ptr->num_trans && !foundGray;
361
+                 i < num_trans && !foundGray;
362
                  ++i) {
363
-                if (info_ptr->trans[i] != 0 &&
364
-                    info_ptr->trans[i] != maxval) {
365
+                if (trans_alpha[i] != 0 &&
366
+                    trans_alpha[i] != maxval) {
367
                     foundGray = TRUE;
368
                 }
369
             }
370
@@ -611,14 +650,16 @@ setupSignificantBits(png_struct *        const png_ptr
371
 
372
   Return the result as *maxvalP.
373
 -----------------------------------------------------------------------------*/
374
+    png_color_8p sig_bit;
375
+
376
     /* Initial assumption of maxval */
377
-    if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE) {
378
+    if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_PALETTE) {
379
         if (alpha == ALPHA_ONLY) {
380
-            if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY ||
381
-                info_ptr->color_type == PNG_COLOR_TYPE_RGB)
382
+            if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY ||
383
+                png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB)
384
                 /* The alpha mask will be all opaque, so maxval 1 is plenty */
385
                 *maxvalP = 1;
386
-            else if (paletteHasPartialTransparency(info_ptr))
387
+            else if (paletteHasPartialTransparency(png_ptr, info_ptr))
388
                 /* Use same maxval as PNG transparency palette for simplicity*/
389
                 *maxvalP = 255;
390
             else
391
@@ -628,7 +669,7 @@ setupSignificantBits(png_struct *        const png_ptr
392
             /* Use same maxval as PNG palette for simplicity */
393
             *maxvalP = 255;
394
     } else {
395
-        *maxvalP = (1l << info_ptr->bit_depth) - 1;
396
+        *maxvalP = (1l << png_get_bit_depth(png_ptr, info_ptr)) - 1;
397
     }
398
 
399
     /* sBIT handling is very tricky. If we are extracting only the
400
@@ -641,20 +682,26 @@ setupSignificantBits(png_struct *        const png_ptr
401
        is used 
402
     */
403
     
404
-    if (info_ptr->valid & PNG_INFO_sBIT) {
405
+    if (png_get_sBIT(png_ptr, info_ptr, &sig_bit) & PNG_INFO_sBIT) {
406
+        png_byte color_type;
407
+        png_bytep trans_alpha;
408
+        int num_trans;
409
+
410
+        color_type = png_get_color_type(png_ptr, info_ptr);
411
         switch (alpha) {
412
         case ALPHA_MIX:
413
-            if (info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA ||
414
-                info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
415
+            if (color_type == PNG_COLOR_TYPE_RGB_ALPHA ||
416
+                color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
417
                 break;
418
-            if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE &&
419
-                (info_ptr->valid & PNG_INFO_tRNS)) {
420
+            if (color_type == PNG_COLOR_TYPE_PALETTE &&
421
+                png_get_tRNS(png_ptr, info_ptr,
422
+                             &trans_alpha, &num_trans, NULL) & PNG_INFO_tRNS) {
423
 
424
                 bool trans_mix;
425
                 unsigned int i;
426
                 trans_mix = TRUE;
427
-                for (i = 0; i < info_ptr->num_trans; ++i)
428
-                    if (info_ptr->trans[i] != 0 && info_ptr->trans[i] != 255) {
429
+                for (i = 0; i < num_trans; ++i)
430
+                    if (trans_alpha[i] != 0 && trans_alpha[i] != 255) {
431
                         trans_mix = FALSE;
432
                         break;
433
                     }
434
@@ -665,70 +712,76 @@ setupSignificantBits(png_struct *        const png_ptr
435
             /* else fall though to normal case */
436
 
437
         case ALPHA_NONE:
438
-            if ((info_ptr->color_type == PNG_COLOR_TYPE_PALETTE ||
439
-                 info_ptr->color_type == PNG_COLOR_TYPE_RGB ||
440
-                 info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA) &&
441
-                (info_ptr->sig_bit.red != info_ptr->sig_bit.green ||
442
-                 info_ptr->sig_bit.red != info_ptr->sig_bit.blue) &&
443
+            if ((color_type == PNG_COLOR_TYPE_PALETTE ||
444
+                 color_type == PNG_COLOR_TYPE_RGB ||
445
+                 color_type == PNG_COLOR_TYPE_RGB_ALPHA) &&
446
+                (sig_bit->red != sig_bit->green ||
447
+                 sig_bit->red != sig_bit->blue) &&
448
                 alpha == ALPHA_NONE) {
449
                 pm_message("This program cannot handle "
450
                            "different bit depths for color channels");
451
                 pm_message("writing file with %d bit resolution",
452
-                           info_ptr->bit_depth);
453
+                           png_get_bit_depth(png_ptr, info_ptr));
454
                 *errorlevelP = PNMTOPNG_WARNING_LEVEL;
455
             } else {
456
-                if ((info_ptr->color_type == PNG_COLOR_TYPE_PALETTE) &&
457
-                    (info_ptr->sig_bit.red < 255)) {
458
+                png_colorp palette;
459
+                int num_palette;
460
+
461
+                if ((color_type == PNG_COLOR_TYPE_PALETTE) &&
462
+                    (sig_bit->red < 255) &&
463
+                    png_get_PLTE(png_ptr, info_ptr,
464
+                                 &palette, &num_palette) & PNG_INFO_PLTE) {
465
                     unsigned int i;
466
-                    for (i = 0; i < info_ptr->num_palette; ++i) {
467
-                        info_ptr->palette[i].red   >>=
468
-                            (8 - info_ptr->sig_bit.red);
469
-                        info_ptr->palette[i].green >>=
470
-                            (8 - info_ptr->sig_bit.green);
471
-                        info_ptr->palette[i].blue  >>=
472
-                            (8 - info_ptr->sig_bit.blue);
473
+
474
+                    for (i = 0; i < num_palette; ++i) {
475
+                        palette[i].red   >>=
476
+                            (8 - sig_bit->red);
477
+                        palette[i].green >>=
478
+                            (8 - sig_bit->green);
479
+                        palette[i].blue  >>=
480
+                            (8 - sig_bit->blue);
481
                     }
482
-                    *maxvalP = (1l << info_ptr->sig_bit.red) - 1;
483
+                    *maxvalP = (1l << sig_bit->red) - 1;
484
                     if (verbose)
485
                         pm_message ("image has fewer significant bits, "
486
                                     "writing file with %d bits per channel", 
487
-                                    info_ptr->sig_bit.red);
488
+                                    sig_bit->red);
489
                 } else
490
-                    if ((info_ptr->color_type == PNG_COLOR_TYPE_RGB ||
491
-                         info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA) &&
492
-                        (info_ptr->sig_bit.red < info_ptr->bit_depth)) {
493
-                        png_set_shift (png_ptr, &(info_ptr->sig_bit));
494
-                        *maxvalP = (1l << info_ptr->sig_bit.red) - 1;
495
+                    if ((color_type == PNG_COLOR_TYPE_RGB ||
496
+                         color_type == PNG_COLOR_TYPE_RGB_ALPHA) &&
497
+                        (sig_bit->red < png_get_bit_depth(png_ptr, info_ptr))) {
498
+                        png_set_shift (png_ptr, sig_bit);
499
+                        *maxvalP = (1l << sig_bit->red) - 1;
500
                         if (verbose)
501
                             pm_message("image has fewer significant bits, "
502
                                        "writing file with %d "
503
                                        "bits per channel", 
504
-                                       info_ptr->sig_bit.red);
505
+                                       sig_bit->red);
506
                     } else 
507
-                        if ((info_ptr->color_type == PNG_COLOR_TYPE_GRAY ||
508
-                             info_ptr->color_type ==
509
+                        if ((color_type == PNG_COLOR_TYPE_GRAY ||
510
+                             color_type ==
511
                                  PNG_COLOR_TYPE_GRAY_ALPHA) &&
512
-                            (info_ptr->sig_bit.gray < info_ptr->bit_depth)) {
513
-                            png_set_shift (png_ptr, &(info_ptr->sig_bit));
514
-                            *maxvalP = (1l << info_ptr->sig_bit.gray) - 1;
515
+                            (sig_bit->gray < png_get_bit_depth(png_ptr, info_ptr))) {
516
+                            png_set_shift (png_ptr, sig_bit);
517
+                            *maxvalP = (1l << sig_bit->gray) - 1;
518
                             if (verbose)
519
                                 pm_message("image has fewer significant bits, "
520
                                            "writing file with %d bits",
521
-                                           info_ptr->sig_bit.gray);
522
+                                           sig_bit->gray);
523
                         }
524
             }
525
             break;
526
 
527
         case ALPHA_ONLY:
528
-            if ((info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA ||
529
-                 info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA) && 
530
-                (info_ptr->sig_bit.gray < info_ptr->bit_depth)) {
531
-                png_set_shift (png_ptr, &(info_ptr->sig_bit));
532
+            if ((color_type == PNG_COLOR_TYPE_RGB_ALPHA ||
533
+                 color_type == PNG_COLOR_TYPE_GRAY_ALPHA) && 
534
+                (sig_bit->gray < png_get_bit_depth(png_ptr, info_ptr))) {
535
+                png_set_shift (png_ptr, sig_bit);
536
                 if (verbose)
537
                     pm_message ("image has fewer significant bits, "
538
                                 "writing file with %d bits", 
539
-                                info_ptr->sig_bit.alpha);
540
-                *maxvalP = (1l << info_ptr->sig_bit.alpha) - 1;
541
+                                sig_bit->alpha);
542
+                *maxvalP = (1l << sig_bit->alpha) - 1;
543
             }
544
             break;
545
 
546
@@ -739,22 +792,28 @@ setupSignificantBits(png_struct *        const png_ptr
547
 
548
 
549
 static bool
550
-imageHasColor(png_info * const info_ptr) {
551
+imageHasColor(png_structp const png_ptr, png_info * const info_ptr) {
552
 
553
     bool retval;
554
+    png_byte color_type;
555
+    png_colorp palette;
556
+    int num_palette;
557
 
558
-    if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY ||
559
-        info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
560
+    color_type = png_get_color_type(png_ptr, info_ptr);
561
+    if (color_type == PNG_COLOR_TYPE_GRAY ||
562
+        color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
563
 
564
         retval = FALSE;
565
-    else if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE) {
566
+    else if (color_type == PNG_COLOR_TYPE_PALETTE &&
567
+             png_get_PLTE(png_ptr, info_ptr,
568
+                          &palette, &num_palette) & PNG_INFO_PLTE) {
569
         bool foundColor;
570
         unsigned int i;
571
             
572
         for (i = 0, foundColor = FALSE;
573
-             i < info_ptr->num_palette && !foundColor;
574
+             i < num_palette && !foundColor;
575
              ++i) {
576
-            if (iscolor(info_ptr->palette[i]))
577
+            if (iscolor(palette[i]))
578
                 foundColor = TRUE;
579
         }
580
         retval = foundColor;
581
@@ -767,14 +826,15 @@ imageHasColor(png_info * const info_ptr) {
582
 
583
 
584
 static void
585
-determineOutputType(png_info *          const info_ptr,
586
+determineOutputType(png_structp         const png_ptr,
587
+                    png_info *          const info_ptr,
588
                     enum alpha_handling const alphaHandling,
589
                     pngcolor            const bgColor,
590
                     xelval              const maxval,
591
                     int *               const pnmTypeP) {
592
 
593
     if (alphaHandling != ALPHA_ONLY &&
594
-        (imageHasColor(info_ptr) || !isGrayscale(bgColor)))
595
+        (imageHasColor(png_ptr, info_ptr) || !isGrayscale(bgColor)))
596
         *pnmTypeP = PPM_TYPE;
597
     else {
598
         if (maxval > 1)
599
@@ -787,7 +847,8 @@ determineOutputType(png_info *          const info_ptr
600
 
601
 
602
 static void
603
-getBackgroundColor(png_info *        const info_ptr,
604
+getBackgroundColor(png_structp       const png_ptr,
605
+                   png_info *        const info_ptr,
606
                    const char *      const requestedColor,
607
                    float             const totalgamma,
608
                    xelval            const maxval,
609
@@ -798,6 +859,8 @@ getBackgroundColor(png_info *        const info_ptr,
610
    Otherwise, if the PNG specifies a background color, that's the one.
611
    And otherwise, it's white.
612
 -----------------------------------------------------------------------------*/
613
+    png_color_16p background;
614
+
615
     if (requestedColor) {
616
         /* Background was specified from the command-line; we always
617
            use that.  I chose to do no gamma-correction in this case;
618
@@ -809,27 +872,32 @@ getBackgroundColor(png_info *        const info_ptr,
619
         bgColorP->g = PPM_GETG(backcolor);
620
         bgColorP->b = PPM_GETB(backcolor);
621
 
622
-    } else if (info_ptr->valid & PNG_INFO_bKGD) {
623
+    } else if (png_get_bKGD(png_ptr, info_ptr, &background) & PNG_INFO_bKGD) {
624
         /* didn't manage to get libpng to work (bugs?) concerning background
625
            processing, therefore we do our own.
626
         */
627
-        switch (info_ptr->color_type) {
628
+        switch (png_get_color_type(png_ptr, info_ptr)) {
629
         case PNG_COLOR_TYPE_GRAY:
630
         case PNG_COLOR_TYPE_GRAY_ALPHA:
631
             bgColorP->r = bgColorP->g = bgColorP->b = 
632
-                gamma_correct(info_ptr->background.gray, totalgamma);
633
+                gamma_correct(background->gray, totalgamma);
634
             break;
635
         case PNG_COLOR_TYPE_PALETTE: {
636
-            png_color const rawBgcolor = 
637
-                info_ptr->palette[info_ptr->background.index];
638
-            bgColorP->r = gamma_correct(rawBgcolor.red, totalgamma);
639
-            bgColorP->g = gamma_correct(rawBgcolor.green, totalgamma);
640
-            bgColorP->b = gamma_correct(rawBgcolor.blue, totalgamma);
641
+            png_colorp palette;
642
+            int num_palette;
643
+
644
+            if (png_get_PLTE(png_ptr, info_ptr,
645
+                             &palette, &num_palette) & PNG_INFO_PLTE) {
646
+                png_color const rawBgcolor = palette[background->index];
647
+                bgColorP->r = gamma_correct(rawBgcolor.red, totalgamma);
648
+                bgColorP->g = gamma_correct(rawBgcolor.green, totalgamma);
649
+                bgColorP->b = gamma_correct(rawBgcolor.blue, totalgamma);
650
+             }
651
         }
652
         break;
653
         case PNG_COLOR_TYPE_RGB:
654
         case PNG_COLOR_TYPE_RGB_ALPHA: {
655
-            png_color_16 const rawBgcolor = info_ptr->background;
656
+            png_color_16 const rawBgcolor = *background;
657
             
658
             bgColorP->r = gamma_correct(rawBgcolor.red,   totalgamma);
659
             bgColorP->g = gamma_correct(rawBgcolor.green, totalgamma);
660
@@ -848,6 +916,7 @@ static void
661
 writePnm(FILE *              const ofP,
662
          xelval              const maxval,
663
          int                 const pnm_type,
664
+         png_structp         const png_ptr, 
665
          png_info *          const info_ptr,
666
          png_byte **         const png_image,
667
          pngcolor            const bgColor,
668
@@ -865,6 +934,7 @@ writePnm(FILE *              const ofP,
669
 -----------------------------------------------------------------------------*/
670
     xel * xelrow;
671
     unsigned int row;
672
+    png_uint_32 width, height;
673
 
674
     if (verbose)
675
         pm_message ("writing a %s file (maxval=%u)",
676
@@ -874,27 +944,35 @@ writePnm(FILE *              const ofP,
677
                     "UNKNOWN!", 
678
                     maxval);
679
     
680
-    xelrow = pnm_allocrow(info_ptr->width);
681
+    xelrow = pnm_allocrow(png_get_image_width(png_ptr, info_ptr));
682
 
683
-    pnm_writepnminit(stdout, info_ptr->width, info_ptr->height, maxval,
684
-                     pnm_type, FALSE);
685
+    width = png_get_image_width(png_ptr, info_ptr);
686
+    height = png_get_image_height(png_ptr, info_ptr);
687
 
688
-    for (row = 0; row < info_ptr->height; ++row) {
689
+    pnm_writepnminit(stdout, width, height, maxval, pnm_type, FALSE);
690
+
691
+    for (row = 0; row < height; ++row) {
692
         png_byte * png_pixelP;
693
         int col;
694
 
695
         png_pixelP = &png_image[row][0];  /* initial value */
696
-        for (col = 0; col < info_ptr->width; ++col) {
697
-            switch (info_ptr->color_type) {
698
+        for (col = 0; col < width; ++col) {
699
+            switch (png_get_color_type(png_ptr, info_ptr)) {
700
             case PNG_COLOR_TYPE_GRAY: {
701
                 pngcolor fgColor;
702
+                png_color_16p trans_color;
703
+
704
                 fgColor.r = fgColor.g = fgColor.b = get_png_val(png_pixelP);
705
-                setXel(&xelrow[col], fgColor, bgColor, alpha_handling,
706
-                       ((info_ptr->valid & PNG_INFO_tRNS) &&
707
-                        (fgColor.r == 
708
-                         gamma_correct(info_ptr->trans_values.gray,
709
-                                       totalgamma))) ?
710
-                       0 : maxval);
711
+
712
+                if (png_get_tRNS(png_ptr, info_ptr,
713
+                                 NULL, NULL, &trans_color) & PNG_INFO_tRNS &&
714
+                    (fgColor.r ==  gamma_correct(trans_color->gray,
715
+                                                 totalgamma))) {
716
+                    setXel(&xelrow[col], fgColor, bgColor, alpha_handling, 0);
717
+                } else {
718
+                    setXel(&xelrow[col], fgColor, bgColor, alpha_handling,
719
+                           maxval);
720
+                }
721
             }
722
             break;
723
 
724
@@ -909,19 +987,31 @@ writePnm(FILE *              const ofP,
725
             break;
726
 
727
             case PNG_COLOR_TYPE_PALETTE: {
728
-                png_uint_16 const index        = get_png_val(png_pixelP);
729
-                png_color   const paletteColor = info_ptr->palette[index];
730
+                png_uint_16 const index = get_png_val(png_pixelP);
731
+                png_colorp palette;
732
+                int num_palette;
733
 
734
-                pngcolor fgColor;
735
+                if (png_get_PLTE(png_ptr, info_ptr,
736
+                                 &palette, &num_palette) & PNG_INFO_PLTE) {
737
+                    png_color const paletteColor = palette[index];
738
+                    pngcolor fgColor;
739
+                    png_bytep trans_alpha;
740
+                    int num_trans;
741
 
742
-                fgColor.r = paletteColor.red;
743
-                fgColor.g = paletteColor.green;
744
-                fgColor.b = paletteColor.blue;
745
+                    fgColor.r = paletteColor.red;
746
+                    fgColor.g = paletteColor.green;
747
+                    fgColor.b = paletteColor.blue;
748
 
749
-                setXel(&xelrow[col], fgColor, bgColor, alpha_handling,
750
-                       (info_ptr->valid & PNG_INFO_tRNS) &&
751
-                       index < info_ptr->num_trans ?
752
-                       info_ptr->trans[index] : maxval);
753
+                    if (png_get_tRNS(png_ptr, info_ptr,
754
+                                     &trans_alpha,
755
+                                     &num_trans, NULL) & PNG_INFO_tRNS) {
756
+                        setXel(&xelrow[col], fgColor, bgColor, alpha_handling,
757
+                               index < num_trans ? trans_alpha[index] : maxval);
758
+                     } else {
759
+                        setXel(&xelrow[col], fgColor, bgColor, alpha_handling,
760
+                               maxval);
761
+                     }
762
+                }
763
             }
764
             break;
765
                 
766
@@ -932,8 +1022,8 @@ writePnm(FILE *              const ofP,
767
                 fgColor.g = get_png_val(png_pixelP);
768
                 fgColor.b = get_png_val(png_pixelP);
769
                 setXel(&xelrow[col], fgColor, bgColor, alpha_handling,
770
-                       isTransparentColor(fgColor, info_ptr, totalgamma) ?
771
-                       0 : maxval);
772
+                       isTransparentColor(fgColor, png_ptr, info_ptr,
773
+                                          totalgamma) ? 0 : maxval);
774
             }
775
             break;
776
 
777
@@ -950,10 +1040,10 @@ writePnm(FILE *              const ofP,
778
             break;
779
 
780
             default:
781
-                pm_error ("unknown PNG color type: %d", info_ptr->color_type);
782
+                pm_error ("unknown PNG color type: %d", png_get_color_type(png_ptr, info_ptr));
783
             }
784
         }
785
-        pnm_writepnmrow(ofP, xelrow, info_ptr->width, maxval, pnm_type, FALSE);
786
+        pnm_writepnmrow(ofP, xelrow, width, maxval, pnm_type, FALSE);
787
     }
788
     pnm_freerow (xelrow);
789
 }
790
@@ -974,6 +1064,7 @@ convertpng(FILE *             const ifp, 
791
     int pnm_type;
792
     pngcolor bgColor;
793
     float totalgamma;
794
+    int res_x, res_y, unit_type;
795
 
796
     *errorlevelP = 0;
797
 
798
@@ -996,28 +1087,28 @@ convertpng(FILE *             const ifp, 
799
     png_set_sig_bytes (png_ptr, SIG_CHECK_SIZE);
800
     png_read_info (png_ptr, info_ptr);
801
 
802
-    MALLOCARRAY(png_image, info_ptr->height);
803
+    MALLOCARRAY(png_image, png_get_image_height(png_ptr, info_ptr));
804
     if (png_image == NULL) {
805
         png_destroy_read_struct (&png_ptr, &info_ptr, (png_infopp)NULL);
806
         pm_closer (ifp);
807
         pm_error ("couldn't allocate space for image");
808
     }
809
 
810
-    if (info_ptr->bit_depth == 16)
811
-        linesize = 2 * info_ptr->width;
812
+    if (png_get_bit_depth(png_ptr, info_ptr) == 16)
813
+        linesize = 2 * png_get_image_width(png_ptr, info_ptr);
814
     else
815
-        linesize = info_ptr->width;
816
+        linesize = png_get_image_width(png_ptr, info_ptr);
817
 
818
-    if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
819
+    if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY_ALPHA)
820
         linesize *= 2;
821
     else
822
-        if (info_ptr->color_type == PNG_COLOR_TYPE_RGB)
823
+        if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB)
824
             linesize *= 3;
825
         else
826
-            if (info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA)
827
+            if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB_ALPHA)
828
                 linesize *= 4;
829
 
830
-    for (y = 0 ; y < info_ptr->height ; y++) {
831
+    for (y = 0 ; y < png_get_image_height(png_ptr, info_ptr) ; y++) {
832
         png_image[y] = malloc (linesize);
833
         if (png_image[y] == NULL) {
834
             for (x = 0 ; x < y ; x++)
835
@@ -1029,7 +1120,7 @@ convertpng(FILE *             const ifp, 
836
         }
837
     }
838
 
839
-    if (info_ptr->bit_depth < 8)
840
+    if (png_get_bit_depth(png_ptr, info_ptr) < 8)
841
         png_set_packing (png_ptr);
842
 
843
     setupGammaCorrection(png_ptr, info_ptr, cmdline.gamma, &totalgamma);
844
@@ -1037,8 +1128,8 @@ convertpng(FILE *             const ifp, 
845
     setupSignificantBits(png_ptr, info_ptr, cmdline.alpha,
846
                          &maxval, errorlevelP);
847
 
848
-    getBackgroundColor(info_ptr, cmdline.background, totalgamma, maxval,
849
-                       &bgColor);
850
+    getBackgroundColor(png_ptr, info_ptr, cmdline.background, totalgamma,
851
+                       maxval, &bgColor);
852
 
853
     png_read_image (png_ptr, png_image);
854
     png_read_end (png_ptr, info_ptr);
855
@@ -1048,16 +1139,17 @@ convertpng(FILE *             const ifp, 
856
        completes.  That's because it comes from chunks that are at the
857
        end of the stream.
858
     */
859
-        dump_png_info(info_ptr);
860
+        dump_png_info(png_ptr, info_ptr);
861
 
862
     if (mtime)
863
-        show_time (info_ptr);
864
+        show_time (png_ptr, info_ptr);
865
     if (tfp)
866
-        save_text (info_ptr, tfp);
867
+        save_text (png_ptr, info_ptr, tfp);
868
 
869
-    if (info_ptr->valid & PNG_INFO_pHYs) {
870
+    if (png_get_pHYs(png_ptr, info_ptr,
871
+                     &res_x, &res_y, &unit_type) & PNG_INFO_pHYs) {
872
         float r;
873
-        r = (float)info_ptr->x_pixels_per_unit / info_ptr->y_pixels_per_unit;
874
+        r = (float)res_x / res_y;
875
         if (r != 1.0) {
876
             pm_message ("warning - non-square pixels; "
877
                         "to fix do a 'pamscale -%cscale %g'",
878
@@ -1067,13 +1159,13 @@ convertpng(FILE *             const ifp, 
879
         }
880
     }
881
 
882
-    determineOutputType(info_ptr, cmdline.alpha, bgColor, maxval, &pnm_type);
883
+    determineOutputType(png_ptr, info_ptr, cmdline.alpha, bgColor, maxval, &pnm_type);
884
 
885
-    writePnm(stdout, maxval, pnm_type, info_ptr, png_image, bgColor, 
886
+    writePnm(stdout, maxval, pnm_type, png_ptr, info_ptr, png_image, bgColor, 
887
              cmdline.alpha, totalgamma);
888
 
889
     fflush(stdout);
890
-    for (y = 0 ; y < info_ptr->height ; y++)
891
+    for (y = 0 ; y < png_get_image_height(png_ptr, info_ptr) ; y++)
892
         free (png_image[y]);
893
     free (png_image);
894
     png_destroy_read_struct (&png_ptr, &info_ptr, (png_infopp)NULL);
(-)graphics/netpbm/files/patch-pngtxt.c (-80 lines)
Lines 1-80 Link Here
1
$OpenBSD: patch-converter_other_pngtxt_c,v 1.1 2011/07/08 20:36:09 naddy Exp $
2
3
Fix build with png-1.5.
4
5
--- converter/other/pngtxt.c.orig	Fri Aug 18 21:12:28 2006
6
+++ converter/other/pngtxt.c	Mon Jul  4 14:21:23 2011
7
@@ -240,7 +240,8 @@ handleArrayAllocation(png_text **    const arrayP,
8
 
9
 
10
 void 
11
-pnmpng_read_text (png_info * const info_ptr, 
12
+pnmpng_read_text (png_struct * png_ptr,
13
+                  png_info * info_ptr, 
14
                   FILE *     const tfp, 
15
                   bool       const ztxt,
16
                   bool       const verbose) {
17
@@ -250,6 +251,7 @@ pnmpng_read_text (png_info * const info_ptr, 
18
     unsigned int commentIdx;
19
     bool noCommentsYet;
20
     bool eof;
21
+    png_textp text_ptr;
22
     unsigned int allocatedComments;
23
         /* Number of entries currently allocated for the info_ptr->text
24
            array 
25
@@ -257,8 +259,8 @@ pnmpng_read_text (png_info * const info_ptr, 
26
 
27
     allocatedComments = 256;  /* initial value */
28
 
29
-    MALLOCARRAY(info_ptr->text, allocatedComments);
30
-    if (info_ptr->text == NULL) 
31
+    MALLOCARRAY(text_ptr, allocatedComments);
32
+    if (text_ptr == NULL) 
33
         pm_error("unable to allocate memory for comment array");
34
 
35
     commentIdx = 0;
36
@@ -273,7 +275,7 @@ pnmpng_read_text (png_info * const info_ptr, 
37
             if (lineLength == 0) {
38
                 /* skip this empty line */
39
             } else {
40
-                handleArrayAllocation(&info_ptr->text, &allocatedComments,
41
+                handleArrayAllocation(&text_ptr, &allocatedComments,
42
                                       commentIdx);
43
                 if ((textline[0] != ' ') && (textline[0] != '\t')) {
44
                     /* Line doesn't start with white space, which
45
@@ -285,7 +287,7 @@ pnmpng_read_text (png_info * const info_ptr, 
46
                         ++commentIdx;
47
                     noCommentsYet = FALSE;
48
 
49
-                    startComment(&info_ptr->text[commentIdx], 
50
+                    startComment(&text_ptr[commentIdx], 
51
                                  textline, lineLength, ztxt);
52
                 } else {
53
                     /* Line starts with whitespace, which means it is
54
@@ -295,20 +297,20 @@ pnmpng_read_text (png_info * const info_ptr, 
55
                         pm_error("Invalid comment file format: "
56
                                  "first line is a continuation line! "
57
                                  "(It starts with whitespace)");
58
-                    continueComment(&info_ptr->text[commentIdx], 
59
+                    continueComment(&text_ptr[commentIdx], 
60
                                     textline, lineLength);
61
                 }
62
             }
63
             strfree(textline);
64
         }
65
     } 
66
-    if (noCommentsYet)
67
-        info_ptr->num_text = 0;
68
-    else
69
-        info_ptr->num_text = commentIdx + 1;
70
+    if (!noCommentsYet)
71
+        png_set_text(png_ptr, info_ptr, text_ptr, commentIdx + 1);
72
 
73
     if (verbose)
74
-        pm_message("%d comments placed in text chunk", info_ptr->num_text);
75
+        pm_message("%d comments placed in text chunk", commentIdx + 1);
76
+
77
+    free(text_ptr);
78
 }
79
 
80
 
(-)graphics/netpbm/files/patch-pngtxt.h (-16 lines)
Lines 1-16 Link Here
1
$OpenBSD: patch-converter_other_pngtxt_h,v 1.1 2011/07/08 20:36:09 naddy Exp $
2
3
Fix build with png-1.5.
4
5
--- converter/other/pngtxt.h.orig	Fri Aug 18 21:12:28 2006
6
+++ converter/other/pngtxt.h	Mon Jul  4 14:21:23 2011
7
@@ -5,7 +5,8 @@
8
 #include <png.h>
9
 
10
 void 
11
-pnmpng_read_text (png_info * const info_ptr, 
12
+pnmpng_read_text (png_struct * png_ptr,
13
+                  png_info * const info_ptr, 
14
                   FILE *     const tfp, 
15
                   bool const ztxt,
16
                   bool const verbose);
(-)graphics/netpbm/files/patch-pnmtopng.c (-402 lines)
Lines 1-402 Link Here
1
$OpenBSD: patch-converter_other_pnmtopng_c,v 1.2 2011/12/13 21:39:17 naddy Exp $
2
3
Fix build with png-1.5.
4
5
--- converter/other/pnmtopng.c.orig	Sun Sep 25 20:51:44 2011
6
+++ converter/other/pnmtopng.c	Tue Dec 13 22:22:04 2011
7
@@ -61,7 +61,8 @@
8
 #include <assert.h>
9
 #include <string.h> /* strcat() */
10
 #include <limits.h>
11
-#include <png.h>    /* includes zlib.h and setjmp.h */
12
+#include <png.h>    /* includes setjmp.h */
13
+#include <zlib.h>
14
 #include "pnm.h"
15
 #include "pngtxt.h"
16
 #include "shhopt.h"
17
@@ -69,13 +70,6 @@
18
 #include "nstring.h"
19
 #include "version.h"
20
 
21
-#if PNG_LIBPNG_VER >= 10400
22
-#error Your PNG library (<png.h>) is incompatible with this Netpbm source code.
23
-#error You need either an older PNG library (older than 1.4)
24
-#error newer Netpbm source code (at least 10.47.04)
25
-#endif
26
-
27
-
28
 struct zlibCompression {
29
     /* These are parameters that describe a form of zlib compression.
30
        Values have the same meaning as the similarly named arguments to
31
@@ -2098,6 +2092,7 @@ makePngLine(png_byte *           const line,
32
             gray *               const alpha_mask,
33
             colorhash_table      const cht,
34
             coloralphahash_table const caht,
35
+            png_struct *         const png_ptr,
36
             png_info *           const info_ptr,
37
             xelval               const png_maxval,
38
             unsigned int         const depth) {
39
@@ -2110,20 +2105,20 @@ makePngLine(png_byte *           const line,
40
         xel p_png;
41
         xel const p = xelrow[col];
42
         PPM_DEPTH(p_png, p, maxval, png_maxval);
43
-        if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY ||
44
-            info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA) {
45
+        if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY ||
46
+            png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY_ALPHA) {
47
             if (depth == 16)
48
                 *pp++ = PNM_GET1(p_png) >> 8;
49
             *pp++ = PNM_GET1(p_png) & 0xff;
50
-        } else if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE) {
51
+        } else if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_PALETTE) {
52
             unsigned int paletteIndex;
53
             if (alpha)
54
                 paletteIndex = lookupColorAlpha(caht, &p, &alpha_mask[col]);
55
             else
56
                 paletteIndex = ppm_lookupcolor(cht, &p);
57
             *pp++ = paletteIndex;
58
-        } else if (info_ptr->color_type == PNG_COLOR_TYPE_RGB ||
59
-                   info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA) {
60
+        } else if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB ||
61
+                   png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB_ALPHA) {
62
             if (depth == 16)
63
                 *pp++ = PPM_GETR(p_png) >> 8;
64
             *pp++ = PPM_GETR(p_png) & 0xff;
65
@@ -2136,7 +2131,7 @@ makePngLine(png_byte *           const line,
66
         } else
67
             pm_error("INTERNAL ERROR: undefined color_type");
68
                 
69
-        if (info_ptr->color_type & PNG_COLOR_MASK_ALPHA) {
70
+        if (png_get_color_type(png_ptr, info_ptr) & PNG_COLOR_MASK_ALPHA) {
71
             int const png_alphaval = (int)
72
                 alpha_mask[col] * (float) png_maxval / maxval + 0.5;
73
             if (depth == 16)
74
@@ -2193,7 +2188,7 @@ writeRaster(png_struct *         const png_ptr,
75
             
76
             makePngLine(line, xelrow, cols, maxval,
77
                         alpha, alpha ? alpha_mask[row] : NULL,
78
-                        cht, caht, info_ptr, png_maxval, depth);
79
+                        cht, caht, png_ptr, info_ptr, png_maxval, depth);
80
 
81
             png_write_row(png_ptr, line);
82
         }
83
@@ -2205,12 +2200,12 @@ writeRaster(png_struct *         const png_ptr,
84
 
85
 static void
86
 doGamaChunk(struct cmdlineInfo const cmdline,
87
+            png_struct *       const png_ptr,
88
             png_info *         const info_ptr) {
89
             
90
     if (cmdline.gammaSpec) {
91
         /* gAMA chunk */
92
-        info_ptr->valid |= PNG_INFO_gAMA;
93
-        info_ptr->gamma = cmdline.gamma;
94
+        png_set_gAMA(png_ptr, info_ptr, cmdline.gamma);
95
     }
96
 }
97
 
98
@@ -2218,20 +2213,15 @@ doGamaChunk(struct cmdlineInfo const cmdline,
99
 
100
 static void
101
 doChrmChunk(struct cmdlineInfo const cmdline,
102
+            png_struct *       const png_ptr,
103
             png_info *         const info_ptr) {
104
 
105
     if (cmdline.rgbSpec) {
106
         /* cHRM chunk */
107
-        info_ptr->valid |= PNG_INFO_cHRM;
108
-
109
-        info_ptr->x_white = cmdline.rgb.wx;
110
-        info_ptr->y_white = cmdline.rgb.wy;
111
-        info_ptr->x_red   = cmdline.rgb.rx;
112
-        info_ptr->y_red   = cmdline.rgb.ry;
113
-        info_ptr->x_green = cmdline.rgb.gx;
114
-        info_ptr->y_green = cmdline.rgb.gy;
115
-        info_ptr->x_blue  = cmdline.rgb.bx;
116
-        info_ptr->y_blue  = cmdline.rgb.by;
117
+	
118
+        png_set_cHRM (png_ptr, info_ptr, cmdline.rgb.wx, cmdline.rgb.wy,
119
+                      cmdline.rgb.rx, cmdline.rgb.ry, cmdline.rgb.gx,
120
+                      cmdline.rgb.gy, cmdline.rgb.bx, cmdline.rgb.by);
121
     }
122
 }
123
 
124
@@ -2239,15 +2229,12 @@ doChrmChunk(struct cmdlineInfo const cmdline,
125
 
126
 static void
127
 doPhysChunk(struct cmdlineInfo const cmdline,
128
+            png_struct *       const png_ptr,
129
             png_info *         const info_ptr) {
130
 
131
     if (cmdline.sizeSpec) {
132
         /* pHYS chunk */
133
-        info_ptr->valid |= PNG_INFO_pHYs;
134
-
135
-        info_ptr->x_pixels_per_unit = cmdline.size.x;
136
-        info_ptr->y_pixels_per_unit = cmdline.size.y;
137
-        info_ptr->phys_unit_type    = cmdline.size.unit;
138
+        png_set_pHYs(png_ptr, info_ptr, cmdline.size.x, cmdline.size.y, cmdline.size.unit);
139
     }
140
 }
141
 
142
@@ -2256,26 +2243,28 @@ doPhysChunk(struct cmdlineInfo const cmdline,
143
 
144
 static void
145
 doTimeChunk(struct cmdlineInfo const cmdline,
146
+            png_struct *       const png_ptr,
147
             png_info *         const info_ptr) {
148
 
149
     if (cmdline.modtimeSpec) {
150
         /* tIME chunk */
151
-        info_ptr->valid |= PNG_INFO_tIME;
152
-
153
-        png_convert_from_time_t(&info_ptr->mod_time, cmdline.modtime);
154
+        png_timep ptime;
155
+        png_convert_from_time_t(ptime, cmdline.modtime);
156
+        png_set_tIME(png_ptr, info_ptr, ptime);
157
     }
158
 }
159
 
160
 
161
 
162
 static void
163
-doSbitChunk(png_info * const pngInfoP,
164
+doSbitChunk(png_struct * const pngP,
165
+            png_info * const pngInfoP,
166
             xelval     const pngMaxval,
167
             xelval     const maxval,
168
             bool       const alpha,
169
             xelval     const alphaMaxval) {
170
 
171
-    if (pngInfoP->color_type != PNG_COLOR_TYPE_PALETTE &&
172
+    if (png_get_color_type(pngP, pngInfoP) != PNG_COLOR_TYPE_PALETTE &&
173
         (pngMaxval > maxval || (alpha && pngMaxval > alphaMaxval))) {
174
 
175
         /* We're writing in a bit depth that doesn't match the maxval
176
@@ -2294,27 +2283,29 @@ doSbitChunk(png_info * const pngInfoP,
177
            sBIT chunk.
178
         */
179
 
180
-        pngInfoP->valid |= PNG_INFO_sBIT;
181
-
182
         {
183
             int const sbitval = pm_maxvaltobits(MIN(maxval, pngMaxval));
184
+            png_color_8 sbit;
185
 
186
-            if (pngInfoP->color_type & PNG_COLOR_MASK_COLOR) {
187
-                pngInfoP->sig_bit.red   = sbitval;
188
-                pngInfoP->sig_bit.green = sbitval;
189
-                pngInfoP->sig_bit.blue  = sbitval;
190
+            (void)memset(&sbit, 0, sizeof(sbit));
191
+            if (png_get_color_type(pngP, pngInfoP) & PNG_COLOR_MASK_COLOR) {
192
+                sbit.red   = sbitval;
193
+                sbit.green = sbitval;
194
+                sbit.blue  = sbitval;
195
             } else
196
-                pngInfoP->sig_bit.gray = sbitval;
197
+                sbit.gray = sbitval;
198
             
199
             if (verbose)
200
                 pm_message("Writing sBIT chunk with bits = %d", sbitval);
201
+
202
+            if (png_get_color_type(pngP, pngInfoP) & PNG_COLOR_MASK_ALPHA) {
203
+                sbit.alpha =
204
+                    pm_maxvaltobits(MIN(alphaMaxval, pngMaxval));
205
+                if (verbose)
206
+                    pm_message("  alpha bits = %d", sbit.alpha);
207
+            }
208
+            png_set_sBIT(pngP, pngInfoP, &sbit);
209
         }
210
-        if (pngInfoP->color_type & PNG_COLOR_MASK_ALPHA) {
211
-            pngInfoP->sig_bit.alpha =
212
-                pm_maxvaltobits(MIN(alphaMaxval, pngMaxval));
213
-            if (verbose)
214
-                pm_message("  alpha bits = %d", pngInfoP->sig_bit.alpha);
215
-        }
216
     }
217
 }
218
 
219
@@ -2410,6 +2401,8 @@ convertpnm(struct cmdlineInfo const cmdline,
220
   xelval maxmaxval;
221
   gray ** alpha_mask;
222
 
223
+  int color_type;
224
+
225
   /* these guys are initialized to quiet compiler warnings: */
226
   maxmaxval = 255;
227
   alpha_mask = NULL;
228
@@ -2595,43 +2588,42 @@ convertpnm(struct cmdlineInfo const cmdline,
229
     pm_error ("setjmp returns error condition (2)");
230
   }
231
 
232
-  png_init_io (png_ptr, stdout);
233
-  info_ptr->width = cols;
234
-  info_ptr->height = rows;
235
-  info_ptr->bit_depth = depth;
236
-
237
   if (colorMapped)
238
-    info_ptr->color_type = PNG_COLOR_TYPE_PALETTE;
239
-  else if (pnm_type == PPM_TYPE)
240
-    info_ptr->color_type = PNG_COLOR_TYPE_RGB;
241
-  else
242
-    info_ptr->color_type = PNG_COLOR_TYPE_GRAY;
243
+    color_type = PNG_COLOR_TYPE_PALETTE;
244
+  else if (pnm_type == PPM_TYPE) {
245
+    if (alpha)
246
+      color_type = PNG_COLOR_TYPE_RGB_ALPHA;
247
+    else
248
+      color_type = PNG_COLOR_TYPE_RGB;
249
+  } else {
250
+    if (alpha)
251
+      color_type = PNG_COLOR_TYPE_GRAY_ALPHA;
252
+    else
253
+      color_type = PNG_COLOR_TYPE_GRAY;
254
+  }
255
 
256
-  if (alpha && info_ptr->color_type != PNG_COLOR_TYPE_PALETTE)
257
-    info_ptr->color_type |= PNG_COLOR_MASK_ALPHA;
258
+  png_set_IHDR(png_ptr, info_ptr, cols, rows, depth, color_type, 0, 0, 0);
259
+  png_init_io (png_ptr, stdout);
260
 
261
-  info_ptr->interlace_type = cmdline.interlace;
262
+  if (cmdline.interlace)
263
+    png_set_interlace_handling(png_ptr);
264
 
265
-  doGamaChunk(cmdline, info_ptr);
266
+  doGamaChunk(cmdline, png_ptr, info_ptr);
267
 
268
-  doChrmChunk(cmdline, info_ptr);
269
+  doChrmChunk(cmdline, png_ptr, info_ptr);
270
 
271
-  doPhysChunk(cmdline, info_ptr);
272
+  doPhysChunk(cmdline, png_ptr, info_ptr);
273
 
274
-  if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE) {
275
+  if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_PALETTE) {
276
 
277
     /* creating PNG palette  (PLTE and tRNS chunks) */
278
 
279
     createPngPalette(palette_pnm, palette_size, maxval,
280
                      trans_pnm, trans_size, alpha_maxval, 
281
                      palette, trans);
282
-    info_ptr->valid |= PNG_INFO_PLTE;
283
-    info_ptr->palette = palette;
284
-    info_ptr->num_palette = palette_size;
285
+    png_set_PLTE(png_ptr, info_ptr, palette, palette_size);
286
     if (trans_size > 0) {
287
-        info_ptr->valid |= PNG_INFO_tRNS;
288
-        info_ptr->trans = trans;
289
-        info_ptr->num_trans = trans_size;   /* omit opaque values */
290
+        png_set_tRNS(png_ptr, info_ptr, trans, trans_size, NULL);
291
     }
292
     /* creating hIST chunk */
293
     if (cmdline.hist) {
294
@@ -2657,18 +2649,17 @@ convertpnm(struct cmdlineInfo const cmdline,
295
 
296
         ppm_freecolorhash(cht);
297
 
298
-        info_ptr->valid |= PNG_INFO_hIST;
299
-        info_ptr->hist = histogram;
300
+        png_set_hIST(png_ptr, info_ptr, histogram);
301
         if (verbose)
302
             pm_message("histogram created");
303
     }
304
   } else { /* color_type != PNG_COLOR_TYPE_PALETTE */
305
-    if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY ||
306
-        info_ptr->color_type == PNG_COLOR_TYPE_RGB) {
307
+    if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY ||
308
+        png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB) {
309
         if (transparent > 0) {
310
-            info_ptr->valid |= PNG_INFO_tRNS;
311
-            info_ptr->trans_values = 
312
-                xelToPngColor_16(transcolor, maxval, png_maxval);
313
+            png_color_16 trans_color = xelToPngColor_16(transcolor, maxval, png_maxval);
314
+            png_set_tRNS(png_ptr, info_ptr, NULL, 0, &trans_color);
315
+                
316
         }
317
     } else {
318
         /* This is PNG_COLOR_MASK_ALPHA.  Transparency will be handled
319
@@ -2676,43 +2667,49 @@ convertpnm(struct cmdlineInfo const cmdline,
320
         */
321
     }
322
     if (verbose) {
323
-        if (info_ptr->valid && PNG_INFO_tRNS) 
324
+        if (png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS)) {
325
+            png_color_16p trans_color;
326
+
327
+            png_get_tRNS(png_ptr, info_ptr, NULL, NULL, &trans_color);
328
             pm_message("Transparent color {gray, red, green, blue} = "
329
                        "{%d, %d, %d, %d}",
330
-                       info_ptr->trans_values.gray,
331
-                       info_ptr->trans_values.red,
332
-                       info_ptr->trans_values.green,
333
-                       info_ptr->trans_values.blue);
334
-        else
335
+                       trans_color->gray,
336
+                       trans_color->red,
337
+                       trans_color->green,
338
+                       trans_color->blue);
339
+        } else
340
             pm_message("No transparent color");
341
     }
342
   }
343
 
344
   /* bKGD chunk */
345
   if (cmdline.background) {
346
-      info_ptr->valid |= PNG_INFO_bKGD;
347
-      if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE) {
348
-          info_ptr->background.index = background_index;
349
+      if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_PALETTE) {
350
+          png_color_16 background;
351
+
352
+          (void)memset(&background, 0, sizeof(background));
353
+          background.index = background_index;
354
+          png_set_bKGD(png_ptr, info_ptr, &background);
355
       } else {
356
-          info_ptr->background = 
357
-              xelToPngColor_16(backcolor, maxval, png_maxval);
358
+          png_color_16 background = xelToPngColor_16(backcolor, maxval, png_maxval);
359
+          png_set_bKGD(png_ptr, info_ptr, &background);
360
           if (verbose)
361
               pm_message("Writing bKGD chunk with background color "
362
                          " {gray, red, green, blue} = {%d, %d, %d, %d}",
363
-                         info_ptr->background.gray, 
364
-                         info_ptr->background.red, 
365
-                         info_ptr->background.green, 
366
-                         info_ptr->background.blue ); 
367
+                         background.gray, 
368
+                         background.red, 
369
+                         background.green, 
370
+                         background.blue ); 
371
       }
372
   }
373
 
374
-  doSbitChunk(info_ptr, png_maxval, maxval, alpha, alpha_maxval);
375
+  doSbitChunk(png_ptr, info_ptr, png_maxval, maxval, alpha, alpha_maxval);
376
 
377
   /* tEXT and zTXT chunks */
378
   if (cmdline.text || cmdline.ztxt)
379
-      pnmpng_read_text(info_ptr, tfp, !!cmdline.ztxt, cmdline.verbose);
380
+      pnmpng_read_text(png_ptr, info_ptr, tfp, !!cmdline.ztxt, cmdline.verbose);
381
 
382
-  doTimeChunk(cmdline, info_ptr);
383
+  doTimeChunk(cmdline, png_ptr, info_ptr);
384
 
385
   if (cmdline.filterSet != 0)
386
       png_set_filter(png_ptr, 0, cmdline.filterSet);
387
@@ -2722,6 +2719,7 @@ convertpnm(struct cmdlineInfo const cmdline,
388
   /* write the png-info struct */
389
   png_write_info(png_ptr, info_ptr);
390
 
391
+#if 0
392
   if (cmdline.text || cmdline.ztxt)
393
       /* prevent from being written twice with png_write_end */
394
       info_ptr->num_text = 0;
395
@@ -2729,6 +2727,7 @@ convertpnm(struct cmdlineInfo const cmdline,
396
   if (cmdline.modtime)
397
       /* prevent from being written twice with png_write_end */
398
       info_ptr->valid &= ~PNG_INFO_tIME;
399
+#endif
400
 
401
   /* let libpng take care of, e.g., bit-depth conversions */
402
   png_set_packing (png_ptr);
(-)graphics/netpbm/files/patch-ppmquantall (-55 lines)
Lines 1-55 Link Here
1
--- editor/ppmquantall.orig	2009-04-28 03:43:45.000000000 +0200
2
+++ editor/ppmquantall	2013-12-30 12:26:49.000000000 +0100
3
@@ -53,8 +53,6 @@
4
 
5
 newcolors=$1
6
 shift
7
-nfiles=$#
8
-files=($@)
9
 
10
 # Extract the width and height of each of the images.
11
 # Here, we make the assumption that the width and height are on the
12
@@ -62,14 +60,6 @@
13
 # To be robust, we need to use Pnmfile to get that information, or 
14
 # Put this program in C and use ppm_readppminit().
15
 
16
-widths=()
17
-heights=()
18
-
19
-for i in ${files[@]}; do
20
-    widths=(${widths[*]} `grep -v '^#' $i | sed '1d; s/ .*//; 2q'`)
21
-    heights=(${heights[*]} `grep -v '^#' $i | sed '1d; s/.* //; 2q'`)
22
-done
23
-
24
 tempdir="${TMPDIR-/tmp}/ppmquantall.$$"
25
 mkdir $tempdir || { echo "Could not create temporary file. Exiting."; exit 1;}
26
 chmod 700 $tempdir
27
@@ -78,7 +68,7 @@
28
 
29
 all=$tempdir/pqa.all.$$
30
 
31
-pnmcat -topbottom -jleft -white ${files[@]} | pnmquant $newcolors > $all
32
+pnmcat -topbottom -jleft -white "$@" | pnmquant $newcolors > $all
33
 if [ $? != 0 ]; then
34
     exit $?
35
 fi
36
@@ -86,12 +76,15 @@
37
 y=0
38
 i=0
39
 
40
-while [ $i -lt $nfiles ]; do
41
-    pamcut -left 0 -top $y -width ${widths[$i]} -height ${heights[$i]} $all \
42
-        > ${files[$i]}$ext
43
+for f in "$@"; do
44
+    width=`grep -v '^#' "$f" | sed '1d; s/ .*//; 2q'`
45
+    height=`grep -v '^#' "$f" | sed '1d; s/.* //; 2q'`
46
+
47
+    pamcut -left 0 -top $y -width $width -height $height $all \
48
+        > "$f$ext"
49
     if [ $? != 0 ]; then
50
         exit $?
51
     fi
52
-    y=$(($y + ${heights[$i]}))
53
+    y=$(($y + $height))
54
     i=$(($i + 1))
55
 done
(-)graphics/netpbm/files/patch-ppmquantall.csh (-13 lines)
Lines 1-13 Link Here
1
--- editor/ppmquantall.csh.orig	2006-08-19 05:12:28.000000000 +0200
2
+++ editor/ppmquantall.csh	2013-12-25 21:56:17.183814873 +0100
3
@@ -30,8 +30,8 @@
4
 set widths=()
5
 set heights=()
6
 foreach i ( $files )
7
-    set widths=( $widths `sed '1d; s/ .*//; 2q' $i` )
8
-    set heights=( $heights `sed '1d; s/.* //; 2q' $i` )
9
+    set widths=( $widths `grep -v '^#' "$i" | sed '1d; s/ .*//; 2q'` )
10
+    set heights=( $heights `grep -v '^#' "$i" | sed '1d; s/.* //; 2q'` )
11
 end
12
 
13
 set all=/tmp/pqa.all.$$
(-)graphics/netpbm/files/patch-ppmtompeg-Makefile (-12 lines)
Lines 1-12 Link Here
1
--- converter/ppm/ppmtompeg/Makefile.orig	2008-12-07 02:58:20.000000000 +0100
2
+++ converter/ppm/ppmtompeg/Makefile	2011-05-11 06:01:02.000000000 +0200
3
@@ -18,7 +18,8 @@
4
   JPEGLIBX = $(JPEGLIB)
5
 endif
6
 
7
-INCLUDES = -I$(SRCDIR)/$(SUBDIR)/headers 
8
+INCLUDES = 
9
+PREINCLUDES = -I$(SRCDIR)/$(SUBDIR)/headers 
10
 
11
 ifneq ($(JPEGHDR_DIR),NONE)
12
   ifneq ($(JPEGHDR_DIR)x,x)
(-)graphics/netpbm/pkg-descr (-8 / +8 lines)
Lines 1-10 Link Here
1
Netpbm is a toolkit for conversion of images between a variety of
1
Netpbm is a toolkit for manipulation of graphic images, including
2
different formats, as well as to allow a few basic image operations.
2
conversion of images between a variety of different formats.  There
3
Netpbm is based on the widely spread Pbmplus package (release: 10 Dec
3
are over 300 separate tools in the package including converters for
4
91).  On top of that, a lot of improvements and additions have been
4
about 100 graphics formats.
5
made. After the latest release of Pbmplus, a lot of additional filters
6
have been circulating on the net. The aim of Netpbm was, to collect
7
these and to turn them into a package. This work has been performed by
8
a group of programmers all over the world.
9
5
6
Examples of supported image manipulations: Shrinking an image by 10%;
7
Cutting the top half off of an image; Making a mirror image; Creating
8
a sequence of images that fade from one image to another.
9
10
WWW: http://netpbm.sourceforge.net/
10
WWW: http://netpbm.sourceforge.net/
(-)graphics/netpbm/pkg-plist (-49 / +175 lines)
Lines 2-12 Link Here
2
bin/anytopnm
2
bin/anytopnm
3
bin/asciitopgm
3
bin/asciitopgm
4
bin/atktopbm
4
bin/atktopbm
5
bin/avstopam
5
bin/bioradtopgm
6
bin/bioradtopgm
6
bin/bmptopnm
7
bin/bmptopnm
7
bin/bmptoppm
8
bin/bmptoppm
8
bin/brushtopbm
9
bin/brushtopbm
9
bin/cameratopam
10
bin/cameratopam
11
bin/cistopbm
10
bin/cmuwmtopbm
12
bin/cmuwmtopbm
11
bin/ddbugtopbm
13
bin/ddbugtopbm
12
bin/escp2topbm
14
bin/escp2topbm
Lines 27-32 Link Here
27
bin/imgtoppm
29
bin/imgtoppm
28
bin/infotopam
30
bin/infotopam
29
bin/jbigtopnm
31
bin/jbigtopnm
32
bin/jpeg2ktopam
30
bin/jpegtopnm
33
bin/jpegtopnm
31
bin/leaftoppm
34
bin/leaftoppm
32
bin/lispmtopgm
35
bin/lispmtopgm
Lines 39-47 Link Here
39
bin/palmtopnm
42
bin/palmtopnm
40
bin/pamaddnoise
43
bin/pamaddnoise
41
bin/pamarith
44
bin/pamarith
45
bin/pambackground
42
bin/pambayer
46
bin/pambayer
43
bin/pamchannel
47
bin/pamchannel
44
bin/pamcomp
48
bin/pamcomp
49
bin/pamcrater
45
bin/pamcut
50
bin/pamcut
46
bin/pamdeinterlace
51
bin/pamdeinterlace
47
bin/pamdepth
52
bin/pamdepth
Lines 50-56 Link Here
50
bin/pamedge
55
bin/pamedge
51
bin/pamendian
56
bin/pamendian
52
bin/pamenlarge
57
bin/pamenlarge
58
bin/pamexec
53
bin/pamfile
59
bin/pamfile
60
bin/pamfix
61
%%PERL%%bin/pamfixtrunc
54
bin/pamflip
62
bin/pamflip
55
bin/pamfunc
63
bin/pamfunc
56
bin/pamgauss
64
bin/pamgauss
Lines 58-72 Link Here
58
bin/pamlookup
66
bin/pamlookup
59
bin/pammasksharpen
67
bin/pammasksharpen
60
bin/pammixinterlace
68
bin/pammixinterlace
69
bin/pammosaicknit
61
bin/pamoil
70
bin/pamoil
71
bin/pampaintspill
62
bin/pamperspective
72
bin/pamperspective
63
bin/pampick
73
bin/pampick
64
bin/pampop9
74
bin/pampop9
75
bin/pamrecolor
65
bin/pamrgbatopng
76
bin/pamrgbatopng
77
bin/pamrubber
66
bin/pamscale
78
bin/pamscale
67
bin/pamseq
79
bin/pamseq
80
bin/pamshadedrelief
68
bin/pamsharpmap
81
bin/pamsharpmap
69
bin/pamsharpness
82
bin/pamsharpness
83
bin/pamsistoaglyph
70
bin/pamslice
84
bin/pamslice
71
bin/pamsplit
85
bin/pamsplit
72
bin/pamstack
86
bin/pamstack
Lines 77-98 Link Here
77
bin/pamsummcol
91
bin/pamsummcol
78
bin/pamthreshold
92
bin/pamthreshold
79
bin/pamtilt
93
bin/pamtilt
94
bin/pamtoavs
80
bin/pamtodjvurle
95
bin/pamtodjvurle
81
bin/pamtofits
96
bin/pamtofits
97
bin/pamtogif
82
bin/pamtohdiff
98
bin/pamtohdiff
83
bin/pamtohtmltbl
99
bin/pamtohtmltbl
100
bin/pamtojpeg2k
101
bin/pamtompfont
102
bin/pamtooctaveimg
103
bin/pamtopam
104
bin/pamtopdbimg
84
bin/pamtopfm
105
bin/pamtopfm
106
bin/pamtopng
85
bin/pamtopnm
107
bin/pamtopnm
108
bin/pamtosrf
86
bin/pamtosvg
109
bin/pamtosvg
87
bin/pamtotga
110
bin/pamtotga
88
bin/pamtotiff
111
bin/pamtotiff
89
bin/pamtouil
112
bin/pamtouil
113
bin/pamtowinicon
90
bin/pamtoxvmini
114
bin/pamtoxvmini
115
bin/pamundice
116
bin/pamunlookup
117
bin/pamvalidate
118
bin/pamwipeout
91
%%X11%%bin/pamx
119
%%X11%%bin/pamx
92
bin/pbmclean
120
bin/pbmclean
93
bin/pbmlife
121
bin/pbmlife
94
bin/pbmmake
122
bin/pbmmake
95
bin/pbmmask
123
bin/pbmmask
124
bin/pbmminkowski
96
bin/pbmpage
125
bin/pbmpage
97
bin/pbmpscale
126
bin/pbmpscale
98
bin/pbmreduce
127
bin/pbmreduce
Lines 103-108 Link Here
103
bin/pbmtoascii
132
bin/pbmtoascii
104
bin/pbmtoatk
133
bin/pbmtoatk
105
bin/pbmtobbnbg
134
bin/pbmtobbnbg
135
bin/pbmtocis
106
bin/pbmtocmuwm
136
bin/pbmtocmuwm
107
bin/pbmtodjvurle
137
bin/pbmtodjvurle
108
bin/pbmtoepsi
138
bin/pbmtoepsi
Lines 111-116 Link Here
111
bin/pbmtog3
141
bin/pbmtog3
112
bin/pbmtogem
142
bin/pbmtogem
113
bin/pbmtogo
143
bin/pbmtogo
144
bin/pbmtoibm23xx
114
bin/pbmtoicon
145
bin/pbmtoicon
115
bin/pbmtolj
146
bin/pbmtolj
116
bin/pbmtoln03
147
bin/pbmtoln03
Lines 128-135 Link Here
128
bin/pbmtoppa
159
bin/pbmtoppa
129
bin/pbmtopsg3
160
bin/pbmtopsg3
130
bin/pbmtoptx
161
bin/pbmtoptx
162
bin/pbmtosunicon
131
bin/pbmtowbmp
163
bin/pbmtowbmp
132
bin/pbmtox10bm
164
%%PERL%%bin/pbmtox10bm
133
bin/pbmtoxbm
165
bin/pbmtoxbm
134
bin/pbmtoybm
166
bin/pbmtoybm
135
bin/pbmtozinc
167
bin/pbmtozinc
Lines 137-146 Link Here
137
bin/pc1toppm
169
bin/pc1toppm
138
bin/pcdovtoppm
170
bin/pcdovtoppm
139
bin/pcxtoppm
171
bin/pcxtoppm
172
bin/pdbimgtopam
140
bin/pfmtopam
173
bin/pfmtopam
141
bin/pgmabel
174
bin/pgmabel
142
bin/pgmbentley
175
bin/pgmbentley
143
bin/pgmcrater
176
%%PERL%%bin/pgmcrater
144
bin/pgmdeshadow
177
bin/pgmdeshadow
145
bin/pgmedge
178
bin/pgmedge
146
bin/pgmenhance
179
bin/pgmenhance
Lines 161-171 Link Here
161
bin/pgmtopbm
194
bin/pgmtopbm
162
bin/pgmtopgm
195
bin/pgmtopgm
163
bin/pgmtoppm
196
bin/pgmtoppm
197
bin/pgmtosbig
198
bin/pgmtost4
164
bin/pi1toppm
199
bin/pi1toppm
165
bin/pi3topbm
200
bin/pi3topbm
166
bin/picttoppm
201
bin/picttoppm
167
bin/pjtoppm
202
bin/pjtoppm
168
bin/pktopbm
203
bin/pktopbm
204
bin/pngtopam
169
bin/pngtopnm
205
bin/pngtopnm
170
bin/pnmalias
206
bin/pnmalias
171
bin/pnmarith
207
bin/pnmarith
Lines 178-184 Link Here
178
bin/pnmdepth
214
bin/pnmdepth
179
bin/pnmenlarge
215
bin/pnmenlarge
180
bin/pnmfile
216
bin/pnmfile
181
bin/pnmflip
217
%%PERL%%bin/pnmflip
182
bin/pnmgamma
218
bin/pnmgamma
183
bin/pnmhisteq
219
bin/pnmhisteq
184
bin/pnmhistmap
220
bin/pnmhistmap
Lines 186-191 Link Here
186
bin/pnminterp
222
bin/pnminterp
187
bin/pnminvert
223
bin/pnminvert
188
bin/pnmmargin
224
bin/pnmmargin
225
bin/pnmmercator
189
bin/pnmmontage
226
bin/pnmmontage
190
bin/pnmnlfilt
227
bin/pnmnlfilt
191
bin/pnmnoraw
228
bin/pnmnoraw
Lines 193-199 Link Here
193
bin/pnmpad
230
bin/pnmpad
194
bin/pnmpaste
231
bin/pnmpaste
195
bin/pnmpsnr
232
bin/pnmpsnr
196
bin/pnmquant
233
%%PERL%%bin/pnmquant
234
%%PERL%%bin/pnmquantall
197
bin/pnmremap
235
bin/pnmremap
198
bin/pnmrotate
236
bin/pnmrotate
199
bin/pnmscale
237
bin/pnmscale
Lines 234-240 Link Here
234
bin/ppmdither
272
bin/ppmdither
235
bin/ppmdmkfont
273
bin/ppmdmkfont
236
bin/ppmdraw
274
bin/ppmdraw
237
bin/ppmfade
275
%%PERL%%bin/ppmfade
238
bin/ppmflash
276
bin/ppmflash
239
bin/ppmforge
277
bin/ppmforge
240
bin/ppmglobe
278
bin/ppmglobe
Lines 245-264 Link Here
245
bin/ppmnorm
283
bin/ppmnorm
246
bin/ppmntsc
284
bin/ppmntsc
247
bin/ppmpat
285
bin/ppmpat
248
bin/ppmquant
286
%%PERL%%bin/ppmquant
249
bin/ppmquantall
287
bin/ppmquantall
250
bin/ppmrainbow
288
%%PERL%%bin/ppmrainbow
251
bin/ppmrelief
289
bin/ppmrelief
252
bin/ppmrough
290
bin/ppmrough
253
bin/ppmshadow
291
%%PERL%%bin/ppmshadow
254
bin/ppmshift
292
bin/ppmshift
255
bin/ppmspread
293
bin/ppmspread
256
bin/ppmtoacad
294
bin/ppmtoacad
295
bin/ppmtoapplevol
257
bin/ppmtoarbtxt
296
bin/ppmtoarbtxt
297
bin/ppmtoascii
258
bin/ppmtobmp
298
bin/ppmtobmp
259
bin/ppmtoeyuv
299
bin/ppmtoeyuv
260
bin/ppmtogif
300
bin/ppmtogif
261
bin/pbmtoibm23xx
262
bin/ppmtoicr
301
bin/ppmtoicr
263
bin/ppmtoilbm
302
bin/ppmtoilbm
264
bin/ppmtojpeg
303
bin/ppmtojpeg
Lines 278-285 Link Here
278
bin/ppmtopuzz
317
bin/ppmtopuzz
279
bin/ppmtorgb3
318
bin/ppmtorgb3
280
bin/ppmtosixel
319
bin/ppmtosixel
320
bin/ppmtospu
321
bin/ppmtoterm
281
bin/ppmtotga
322
bin/ppmtotga
282
bin/ppmtoterm
283
bin/ppmtouil
323
bin/ppmtouil
284
bin/ppmtowinicon
324
bin/ppmtowinicon
285
bin/ppmtoxpm
325
bin/ppmtoxpm
Lines 303-313 Link Here
303
bin/spctoppm
343
bin/spctoppm
304
bin/spottopgm
344
bin/spottopgm
305
bin/sputoppm
345
bin/sputoppm
306
bin/svgtopam
346
bin/srftopam
347
bin/st4topgm
348
bin/sunicontopnm
349
%%SVGTOPAM%%bin/svgtopam
307
bin/tgatoppm
350
bin/tgatoppm
308
bin/thinkjettopbm
351
bin/thinkjettopbm
309
bin/tifftopnm
352
bin/tifftopnm
310
bin/wbmptopbm
353
bin/wbmptopbm
354
bin/winicontopam
311
bin/winicontoppm
355
bin/winicontoppm
312
bin/xbmtopbm
356
bin/xbmtopbm
313
bin/ximtoppm
357
bin/ximtoppm
Lines 317-357 Link Here
317
bin/ybmtopbm
361
bin/ybmtopbm
318
bin/yuvsplittoppm
362
bin/yuvsplittoppm
319
bin/yuvtoppm
363
bin/yuvtoppm
364
bin/yuy2topam
320
bin/zeisstopnm
365
bin/zeisstopnm
321
include/bitio.h
366
include/netpbm/colorname.h
322
include/colorname.h
367
include/netpbm/mallocvar.h
323
include/mallocvar.h
368
include/netpbm/pam.h
324
include/nstring.h
369
include/netpbm/pamdraw.h
325
include/shhopt.h
370
include/netpbm/pammap.h
326
include/pam.h
371
include/netpbm/pbm.h
327
include/pammap.h
372
include/netpbm/pbmfont.h
328
include/pbm.h
373
include/netpbm/pgm.h
329
include/pbmfont.h
374
include/netpbm/pm.h
330
include/pgm.h
375
include/netpbm/pm_c_util.h
331
include/pm.h
376
include/netpbm/pm_config.h
332
include/pm_c_util.h
377
include/netpbm/pm_gamma.h
333
include/pm_config.h
378
include/netpbm/pm_system.h
334
include/pm_gamma.h
379
include/netpbm/pnm.h
335
include/pm_system.h
380
include/netpbm/ppm.h
336
include/pnm.h
381
include/netpbm/ppmcmap.h
337
include/ppm.h
382
include/netpbm/ppmdfont.h
338
include/ppmcmap.h
383
include/netpbm/ppmdraw.h
339
include/ppmfloyd.h
384
include/netpbm/ppmfloyd.h
385
include/netpbm/runlength.h
386
include/netpbm/shhopt.h
340
lib/libnetpbm.a
387
lib/libnetpbm.a
341
lib/libnetpbm.so
388
lib/libnetpbm.so
342
lib/libnetpbm.so.1
389
lib/libnetpbm.so.11
390
lib/libnetpbm.so.11.78
343
%%MANPAGES%%man/man1/411toppm.1.gz
391
%%MANPAGES%%man/man1/411toppm.1.gz
344
%%MANPAGES%%man/man1/anytopnm.1.gz
392
%%MANPAGES%%man/man1/anytopnm.1.gz
345
%%MANPAGES%%man/man1/asciitopgm.1.gz
393
%%MANPAGES%%man/man1/asciitopgm.1.gz
346
%%MANPAGES%%man/man1/atktopbm.1.gz
394
%%MANPAGES%%man/man1/atktopbm.1.gz
395
%%MANPAGES%%man/man1/avstopam.1.gz
347
%%MANPAGES%%man/man1/bioradtopgm.1.gz
396
%%MANPAGES%%man/man1/bioradtopgm.1.gz
348
%%MANPAGES%%man/man1/bmptopnm.1.gz
397
%%MANPAGES%%man/man1/bmptopnm.1.gz
349
%%MANPAGES%%man/man1/bmptoppm.1.gz
398
%%MANPAGES%%man/man1/bmptoppm.1.gz
350
%%MANPAGES%%man/man1/brushtopbm.1.gz
399
%%MANPAGES%%man/man1/brushtopbm.1.gz
400
%%MANPAGES%%man/man1/cameratopam.1.gz
401
%%MANPAGES%%man/man1/cistopbm.1.gz
351
%%MANPAGES%%man/man1/cmuwmtopbm.1.gz
402
%%MANPAGES%%man/man1/cmuwmtopbm.1.gz
352
%%MANPAGES%%man/man1/ddbugtopbm.1.gz
403
%%MANPAGES%%man/man1/ddbugtopbm.1.gz
353
%%MANPAGES%%man/man1/escp2topbm.1.gz
404
%%MANPAGES%%man/man1/escp2topbm.1.gz
354
%%MANPAGES%%man/man1/eyuvtoppm.1.gz
405
%%MANPAGES%%man/man1/eyuvtoppm.1.gz
406
%%MANPAGES%%man/man1/faxformat.1.gz
355
%%MANPAGES%%man/man1/fiascotopnm.1.gz
407
%%MANPAGES%%man/man1/fiascotopnm.1.gz
356
%%MANPAGES%%man/man1/fitstopnm.1.gz
408
%%MANPAGES%%man/man1/fitstopnm.1.gz
357
%%MANPAGES%%man/man1/fstopgm.1.gz
409
%%MANPAGES%%man/man1/fstopgm.1.gz
Lines 373-378 Link Here
373
%%MANPAGES%%man/man1/leaftoppm.1.gz
425
%%MANPAGES%%man/man1/leaftoppm.1.gz
374
%%MANPAGES%%man/man1/lispmtopgm.1.gz
426
%%MANPAGES%%man/man1/lispmtopgm.1.gz
375
%%MANPAGES%%man/man1/macptopbm.1.gz
427
%%MANPAGES%%man/man1/macptopbm.1.gz
428
%%MANPAGES%%man/man1/manweb.1.gz
376
%%MANPAGES%%man/man1/mdatopbm.1.gz
429
%%MANPAGES%%man/man1/mdatopbm.1.gz
377
%%MANPAGES%%man/man1/mgrtopbm.1.gz
430
%%MANPAGES%%man/man1/mgrtopbm.1.gz
378
%%MANPAGES%%man/man1/mrf.1.gz
431
%%MANPAGES%%man/man1/mrf.1.gz
Lines 379-427 Link Here
379
%%MANPAGES%%man/man1/mrftopbm.1.gz
432
%%MANPAGES%%man/man1/mrftopbm.1.gz
380
%%MANPAGES%%man/man1/mtvtoppm.1.gz
433
%%MANPAGES%%man/man1/mtvtoppm.1.gz
381
%%MANPAGES%%man/man1/neotoppm.1.gz
434
%%MANPAGES%%man/man1/neotoppm.1.gz
382
man/man1/netpbm.1.gz
435
%%MANPAGES%%man/man1/netpbm.1.gz
383
%%MANPAGES%%man/man1/palmtopnm.1.gz
436
%%MANPAGES%%man/man1/palmtopnm.1.gz
437
%%MANPAGES%%man/man1/pamaddnoise.1.gz
384
%%MANPAGES%%man/man1/pamarith.1.gz
438
%%MANPAGES%%man/man1/pamarith.1.gz
439
%%MANPAGES%%man/man1/pambackground.1.gz
440
%%MANPAGES%%man/man1/pambayer.1.gz
385
%%MANPAGES%%man/man1/pamchannel.1.gz
441
%%MANPAGES%%man/man1/pamchannel.1.gz
386
%%MANPAGES%%man/man1/pamcomp.1.gz
442
%%MANPAGES%%man/man1/pamcomp.1.gz
443
%%MANPAGES%%man/man1/pamcrater.1.gz
387
%%MANPAGES%%man/man1/pamcut.1.gz
444
%%MANPAGES%%man/man1/pamcut.1.gz
388
%%MANPAGES%%man/man1/pamdeinterlace.1.gz
445
%%MANPAGES%%man/man1/pamdeinterlace.1.gz
446
%%MANPAGES%%man/man1/pamdepth.1.gz
389
%%MANPAGES%%man/man1/pamdice.1.gz
447
%%MANPAGES%%man/man1/pamdice.1.gz
390
%%MANPAGES%%man/man1/pamditherbw.1.gz
448
%%MANPAGES%%man/man1/pamditherbw.1.gz
391
%%MANPAGES%%man/man1/pamedge.1.gz
449
%%MANPAGES%%man/man1/pamedge.1.gz
392
%%MANPAGES%%man/man1/pamendian.1.gz
450
%%MANPAGES%%man/man1/pamendian.1.gz
451
%%MANPAGES%%man/man1/pamenlarge.1.gz
452
%%MANPAGES%%man/man1/pamexec.1.gz
393
%%MANPAGES%%man/man1/pamfile.1.gz
453
%%MANPAGES%%man/man1/pamfile.1.gz
454
%%MANPAGES%%man/man1/pamfix.1.gz
455
%%PERL%%%%MANPAGES%%man/man1/pamfixtrunc.1.gz
394
%%MANPAGES%%man/man1/pamflip.1.gz
456
%%MANPAGES%%man/man1/pamflip.1.gz
395
%%MANPAGES%%man/man1/pamfunc.1.gz
457
%%MANPAGES%%man/man1/pamfunc.1.gz
396
%%MANPAGES%%man/man1/pamgauss.1.gz
458
%%MANPAGES%%man/man1/pamgauss.1.gz
459
%%MANPAGES%%man/man1/pamgradient.1.gz
397
%%MANPAGES%%man/man1/pamlookup.1.gz
460
%%MANPAGES%%man/man1/pamlookup.1.gz
461
%%MANPAGES%%man/man1/pammasksharpen.1.gz
462
%%MANPAGES%%man/man1/pammixinterlace.1.gz
463
%%MANPAGES%%man/man1/pammosaicknit.1.gz
398
%%MANPAGES%%man/man1/pamoil.1.gz
464
%%MANPAGES%%man/man1/pamoil.1.gz
465
%%MANPAGES%%man/man1/pampaintspill.1.gz
399
%%MANPAGES%%man/man1/pamperspective.1.gz
466
%%MANPAGES%%man/man1/pamperspective.1.gz
467
%%MANPAGES%%man/man1/pampick.1.gz
400
%%MANPAGES%%man/man1/pampop9.1.gz
468
%%MANPAGES%%man/man1/pampop9.1.gz
469
%%MANPAGES%%man/man1/pamrecolor.1.gz
470
%%MANPAGES%%man/man1/pamrgbatopng.1.gz
471
%%MANPAGES%%man/man1/pamrubber.1.gz
401
%%MANPAGES%%man/man1/pamscale.1.gz
472
%%MANPAGES%%man/man1/pamscale.1.gz
402
%%MANPAGES%%man/man1/pamseq.1.gz
473
%%MANPAGES%%man/man1/pamseq.1.gz
474
%%MANPAGES%%man/man1/pamshadedrelief.1.gz
403
%%MANPAGES%%man/man1/pamsharpmap.1.gz
475
%%MANPAGES%%man/man1/pamsharpmap.1.gz
404
%%MANPAGES%%man/man1/pamsharpness.1.gz
476
%%MANPAGES%%man/man1/pamsharpness.1.gz
477
%%MANPAGES%%man/man1/pamsistoaglyph.1.gz
405
%%MANPAGES%%man/man1/pamslice.1.gz
478
%%MANPAGES%%man/man1/pamslice.1.gz
479
%%MANPAGES%%man/man1/pamsplit.1.gz
406
%%MANPAGES%%man/man1/pamstack.1.gz
480
%%MANPAGES%%man/man1/pamstack.1.gz
407
%%MANPAGES%%man/man1/pamstereogram.1.gz
481
%%MANPAGES%%man/man1/pamstereogram.1.gz
408
%%MANPAGES%%man/man1/pamstretch-gen.1.gz
482
%%MANPAGES%%man/man1/pamstretch-gen.1.gz
409
%%MANPAGES%%man/man1/pamstretch.1.gz
483
%%MANPAGES%%man/man1/pamstretch.1.gz
484
%%MANPAGES%%man/man1/pamsumm.1.gz
410
%%MANPAGES%%man/man1/pamsummcol.1.gz
485
%%MANPAGES%%man/man1/pamsummcol.1.gz
411
%%MANPAGES%%man/man1/pamsumm.1.gz
486
%%MANPAGES%%man/man1/pamtable.1.gz
487
%%MANPAGES%%man/man1/pamthreshold.1.gz
488
%%MANPAGES%%man/man1/pamtilt.1.gz
489
%%MANPAGES%%man/man1/pamtoavs.1.gz
412
%%MANPAGES%%man/man1/pamtodjvurle.1.gz
490
%%MANPAGES%%man/man1/pamtodjvurle.1.gz
491
%%MANPAGES%%man/man1/pamtofits.1.gz
492
%%MANPAGES%%man/man1/pamtogif.1.gz
413
%%MANPAGES%%man/man1/pamtohdiff.1.gz
493
%%MANPAGES%%man/man1/pamtohdiff.1.gz
414
%%MANPAGES%%man/man1/pamtohtmltbl.1.gz
494
%%MANPAGES%%man/man1/pamtohtmltbl.1.gz
415
%%MANPAGES%%man/man1/pamtojpeg2k.1.gz
495
%%MANPAGES%%man/man1/pamtojpeg2k.1.gz
496
%%MANPAGES%%man/man1/pamtompfont.1.gz
497
%%MANPAGES%%man/man1/pamtooctaveimg.1.gz
498
%%MANPAGES%%man/man1/pamtopam.1.gz
499
%%MANPAGES%%man/man1/pamtopdbimg.1.gz
416
%%MANPAGES%%man/man1/pamtopfm.1.gz
500
%%MANPAGES%%man/man1/pamtopfm.1.gz
501
%%MANPAGES%%man/man1/pamtopng.1.gz
417
%%MANPAGES%%man/man1/pamtopnm.1.gz
502
%%MANPAGES%%man/man1/pamtopnm.1.gz
503
%%MANPAGES%%man/man1/pamtosrf.1.gz
504
%%MANPAGES%%man/man1/pamtosvg.1.gz
418
%%MANPAGES%%man/man1/pamtotga.1.gz
505
%%MANPAGES%%man/man1/pamtotga.1.gz
506
%%MANPAGES%%man/man1/pamtotiff.1.gz
419
%%MANPAGES%%man/man1/pamtouil.1.gz
507
%%MANPAGES%%man/man1/pamtouil.1.gz
420
%%MANPAGES%%%%X11%%man/man1/pamx.1.gz
508
%%MANPAGES%%man/man1/pamtowinicon.1.gz
509
%%MANPAGES%%man/man1/pamtoxvmini.1.gz
510
%%MANPAGES%%man/man1/pamundice.1.gz
511
%%MANPAGES%%man/man1/pamunlookup.1.gz
512
%%MANPAGES%%man/man1/pamvalidate.1.gz
513
%%MANPAGES%%man/man1/pamwipeout.1.gz
514
%%X11%%%%MANPAGES%%man/man1/pamx.1.gz
421
%%MANPAGES%%man/man1/pbmclean.1.gz
515
%%MANPAGES%%man/man1/pbmclean.1.gz
422
%%MANPAGES%%man/man1/pbmlife.1.gz
516
%%MANPAGES%%man/man1/pbmlife.1.gz
423
%%MANPAGES%%man/man1/pbmmake.1.gz
517
%%MANPAGES%%man/man1/pbmmake.1.gz
424
%%MANPAGES%%man/man1/pbmmask.1.gz
518
%%MANPAGES%%man/man1/pbmmask.1.gz
519
%%MANPAGES%%man/man1/pbmminkowski.1.gz
425
%%MANPAGES%%man/man1/pbmpage.1.gz
520
%%MANPAGES%%man/man1/pbmpage.1.gz
426
%%MANPAGES%%man/man1/pbmpscale.1.gz
521
%%MANPAGES%%man/man1/pbmpscale.1.gz
427
%%MANPAGES%%man/man1/pbmreduce.1.gz
522
%%MANPAGES%%man/man1/pbmreduce.1.gz
Lines 432-437 Link Here
432
%%MANPAGES%%man/man1/pbmtoascii.1.gz
527
%%MANPAGES%%man/man1/pbmtoascii.1.gz
433
%%MANPAGES%%man/man1/pbmtoatk.1.gz
528
%%MANPAGES%%man/man1/pbmtoatk.1.gz
434
%%MANPAGES%%man/man1/pbmtobbnbg.1.gz
529
%%MANPAGES%%man/man1/pbmtobbnbg.1.gz
530
%%MANPAGES%%man/man1/pbmtocis.1.gz
435
%%MANPAGES%%man/man1/pbmtocmuwm.1.gz
531
%%MANPAGES%%man/man1/pbmtocmuwm.1.gz
436
%%MANPAGES%%man/man1/pbmtodjvurle.1.gz
532
%%MANPAGES%%man/man1/pbmtodjvurle.1.gz
437
%%MANPAGES%%man/man1/pbmtoepsi.1.gz
533
%%MANPAGES%%man/man1/pbmtoepsi.1.gz
Lines 440-450 Link Here
440
%%MANPAGES%%man/man1/pbmtog3.1.gz
536
%%MANPAGES%%man/man1/pbmtog3.1.gz
441
%%MANPAGES%%man/man1/pbmtogem.1.gz
537
%%MANPAGES%%man/man1/pbmtogem.1.gz
442
%%MANPAGES%%man/man1/pbmtogo.1.gz
538
%%MANPAGES%%man/man1/pbmtogo.1.gz
539
%%MANPAGES%%man/man1/pbmtoibm23xx.1.gz
443
%%MANPAGES%%man/man1/pbmtoicon.1.gz
540
%%MANPAGES%%man/man1/pbmtoicon.1.gz
444
%%MANPAGES%%man/man1/pbmtolj.1.gz
541
%%MANPAGES%%man/man1/pbmtolj.1.gz
445
%%MANPAGES%%man/man1/pbmtoln03.1.gz
542
%%MANPAGES%%man/man1/pbmtoln03.1.gz
446
%%MANPAGES%%man/man1/pbmtolps.1.gz
543
%%MANPAGES%%man/man1/pbmtolps.1.gz
447
%%MANPAGES%%man/man1/pbmtomacp.1.gz
544
%%MANPAGES%%man/man1/pbmtomacp.1.gz
545
%%MANPAGES%%man/man1/pbmtomatrixorbital.1.gz
448
%%MANPAGES%%man/man1/pbmtomda.1.gz
546
%%MANPAGES%%man/man1/pbmtomda.1.gz
449
%%MANPAGES%%man/man1/pbmtomgr.1.gz
547
%%MANPAGES%%man/man1/pbmtomgr.1.gz
450
%%MANPAGES%%man/man1/pbmtomrf.1.gz
548
%%MANPAGES%%man/man1/pbmtomrf.1.gz
Lines 456-478 Link Here
456
%%MANPAGES%%man/man1/pbmtoppa.1.gz
554
%%MANPAGES%%man/man1/pbmtoppa.1.gz
457
%%MANPAGES%%man/man1/pbmtopsg3.1.gz
555
%%MANPAGES%%man/man1/pbmtopsg3.1.gz
458
%%MANPAGES%%man/man1/pbmtoptx.1.gz
556
%%MANPAGES%%man/man1/pbmtoptx.1.gz
557
%%MANPAGES%%man/man1/pbmtosunicon.1.gz
459
%%MANPAGES%%man/man1/pbmtowbmp.1.gz
558
%%MANPAGES%%man/man1/pbmtowbmp.1.gz
460
%%MANPAGES%%man/man1/pbmtox10bm.1.gz
559
%%PERL%%%%MANPAGES%%man/man1/pbmtox10bm.1.gz
461
%%MANPAGES%%man/man1/pbmtoxbm.1.gz
560
%%MANPAGES%%man/man1/pbmtoxbm.1.gz
462
%%MANPAGES%%man/man1/pbmtoybm.1.gz
561
%%MANPAGES%%man/man1/pbmtoybm.1.gz
463
%%MANPAGES%%man/man1/pbmtozinc.1.gz
562
%%MANPAGES%%man/man1/pbmtozinc.1.gz
464
%%MANPAGES%%man/man1/pbmupc.1.gz
563
%%MANPAGES%%man/man1/pbmupc.1.gz
465
%%MANPAGES%%man/man1/pc1toppm.1.gz
564
%%MANPAGES%%man/man1/pc1toppm.1.gz
565
%%MANPAGES%%man/man1/pcdindex.1.gz
466
%%MANPAGES%%man/man1/pcdovtoppm.1.gz
566
%%MANPAGES%%man/man1/pcdovtoppm.1.gz
467
%%MANPAGES%%man/man1/pcxtoppm.1.gz
567
%%MANPAGES%%man/man1/pcxtoppm.1.gz
568
%%MANPAGES%%man/man1/pdbimgtopam.1.gz
468
%%MANPAGES%%man/man1/pfmtopam.1.gz
569
%%MANPAGES%%man/man1/pfmtopam.1.gz
469
%%MANPAGES%%man/man1/pgmabel.1.gz
570
%%MANPAGES%%man/man1/pgmabel.1.gz
470
%%MANPAGES%%man/man1/pgmbentley.1.gz
571
%%MANPAGES%%man/man1/pgmbentley.1.gz
471
%%MANPAGES%%man/man1/pgmcrater.1.gz
572
%%PERL%%%%MANPAGES%%man/man1/pgmcrater.1.gz
573
%%MANPAGES%%man/man1/pgmdeshadow.1.gz
472
%%MANPAGES%%man/man1/pgmedge.1.gz
574
%%MANPAGES%%man/man1/pgmedge.1.gz
473
%%MANPAGES%%man/man1/pgmenhance.1.gz
575
%%MANPAGES%%man/man1/pgmenhance.1.gz
474
%%MANPAGES%%man/man1/pgmhist.1.gz
576
%%MANPAGES%%man/man1/pgmhist.1.gz
475
%%MANPAGES%%man/man1/pgmkernel.1.gz
577
%%MANPAGES%%man/man1/pgmkernel.1.gz
578
%%MANPAGES%%man/man1/pgmmake.1.gz
579
%%MANPAGES%%man/man1/pgmmedian.1.gz
476
%%MANPAGES%%man/man1/pgmminkowski.1.gz
580
%%MANPAGES%%man/man1/pgmminkowski.1.gz
477
%%MANPAGES%%man/man1/pgmmorphconv.1.gz
581
%%MANPAGES%%man/man1/pgmmorphconv.1.gz
478
%%MANPAGES%%man/man1/pgmnoise.1.gz
582
%%MANPAGES%%man/man1/pgmnoise.1.gz
Lines 486-496 Link Here
486
%%MANPAGES%%man/man1/pgmtopbm.1.gz
590
%%MANPAGES%%man/man1/pgmtopbm.1.gz
487
%%MANPAGES%%man/man1/pgmtopgm.1.gz
591
%%MANPAGES%%man/man1/pgmtopgm.1.gz
488
%%MANPAGES%%man/man1/pgmtoppm.1.gz
592
%%MANPAGES%%man/man1/pgmtoppm.1.gz
593
%%MANPAGES%%man/man1/pgmtosbig.1.gz
594
%%MANPAGES%%man/man1/pgmtost4.1.gz
489
%%MANPAGES%%man/man1/pi1toppm.1.gz
595
%%MANPAGES%%man/man1/pi1toppm.1.gz
490
%%MANPAGES%%man/man1/pi3topbm.1.gz
596
%%MANPAGES%%man/man1/pi3topbm.1.gz
491
%%MANPAGES%%man/man1/picttoppm.1.gz
597
%%MANPAGES%%man/man1/picttoppm.1.gz
492
%%MANPAGES%%man/man1/pjtoppm.1.gz
598
%%MANPAGES%%man/man1/pjtoppm.1.gz
493
%%MANPAGES%%man/man1/pktopbm.1.gz
599
%%MANPAGES%%man/man1/pktopbm.1.gz
600
%%MANPAGES%%man/man1/pngtopam.1.gz
494
%%MANPAGES%%man/man1/pngtopnm.1.gz
601
%%MANPAGES%%man/man1/pngtopnm.1.gz
495
%%MANPAGES%%man/man1/pnmalias.1.gz
602
%%MANPAGES%%man/man1/pnmalias.1.gz
496
%%MANPAGES%%man/man1/pnmarith.1.gz
603
%%MANPAGES%%man/man1/pnmarith.1.gz
Lines 501-507 Link Here
501
%%MANPAGES%%man/man1/pnmcrop.1.gz
608
%%MANPAGES%%man/man1/pnmcrop.1.gz
502
%%MANPAGES%%man/man1/pnmcut.1.gz
609
%%MANPAGES%%man/man1/pnmcut.1.gz
503
%%MANPAGES%%man/man1/pnmdepth.1.gz
610
%%MANPAGES%%man/man1/pnmdepth.1.gz
611
%%MANPAGES%%man/man1/pnmenlarge.1.gz
504
%%MANPAGES%%man/man1/pnmfile.1.gz
612
%%MANPAGES%%man/man1/pnmfile.1.gz
613
%%PERL%%%%MANPAGES%%man/man1/pnmflip.1.gz
505
%%MANPAGES%%man/man1/pnmgamma.1.gz
614
%%MANPAGES%%man/man1/pnmgamma.1.gz
506
%%MANPAGES%%man/man1/pnmhisteq.1.gz
615
%%MANPAGES%%man/man1/pnmhisteq.1.gz
507
%%MANPAGES%%man/man1/pnmhistmap.1.gz
616
%%MANPAGES%%man/man1/pnmhistmap.1.gz
Lines 509-514 Link Here
509
%%MANPAGES%%man/man1/pnminterp.1.gz
618
%%MANPAGES%%man/man1/pnminterp.1.gz
510
%%MANPAGES%%man/man1/pnminvert.1.gz
619
%%MANPAGES%%man/man1/pnminvert.1.gz
511
%%MANPAGES%%man/man1/pnmmargin.1.gz
620
%%MANPAGES%%man/man1/pnmmargin.1.gz
621
%%MANPAGES%%man/man1/pnmmercator.1.gz
512
%%MANPAGES%%man/man1/pnmmontage.1.gz
622
%%MANPAGES%%man/man1/pnmmontage.1.gz
513
%%MANPAGES%%man/man1/pnmnlfilt.1.gz
623
%%MANPAGES%%man/man1/pnmnlfilt.1.gz
514
%%MANPAGES%%man/man1/pnmnoraw.1.gz
624
%%MANPAGES%%man/man1/pnmnoraw.1.gz
Lines 516-526 Link Here
516
%%MANPAGES%%man/man1/pnmpad.1.gz
626
%%MANPAGES%%man/man1/pnmpad.1.gz
517
%%MANPAGES%%man/man1/pnmpaste.1.gz
627
%%MANPAGES%%man/man1/pnmpaste.1.gz
518
%%MANPAGES%%man/man1/pnmpsnr.1.gz
628
%%MANPAGES%%man/man1/pnmpsnr.1.gz
519
%%MANPAGES%%man/man1/pnmquant.1.gz
629
%%PERL%%%%MANPAGES%%man/man1/pnmquant.1.gz
630
%%PERL%%%%MANPAGES%%man/man1/pnmquantall.1.gz
520
%%MANPAGES%%man/man1/pnmremap.1.gz
631
%%MANPAGES%%man/man1/pnmremap.1.gz
521
%%MANPAGES%%man/man1/pnmrotate.1.gz
632
%%MANPAGES%%man/man1/pnmrotate.1.gz
633
%%MANPAGES%%man/man1/pnmscale.1.gz
522
%%MANPAGES%%man/man1/pnmscalefixed.1.gz
634
%%MANPAGES%%man/man1/pnmscalefixed.1.gz
523
%%MANPAGES%%man/man1/pnmscale.1.gz
524
%%MANPAGES%%man/man1/pnmshear.1.gz
635
%%MANPAGES%%man/man1/pnmshear.1.gz
525
%%MANPAGES%%man/man1/pnmsmooth.1.gz
636
%%MANPAGES%%man/man1/pnmsmooth.1.gz
526
%%MANPAGES%%man/man1/pnmsplit.1.gz
637
%%MANPAGES%%man/man1/pnmsplit.1.gz
Lines 541-548 Link Here
541
%%MANPAGES%%man/man1/pnmtorle.1.gz
652
%%MANPAGES%%man/man1/pnmtorle.1.gz
542
%%MANPAGES%%man/man1/pnmtosgi.1.gz
653
%%MANPAGES%%man/man1/pnmtosgi.1.gz
543
%%MANPAGES%%man/man1/pnmtosir.1.gz
654
%%MANPAGES%%man/man1/pnmtosir.1.gz
655
%%MANPAGES%%man/man1/pnmtotiff.1.gz
544
%%MANPAGES%%man/man1/pnmtotiffcmyk.1.gz
656
%%MANPAGES%%man/man1/pnmtotiffcmyk.1.gz
545
%%MANPAGES%%man/man1/pnmtotiff.1.gz
546
%%MANPAGES%%man/man1/pnmtoxwd.1.gz
657
%%MANPAGES%%man/man1/pnmtoxwd.1.gz
547
%%MANPAGES%%man/man1/ppm3d.1.gz
658
%%MANPAGES%%man/man1/ppm3d.1.gz
548
%%MANPAGES%%man/man1/ppmbrighten.1.gz
659
%%MANPAGES%%man/man1/ppmbrighten.1.gz
Lines 549-558 Link Here
549
%%MANPAGES%%man/man1/ppmchange.1.gz
660
%%MANPAGES%%man/man1/ppmchange.1.gz
550
%%MANPAGES%%man/man1/ppmcie.1.gz
661
%%MANPAGES%%man/man1/ppmcie.1.gz
551
%%MANPAGES%%man/man1/ppmcolormask.1.gz
662
%%MANPAGES%%man/man1/ppmcolormask.1.gz
663
%%MANPAGES%%man/man1/ppmcolors.1.gz
664
%%MANPAGES%%man/man1/ppmdcfont.1.gz
665
%%MANPAGES%%man/man1/ppmddumpfont.1.gz
552
%%MANPAGES%%man/man1/ppmdim.1.gz
666
%%MANPAGES%%man/man1/ppmdim.1.gz
553
%%MANPAGES%%man/man1/ppmdist.1.gz
667
%%MANPAGES%%man/man1/ppmdist.1.gz
554
%%MANPAGES%%man/man1/ppmdither.1.gz
668
%%MANPAGES%%man/man1/ppmdither.1.gz
555
%%MANPAGES%%man/man1/ppmfade.1.gz
669
%%MANPAGES%%man/man1/ppmdmkfont.1.gz
670
%%MANPAGES%%man/man1/ppmdraw.1.gz
671
%%PERL%%%%MANPAGES%%man/man1/ppmfade.1.gz
556
%%MANPAGES%%man/man1/ppmflash.1.gz
672
%%MANPAGES%%man/man1/ppmflash.1.gz
557
%%MANPAGES%%man/man1/ppmforge.1.gz
673
%%MANPAGES%%man/man1/ppmforge.1.gz
558
%%MANPAGES%%man/man1/ppmglobe.1.gz
674
%%MANPAGES%%man/man1/ppmglobe.1.gz
Lines 563-579 Link Here
563
%%MANPAGES%%man/man1/ppmnorm.1.gz
679
%%MANPAGES%%man/man1/ppmnorm.1.gz
564
%%MANPAGES%%man/man1/ppmntsc.1.gz
680
%%MANPAGES%%man/man1/ppmntsc.1.gz
565
%%MANPAGES%%man/man1/ppmpat.1.gz
681
%%MANPAGES%%man/man1/ppmpat.1.gz
682
%%PERL%%%%MANPAGES%%man/man1/ppmquant.1.gz
566
%%MANPAGES%%man/man1/ppmquantall.1.gz
683
%%MANPAGES%%man/man1/ppmquantall.1.gz
567
%%MANPAGES%%man/man1/ppmquant.1.gz
684
%%PERL%%%%MANPAGES%%man/man1/ppmrainbow.1.gz
568
%%MANPAGES%%man/man1/ppmrainbow.1.gz
569
%%MANPAGES%%man/man1/ppmrelief.1.gz
685
%%MANPAGES%%man/man1/ppmrelief.1.gz
570
%%MANPAGES%%man/man1/ppmrough.1.gz
686
%%MANPAGES%%man/man1/ppmrough.1.gz
571
%%MANPAGES%%man/man1/ppmshadow.1.gz
687
%%PERL%%%%MANPAGES%%man/man1/ppmshadow.1.gz
572
%%MANPAGES%%man/man1/ppmshift.1.gz
688
%%MANPAGES%%man/man1/ppmshift.1.gz
573
%%MANPAGES%%man/man1/ppmspread.1.gz
689
%%MANPAGES%%man/man1/ppmspread.1.gz
574
%%MANPAGES%%man/man1/ppmsvgalib.1.gz
575
%%MANPAGES%%man/man1/ppmtoacad.1.gz
690
%%MANPAGES%%man/man1/ppmtoacad.1.gz
691
%%MANPAGES%%man/man1/ppmtoapplevol.1.gz
576
%%MANPAGES%%man/man1/ppmtoarbtxt.1.gz
692
%%MANPAGES%%man/man1/ppmtoarbtxt.1.gz
693
%%MANPAGES%%man/man1/ppmtoascii.1.gz
577
%%MANPAGES%%man/man1/ppmtobmp.1.gz
694
%%MANPAGES%%man/man1/ppmtobmp.1.gz
578
%%MANPAGES%%man/man1/ppmtoeyuv.1.gz
695
%%MANPAGES%%man/man1/ppmtoeyuv.1.gz
579
%%MANPAGES%%man/man1/ppmtogif.1.gz
696
%%MANPAGES%%man/man1/ppmtogif.1.gz
Lines 582-587 Link Here
582
%%MANPAGES%%man/man1/ppmtojpeg.1.gz
699
%%MANPAGES%%man/man1/ppmtojpeg.1.gz
583
%%MANPAGES%%man/man1/ppmtoleaf.1.gz
700
%%MANPAGES%%man/man1/ppmtoleaf.1.gz
584
%%MANPAGES%%man/man1/ppmtolj.1.gz
701
%%MANPAGES%%man/man1/ppmtolj.1.gz
702
%%MANPAGES%%man/man1/ppmtomap.1.gz
585
%%MANPAGES%%man/man1/ppmtomitsu.1.gz
703
%%MANPAGES%%man/man1/ppmtomitsu.1.gz
586
%%MANPAGES%%man/man1/ppmtompeg.1.gz
704
%%MANPAGES%%man/man1/ppmtompeg.1.gz
587
%%MANPAGES%%man/man1/ppmtoneo.1.gz
705
%%MANPAGES%%man/man1/ppmtoneo.1.gz
Lines 595-600 Link Here
595
%%MANPAGES%%man/man1/ppmtopuzz.1.gz
713
%%MANPAGES%%man/man1/ppmtopuzz.1.gz
596
%%MANPAGES%%man/man1/ppmtorgb3.1.gz
714
%%MANPAGES%%man/man1/ppmtorgb3.1.gz
597
%%MANPAGES%%man/man1/ppmtosixel.1.gz
715
%%MANPAGES%%man/man1/ppmtosixel.1.gz
716
%%MANPAGES%%man/man1/ppmtospu.1.gz
598
%%MANPAGES%%man/man1/ppmtoterm.1.gz
717
%%MANPAGES%%man/man1/ppmtoterm.1.gz
599
%%MANPAGES%%man/man1/ppmtotga.1.gz
718
%%MANPAGES%%man/man1/ppmtotga.1.gz
600
%%MANPAGES%%man/man1/ppmtouil.1.gz
719
%%MANPAGES%%man/man1/ppmtouil.1.gz
Lines 611-616 Link Here
611
%%MANPAGES%%man/man1/rawtopgm.1.gz
730
%%MANPAGES%%man/man1/rawtopgm.1.gz
612
%%MANPAGES%%man/man1/rawtoppm.1.gz
731
%%MANPAGES%%man/man1/rawtoppm.1.gz
613
%%MANPAGES%%man/man1/rgb3toppm.1.gz
732
%%MANPAGES%%man/man1/rgb3toppm.1.gz
733
%%MANPAGES%%man/man1/rlatopam.1.gz
614
%%MANPAGES%%man/man1/rletopnm.1.gz
734
%%MANPAGES%%man/man1/rletopnm.1.gz
615
%%MANPAGES%%man/man1/sbigtopgm.1.gz
735
%%MANPAGES%%man/man1/sbigtopgm.1.gz
616
%%MANPAGES%%man/man1/sgitopnm.1.gz
736
%%MANPAGES%%man/man1/sgitopnm.1.gz
Lines 619-629 Link Here
619
%%MANPAGES%%man/man1/spctoppm.1.gz
739
%%MANPAGES%%man/man1/spctoppm.1.gz
620
%%MANPAGES%%man/man1/spottopgm.1.gz
740
%%MANPAGES%%man/man1/spottopgm.1.gz
621
%%MANPAGES%%man/man1/sputoppm.1.gz
741
%%MANPAGES%%man/man1/sputoppm.1.gz
742
%%MANPAGES%%man/man1/srftopam.1.gz
743
%%MANPAGES%%man/man1/st4topgm.1.gz
744
%%MANPAGES%%man/man1/sunicontopnm.1.gz
745
%%SVGTOPAM%%%%MANPAGES%%man/man1/svgtopam.1.gz
622
%%MANPAGES%%man/man1/tgatoppm.1.gz
746
%%MANPAGES%%man/man1/tgatoppm.1.gz
623
%%MANPAGES%%man/man1/thinkjettopbm.1.gz
747
%%MANPAGES%%man/man1/thinkjettopbm.1.gz
624
%%MANPAGES%%man/man1/tifftopnm.1.gz
748
%%MANPAGES%%man/man1/tifftopnm.1.gz
625
%%MANPAGES%%man/man1/vidtoppm.1.gz
626
%%MANPAGES%%man/man1/wbmptopbm.1.gz
749
%%MANPAGES%%man/man1/wbmptopbm.1.gz
750
%%MANPAGES%%man/man1/winicon.1.gz
751
%%MANPAGES%%man/man1/winicontopam.1.gz
627
%%MANPAGES%%man/man1/winicontoppm.1.gz
752
%%MANPAGES%%man/man1/winicontoppm.1.gz
628
%%MANPAGES%%man/man1/xbmtopbm.1.gz
753
%%MANPAGES%%man/man1/xbmtopbm.1.gz
629
%%MANPAGES%%man/man1/ximtoppm.1.gz
754
%%MANPAGES%%man/man1/ximtoppm.1.gz
Lines 633-640 Link Here
633
%%MANPAGES%%man/man1/ybmtopbm.1.gz
758
%%MANPAGES%%man/man1/ybmtopbm.1.gz
634
%%MANPAGES%%man/man1/yuvsplittoppm.1.gz
759
%%MANPAGES%%man/man1/yuvsplittoppm.1.gz
635
%%MANPAGES%%man/man1/yuvtoppm.1.gz
760
%%MANPAGES%%man/man1/yuvtoppm.1.gz
761
%%MANPAGES%%man/man1/yuy2topam.1.gz
636
%%MANPAGES%%man/man1/zeisstopnm.1.gz
762
%%MANPAGES%%man/man1/zeisstopnm.1.gz
763
%%MANPAGES%%man/man3/libmaketmpfile.3.gz
764
%%MANPAGES%%man/man3/libmaketmpfilefd.3.gz
637
%%MANPAGES%%man/man3/libnetpbm.3.gz
765
%%MANPAGES%%man/man3/libnetpbm.3.gz
766
%%MANPAGES%%man/man3/libnetpbm_draw.3.gz
638
%%MANPAGES%%man/man3/libnetpbm_image.3.gz
767
%%MANPAGES%%man/man3/libnetpbm_image.3.gz
639
%%MANPAGES%%man/man3/libnetpbm_ug.3.gz
768
%%MANPAGES%%man/man3/libnetpbm_ug.3.gz
640
%%MANPAGES%%man/man3/libpbm.3.gz
769
%%MANPAGES%%man/man3/libpbm.3.gz
Lines 642-652 Link Here
642
%%MANPAGES%%man/man3/libpm.3.gz
771
%%MANPAGES%%man/man3/libpm.3.gz
643
%%MANPAGES%%man/man3/libpnm.3.gz
772
%%MANPAGES%%man/man3/libpnm.3.gz
644
%%MANPAGES%%man/man3/libppm.3.gz
773
%%MANPAGES%%man/man3/libppm.3.gz
645
%%MANPAGES%%man/man3/libsystem.3.gz
646
%%MANPAGES%%man/man3/libtmpfile.3.gz
647
%%MANPAGES%%man/man5/extendedopacity.5.gz
648
%%MANPAGES%%man/man5/pam.5.gz
774
%%MANPAGES%%man/man5/pam.5.gz
649
%%MANPAGES%%man/man5/pbm.5.gz
775
%%MANPAGES%%man/man5/pbm.5.gz
776
%%MANPAGES%%man/man5/pfm.5.gz
650
%%MANPAGES%%man/man5/pgm.5.gz
777
%%MANPAGES%%man/man5/pgm.5.gz
651
%%MANPAGES%%man/man5/pnm.5.gz
778
%%MANPAGES%%man/man5/pnm.5.gz
652
%%MANPAGES%%man/man5/ppm.5.gz
779
%%MANPAGES%%man/man5/ppm.5.gz
Lines 656-659 Link Here
656
%%DATADIR%%/palmgray4.map
783
%%DATADIR%%/palmgray4.map
657
%%DATADIR%%/pcxstd.ppm
784
%%DATADIR%%/pcxstd.ppm
658
%%DATADIR%%/rgb.txt
785
%%DATADIR%%/rgb.txt
659
%%PORTDOCS%%%%DOCSDIR%%/USERDOC
(-)graphics/ppminfo/Makefile (-4 / +3 lines)
Lines 3-9 Link Here
3
3
4
PORTNAME=	ppminfo
4
PORTNAME=	ppminfo
5
PORTVERSION=	0.1
5
PORTVERSION=	0.1
6
PORTREVISION=	4
6
PORTREVISION=	5
7
CATEGORIES=	graphics
7
CATEGORIES=	graphics
8
MASTER_SITES=	http://www.vanheusden.com/ppminfo/ CENKES
8
MASTER_SITES=	http://www.vanheusden.com/ppminfo/ CENKES
9
9
Lines 12-21 Link Here
12
12
13
LIB_DEPENDS=	libnetpbm.so:graphics/netpbm
13
LIB_DEPENDS=	libnetpbm.so:graphics/netpbm
14
14
15
USES=		ncurses tar:tgz
15
USES=		localbase:ldflags ncurses tar:tgz
16
PLIST_FILES=	bin/${PORTNAME}
16
PLIST_FILES=	bin/${PORTNAME}
17
CFLAGS+=	-I${LOCALBASE}/include
17
CFLAGS+=	-I${LOCALBASE}/include/netpbm
18
LDFLAGS+=	-L${LOCALBASE}/lib
19
18
20
post-patch:
19
post-patch:
21
	@${REINPLACE_CMD} 's|min(|MIN(|;s|max(|MAX(|' ${WRKSRC}/pi.c
20
	@${REINPLACE_CMD} 's|min(|MIN(|;s|max(|MAX(|' ${WRKSRC}/pi.c
(-)graphics/ppminfo/files/patch-pi.c (+11 lines)
Line 0 Link Here
1
--- pi.c.orig	2007-08-06 18:51:13 UTC
2
+++ pi.c
3
@@ -1,6 +1,7 @@
4
 #include <stdio.h>
5
 #include <math.h>
6
 #include <unistd.h>
7
+#include <sys/param.h>
8
 #include <ppm.h>
9
 
10
 #include "error.h"
11
(-)graphics/tumble/Makefile (-1 / +3 lines)
Lines 3-9 Link Here
3
3
4
PORTNAME=	tumble
4
PORTNAME=	tumble
5
PORTVERSION=	0.33
5
PORTVERSION=	0.33
6
PORTREVISION=	5
6
PORTREVISION=	6
7
CATEGORIES=	graphics print
7
CATEGORIES=	graphics print
8
MASTER_SITES=	http://tumble.brouhaha.com/download/ \
8
MASTER_SITES=	http://tumble.brouhaha.com/download/ \
9
		http://www.sourcefiles.org/Graphics/Tools/Conversion/
9
		http://www.sourcefiles.org/Graphics/Tools/Conversion/
Lines 19-24 Link Here
19
19
20
USES=		bison gmake jpeg localbase:ldflags
20
USES=		bison gmake jpeg localbase:ldflags
21
21
22
CFLAGS+=	-I${LOCALBASE}/include/netpbm
23
22
NOT_FOR_ARCHS=	powerpc sparc64
24
NOT_FOR_ARCHS=	powerpc sparc64
23
NOT_FOR_ARCHS_REASON=	Only works on little endian systems
25
NOT_FOR_ARCHS_REASON=	Only works on little endian systems
24
26
(-)graphics/urt/Makefile (-1 / +2 lines)
Lines 3-9 Link Here
3
3
4
PORTNAME=	urt
4
PORTNAME=	urt
5
PORTVERSION=	3.1b1
5
PORTVERSION=	3.1b1
6
PORTREVISION=	11
6
PORTREVISION=	12
7
CATEGORIES=	graphics
7
CATEGORIES=	graphics
8
MASTER_SITES=	http://BSDforge.com/projects/source/graphics/utah-raster/
8
MASTER_SITES=	http://BSDforge.com/projects/source/graphics/utah-raster/
9
9
Lines 22-27 Link Here
22
22
23
NO_WRKSUBDIR=	yes
23
NO_WRKSUBDIR=	yes
24
24
25
CFLAGS+=	-I${LOCALBASE}/include/netpbm
25
USE_XORG=	x11 xext
26
USE_XORG=	x11 xext
26
HAS_CONFIGURE=	yes
27
HAS_CONFIGURE=	yes
27
CONFIGURE_SCRIPT=Configure
28
CONFIGURE_SCRIPT=Configure
(-)multimedia/subtitleripper/Makefile (-2 / +3 lines)
Lines 3-9 Link Here
3
3
4
PORTNAME=	subtitleripper
4
PORTNAME=	subtitleripper
5
DISTVERSION=	0.3-4
5
DISTVERSION=	0.3-4
6
PORTREVISION=	9
6
PORTREVISION=	10
7
CATEGORIES=	multimedia
7
CATEGORIES=	multimedia
8
MASTER_SITES=	SF/${PORTNAME}/${PORTNAME}/${PORTNAME}-0.3-4
8
MASTER_SITES=	SF/${PORTNAME}/${PORTNAME}/${PORTNAME}-0.3-4
9
9
Lines 17-23 Link Here
17
		transcode:multimedia/transcode
17
		transcode:multimedia/transcode
18
18
19
USES=		gmake tar:tgz
19
USES=		gmake tar:tgz
20
CFLAGS+=	-D_WITH_GETLINE=1 -DHAVE_GETLINE=1
20
CFLAGS+=	-D_WITH_GETLINE=1 -DHAVE_GETLINE=1 \
21
		-I${LOCALBASE}/include/netpbm
21
22
22
WRKSRC=		${WRKDIR}/${PORTNAME}
23
WRKSRC=		${WRKDIR}/${PORTNAME}
23
24
(-)palm/imgvtopgm/Makefile (-1 / +3 lines)
Lines 3-9 Link Here
3
3
4
PORTNAME=	imgvtopgm
4
PORTNAME=	imgvtopgm
5
PORTVERSION=	2.0
5
PORTVERSION=	2.0
6
PORTREVISION=	4
6
PORTREVISION=	5
7
CATEGORIES=	palm graphics
7
CATEGORIES=	palm graphics
8
MASTER_SITES=	http://linuxmafia.com/pub/palmos/other-os/
8
MASTER_SITES=	http://linuxmafia.com/pub/palmos/other-os/
9
9
Lines 15-20 Link Here
15
15
16
LIB_DEPENDS=	libnetpbm.so:graphics/netpbm
16
LIB_DEPENDS=	libnetpbm.so:graphics/netpbm
17
17
18
USES=	localbase
19
18
GNU_CONFIGURE=	yes
20
GNU_CONFIGURE=	yes
19
21
20
.include <bsd.port.mk>
22
.include <bsd.port.mk>
(-)palm/ppmtoTbmp/Makefile (-2 / +3 lines)
Lines 14-21 Link Here
14
14
15
LIB_DEPENDS=	libnetpbm.so:graphics/netpbm
15
LIB_DEPENDS=	libnetpbm.so:graphics/netpbm
16
16
17
MAKE_ARGS=	CFLAGS="${CFLAGS} -I${LOCALBASE}/include" LDLIBS=-lnetpbm
17
USES=		localbase:ldflags
18
LDFLAGS+=	-L${LOCALBASE}/lib
18
MAKE_ARGS=	CFLAGS="${CFLAGS}" LDLIBS=-lnetpbm
19
CFLAGS+=	-I${LOCALBASE}/include/netpbm
19
20
20
PORTDOCS=	README
21
PORTDOCS=	README
21
22

Return to bug 219982