summaryrefslogtreecommitdiff
path: root/graphics/netpbm
diff options
context:
space:
mode:
authorMichael Haro <mharo@FreeBSD.org>2000-04-01 23:57:38 +0000
committerMichael Haro <mharo@FreeBSD.org>2000-04-01 23:57:38 +0000
commit5c16c7e50578ed7f29b2b244b4b11a090fe998c2 (patch)
tree29f5ab481933395d3f11d6a39ab039bc087586ef /graphics/netpbm
parent- Divide patch one file per patch (diff)
update to 8.3
Due to the change of default prefix from X11BASE to LOCALBASE, some other ports Makefile having dependancy to grapchics/netpbm may have to modify *_DEPENDS line. I'll update those ports in a minute. PR: 17742 Submitted by: KATO Tsuguru <tkato@prontomail.ne.jp>
Notes
Notes: svn path=/head/; revision=27259
Diffstat (limited to 'graphics/netpbm')
-rw-r--r--graphics/netpbm/Makefile68
-rw-r--r--graphics/netpbm/distinfo2
-rw-r--r--graphics/netpbm/files/patch-aj30
-rw-r--r--graphics/netpbm/files/patch-au299
-rw-r--r--graphics/netpbm/files/patch-ay21
-rw-r--r--graphics/netpbm/files/patch-ba28
-rw-r--r--graphics/netpbm/files/patch-bb69
-rw-r--r--graphics/netpbm/files/patch-bc84
-rw-r--r--graphics/netpbm/files/patch-bd48
-rw-r--r--graphics/netpbm/files/patch-be47
-rw-r--r--graphics/netpbm/files/patch-bf78
-rw-r--r--graphics/netpbm/files/patch-bg92
-rw-r--r--graphics/netpbm/pkg-plist22
13 files changed, 684 insertions, 204 deletions
diff --git a/graphics/netpbm/Makefile b/graphics/netpbm/Makefile
index f58d9fcca46f..07645243929d 100644
--- a/graphics/netpbm/Makefile
+++ b/graphics/netpbm/Makefile
@@ -1,57 +1,65 @@
# New ports collection makefile for: netpbm
-# Version required: 8.0
+# Version required: 8.3
# Date created: ?
# Whom: jmz (original)
#
# $FreeBSD$
#
-DISTNAME= netpbm-8.0
+DISTNAME= netpbm-8.3
CATEGORIES= graphics
MASTER_SITES= ${MASTER_SITE_SUNSITE}
MASTER_SITE_SUBDIR= apps/graphics/convert
+EXTRACT_SUFX= .tgz
MAINTAINER= ports@FreeBSD.org
-LIB_DEPENDS= tiff.4:${PORTSDIR}/graphics/tiff
+LIB_DEPENDS= tiff.4:${PORTSDIR}/graphics/tiff \
+ png.3:${PORTSDIR}/graphics/png
-WRKSRC= ${WRKDIR}/netpbm
-USE_IMAKE= yes
+USE_GMAKE= yes
+ALL_TARGET= merge
+INSTALL_TARGET= install-merge
MAN1= anytopnm.1 asciitopgm.1 atktopbm.1 bioradtopgm.1 bmptoppm.1 \
brushtopbm.1 cmuwmtopbm.1 fitstopnm.1 fstopgm.1 g3topbm.1 gemtopbm.1 \
giftopnm.1 gouldtoppm.1 hipstopgm.1 hpcdtoppm.1 icontopbm.1 \
- ilbmtoppm.1 imgtoppm.1 lispmtopgm.1 macptopbm.1 mgrtopbm.1 mtvtoppm.1 \
- pbmclean.1 pbmlife.1 pbmmake.1 pbmmask.1 pbmpscale.1 pbmreduce.1 \
- pbmtext.1 pbmto10x.1 pbmto4425.1 pbmtoascii.1 pbmtoatk.1 pbmtobbnbg.1 \
- pbmtocmuwm.1 pbmtoepsi.1 pbmtoepson.1 pbmtog3.1 pbmtogem.1 pbmtogo.1 \
- pbmtoicon.1 pbmtolj.1 pbmtoln03.1 pbmtolps.1 pbmtomacp.1 pbmtomgr.1 \
- pbmtopgm.1 pbmtopi3.1 pbmtopk.1 pbmtoplot.1 pbmtoptx.1 pbmtox10bm.1 \
- pbmtoxbm.1 pbmtoybm.1 pbmtozinc.1 pbmupc.1 pcxtoppm.1 pgmbentley.1 \
- pgmcrater.1 pgmedge.1 pgmenhance.1 pgmhist.1 pgmkernel.1 pgmnoise.1 \
- pgmnorm.1 pgmoil.1 pgmramp.1 pgmtexture.1 pgmtofs.1 pgmtolispm.1 \
- pgmtopbm.1 pgmtoppm.1 pi1toppm.1 pi3topbm.1 picttoppm.1 pjtoppm.1 \
- pktopbm.1 pnmalias.1 pnmarith.1 pnmcat.1 pnmcomp.1 pnmconvol.1 \
- pnmcrop.1 pnmcut.1 pnmdepth.1 pnmenlarge.1 pnmfile.1 pnmflip.1 \
- pnmgamma.1 pnmhisteq.1 pnmhistmap.1 pnmindex.1 pnminvert.1 pnmmargin.1 \
- pnmnlfilt.1 pnmnoraw.1 pnmpad.1 pnmpaste.1 pnmrotate.1 pnmscale.1 \
- pnmshear.1 pnmsmooth.1 pnmtile.1 pnmtoddif.1 pnmtofits.1 pnmtops.1 \
- pnmtorast.1 pnmtosgi.1 pnmtosir.1 pnmtotiff.1 pnmtoxwd.1 ppm3d.1 \
- ppmbrighten.1 ppmchange.1 ppmdim.1 ppmdist.1 ppmdither.1 ppmflash.1 \
- ppmforge.1 ppmhist.1 ppmmake.1 ppmmix.1 ppmnorm.1 ppmntsc.1 ppmpat.1 \
- ppmquant.1 ppmquantall.1 ppmqvga.1 ppmrelief.1 ppmshift.1 ppmspread.1 \
- ppmtoacad.1 ppmtobmp.1 ppmtogif.1 ppmtoicr.1 ppmtoilbm.1 ppmtomap.1 \
+ ilbmtoppm.1 imgtoppm.1 jpegtopnm.1 lispmtopgm.1 macptopbm.1 \
+ mgrtopbm.1 mtvtoppm.1 pbmclean.1 pbmlife.1 pbmmake.1 pbmmask.1 \
+ pbmpscale.1 pbmreduce.1 pbmtext.1 pbmto10x.1 pbmto4425.1 pbmtoascii.1 \
+ pbmtoatk.1 pbmtobbnbg.1 pbmtocmuwm.1 pbmtoepsi.1 pbmtoepson.1 \
+ pbmtog3.1 pbmtogem.1 pbmtogo.1 pbmtoicon.1 pbmtolj.1 pbmtoln03.1 \
+ pbmtolps.1 pbmtomacp.1 pbmtomgr.1 pbmtopgm.1 pbmtopi3.1 pbmtopk.1 \
+ pbmtoplot.1 pbmtoptx.1 pbmtox10bm.1 pbmtoxbm.1 pbmtoybm.1 pbmtozinc.1 \
+ pbmupc.1 pcxtoppm.1 pgmbentley.1 pgmcrater.1 pgmedge.1 pgmenhance.1 \
+ pgmhist.1 pgmkernel.1 pgmnoise.1 pgmnorm.1 pgmoil.1 pgmramp.1 \
+ pgmtexture.1 pgmtofs.1 pgmtolispm.1 pgmtopbm.1 pgmtoppm.1 pi1toppm.1 \
+ pi3topbm.1 picttoppm.1 pjtoppm.1 pktopbm.1 pngtopnm.1 pnmalias.1 \
+ pnmarith.1 pnmcat.1 pnmcomp.1 pnmconvol.1 pnmcrop.1 pnmcut.1 \
+ pnmdepth.1 pnmenlarge.1 pnmfile.1 pnmflip.1 pnmgamma.1 pnmhisteq.1 \
+ pnmhistmap.1 pnmindex.1 pnminvert.1 pnmmargin.1 pnmnlfilt.1 pnmpad.1 \
+ pnmpaste.1 pnmrotate.1 pnmscale.1 pnmshear.1 pnmsmooth.1 pnmtile.1 \
+ pnmtoddif.1 pnmtofits.1 pnmtoplainpnm.1 pnmtopng.1 pnmtops.1 \
+ pnmtorast.1 pnmtosgi.1 pnmtosir.1 pnmtotiff.1 pnmtotiffcmyk.1 \
+ pnmtoxwd.1 ppm3d.1 ppmbrighten.1 ppmchange.1 ppmcie.1 ppmdim.1 \
+ ppmdist.1 ppmdither.1 ppmflash.1 ppmforge.1 ppmhist.1 ppmmake.1 \
+ ppmmix.1 ppmnorm.1 ppmntsc.1 ppmpat.1 ppmquant.1 ppmquantall.1 \
+ ppmqvga.1 ppmrelief.1 ppmshadow.1 ppmshift.1 ppmspread.1 ppmtoacad.1 \
+ ppmtobmp.1 ppmtogif.1 ppmtoicr.1 ppmtojpeg.1 ppmtoilbm.1 ppmtomap.1 \
ppmtomitsu.1 ppmtopcx.1 ppmtopgm.1 ppmtopi1.1 ppmtopict.1 ppmtopj.1 \
ppmtopjxl.1 ppmtopuzz.1 ppmtorgb3.1 ppmtosixel.1 ppmtotga.1 \
- ppmtouil.1 ppmtoxpm.1 ppmtoyuv.1 ppmtoyuvsplit.1 psidtopgm.1 pstopnm.1 \
- qrttoppm.1 rasttopnm.1 rawtopgm.1 rawtoppm.1 rgb3toppm.1 sgitopnm.1 \
- sirtopnm.1 sldtoppm.1 spctoppm.1 spottopgm.1 sputoppm.1 tgatoppm.1 \
- tifftopnm.1 xbmtopbm.1 ximtoppm.1 xpmtoppm.1 xvminitoppm.1 \
+ ppmtouil.1 ppmtoxpm.1 ppmtoyuv.1 ppmtoyuvsplit.1 psidtopgm.1 \
+ pstopnm.1 qrttoppm.1 rasttopnm.1 rawtopgm.1 rawtoppm.1 rgb3toppm.1 \
+ sgitopnm.1 sirtopnm.1 sldtoppm.1 spctoppm.1 spottopgm.1 sputoppm.1 \
+ tgatoppm.1 tifftopnm.1 xbmtopbm.1 ximtoppm.1 xpmtoppm.1 xvminitoppm.1 \
xwdtopnm.1 ybmtopbm.1 yuvsplittoppm.1 yuvtoppm.1 zeisstopnm.1
MAN3= libpbm.3 libpgm.3 libpnm.3 libppm.3
MAN5= pbm.5 pgm.5 pnm.5 ppm.5
post-patch:
- @${PERL} -pi -e 's|%%LOCALBASE%%|${LOCALBASE}|g' ${WRKSRC}/Pbmplus.tmpl
+ @${PERL} -pi -e "s|%%X11BASE%%|${X11BASE}|g" ${WRKSRC}/pbmplus.h
+
+post-install:
+ ${LDCONFIG} -m ${PREFIX}/lib
.include <bsd.port.mk>
diff --git a/graphics/netpbm/distinfo b/graphics/netpbm/distinfo
index f2eea10a5718..42c21bb4b6a6 100644
--- a/graphics/netpbm/distinfo
+++ b/graphics/netpbm/distinfo
@@ -1 +1 @@
-MD5 (netpbm-8.0.tar.gz) = 1aa88eb0d1f86b5793fde0317c95ed68
+MD5 (netpbm-8.3.tgz) = 829f9e3f38850ddbe64a975c89d6cb7b
diff --git a/graphics/netpbm/files/patch-aj b/graphics/netpbm/files/patch-aj
index 79cf5347a783..8528e3c9bb90 100644
--- a/graphics/netpbm/files/patch-aj
+++ b/graphics/netpbm/files/patch-aj
@@ -1,36 +1,44 @@
---- pbmplus.h.orig Tue Mar 1 18:46:36 1994
-+++ pbmplus.h Thu Jan 7 19:23:15 1999
-@@ -20,6 +20,9 @@
- #include <perror.h>
+--- pbmplus.h.orig Fri Mar 24 09:08:33 2000
++++ pbmplus.h Sat Apr 1 10:32:36 2000
+@@ -24,6 +24,9 @@
#include <errno.h>
#endif
+ #endif
+#if (defined(__unix__) || defined(unix)) && !defined(USG)
+#include <sys/param.h>
+#endif
- #if defined(USG) || defined(SVR4) || defined(VMS)
+ #if defined(USG) || defined(SVR4) || defined(VMS) || defined(__SVR4)
#define SYSV
-@@ -30,7 +33,9 @@
+@@ -34,7 +37,7 @@
** and if you run on an Amiga, set AMIGA. If your compiler is ANSI C, you're
** probably better off setting SYSV - all it affects is string handling.
*/
-#define BSD
-+#ifndef BSD
-+#define BSD 1
-+#endif
++/* #define BSD */
/* #define SYSV */
/* #define MSDOS */
/* #define AMIGA */
-@@ -119,10 +124,12 @@
+@@ -46,7 +49,7 @@
+ ** hex and decimal forms to specify colors (see ppm/pgmtoppm.1 for details).
+ */
+ #ifndef RGB_DB
+-#define RGB_DB "/usr/lib/X11/rgb"
++#define RGB_DB "%%X11BASE%%/lib/X11/rgb"
+ /*#define RGB_DB "/usr/openwin/lib/rgb.txt"*/
+ #ifdef VMS
+ #define RGB_DB "PBMplus_Dir:RGB.TXT"
+@@ -117,11 +120,13 @@
#ifndef VMS
#include <unistd.h>
#endif
+#if !(defined(BSD) && (BSD >= 199306))
extern int atoi();
extern void exit();
+ #ifndef __osf__
extern long time();
extern int write();
+#endif
#endif
+ #endif
- /* CONFIGURE: On most BSD systems, malloc() gets declared in stdlib.h, on
diff --git a/graphics/netpbm/files/patch-au b/graphics/netpbm/files/patch-au
index 2b4a3c967dfb..5f217adbf401 100644
--- a/graphics/netpbm/files/patch-au
+++ b/graphics/netpbm/files/patch-au
@@ -1,5 +1,5 @@
---- ppm/ppmtobmp.c.orig Mon Oct 4 18:12:36 1993
-+++ ppm/ppmtobmp.c Sat Oct 16 02:53:18 1999
+--- ppm/ppmtobmp.c.orig Thu Mar 23 16:34:34 2000
++++ ppm/ppmtobmp.c Sun Apr 1 12:00:00 2000
@@ -75,7 +75,7 @@
unsigned short cBitCount, pixel **pixels, colorhash_table cht));
static int colorstobpp ARGS((int colors));
@@ -7,103 +7,87 @@
- int colors, colorhash_table cht, pixval *R, pixval *G, pixval *B));
+ int bpp, int colors, colorhash_table cht, pixval *R, pixval *G, pixval *B));
static void
- PutByte(fp, v)
- FILE *fp;
-@@ -253,19 +253,23 @@
+ PutByte(FILE *fp, char v)
+ {
+@@ -244,16 +244,20 @@
int i;
long ncolors;
- for (i = 0; i < colors; i++)
-- {
++ if (bpp != 24)
+ {
- nbyte += BMPwritergb(fp,class,R[i],G[i],B[i]);
- }
--
+
- ncolors = (1 << bpp);
-+ if (bpp != 24)
-+ {
++ for (i = 0; i < colors; i++)
++ {
++ nbyte += BMPwritergb(fp,class,R[i],G[i],B[i]);
++ }
++
++ ncolors = (1 << bpp);
- for (; i < ncolors; i++)
- {
- nbyte += BMPwritergb(fp,class,0,0,0);
-- }
-+ for (i = 0; i < colors; i++)
-+ {
-+ nbyte += BMPwritergb(fp,class,R[i],G[i],B[i]);
-+ }
-+
-+ ncolors = (1 << bpp);
-+
-+ for (; i < ncolors; i++)
-+ {
-+ nbyte += BMPwritergb(fp,class,0,0,0);
-+ }
-+ }
-
-- return nbyte;
-+ return nbyte;
- }
++ for (; i < ncolors; i++)
++ {
++ nbyte += BMPwritergb(fp,class,0,0,0);
++ }
+ }
- /*
-@@ -284,26 +288,38 @@
+ return nbyte;
+@@ -271,26 +275,38 @@
int rc;
unsigned x;
- if ((b = pm_bitinit(fp, "w")) == (BITSTREAM) 0)
-- {
++ if (bpp != 24)
+ {
- return -1;
- }
--
++ if ((b = pm_bitinit(fp, "w")) == (BITSTREAM) 0)
++ {
++ return -1;
++ }
+
- for (x = 0; x < cx; x++, row++)
- {
- if ((rc = pm_bitwrite(b, bpp, ppm_lookupcolor(cht, row))) == -1)
-- {
-- return -1;
-- }
-- nbyte += rc;
-- }
++ for (x = 0; x < cx; x++, row++)
++ {
++ if ((rc = pm_bitwrite(b, bpp, ppm_lookupcolor(cht, row))) == -1)
++ {
++ return -1;
++ }
++ nbyte += rc;
++ }
++
++ if ((rc = pm_bitfini(b)) == -1)
+ {
+ return -1;
+ }
+ nbyte += rc;
+ }
-
- if ((rc = pm_bitfini(b)) == -1)
-- {
++ else
+ {
- return -1;
-- }
++ for (x = 0; x < cx; x++, row++)
++ {
++ PutByte(fp, PPM_GETB(*row));
++ PutByte(fp, PPM_GETG(*row));
++ PutByte(fp, PPM_GETR(*row));
++ nbyte += 3;
++ }
+ }
- nbyte += rc;
-
-+ if (bpp != 24)
-+ {
-+ if ((b = pm_bitinit(fp, "w")) == (BITSTREAM) 0)
-+ {
-+ return -1;
-+ }
-+
-+ for (x = 0; x < cx; x++, row++)
-+ {
-+ if ((rc = pm_bitwrite(b, bpp, ppm_lookupcolor(cht, row))) == -1)
-+ {
-+ return -1;
-+ }
-+ nbyte += rc;
-+ }
-+
-+ if ((rc = pm_bitfini(b)) == -1)
-+ {
-+ return -1;
-+ }
-+ nbyte += rc;
-+ }
-+ else
-+ {
-+ for (x = 0; x < cx; x++, row++)
-+ {
-+ PutByte(fp, PPM_GETB(*row));
-+ PutByte(fp, PPM_GETG(*row));
-+ PutByte(fp, PPM_GETR(*row));
-+ nbyte += 3;
-+ }
-+ }
/*
* Make sure we write a multiple of 4 bytes.
*/
-@@ -394,48 +410,21 @@
+@@ -376,48 +392,21 @@
* arrays are undefined.
*/
static void
@@ -114,7 +98,7 @@
int x;
int y;
pixel **pixels;
-+ int bpp; /* bits per pixel */
++ int bpp; /* bits per pixel */
int colors; /* number of valid entries in R,G,B */
colorhash_table cht;
pixval *R;
@@ -154,7 +138,7 @@
nbyte += BMPwritefileheader(fp, class, bpp, x, y);
nbyte += BMPwriteinfoheader(fp, class, bpp, x, y);
nbyte += BMPwritergbtable(fp, class, bpp, colors, R, G, B);
-@@ -517,13 +506,15 @@
+@@ -499,13 +488,15 @@
char **argv;
{
FILE *ifp = stdin;
@@ -166,12 +150,12 @@
int rows;
int cols;
int colors;
-+ int maxcolors = MAXCOLORS;
-+ int bpp = 0;
++ int maxcolors = MAXCOLORS;
++ int bpp = 0;
int i;
pixval maxval;
colorhist_vector chv;
-@@ -545,6 +536,14 @@
+@@ -527,6 +518,14 @@
class = C_WIN;
else if (pm_keymatch(argv[argn], "-os2", 2))
class = C_OS2;
@@ -186,19 +170,13 @@
else
pm_usage(usage);
++argn;
-@@ -585,44 +584,90 @@
+@@ -567,44 +566,90 @@
#endif
/* Figure out the colormap. */
- pm_message("computing colormap...");
- chv = ppm_computecolorhist(pixels, cols, rows, MAXCOLORS, &colors);
-+ chv = (colorhist_vector) 0;
-+ if(bpp != 24)
-+ {
-+ pm_message("computing colormap...");
-+ chv = ppm_computecolorhist(pixels, cols, rows, maxcolors, &colors);
-+ }
- if (chv == (colorhist_vector) 0)
+- if (chv == (colorhist_vector) 0)
- pm_error("too many colors - try doing a 'ppmquant %d'"
- , MAXCOLORS);
- pm_message("%d colors found", colors);
@@ -208,100 +186,99 @@
- * colormap.
- */
- if (maxval > 255)
-- {
++ chv = (colorhist_vector) 0;
++ if (bpp != 24)
+ {
- pm_message("maxval is not 255 - automatically rescaling colors");
-- }
++ pm_message("computing colormap...");
++ chv = ppm_computecolorhist(pixels, cols, rows, maxcolors, &colors);
+ }
- for (i = 0; i < colors; ++i)
-- {
++ if (chv == (colorhist_vector) 0)
+ {
- if (maxval == 255)
-- {
++ if (bpp == 0)
+ {
- Red[i] = PPM_GETR(chv[i].color);
- Green[i] = PPM_GETG(chv[i].color);
- Blue[i] = PPM_GETB(chv[i].color);
-- }
++ pm_message("over 256 colors found");
++ bpp = 24;
+ }
- else
-- {
-- Red[i] = (pixval) PPM_GETR(chv[i].color) * 255 / maxval;
-- Green[i] = (pixval) PPM_GETG(chv[i].color) * 255 / maxval;
-- Blue[i] = (pixval) PPM_GETB(chv[i].color) * 255 / maxval;
-- }
-- }
-+ {
-+ if (bpp == 0)
-+ {
-+ pm_message("over 256 colors found");
-+ bpp = 24;
-+ }
-+ else if (bpp != 24)
-+ pm_error("too many colors - try doing a 'ppmquant %d'"
-+ , maxcolors);
-+ }
-+ else
-+ {
-+ pm_message("%d colors found", colors);
++ else if (bpp != 24)
++ pm_error("too many colors - try doing a 'ppmquant %d'"
++ , maxcolors);
++ }
++ else
++ {
++ pm_message("%d colors found", colors);
+
-+ /*
-+ * I have found empirically at least one BMP-displaying program
-+ * that can't deal with (for instance) using 3 bits per pixel.
-+ * I have seen no programs that can deal with using 3 bits per
-+ * pixel. I have seen programs which can deal with 1, 4, and
-+ * 8 bits per pixel.
-+ *
-+ * Based on this, I adjust actual the number of bits per pixel
-+ * as follows. If anyone knows better, PLEASE tell me!
-+ */
++ /*
++ * I have found empirically at least one BMP-displaying program
++ * that can't deal with (for instance) using 3 bits per pixel.
++ * I have seen no programs that can deal with using 3 bits per
++ * pixel. I have seen programs which can deal with 1, 4, and
++ * 8 bits per pixel.
++ *
++ * Based on this, I adjust actual the number of bits per pixel
++ * as follows. If anyone knows better, PLEASE tell me!
++ */
+
-+ if (!bpp)
-+ {
-+ bpp = colorstobpp(colors);
++ if (!bpp)
++ {
++ bpp = colorstobpp(colors);
+
-+ switch(bpp)
-+ {
-+ case 2:
-+ case 3:
-+ bpp = 4;
-+ break;
-+ case 5:
-+ case 6:
-+ case 7:
-+ bpp = 8;
-+ break;
-+ }
-+ }
++ switch(bpp)
++ {
++ case 2:
++ case 3:
++ bpp = 4;
++ break;
++ case 5:
++ case 6:
++ case 7:
++ bpp = 8;
++ break;
++ }
++ }
+
-+ /*
-+ * Now turn the ppm colormap into the appropriate GIF
-+ * colormap.
-+ */
-+ if (maxval > 255)
-+ {
-+ pm_message("maxval is not 255 - automatically rescaling colors");
-+ }
-+ for (i = 0; i < colors; ++i)
-+ {
-+ if (maxval == 255)
-+ {
-+ Red[i] = PPM_GETR(chv[i].color);
-+ Green[i] = PPM_GETG(chv[i].color);
-+ Blue[i] = PPM_GETB(chv[i].color);
-+ }
-+ else
-+ {
-+ Red[i] = (pixval) PPM_GETR(chv[i].color) * 255 / maxval;
-+ Green[i] = (pixval) PPM_GETG(chv[i].color) * 255 / maxval;
-+ Blue[i] = (pixval) PPM_GETB(chv[i].color) * 255 / maxval;
-+ }
-+ }
++ /*
++ * Now turn the ppm colormap into the appropriate GIF
++ * colormap.
++ */
++ if (maxval > 255)
++ {
++ pm_message("maxval is not 255 - automatically rescaling colors");
++ }
++ for (i = 0; i < colors; ++i)
+ {
+- Red[i] = (pixval) PPM_GETR(chv[i].color) * 255 / maxval;
+- Green[i] = (pixval) PPM_GETG(chv[i].color) * 255 / maxval;
+- Blue[i] = (pixval) PPM_GETB(chv[i].color) * 255 / maxval;
++ if (maxval == 255)
++ {
++ Red[i] = PPM_GETR(chv[i].color);
++ Green[i] = PPM_GETG(chv[i].color);
++ Blue[i] = PPM_GETB(chv[i].color);
++ }
++ else
++ {
++ Red[i] = (pixval) PPM_GETR(chv[i].color) * 255 / maxval;
++ Green[i] = (pixval) PPM_GETG(chv[i].color) * 255 / maxval;
++ Blue[i] = (pixval) PPM_GETB(chv[i].color) * 255 / maxval;
++ }
+ }
+
-+ /* And make a hash table for fast lookup. */
-+ cht = ppm_colorhisttocolorhash(chv, colors);
-+ ppm_freecolorhist(chv);
-+ }
++ /* And make a hash table for fast lookup. */
++ cht = ppm_colorhisttocolorhash(chv, colors);
++ ppm_freecolorhist(chv);
+ }
- /* And make a hash table for fast lookup. */
- cht = ppm_colorhisttocolorhash(chv, colors);
- ppm_freecolorhist(chv);
-+ pm_message("Using %d bits per pixel", bpp);
++ pm_message("Using %d bits per pixel", bpp);
/* All set, let's do it. */
BMPEncode(stdout, class
diff --git a/graphics/netpbm/files/patch-ay b/graphics/netpbm/files/patch-ay
new file mode 100644
index 000000000000..348cefca96ca
--- /dev/null
+++ b/graphics/netpbm/files/patch-ay
@@ -0,0 +1,21 @@
+--- pnm/pnmtotiffcmyk.c.orig Fri Mar 24 09:17:16 2000
++++ pnm/pnmtotiffcmyk.c Sat Apr 1 12:00:00 2000
+@@ -57,7 +57,7 @@
+
+ #include "pnm.h"
+ #include <math.h>
+-#ifdef __osf__
++#if defined(__osf__) || defined(__FreeBSD__)
+ #include <float.h>
+ #endif
+ #include <limits.h>
+@@ -69,7 +69,9 @@
+ #define VERSION 1.01
+
+ /* beware - these evaluate more than once */
++#undef MAX
+ #define MAX(x, y) ( ( x ) > ( y ) ? ( x ) : ( y ) )
++#undef MIN
+ #define MIN(x, y) ( ( x ) < ( y ) ? ( x ) : ( y ) )
+
+ /* only support 8 bit values */
diff --git a/graphics/netpbm/files/patch-ba b/graphics/netpbm/files/patch-ba
new file mode 100644
index 000000000000..243def017254
--- /dev/null
+++ b/graphics/netpbm/files/patch-ba
@@ -0,0 +1,28 @@
+--- Makefile.orig Sat Mar 25 02:47:02 2000
++++ Makefile Sat Apr 1 12:00:00 2000
+@@ -56,7 +56,10 @@
+ ./stamp-date
+
+ .PHONY: install
+-install: install.bin install.lib install.man
++install: install.bin install.lib install.man install.hdr
++
++.PHONY: install-merge
++install-merge: install.merge install.lib install.man install.hdr
+
+ .PHONY: merge
+ merge:
+@@ -97,6 +100,13 @@
+ -mkdir -p $(INSTALLMANUALS5)
+ for i in $(SUBDIRS) ; do \
+ ( echo install.man.$$i ; cd $$i ; $(MAKE) install.man ); \
++ done
++
++.PHONY: install.hdr
++install.hdr:
++ -mkdir -p $(INSTALLHDRS)
++ for i in $(SUBDIRS) ; do \
++ ( echo install.hdr.$$i ; cd $$i ; $(MAKE) install.hdr ); \
+ done
+
+ .PHONY: clean
diff --git a/graphics/netpbm/files/patch-bb b/graphics/netpbm/files/patch-bb
new file mode 100644
index 000000000000..aca32a5d5961
--- /dev/null
+++ b/graphics/netpbm/files/patch-bb
@@ -0,0 +1,69 @@
+--- Makefile.common.orig Sat Mar 25 02:46:12 2000
++++ Makefile.common Sat Apr 1 12:00:00 2000
+@@ -51,26 +51,22 @@
+ .PHONY: install.merge
+ install.merge: $(MERGENAME) $(NOMERGEBINARIES) install.script
+ cd $(INSTALLBINARIES) ; rm -f $(BINARIES)
+- cp $< $(INSTALLBINARIES)
++ ${BSD_INSTALL_PROGRAM} $(MERGENAME) $(INSTALLBINARIES)
+ cd $(INSTALLBINARIES) ; \
+ for i in $(BINARIES) ; do ln $(MERGENAME) $$i ; done
+- rm -f $(INSTALLBINARIES)/$(MERGENAME)
+ cd $(INSTALLBINARIES) ; rm -f $(NOMERGEBINARIES)
+- cp $(NOMERGEBINARIES) $(INSTALLBINARIES)
+- cd $(INSTALLBINARIES) ; strip $(NOMERGEBINARIES)
++ ${BSD_INSTALL_PROGRAM} $(NOMERGEBINARIES) $(INSTALLBINARIES)
+
+ .PHONY: install.bin.common
+ install.bin.common: $(BINARIES) install.script
+ cd $(INSTALLBINARIES) ; rm -f $(BINARIES)
+- cp $(BINARIES) $(INSTALLBINARIES)
+- cd $(INSTALLBINARIES) ; strip $(BINARIES)
++ ${BSD_INSTALL_PROGRAM} $(BINARIES) $(INSTALLBINARIES)
+
+ .PHONY: install.script
+ install.script: $(SCRIPTS)
+ ifneq ($(SCRIPTS)x,x)
+ cd $(INSTALLSCRIPTS) ; rm -f $(SCRIPTS)
+- cp $(SCRIPTS) $(INSTALLSCRIPTS)
+- cd $(INSTALLSCRIPTS) ; chmod +x $(SCRIPTS)
++ ${BSD_INSTALL_SCRIPT} $(SCRIPTS) $(INSTALLSCRIPTS)
+ endif
+
+ .PHONY: install.man
+@@ -95,13 +91,12 @@
+ # prefer not to "install" them, but just to access the Netpbm source
+ # directory when you compile your programs.
+ cd $(INSTALLHDRS) ; rm -f $(INTERFACE_HEADERS)
+- cp $(INTERFACE_HEADERS) $(INSTALLHDRS)
++ ${BSD_INSTALL_DATA} $(INTERFACE_HEADERS) $(INSTALLHDRS)
+
+-lib$(LIBROOT).so: lib$(LIBROOT).so.$(MAJ).$(MIN)
+- ln -sf lib$(LIBROOT).so.$(MAJ).$(MIN) $@
+-lib$(LIBROOT).so.$(MAJ).$(MIN): $(LIBOBJECTS)
+- $(LD) $(LDSHLIB) -Wl,-soname,lib$(LIBROOT).so.$(MAJ) -o $@ \
+- $(LIBOBJECTS)
++lib$(LIBROOT).so: lib$(LIBROOT).so.$(MAJ)
++ ln -sf lib$(LIBROOT).so.$(MAJ) $@
++lib$(LIBROOT).so.$(MAJ): lib$(LIBROOT).a $(LIBSOBJECTS)
++ $(LD) $(LDSHLIB) -Wl,-soname,$@ -o $@ $(LIBSOBJECTS)
+
+ lib$(LIBROOT).a: $(LIBOBJECTS)
+ -rm -f $@
+@@ -109,11 +104,11 @@
+ -ranlib $@
+
+ .PHONY: install.lib
+-install.lib: lib$(LIBROOT).so.$(MAJ).$(MIN)
+- cd $(INSTALLLIBS) ; rm -f lib$(LIBROOT).so.$(MAJ).*
+- cp $< $(INSTALLLIBS)
+- cd $(INSTALLLIBS) ; ln -sf $< lib$(LIBROOT).so
+- cd $(INSTALLLIBS) ; ln -sf $< lib$(LIBROOT).so.$(MAJ)
++install.lib: lib$(LIBROOT).so
++ cd $(INSTALLLIBS) ; rm -f lib$(LIBROOT).*
++ ${BSD_INSTALL_DATA} lib$(LIBROOT).a $(INSTALLLIBS)
++ ${BSD_INSTALL_DATA} lib$(LIBROOT).so.$(MAJ) $(INSTALLLIBS)
++ ln -sf lib$(LIBROOT).so.$(MAJ) $(INSTALLLIBS)/lib$(LIBROOT).so
+
+ .PHONY: dep
+ dep Makefile.depend:
diff --git a/graphics/netpbm/files/patch-bc b/graphics/netpbm/files/patch-bc
new file mode 100644
index 000000000000..de851b246519
--- /dev/null
+++ b/graphics/netpbm/files/patch-bc
@@ -0,0 +1,84 @@
+--- Makefile.config.orig Sat Mar 25 02:39:40 2000
++++ Makefile.config Sat Apr 1 12:00:00 2000
+@@ -30,12 +30,12 @@
+ #CC = cc
+ #CC = gcc
+ #CC = gcc -fpcc-struct-return
+-CC = gcc -pedantic -fpcc-struct-return
++CC ?= gcc -pedantic -fpcc-struct-return
+
+ # The linker
+ #LD = ld
+ #LD = cc
+-LD = gcc
++LD = ${CC}
+
+ # Normally the man pages are installed using "cp". But via this
+ # variable, you can use something else, for example a script that
+@@ -43,11 +43,11 @@
+ # systems which use man pages in the "cat" format.
+
+ #MANCP = $(SRCDIR)/mantocat
+-MANCP = cp
++MANCP = ${BSD_INSTALL_MAN}
+
+ SHELL = /bin/sh
+-MAKE = make
+-INSTALL = install
++MAKE ?= make
++INSTALL ?= install
+ AR= ar
+ RANLIB= ranlib
+
+@@ -55,7 +55,7 @@
+ # C compiler options
+
+ #CFLAGS = -O2 -std1 $(CDEBUG)
+-CFLAGS = -O2 -Wall -Wno-uninitialized $(CDEBUG)
++CFLAGS ?= -O2 -Wall -Wno-uninitialized $(CDEBUG)
+
+ # linker options. Eunice users may want to use -noshare so that
+ # the executables can run standalone.
+@@ -78,8 +78,10 @@
+
+ #TIFFINC_DIR = /usr/local1/DEC/include
+ #TIFFLIB_DIR = /usr/local1/DEC/lib
+-TIFFHDR_DIR = $(SRCDIR)/libtiff
+-TIFFLIB_DIR = $(SRCDIR)/libtiff
++#TIFFHDR_DIR = $(SRCDIR)/libtiff
++#TIFFLIB_DIR = $(SRCDIR)/libtiff
++TIFFINC_DIR = ${LOCALBASE}/include
++TIFFLIB_DIR = ${LOCALBASE}/lib
+
+ # Put the location of your JPEG library here.
+ # If you want to build the jpeg converters or tiff
+@@ -101,16 +103,16 @@
+ #JPEGHDR_DIR = /usr/local1/DEC/include
+ #JPEGLIB_DIR = NONE
+ #JPEGHDR_DIR = NONE
+-JPEGLIB_DIR = /usr/lib/jpeg
+-JPEGHDR_DIR = /usr/include/jpeg
++JPEGLIB_DIR = ${LOCALBASE}/lib
++JPEGHDR_DIR = ${LOCALBASE}/include
+
+
+ #PNGLIB_DIR = /usr/local1/DEC/lib
+ #PNGHDR_DIR = /usr/local1/DEC/include
+ #PNGLIB_DIR = NONE
+ #PNGHDR_DIR = NONE
+-PNGLIB_DIR = /lib
+-PNGHDR_DIR = /usr/include/png
++PNGLIB_DIR = ${LOCALBASE}/lib
++PNGHDR_DIR = ${LOCALBASE}/include
+
+
+ # The following variables are used only by 'make install' (and the
+@@ -121,7 +123,7 @@
+ # you're spreading Netpbm across your system, use "/".
+
+ #INSTALL_PREFIX = /usr/local1/DEC/packages/netpbm
+-INSTALL_PREFIX = /usr/local/netpbm
++INSTALL_PREFIX = ${PREFIX}
+
+ # Specify the directory where you want the executables.
+ # If you need scripts and binaries to be in different directories, you
diff --git a/graphics/netpbm/files/patch-bd b/graphics/netpbm/files/patch-bd
new file mode 100644
index 000000000000..d0ebb5db94b5
--- /dev/null
+++ b/graphics/netpbm/files/patch-bd
@@ -0,0 +1,48 @@
+--- pbm/Makefile.orig Fri Mar 24 07:43:30 2000
++++ pbm/Makefile Sat Apr 1 12:00:00 2000
+@@ -13,6 +13,7 @@
+ MIN = 2
+
+ NETPBMLIBS = $(LIBPBM)
++NETPBMLD = -L. -lpbm
+
+ PORTBINARIES = atktopbm brushtopbm cmuwmtopbm g3topbm \
+ icontopbm gemtopbm macptopbm mgrtopbm \
+@@ -34,6 +35,7 @@
+ MERGE_OBJECTS = $(patsubst %,%.o2, $(BINARIES))
+
+ LIBOBJECTS = libpbm1.o libpbm2.o libpbm3.o libpbm4.o libpbm5.o
++LIBSOBJECTS = libpbm1.so libpbm2.so libpbm3.so libpbm4.so libpbm5.so
+
+ MANUALS1 = $(BINARIES)
+ MANUALS3 = libpbm
+@@ -41,7 +43,7 @@
+
+ MERGENAME = pbmmerge
+
+-INTERFACE_HEADERS = pbm.h
++INTERFACE_HEADERS = pbm.h ../pbmplus.h
+
+ .PHONY: all
+ all: $(BINARIES)
+@@ -51,15 +53,18 @@
+
+ # Rules for plain programs.
+ $(PORTBINARIES): %: %.o $(NETPBMLIBS)
+- $(LD) $(LDFLAGS) -o $@ $@.o $(NETPBMLIBS) $(CDEBUG)
++ $(LD) $(LDFLAGS) -o $@ $@.o $(NETPBMLD) $(CDEBUG)
+
+ # Rule for math-dependent programs.
+ $(MATHBINARIES): %: %.o $(NETPBMLIBS)
+- $(LD) $(LDFLAGS) -o $@ $@.o -lm $(NETPBMLIBS) $(CDEBUG)
++ $(LD) $(LDFLAGS) -o $@ $@.o -lm $(NETPBMLD) $(CDEBUG)
+
+ # Rule for objects.
+ $(OBJECTS) $(LIBOBJECTS): %.o: %.c
+ $(CC) -c $(CFLAGS) $(INCLUDE) -o $@ $<
++
++$(LIBSOBJECTS): %.so: %.c
++ $(CC) -c -fpic -DPIC $(CFLAGS) $(INCLUDE) -o $@ $<
+
+ $(MERGE_OBJECTS): %.o2: %.c
+ $(CC) -c $(CFLAGS) $(INCLUDE) "-Dmain=$*_main" -o $@ $<
diff --git a/graphics/netpbm/files/patch-be b/graphics/netpbm/files/patch-be
new file mode 100644
index 000000000000..d957ab7463a0
--- /dev/null
+++ b/graphics/netpbm/files/patch-be
@@ -0,0 +1,47 @@
+--- pgm/Makefile.orig Fri Mar 24 07:43:44 2000
++++ pgm/Makefile Sat Apr 1 12:00:00 2000
+@@ -13,6 +13,7 @@
+ INCLUDE = -I$(SRCDIR) $(INCLUDEPBM)
+
+ NETPBMLIBS = $(LIBPGM) $(PBMDIR)/$(LIBPBM)
++NETPBMLD = -L. -lpgm -L$(PBMDIR) -lpbm
+
+ PORTBINARIES = asciitopgm bioradtopgm fstopgm hipstopgm \
+ lispmtopgm pbmtopgm pgmbentley pgmenhance pgmhist \
+@@ -25,6 +26,7 @@
+ MERGE_OBJECTS = $(patsubst %,%.o2, $(BINARIES))
+
+ LIBOBJECTS = libpgm1.o libpgm2.o
++LIBSOBJECTS = libpgm1.so libpgm2.so
+
+ MANUALS1 = $(BINARIES)
+ MANUALS3 = libpgm
+@@ -41,22 +43,25 @@
+
+ # Rules for plain programs.
+ $(PORTBINARIES): %: %.o $(NETPBMLIBS)
+- $(LD) $(LDFLAGS) -o $@ $@.o $(NETPBMLIBS) $(CDEBUG)
++ $(LD) $(LDFLAGS) -o $@ $@.o $(NETPBMLD) $(CDEBUG)
+
+ # Rule for math-dependent programs.
+ $(MATHBINARIES): %: %.o $(NETPBMLIBS)
+- $(LD) $(LDFLAGS) -o $@ $@.o -lm $(NETPBMLIBS) $(CDEBUG)
++ $(LD) $(LDFLAGS) -o $@ $@.o -lm $(NETPBMLD) $(CDEBUG)
+
+ # Rule for objects.
+ $(OBJECTS) $(LIBOBJECTS): %.o: %.c
+ $(CC) -c $(CFLAGS) $(INCLUDE) -o $@ $<
+
++$(LIBSOBJECTS): %.so: %.c
++ $(CC) -c -fpic -DPIC $(CFLAGS) $(INCLUDE) -o $@ $<
++
+ $(MERGE_OBJECTS): %.o2: %.c
+ $(CC) -c $(CFLAGS) $(INCLUDE) "-Dmain=$*_main" -o $@ $<
+
+ # And libraries.
+ $(PBMDIR)/$(LIBPBM):
+- cd $(PBMDIR) ; make $(LIBPBM)
++ cd $(PBMDIR) ; $(MAKE) $(LIBPBM)
+
+ .PHONY: install.bin
+ install.bin: install.bin.common
diff --git a/graphics/netpbm/files/patch-bf b/graphics/netpbm/files/patch-bf
new file mode 100644
index 000000000000..293b10aad70d
--- /dev/null
+++ b/graphics/netpbm/files/patch-bf
@@ -0,0 +1,78 @@
+--- pnm/Makefile.orig Sat Mar 25 02:27:50 2000
++++ pnm/Makefile Sat Apr 1 12:00:00 2000
+@@ -35,6 +35,8 @@
+
+ NETPBMLIBS = $(LIBPNM) \
+ $(PBMDIR)/$(LIBPBM) $(PGMDIR)/$(LIBPGM) $(PPMDIR)/$(LIBPPM)
++NETPBMLD = -L. -lpnm \
++ -L$(PBMDIR) -lpbm -L$(PGMDIR) -lpgm -L$(PPMDIR) -lppm
+
+ ifeq ($(JPEGLIB_DIR),NONE)
+ JPEGLD =
+@@ -87,6 +89,7 @@
+ MERGE_OBJECTS = $(patsubst %,%.o2, $(PORTBINARIES) $(MATHBINARIES))
+
+ LIBOBJECTS = libpnm1.o libpnm2.o libpnm3.o libpnm4.o
++LIBSOBJECTS = libpnm1.so libpnm2.so libpnm3.so libpnm4.so
+
+ MANUALS1 = $(BINARIES) $(SCRIPTS)
+ MANUALS3 = libpnm
+@@ -102,45 +105,48 @@
+ merge: $(MERGENAME) $(NOMERGEBINARIES)
+
+ tifftopnm pnmtotiff: %: %.o $(NETPBMLIBS) $(TIFFLIB_DIR)/libtiff.so
+- $(LD) $(LDFLAGS) -o $@ $@.o $(NETPBMLIBS) -L$(TIFFLIB_DIR) -ltiff \
++ $(LD) $(LDFLAGS) -o $@ $@.o $(NETPBMLD) -lm -L$(TIFFLIB_DIR) -ltiff \
+ $(JPEGLD) $(CDEBUG)
+
+ pnmtotiffcmyk: %: %.o $(NETPBMLIBS) $(TIFFLIB_DIR)/libtiff.so
+- $(LD) $(LDFLAGS) -o $@ $@.o $(NETPBMLIBS) -lm -L$(TIFFLIB_DIR) -ltiff \
++ $(LD) $(LDFLAGS) -o $@ $@.o $(NETPBMLD) -lm -L$(TIFFLIB_DIR) -ltiff \
+ $(JPEGLD) $(CDEBUG)
+
+ # Rules for plain programs.
+ $(PORTBINARIES): %: %.o $(NETPBMLIBS)
+- $(LD) $(LDFLAGS) -o $@ $@.o $(NETPBMLIBS) $(CDEBUG)
++ $(LD) $(LDFLAGS) -o $@ $@.o $(NETPBMLD) $(CDEBUG)
+
+ # Rule for math-dependent programs.
+ $(MATHBINARIES): %: %.o $(NETPBMLIBS)
+- $(LD) $(LDFLAGS) -o $@ $@.o -lm $(NETPBMLIBS) $(CDEBUG)
++ $(LD) $(LDFLAGS) -o $@ $@.o -lm $(NETPBMLD) $(CDEBUG)
+
+ pngtopnm pnmtopng: %: %.o $(NETPBMLIBS)
+- $(LD) $(LDFLAGS) -o $@ $@.o $(NETPBMLIBS) \
++ $(LD) $(LDFLAGS) -o $@ $@.o $(NETPBMLD) \
+ -L$(PNGLIB_DIR) -lpng -lz -lm $(CDEBUG)
+
+ jpegtopnm: %: %.o $(NETPBMLIBS) $(SRCDIR)/shhopt/libshhopt.a
+- $(LD) $(LDFLAGS) -o $@ $@.o $(NETPBMLIBS) $(JPEGLD) -lm \
++ $(LD) $(LDFLAGS) -o $@ $@.o $(NETPBMLD) $(JPEGLD) -lm \
+ $(SRCDIR)/shhopt/libshhopt.a $(CDEBUG)
+
+ # Rule for objects.
+ $(OBJECTS) $(LIBOBJECTS): %.o: %.c
+ $(CC) -c $(CFLAGS) $(INCLUDE) -o $@ $<
+
++$(LIBSOBJECTS): %.so: %.c
++ $(CC) -c -fpic -DPIC $(CFLAGS) $(INCLUDE) -o $@ $<
++
+ $(MERGE_OBJECTS): %.o2: %.c
+ $(CC) -c $(CFLAGS) $(INCLUDE) "-Dmain=$*_main" -o $@ $<
+
+ # And libraries.
+ $(PBMDIR)/$(LIBPBM):
+- cd $(PBMDIR) ; make $(LIBPBM)
++ cd $(PBMDIR) ; $(MAKE) $(LIBPBM)
+ $(PGMDIR)/$(LIBPGM):
+- cd $(PGMDIR) ; make $(LIBPGM)
++ cd $(PGMDIR) ; $(MAKE) $(LIBPGM)
+ $(PPMDIR)/$(LIBPPM):
+- cd $(PPMDIR) ; make $(LIBPPM)
++ cd $(PPMDIR) ; $(MAKE) $(LIBPPM)
+ $(TIFFDIR)/$(LIBTIFF):
+- cd $(TIFFDIR) ; make $(LIBTIFF)
++ cd $(TIFFDIR) ; $(MAKE) $(LIBTIFF)
+
+ $(SRCDIR)/shhopt/libshhopt.a:
+ cd $(SRCDIR)/shhopt; $(MAKE) libshhopt.a
diff --git a/graphics/netpbm/files/patch-bg b/graphics/netpbm/files/patch-bg
new file mode 100644
index 000000000000..6e895358b1ae
--- /dev/null
+++ b/graphics/netpbm/files/patch-bg
@@ -0,0 +1,92 @@
+--- ppm/Makefile.orig Fri Mar 24 17:04:20 2000
++++ ppm/Makefile Sat Apr 1 12:00:00 2000
+@@ -16,7 +16,7 @@
+
+ MERGENAME = ppmmerge
+
+-INCLUDE= -I.. $(INCLUDEPGM) $(INCLUDEPBM) -I../shhopt
++INCLUDE= -I$(SRCDIR) $(INCLUDEPGM) $(INCLUDEPBM) -I$(SRCDIR)/shhopt
+
+ ifneq ($(JPEGHDR_DIR), NONE)
+ INCLUDE+= -I$(JPEGHDR_DIR)
+@@ -29,6 +29,7 @@
+ endif
+
+ NETPBMLIBS = $(LIBPPM) $(PBMDIR)/$(LIBPBM) $(PGMDIR)/$(LIBPGM)
++NETPBMLD = -L. -lppm -L$(PBMDIR) -lpbm -L$(PGMDIR) -lpgm
+
+ PORTBINARIES = bmptoppm gouldtoppm hpcdtoppm ilbmtoppm imgtoppm \
+ mtvtoppm pcxtoppm pgmtoppm pi1toppm picttoppm \
+@@ -46,6 +47,7 @@
+ sputoppm tgatoppm ximtoppm xpmtoppm xvminitoppm \
+ yuvtoppm yuvsplittoppm
+
++NOMERGEBINARIES =
+ ifneq ($(JPEGLIB_DIR), NONE)
+ ifneq ($(JPEGHDR_DIR), NONE)
+ NOMERGEBINARIES += ppmtojpeg
+@@ -53,7 +55,7 @@
+ endif
+
+ MATHBINARIES = ppmcie ppmforge ppmlabel ppmpat ppmqvga ppmtomap
+-BINARIES = $(PORTBINARIES) $(NOMERGEBINARIES) $(MATHBINARIES)
++BINARIES = $(PORTBINARIES) $(MATHBINARIES) $(NOMERGEBINARIES)
+ SCRIPTS = ppmquantall ppmshadow
+
+ OBJECTS = $(patsubst %, %.o, $(BINARIES))
+@@ -61,6 +63,7 @@
+ MERGE_OBJECTS = $(patsubst %,%.o2, $(PORTBINARIES) $(MATHBINARIES))
+
+ LIBOBJECTS = libppm1.o libppm2.o libppm3.o libppm4.o libppm5.o bitio.o
++LIBSOBJECTS = libppm1.so libppm2.so libppm3.so libppm4.so libppm5.so bitio.so
+
+ MANUALS1 = $(BINARIES) $(SCRIPTS)
+ MANUALS3 = libppm
+@@ -68,7 +71,7 @@
+
+ MERGENAME= ppmmerge
+
+-INTERFACE_HEADERS = ppm.h
++INTERFACE_HEADERS = ppm.h ppmcmap.h ppmdraw.h
+
+ .PHONY: all
+ all: $(BINARIES)
+@@ -77,26 +80,32 @@
+
+
+ # Rules for plain programs.
+-$(PORTBINARIES) ppmtojpeg: %: %.o $(NETPBMLIBS) ../shhopt/libshhopt.a
+- $(LD) $(LDFLAGS) -o $@ $@.o $(NETPBMLIBS) ../shhopt/libshhopt.a \
+- $(JPEGLD) $(CDEBUG)
++$(PORTBINARIES): %: %.o $(NETPBMLIBS)
++ $(LD) $(LDFLAGS) -o $@ $@.o $(NETPBMLD) $(CDEBUG)
+
+ # Rule for math-dependent programs.
+ $(MATHBINARIES): %: %.o $(NETPBMLIBS)
+- $(LD) $(LDFLAGS) -o $@ $@.o -lm $(NETPBMLIBS) $(CDEBUG)
++ $(LD) $(LDFLAGS) -o $@ $@.o -lm $(NETPBMLD) $(CDEBUG)
++
++ppmtojpeg: %: %.o $(NETPBMLIBS) ../shhopt/libshhopt.a
++ $(LD) $(LDFLAGS) -o $@ $@.o $(NETPBMLD) ../shhopt/libshhopt.a \
++ $(JPEGLD) $(CDEBUG)
+
+ # Rule for objects.
+ $(OBJECTS) $(LIBOBJECTS): %.o: %.c
+ $(CC) -c $(CFLAGS) $(INCLUDE) -o $@ $<
+
++$(LIBSOBJECTS): %.so: %.c
++ $(CC) -c -fpic -DPIC $(CFLAGS) $(INCLUDE) -o $@ $<
++
+ $(MERGE_OBJECTS): %.o2: %.c
+ $(CC) -c $(CFLAGS) $(INCLUDE) "-Dmain=$*_main" -o $@ $<
+
+ # And libraries.
+ $(PBMDIR)/$(LIBPBM):
+- cd $(PBMDIR) ; make $(LIBPBM)
++ cd $(PBMDIR) ; $(MAKE) $(LIBPBM)
+ $(PGMDIR)/$(LIBPGM):
+- cd $(PGMDIR) ; make $(LIBPGM)
++ cd $(PGMDIR) ; $(MAKE) $(LIBPGM)
+
+ ../shhopt/libshhopt.a:
+ cd ../shhopt; $(MAKE) libshhopt.a
diff --git a/graphics/netpbm/pkg-plist b/graphics/netpbm/pkg-plist
index 286b867be406..fc624b10efa8 100644
--- a/graphics/netpbm/pkg-plist
+++ b/graphics/netpbm/pkg-plist
@@ -16,6 +16,7 @@ bin/hpcdtoppm
bin/icontopbm
bin/ilbmtoppm
bin/imgtoppm
+bin/jpegtopnm
bin/lispmtopgm
bin/macptopbm
bin/mgrtopbm
@@ -77,6 +78,7 @@ bin/pi3topbm
bin/picttoppm
bin/pjtoppm
bin/pktopbm
+bin/pngtopnm
bin/pnmalias
bin/pnmarith
bin/pnmcat
@@ -96,7 +98,6 @@ bin/pnminvert
bin/pnmmargin
bin/pnmmerge
bin/pnmnlfilt
-bin/pnmnoraw
bin/pnmpad
bin/pnmpaste
bin/pnmrotate
@@ -106,21 +107,26 @@ bin/pnmsmooth
bin/pnmtile
bin/pnmtoddif
bin/pnmtofits
+bin/pnmtoplainpnm
+bin/pnmtopng
bin/pnmtops
bin/pnmtorast
bin/pnmtosgi
bin/pnmtosir
bin/pnmtotiff
+bin/pnmtotiffcmyk
bin/pnmtoxwd
bin/ppm3d
bin/ppmbrighten
bin/ppmchange
+bin/ppmcie
bin/ppmdim
bin/ppmdist
bin/ppmdither
bin/ppmflash
bin/ppmforge
bin/ppmhist
+bin/ppmlabel
bin/ppmmake
bin/ppmmerge
bin/ppmmix
@@ -131,6 +137,7 @@ bin/ppmquant
bin/ppmquantall
bin/ppmqvga
bin/ppmrelief
+bin/ppmshadow
bin/ppmshift
bin/ppmspread
bin/ppmtoacad
@@ -138,6 +145,7 @@ bin/ppmtobmp
bin/ppmtogif
bin/ppmtoicr
bin/ppmtoilbm
+bin/ppmtojpeg
bin/ppmtomap
bin/ppmtomitsu
bin/ppmtopcx
@@ -161,6 +169,7 @@ bin/rasttopnm
bin/rawtopgm
bin/rawtoppm
bin/rgb3toppm
+bin/sbigtopgm
bin/sgitopnm
bin/sirtopnm
bin/sldtoppm
@@ -184,7 +193,18 @@ include/pgm.h
include/pnm.h
include/ppm.h
include/ppmcmap.h
+include/ppmdraw.h
lib/libpbm.a
+lib/libpbm.so
+lib/libpbm.so.1
lib/libpgm.a
+lib/libpgm.so
+lib/libpgm.so.1
lib/libpnm.a
+lib/libpnm.so
+lib/libpnm.so.1
lib/libppm.a
+lib/libppm.so
+lib/libppm.so.1
+@exec /sbin/ldconfig -m %B
+@unexec /sbin/ldconfig -R