ports/76731: [PATCH] make cups-pstoraster GHOSTSCRIPT_PORT aware

Jose M Rodriguez josemi at freebsd.jazztel.es
Sun Mar 20 16:20:06 UTC 2005


The following reply was made to PR ports/76731; it has been noted by GNATS.

From: Jose M Rodriguez <josemi at freebsd.jazztel.es>
To: freebsd-gnats-submit at freebsd.org, josemi at freebsd.jazztel.es
Cc:  
Subject: Re: ports/76731: [PATCH] make cups-pstoraster GHOSTSCRIPT_PORT aware
Date: Sun, 20 Mar 2005 17:11:13 +0100

 Well
 I just finish and do a preliminary test of this patchset
 
 This must be ready to test on the build cluster, if taking this before 
 5.4 is desired.
 
 This include things from KATO Tsuguru rework, fixes from latest espgs 
 (8.15rc2) and the pcl3 driver in gs-gpl
 
 This also include the minimal changes to bsd.port.mk making gs-gpl the 
 default gs and adding a WITH_GHOSTSCRIPT_GNU knob, so must be approved 
 by port manager
 
 Thanks in advance,
 --
   josemi
 
 --- patch-gs begins here ---
 --- /usr/ports/Mk/bsd.port.mk	Fri Mar 18 09:16:19 2005
 +++ Mk/bsd.port.mk	Sun Mar 20 12:02:50 2005
 @@ -1786,23 +1786,19 @@
  # compatible functionality.
  .if !defined(WITHOUT_X11)
  .if defined(WITH_GHOSTSCRIPT_AFPL)
 -.if ${WITH_GHOSTSCRIPT_AFPL} == yes
  GHOSTSCRIPT_PORT?=	print/ghostscript-afpl
 -.else
 +.elif defined(WITH_GHOSTSCRIPT_GNU)
  GHOSTSCRIPT_PORT?=	print/ghostscript-gnu
 -.endif
  .else
 -GHOSTSCRIPT_PORT?=	print/ghostscript-gnu
 +GHOSTSCRIPT_PORT?=	print/ghostscript-gpl
  .endif
  .else
  .if defined(WITH_GHOSTSCRIPT_AFPL)
 -.if ${WITH_GHOSTSCRIPT_AFPL} == yes
  GHOSTSCRIPT_PORT?=	print/ghostscript-afpl-nox11
 -.else
 +.elif defined(WITH_GHOSTSCRIPT_GNU)
  GHOSTSCRIPT_PORT?=	print/ghostscript-gnu-nox11
 -.endif
  .else
 -GHOSTSCRIPT_PORT?=	print/ghostscript-gnu-nox11
 +GHOSTSCRIPT_PORT?=	print/ghostscript-gpl-nox11
  .endif
  .endif
  
 diff -Nru /usr/HEAD/ports/print/ghostscript-gnu/Makefile 
 print/ghostscript-gnu/Makefile
 --- /usr/HEAD/ports/print/ghostscript-gnu/Makefile	Mon Jan 24 21:21:14 
 2005
 +++ print/ghostscript-gnu/Makefile	Sun Mar 20 12:36:53 2005
 @@ -114,6 +114,9 @@
  
  GS_SRCS=	${DISTNAME}${EXTRACT_SUFX}
  
 +# normalize WRKSRC so things like cups-pstoraster may work
 +WRKSRC=		${WRKDIR}/ghostscript
 +
  # Additional Drivers:
  
  # HP8XX - additional driver for HP DeskJet 
 812C/815C/832C/880C/882C/895C
 @@ -263,6 +266,8 @@
  
  post-extract:
  	${ECHO_MSG} ">>> in post-extract ..."
 +# normazile WRKSRC so things like cups-pstoraster may work
 +	${LN} -sf ${WRKDIR}/${DISTNAME} ${WRKDIR}/${PORTNAME}
  # ** 3rd party driver **
  # Note: don't forget to add those devices in scripts/configure,
  # which update unix-gcc.mak to build gs with these new devices!
 diff -Nru /usr/HEAD/ports/print/ghostscript-gpl/Makefile 
 print/ghostscript-gpl/Makefile
 --- /usr/HEAD/ports/print/ghostscript-gpl/Makefile	Sat Oct 16 09:28:33 
 2004
 +++ print/ghostscript-gpl/Makefile	Sun Mar 20 12:38:52 2005
 @@ -12,6 +12,7 @@
  CATEGORIES=	print
  MASTER_SITES=	${MASTER_SITE_SOURCEFORGE:S/$/:gs_srcs,bjc250/} \
  		http://www.gelhaus.net/hp880c/1.4beta/:hp8xx \
 +		http://home.t-online.de/home/Martin.Lottermoser/pcl3dist/:pcl3 \
  		http://www.harsch.net/Download/:dj970 \
  		http://plaza26.mbn.or.jp/~higamasa/gdevmd2k/:md2k \
  		${MASTER_SITE_PORTS_JP:S/$/:ports_jp,ports_jp_gs/} \
 @@ -29,6 +30,7 @@
  PKGNAMESUFFIX=	-gpl
  DISTFILES=	${GS_SRCS}:gs_srcs \
  		${HP8XX_SRCS}:hp8xx \
 +		${PCL3_SRCS}:pcl3 \
  		${DJ970_SRCS}:dj970 \
  		${MD2K_SRCS}:md2k \
  		${ALPS_SRCS}:ports_jp_gs \
 @@ -59,6 +61,9 @@
  USE_GMAKE=	yes
  MAKE_ENV=	CC="${CC}" CXX="${CXX}" CFLAGS_STANDARD="${CFLAGS}" \
  		XCFLAGS="${XCFLAGS}"
 +ALL_TARGET=	all
 +INSTALL_TARGET= install
 +
  PLIST_SUB=	GS_VERSION="${GS_VERSION}" \
  		CIDFONTDIR=${CIDFONTDIR}
  
 @@ -114,6 +119,9 @@
  GS_SRCS=	${DISTNAME}${EXTRACT_SUFX}
  CIDFONTDIR=	${PREFIX}/share/ghostscript/${GS_VERSION}/Resource
  
 +# normalize WRKSRC so things like cups-pstoraster may work
 +WRKSRC=		${WRKDIR}/ghostscript
 +
  # Additional Drivers:
  
  # HP8XX - additional driver for HP DeskJet 
 812C/815C/832C/880C/882C/895C
 @@ -121,6 +129,19 @@
  HP8XX=		cdj880
  HP8XX_SRCS=	gdevcd8.tar.gz
  
 +# PCL3 (hpdj successor now in RELEASE quality)
 +# additional driver for HP PCL3 printers, by Martin Lottermoser
 +# http://home.t-online.de/home/Martin.Lottermoser/pcl3.html
 +ALL_TARGET+=	pcl3opts
 +INSTALL_TARGET+=	pcl3-install
 +PCL3=		pcl3
 +PCL3_VERS=	3.3
 +PCL3_NAME=	${PCL3}-${PCL3_VERS}
 +PCL3_SRCS=	${PCL3_NAME}.tar.gz
 +PCL3_MAN1=	gs-pcl3.1 pcl3opts.1
 +MAN1+=		${PCL3_MAN1}
 +
 +#
  # DJ970 - additional driver for HP DeskJet 970, supports duplex 
 printing
  # http://www.harsch.net/Ghostscript/ghostscript.html
  DJ970=		gdevdj9
 @@ -223,6 +244,8 @@
  
  post-extract:
  	${ECHO_MSG} ">>> in post-extract ..."
 +# normazile WRKSRC so things like cups-pstoraster may work
 +	${LN} -sf ${WRKDIR}/${DISTNAME} ${WRKDIR}/${PORTNAME}
  # ** 3rd party driver **
  # Note: don't forget to add those devices in scripts/configure,
  # which update unix-gcc.mak to build gs with these new devices!
 @@ -230,6 +253,12 @@
  # for HP8XX driver
  	${ECHO_MSG} ">>>   extracting ${HP8XX_SRCS} ..."
  	${TAR} -C ${WRKSRC}/src -xzf ${DISTDIR}/${DIST_SUBDIR}/${HP8XX_SRCS}
 +# for PCL3 driver
 +	${ECHO_MSG} ">>>   extracting ${PCL3_SRCS} ..."
 +	${TAR} -C ${WRKSRC} -xzf ${DISTDIR}/${DIST_SUBDIR}/${PCL3_SRCS}
 +	${LN} -sf ${PCL3_NAME} ${WRKSRC}/${PCL3}
 +	${TAR} -C ${WRKSRC}/${PCL3_NAME} -xf \
 +		${WRKSRC}/${PCL3_NAME}/${PCL3}.tar
  # for DJ970 driver
  	${ECHO_MSG} ">>>   extracting ${DJ970_SRCS} ..."
  	${CP} ${DISTDIR}/${DIST_SUBDIR}/${DJ970_SRCS} ${WRKSRC}/src
 @@ -301,6 +330,10 @@
  	${ECHO_MSG} ">>>   adding ${HP8XX} driver to contrib.mak ..."
  	${CAT} ${FILESDIR}/cdj850.contrib.mak \
  		>> ${WRKSRC}/src/contrib.mak
 +# for PCL3 driver
 +	${ECHO_MSG} ">>>   adding ${PCL3} driver to contrib.mak ..."
 +	${CAT} ${WRKSRC}/${PCL3_NAME}/src/contrib.mak-7.00.add \
 +		>> ${WRKSRC}/src/contrib.mak
  # for DJ970 driver
  	${ECHO_MSG} ">>>   adding ${DJ970} driver to contrib.mak ..."
  	${CAT} ${FILESDIR}/dj970.contrib.mak \
 @@ -447,6 +480,18 @@
  .else
  	${STRIP_CMD} ${PREFIX}/bin/gs
  .endif
 +# for PCL3 driver, stuff which might be interesting for runtime
 +	${ECHO_MSG} ">>>   creating ${PCL3} destdir ..."
 +	${MKDIR} ${DATADIR}/${GS_VERSION}/${PCL3}
 +	${ECHO_MSG} ">>>   installing files in ${PCL3} destdir ..."
 +.for i in NEWS BUGS README lib/example.mcf lib/if-pcl3 ps/calign.ps \
 +	ps/dumppdd.ps ps/levels-test.ps ps/margins-A4.ps \
 +	ps/margins-A4Rotated.ps ps/margins-Env10Rotated.ps \
 +	ps/margins-EnvDLRotated.ps ps/margins-Letter.ps \
 +	ps/margins-LetterRotated.ps
 +	${INSTALL_DATA} ${WRKSRC}/${PCL3_NAME}/${i} \
 +		${DATADIR}/${GS_VERSION}/${PCL3}
 +.endfor
  # for EPAG driver
  	${ECHO_MSG} ">>>   installing ${EPAG} utility in bindir ..."
  	${INSTALL_PROGRAM} ${WRKSRC}/${EPAG_NAME}/ert ${PREFIX}/bin
 @@ -462,6 +507,13 @@
  .if !defined(NOPORTDOCS)
  	${ECHO_MSG} ">>> installing PORTDOC stuff ..."
  	${MKDIR} ${DOCSDIR}/${GS_VERSION}
 +# for PCL3 driver
 +	${ECHO_MSG} ">>>   installing ${PCL3} docs ..."
 +	${MKDIR} ${DOCSDIR}/${GS_VERSION}/${PCL3}
 +.for i in NEWS doc/how-to-report.txt
 +	${INSTALL_DATA} ${WRKSRC}/${PCL3_NAME}/${i} \
 +		${DOCSDIR}/${GS_VERSION}/${PCL3}
 +.endfor
  # for MD2K driver
  	${ECHO_MSG} ">>>   installing ${MD2K} docs ..."
  	${MKDIR} ${DOCSDIR}/${GS_VERSION}/${MD2K}
 diff -Nru /usr/HEAD/ports/print/ghostscript-gpl/Makefile.inc 
 print/ghostscript-gpl/Makefile.inc
 --- /usr/HEAD/ports/print/ghostscript-gpl/Makefile.inc	Sat Oct 16 
 09:28:33 2004
 +++ print/ghostscript-gpl/Makefile.inc	Sun Mar 20 11:03:38 2005
 @@ -1,5 +1,5 @@
  # $FreeBSD: ports/print/ghostscript-gpl/Makefile.inc,v 1.13 2004/10/16 
 07:28:33 krion Exp $
  
  GS_VERSION=	8.15
 -GS_REVISION=	0
 +GS_REVISION=	1
  GS_EPOCH=	0
 diff -Nru /usr/HEAD/ports/print/ghostscript-gpl/distinfo 
 print/ghostscript-gpl/distinfo
 --- /usr/HEAD/ports/print/ghostscript-gpl/distinfo	Sat Oct 16 09:28:33 
 2004
 +++ print/ghostscript-gpl/distinfo	Sun Mar 20 12:30:17 2005
 @@ -2,6 +2,8 @@
  SIZE (ghostscript/ghostscript-8.15.tar.bz2) = 6931694
  MD5 (ghostscript/gdevcd8.tar.gz) = 5ce48bff6082a023199c8ede4aae63a0
  SIZE (ghostscript/gdevcd8.tar.gz) = 24803
 +MD5 (ghostscript/pcl3-3.3.tar.gz) = 34e664c2a98b847598f8441f8cac7ab6
 +SIZE (ghostscript/pcl3-3.3.tar.gz) = 301470
  MD5 (ghostscript/gdevdj9.c.gz) = 3a9c20c34b79ffab434abfbcc31d1c27
  SIZE (ghostscript/gdevdj9.c.gz) = 20139
  MD5 (ghostscript/gdevmd2k-0.2a.tar.gz) = 
 5ed2b4218b8f77cb411f3d2e4509ed24
 diff 
 -Nru /usr/HEAD/ports/print/ghostscript-gpl/files/patch-lib:gs_init.ps 
 print/ghostscript-gpl/files/patch-lib:gs_init.ps
 --- /usr/HEAD/ports/print/ghostscript-gpl/files/patch-lib:gs_init.ps	Wed 
 Apr  3 04:59:13 2002
 +++ print/ghostscript-gpl/files/patch-lib:gs_init.ps	Sun Mar 20 11:03:38 
 2005
 @@ -1,6 +1,14 @@
 ---- lib/gs_init.ps.orig	Fri Feb  1 12:25:45 2002
 -+++ lib/gs_init.ps	Sat Feb  9 01:42:10 2002
 -@@ -1274,7 +1274,7 @@
 +--- lib/gs_init.ps.orig	Wed Jan 26 20:32:16 2005
 ++++ lib/gs_init.ps	Wed Jan 26 20:31:34 2005
 +@@ -140,6 +140,7 @@
 + currentdict /NOFONTPATH known   /NOFONTPATH exch def
 + currentdict /NOGC known   /NOGC exch def
 + currentdict /NOINTERPOLATE .knownget { /INTERPOLATE exch not def } if
 ++currentdict /NOMEDIAATTRS known /NOMEDIAATTRS exch def
 + currentdict /NOOUTERSAVE known   /NOOUTERSAVE exch def
 + currentdict /NOPAGEPROMPT known   /NOPAGEPROMPT exch def
 + currentdict /NOPAUSE known   /NOPAUSE exch def
 +@@ -1420,7 +1421,7 @@
   % Set the default screen and BG/UCR.
   /.setdefaultbgucr {
     systemdict /setblackgeneration known {
 @@ -9,11 +17,14 @@
     } if
   } bind def
   /.useloresscreen {	% - .useloresscreen <bool>
 -@@ -1874,3 +1874,7 @@
 - userdict /AGM_preserve_spots false put
 +@@ -2018,6 +2019,10 @@
 + % Set up GridFitTT :
   
 - % The interpreter will run the initial procedure (start).
 + /GridFitTT where {
  +
  +% unofficial patch:
  +% make it possible to print from within acroread pdf viewer
  +/Default currenthalftone /Halftone defineresource pop
 +   mark /GridFitTT 2 index /GridFitTT get .dicttomark setuserparams
 +   /GridFitTT undef
 + } if
 diff 
 -Nru /usr/HEAD/ports/print/ghostscript-gpl/files/patch-lib:gs_setpd.ps 
 print/ghostscript-gpl/files/patch-lib:gs_setpd.ps
 --- /usr/HEAD/ports/print/ghostscript-gpl/files/patch-lib:gs_setpd.ps	
 Thu Jan  1 01:00:00 1970
 +++ print/ghostscript-gpl/files/patch-lib:gs_setpd.ps	Sun Mar 20 
 11:03:38 2005
 @@ -0,0 +1,98 @@
 +--- lib/gs_setpd.ps.orig	Tue Sep 14 00:32:19 2004
 ++++ lib/gs_setpd.ps	Wed Jan 26 20:31:34 2005
 +@@ -377,21 +377,42 @@
 +   /MediaPosition { dup //null ne { pop //null } if } bind
 + .dicttomark readonly def
 + 
 +-% Define the keys used in input attribute matching.
 +-/.inputattrkeys [
 +-  /PageSize /MediaColor /MediaWeight /MediaType /InsertSheet
 +-	% The following are documented in Adobe's supplement for v2017.
 +-  /LeadingEdge /MediaClass
 +-] readonly def
 +-% Define other keys used in media selection.
 +-/.inputselectionkeys [
 +-  /MediaPosition /Orientation
 +-] readonly def
 +-
 +-% Define the keys used in output attribute matching.
 +-/.outputattrkeys [
 +-  /OutputType
 +-] readonly def
 ++% M. Sweet, Easy Software Products:
 ++%
 ++% Define NOMEDIAATTRS to turn off the default (but unimplementable) 
 media
 ++% selection policies for setpagedevice.  This is used by CUPS to 
 support
 ++% the standard Adobe media attributes.
 ++NOMEDIAATTRS {
 ++  % Define only PageSize for input attribute matching.
 ++  /.inputattrkeys [
 ++    /PageSize
 ++  ] readonly def
 ++  % Define no other keys used in media selection.
 ++  /.inputselectionkeys [
 ++    /noInputSelectionsKeys
 ++  ] readonly def
 ++
 ++  % Define no keys used in output attribute matching.
 ++  /.outputattrkeys [
 ++    /noOutputAttrKeys
 ++  ] readonly def
 ++} {
 ++  % Define the keys used in input attribute matching.
 ++  /.inputattrkeys [
 ++    /PageSize /MediaColor /MediaWeight /MediaType /InsertSheet
 ++	  % The following are documented in Adobe's supplement for v2017.
 ++    /LeadingEdge /MediaClass
 ++  ] readonly def
 ++  % Define other keys used in media selection.
 ++  /.inputselectionkeys [
 ++    /MediaPosition /Orientation
 ++  ] readonly def
 ++
 ++  % Define the keys used in output attribute matching.
 ++  /.outputattrkeys [
 ++    /OutputType
 ++  ] readonly def
 ++} ifelse
 + 
 + % Define all the parameters that should always be copied to the merged
 + % dictionary.
 +@@ -420,7 +441,13 @@
 +   /PageSize //false		% obsolete alias for .MediaSize
 +   /InputAttributes //false
 +   .inputattrkeys
 +-    { dup /PageSize eq
 ++    % M. Sweet, Easy Software Products:
 ++    %
 ++    % Treat LeadingEdge like PageSize so that a common Ghostscript 
 driver
 ++    % doesn't need the NOMEDIAATTRS definition.
 ++    %
 ++    % { dup /PageSize eq
 ++    { dup dup /PageSize eq exch /LeadingEdge eq or
 +        { pop }
 +        { { 2 index /InputAttributes .knownget { //null eq } { //true } 
 ifelse } }
 +       ifelse
 +@@ -501,11 +528,22 @@
 + % They are expected to consume the top 2 operands.
 + % NOTE: we currently treat all values other than 0, 1, or 7 (for 
 PageSize)
 + % the same as 0, i.e., we signal an error.
 ++%
 ++% M. Sweet, Easy Software Products:
 ++%
 ++% Define NOMEDIAATTRS to turn off the default (but unimplementable) 
 media
 ++% selection policies for setpagedevice.  This is used by CUPS to 
 support
 ++% the standard Adobe media attributes.
 +   0 {		% Set errorinfo and signal a configurationerror.
 ++      NOMEDIAATTRS {
 ++        % NOMEDIAATTRS means that the default policy is 7...
 ++        pop 2 index exch 7 put
 ++      } {
 + 	pop dup 4 index exch get 2 array astore
 + 	$error /errorinfo 3 -1 roll put
 + 	cleartomark
 + 	/setpagedevice load /configurationerror signalerror
 ++      } ifelse
 +   } bind
 +   1 {		% Roll back the failed request to its previous status.
 + SETPDDEBUG { (Rolling back.) = pstack flush } if
 diff 
 -Nru /usr/HEAD/ports/print/ghostscript-gpl/files/patch-pcl3:eprn:eprnrend.c 
 print/ghostscript-gpl/files/patch-pcl3:eprn:eprnrend.c
 --- /usr/HEAD/ports/print/ghostscript-gpl/files/patch-pcl3:eprn:eprnrend.c	
 Thu Jan  1 01:00:00 1970
 +++ print/ghostscript-gpl/files/patch-pcl3:eprn:eprnrend.c	Sun Mar 20 
 15:38:22 2005
 @@ -0,0 +1,170 @@
 +--- pcl3/eprn/eprnrend.c.orig	Wed Aug  1 07:12:56 2001
 ++++ pcl3/eprn/eprnrend.c	Sun Mar 20 15:36:38 2005
 +@@ -161,8 +161,10 @@
 + 
 ******************************************************************************/
 + 
 + gx_color_index eprn_map_rgb_color_for_RGB(gx_device *device,
 +-  gx_color_value red, gx_color_value green, gx_color_value blue)
 ++  const gx_color_value cv[])
 + {
 ++  gx_color_value red, green, blue;
 ++  red = cv[0]; green = cv[1]; blue = cv[2];
 +   static const gx_color_value half = gx_max_color_value/2;
 +   gx_color_index value = 0;
 +   const eprn_Device *dev = (eprn_Device *)device;
 +@@ -197,8 +199,10 @@
 + 
 ******************************************************************************/
 + 
 + gx_color_index eprn_map_rgb_color_for_CMY_or_K(gx_device *device,
 +-  gx_color_value red, gx_color_value green, gx_color_value blue)
 ++  const gx_color_value cv[])
 + {
 ++  gx_color_value red, green, blue;
 ++  red = cv[0]; green = cv[1]; blue = cv[2];
 +   static const gx_color_value half = gx_max_color_value/2;
 +   gx_color_index value = (CYAN_BIT | MAGENTA_BIT | YELLOW_BIT);
 +   const eprn_Device *dev = (eprn_Device *)device;
 +@@ -240,8 +244,10 @@
 + 
 ******************************************************************************/
 + 
 + gx_color_index eprn_map_rgb_color_for_RGB_flex(gx_device *device,
 +-  gx_color_value red, gx_color_value green, gx_color_value blue)
 ++  const gx_color_value cv[])
 + {
 ++  gx_color_value red, green, blue;
 ++  red = cv[0]; green = cv[1]; blue = cv[2];
 +   gx_color_index value = 0;
 +   gx_color_value step;
 +   unsigned int level;
 +@@ -284,8 +290,10 @@
 + 
 ******************************************************************************/
 + 
 + gx_color_index eprn_map_rgb_color_for_CMY_or_K_flex(gx_device *device,
 +-  gx_color_value red, gx_color_value green, gx_color_value blue)
 ++  const gx_color_value cv[])
 + {
 ++  gx_color_value red, green, blue;
 ++  red = cv[0]; green = cv[1]; blue = cv[2];
 +   const eprn_Device *dev = (eprn_Device *)device;
 + 
 + #ifdef EPRN_TRACE
 +@@ -298,11 +306,18 @@
 +   /* Treat pure grey levels differently if we have black. This implies 
 that for
 +      CMY+K only "true" grey shades will be printed with black ink, all 
 others
 +      will be mixed from CMY. */
 +-  if (dev->eprn.colour_model != eprn_DeviceCMY && red == green && 
 green == blue)
 +-    return eprn_map_cmyk_color_flex(device, 0, 0, 0, 
 gx_max_color_value - red);
 ++  gx_color_value tmpcv[4];
 ++  if (dev->eprn.colour_model != eprn_DeviceCMY && red == green && 
 green == blue) {
 ++    tmpcv[0] = 0; tmpcv[1] = 0; tmpcv[2] = 0;
 ++    tmpcv[3] = gx_max_color_value - red;
 ++    return eprn_map_cmyk_color_flex(device, tmpcv);
 + 
 +-  return eprn_map_cmyk_color_flex(device, gx_max_color_value - red,
 +-    gx_max_color_value - green, gx_max_color_value - blue, 0);
 ++  }
 ++  tmpcv[0] = gx_max_color_value - red; 
 ++  tmpcv[1] = gx_max_color_value - green; 
 ++  tmpcv[2] = gx_max_color_value - blue; 
 ++  tmpcv[3] = 0;
 ++  return eprn_map_cmyk_color_flex(device, tmpcv);
 + }
 + 
 + /******************************************************************************
 +@@ -315,8 +330,10 @@
 + 
 ******************************************************************************/
 + 
 + gx_color_index eprn_map_rgb_color_for_RGB_max(gx_device *device,
 +-  gx_color_value red, gx_color_value green, gx_color_value blue)
 ++  const gx_color_value cv[])
 + {
 ++  gx_color_value red, green, blue;
 ++  red = cv[0]; green = cv[1]; blue = cv[2];
 +   gx_color_index value;
 + 
 + #ifdef EPRN_TRACE
 +@@ -345,8 +362,10 @@
 + 
 ******************************************************************************/
 + 
 + gx_color_index eprn_map_rgb_color_for_CMY_or_K_max(gx_device *device,
 +-  gx_color_value red, gx_color_value green, gx_color_value blue)
 ++  const gx_color_value cv[])
 + {
 ++  gx_color_value red, green, blue;
 ++  red = cv[0]; green = cv[1]; blue = cv[2];
 +   const eprn_Device *dev = (eprn_Device *)device;
 + 
 + #ifdef EPRN_TRACE
 +@@ -356,13 +375,19 @@
 +     red, green, blue);
 + #endif
 + 
 +-  if (dev->eprn.colour_model == eprn_DeviceGray)
 +-    return eprn_map_cmyk_color_max(device, 0, 0, 0, gx_max_color_value 
 - red);
 +-
 ++  gx_color_value tmpcv[4];
 ++  if (dev->eprn.colour_model == eprn_DeviceGray) {
 ++    tmpcv[0] = 0; tmpcv[1] = 0; tmpcv[2] = 0;
 ++    tmpcv[3] = gx_max_color_value - red;
 ++    return eprn_map_cmyk_color_max(device, tmpcv);
 ++  }
 +   /* Note that the conversion from composite black to true black for 
 CMY+K can
 +      only happen at the output pixel level, not here. */
 +-  return eprn_map_cmyk_color_max(device, gx_max_color_value - red,
 +-    gx_max_color_value - green, gx_max_color_value - blue, 0);
 ++  tmpcv[0] = gx_max_color_value - red; 
 ++  tmpcv[1] = gx_max_color_value - green; 
 ++  tmpcv[2] = gx_max_color_value - blue; 
 ++  tmpcv[3] = 0;
 ++  return eprn_map_cmyk_color_max(device, tmpcv);
 + }
 + 
 + /******************************************************************************
 +@@ -389,7 +414,7 @@
 + 
 ******************************************************************************/
 + 
 + int eprn_map_color_rgb(gx_device *device, gx_color_index color,
 +-  gx_color_value rgb[3])
 ++  gx_color_value rgb[])
 + {
 + #ifdef EPRN_TRACE
 +   if_debug1(EPRN_TRACE_CHAR,
 +@@ -415,9 +440,10 @@
 + 
 ******************************************************************************/
 + 
 + gx_color_index eprn_map_cmyk_color(gx_device *device,
 +-  gx_color_value cyan, gx_color_value magenta, gx_color_value yellow,
 +-  gx_color_value black)
 ++  const gx_color_value cv[])
 + {
 ++  gx_color_value cyan, magenta, yellow, black;
 ++  cyan = cv[0]; magenta = cv[1]; yellow = cv[2]; black = cv[3];
 +   gx_color_index value = 0;
 +   static const gx_color_value threshold = gx_max_color_value/2;
 + 
 +@@ -449,9 +475,10 @@
 + 
 ******************************************************************************/
 + 
 + gx_color_index eprn_map_cmyk_color_flex(gx_device *device,
 +-  gx_color_value cyan, gx_color_value magenta, gx_color_value yellow,
 +-  gx_color_value black)
 ++  const gx_color_value cv[])
 + {
 ++  gx_color_value cyan, magenta, yellow, black;
 ++  cyan = cv[0]; magenta = cv[1]; yellow = cv[2]; black = cv[3];
 +   gx_color_index value = 0;
 +   gx_color_value step;
 +   unsigned int level;
 +@@ -530,9 +557,10 @@
 + 
 ******************************************************************************/
 + 
 + gx_color_index eprn_map_cmyk_color_max(gx_device *device,
 +-  gx_color_value cyan, gx_color_value magenta, gx_color_value yellow,
 +-  gx_color_value black)
 ++  const gx_color_value cv[])
 + {
 ++  gx_color_value cyan, magenta, yellow, black;
 ++  cyan = cv[0]; magenta = cv[1]; yellow = cv[2]; black = cv[3];
 +   gx_color_index value;
 + 
 + #ifdef EPRN_TRACE
 diff -Nru /usr/HEAD/ports/print/ghostscript-gpl/pkg-descr 
 print/ghostscript-gpl/pkg-descr
 --- /usr/HEAD/ports/print/ghostscript-gpl/pkg-descr	Sat Oct 16 09:28:33 
 2004
 +++ print/ghostscript-gpl/pkg-descr	Sun Mar 20 12:30:17 2005
 @@ -7,6 +7,8 @@
  under certain conditions (including, in some cases, commercial 
 distribution).
  
  This port includes add-on packages (not part of the official gs 
 release)
 +	o PCL driver for HP DeskJet printers
 +	  - http://home.t-online.de/home/Martin.Lottermoser/pcl3.html
  	o HP2200 driver for HP DeskJet 8xx and Business Inkjet 2200
  	  - http://hp.sourceforge.net/gs-hp2200.php
  	o DJ970 driver for HP DeskJet 970CXi
 diff -Nru /usr/HEAD/ports/print/ghostscript-gpl/pkg-plist 
 print/ghostscript-gpl/pkg-plist
 --- /usr/HEAD/ports/print/ghostscript-gpl/pkg-plist	Sat Oct 16 09:28:33 
 2004
 +++ print/ghostscript-gpl/pkg-plist	Sun Mar 20 12:30:17 2005
 @@ -15,6 +15,7 @@
  bin/gsnd
  %%SHLIB%%bin/gsx
  bin/lprsetup.sh
 +bin/pcl3opts
  bin/pdf2dsc
  bin/pdf2ps
  bin/pdfopt
 @@ -34,25 +35,6 @@
  bin/wftopfa
  %%SHLIB%%lib/libgs.so
  %%SHLIB%%lib/libgs.so.%%SHLIB_VER%%
 -%%PORTDOCS%%%%DOCSDIR%%/%%GS_VERSION%%/alps/README.gdevalps
 -%%PORTDOCS%%%%DOCSDIR%%/%%GS_VERSION%%/bj10v/gdev10v.jis
 -%%PORTDOCS%%%%DOCSDIR%%/%%GS_VERSION%%/epag/ChangeLog
 -%%PORTDOCS%%%%DOCSDIR%%/%%GS_VERSION%%/epag/ert.txt
 -%%PORTDOCS%%%%DOCSDIR%%/%%GS_VERSION%%/epag/gdevepag.txt
 -%%PORTDOCS%%%%DOCSDIR%%/%%GS_VERSION%%/epag/gsepagif.sh
 -%%PORTDOCS%%%%DOCSDIR%%/%%GS_VERSION%%/epag/psprint
 -%%PORTDOCS%%%%DOCSDIR%%/%%GS_VERSION%%/eplaser/readme-eplaser-705.euc
 -%%PORTDOCS%%%%DOCSDIR%%/%%GS_VERSION%%/gdi/README
 -%%PORTDOCS%%%%DOCSDIR%%/%%GS_VERSION%%/lips/Gdevlips.htm
 -%%PORTDOCS%%%%DOCSDIR%%/%%GS_VERSION%%/lxm3200/README
 -%%PORTDOCS%%%%DOCSDIR%%/%%GS_VERSION%%/lxm3200/RELEASE_NOTES
 -%%PORTDOCS%%%%DOCSDIR%%/%%GS_VERSION%%/lxm3200/Z12-Z31-QuickSetup
 -%%PORTDOCS%%%%DOCSDIR%%/%%GS_VERSION%%/md2k/README.jis
 -%%PORTDOCS%%%%DOCSDIR%%/%%GS_VERSION%%/mjc/MJ700V2C.FAQ
 -%%PORTDOCS%%%%DOCSDIR%%/%%GS_VERSION%%/mjc/README.mjc
 -%%PORTDOCS%%%%DOCSDIR%%/%%GS_VERSION%%/mjc/README.mje
 -%%PORTDOCS%%%%DOCSDIR%%/%%GS_VERSION%%/mjc/README.noz
 -%%PORTDOCS%%%%DOCSDIR%%/%%GS_VERSION%%/mjc/cpem.doc
  %%DATADIR%%/%%GS_VERSION%%/Resource/CMap/78-EUC-H
  %%DATADIR%%/%%GS_VERSION%%/Resource/CMap/78-EUC-V
  %%DATADIR%%/%%GS_VERSION%%/Resource/CMap/78-H
 @@ -238,6 +220,8 @@
  %%DATADIR%%/%%GS_VERSION%%/doc/Use.htm
  %%DATADIR%%/%%GS_VERSION%%/doc/Xfonts.htm
  %%DATADIR%%/%%GS_VERSION%%/doc/gs.css
 +%%DATADIR%%/%%GS_VERSION%%/doc/gs-pcl3.html
 +%%DATADIR%%/%%GS_VERSION%%/doc/pcl3opts.html
  %%DATADIR%%/%%GS_VERSION%%/doc/index.html
  %%DATADIR%%/%%GS_VERSION%%/examples/alphabet.ps
  %%DATADIR%%/%%GS_VERSION%%/examples/chess.ps
 @@ -481,6 +465,21 @@
  %%DATADIR%%/%%GS_VERSION%%/lib/wrfont.ps
  %%DATADIR%%/%%GS_VERSION%%/lib/xlatmap
  %%DATADIR%%/%%GS_VERSION%%/lib/zeroline.ps
 +%%DATADIR%%/%%GS_VERSION%%/pcl3/BUGS
 +%%DATADIR%%/%%GS_VERSION%%/pcl3/NEWS
 +%%DATADIR%%/%%GS_VERSION%%/pcl3/README
 +%%DATADIR%%/%%GS_VERSION%%/pcl3/calign.ps
 +%%DATADIR%%/%%GS_VERSION%%/pcl3/dumppdd.ps
 +%%DATADIR%%/%%GS_VERSION%%/pcl3/example.mcf
 +%%DATADIR%%/%%GS_VERSION%%/pcl3/if-pcl3
 +%%DATADIR%%/%%GS_VERSION%%/pcl3/levels-test.ps
 +%%DATADIR%%/%%GS_VERSION%%/pcl3/margins-A4.ps
 +%%DATADIR%%/%%GS_VERSION%%/pcl3/margins-A4Rotated.ps
 +%%DATADIR%%/%%GS_VERSION%%/pcl3/margins-Env10Rotated.ps
 +%%DATADIR%%/%%GS_VERSION%%/pcl3/margins-EnvDLRotated.ps
 +%%DATADIR%%/%%GS_VERSION%%/pcl3/margins-Letter.ps
 +%%DATADIR%%/%%GS_VERSION%%/pcl3/margins-LetterRotated.ps
 + at dirrm %%DATADIR%%/%%GS_VERSION%%/pcl3
  @exec ln -s -f %D/share/fonts/CIDFont %%CIDFONTDIR%%/CIDFont
  @unexec rm -f %%CIDFONTDIR%%/CIDFont
  @dirrm %%DATADIR%%/%%GS_VERSION%%/lib
 @@ -492,6 +491,28 @@
  @dirrm %%DATADIR%%/%%GS_VERSION%%/Resource
  @unexec rmdir %D/%%DATADIR%%/%%GS_VERSION%% 2>/dev/null || true
  @unexec rmdir %D/%%DATADIR%% 2>/dev/null || true
 +%%PORTDOCS%%%%DOCSDIR%%/%%GS_VERSION%%/alps/README.gdevalps
 +%%PORTDOCS%%%%DOCSDIR%%/%%GS_VERSION%%/bj10v/gdev10v.jis
 +%%PORTDOCS%%%%DOCSDIR%%/%%GS_VERSION%%/epag/ChangeLog
 +%%PORTDOCS%%%%DOCSDIR%%/%%GS_VERSION%%/epag/ert.txt
 +%%PORTDOCS%%%%DOCSDIR%%/%%GS_VERSION%%/epag/gdevepag.txt
 +%%PORTDOCS%%%%DOCSDIR%%/%%GS_VERSION%%/epag/gsepagif.sh
 +%%PORTDOCS%%%%DOCSDIR%%/%%GS_VERSION%%/epag/psprint
 +%%PORTDOCS%%%%DOCSDIR%%/%%GS_VERSION%%/eplaser/readme-eplaser-705.euc
 +%%PORTDOCS%%%%DOCSDIR%%/%%GS_VERSION%%/gdi/README
 +%%PORTDOCS%%%%DOCSDIR%%/%%GS_VERSION%%/lips/Gdevlips.htm
 +%%PORTDOCS%%%%DOCSDIR%%/%%GS_VERSION%%/lxm3200/README
 +%%PORTDOCS%%%%DOCSDIR%%/%%GS_VERSION%%/lxm3200/RELEASE_NOTES
 +%%PORTDOCS%%%%DOCSDIR%%/%%GS_VERSION%%/lxm3200/Z12-Z31-QuickSetup
 +%%PORTDOCS%%%%DOCSDIR%%/%%GS_VERSION%%/md2k/README.jis
 +%%PORTDOCS%%%%DOCSDIR%%/%%GS_VERSION%%/mjc/MJ700V2C.FAQ
 +%%PORTDOCS%%%%DOCSDIR%%/%%GS_VERSION%%/mjc/README.mjc
 +%%PORTDOCS%%%%DOCSDIR%%/%%GS_VERSION%%/mjc/README.mje
 +%%PORTDOCS%%%%DOCSDIR%%/%%GS_VERSION%%/mjc/README.noz
 +%%PORTDOCS%%%%DOCSDIR%%/%%GS_VERSION%%/mjc/cpem.doc
 +%%PORTDOCS%%%%DOCSDIR%%/%%GS_VERSION%%/pcl3/NEWS
 +%%PORTDOCS%%%%DOCSDIR%%/%%GS_VERSION%%/pcl3/how-to-report.txt
 +%%PORTDOCS%%@dirrm %%DOCSDIR%%/%%GS_VERSION%%/pcl3
  %%PORTDOCS%%@dirrm %%DOCSDIR%%/%%GS_VERSION%%/mjc
  %%PORTDOCS%%@dirrm %%DOCSDIR%%/%%GS_VERSION%%/md2k
  %%PORTDOCS%%@dirrm %%DOCSDIR%%/%%GS_VERSION%%/lxm3200
 diff -Nru /usr/HEAD/ports/print/ghostscript-gpl/scripts/configure 
 print/ghostscript-gpl/scripts/configure
 --- /usr/HEAD/ports/print/ghostscript-gpl/scripts/configure	Mon Nov 22 
 17:27:50 2004
 +++ print/ghostscript-gpl/scripts/configure	Sun Mar 20 12:30:17 2005
 @@ -50,6 +50,7 @@
  		laserjet ljetplus ljet2p ljet3 ljet3d ljet4 ljet4d lj4dith \
  		cljet5 cljet5c cljet5pr lj5mono lj5gray \
  		pj pjetxl pjxl paintjet \
 +		pcl3 \
  		pjxl300 pxlmono pxlcolor \
  		ijs ibmpro jetp3852 imagen fs600 lxm5700m \
  		lxm3200 lx5000 lex2050 lex3200 lex5700 lex7000 \
 @@ -240,6 +241,7 @@
    "pjxl"     "HP PaintJet XL color printer" "$status_pjxl" \
    "paintjet" "HP PaintJet color printer (alternate)" "$status_paintjet" 
 \
    "pjxl300"  "HP PaintJet XL300, DeskJet 1200C color printer, HP 
 CopyJet" "$status_pjxl300" \
 +  "pcl3"     "HP PCL 3 (generic) [PCL3]" "$status_pcl3" \
    "pxlmono"  "HP PCL XL black-and-white printers (LaserJet 5 and 6 
 family)" "$status_pxlmono" \
    "pxlcolor" "HP PCL XL color printers (Color LaserJet 4500/5000)" 
 "$status_pxlcolor" \
    "ijs"      "HP Inkjet and other raster devices" "$status_ijs" \
 diff -Nru /usr/HEAD/ports/print/ghostscript-afpl/Makefile 
 print/ghostscript-afpl/Makefile
 --- /usr/HEAD/ports/print/ghostscript-afpl/Makefile	Fri Dec 31 14:32:24 
 2004
 +++ print/ghostscript-afpl/Makefile	Sun Mar 20 12:40:19 2005
 @@ -116,6 +116,9 @@
  GS_SRCS=	${DISTNAME}${EXTRACT_SUFX}
  CIDFONTDIR=	${PREFIX}/share/ghostscript/${GS_VERSION}/Resource
  
 +# normalize WRKSRC so things like cups-pstoraster may work
 +WRKSRC=		${WRKDIR}/ghostscript
 +
  # Additional Drivers:
  
  # HP8XX - additional driver for HP DeskJet 
 812C/815C/832C/880C/882C/895C
 @@ -227,6 +230,8 @@
  
  post-extract:
  	${ECHO_MSG} ">>> in post-extract ..."
 +# normazile WRKSRC so things like cups-pstoraster may work
 +	${LN} -sf ${WRKDIR}/${DISTNAME} ${WRKDIR}/${PORTNAME}
  # ** 3rd party driver **
  # Note: don't forget to add those devices in scripts/configure,
  # which update unix-gcc.mak to build gs with these new devices!
 diff -Nru /usr/HEAD/ports/print/ghostscript-afpl/Makefile.inc 
 print/ghostscript-afpl/Makefile.inc
 --- /usr/HEAD/ports/print/ghostscript-afpl/Makefile.inc	Fri Dec 31 
 14:32:24 2004
 +++ print/ghostscript-afpl/Makefile.inc	Sun Mar 20 11:03:38 2005
 @@ -1,5 +1,5 @@
  # $FreeBSD: ports/print/ghostscript-afpl/Makefile.inc,v 1.15 2004/12/31 
 13:32:24 krion Exp $
  
  GS_VERSION=	8.50
 -GS_REVISION=	0
 +GS_REVISION=	1
  GS_EPOCH=	1
 diff 
 -Nru /usr/HEAD/ports/print/ghostscript-afpl/files/patch-lib:gs_init.ps 
 print/ghostscript-afpl/files/patch-lib:gs_init.ps
 --- /usr/HEAD/ports/print/ghostscript-afpl/files/patch-lib:gs_init.ps	
 Wed Apr  3 04:59:13 2002
 +++ print/ghostscript-afpl/files/patch-lib:gs_init.ps	Sun Mar 20 
 11:03:38 2005
 @@ -1,6 +1,14 @@
 ---- lib/gs_init.ps.orig	Fri Feb  1 12:25:45 2002
 -+++ lib/gs_init.ps	Sat Feb  9 01:42:10 2002
 -@@ -1274,7 +1274,7 @@
 +--- lib/gs_init.ps.orig	Wed Jan 26 20:44:07 2005
 ++++ lib/gs_init.ps	Wed Jan 26 20:43:38 2005
 +@@ -145,6 +145,7 @@
 + currentdict /NOFONTPATH known   /NOFONTPATH exch def
 + currentdict /NOGC known   /NOGC exch def
 + currentdict /NOINTERPOLATE .knownget { /INTERPOLATE exch not def } if
 ++currentdict /NOMEDIAATTRS known /NOMEDIAATTRS exch def
 + currentdict /NOOUTERSAVE known   /NOOUTERSAVE exch def
 + currentdict /NOPAGEPROMPT known   /NOPAGEPROMPT exch def
 + currentdict /NOPAUSE known   /NOPAUSE exch def
 +@@ -1425,7 +1426,7 @@
   % Set the default screen and BG/UCR.
   /.setdefaultbgucr {
     systemdict /setblackgeneration known {
 @@ -9,11 +17,14 @@
     } if
   } bind def
   /.useloresscreen {	% - .useloresscreen <bool>
 -@@ -1874,3 +1874,7 @@
 - userdict /AGM_preserve_spots false put
 +@@ -2023,6 +2024,10 @@
 + % Set up GridFitTT :
   
 - % The interpreter will run the initial procedure (start).
 + /GridFitTT where {
  +
  +% unofficial patch:
  +% make it possible to print from within acroread pdf viewer
  +/Default currenthalftone /Halftone defineresource pop
 +   mark /GridFitTT 2 index /GridFitTT get .dicttomark setuserparams
 +   /GridFitTT undef
 + } if
 diff 
 -Nru /usr/HEAD/ports/print/ghostscript-afpl/files/patch-lib:gs_setpd.ps 
 print/ghostscript-afpl/files/patch-lib:gs_setpd.ps
 --- /usr/HEAD/ports/print/ghostscript-afpl/files/patch-lib:gs_setpd.ps	
 Thu Jan  1 01:00:00 1970
 +++ print/ghostscript-afpl/files/patch-lib:gs_setpd.ps	Sun Mar 20 
 11:03:38 2005
 @@ -0,0 +1,98 @@
 +--- lib/gs_setpd.ps.orig	Tue Sep 14 00:33:15 2004
 ++++ lib/gs_setpd.ps	Wed Jan 26 20:43:38 2005
 +@@ -377,21 +377,42 @@
 +   /MediaPosition { dup //null ne { pop //null } if } bind
 + .dicttomark readonly def
 + 
 +-% Define the keys used in input attribute matching.
 +-/.inputattrkeys [
 +-  /PageSize /MediaColor /MediaWeight /MediaType /InsertSheet
 +-	% The following are documented in Adobe's supplement for v2017.
 +-  /LeadingEdge /MediaClass
 +-] readonly def
 +-% Define other keys used in media selection.
 +-/.inputselectionkeys [
 +-  /MediaPosition /Orientation
 +-] readonly def
 +-
 +-% Define the keys used in output attribute matching.
 +-/.outputattrkeys [
 +-  /OutputType
 +-] readonly def
 ++% M. Sweet, Easy Software Products:
 ++%
 ++% Define NOMEDIAATTRS to turn off the default (but unimplementable) 
 media
 ++% selection policies for setpagedevice.  This is used by CUPS to 
 support
 ++% the standard Adobe media attributes.
 ++NOMEDIAATTRS {
 ++  % Define only PageSize for input attribute matching.
 ++  /.inputattrkeys [
 ++    /PageSize
 ++  ] readonly def
 ++  % Define no other keys used in media selection.
 ++  /.inputselectionkeys [
 ++    /noInputSelectionsKeys
 ++  ] readonly def
 ++
 ++  % Define no keys used in output attribute matching.
 ++  /.outputattrkeys [
 ++    /noOutputAttrKeys
 ++  ] readonly def
 ++} {
 ++  % Define the keys used in input attribute matching.
 ++  /.inputattrkeys [
 ++    /PageSize /MediaColor /MediaWeight /MediaType /InsertSheet
 ++	  % The following are documented in Adobe's supplement for v2017.
 ++    /LeadingEdge /MediaClass
 ++  ] readonly def
 ++  % Define other keys used in media selection.
 ++  /.inputselectionkeys [
 ++    /MediaPosition /Orientation
 ++  ] readonly def
 ++
 ++  % Define the keys used in output attribute matching.
 ++  /.outputattrkeys [
 ++    /OutputType
 ++  ] readonly def
 ++} ifelse
 + 
 + % Define all the parameters that should always be copied to the merged
 + % dictionary.
 +@@ -420,7 +441,13 @@
 +   /PageSize //false		% obsolete alias for .MediaSize
 +   /InputAttributes //false
 +   .inputattrkeys
 +-    { dup /PageSize eq
 ++    % M. Sweet, Easy Software Products:
 ++    %
 ++    % Treat LeadingEdge like PageSize so that a common Ghostscript 
 driver
 ++    % doesn't need the NOMEDIAATTRS definition.
 ++    %
 ++    % { dup /PageSize eq
 ++    { dup dup /PageSize eq exch /LeadingEdge eq or
 +        { pop }
 +        { { 2 index /InputAttributes .knownget { //null eq } { //true } 
 ifelse } }
 +       ifelse
 +@@ -501,11 +528,22 @@
 + % They are expected to consume the top 2 operands.
 + % NOTE: we currently treat all values other than 0, 1, or 7 (for 
 PageSize)
 + % the same as 0, i.e., we signal an error.
 ++%
 ++% M. Sweet, Easy Software Products:
 ++%
 ++% Define NOMEDIAATTRS to turn off the default (but unimplementable) 
 media
 ++% selection policies for setpagedevice.  This is used by CUPS to 
 support
 ++% the standard Adobe media attributes.
 +   0 {		% Set errorinfo and signal a configurationerror.
 ++      NOMEDIAATTRS {
 ++        % NOMEDIAATTRS means that the default policy is 7...
 ++        pop 2 index exch 7 put
 ++      } {
 + 	pop dup 4 index exch get 2 array astore
 + 	$error /errorinfo 3 -1 roll put
 + 	cleartomark
 + 	/setpagedevice load /configurationerror signalerror
 ++      } ifelse
 +   } bind
 +   1 {		% Roll back the failed request to its previous status.
 + SETPDDEBUG { (Rolling back.) = pstack flush } if
 diff -Nru /usr/HEAD/ports/print/cups-pstoraster/Makefile 
 print/cups-pstoraster/Makefile
 --- /usr/HEAD/ports/print/cups-pstoraster/Makefile	Thu Dec 16 20:18:02 
 2004
 +++ print/cups-pstoraster/Makefile	Sun Mar 20 16:36:19 2005
 @@ -6,27 +6,28 @@
  #
  
  PORTNAME=	cups-pstoraster
 -PORTVERSION=	7.07
 -PORTREVISION=	3
 +PORTVERSION=	${CUPS_PORTVER}
 +PORTREVISION=	${CUPS_PORTREV}
 +PORTEPOCH=	1
  CATEGORIES=	print
 -MASTER_SITES=	${MASTER_SITE_SOURCEFORGE} \
 -		ftp://ftp.easysw.com/pub/ghostscript/
 -MASTER_SITE_SUBDIR=	ghostscript espgs
 -DISTFILES=	ghostscript-${PORTVERSION}${EXTRACT_SUFX} \
 -		espgs-${ESPGS_VER}-source${EXTRACT_SUFX}
 -DIST_SUBDIR=	ghostscript
 +MASTER_SITES=	${CUPS_MASTER_SITES}
 +DISTFILES=	${DISTNAME}.tar.bz2
  
  MAINTAINER=	ports at FreeBSD.org
 -COMMENT=	GNU Postscript interpreter for CUPS printing to non-PS 
 printers
 +COMMENT=	Postscript interpreter for CUPS printing to non-PS printers
  
 +PATCH_DEPENDS=	${NONEXISTENT}:${PORTSDIR}/${GHOSTSCRIPT_PORT}:patch
  LIB_DEPENDS=	cups.2:${PORTSDIR}/print/cups-base
 -RUN_DEPENDS=	
 ${LOCALBASE}/share/ghostscript/${PORTVERSION}/lib/gs_init.ps:
 ${PORTSDIR}/print/ghostscript-gnu
  
 -ESPGS_VER=	7.07.1
 -ESPGS_WRKSRC=	${WRKDIR}/espgs-${ESPGS_VER}/pstoraster
 -WRKSRC=		${WRKDIR}/ghostscript-${PORTVERSION}
 +EXTRACT_AFTER_ARGS=	| ${TAR} -xf - cups-${CUPS_VERSION}/pstoraster
 +
 +MD5_FILE=	${.CURDIR}/../../print/cups/distinfo
 +ESPGS_WRKSRC=	${WRKDIR}/cups-${CUPS_VERSION}/pstoraster
 +WRKSRC=		
 ${WRKDIRPREFIX}${PORTSDIR}/${GHOSTSCRIPT_PORT}/work/ghostscript
 +PATCH_WRKSRC=	${ESPGS_WRKSRC}
  
  USE_BZIP2=	yes
 +USE_GHOSTSCRIPT_RUN=	true
  USE_REINPLACE=	yes
  USE_GMAKE=	yes
  GNU_CONFIGURE=	yes
 @@ -37,7 +38,6 @@
  		--with-gs=espgs
  MAKE_ARGS=	CFLAGS_STANDARD="${CFLAGS} -DUPD_SIGNAL=0" \
  		DEVICE_DEVS="\$$(DD)cups.dev \$$(DD)pxlcolor.dev \$$(DD)pxlmono.dev"
 -
  PLIST_FILES=	bin/espgs etc/cups/pstoraster.convs \
  		libexec/cups/filter/pstopxl libexec/cups/filter/pstoraster \
  		share/cups/model/pxlcolor.ppd share/cups/model/pxlmono.ppd
 @@ -49,6 +49,7 @@
  	${SED} -e 's:@prefix@:${PREFIX}:g ; \
  		 s:@exec_prefix@:${PREFIX}:g ; \
  		 s:@bindir@:${PREFIX}/bin:g ; \
 +		 s:%%LOCALBASE%%:${LOCALBASE}:g ; \
  		 s:@GS@:espgs:g' \
  		${ESPGS_WRKSRC}/${file}.in > ${ESPGS_WRKSRC}/${file}
  .endfor
 @@ -71,5 +72,10 @@
  .endfor
  
  .include "${.CURDIR}/../../print/cups/Makefile.common"
 +.if ${CUPS_REVISION} < 1
 +DISTNAME=	cups-${CUPS_VERSION}-source
 +.else
 +DISTNAME=	cups-${CUPS_VERSION}-${CUPS_REVISION}-source
 +.endif
  .include <bsd.port.pre.mk>
  .include <bsd.port.post.mk>
 diff -Nru /usr/HEAD/ports/print/cups-pstoraster/distinfo 
 print/cups-pstoraster/distinfo
 --- /usr/HEAD/ports/print/cups-pstoraster/distinfo	Mon Nov 15 05:19:05 
 2004
 +++ print/cups-pstoraster/distinfo	Thu Jan  1 01:00:00 1970
 @@ -1,4 +0,0 @@
 -MD5 (ghostscript/ghostscript-7.07.tar.bz2) = 
 85fd16cdc8232e5e3679a3a7e30a3359
 -SIZE (ghostscript/ghostscript-7.07.tar.bz2) = 4138372
 -MD5 (ghostscript/espgs-7.07.1-source.tar.bz2) = 
 d30bf5c09f2c7caa8291f6305cf03044
 -SIZE (ghostscript/espgs-7.07.1-source.tar.bz2) = 5400198
 diff -Nru /usr/HEAD/ports/print/cups-pstoraster/files/patch-gdevcups.c 
 print/cups-pstoraster/files/patch-gdevcups.c
 --- /usr/HEAD/ports/print/cups-pstoraster/files/patch-gdevcups.c	Thu Jan  
 1 01:00:00 1970
 +++ print/cups-pstoraster/files/patch-gdevcups.c	Sun Mar 20 16:07:02 
 2005
 @@ -0,0 +1,50 @@
 +--- gdevcups.c.orig	Sun Mar 20 15:53:55 2005
 ++++ gdevcups.c	Sun Mar 20 16:04:55 2005
 +@@ -2612,6 +2612,7 @@
 +   float			floatval;	/* Floating point value */
 +   gs_param_string	stringval;	/* String value */
 +   gs_param_float_array	arrayval;	/* Float array value */
 ++  int			margins_set;	/* Were the margins set? */
 +   int			size_set;	/* Was the size set? */
 +   int			color_set;	/* Were the color attrs set? */
 +   gdev_prn_space_params	sp;		/* Space parameter data */
 +@@ -2693,10 +2694,11 @@
 +       cups->header.name[i] = (unsigned)arrayval.data[i]; \
 +   }
 + 
 +-  size_set  = param_read_float_array(plist, ".MediaSize", &arrayval) 
 == 0 ||
 +-              param_read_float_array(plist, "PageSize", &arrayval) == 
 0;
 +-  color_set = param_read_int(plist, "cupsColorSpace", &intval) == 0 ||
 +-              param_read_int(plist, "cupsBitsPerColor", &intval) == 0;
 ++  size_set    = param_read_float_array(plist, ".MediaSize", &arrayval) 
 == 0 ||
 ++                param_read_float_array(plist, "PageSize", &arrayval) 
 == 0;
 ++  margins_set = param_read_float_array(plist, "Margins", &arrayval) == 
 0;
 ++  color_set   = param_read_int(plist, "cupsColorSpace", &intval) == 0 
 ||
 ++                param_read_int(plist, "cupsBitsPerColor", &intval) == 
 0;
 + 
 +   stringoption(MediaClass, "MediaClass")
 +   stringoption(MediaColor, "MediaColor")
 +@@ -2804,7 +2806,10 @@
 +            i > 0;
 +            i --, size ++)
 + 	if (fabs(cups->MediaSize[1] - size->length) < 5.0 &&
 +-            fabs(cups->MediaSize[0] - size->width) < 5.0)
 ++            fabs(cups->MediaSize[0] - size->width) < 5.0 &&
 ++           (!margins_set ||
 ++            (fabs(cups->HWMargins[0] - size->left) < 1.0 &&
 ++             fabs(cups->HWMargins[1] - size->bottom) < 1.0)))
 + 	  break;
 + 
 +       if (i > 0)
 +@@ -2833,7 +2838,10 @@
 +              i > 0;
 +              i --, size ++)
 + 	  if (fabs(cups->MediaSize[0] - size->length) < 5.0 &&
 +-              fabs(cups->MediaSize[1] - size->width) < 5.0)
 ++              fabs(cups->MediaSize[1] - size->width) < 5.0 &&
 ++             (!margins_set ||
 ++              (fabs(cups->HWMargins[0] - size->left) < 1.0 &&
 ++               fabs(cups->HWMargins[1] - size->bottom) < 1.0)))
 + 	    break;
 + 
 + 	if (i > 0)
 diff -Nru /usr/HEAD/ports/print/cups-pstoraster/files/patch-pstopxl.in 
 print/cups-pstoraster/files/patch-pstopxl.in
 --- /usr/HEAD/ports/print/cups-pstoraster/files/patch-pstopxl.in	Thu Jan  
 1 01:00:00 1970
 +++ print/cups-pstoraster/files/patch-pstopxl.in	Sun Mar 20 16:33:56 
 2005
 @@ -0,0 +1,25 @@
 +--- pstopxl.in.orig	Sun Mar 20 16:19:45 2005
 ++++ pstopxl.in	Sun Mar 20 16:29:08 2005
 +@@ -27,7 +27,7 @@
 + bindir=@bindir@
 + 
 + # Set the library/font path...
 +-GS_LIB="${CUPS_FONTPATH:=/usr/share/cups/fonts}"
 ++GS_LIB="${CUPS_FONTPATH:=%%LOCALBASE%%/share/cups/fonts}"
 + export GS_LIB
 + 
 + # Determine the PCL XL/PCL 6 driver to use...
 +@@ -56,11 +56,11 @@
 + 	ifile="$6"
 + fi
 + 
 +-echo INFO: Starting ESP Ghostscript 7.07.1... 1>&2
 ++echo INFO: Starting GNU/GPL Ghostscript... 1>&2
 + echo DEBUG: Running $bindir/@GS@ $gsopts -sOUTPUTFILE="%stdout" 
 "$ifile" 1>&2
 + 
 + # Now run Ghostscript...
 +-$bindir/@GS@ $gsopts -sOUTPUTFILE="%stdout" "$ifile"
 ++exec $bindir/@GS@ $gsopts -sOUTPUTFILE="%stdout" "$ifile"
 + 
 + #
 + # End of "$Id: pstopxl.in,v 1.3 2005/01/03 19:29:59 mike Exp $".
 diff 
 -Nru /usr/HEAD/ports/print/cups-pstoraster/files/patch-pstoraster.in 
 print/cups-pstoraster/files/patch-pstoraster.in
 --- /usr/HEAD/ports/print/cups-pstoraster/files/patch-pstoraster.in	Thu 
 Jan  1 01:00:00 1970
 +++ print/cups-pstoraster/files/patch-pstoraster.in	Sun Mar 20 16:34:38 
 2005
 @@ -0,0 +1,25 @@
 +--- pstoraster.in.orig	Sun Mar 20 16:25:56 2005
 ++++ pstoraster.in	Sun Mar 20 16:28:42 2005
 +@@ -27,7 +27,7 @@
 + bindir=@bindir@
 + 
 + # Set the library/font path...
 +-GS_LIB="${CUPS_FONTPATH:=/usr/share/cups/fonts}"
 ++GS_LIB="${CUPS_FONTPATH:=%%LOCALBASE%%/share/cups/fonts}"
 + export GS_LIB
 + 
 + # Options we use with Ghostscript...
 +@@ -51,11 +51,11 @@
 + 	ifile="$6"
 + fi
 + 
 +-echo INFO: Starting ESP Ghostscript 7.07.1... 1>&2
 ++echo INFO: Starting GPL/GNU Ghostscript ... 1>&2
 + echo DEBUG: Running $bindir/@GS@ $gsopts -sOUTPUTFILE="%stdout" 
 -c"$profile" "$ifile" 1>&2
 + 
 + # Now run Ghostscript...
 +-$bindir/@GS@ $gsopts -sOUTPUTFILE="%stdout" -c"$profile" "$ifile"
 ++exec $bindir/@GS@ $gsopts -sOUTPUTFILE="%stdout" -c"$profile" "$ifile"
 + 
 + #
 + # End of "$Id: pstoraster.in,v 1.7 2005/01/03 19:29:59 mike Exp $".
 diff -Nru /usr/HEAD/ports/print/cups-pstoraster/files/patch-pxlcolor.ppd 
 print/cups-pstoraster/files/patch-pxlcolor.ppd
 --- /usr/HEAD/ports/print/cups-pstoraster/files/patch-pxlcolor.ppd	Thu 
 Jan  1 01:00:00 1970
 +++ print/cups-pstoraster/files/patch-pxlcolor.ppd	Sun Mar 20 16:42:59 
 2005
 @@ -0,0 +1,68 @@
 +--- pxlcolor.ppd.orig	Mon Jan  3 20:29:59 2005
 ++++ pxlcolor.ppd	Sun Mar 20 16:41:43 2005
 +@@ -27,16 +27,16 @@
 + *FileVersion:	"1.1"
 + *LanguageVersion: English 
 + *LanguageEncoding: ISOLatin1
 +-*PCFileName:	"PCLCOLOR.PPD"
 ++*PCFileName:	"PXLCOLOR.PPD"
 + *Manufacturer:	"ESP"
 +-*Product:	"(CUPS v1.1)"
 ++*Product:	"(ESP Ghostscript)"
 + *cupsVersion:	1.1
 + *cupsManualCopies: False
 + *cupsFilter:	"application/vnd.cups-postscript 0 pstopxl"
 + *ModelName:     "HP Color LaserJet Series PCL 6"
 + *ShortNickName: "HP Color LaserJet Series PCL 6"
 +-*NickName:      "HP Color LaserJet Series PCL 6 CUPS v1.1"
 +-*PSVersion:	"(3010.000) 707"
 ++*NickName:      "HP Color LaserJet Series PCL 6 CUPS"
 ++*PSVersion:	"(3010.000) 81500"
 + *LanguageLevel:	"3"
 + *ColorDevice:	True
 + *DefaultColorSpace: RGB
 +@@ -53,7 +53,7 @@
 + *UIConstraints: *PageSize A4 *InputSlot Envelope
 + *UIConstraints: *PageSize A5 *InputSlot Envelope
 + *UIConstraints: *PageSize B5 *InputSlot Envelope
 +-*UIConstraints:	*Duplex *Option1 False
 ++*UIConstraints:	*Duplex *OptionDuplex False
 + 
 + *OpenUI *PageSize/Media Size: PickOne
 + *OrderDependency: 10 AnySetup *PageSize
 +@@ -125,12 +125,13 @@
 + *OrderDependency: 10 AnySetup *InputSlot
 + *DefaultInputSlot: Default
 + *InputSlot Default/Default: "<</MediaPosition 0>>setpagedevice"
 +-*InputSlot Tray1/Tray 1: "<</MediaPosition 8>>setpagedevice"
 +-*InputSlot Tray2/Tray 2: "<</MediaPosition 1>>setpagedevice"
 +-*InputSlot Tray3/Tray 3: "<</MediaPosition 4>>setpagedevice"
 +-*InputSlot Tray4/Tray 4: "<</MediaPosition 5>>setpagedevice"
 ++*InputSlot Auto/Automatically Select: "<</MediaPosition 
 1>>setpagedevice"
 ++*InputSlot MultiPurpose/Tray 1: "<</MediaPosition 3>>setpagedevice"
 ++*InputSlot Upper/Tray 2: "<</MediaPosition 4>>setpagedevice"
 ++*InputSlot Lower/Tray 3: "<</MediaPosition 5>>setpagedevice"
 ++*InputSlot LargeCapacity/Tray 4: "<</MediaPosition 7>>setpagedevice"
 + *InputSlot Manual/Manual Feed: "<</MediaPosition 2>>setpagedevice"
 +-*InputSlot Envelope/Envelope Feed: "<</MediaPosition 3>>setpagedevice"
 ++*InputSlot Envelope/Envelope Feed: "<</MediaPosition 6>>setpagedevice"
 + *CloseUI: *InputSlot
 + 
 + *OpenUI *ColorModel/Output Mode: PickOne
 +@@ -157,11 +158,11 @@
 + *CloseUI:	*Duplex
 + 
 + *OpenGroup: InstallableOptions
 +-*OpenUI *Option1/Duplexer: Boolean
 +-*DefaultOption1: False
 +-*Option1 True/Installed:	""
 +-*Option1 False/Not Installed:	""
 +-*CloseUI: *Option1
 ++*OpenUI *OptionDuplex/Duplexer: Boolean
 ++*DefaultOptionDuplex: False
 ++*OptionDuplex True/Installed:	""
 ++*OptionDuplex False/Not Installed:	""
 ++*CloseUI: *OptionDuplex
 + *CloseGroup: InstallableOptions
 + 
 + *DefaultFont: Courier
 diff -Nru /usr/HEAD/ports/print/cups-pstoraster/files/patch-pxlmono.ppd 
 print/cups-pstoraster/files/patch-pxlmono.ppd
 --- /usr/HEAD/ports/print/cups-pstoraster/files/patch-pxlmono.ppd	Thu 
 Jan  1 01:00:00 1970
 +++ print/cups-pstoraster/files/patch-pxlmono.ppd	Sun Mar 20 16:43:31 
 2005
 @@ -0,0 +1,68 @@
 +--- pxlmono.ppd.orig	Mon Jan  3 20:29:59 2005
 ++++ pxlmono.ppd	Sun Mar 20 16:41:43 2005
 +@@ -27,16 +27,16 @@
 + *FileVersion:	"1.1"
 + *LanguageVersion: English 
 + *LanguageEncoding: ISOLatin1
 +-*PCFileName:	"PCLMONO.PPD"
 ++*PCFileName:	"PXLMONO.PPD"
 + *Manufacturer:	"ESP"
 +-*Product:	"(CUPS v1.1)"
 ++*Product:	"(ESP Ghostscript)"
 + *cupsVersion:	1.1
 + *cupsManualCopies: False
 + *cupsFilter:	"application/vnd.cups-postscript 0 pstopxl"
 + *ModelName:     "HP LaserJet Series PCL 6"
 + *ShortNickName: "HP LaserJet Series PCL 6"
 +-*NickName:      "HP LaserJet Series PCL 6 CUPS v1.1"
 +-*PSVersion:	"(3010.000) 707"
 ++*NickName:      "HP LaserJet Series PCL 6 CUPS"
 ++*PSVersion:	"(3010.000) 81500"
 + *LanguageLevel:	"3"
 + *ColorDevice:	False
 + *DefaultColorSpace: Gray
 +@@ -53,7 +53,7 @@
 + *UIConstraints: *PageSize A4 *InputSlot Envelope
 + *UIConstraints: *PageSize A5 *InputSlot Envelope
 + *UIConstraints: *PageSize B5 *InputSlot Envelope
 +-*UIConstraints:	*Duplex *Option1 False
 ++*UIConstraints:	*Duplex *OptionDuplex False
 + 
 + *OpenUI *PageSize/Media Size: PickOne
 + *OrderDependency: 10 AnySetup *PageSize
 +@@ -125,12 +125,13 @@
 + *OrderDependency: 10 AnySetup *InputSlot
 + *DefaultInputSlot: Default
 + *InputSlot Default/Default: "<</MediaPosition 0>>setpagedevice"
 +-*InputSlot Tray1/Tray 1: "<</MediaPosition 8>>setpagedevice"
 +-*InputSlot Tray2/Tray 2: "<</MediaPosition 1>>setpagedevice"
 +-*InputSlot Tray3/Tray 3: "<</MediaPosition 4>>setpagedevice"
 +-*InputSlot Tray4/Tray 4: "<</MediaPosition 5>>setpagedevice"
 ++*InputSlot Auto/Automatically Select: "<</MediaPosition 
 1>>setpagedevice"
 ++*InputSlot MultiPurpose/Tray 1: "<</MediaPosition 3>>setpagedevice"
 ++*InputSlot Upper/Tray 2: "<</MediaPosition 4>>setpagedevice"
 ++*InputSlot Lower/Tray 3: "<</MediaPosition 5>>setpagedevice"
 ++*InputSlot LargeCapacity/Tray 4: "<</MediaPosition 7>>setpagedevice"
 + *InputSlot Manual/Manual Feed: "<</MediaPosition 2>>setpagedevice"
 +-*InputSlot Envelope/Envelope Feed: "<</MediaPosition 3>>setpagedevice"
 ++*InputSlot Envelope/Envelope Feed: "<</MediaPosition 6>>setpagedevice"
 + *CloseUI: *InputSlot
 + 
 + *OpenUI *Resolution/Output Resolution: PickOne
 +@@ -151,11 +152,11 @@
 + *CloseUI:	*Duplex
 + 
 + *OpenGroup: InstallableOptions
 +-*OpenUI *Option1/Duplexer: Boolean
 +-*DefaultOption1: False
 +-*Option1 True/Installed:	""
 +-*Option1 False/Not Installed:	""
 +-*CloseUI: *Option1
 ++*OpenUI *OptionDuplex/Duplexer: Boolean
 ++*DefaultOptionDuplex: False
 ++*OptionDuplex True/Installed:	""
 ++*OptionDuplex False/Not Installed:	""
 ++*CloseUI: *OptionDuplex
 + *CloseGroup: InstallableOptions
 + 
 + *DefaultFont: Courier
 diff 
 -Nru /usr/HEAD/ports/print/cups-pstoraster/files/patch-src:genarch.c 
 print/cups-pstoraster/files/patch-src:genarch.c
 --- /usr/HEAD/ports/print/cups-pstoraster/files/patch-src:genarch.c	Thu 
 Jul 25 05:00:17 2002
 +++ print/cups-pstoraster/files/patch-src:genarch.c	Thu Jan  1 01:00:00 
 1970
 @@ -1,34 +0,0 @@
 ---- src/genarch.c.orig	Tue Jun  5 15:38:57 2001
 -+++ src/genarch.c	Wed Jun 20 04:17:42 2001
 -@@ -41,6 +41,7 @@
 -     fprintf(f, "\n\t /* ---------------- %s ---------------- */\n\n", 
 str);
 - }
 - 
 -+#ifndef __FreeBSD__
 - private clock_t
 - time_clear(char *buf, int bsize, int nreps)
 - {
 -@@ -51,6 +52,7 @@
 - 	memset(buf, 0, bsize);
 -     return clock() - t;
 - }
 -+#endif /* __FreeBSD__ */
 - 
 - private void
 - define(FILE *f, const char *str)
 -@@ -181,6 +183,7 @@
 -     fprintf(f, "((unsigned long)~0L + (unsigned long)0)\n");
 - #undef PRINT_MAX
 - 
 -+#ifndef __FreeBSD__
 -     section(f, "Cache sizes");
 - 
 -     /*
 -@@ -241,6 +244,7 @@
 - 	}
 - 	define_int(f, "ARCH_CACHE2_SIZE", bsize >> 1);
 -     }
 -+#endif /* __FreeBSD__ */
 - 
 -     section(f, "Miscellaneous");
 - 
 diff -Nru /usr/HEAD/ports/print/cups-pstoraster/files/patch-src:gxobj.h 
 print/cups-pstoraster/files/patch-src:gxobj.h
 --- /usr/HEAD/ports/print/cups-pstoraster/files/patch-src:gxobj.h	Fri 
 Nov 26 22:05:46 2004
 +++ print/cups-pstoraster/files/patch-src:gxobj.h	Thu Jan  1 01:00:00 
 1970
 @@ -1,17 +0,0 @@
 ---- src/gxobj.h.orig	Fri Feb 22 19:45:59 2002
 -+++ src/gxobj.h	Thu Dec 19 00:16:57 2002
 -@@ -99,10 +99,14 @@
 -  * The final | is because back pointer values are divided by 
 obj_back_scale,
 -  * so objects must be aligned at least 0 mod obj_back_scale.
 -  */
 -+#if !defined(__ia64__) && !defined(__amd64__)
 - #define obj_align_mod\
 -   (((arch_align_long_mod - 1) | (arch_align_ptr_mod - 1) |\
 -     (arch_align_double_mod - 1) | (align_bitmap_mod - 1) |\
 -     (obj_back_scale - 1)) + 1)
 -+#else
 -+#define obj_align_mod	16
 -+#endif
 - /* The only possible values for obj_align_mod are 4, 8, or 16.... */
 - #if obj_align_mod == 4
 - #  define log2_obj_align_mod 2
 diff -Nru /usr/HEAD/ports/print/cups-pstoraster/pkg-descr 
 print/cups-pstoraster/pkg-descr
 --- /usr/HEAD/ports/print/cups-pstoraster/pkg-descr	Thu Jul 25 05:00:14 
 2002
 +++ print/cups-pstoraster/pkg-descr	Sun Mar 20 14:13:45 2005
 @@ -1,12 +1,6 @@
 -Ghostscript is the well-known PostScript interpreter which is available 
 for
 -all common and most esoteric platforms and supports many different 
 printers
 -and some displays.
 +This port provides the pstoraster facility, which allows CUPS to 
 convert
 +PostScript data into CUPS raster data, with the aids of Ghostscript.
  
 -Versions entitled "GNU Ghostscript" are distributed with the GNU 
 General
 -Public License, which allows free use, and free copying and 
 redistribution
 -under certain conditions (including, in some cases, commercial 
 distribution).
 +It will work with GNU/GPL versions of the ghostscript interpreter.
  
 -This distribution is based on GNU Ghostscript and provides the "driver" 
 for
 -CUPS that supports non-PostScript printer drivers within CUPS.
 -
 -WWW: http://www.cups.org/ghostscript.html
 +WWW: http://www.cups.org
 --- patch-gs ends here ---



More information about the freebsd-ports-bugs mailing list