Import of pkgsrc-2015Q1

This commit is contained in:
2016-01-21 23:40:00 +01:00
committed by sambuc
parent 9a8c06dafb
commit 4af1cdf7a9
25114 changed files with 870539 additions and 795424 deletions
+60 -55
View File
@@ -1,100 +1,105 @@
# $NetBSD: Makefile,v 1.183 2014/03/13 11:08:51 jperkin Exp $
# $NetBSD: Makefile,v 1.203 2015/03/12 12:35:42 tnn Exp $
DISTNAME= netpbm-10.35.80
PKGREVISION= 7
DISTNAME= netpbm-10.68.02
CATEGORIES= graphics
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=netpbm/}
EXTRACT_SUFX= .tgz
MASTER_SITES= #
PKGREVISION= 1
# manually created from svn checkout of
# svn checkout http://svn.code.sf.net/p/netpbm/code/advanced netpbm
# tar --exclude netpbm/.svn/\* -cvzf /archive/distfiles/netpbm-$VERSION.tar.gz netpbm
# where VERSION comes from reading netpbm/doc/HISTORY
# for the documentation:
# svn checkout http://svn.code.sf.net/p/netpbm/code/userguide netpbm-userguide
# cd netpbm-userguide && for i in *.html; do python2.7 ../netpbm/buildtools/makeman $i; done && cd ..
# tar -cvzf /archive/distfiles/netpbm-docs-r${SVN_REVISION}.tar.gz netpbm-userguide/*.[0-9]
DISTFILES= ${DISTNAME}${EXTRACT_SUFX} netpbm-docs-r2313${EXTRACT_SUFX}
MAINTAINER= adam@NetBSD.org
HOMEPAGE= http://netpbm.sourceforge.net/
COMMENT= Toolkit for conversion of images between different formats
LICENSE= gnu-gpl-v2
MAKE_JOBS_SAFE= no
PKG_INSTALLATION_TYPES= overwrite pkgviews
USE_TOOLS+= bash:run gmake lex pax perl
USE_TOOLS+= gmake lex pax perl
USE_FEATURES= snprintf
USE_GCC_RUNTIME=yes
INSTALL_TARGET= install-dev install-run
MAKE_ENV+= INSTALL=${INSTALL:Q} STRIPFLAG=${_STRIPFLAG_INSTALL:Q} \
pkgdir=${STAGEDIR:Q} MACHINE=${MACHINE:Q}
MAKE_FLAGS+= PKGMANDIR=${PKGMANDIR:Q}
MAKE_FILE= GNUmakefile
REPLACE_PERL+= editor/ppmfade editor/ppmshadow editor/pnmquant \
generator/ppmrainbow manweb editor/pnmflip editor/ppmquant
REPLACE_PERL+= converter/pbm/pbmtox10bm
REPLACE_PERL+= editor/pnmflip
REPLACE_PERL+= editor/pnmquant
REPLACE_PERL+= editor/ppmfade
REPLACE_PERL+= editor/ppmquant
REPLACE_PERL+= editor/ppmshadow
REPLACE_PERL+= generator/ppmrainbow
REPLACE_PERL+= manweb
STAGEDIR= ${WRKDIR}/staging
LIBS.SunOS+= -lsocket -lnsl
MAKE_ENV+= NETWORKLD=${LIBS:Q}
MAKE_FLAGS+= PKGMANDIR=${PKGMANDIR}
WRKSRC= ${WRKDIR}/netpbm
WRAPPER_REORDER_CMDS+= reorder:l:rle:netpbm
# Several of the netpbm shell scripts use bashisms, so force using
# bash for all of the shell scripts.
REPLACE_INTERPRETER+= bash
REPLACE.bash.old= .*/bin/sh
REPLACE.bash.new= ${TOOLS_PATH.bash}
REPLACE_FILES.bash= converter/other/anytopnm
REPLACE_FILES.bash+= converter/other/pnmtoplainpnm
REPLACE_FILES.bash+= converter/ppm/hpcdtoppm/hpcdtoppm
REPLACE_FILES.bash+= converter/ppm/hpcdtoppm/pcdovtoppm
REPLACE_FILES.bash+= editor/pamstretch-gen
REPLACE_FILES.bash+= editor/pnmindex.sh
REPLACE_FILES.bash+= editor/pnmmargin
REPLACE_FILES.bash+= editor/ppmquantall
REPLACE_FILES.bash+= other/ppmtomap
SUBST_CLASSES+= rgb_txt
SUBST_STAGE.rgb_txt= post-patch
SUBST_MESSAGE.rgb_txt= Configure RGB_TXT
SUBST_FILES.rgb_txt= pm_config.in.h
SUBST_SED.rgb_txt+= -e 's,@@PREFIX@@,${PREFIX},'
SUBST_FILES.rgb_txt= config.mk
SUBST_SED.rgb_txt+= -e 's,/usr/share/netpbm/rgb.txt,${PREFIX}/share/netpbm/rgb.txt,'
.include "../../mk/bsd.prefs.mk"
# Fiasco fails to compile on Darwin-8.x.
PLIST_VARS+= fiasco
.if !empty(MACHINE_PLATFORM:MDarwin-8.*-*)
MAKE_ENV+= BUILD_FIASCO=N
.else
PLIST.fiasco= yes
# only used if NEED_RUNTIME_PATH is set, so set it unconditionally
MAKE_FLAGS+= NETPBMLIB_RUNTIME_PATH=${PREFIX}
.if ${OPSYS} == "NetBSD"
MAKE_FLAGS+= NEED_RUNTIME_PATH=Y
.elif ${OPSYS} == "Darwin"
MAKE_FLAGS+= NETPBMLIBTYPE=dylib
MAKE_FLAGS+= NETPBMLIBSUFFIX=dylib
.elif ${OPSYS} == "SunOS"
MAKE_FLAGS+= LDSHLIB=-shared
MAKE_FLAGS+= NEED_RUNTIME_PATH=Y
MAKE_FLAGS+= NETWORKLD="-lsocket -lnsl"
.elif ${OS_VARIANT} == "SCOOSR5"
MAKE_FLAGS+= NETWORKLD="-lsocket -lresolv"
.endif
INSTALLATION_DIRS= ${PKGMANDIR}/man1 ${PKGMANDIR}/man3 ${PKGMANDIR}/man5 share/netpbm
post-extract:
cd ${WRKSRC} && ${CP} config.mk.in config.mk
${ECHO} "CFLAGS_SHLIB = -fPIC" >> ${WRKSRC}/config.mk
${ECHO} "JPEGLIB = ${BUILDLINK_PREFIX.jpeg}/lib/libjpeg.so" >> ${WRKSRC}/config.mk
${ECHO} "JPEGHDR_DIR = ${BUILDLINK_PREFIX.jpeg}/include" >> ${WRKSRC}/config.mk
${ECHO} "TIFFLIB = ${BUILDLINK_PREFIX.tiff}/lib/libtiff.so" >> ${WRKSRC}/config.mk
${ECHO} "TIFFHDR_DIR = ${BUILDLINK_PREFIX.tiff}/include" >> ${WRKSRC}/config.mk
${ECHO} "ZLIB = ${BUILDLINK_PREFIX.zlib}/lib/libz.so" >> ${WRKSRC}/config.mk
${ECHO} "ZHDR_DIR = ${BUILDLINK_PREFIX.zlib}/include" >> ${WRKSRC}/config.mk
.if ${OPSYS} == "Darwin"
MAKE_ENV+= NETPBMLIBTYPE="dylib" NETPBMLIBSUFFIX="dylib"
.elif ${OPSYS} == "HPUX" && ${OBJECT_FMT} == "SOM"
MAKE_ENV+= NETPBMLIBTYPE="unixshared" NETPBMLIBSUFFIX="sl"
.else
MAKE_ENV+= NETPBMLIBTYPE="unixshared" NETPBMLIBSUFFIX="so"
${ECHO} 'LDSHLIB=-dynamiclib -install_name $$(PREFIX)/lib/libnetpbm.$$(MAJ).dylib -compatibility_version $$(MAJ) -current_version $$(MAJ).$$(MIN)' >> ${WRKSRC}/config.mk
.endif
.if !empty(PKGSRC_COMPILER:Mido)
CPPFLAGS+= -DSGI_IDO_CC
.endif
INSTALLATION_DIRS= ${PKGMANDIR}/man1 share/netpbm
pre-configure:
${CP} ${WRKSRC}/Makefile.config.in ${WRKSRC}/Makefile.config
pre-install:
${RM} -fr ${STAGEDIR}
${MKDIR} -p ${STAGEDIR}/man/web
post-install:
cd ${STAGEDIR} && \
${MV} link/* lib && \
${RM} -rf link man/web && \
${RM} -rf ${PKGMANDIR}/web && \
${RM} -rf man/web && \
${MKDIR} share && \
${MV} misc share/netpbm && \
${CHOWN} -R ${BINOWN}:${BINGRP} . && \
pax -rwpppm . ${DESTDIR}${PREFIX}
${RM} -fr ${STAGEDIR}
${INSTALL_DATA} ${WRKDIR}/netpbm-userguide/*.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1
${INSTALL_DATA} ${WRKDIR}/netpbm-userguide/*.3 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man3
${INSTALL_DATA} ${WRKDIR}/netpbm-userguide/*.5 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man5
.include "../../devel/zlib/buildlink3.mk"
.include "../../graphics/jasper/buildlink3.mk"
.include "../../graphics/png/buildlink3.mk"
.include "../../graphics/tiff/buildlink3.mk"
.include "../../textproc/libxml2/buildlink3.mk"
.include "../../mk/jpeg.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
+147 -25
View File
@@ -1,19 +1,21 @@
@comment $NetBSD: PLIST,v 1.8 2011/04/04 09:17:24 adam Exp $
@comment $NetBSD: PLIST,v 1.13 2014/11/23 16:12:10 wiz Exp $
bin/411toppm
bin/anytopnm
bin/asciitopgm
bin/atktopbm
bin/avstopam
bin/bioradtopgm
bin/bmptopnm
bin/bmptoppm
bin/brushtopbm
bin/cameratopam
bin/cistopbm
bin/cmuwmtopbm
bin/ddbugtopbm
bin/doc.url
bin/escp2topbm
bin/eyuvtoppm
${PLIST.fiasco}bin/fiascotopnm
bin/fiascotopnm
bin/fitstopnm
bin/fstopgm
bin/g3topbm
@@ -43,9 +45,11 @@ bin/neotoppm
bin/palmtopnm
bin/pamaddnoise
bin/pamarith
bin/pambackground
bin/pambayer
bin/pamchannel
bin/pamcomp
bin/pamcrater
bin/pamcut
bin/pamdeinterlace
bin/pamdepth
@@ -54,7 +58,10 @@ bin/pamditherbw
bin/pamedge
bin/pamendian
bin/pamenlarge
bin/pamexec
bin/pamfile
bin/pamfix
bin/pamfixtrunc
bin/pamflip
bin/pamfunc
bin/pamgauss
@@ -62,15 +69,21 @@ bin/pamgradient
bin/pamlookup
bin/pammasksharpen
bin/pammixinterlace
bin/pammosaicknit
bin/pamoil
bin/pampaintspill
bin/pamperspective
bin/pampick
bin/pampop9
bin/pamrecolor
bin/pamrgbatopng
bin/pamrubber
bin/pamscale
bin/pamseq
bin/pamshadedrelief
bin/pamsharpmap
bin/pamsharpness
bin/pamsistoaglyph
bin/pamslice
bin/pamsplit
bin/pamstack
@@ -81,22 +94,34 @@ bin/pamsumm
bin/pamsummcol
bin/pamthreshold
bin/pamtilt
bin/pamtoavs
bin/pamtodjvurle
bin/pamtofits
bin/pamtogif
bin/pamtohdiff
bin/pamtohtmltbl
bin/pamtojpeg2k
bin/pamtompfont
bin/pamtooctaveimg
bin/pamtopam
bin/pamtopdbimg
bin/pamtopfm
bin/pamtopnm
bin/pamtosrf
bin/pamtosvg
bin/pamtotga
bin/pamtotiff
bin/pamtouil
bin/pamtowinicon
bin/pamtoxvmini
bin/pamundice
bin/pamvalidate
bin/pamwipeout
bin/pbmclean
bin/pbmlife
bin/pbmmake
bin/pbmmask
bin/pbmminkowski
bin/pbmpage
bin/pbmpscale
bin/pbmreduce
@@ -107,6 +132,7 @@ bin/pbmto4425
bin/pbmtoascii
bin/pbmtoatk
bin/pbmtobbnbg
bin/pbmtocis
bin/pbmtocmuwm
bin/pbmtodjvurle
bin/pbmtoepsi
@@ -133,6 +159,7 @@ bin/pbmtoplot
bin/pbmtoppa
bin/pbmtopsg3
bin/pbmtoptx
bin/pbmtosunicon
bin/pbmtowbmp
bin/pbmtox10bm
bin/pbmtoxbm
@@ -142,6 +169,7 @@ bin/pbmupc
bin/pc1toppm
bin/pcdovtoppm
bin/pcxtoppm
bin/pdbimgtopam
bin/pfmtopam
bin/pgmabel
bin/pgmbentley
@@ -171,6 +199,7 @@ bin/pi3topbm
bin/picttoppm
bin/pjtoppm
bin/pktopbm
bin/pngtopam
bin/pngtopnm
bin/pnmalias
bin/pnmarith
@@ -191,6 +220,7 @@ bin/pnmindex
bin/pnminterp
bin/pnminvert
bin/pnmmargin
bin/pnmmercator
bin/pnmmontage
bin/pnmnlfilt
bin/pnmnoraw
@@ -199,6 +229,7 @@ bin/pnmpad
bin/pnmpaste
bin/pnmpsnr
bin/pnmquant
bin/pnmquantall
bin/pnmremap
bin/pnmrotate
bin/pnmscale
@@ -209,7 +240,7 @@ bin/pnmsplit
bin/pnmstitch
bin/pnmtile
bin/pnmtoddif
${PLIST.fiasco}bin/pnmtofiasco
bin/pnmtofiasco
bin/pnmtofits
bin/pnmtojbig
bin/pnmtojpeg
@@ -259,7 +290,9 @@ bin/ppmshadow
bin/ppmshift
bin/ppmspread
bin/ppmtoacad
bin/ppmtoapplevol
bin/ppmtoarbtxt
bin/ppmtoascii
bin/ppmtobmp
bin/ppmtoeyuv
bin/ppmtogif
@@ -282,6 +315,7 @@ bin/ppmtoppm
bin/ppmtopuzz
bin/ppmtorgb3
bin/ppmtosixel
bin/ppmtospu
bin/ppmtoterm
bin/ppmtouil
bin/ppmtowinicon
@@ -306,11 +340,14 @@ bin/sldtoppm
bin/spctoppm
bin/spottopgm
bin/sputoppm
bin/srftopam
bin/sunicontopnm
bin/svgtopam
bin/tgatoppm
bin/thinkjettopbm
bin/tifftopnm
bin/wbmptopbm
bin/winicontopam
bin/winicontoppm
bin/xbmtopbm
bin/ximtoppm
@@ -321,44 +358,52 @@ bin/ybmtopbm
bin/yuvsplittoppm
bin/yuvtoppm
bin/zeisstopnm
include/bitio.h
include/colorname.h
include/mallocvar.h
include/nstring.h
include/pam.h
include/pammap.h
include/pbm.h
include/pbmfont.h
include/pgm.h
include/pm.h
include/pm_config.h
include/pm_gamma.h
include/pm_system.h
include/pnm.h
include/ppm.h
include/ppmcmap.h
include/ppmfloyd.h
include/shhopt.h
include/netpbm/bitio.h
include/netpbm/colorname.h
include/netpbm/mallocvar.h
include/netpbm/pam.h
include/netpbm/pamdraw.h
include/netpbm/pammap.h
include/netpbm/pbm.h
include/netpbm/pbmfont.h
include/netpbm/pgm.h
include/netpbm/pm.h
include/netpbm/pm_config.h
include/netpbm/pm_gamma.h
include/netpbm/pm_system.h
include/netpbm/pnm.h
include/netpbm/ppm.h
include/netpbm/ppmcmap.h
include/netpbm/ppmdfont.h
include/netpbm/ppmdraw.h
include/netpbm/ppmfloyd.h
include/netpbm/shhopt.h
lib/libnetpbm.a
lib/libnetpbm.so
lib/libnetpbm.so.10
lib/libnetpbm.so.10.35
lib/libnetpbm.so.11
lib/libnetpbm.so.11.68
man/man1/411toppm.1
man/man1/anytopnm.1
man/man1/asciitopgm.1
man/man1/atktopbm.1
man/man1/avstopam.1
man/man1/bioradtopgm.1
man/man1/bmptopnm.1
man/man1/bmptoppm.1
man/man1/brushtopbm.1
man/man1/cameratopam.1
man/man1/cistopbm.1
man/man1/cmuwmtopbm.1
man/man1/ddbugtopbm.1
man/man1/directory.1
man/man1/escp2topbm.1
man/man1/eyuvtoppm.1
${PLIST.fiasco}man/man1/fiascotopnm.1
man/man1/faxformat.1
man/man1/fiascotopnm.1
man/man1/fitstopnm.1
man/man1/fstopgm.1
man/man1/g3topbm.1
man/man1/gemtopbm.1
man/man1/gemtopnm.1
man/man1/giftopnm.1
man/man1/gouldtoppm.1
@@ -368,25 +413,31 @@ man/man1/hpcdtoppm.1
man/man1/icontopbm.1
man/man1/ilbmtoppm.1
man/man1/imgtoppm.1
man/man1/index.1
man/man1/infotopam.1
man/man1/jbigtopnm.1
man/man1/jpeg2ktopam.1
man/man1/jpegtopnm.1
man/man1/leaftoppm.1
man/man1/liberror.1
man/man1/libnetpbm_dir.1
man/man1/lispmtopgm.1
man/man1/macptopbm.1
man/man1/manweb.1
man/man1/mdatopbm.1
man/man1/mgrtopbm.1
man/man1/mrf.1
man/man1/mrftopbm.1
man/man1/mtvtoppm.1
man/man1/neotoppm.1
man/man1/palmtopnm.1
man/man1/pamaddnoise.1
man/man1/pamarith.1
man/man1/pambackground.1
man/man1/pambayer.1
man/man1/pamchannel.1
man/man1/pamcomp.1
man/man1/pamcrater.1
man/man1/pamcut.1
man/man1/pamdeinterlace.1
man/man1/pamdepth.1
@@ -395,7 +446,10 @@ man/man1/pamditherbw.1
man/man1/pamedge.1
man/man1/pamendian.1
man/man1/pamenlarge.1
man/man1/pamexec.1
man/man1/pamfile.1
man/man1/pamfix.1
man/man1/pamfixtrunc.1
man/man1/pamflip.1
man/man1/pamfunc.1
man/man1/pamgauss.1
@@ -403,15 +457,21 @@ man/man1/pamgradient.1
man/man1/pamlookup.1
man/man1/pammasksharpen.1
man/man1/pammixinterlace.1
man/man1/pammosaicknit.1
man/man1/pamoil.1
man/man1/pampaintspill.1
man/man1/pamperspective.1
man/man1/pampick.1
man/man1/pampop9.1
man/man1/pamrecolor.1
man/man1/pamrgbatopng.1
man/man1/pamrubber.1
man/man1/pamscale.1
man/man1/pamseq.1
man/man1/pamshadedrelief.1
man/man1/pamsharpmap.1
man/man1/pamsharpness.1
man/man1/pamsistoaglyph.1
man/man1/pamslice.1
man/man1/pamsplit.1
man/man1/pamstack.1
@@ -422,22 +482,35 @@ man/man1/pamsumm.1
man/man1/pamsummcol.1
man/man1/pamthreshold.1
man/man1/pamtilt.1
man/man1/pamtoavs.1
man/man1/pamtodjvurle.1
man/man1/pamtofits.1
man/man1/pamtogif.1
man/man1/pamtohdiff.1
man/man1/pamtohtmltbl.1
man/man1/pamtojpeg2k.1
man/man1/pamtompfont.1
man/man1/pamtooctaveimg.1
man/man1/pamtopam.1
man/man1/pamtopdbimg.1
man/man1/pamtopfm.1
man/man1/pamtopnm.1
man/man1/pamtosrf.1
man/man1/pamtosvg.1
man/man1/pamtotga.1
man/man1/pamtotiff.1
man/man1/pamtouil.1
man/man1/pamtowinicon.1
man/man1/pamtoxvmini.1
man/man1/pamundice.1
man/man1/pamvalidate.1
man/man1/pamwipeout.1
man/man1/pamx.1
man/man1/pbmclean.1
man/man1/pbmlife.1
man/man1/pbmmake.1
man/man1/pbmmask.1
man/man1/pbmminkowski.1
man/man1/pbmpage.1
man/man1/pbmpscale.1
man/man1/pbmreduce.1
@@ -448,6 +521,7 @@ man/man1/pbmto4425.1
man/man1/pbmtoascii.1
man/man1/pbmtoatk.1
man/man1/pbmtobbnbg.1
man/man1/pbmtocis.1
man/man1/pbmtocmuwm.1
man/man1/pbmtodjvurle.1
man/man1/pbmtoepsi.1
@@ -474,6 +548,7 @@ man/man1/pbmtoplot.1
man/man1/pbmtoppa.1
man/man1/pbmtopsg3.1
man/man1/pbmtoptx.1
man/man1/pbmtosunicon.1
man/man1/pbmtowbmp.1
man/man1/pbmtox10bm.1
man/man1/pbmtoxbm.1
@@ -481,13 +556,16 @@ man/man1/pbmtoybm.1
man/man1/pbmtozinc.1
man/man1/pbmupc.1
man/man1/pc1toppm.1
man/man1/pcdindex.1
man/man1/pcdovtoppm.1
man/man1/pcxtoppm.1
man/man1/pdbimgtopam.1
man/man1/pfmtopam.1
man/man1/pgmabel.1
man/man1/pgmbentley.1
man/man1/pgmcrater.1
man/man1/pgmdeshadow.1
man/man1/pgmedge.1
man/man1/pgmenhance.1
man/man1/pgmhist.1
man/man1/pgmkernel.1
@@ -496,7 +574,10 @@ man/man1/pgmmedian.1
man/man1/pgmminkowski.1
man/man1/pgmmorphconv.1
man/man1/pgmnoise.1
man/man1/pgmnorm.1
man/man1/pgmoil.1
man/man1/pgmramp.1
man/man1/pgmslice.1
man/man1/pgmtexture.1
man/man1/pgmtofs.1
man/man1/pgmtolispm.1
@@ -508,49 +589,62 @@ man/man1/pi3topbm.1
man/man1/picttoppm.1
man/man1/pjtoppm.1
man/man1/pktopbm.1
man/man1/pngtopam.1
man/man1/pngtopnm.1
man/man1/pnmalias.1
man/man1/pnmarith.1
man/man1/pnmcat.1
man/man1/pnmcolormap.1
man/man1/pnmcomp.1
man/man1/pnmconvol.1
man/man1/pnmcrop.1
man/man1/pnmcut.1
man/man1/pnmdepth.1
man/man1/pnmenlarge.1
man/man1/pnmfile.1
man/man1/pnmflip.1
man/man1/pnmgamma.1
man/man1/pnmhisteq.1
man/man1/pnmhistmap.1
man/man1/pnmindex.1
man/man1/pnminterp.1
man/man1/pnminvert.1
man/man1/pnmmargin.1
man/man1/pnmmercator.1
man/man1/pnmmontage.1
man/man1/pnmnlfilt.1
man/man1/pnmnoraw.1
man/man1/pnmnorm.1
man/man1/pnmpad.1
man/man1/pnmpaste.1
man/man1/pnmpsnr.1
man/man1/pnmquant.1
man/man1/pnmquantall.1
man/man1/pnmremap.1
man/man1/pnmrotate.1
man/man1/pnmscale.1
man/man1/pnmscalefixed.1
man/man1/pnmshear.1
man/man1/pnmsmooth.1
man/man1/pnmsplit.1
man/man1/pnmstitch.1
man/man1/pnmtile.1
man/man1/pnmtoddif.1
${PLIST.fiasco}man/man1/pnmtofiasco.1
man/man1/pnmtofiasco.1
man/man1/pnmtofits.1
man/man1/pnmtojbig.1
man/man1/pnmtojpeg.1
man/man1/pnmtopalm.1
man/man1/pnmtopclxl.1
man/man1/pnmtoplainpnm.1
man/man1/pnmtopng.1
man/man1/pnmtopnm.1
man/man1/pnmtops.1
man/man1/pnmtorast.1
man/man1/pnmtorle.1
man/man1/pnmtosgi.1
man/man1/pnmtosir.1
man/man1/pnmtotiff.1
man/man1/pnmtotiffcmyk.1
man/man1/pnmtoxwd.1
man/man1/ppm3d.1
@@ -574,6 +668,7 @@ man/man1/ppmhist.1
man/man1/ppmlabel.1
man/man1/ppmmake.1
man/man1/ppmmix.1
man/man1/ppmnorm.1
man/man1/ppmntsc.1
man/man1/ppmpat.1
man/man1/ppmquant.1
@@ -584,13 +679,17 @@ man/man1/ppmrough.1
man/man1/ppmshadow.1
man/man1/ppmshift.1
man/man1/ppmspread.1
man/man1/ppmsvgalib.1
man/man1/ppmtoacad.1
man/man1/ppmtoapplevol.1
man/man1/ppmtoarbtxt.1
man/man1/ppmtoascii.1
man/man1/ppmtobmp.1
man/man1/ppmtoeyuv.1
man/man1/ppmtogif.1
man/man1/ppmtoicr.1
man/man1/ppmtoilbm.1
man/man1/ppmtojpeg.1
man/man1/ppmtoleaf.1
man/man1/ppmtolj.1
man/man1/ppmtomap.1
@@ -607,7 +706,10 @@ man/man1/ppmtoppm.1
man/man1/ppmtopuzz.1
man/man1/ppmtorgb3.1
man/man1/ppmtosixel.1
man/man1/ppmtospu.1
man/man1/ppmtoterm.1
man/man1/ppmtotga.1
man/man1/ppmtouil.1
man/man1/ppmtowinicon.1
man/man1/ppmtoxpm.1
man/man1/ppmtoyuv.1
@@ -630,11 +732,16 @@ man/man1/sldtoppm.1
man/man1/spctoppm.1
man/man1/spottopgm.1
man/man1/sputoppm.1
man/man1/srftopam.1
man/man1/sunicontopnm.1
man/man1/svgtopam.1
man/man1/tgatoppm.1
man/man1/thinkjettopbm.1
man/man1/tifftopnm.1
man/man1/vidtoppm.1
man/man1/wbmptopbm.1
man/man1/winicon.1
man/man1/winicontopam.1
man/man1/winicontoppm.1
man/man1/xbmtopbm.1
man/man1/ximtoppm.1
@@ -645,9 +752,24 @@ man/man1/ybmtopbm.1
man/man1/yuvsplittoppm.1
man/man1/yuvtoppm.1
man/man1/zeisstopnm.1
man/man3/libmaketmpfile.3
man/man3/libmaketmpfilefd.3
man/man3/libnetpbm.3
man/man3/libnetpbm_draw.3
man/man3/libnetpbm_image.3
man/man3/libnetpbm_ug.3
man/man3/libpbm.3
man/man3/libpgm.3
man/man3/libpm.3
man/man3/libpnm.3
man/man3/libppm.3
man/man3/libsystem.3
man/man3/libtmpfile.3
man/man3/libtmpfilefd.3
man/man5/extendedopacity.5
man/man5/pam.5
man/man5/pbm.5
man/man5/pfm.5
man/man5/pgm.5
man/man5/pnm.5
man/man5/ppm.5
+12 -28
View File
@@ -1,29 +1,13 @@
$NetBSD: distinfo,v 1.85 2012/07/25 14:42:02 jperkin Exp $
$NetBSD: distinfo,v 1.100 2015/03/12 12:35:42 tnn Exp $
SHA1 (netpbm-10.35.80.tgz) = e2bc82c2fc76775a837596f9774f4b24275f794a
RMD160 (netpbm-10.35.80.tgz) = f8c6dc01ada947f27dd851d954d240f248e07c55
Size (netpbm-10.35.80.tgz) = 2547601 bytes
SHA1 (patch-aa) = fd533685c5b0058f19d1b4525a4b2b9f2b239627
SHA1 (patch-ab) = 4d6508ad837d455ea3f8ebaa704f33f9e089f6e0
SHA1 (patch-ac) = 11c029673a53e9344a477db6cfcb46f32e9f6a93
SHA1 (patch-ad) = b4a5833e18afd5a991aad897674386a3f00c3ee1
SHA1 (patch-ae) = 33a5be2843dd85b530f5e6ba496cd0380cd5edd1
SHA1 (patch-af) = e8965899d577648c6144098f2aa8e1594551666a
SHA1 (patch-ag) = 093fe392a3e6156cc55f225a6f139842c0d00570
SHA1 (patch-ah) = 10d7e7f59a0d7c857531db872cd35dc02a048ba1
SHA1 (patch-ai) = 083ddf8b36a74ca39508b6a3b0c35956ac19fbb7
SHA1 (patch-aj) = 44521e88f446a9a4eea6d9ffeb20ceba4653faca
SHA1 (patch-ak) = f1e06e236442c96670b1f1829d4e67d051ecb776
SHA1 (patch-al) = 3a7c804f608dd3e24070a76b8ad8e9b5e1ab958e
SHA1 (patch-ao) = b4307205f605d4c9c8f11c00e1a633960b33b2d3
SHA1 (patch-aw) = bd890324e95fa7bb893d9d5cdab9d5a33dcff777
SHA1 (patch-ax) = d50e56191192b4caf423ed081581868bb1a63de8
SHA1 (patch-ay) = 60ab532de6d6ec498ada140f795bba327a562e13
SHA1 (patch-cb) = b1be33ae6acfe57bf2f407cd48a6b140c3ddea85
SHA1 (patch-da) = 8ae329469bf0bd55b671dffeb4253b8d14621f5c
SHA1 (patch-db) = 23a05e54043ee84a0b7ec507a383d5cd8adfcca5
SHA1 (patch-dc) = 8ed1365dccf5abb0e158a4f7a65749ff5b244ef3
SHA1 (patch-dd) = 9f9c53959f5afd444ce427b782f9ba2c73068f27
SHA1 (patch-eb) = 8af326d4be7e280764843ce213672186fce3f9a8
SHA1 (patch-lib_libpbm3.c) = 42e7d49fecb559fb1d55345e5053337e60f7458b
SHA1 (patch-ppmdraw) = d901a690f8f21a1af940129d1edef509b369ea1a
SHA1 (netpbm-10.68.02.tar.gz) = 90fa87549dc7fb33bd7f9f29abad09fe99faf3e1
RMD160 (netpbm-10.68.02.tar.gz) = 7567eb6c38f06ad89b995b9315deec91db94bfb0
Size (netpbm-10.68.02.tar.gz) = 2703809 bytes
SHA1 (netpbm-docs-r2313.tar.gz) = 8c36b17b1d2dca6ab7bd34666a8929b9ea665743
RMD160 (netpbm-docs-r2313.tar.gz) = 03854f545c7c0f4c825ee08bc779b62da0ea05c3
Size (netpbm-docs-r2313.tar.gz) = 447907 bytes
SHA1 (patch-common.mk) = f590cc66e0fe6a07e848b9b46662bca350557bea
SHA1 (patch-converter_other_giftopnm.c) = d64d645307e12b32d3a9ce56885bbfb3a4a80d23
SHA1 (patch-lib_Makefile) = 3f93bd24c53aa1f22aa43545d7ca5422af8e78ca
SHA1 (patch-pm__config.in.h) = 9cb3084371be4b354832581d47d552bfe9ff1ce1
SHA1 (patch-wordaccess_be_aligned.h) = 7cc5cd1126f65b3307393c978ac9ff4a49d666de
-54
View File
@@ -1,54 +0,0 @@
# $NetBSD: hacks.mk,v 1.8 2011/04/04 09:17:24 adam Exp $
.if !defined(NETPBM_HACKS_MK)
NETPBM_HACKS_MK= # defined
### [historic : ???]
### gcc optimization fixes
###
.if ${MACHINE_ARCH} == "arm" || ${MACHINE_ARCH} == "arm32"
PKG_HACKS+= optimization
GCC_REQD+= 2.95.3
.endif
.if ${MACHINE_ARCH} == "alpha"
PKG_HACKS+= optimization
GCC_REQD+= 3.0
.endif
### [Mon Jan 24 20:47:14 UTC 2005 : tv]
### substitute for <inttypes.h> on Interix
###
.if ${OPSYS} == "Interix"
PKG_HACKS+= standard-headers
MAKE_FLAGS+= INTTYPES_H='<sys/types.h>'
.endif
### [Fri Dec 30 21:00:59 CET 2005 : schwarz]
### make sys/types.h not conflict with inttypes.h
### (issue is specific to IRIX 5.3)
###
.if !empty(MACHINE_PLATFORM:MIRIX-5.3-*)
PKG_HACKS+= sys_types_h-inttypes_h-conflict
post-wrapper:
${MKDIR} ${BUILDLINK_DIR}/include/sys && ${GREP} -v '^typedef.*[^u_]int[12368]*_t;' /usr/include/sys/types.h > ${BUILDLINK_DIR}/include/sys/types.h
# should match int8_t, int16_t, and int32_t (only)
.endif
### [ Sun Mar 5 20:19:52 CET 2006 : schwarz ]
### work around bug in Apple's gcc-4.0.0
### that shows up when compiling frame.c
###
.if ${OPSYS} == "Darwin" && !empty(PKGSRC_COMPILER:Mgcc)
_BAD_GCC_BUILD!= ${CC} --version | (${GREP} -c '^powerpc-apple-darwin8-gcc-4\.0\.0.*build\ 4061' || ${TRUE})
. if ${_BAD_GCC_BUILD} == "1"
PKG_HACKS+= apple-gcc-4-bug
BUILDLINK_TRANSFORM+= rm:-finline-floor # unknown option to gcc-3.3
BUILDLINK_TRANSFORM+= rm:-mpowerpc64 # prevent internal compiler error
# with gcc-3.3 when compiling exif.c
post-wrapper:
${SED} -e s,/gcc,/gcc-3.3, ${WRKDIR}/.gcc/bin/gcc > ${WRKDIR}/.gcc/bin/gcc-3.3 && ${MV} -f ${WRKDIR}/.gcc/bin/gcc-3.3 ${WRKDIR}/.gcc/bin/gcc && ${CHMOD} a+rx ${WRKDIR}/.gcc/bin/gcc
# use gcc-3.3 instead of gcc-4.0.0
. endif
.endif
.endif
-195
View File
@@ -1,195 +0,0 @@
$NetBSD: patch-aa,v 1.41 2012/07/25 14:42:03 jperkin Exp $
--- Makefile.config.in.orig 2008-12-07 01:58:20.000000000 +0000
+++ Makefile.config.in 2012-07-25 14:32:55.129209505 +0000
@@ -24,7 +24,7 @@
# and skip it on those systems unless you want to debug it and fix it.
# OpenBSD:
#BUILD_FIASCO = N
-BUILD_FIASCO = Y
+BUILD_FIASCO?= Y
# The following are commands for the build process to use. These values
# do not get built into anything.
@@ -33,7 +33,7 @@
#CC = gcc
# Note that 'cc' is usually an alias for whatever is the main compiler
# on a system, e.g. the GNU Compiler on Linux.
-CC = cc
+#CC = cc
# The linker.
LD = $(CC)
@@ -100,7 +100,7 @@
# MAKE is set automatically by Make to what was used to invoke Make.
-INSTALL = $(SRCDIR)/buildtools/install.sh
+#INSTALL = $(SRCDIR)/buildtools/install.sh
#Solaris:
#INSTALL = /usr/ucb/install
#Tru64:
@@ -112,7 +112,7 @@
# STRIPFLAG is the option you pass to the above install program to make it
# strip unnecessary information out of binaries.
-STRIPFLAG = -s
+#STRIPFLAG = -s
# If you don't want to strip the binaries, just leave it null:
#STRIPFLAG =
@@ -131,13 +131,15 @@
AR = ar
RANLIB = ranlib
# IRIX, SCO don't have Ranlib:
-#RANLIB = true
+ifeq ($(OPSYS),IRIX)
+RANLIB = ar rs
+endif
# LEX is the beginning of a shell command that runs a Lex-like
# pattern matcher generator. Null string means there isn't any such
# command. That means the build will skip parts that need one.
-LEX = flex
+#LEX = flex
# Solaris:
# LEX = flex -e
# Windows Mingw:
@@ -228,7 +230,7 @@
# Here, $(SONAME) resolves to the soname for the shared library being created.
# The following are gcc options. This works on GNU libc systems.
-LDSHLIB = -shared -Wl,-soname,$(SONAME)
+LDSHLIB = -shared -Wl,-h,$(SONAME)
# You need -nostart instead of -shared on BeOS. Though the BeOS compiler is
# ostensibly gcc, it has the -nostart option, which is not mentioned in gcc
# documentation and doesn't exist in at least one non-BeOS installation.
@@ -261,6 +263,15 @@
#LDRELOC = ld --reloc
#LDRELOC = ld -r
+ifeq ($(OPSYS),Darwin)
+LDSHLIB = -dynamiclib -install_name $(PREFIX)/lib/libnetpbm.$(MAJ).dylib \
+ -compatibility_version $(MAJ) -current_version $(MAJ).$(MIN)
+endif
+
+ifeq ($(OPSYS),Interix)
+# random base address between 0x6B000000 and 0x6D000000
+LDSHLIB+= -Wl,--image-base,$$(($$RANDOM %64/2*1048576+1795162112))
+endif
# On older systems, you have to make shared libraries out of position
# independent code, so you need -fpic or fPIC here. (The rule is: if
@@ -283,11 +294,23 @@
CFLAGS_SHLIB =
# Gcc:
#CFLAGS_SHLIB = -fpic
-#CFLAGS_SHLIB = -fPIC
+CFLAGS_SHLIB = -fPIC
# Sun compiler:
#CFLAGS_SHLIB = -Kpic
#CFLAGS_SHLIB = -KPIC
+ifeq ($(OPSYS),Darwin)
+CFLAGS_SHLIB = -fno-common
+endif
+
+ifeq ($(OPSYS),IRIX)
+CFLAGS_SHLIB = -KPIC
+endif
+
+ifeq ($(OPSYS),Interix)
+CFLAGS_SHLIB = # none!
+endif
+
# SHLIB_CLIB is the link option to include the C library in a shared library,
# normally "-lc". On typical systems, this serves no purpose. On some,
# though, it causes information about which C library to use to be recorded
@@ -356,8 +379,8 @@
#TIFFLIB = libtiff.so
#TIFFHDR_DIR = /usr/include/libtiff
#NetBSD:
-#TIFFLIB = $(LOCALBASE)/lib/libtiff.so
-#TIFFHDR_DIR = $(LOCALBASE)/include
+TIFFLIB = $(BUILDLINK_DIR)/lib/libtiff.so
+TIFFHDR_DIR = $(BUILDLINK_DIR)/include
# OSF, Tru64:
#TIFFLIB = /usr/local1/DEC/lib/libtiff.so
#TIFFHDR_DIR = /usr/local1/DEC/include
@@ -387,8 +410,8 @@
#JPEGLIB = libjpeg.so
#JPEGHDR_DIR = /usr/include/jpeg
# Netbsd:
-#JPEGLIB = ${LOCALBASE}/lib/libjpeg.so
-#JPEGHDR_DIR = ${LOCALBASE}/include
+JPEGLIB = ${BUILDLINK_DIR}/lib/libjpeg.so
+JPEGHDR_DIR = ${BUILDLINK_DIR}/include
# OSF, Tru64:
#JPEGLIB = /usr/local1/DEC/libjpeg.so
#JPEGHDR_DIR = /usr/local1/DEC/include
@@ -415,12 +438,12 @@
PNGLIB = NONE
PNGHDR_DIR =
-PNGVER =
+PNGVER = 12
#PNGLIB = libpng$(PNGVER).so
#PNGHDR_DIR = /usr/include/libpng$(PNGVER)
# NetBSD:
-#PNGLIB = $(LOCALBASE)/lib/libpng$(PNGVER).so
-#PNGHDR_DIR = $(LOCALBASE)/include
+PNGLIB = $(BUILDLINK_DIR)/lib/libpng$(PNGVER).so
+#PNGHDR_DIR = $(BUILDLINK_DIR)/include
# OSF/Tru64:
#PNGLIB = /usr/local1/DEC/lib/libpng$(PNGVER).so
#PNGHDR_DIR = /usr/local1/DEC/include
@@ -432,8 +455,8 @@
#
# If you have 'libpng-config' (see above), these are irrelevant.
-ZLIB = NONE
-ZHDR_DIR =
+ZLIB = $(BUILDLINK_DIR)/lib/libz.so
+ZHDR_DIR = $(BUILDLINK_DIR)/include
#ZLIB = libz.so
# The JBIG lossless image compression library (aka JBIG-KIT):
@@ -442,8 +465,8 @@
JBIGHDR_DIR = $(SRCDIR)/converter/other/jbig
# The Jasper JPEG-2000 image compression library (aka JasPer):
-JASPERLIB = $(INTERNAL_JASPERLIB)
-JASPERHDR_DIR = $(INTERNAL_JASPERHDR_DIR)
+JASPERLIB = -ljasper
+JASPERHDR_DIR = /doesnt-matter
# JASPERDEPLIBS is the libraries (-l options or file names) on which
# The Jasper library depends -- i.e. what you have to link into any
# executable that links in the Jasper library.
@@ -488,7 +511,7 @@
# built into the standard C library, so this can be null. This is irrelevant
# if OMIT_NETWORK is "y".
-NETWORKLD =
+#NETWORKLD =
# Solaris, SunOS:
#NETWORKLD = -lsocket -lnsl
# SCO:
@@ -542,7 +565,7 @@
#Netpbm library functions. The value is used only in make file tests.
# "unixshared" means a unix-style shared library, typically named like
# libxyz.so.2.3
-NETPBMLIBTYPE = unixshared
+NETPBMLIBTYPE? = unixshared
# "unixstatic" means a unix-style static library, (like libxyz.a)
#NETPBMLIBTYPE = unixstatic
# "dll" means a Windows DLL shared library
@@ -553,7 +576,7 @@
#NETPBMLIBSUFFIX is the suffix used on whatever kind of library is
#selected above. All this is used for is to construct library names.
#The make files never examine the actual value.
-NETPBMLIBSUFFIX = so
+NETPBMLIBSUFFIX?= so
# "a" is the suffix for unix-style static libraries. It is also
# traditionally used for shared libraries on AIX. The Visual Age C
-18
View File
@@ -1,18 +0,0 @@
$NetBSD: patch-ab,v 1.21 2010/07/13 06:08:23 adam Exp $
--- converter/other/Makefile.orig 2009-09-18 19:04:37.000000000 +0000
+++ converter/other/Makefile
@@ -135,6 +135,13 @@ all: $(BINARIES) $(SUBDIRS:%=%/all)
include $(SRCDIR)/Makefile.common
+# XXX sparc64 gcc 3.3.x toolchain bug; compile exif.o without optimisation
+ifeq ($(MACHINE),sparc64)
+exif.o: exif.c
+ $(CC) -c $(INCLUDES2) -DNDEBUG \
+ $(CPPFLAGS) $(CFLAGS:-O2=) $(CFLAGS_PERSONAL) $(CADD) -o $@ $<
+endif
+
ifeq ($(NEED_RUNTIME_PATH),Y)
LIBOPTR = -runtime
else
-401
View File
@@ -1,401 +0,0 @@
$NetBSD: patch-ac,v 1.22 2011/01/15 18:37:46 tron Exp $
Fix build with png-1.5.
--- converter/other/pnmtopng.c.orig 2010-12-10 18:19:40.000000000 +0000
+++ converter/other/pnmtopng.c 2011-01-15 11:15:25.000000000 +0000
@@ -61,7 +61,8 @@
#include <assert.h>
#include <string.h> /* strcat() */
#include <limits.h>
-#include <png.h> /* includes zlib.h and setjmp.h */
+#include <png.h> /* includes setjmp.h */
+#include <zlib.h>
#include "pnm.h"
#include "pngtxt.h"
#include "shhopt.h"
@@ -69,13 +70,6 @@
#include "nstring.h"
#include "version.h"
-#if PNG_LIBPNG_VER >= 10400
-#error Your PNG library (<png.h>) is incompatible with this Netpbm source code.
-#error You need either an older PNG library (older than 1.4)
-#error newer Netpbm source code (at least 10.47.04)
-#endif
-
-
struct zlibCompression {
/* These are parameters that describe a form of zlib compression.
Values have the same meaning as the similarly named arguments to
@@ -2079,6 +2073,7 @@
gray * const alpha_mask,
colorhash_table const cht,
coloralphahash_table const caht,
+ png_struct * const png_ptr,
png_info * const info_ptr,
xelval const png_maxval,
unsigned int const depth) {
@@ -2091,20 +2086,20 @@
xel p_png;
xel const p = xelrow[col];
PPM_DEPTH(p_png, p, maxval, png_maxval);
- if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY ||
- info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA) {
+ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY ||
+ png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY_ALPHA) {
if (depth == 16)
*pp++ = PNM_GET1(p_png) >> 8;
*pp++ = PNM_GET1(p_png) & 0xff;
- } else if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE) {
+ } else if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_PALETTE) {
unsigned int paletteIndex;
if (alpha)
paletteIndex = lookupColorAlpha(caht, &p, &alpha_mask[col]);
else
paletteIndex = ppm_lookupcolor(cht, &p);
*pp++ = paletteIndex;
- } else if (info_ptr->color_type == PNG_COLOR_TYPE_RGB ||
- info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA) {
+ } else if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB ||
+ png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB_ALPHA) {
if (depth == 16)
*pp++ = PPM_GETR(p_png) >> 8;
*pp++ = PPM_GETR(p_png) & 0xff;
@@ -2117,7 +2112,7 @@
} else
pm_error("INTERNAL ERROR: undefined color_type");
- if (info_ptr->color_type & PNG_COLOR_MASK_ALPHA) {
+ if (png_get_color_type(png_ptr, info_ptr) & PNG_COLOR_MASK_ALPHA) {
int const png_alphaval = (int)
alpha_mask[col] * (float) png_maxval / maxval + 0.5;
if (depth == 16)
@@ -2174,7 +2169,7 @@
makePngLine(line, xelrow, cols, maxval,
alpha, alpha ? alpha_mask[row] : NULL,
- cht, caht, info_ptr, png_maxval, depth);
+ cht, caht, png_ptr, info_ptr, png_maxval, depth);
png_write_row(png_ptr, line);
}
@@ -2186,12 +2181,12 @@
static void
doGamaChunk(struct cmdlineInfo const cmdline,
+ png_struct * const png_ptr,
png_info * const info_ptr) {
if (cmdline.gammaSpec) {
/* gAMA chunk */
- info_ptr->valid |= PNG_INFO_gAMA;
- info_ptr->gamma = cmdline.gamma;
+ png_set_gAMA(png_ptr, info_ptr, cmdline.gamma);
}
}
@@ -2199,20 +2194,15 @@
static void
doChrmChunk(struct cmdlineInfo const cmdline,
+ png_struct * const png_ptr,
png_info * const info_ptr) {
if (cmdline.rgbSpec) {
/* cHRM chunk */
- info_ptr->valid |= PNG_INFO_cHRM;
-
- info_ptr->x_white = cmdline.rgb.wx;
- info_ptr->y_white = cmdline.rgb.wy;
- info_ptr->x_red = cmdline.rgb.rx;
- info_ptr->y_red = cmdline.rgb.ry;
- info_ptr->x_green = cmdline.rgb.gx;
- info_ptr->y_green = cmdline.rgb.gy;
- info_ptr->x_blue = cmdline.rgb.bx;
- info_ptr->y_blue = cmdline.rgb.by;
+
+ png_set_cHRM (png_ptr, info_ptr, cmdline.rgb.wx, cmdline.rgb.wy,
+ cmdline.rgb.rx, cmdline.rgb.ry, cmdline.rgb.gx,
+ cmdline.rgb.gy, cmdline.rgb.bx, cmdline.rgb.by);
}
}
@@ -2220,15 +2210,12 @@
static void
doPhysChunk(struct cmdlineInfo const cmdline,
+ png_struct * const png_ptr,
png_info * const info_ptr) {
if (cmdline.sizeSpec) {
/* pHYS chunk */
- info_ptr->valid |= PNG_INFO_pHYs;
-
- info_ptr->x_pixels_per_unit = cmdline.size.x;
- info_ptr->y_pixels_per_unit = cmdline.size.y;
- info_ptr->phys_unit_type = cmdline.size.unit;
+ png_set_pHYs(png_ptr, info_ptr, cmdline.size.x, cmdline.size.y, cmdline.size.unit);
}
}
@@ -2237,26 +2224,28 @@
static void
doTimeChunk(struct cmdlineInfo const cmdline,
+ png_struct * const png_ptr,
png_info * const info_ptr) {
if (cmdline.modtimeSpec) {
/* tIME chunk */
- info_ptr->valid |= PNG_INFO_tIME;
-
- png_convert_from_time_t(&info_ptr->mod_time, cmdline.modtime);
+ png_timep ptime;
+ png_convert_from_time_t(ptime, cmdline.modtime);
+ png_set_tIME(png_ptr, info_ptr, ptime);
}
}
static void
-doSbitChunk(png_info * const pngInfoP,
+doSbitChunk(png_struct * const pngP,
+ png_info * const pngInfoP,
xelval const pngMaxval,
xelval const maxval,
bool const alpha,
xelval const alphaMaxval) {
- if (pngInfoP->color_type != PNG_COLOR_TYPE_PALETTE &&
+ if (png_get_color_type(pngP, pngInfoP) != PNG_COLOR_TYPE_PALETTE &&
(pngMaxval > maxval || (alpha && pngMaxval > alphaMaxval))) {
/* We're writing in a bit depth that doesn't match the maxval
@@ -2275,26 +2264,28 @@
sBIT chunk.
*/
- pngInfoP->valid |= PNG_INFO_sBIT;
-
{
int const sbitval = pm_maxvaltobits(MIN(maxval, pngMaxval));
+ png_color_8 sbit;
- if (pngInfoP->color_type & PNG_COLOR_MASK_COLOR) {
- pngInfoP->sig_bit.red = sbitval;
- pngInfoP->sig_bit.green = sbitval;
- pngInfoP->sig_bit.blue = sbitval;
+ (void)memset(&sbit, 0, sizeof(sbit));
+ if (png_get_color_type(pngP, pngInfoP) & PNG_COLOR_MASK_COLOR) {
+ sbit.red = sbitval;
+ sbit.green = sbitval;
+ sbit.blue = sbitval;
} else
- pngInfoP->sig_bit.gray = sbitval;
+ sbit.gray = sbitval;
if (verbose)
pm_message("Writing sBIT chunk with bits = %d", sbitval);
- }
- if (pngInfoP->color_type & PNG_COLOR_MASK_ALPHA) {
- pngInfoP->sig_bit.alpha =
- pm_maxvaltobits(MIN(alphaMaxval, pngMaxval));
- if (verbose)
- pm_message(" alpha bits = %d", pngInfoP->sig_bit.alpha);
+
+ if (png_get_color_type(pngP, pngInfoP) & PNG_COLOR_MASK_ALPHA) {
+ sbit.alpha =
+ pm_maxvaltobits(MIN(alphaMaxval, pngMaxval));
+ if (verbose)
+ pm_message(" alpha bits = %d", sbit.alpha);
+ }
+ png_set_sBIT(pngP, pngInfoP, &sbit);
}
}
}
@@ -2391,6 +2382,8 @@
xelval maxmaxval;
gray ** alpha_mask;
+ int color_type;
+
/* these guys are initialized to quiet compiler warnings: */
maxmaxval = 255;
alpha_mask = NULL;
@@ -2576,43 +2569,42 @@
pm_error ("setjmp returns error condition (2)");
}
- png_init_io (png_ptr, stdout);
- info_ptr->width = cols;
- info_ptr->height = rows;
- info_ptr->bit_depth = depth;
-
if (colorMapped)
- info_ptr->color_type = PNG_COLOR_TYPE_PALETTE;
- else if (pnm_type == PPM_TYPE)
- info_ptr->color_type = PNG_COLOR_TYPE_RGB;
- else
- info_ptr->color_type = PNG_COLOR_TYPE_GRAY;
+ color_type = PNG_COLOR_TYPE_PALETTE;
+ else if (pnm_type == PPM_TYPE) {
+ if (alpha)
+ color_type = PNG_COLOR_TYPE_RGB_ALPHA;
+ else
+ color_type = PNG_COLOR_TYPE_RGB;
+ } else {
+ if (alpha)
+ color_type = PNG_COLOR_TYPE_GRAY_ALPHA;
+ else
+ color_type = PNG_COLOR_TYPE_GRAY;
+ }
- if (alpha && info_ptr->color_type != PNG_COLOR_TYPE_PALETTE)
- info_ptr->color_type |= PNG_COLOR_MASK_ALPHA;
+ png_set_IHDR(png_ptr, info_ptr, cols, rows, depth, color_type, 0, 0, 0);
+ png_init_io (png_ptr, stdout);
- info_ptr->interlace_type = cmdline.interlace;
+ if (cmdline.interlace)
+ png_set_interlace_handling(png_ptr);
- doGamaChunk(cmdline, info_ptr);
+ doGamaChunk(cmdline, png_ptr, info_ptr);
- doChrmChunk(cmdline, info_ptr);
+ doChrmChunk(cmdline, png_ptr, info_ptr);
- doPhysChunk(cmdline, info_ptr);
+ doPhysChunk(cmdline, png_ptr, info_ptr);
- if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE) {
+ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_PALETTE) {
/* creating PNG palette (PLTE and tRNS chunks) */
createPngPalette(palette_pnm, palette_size, maxval,
trans_pnm, trans_size, alpha_maxval,
palette, trans);
- info_ptr->valid |= PNG_INFO_PLTE;
- info_ptr->palette = palette;
- info_ptr->num_palette = palette_size;
+ png_set_PLTE(png_ptr, info_ptr, palette, palette_size);
if (trans_size > 0) {
- info_ptr->valid |= PNG_INFO_tRNS;
- info_ptr->trans = trans;
- info_ptr->num_trans = trans_size; /* omit opaque values */
+ png_set_tRNS(png_ptr, info_ptr, trans, trans_size, NULL);
}
/* creating hIST chunk */
if (cmdline.hist) {
@@ -2638,18 +2630,17 @@
ppm_freecolorhash(cht);
- info_ptr->valid |= PNG_INFO_hIST;
- info_ptr->hist = histogram;
+ png_set_hIST(png_ptr, info_ptr, histogram);
if (verbose)
pm_message("histogram created");
}
} else { /* color_type != PNG_COLOR_TYPE_PALETTE */
- if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY ||
- info_ptr->color_type == PNG_COLOR_TYPE_RGB) {
+ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY ||
+ png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB) {
if (transparent > 0) {
- info_ptr->valid |= PNG_INFO_tRNS;
- info_ptr->trans_values =
- xelToPngColor_16(transcolor, maxval, png_maxval);
+ png_color_16 trans_color = xelToPngColor_16(transcolor, maxval, png_maxval);
+ png_set_tRNS(png_ptr, info_ptr, NULL, 0, &trans_color);
+
}
} else {
/* This is PNG_COLOR_MASK_ALPHA. Transparency will be handled
@@ -2657,43 +2648,49 @@
*/
}
if (verbose) {
- if (info_ptr->valid && PNG_INFO_tRNS)
+ if (png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS)) {
+ png_color_16p trans_color;
+
+ png_get_tRNS(png_ptr, info_ptr, NULL, NULL, &trans_color);
pm_message("Transparent color {gray, red, green, blue} = "
"{%d, %d, %d, %d}",
- info_ptr->trans_values.gray,
- info_ptr->trans_values.red,
- info_ptr->trans_values.green,
- info_ptr->trans_values.blue);
- else
+ trans_color->gray,
+ trans_color->red,
+ trans_color->green,
+ trans_color->blue);
+ } else
pm_message("No transparent color");
}
}
/* bKGD chunk */
if (cmdline.background) {
- info_ptr->valid |= PNG_INFO_bKGD;
- if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE) {
- info_ptr->background.index = background_index;
+ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_PALETTE) {
+ png_color_16 background;
+
+ (void)memset(&background, 0, sizeof(background));
+ background.index = background_index;
+ png_set_bKGD(png_ptr, info_ptr, &background);
} else {
- info_ptr->background =
- xelToPngColor_16(backcolor, maxval, png_maxval);
+ png_color_16 background = xelToPngColor_16(backcolor, maxval, png_maxval);
+ png_set_bKGD(png_ptr, info_ptr, &background);
if (verbose)
pm_message("Writing bKGD chunk with background color "
" {gray, red, green, blue} = {%d, %d, %d, %d}",
- info_ptr->background.gray,
- info_ptr->background.red,
- info_ptr->background.green,
- info_ptr->background.blue );
+ background.gray,
+ background.red,
+ background.green,
+ background.blue );
}
}
- doSbitChunk(info_ptr, png_maxval, maxval, alpha, alpha_maxval);
+ doSbitChunk(png_ptr, info_ptr, png_maxval, maxval, alpha, alpha_maxval);
/* tEXT and zTXT chunks */
if (cmdline.text || cmdline.ztxt)
- pnmpng_read_text(info_ptr, tfp, !!cmdline.ztxt, cmdline.verbose);
+ pnmpng_read_text(png_ptr, info_ptr, tfp, !!cmdline.ztxt, cmdline.verbose);
- doTimeChunk(cmdline, info_ptr);
+ doTimeChunk(cmdline, png_ptr, info_ptr);
if (cmdline.filterSet != 0)
png_set_filter(png_ptr, 0, cmdline.filterSet);
@@ -2703,6 +2700,7 @@
/* write the png-info struct */
png_write_info(png_ptr, info_ptr);
+#if 0
if (cmdline.text || cmdline.ztxt)
/* prevent from being written twice with png_write_end */
info_ptr->num_text = 0;
@@ -2710,6 +2708,7 @@
if (cmdline.modtime)
/* prevent from being written twice with png_write_end */
info_ptr->valid &= ~PNG_INFO_tIME;
+#endif
/* let libpng take care of, e.g., bit-depth conversions */
png_set_packing (png_ptr);
-20
View File
@@ -1,20 +0,0 @@
$NetBSD: patch-ad,v 1.20 2006/02/02 16:04:13 joerg Exp $
--- converter/ppm/ppmtompeg/parallel.c.orig 2006-02-02 15:52:14.000000000 +0000
+++ converter/ppm/ppmtompeg/parallel.c
@@ -27,6 +27,7 @@
*/
+#include <sys/types.h>
#include <stdarg.h>
#include <time.h>
#include <unistd.h>
@@ -36,7 +37,6 @@
#include <signal.h>
#include <netdb.h>
#include <assert.h>
-#include <sys/types.h>
#include <sys/times.h>
#include "mallocvar.h"
-12
View File
@@ -1,12 +0,0 @@
$NetBSD: patch-ae,v 1.10 2005/01/18 14:16:20 adam Exp $
--- generator/pbmtextps.c.orig 2003-10-08 02:39:27.000000000 +0000
+++ generator/pbmtextps.c
@@ -15,7 +15,6 @@
* Additions by Bryan Henderson contributed to public domain by author.
*
*/
-#define _XOPEN_SOURCE /* Make sure popen() is in stdio.h */
#define _BSD_SOURCE /* Make sure stdrup() is in string.h */
#include <stdio.h>
#include <stdlib.h>
-888
View File
@@ -1,888 +0,0 @@
$NetBSD: patch-af,v 1.16 2011/04/04 09:17:24 adam Exp $
Fix build with png-1.5.
--- converter/other/pngtopnm.c.orig 2009-09-03 16:34:36.000000000 +0100
+++ converter/other/pngtopnm.c 2011-01-15 18:19:09.000000000 +0000
@@ -44,12 +44,6 @@
#include "nstring.h"
#include "shhopt.h"
-#if PNG_LIBPNG_VER >= 10400
-#error Your PNG library (<png.h>) is incompatible with this Netpbm source code.
-#error You need either an older PNG library (older than 1.4)
-#error newer Netpbm source code (at least 10.48)
-#endif
-
typedef struct _jmpbuf_wrapper {
jmp_buf jmpbuf;
} jmpbuf_wrapper;
@@ -187,7 +181,7 @@
-#define get_png_val(p) _get_png_val (&(p), info_ptr->bit_depth)
+#define get_png_val(p) _get_png_val (&(p), png_get_bit_depth(png_ptr, info_ptr))
static png_uint_16
_get_png_val (png_byte ** const pp,
@@ -266,33 +260,39 @@
}
#ifdef __STDC__
-static void save_text (png_info *info_ptr, FILE *tfp)
+static void save_text (png_structp png_ptr, png_info *info_ptr, FILE *tfp)
#else
-static void save_text (info_ptr, tfp)
+static void save_text (png_ptr, info_ptr, tfp)
+png_structp png_ptr;
png_info *info_ptr;
FILE *tfp;
#endif
{
int i, j, k;
+ png_textp text_ptr;
+ int num_text;
+
+ if (png_get_text(png_ptr, info_ptr, &text_ptr, &num_text) == 0)
+ return;
- for (i = 0 ; i < info_ptr->num_text ; i++) {
+ for (i = 0 ; i < num_text ; i++) {
j = 0;
- while (info_ptr->text[i].key[j] != '\0' && info_ptr->text[i].key[j] != ' ')
+ while (text_ptr[i].key[j] != '\0' && text_ptr[i].key[j] != ' ')
j++;
- if (info_ptr->text[i].key[j] != ' ') {
- fprintf (tfp, "%s", info_ptr->text[i].key);
- for (j = strlen (info_ptr->text[i].key) ; j < 15 ; j++)
+ if (text_ptr[i].key[j] != ' ') {
+ fprintf (tfp, "%s", text_ptr[i].key);
+ for (j = strlen (text_ptr[i].key) ; j < 15 ; j++)
putc (' ', tfp);
} else {
- fprintf (tfp, "\"%s\"", info_ptr->text[i].key);
- for (j = strlen (info_ptr->text[i].key) ; j < 13 ; j++)
+ fprintf (tfp, "\"%s\"", text_ptr[i].key);
+ for (j = strlen (text_ptr[i].key) ; j < 13 ; j++)
putc (' ', tfp);
}
putc (' ', tfp); /* at least one space between key and text */
- for (j = 0 ; j < info_ptr->text[i].text_length ; j++) {
- putc (info_ptr->text[i].text[j], tfp);
- if (info_ptr->text[i].text[j] == '\n')
+ for (j = 0 ; j < text_ptr[i].text_length ; j++) {
+ putc (text_ptr[i].text[j], tfp);
+ if (text_ptr[i].text[j] == '\n')
for (k = 0 ; k < 16 ; k++)
putc ((int)' ', tfp);
}
@@ -301,9 +301,10 @@
}
#ifdef __STDC__
-static void show_time (png_info *info_ptr)
+static void show_time (png_structp png_ptr, png_info *info_ptr)
#else
-static void show_time (info_ptr)
+static void show_time (png_ptr, info_ptr)
+png_structp png_ptr;
png_info *info_ptr;
#endif
{
@@ -311,12 +312,13 @@
"", "January", "February", "March", "April", "May", "June",
"July", "August", "September", "October", "November", "December"
};
+ png_timep mod_time;
- if (info_ptr->valid & PNG_INFO_tIME) {
+ if (png_get_tIME(png_ptr, info_ptr, &mod_time) & PNG_INFO_tIME) {
pm_message ("modification time: %02d %s %d %02d:%02d:%02d",
- info_ptr->mod_time.day, month[info_ptr->mod_time.month],
- info_ptr->mod_time.year, info_ptr->mod_time.hour,
- info_ptr->mod_time.minute, info_ptr->mod_time.second);
+ mod_time->day, month[mod_time->month],
+ mod_time->year, mod_time->hour,
+ mod_time->minute, mod_time->second);
}
}
@@ -353,12 +355,28 @@
static void
-dump_png_info(png_info *info_ptr) {
+dump_png_info(png_structp png_ptr, png_info *info_ptr) {
const char *type_string;
const char *filter_string;
+ png_color_16p background;
+ int num_trans;
+ double gamma;
+ png_color_8p sig_bit;
+ png_colorp palette;
+ int num_palette;
+ png_uint_16p hist;
+ int res_x, res_y, unit_type;
+ png_int_32 offset_x, offset_y;
+ png_timep mod_time;
+ png_charp purpose;
+ png_int_32 X0, X1;
+ int type, nparams;
+ png_charp units;
+ png_charpp params;
+ int file_srgb_intent;
- switch (info_ptr->color_type) {
+ switch (png_get_color_type(png_ptr, info_ptr)) {
case PNG_COLOR_TYPE_GRAY:
type_string = "gray";
break;
@@ -380,90 +398,101 @@
break;
}
- switch (info_ptr->filter_type) {
+ switch (png_get_filter_type(png_ptr, info_ptr)) {
case PNG_FILTER_TYPE_BASE:
asprintfN(&filter_string, "base filter");
break;
default:
asprintfN(&filter_string, "unknown filter type %d",
- info_ptr->filter_type);
+ png_get_filter_type(png_ptr, info_ptr));
}
- pm_message("reading a %ldw x %ldh image, %d bit%s",
- info_ptr->width, info_ptr->height,
- info_ptr->bit_depth, info_ptr->bit_depth > 1 ? "s" : "");
+ pm_message("reading a %uw x %uh image, %d bit%s",
+ png_get_image_width(png_ptr, info_ptr),
+ png_get_image_height(png_ptr, info_ptr),
+ png_get_bit_depth(png_ptr, info_ptr),
+ png_get_bit_depth(png_ptr, info_ptr) > 1 ? "s" : "");
pm_message("%s, %s, %s",
type_string,
- info_ptr->interlace_type ?
+ png_get_interlace_type(png_ptr, info_ptr) ?
"Adam7 interlaced" : "not interlaced",
filter_string);
- pm_message("background {index, gray, red, green, blue} = "
- "{%d, %d, %d, %d, %d}",
- info_ptr->background.index,
- info_ptr->background.gray,
- info_ptr->background.red,
- info_ptr->background.green,
- info_ptr->background.blue);
+
+ if (png_get_bKGD(png_ptr, info_ptr, &background) & PNG_INFO_bKGD) {
+ pm_message("background {index, gray, red, green, blue} = "
+ "{%d, %d, %d, %d, %d}",
+ background->index,
+ background->gray,
+ background->red,
+ background->green,
+ background->blue);
+ }
strfree(filter_string);
- if (info_ptr->valid & PNG_INFO_tRNS)
+ if (png_get_tRNS(png_ptr, info_ptr,
+ NULL, &num_trans, NULL) & PNG_INFO_tRNS)
pm_message("tRNS chunk (transparency): %u entries",
- info_ptr->num_trans);
+ num_trans);
else
pm_message("tRNS chunk (transparency): not present");
- if (info_ptr->valid & PNG_INFO_gAMA)
- pm_message("gAMA chunk (image gamma): gamma = %4.2f", info_ptr->gamma);
+ if (png_get_gAMA(png_ptr, info_ptr, &gamma) & PNG_INFO_gAMA)
+ pm_message("gAMA chunk (image gamma): gamma = %4.2f", gamma);
else
pm_message("gAMA chunk (image gamma): not present");
- if (info_ptr->valid & PNG_INFO_sBIT)
+ if (png_get_sBIT(png_ptr, info_ptr, &sig_bit) & PNG_INFO_sBIT)
pm_message("sBIT chunk: present");
else
pm_message("sBIT chunk: not present");
- if (info_ptr->valid & PNG_INFO_cHRM)
+ if (png_get_cHRM(png_ptr, info_ptr,
+ NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL) & PNG_INFO_cHRM)
pm_message("cHRM chunk: present");
else
pm_message("cHRM chunk: not present");
- if (info_ptr->valid & PNG_INFO_PLTE)
- pm_message("PLTE chunk: %d entries", info_ptr->num_palette);
+ if (png_get_PLTE(png_ptr, info_ptr, &palette, &num_palette) & PNG_INFO_PLTE)
+ pm_message("PLTE chunk: %d entries", num_palette);
else
pm_message("PLTE chunk: not present");
- if (info_ptr->valid & PNG_INFO_bKGD)
+ if (png_get_bKGD(png_ptr, info_ptr, &background) & PNG_INFO_bKGD)
pm_message("bKGD chunk: present");
else
pm_message("bKGD chunk: not present");
- if (info_ptr->valid & PNG_INFO_hIST)
+ if (png_get_hIST(png_ptr, info_ptr, &hist) & PNG_INFO_hIST)
pm_message("hIST chunk: present");
else
pm_message("hIST chunk: not present");
- if (info_ptr->valid & PNG_INFO_pHYs)
+ if (png_get_pHYs(png_ptr, info_ptr,
+ &res_x, &res_y, &unit_type) & PNG_INFO_pHYs)
pm_message("pHYs chunk: present");
else
pm_message("pHYs chunk: not present");
- if (info_ptr->valid & PNG_INFO_oFFs)
+ if (png_get_oFFs(png_ptr, info_ptr,
+ &offset_x, &offset_y, &unit_type) & PNG_INFO_oFFs)
pm_message("oFFs chunk: present");
else
pm_message("oFFs chunk: not present");
- if (info_ptr->valid & PNG_INFO_tIME)
+ if (png_get_tIME(png_ptr, info_ptr, &mod_time) & PNG_INFO_tIME)
pm_message("tIME chunk: present");
else
pm_message("tIME chunk: not present");
- if (info_ptr->valid & PNG_INFO_pCAL)
+ if (png_get_pCAL(png_ptr, info_ptr, &purpose, &X0, &X1,
+ &type, &nparams, &units, &params) & PNG_INFO_pCAL)
pm_message("pCAL chunk: present");
else
pm_message("pCAL chunk: not present");
- if (info_ptr->valid & PNG_INFO_sRGB)
+ if (png_get_sRGB(png_ptr, info_ptr, &file_srgb_intent) & PNG_INFO_sRGB)
pm_message("sRGB chunk: present");
else
pm_message("sRGB chunk: not present");
@@ -472,19 +501,19 @@
static bool
-isTransparentColor(pngcolor const color,
- png_info * const info_ptr,
- double const totalgamma) {
+isTransparentColor(pngcolor const color,
+ png_structp const png_ptr,
+ png_info * const info_ptr,
+ double const totalgamma) {
/*----------------------------------------------------------------------------
Return TRUE iff pixels of color 'color' are supposed to be transparent
everywhere they occur. Assume it's an RGB image.
-----------------------------------------------------------------------------*/
bool retval;
+ png_color_16p transColorP;
- if (info_ptr->valid & PNG_INFO_tRNS) {
- const png_color_16 * const transColorP = &info_ptr->trans_values;
-
-
+ if (png_get_tRNS(png_ptr, info_ptr,
+ NULL, NULL, &transColorP) & PNG_INFO_tRNS) {
/* There seems to be a problem here: you can't compare real
numbers for equality. Also, I'm not sure the gamma
corrected/uncorrected color spaces are right here.
@@ -530,9 +559,11 @@
if (displaygamma == -1.0)
*totalgammaP = -1.0;
else {
+ double fileGamma;
float imageGamma;
- if (info_ptr->valid & PNG_INFO_gAMA)
- imageGamma = info_ptr->gamma;
+
+ if (png_get_gAMA(png_ptr, info_ptr, &fileGamma) & PNG_INFO_gAMA)
+ imageGamma = fileGamma;
else {
if (verbose)
pm_message("PNG doesn't specify image gamma. Assuming 1.0");
@@ -548,10 +579,14 @@
} else {
png_set_gamma(png_ptr, displaygamma, imageGamma);
*totalgammaP = imageGamma * displaygamma;
+#ifdef NOT_SUPPORTED_ANYMORE
+ /* The API doesn't clearing PNG_INFO_sBIT. */
+
/* in case of gamma-corrections, sBIT's as in the
PNG-file are not valid anymore
*/
info_ptr->valid &= ~PNG_INFO_sBIT;
+#endif
if (verbose)
pm_message("image gamma is %4.2f, "
"converted for display gamma of %4.2f",
@@ -563,20 +598,24 @@
static bool
-paletteHasPartialTransparency(png_info * const info_ptr) {
+paletteHasPartialTransparency(png_structp png_ptr, png_info * const info_ptr) {
bool retval;
- if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE) {
- if (info_ptr->valid & PNG_INFO_tRNS) {
+ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_PALETTE) {
+ png_bytep trans_alpha;
+ int num_trans;
+
+ if (png_get_tRNS(png_ptr, info_ptr,
+ &trans_alpha, &num_trans, NULL) & PNG_INFO_tRNS) {
bool foundGray;
unsigned int i;
for (i = 0, foundGray = FALSE;
- i < info_ptr->num_trans && !foundGray;
+ i < num_trans && !foundGray;
++i) {
- if (info_ptr->trans[i] != 0 &&
- info_ptr->trans[i] != maxval) {
+ if (trans_alpha[i] != 0 &&
+ trans_alpha[i] != maxval) {
foundGray = TRUE;
}
}
@@ -604,14 +643,16 @@
Return the result as *maxvalP.
-----------------------------------------------------------------------------*/
+ png_color_8p sig_bit;
+
/* Initial assumption of maxval */
- if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE) {
+ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_PALETTE) {
if (alpha == ALPHA_ONLY) {
- if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY ||
- info_ptr->color_type == PNG_COLOR_TYPE_RGB)
+ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY ||
+ png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB)
/* The alpha mask will be all opaque, so maxval 1 is plenty */
*maxvalP = 1;
- else if (paletteHasPartialTransparency(info_ptr))
+ else if (paletteHasPartialTransparency(png_ptr, info_ptr))
/* Use same maxval as PNG transparency palette for simplicity*/
*maxvalP = 255;
else
@@ -621,7 +662,7 @@
/* Use same maxval as PNG palette for simplicity */
*maxvalP = 255;
} else {
- *maxvalP = (1l << info_ptr->bit_depth) - 1;
+ *maxvalP = (1l << png_get_bit_depth(png_ptr, info_ptr)) - 1;
}
/* sBIT handling is very tricky. If we are extracting only the
@@ -634,20 +675,26 @@
is used
*/
- if (info_ptr->valid & PNG_INFO_sBIT) {
+ if (png_get_sBIT(png_ptr, info_ptr, &sig_bit) & PNG_INFO_sBIT) {
+ png_byte color_type;
+ png_bytep trans_alpha;
+ int num_trans;
+
+ color_type = png_get_color_type(png_ptr, info_ptr);
switch (alpha) {
case ALPHA_MIX:
- if (info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA ||
- info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
+ if (color_type == PNG_COLOR_TYPE_RGB_ALPHA ||
+ color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
break;
- if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE &&
- (info_ptr->valid & PNG_INFO_tRNS)) {
+ if (color_type == PNG_COLOR_TYPE_PALETTE &&
+ png_get_tRNS(png_ptr, info_ptr,
+ &trans_alpha, &num_trans, NULL) & PNG_INFO_tRNS) {
bool trans_mix;
unsigned int i;
trans_mix = TRUE;
- for (i = 0; i < info_ptr->num_trans; ++i)
- if (info_ptr->trans[i] != 0 && info_ptr->trans[i] != 255) {
+ for (i = 0; i < num_trans; ++i)
+ if (trans_alpha[i] != 0 && trans_alpha[i] != 255) {
trans_mix = FALSE;
break;
}
@@ -658,70 +705,76 @@
/* else fall though to normal case */
case ALPHA_NONE:
- if ((info_ptr->color_type == PNG_COLOR_TYPE_PALETTE ||
- info_ptr->color_type == PNG_COLOR_TYPE_RGB ||
- info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA) &&
- (info_ptr->sig_bit.red != info_ptr->sig_bit.green ||
- info_ptr->sig_bit.red != info_ptr->sig_bit.blue) &&
+ if ((color_type == PNG_COLOR_TYPE_PALETTE ||
+ color_type == PNG_COLOR_TYPE_RGB ||
+ color_type == PNG_COLOR_TYPE_RGB_ALPHA) &&
+ (sig_bit->red != sig_bit->green ||
+ sig_bit->red != sig_bit->blue) &&
alpha == ALPHA_NONE) {
pm_message("This program cannot handle "
"different bit depths for color channels");
pm_message("writing file with %d bit resolution",
- info_ptr->bit_depth);
+ png_get_bit_depth(png_ptr, info_ptr));
*errorlevelP = PNMTOPNG_WARNING_LEVEL;
} else {
- if ((info_ptr->color_type == PNG_COLOR_TYPE_PALETTE) &&
- (info_ptr->sig_bit.red < 255)) {
+ png_colorp palette;
+ int num_palette;
+
+ if ((color_type == PNG_COLOR_TYPE_PALETTE) &&
+ (sig_bit->red < 255) &&
+ png_get_PLTE(png_ptr, info_ptr,
+ &palette, &num_palette) & PNG_INFO_PLTE) {
unsigned int i;
- for (i = 0; i < info_ptr->num_palette; ++i) {
- info_ptr->palette[i].red >>=
- (8 - info_ptr->sig_bit.red);
- info_ptr->palette[i].green >>=
- (8 - info_ptr->sig_bit.green);
- info_ptr->palette[i].blue >>=
- (8 - info_ptr->sig_bit.blue);
+
+ for (i = 0; i < num_palette; ++i) {
+ palette[i].red >>=
+ (8 - sig_bit->red);
+ palette[i].green >>=
+ (8 - sig_bit->green);
+ palette[i].blue >>=
+ (8 - sig_bit->blue);
}
- *maxvalP = (1l << info_ptr->sig_bit.red) - 1;
+ *maxvalP = (1l << sig_bit->red) - 1;
if (verbose)
pm_message ("image has fewer significant bits, "
"writing file with %d bits per channel",
- info_ptr->sig_bit.red);
+ sig_bit->red);
} else
- if ((info_ptr->color_type == PNG_COLOR_TYPE_RGB ||
- info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA) &&
- (info_ptr->sig_bit.red < info_ptr->bit_depth)) {
- png_set_shift (png_ptr, &(info_ptr->sig_bit));
- *maxvalP = (1l << info_ptr->sig_bit.red) - 1;
+ if ((color_type == PNG_COLOR_TYPE_RGB ||
+ color_type == PNG_COLOR_TYPE_RGB_ALPHA) &&
+ (sig_bit->red < png_get_bit_depth(png_ptr, info_ptr))) {
+ png_set_shift (png_ptr, sig_bit);
+ *maxvalP = (1l << sig_bit->red) - 1;
if (verbose)
pm_message("image has fewer significant bits, "
"writing file with %d "
"bits per channel",
- info_ptr->sig_bit.red);
+ sig_bit->red);
} else
- if ((info_ptr->color_type == PNG_COLOR_TYPE_GRAY ||
- info_ptr->color_type ==
+ if ((color_type == PNG_COLOR_TYPE_GRAY ||
+ color_type ==
PNG_COLOR_TYPE_GRAY_ALPHA) &&
- (info_ptr->sig_bit.gray < info_ptr->bit_depth)) {
- png_set_shift (png_ptr, &(info_ptr->sig_bit));
- *maxvalP = (1l << info_ptr->sig_bit.gray) - 1;
+ (sig_bit->gray < png_get_bit_depth(png_ptr, info_ptr))) {
+ png_set_shift (png_ptr, sig_bit);
+ *maxvalP = (1l << sig_bit->gray) - 1;
if (verbose)
pm_message("image has fewer significant bits, "
"writing file with %d bits",
- info_ptr->sig_bit.gray);
+ sig_bit->gray);
}
}
break;
case ALPHA_ONLY:
- if ((info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA ||
- info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA) &&
- (info_ptr->sig_bit.gray < info_ptr->bit_depth)) {
- png_set_shift (png_ptr, &(info_ptr->sig_bit));
+ if ((color_type == PNG_COLOR_TYPE_RGB_ALPHA ||
+ color_type == PNG_COLOR_TYPE_GRAY_ALPHA) &&
+ (sig_bit->gray < png_get_bit_depth(png_ptr, info_ptr))) {
+ png_set_shift (png_ptr, sig_bit);
if (verbose)
pm_message ("image has fewer significant bits, "
"writing file with %d bits",
- info_ptr->sig_bit.alpha);
- *maxvalP = (1l << info_ptr->sig_bit.alpha) - 1;
+ sig_bit->alpha);
+ *maxvalP = (1l << sig_bit->alpha) - 1;
}
break;
@@ -732,22 +785,28 @@
static bool
-imageHasColor(png_info * const info_ptr) {
+imageHasColor(png_structp const png_ptr, png_info * const info_ptr) {
bool retval;
-
- if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY ||
- info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
+ png_byte color_type;
+ png_colorp palette;
+ int num_palette;
+
+ color_type = png_get_color_type(png_ptr, info_ptr);
+ if (color_type == PNG_COLOR_TYPE_GRAY ||
+ color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
retval = FALSE;
- else if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE) {
+ else if (color_type == PNG_COLOR_TYPE_PALETTE &&
+ png_get_PLTE(png_ptr, info_ptr,
+ &palette, &num_palette) & PNG_INFO_PLTE) {
bool foundColor;
unsigned int i;
for (i = 0, foundColor = FALSE;
- i < info_ptr->num_palette && !foundColor;
+ i < num_palette && !foundColor;
++i) {
- if (iscolor(info_ptr->palette[i]))
+ if (iscolor(palette[i]))
foundColor = TRUE;
}
retval = foundColor;
@@ -760,14 +819,15 @@
static void
-determineOutputType(png_info * const info_ptr,
+determineOutputType(png_structp const png_ptr,
+ png_info * const info_ptr,
enum alpha_handling const alphaHandling,
pngcolor const bgColor,
xelval const maxval,
int * const pnmTypeP) {
if (alphaHandling != ALPHA_ONLY &&
- (imageHasColor(info_ptr) || !isGrayscale(bgColor)))
+ (imageHasColor(png_ptr, info_ptr) || !isGrayscale(bgColor)))
*pnmTypeP = PPM_TYPE;
else {
if (maxval > 1)
@@ -780,7 +840,8 @@
static void
-getBackgroundColor(png_info * const info_ptr,
+getBackgroundColor(png_structp const png_ptr,
+ png_info * const info_ptr,
const char * const requestedColor,
float const totalgamma,
xelval const maxval,
@@ -791,6 +852,8 @@
Otherwise, if the PNG specifies a background color, that's the one.
And otherwise, it's white.
-----------------------------------------------------------------------------*/
+ png_color_16p background;
+
if (requestedColor) {
/* Background was specified from the command-line; we always
use that. I chose to do no gamma-correction in this case;
@@ -802,27 +865,32 @@
bgColorP->g = PPM_GETG(backcolor);
bgColorP->b = PPM_GETB(backcolor);
- } else if (info_ptr->valid & PNG_INFO_bKGD) {
+ } else if (png_get_bKGD(png_ptr, info_ptr, &background) & PNG_INFO_bKGD) {
/* didn't manage to get libpng to work (bugs?) concerning background
processing, therefore we do our own.
*/
- switch (info_ptr->color_type) {
+ switch (png_get_color_type(png_ptr, info_ptr)) {
case PNG_COLOR_TYPE_GRAY:
case PNG_COLOR_TYPE_GRAY_ALPHA:
bgColorP->r = bgColorP->g = bgColorP->b =
- gamma_correct(info_ptr->background.gray, totalgamma);
+ gamma_correct(background->gray, totalgamma);
break;
case PNG_COLOR_TYPE_PALETTE: {
- png_color const rawBgcolor =
- info_ptr->palette[info_ptr->background.index];
- bgColorP->r = gamma_correct(rawBgcolor.red, totalgamma);
- bgColorP->g = gamma_correct(rawBgcolor.green, totalgamma);
- bgColorP->b = gamma_correct(rawBgcolor.blue, totalgamma);
+ png_colorp palette;
+ int num_palette;
+
+ if (png_get_PLTE(png_ptr, info_ptr,
+ &palette, &num_palette) & PNG_INFO_PLTE) {
+ png_color const rawBgcolor = palette[background->index];
+ bgColorP->r = gamma_correct(rawBgcolor.red, totalgamma);
+ bgColorP->g = gamma_correct(rawBgcolor.green, totalgamma);
+ bgColorP->b = gamma_correct(rawBgcolor.blue, totalgamma);
+ }
}
break;
case PNG_COLOR_TYPE_RGB:
case PNG_COLOR_TYPE_RGB_ALPHA: {
- png_color_16 const rawBgcolor = info_ptr->background;
+ png_color_16 const rawBgcolor = *background;
bgColorP->r = gamma_correct(rawBgcolor.red, totalgamma);
bgColorP->g = gamma_correct(rawBgcolor.green, totalgamma);
@@ -841,6 +909,7 @@
writePnm(FILE * const ofP,
xelval const maxval,
int const pnm_type,
+ png_structp const png_ptr,
png_info * const info_ptr,
png_byte ** const png_image,
pngcolor const bgColor,
@@ -858,6 +927,7 @@
-----------------------------------------------------------------------------*/
xel * xelrow;
unsigned int row;
+ png_uint_32 width, height;
if (verbose)
pm_message ("writing a %s file (maxval=%u)",
@@ -867,27 +937,35 @@
"UNKNOWN!",
maxval);
- xelrow = pnm_allocrow(info_ptr->width);
+ xelrow = pnm_allocrow(png_get_image_width(png_ptr, info_ptr));
- pnm_writepnminit(stdout, info_ptr->width, info_ptr->height, maxval,
- pnm_type, FALSE);
+ width = png_get_image_width(png_ptr, info_ptr);
+ height = png_get_image_height(png_ptr, info_ptr);
- for (row = 0; row < info_ptr->height; ++row) {
+ pnm_writepnminit(stdout, width, height, maxval, pnm_type, FALSE);
+
+ for (row = 0; row < height; ++row) {
png_byte * png_pixelP;
int col;
png_pixelP = &png_image[row][0]; /* initial value */
- for (col = 0; col < info_ptr->width; ++col) {
- switch (info_ptr->color_type) {
+ for (col = 0; col < width; ++col) {
+ switch (png_get_color_type(png_ptr, info_ptr)) {
case PNG_COLOR_TYPE_GRAY: {
pngcolor fgColor;
+ png_color_16p trans_color;
+
fgColor.r = fgColor.g = fgColor.b = get_png_val(png_pixelP);
- setXel(&xelrow[col], fgColor, bgColor, alpha_handling,
- ((info_ptr->valid & PNG_INFO_tRNS) &&
- (fgColor.r ==
- gamma_correct(info_ptr->trans_values.gray,
- totalgamma))) ?
- 0 : maxval);
+
+ if (png_get_tRNS(png_ptr, info_ptr,
+ NULL, NULL, &trans_color) & PNG_INFO_tRNS &&
+ (fgColor.r == gamma_correct(trans_color->gray,
+ totalgamma))) {
+ setXel(&xelrow[col], fgColor, bgColor, alpha_handling, 0);
+ } else {
+ setXel(&xelrow[col], fgColor, bgColor, alpha_handling,
+ maxval);
+ }
}
break;
@@ -902,19 +980,31 @@
break;
case PNG_COLOR_TYPE_PALETTE: {
- png_uint_16 const index = get_png_val(png_pixelP);
- png_color const paletteColor = info_ptr->palette[index];
-
- pngcolor fgColor;
-
- fgColor.r = paletteColor.red;
- fgColor.g = paletteColor.green;
- fgColor.b = paletteColor.blue;
-
- setXel(&xelrow[col], fgColor, bgColor, alpha_handling,
- (info_ptr->valid & PNG_INFO_tRNS) &&
- index < info_ptr->num_trans ?
- info_ptr->trans[index] : maxval);
+ png_uint_16 const index = get_png_val(png_pixelP);
+ png_colorp palette;
+ int num_palette;
+
+ if (png_get_PLTE(png_ptr, info_ptr,
+ &palette, &num_palette) & PNG_INFO_PLTE) {
+ png_color const paletteColor = palette[index];
+ pngcolor fgColor;
+ png_bytep trans_alpha;
+ int num_trans;
+
+ fgColor.r = paletteColor.red;
+ fgColor.g = paletteColor.green;
+ fgColor.b = paletteColor.blue;
+
+ if (png_get_tRNS(png_ptr, info_ptr,
+ &trans_alpha,
+ &num_trans, NULL) & PNG_INFO_tRNS) {
+ setXel(&xelrow[col], fgColor, bgColor, alpha_handling,
+ index < num_trans ? trans_alpha[index] : maxval);
+ } else {
+ setXel(&xelrow[col], fgColor, bgColor, alpha_handling,
+ maxval);
+ }
+ }
}
break;
@@ -925,8 +1015,8 @@
fgColor.g = get_png_val(png_pixelP);
fgColor.b = get_png_val(png_pixelP);
setXel(&xelrow[col], fgColor, bgColor, alpha_handling,
- isTransparentColor(fgColor, info_ptr, totalgamma) ?
- 0 : maxval);
+ isTransparentColor(fgColor, png_ptr, info_ptr,
+ totalgamma) ? 0 : maxval);
}
break;
@@ -943,10 +1033,10 @@
break;
default:
- pm_error ("unknown PNG color type: %d", info_ptr->color_type);
+ pm_error ("unknown PNG color type: %d", png_get_color_type(png_ptr, info_ptr));
}
}
- pnm_writepnmrow(ofP, xelrow, info_ptr->width, maxval, pnm_type, FALSE);
+ pnm_writepnmrow(ofP, xelrow, width, maxval, pnm_type, FALSE);
}
pnm_freerow (xelrow);
}
@@ -967,6 +1057,7 @@
int pnm_type;
pngcolor bgColor;
float totalgamma;
+ int res_x, res_y, unit_type;
*errorlevelP = 0;
@@ -989,28 +1080,28 @@
png_set_sig_bytes (png_ptr, SIG_CHECK_SIZE);
png_read_info (png_ptr, info_ptr);
- MALLOCARRAY(png_image, info_ptr->height);
+ MALLOCARRAY(png_image, png_get_image_height(png_ptr, info_ptr));
if (png_image == NULL) {
png_destroy_read_struct (&png_ptr, &info_ptr, (png_infopp)NULL);
pm_closer (ifp);
pm_error ("couldn't allocate space for image");
}
- if (info_ptr->bit_depth == 16)
- linesize = 2 * info_ptr->width;
+ if (png_get_bit_depth(png_ptr, info_ptr) == 16)
+ linesize = 2 * png_get_image_width(png_ptr, info_ptr);
else
- linesize = info_ptr->width;
+ linesize = png_get_image_width(png_ptr, info_ptr);
- if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
+ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY_ALPHA)
linesize *= 2;
else
- if (info_ptr->color_type == PNG_COLOR_TYPE_RGB)
+ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB)
linesize *= 3;
else
- if (info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA)
+ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB_ALPHA)
linesize *= 4;
- for (y = 0 ; y < info_ptr->height ; y++) {
+ for (y = 0 ; y < png_get_image_height(png_ptr, info_ptr) ; y++) {
png_image[y] = malloc (linesize);
if (png_image[y] == NULL) {
for (x = 0 ; x < y ; x++)
@@ -1022,7 +1113,7 @@
}
}
- if (info_ptr->bit_depth < 8)
+ if (png_get_bit_depth(png_ptr, info_ptr) < 8)
png_set_packing (png_ptr);
setupGammaCorrection(png_ptr, info_ptr, cmdline.gamma, &totalgamma);
@@ -1030,8 +1121,8 @@
setupSignificantBits(png_ptr, info_ptr, cmdline.alpha,
&maxval, errorlevelP);
- getBackgroundColor(info_ptr, cmdline.background, totalgamma, maxval,
- &bgColor);
+ getBackgroundColor(png_ptr, info_ptr, cmdline.background, totalgamma,
+ maxval, &bgColor);
png_read_image (png_ptr, png_image);
png_read_end (png_ptr, info_ptr);
@@ -1041,16 +1132,17 @@
completes. That's because it comes from chunks that are at the
end of the stream.
*/
- dump_png_info(info_ptr);
+ dump_png_info(png_ptr, info_ptr);
if (mtime)
- show_time (info_ptr);
+ show_time (png_ptr, info_ptr);
if (tfp)
- save_text (info_ptr, tfp);
+ save_text (png_ptr, info_ptr, tfp);
- if (info_ptr->valid & PNG_INFO_pHYs) {
+ if (png_get_pHYs(png_ptr, info_ptr,
+ &res_x, &res_y, &unit_type) & PNG_INFO_pHYs) {
float r;
- r = (float)info_ptr->x_pixels_per_unit / info_ptr->y_pixels_per_unit;
+ r = (float)res_x / res_y;
if (r != 1.0) {
pm_message ("warning - non-square pixels; "
"to fix do a 'pamscale -%cscale %g'",
@@ -1060,13 +1152,13 @@
}
}
- determineOutputType(info_ptr, cmdline.alpha, bgColor, maxval, &pnm_type);
+ determineOutputType(png_ptr, info_ptr, cmdline.alpha, bgColor, maxval, &pnm_type);
- writePnm(stdout, maxval, pnm_type, info_ptr, png_image, bgColor,
+ writePnm(stdout, maxval, pnm_type, png_ptr, info_ptr, png_image, bgColor,
cmdline.alpha, totalgamma);
fflush(stdout);
- for (y = 0 ; y < info_ptr->height ; y++)
+ for (y = 0 ; y < png_get_image_height(png_ptr, info_ptr) ; y++)
free (png_image[y]);
free (png_image);
png_destroy_read_struct (&png_ptr, &info_ptr, (png_infopp)NULL);
-13
View File
@@ -1,13 +0,0 @@
$NetBSD: patch-ag,v 1.20 2010/10/28 07:09:13 adam Exp $
--- buildtools/Makefile.orig 2010-10-28 07:01:24.000000000 +0000
+++ buildtools/Makefile
@@ -37,7 +37,7 @@ typegen.o endiangen.o:%.o:%.c
$(CC_FOR_BUILD) -c $(CFLAGS_FOR_BUILD) -o $@ $<
$(PROGS):%:%.o
- $(LD_FOR_BUILD) -o $@ $<
+ $(LD_FOR_BUILD) $(LDFLAGS) -o $@ $<
distclean clean: cleanlocal
.PHONY: cleanlocal
-23
View File
@@ -1,23 +0,0 @@
$NetBSD: patch-ah,v 1.11 2010/07/13 06:08:23 adam Exp $
--- converter/other/cameratopam/camera.c.orig 2006-08-19 03:12:28.000000000 +0000
+++ converter/other/cameratopam/camera.c
@@ -2,6 +2,7 @@
/* Make sure strcasecmp is in string.h */
#define _XOPEN_SOURCE
/* Make sure putenv is in stdlib.h */
+#define __EXTENSIONS__
#include <stdlib.h>
#include <string.h>
@@ -24,6 +25,10 @@
#include "camera.h"
+#ifdef __sun
+#define setenv(x, y, z) putenv(x"="y)
+#endif
+
#if HAVE_INT64
typedef int64_t INT64;
static bool const have64BitArithmetic = true;
-13
View File
@@ -1,13 +0,0 @@
$NetBSD: patch-ai,v 1.13 2010/11/04 10:57:50 adam Exp $
--- pm_config.in.h.orig 2010-11-04 10:46:22.000000000 +0000
+++ pm_config.in.h
@@ -68,7 +68,7 @@
#define RGB_DB3 "PBMplus_Dir:RGB.TXT"
#else
#define RGB_DB1 "/usr/lib/X11/rgb.txt"
-#define RGB_DB2 "/usr/share/X11/rgb.txt"
+#define RGB_DB2 "@@PREFIX@@/share/netpbm/rgb.txt"
#define RGB_DB3 "/usr/X11R6/lib/X11/rgb.txt"
#endif
-16
View File
@@ -1,16 +0,0 @@
$NetBSD: patch-aj,v 1.13 2011/01/14 21:51:59 tron Exp $
Fix build with png-1.5.
--- converter/other/pngtxt.h.orig 2006-08-19 04:12:28.000000000 +0100
+++ converter/other/pngtxt.h 2011-01-14 21:39:26.000000000 +0000
@@ -5,7 +5,8 @@
#include <png.h>
void
-pnmpng_read_text (png_info * const info_ptr,
+pnmpng_read_text (png_struct * png_ptr,
+ png_info * const info_ptr,
FILE * const tfp,
bool const ztxt,
bool const verbose);
-80
View File
@@ -1,80 +0,0 @@
$NetBSD: patch-ak,v 1.9 2011/01/14 21:51:59 tron Exp $
Fix build with png-1.5.
--- converter/other/pngtxt.c.orig 2006-08-19 04:12:28.000000000 +0100
+++ converter/other/pngtxt.c 2011-01-14 21:28:09.000000000 +0000
@@ -240,7 +240,8 @@
void
-pnmpng_read_text (png_info * const info_ptr,
+pnmpng_read_text (png_struct * png_ptr,
+ png_info * info_ptr,
FILE * const tfp,
bool const ztxt,
bool const verbose) {
@@ -250,6 +251,7 @@
unsigned int commentIdx;
bool noCommentsYet;
bool eof;
+ png_textp text_ptr;
unsigned int allocatedComments;
/* Number of entries currently allocated for the info_ptr->text
array
@@ -257,8 +259,8 @@
allocatedComments = 256; /* initial value */
- MALLOCARRAY(info_ptr->text, allocatedComments);
- if (info_ptr->text == NULL)
+ MALLOCARRAY(text_ptr, allocatedComments);
+ if (text_ptr == NULL)
pm_error("unable to allocate memory for comment array");
commentIdx = 0;
@@ -273,7 +275,7 @@
if (lineLength == 0) {
/* skip this empty line */
} else {
- handleArrayAllocation(&info_ptr->text, &allocatedComments,
+ handleArrayAllocation(&text_ptr, &allocatedComments,
commentIdx);
if ((textline[0] != ' ') && (textline[0] != '\t')) {
/* Line doesn't start with white space, which
@@ -285,7 +287,7 @@
++commentIdx;
noCommentsYet = FALSE;
- startComment(&info_ptr->text[commentIdx],
+ startComment(&text_ptr[commentIdx],
textline, lineLength, ztxt);
} else {
/* Line starts with whitespace, which means it is
@@ -295,20 +297,20 @@
pm_error("Invalid comment file format: "
"first line is a continuation line! "
"(It starts with whitespace)");
- continueComment(&info_ptr->text[commentIdx],
+ continueComment(&text_ptr[commentIdx],
textline, lineLength);
}
}
strfree(textline);
}
}
- if (noCommentsYet)
- info_ptr->num_text = 0;
- else
- info_ptr->num_text = commentIdx + 1;
+ if (!noCommentsYet)
+ png_set_text(png_ptr, info_ptr, text_ptr, commentIdx + 1);
if (verbose)
- pm_message("%d comments placed in text chunk", info_ptr->num_text);
+ pm_message("%d comments placed in text chunk", commentIdx + 1);
+
+ free(text_ptr);
}
-19
View File
@@ -1,19 +0,0 @@
$NetBSD: patch-al,v 1.5 2011/01/15 18:37:46 tron Exp $
Fix build with png-1.5.
--- converter/other/pamrgbatopng.c.orig 2006-08-19 04:12:28.000000000 +0100
+++ converter/other/pamrgbatopng.c 2011-01-15 18:24:36.000000000 +0000
@@ -101,10 +101,8 @@
if (!infoP)
pm_error("Could not allocate PNG info structure");
else {
- infoP->width = pamP->width;
- infoP->height = pamP->height;
- infoP->bit_depth = 8;
- infoP->color_type = PNG_COLOR_TYPE_RGB_ALPHA;
+ png_set_IHDR(pngP, infoP, pamP->width, pamP->height,
+ 8, PNG_COLOR_TYPE_RGB_ALPHA, 0, 0, 0);
png_init_io(pngP, ofP);
-13
View File
@@ -1,13 +0,0 @@
$NetBSD: patch-ao,v 1.4 2010/02/19 18:25:44 drochner Exp $
--- converter/ppm/ppmtompeg/headers/frames.h.orig 2006-10-18 18:29:13.000000000 +0000
+++ converter/ppm/ppmtompeg/headers/frames.h
@@ -8,6 +8,8 @@
#ifndef FRAMES_INCLUDED
#define FRAMES_INCLUDED
+#include "pm_config.h"
+
/*==============*
* HEADER FILES *
*==============*/
-13
View File
@@ -1,13 +0,0 @@
$NetBSD: patch-aw,v 1.3 2006/10/03 22:56:51 schwarz Exp $
--- lib/Makefile.orig 2006-10-03 20:55:25.000000000 +0200
+++ lib/Makefile 2006-10-03 20:55:56.000000000 +0200
@@ -81,7 +81,7 @@
$(LIBOBJECTS): %.o: %.c importinc
# Note that the user may have configured -I options into CFLAGS.
$(CC) -c $(INCLUDES) -DNDEBUG $(CFLAGS) $(CFLAGS_SHLIB) \
- $(CFLAGS_PERSONAL) $(CADD) -o $@ $<
+ $(CFLAGS_PERSONAL) $(CPPFLAGS) $(CADD) -o $@ $<
MAJ = $(NETPBM_MAJOR_RELEASE)
MIN = $(NETPBM_MINOR_RELEASE)
-13
View File
@@ -1,13 +0,0 @@
$NetBSD: patch-ax,v 1.3 2006/11/19 15:50:59 tron Exp $
--- converter/ppm/hpcdtoppm/pcdovtoppm.orig 2004-10-23 00:12:12.000000000 +0100
+++ converter/ppm/hpcdtoppm/pcdovtoppm 2006-11-19 15:46:03.000000000 +0000
@@ -195,7 +195,7 @@
rowfiles="$rowfiles $rowfile"
fi
-if [ ${#rowfiles[*]} == 1 ]; then
+if [ ${#rowfiles[*]} = 1 ]; then
cat $rowfiles
else
if [ "$colors" = "n" ] ; then
-25
View File
@@ -1,25 +0,0 @@
$NetBSD: patch-ay,v 1.3 2007/01/13 01:16:17 dmcmahill Exp $
This is needed for some non-gcc compilers such as the Sun
Studio c-compiler
--- lib/ppm.h.orig 2006-04-29 18:13:01.000000000 -0400
+++ lib/ppm.h
@@ -233,7 +233,7 @@ struct hsv
ppm_hsv_from_color(pixel const color,
pixval const maxval);
-static __inline pixval
+static __inline__ pixval
ppm_colorvalue(pixel const p) {
/*----------------------------------------------------------------------------
The color value (V is HSV) as a pixval
@@ -241,7 +241,7 @@ ppm_colorvalue(pixel const p) {
return PPM_MAX(PPM_GETR(p), PPM_MAX(PPM_GETG(p), PPM_GETB(p)));
}
-static __inline pixval
+static __inline__ pixval
ppm_saturation(pixel const p,
pixval const maxval) {
/*----------------------------------------------------------------------------
-13
View File
@@ -1,13 +0,0 @@
$NetBSD: patch-cb,v 1.1 2006/10/11 18:44:25 rillig Exp $
--- buildtools/installosf.orig 2002-01-29 05:03:15.000000000 +0100
+++ buildtools/installosf 2006-10-11 20:41:35.000000000 +0200
@@ -17,7 +17,7 @@ while [ $# -gt 0 ]; do
elif [ "$1" = "-m" ]; then
shift
PERMISSIONS=$1
- elif [ ${SOURCE_FILE}x == x ]; then
+ elif [ ${SOURCE_FILE}x = x ]; then
SOURCE_FILE=$1
else
TARGET_DIR=$1
+14
View File
@@ -0,0 +1,14 @@
$NetBSD: patch-common.mk,v 1.3 2015/03/12 12:35:42 tnn Exp $
Simplify install target.
--- common.mk.orig 2014-09-08 21:26:50.000000000 +0000
+++ common.mk
@@ -465,7 +465,7 @@ endif
PKGMANSUBDIRS = man1 man3 man5 web
-PKGSUBDIRS = bin include include/netpbm lib link misc \
+PKGSUBDIRS = bin include include/netpbm lib misc \
$(PKGMANSUBDIRS:%=$(PKGMANDIR)/%)
$(PKGSUBDIRS:%=$(PKGDIR)/%):
@@ -0,0 +1,15 @@
$NetBSD: patch-converter_other_giftopnm.c,v 1.1 2015/01/25 15:01:48 jperkin Exp $
Fix "giftopnm.c:368: error: incompatible types in assignment".
--- converter/other/giftopnm.c.orig 2014-11-23 16:05:23.000000000 +0000
+++ converter/other/giftopnm.c
@@ -365,7 +365,7 @@ getDataBlock(FILE * const ifP,
pm_message("EOF or error in reading DataBlock size from file. %s",
error);
pm_strfree(error);
- *errorP = FALSE;
+ *errorP = NULL;
*eofP = TRUE;
*lengthP = 0;
} else {
-17
View File
@@ -1,17 +0,0 @@
$NetBSD: patch-da,v 1.3 2010/03/04 11:01:01 tnn Exp $
--- converter/other/jpeg2000/jpeg2ktopam.c.orig 2007-12-27 22:32:59.000000000 +0000
+++ converter/other/jpeg2000/jpeg2ktopam.c
@@ -10,7 +10,11 @@
#define _BSD_SOURCE 1 /* Make sure strdup() is in string.h */
/* Make sure strdup() is in string.h and int_fast32_t is in inttypes.h */
-#define _XOPEN_SOURCE 600
+#ifdef __osf__
+#define _OSF_SOURCE
+#else
+#define _XOPEN_SOURCE 500
+#endif /* __osf__ */
#include <string.h>
#include "pam.h"
-17
View File
@@ -1,17 +0,0 @@
$NetBSD: patch-db,v 1.3 2010/03/04 11:01:01 tnn Exp $
--- converter/other/jpeg2000/pamtojpeg2k.c.orig 2007-12-27 22:32:59.000000000 +0000
+++ converter/other/jpeg2000/pamtojpeg2k.c
@@ -10,7 +10,11 @@
#define _BSD_SOURCE 1 /* Make sure strdup() is in string.h */
/* Make sure strdup() is in string.h and int_fast32_t is in inttypes.h */
-#define _XOPEN_SOURCE 600
+#ifdef __osf__
+#define _OSF_SOURCE
+#else
+#define _XOPEN_SOURCE 500
+#endif /* __osf__ */
#include <string.h>
#include "pam.h"
-16
View File
@@ -1,16 +0,0 @@
$NetBSD: patch-dc,v 1.1 2006/11/03 07:45:19 rillig Exp $
--- converter/other/cameratopam/camera.c.orig Tue Oct 31 09:49:45 2006
+++ converter/other/cameratopam/camera.c Tue Oct 31 10:55:38 2006
@@ -1,7 +1,11 @@
#define _BSD_SOURCE
/* Make sure strcasecmp is in string.h */
+#ifdef __osf__
+#define _OSF_SOURCE
+#else
#define _XOPEN_SOURCE
/* Make sure putenv is in stdlib.h */
+#endif /* __osf__ */
#define __EXTENSIONS__
#include <stdlib.h>
-16
View File
@@ -1,16 +0,0 @@
$NetBSD: patch-dd,v 1.3 2012/01/19 20:17:47 is Exp $
--- converter/other/cameratopam/cameratopam.c.orig 2006-08-19 03:12:28.000000000 +0000
+++ converter/other/cameratopam/cameratopam.c
@@ -8,7 +8,11 @@
#define _BSD_SOURCE 1 /* Make sure string.h contains strcasecmp() */
+#if defined(__osf__) || defined(__sgi)
+#define _OSF_SOURCE
+#else
#define _XOPEN_SOURCE /* Make sure unistd.h contains swab() */
+#endif /* defined(__osf__) || defined(__sgi) */
#include <ctype.h>
#include <unistd.h>
-147
View File
@@ -1,147 +0,0 @@
$NetBSD: patch-eb,v 1.2 2010/07/13 06:08:23 adam Exp $
--- converter/ppm/xpmtoppm.c.orig 2009-12-29 20:46:34.000000000 +0000
+++ converter/ppm/xpmtoppm.c
@@ -121,7 +121,7 @@ static bool backup;
static void
-getline(char * const line,
+get_line(char * const line,
size_t const size,
FILE * const stream) {
/*----------------------------------------------------------------------------
@@ -139,7 +139,7 @@ getline(char * const line,
Exit program if the line doesn't fit in the buffer.
-----------------------------------------------------------------------------*/
if (size > sizeof(lastInputLine))
- pm_error("INTERNAL ERROR: getline() received 'size' parameter "
+ pm_error("INTERNAL ERROR: get_line() received 'size' parameter "
"which is out of bounds");
if (backup) {
@@ -355,7 +355,7 @@ readXpm3Header(FILE * const stream, int
int * const transparentP) {
/*----------------------------------------------------------------------------
Read the header of the XPM file on stream 'stream'. Assume the
- getline() stream is presently positioned to the beginning of the
+ get_line() stream is presently positioned to the beginning of the
file and it is a Version 3 XPM file. Leave the stream positioned
after the header.
@@ -386,25 +386,25 @@ readXpm3Header(FILE * const stream, int
*widthP = *heightP = *ncolorsP = *chars_per_pixelP = -1;
/* Read the XPM signature comment */
- getline(line, sizeof(line), stream);
+ get_line(line, sizeof(line), stream);
if (strncmp(line, xpm3_signature, strlen(xpm3_signature)) != 0)
pm_error("Apparent XPM 3 file does not start with '/* XPM */'. "
"First line is '%s'", xpm3_signature);
/* Read the assignment line */
- getline(line, sizeof(line), stream);
+ get_line(line, sizeof(line), stream);
if (strncmp(line, "static char", 11) != 0)
pm_error("Cannot find data structure declaration. Expected a "
"line starting with 'static char', but found the line "
"'%s'.", line);
/* Read the hints line */
- getline(line, sizeof(line), stream);
+ get_line(line, sizeof(line), stream);
/* skip the comment line if any */
if (!strncmp(line, "/*", 2)) {
while (!strstr(line, "*/"))
- getline(line, sizeof(line), stream);
- getline(line, sizeof(line), stream);
+ get_line(line, sizeof(line), stream);
+ get_line(line, sizeof(line), stream);
}
if (sscanf(line, "\"%d %d %d %d\",", widthP, heightP,
ncolorsP, chars_per_pixelP) != 4)
@@ -438,10 +438,10 @@ readXpm3Header(FILE * const stream, int
*transparentP = -1; /* initial value */
for (seqNum = 0; seqNum < *ncolorsP; seqNum++) {
- getline(line, sizeof(line), stream);
+ get_line(line, sizeof(line), stream);
/* skip the comment line if any */
if (!strncmp(line, "/*", 2))
- getline(line, sizeof(line), stream);
+ get_line(line, sizeof(line), stream);
interpretXpm3ColorTableLine(line, seqNum, *chars_per_pixelP,
*colorsP, *ptabP, transparentP);
@@ -456,7 +456,7 @@ readXpm1Header(FILE * const stream, int
pixel ** const colorsP, int ** const ptabP) {
/*----------------------------------------------------------------------------
Read the header of the XPM file on stream 'stream'. Assume the
- getline() stream is presently positioned to the beginning of the
+ get_line() stream is presently positioned to the beginning of the
file and it is a Version 1 XPM file. Leave the stream positioned
after the header.
@@ -476,7 +476,7 @@ readXpm1Header(FILE * const stream, int
/* Read the initial defines. */
processedStaticChar = FALSE;
while (!processedStaticChar) {
- getline(line, sizeof(line), stream);
+ get_line(line, sizeof(line), stream);
if (sscanf(line, "#define %s %d", str1, &v) == 2) {
char *t1;
@@ -524,7 +524,7 @@ readXpm1Header(FILE * const stream, int
/* If there's a monochrome color table, skip it. */
if (!strncmp(t1, "mono", 4)) {
for (;;) {
- getline(line, sizeof(line), stream);
+ get_line(line, sizeof(line), stream);
if (!strncmp(line, "static char", 11))
break;
}
@@ -547,7 +547,7 @@ readXpm1Header(FILE * const stream, int
/* Read color table. */
for (i = 0; i < *ncolorsP; ++i) {
- getline(line, sizeof(line), stream);
+ get_line(line, sizeof(line), stream);
if ((t1 = strchr(line, '"')) == NULL)
pm_error("D error scanning color table");
@@ -583,7 +583,7 @@ readXpm1Header(FILE * const stream, int
"static char ...").
*/
for (;;) {
- getline(line, sizeof(line), stream);
+ get_line(line, sizeof(line), stream);
if (strncmp(line, "static char", 11) == 0)
break;
}
@@ -687,7 +687,7 @@ ReadXPMFile(FILE * const stream, int * c
backup = FALSE;
/* Read the header line */
- getline(line, sizeof(line), stream);
+ get_line(line, sizeof(line), stream);
backup = TRUE; /* back up so next read reads this line again */
rc = sscanf(line, "/* %s */", str1);
@@ -707,7 +707,7 @@ ReadXPMFile(FILE * const stream, int * c
pm_error("Could not get %d bytes of memory for image", totalpixels);
cursor = *dataP;
maxcursor = *dataP + totalpixels - 1;
- getline(line, sizeof(line), stream);
+ get_line(line, sizeof(line), stream);
/* read next line (first line may not always start with comment) */
while (cursor <= maxcursor) {
if (strncmp(line, "/*", 2) == 0) {
@@ -717,7 +717,7 @@ ReadXPMFile(FILE * const stream, int * c
ncolors, ptab, &cursor, maxcursor);
}
if (cursor <= maxcursor)
- getline(line, sizeof(line), stream);
+ get_line(line, sizeof(line), stream);
}
if (ptab) free(ptab);
}
@@ -0,0 +1,51 @@
$NetBSD: patch-lib_Makefile,v 1.1 2014/10/23 23:41:32 fhajny Exp $
Simple install target.
--- lib/Makefile.orig 2014-09-01 21:22:27.000000000 +0000
+++ lib/Makefile
@@ -213,7 +213,7 @@ libpm.o: compile.h
.PHONY: install.lib
ifeq ($(NETPBMLIBTYPE),unixshared)
# install a Unix-style shared library
-install.lib: $(PKGDIR)/lib $(PKGDIR)/link
+install.lib: $(PKGDIR)/lib
cd $(PKGDIR)/lib ; rm -f libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ).*
$(INSTALL) -c -m $(INSTALL_PERM_LIBD) \
libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ).$(MIN) $(PKGDIR)/lib/
@@ -255,28 +255,28 @@ $(INTERFACE_HEADERS:%=%_installhdr): $(P
$(SRCDIR)/lib/$(@:%_installhdr=%) $(PKGDIR)/include/netpbm/
.PHONY: install.staticlib
-install.staticlib: $(PKGDIR)/link
+install.staticlib: $(PKGDIR)/lib
$(INSTALL) -c -m $(INSTALL_PERM_LIBS) libnetpbm.$(STATICLIBSUFFIX) \
- $(PKGDIR)/link
+ $(PKGDIR)/lib
# Install a shared library stub -- the ".so" file used at link time to
# prepare a program for dynamically linking a library at run time
.PHONY: install.sharedlibstub
-install.sharedlibstub: $(PKGDIR)/link
+install.sharedlibstub: $(PKGDIR)/lib
ifeq ($(NETPBMLIBTYPE),unixshared)
# install the link-time (.so) links to the runtime libraries
- cd $(PKGDIR)/link ; \
+ cd $(PKGDIR)/lib ; \
rm -f libnetpbm.$(NETPBMLIBSUFFIX); \
- $(SYMLINK) ../lib/libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ) \
+ $(SYMLINK) libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ) \
libnetpbm.$(NETPBMLIBSUFFIX)
endif
ifeq ($(NETPBMLIBTYPE),dll)
- $(INSTALL) -c -m $(INSTALL_PERM_LIBS) libnetpbm.dll.a $(PKGDIR)/link
+ $(INSTALL) -c -m $(INSTALL_PERM_LIBS) libnetpbm.dll.a $(PKGDIR)/lib
endif
ifeq ($(NETPBMLIBTYPE),dylib)
- cd $(PKGDIR)/link/ ; \
+ cd $(PKGDIR)/lib/ ; \
rm -f libnetpbm.dylib; \
- $(SYMLINK) ../lib/libnetpbm.$(MAJ).$(MIN).dylib libnetpbm.dylib
+ $(SYMLINK) libnetpbm.$(MAJ).$(MIN).dylib libnetpbm.dylib
endif
distclean clean: localclean
@@ -1,15 +0,0 @@
$NetBSD: patch-lib_libpbm3.c,v 1.1 2011/04/04 09:17:24 adam Exp $
Clang does not support SSE extensions at the moment.
--- lib/libpbm3.c.orig 2011-03-29 09:31:31.000000000 +0000
+++ lib/libpbm3.c
@@ -23,7 +23,7 @@
#if defined(__GNUC__) && \
(__GNUC__ * 100 + __GNUC_MINOR__ >= 301) && \
(__GNUC__ * 100 + __GNUC_MINOR__ < 403) && \
- defined (__SSE__)
+ defined (__SSE__) && !defined(__clang__)
/* GCC 4.3 does have the facility, but it is different from what this
code knows how to use. In particular, the calls to
__builtin_ia32_pcmpeqb() and __builtin_ia32_pmovmskb() fail to
@@ -0,0 +1,13 @@
$NetBSD: patch-pm__config.in.h,v 1.1 2014/11/23 14:38:34 gson Exp $
--- pm_config.in.h.orig 2014-11-23 14:12:37.000000000 +0000
+++ pm_config.in.h
@@ -139,7 +139,7 @@
/* #define HAVE_SETMODE */
-#if (defined(__GLIBC__) || defined(__GNU_LIBRARY__) || defined(__APPLE__))
+#if (defined(__GLIBC__) || defined(__GNU_LIBRARY__) || defined(__APPLE__)) || defined(__NetBSD__)
#define HAVE_VASPRINTF 1
#else
#define HAVE_VASPRINTF 0
-13
View File
@@ -1,13 +0,0 @@
$NetBSD: patch-ppmdraw,v 1.1 2007/02/19 02:25:19 rillig Exp $
--- editor/ppmdraw.c.orig Sun Apr 23 21:01:54 2006
+++ editor/ppmdraw.c Sun Feb 18 20:35:09 2007
@@ -1,4 +1,8 @@
+#if defined(__sgi)
+#define _XOPEN_SOURCE 500 /* Needed for strdup(3) */
+#else
#define _XOPEN_SOURCE /* Make sure M_PI is in math.h */
+#endif
#define _BSD_SOURCE /* Make sure strdup is in string.h */
#include <string.h>
@@ -0,0 +1,13 @@
$NetBSD: patch-wordaccess_be_aligned.h,v 1.1 2015/01/23 11:26:40 jdc Exp $
--- lib/util/wordaccess_be_aligned.h.dist 2014-09-01 22:22:28.000000000 +0100
+++ lib/util/wordaccess_be_aligned.h 2015-01-23 09:22:52.000000000 +0000
@@ -24,7 +24,7 @@
static __inline__ void
wordintToBytes(wordintBytes * const bytesP,
wordint const wordInt) {
- uint16_t const hi = ((wordInt >> 48) & 0xFF)
+ uint16_t const hi = ((wordInt >> 48) & 0xFF);
uint16_t const mh = ((wordInt >> 32) & 0xFF);
uint16_t const ml = ((wordInt >> 24) & 0xFF);
uint16_t const lo = ((wordInt >> 0) & 0xFF);