Make cups-pstoraster from cups sources Make cups-pstoraster GHOSTSCRIPT_PORT aware Merge patches from cups for lib/gs_init.ps Merge patches from cups for lib/gs_setpd.ps use ${WRKDIR}/ghostscript as ${WRKSRC} in gs ports Affected ports: print/cups-pstoraster print/ghostscript-gnu print/ghostscript-gpl print/ghostscript-afpl Fix: remove files: print/cups-pstoraster/distinfo print/cups-pstoraster/patch-* 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 Wed Jan 26 22:42:06 2005 @@ -114,6 +114,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 @@ -223,6 +226,8 @@ post-extract: ${ECHO_MSG} ">>> in post-extract ..." +# normazile WRKSRC so things like cups-pstoraster may work + ${MV} ${WRKDIR}/${DISTNAME} ${WRKDIR}/ghostscript # ** 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.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 Wed Jan 26 20:47:40 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/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 Wed Jan 26 20:34:51 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 Wed Jan 26 20:35:50 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 --- patch-ghostscript-gpl ends here --- How-To-Repeat: Please, test with care before import Not sure of corner cases
Though looks pretty good in general, there are a few things to repair. Here is a reworked patchset. # This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # print_cups-pstoraster.diff # print_ghostscript-afpl.diff # print_ghostscript-gnu.diff # print_ghostscript-gpl.diff # echo x - print_cups-pstoraster.diff sed 's/^X//' >print_cups-pstoraster.diff << 'END-of-print_cups-pstoraster.diff' Xdiff -urN /usr/ports/print/cups-pstoraster/Makefile print/cups-pstoraster/Makefile X--- /usr/ports/print/cups-pstoraster/Makefile Fri Dec 17 13:57:42 2004 X+++ print/cups-pstoraster/Makefile Thu Jan 27 19:05:36 2005 X@@ -6,27 +6,26 @@ X # X X PORTNAME= cups-pstoraster X-PORTVERSION= 7.07 X-PORTREVISION= 3 X+PORTVERSION= ${CUPS_PORTVER} X+PORTREVISION= ${CUPS_PORTREV} X+PORTEPOCH= 1 X CATEGORIES= print X-MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} \ X- ftp://ftp.easysw.com/pub/ghostscript/ X-MASTER_SITE_SUBDIR= ghostscript espgs X-DISTFILES= ghostscript-${PORTVERSION}${EXTRACT_SUFX} \ X- espgs-${ESPGS_VER}-source${EXTRACT_SUFX} X-DIST_SUBDIR= ghostscript X+MASTER_SITES= ${CUPS_MASTER_SITES} X X MAINTAINER= ports@FreeBSD.org X-COMMENT= GNU Postscript interpreter for CUPS printing to non-PS printers X+COMMENT= Postscript interpreter for CUPS printing to non-PS printers X X+PATCH_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/${GHOSTSCRIPT_PORT}:patch X LIB_DEPENDS= cups.2:${PORTSDIR}/print/cups-base X-RUN_DEPENDS= ${LOCALBASE}/share/ghostscript/${PORTVERSION}/lib/gs_init.ps:${PORTSDIR}/print/ghostscript-gnu X X-ESPGS_VER= 7.07.1 X-ESPGS_WRKSRC= ${WRKDIR}/espgs-${ESPGS_VER}/pstoraster X-WRKSRC= ${WRKDIR}/ghostscript-${PORTVERSION} X+EXTRACT_AFTER_ARGS= | ${TAR} -xf - cups-${CUPS_VERSION}/pstoraster X+ X+MD5_FILE= ${.CURDIR}/../../print/cups/distinfo X+ESPGS_WRKSRC= ${WRKDIR}/cups-${CUPS_VERSION}/pstoraster X+WRKSRC= ${WRKDIRPREFIX}${PORTSDIR}/${GHOSTSCRIPT_PORT}/work/ghostscript X X USE_BZIP2= yes X+USE_GHOTSCRIPT_RUN= yes X USE_REINPLACE= yes X USE_GMAKE= yes X GNU_CONFIGURE= yes X@@ -71,5 +70,12 @@ X .endfor X X .include "${.CURDIR}/../../print/cups/Makefile.common" X+ X+.if ${CUPS_REVISION} < 1 X+DISTNAME= cups-${CUPS_VERSION}-source X+.else X+DISTNAME= cups-${CUPS_VERSION}-${CUPS_REVISION}-source X+.endif X+ X .include <bsd.port.pre.mk> X .include <bsd.port.post.mk> Xdiff -urN /usr/ports/print/cups-pstoraster/distinfo print/cups-pstoraster/distinfo X--- /usr/ports/print/cups-pstoraster/distinfo Mon Nov 15 14:25:11 2004 X+++ print/cups-pstoraster/distinfo Thu Jan 1 09:00:00 1970 X@@ -1,4 +0,0 @@ X-MD5 (ghostscript/ghostscript-7.07.tar.bz2) = 85fd16cdc8232e5e3679a3a7e30a3359 X-SIZE (ghostscript/ghostscript-7.07.tar.bz2) = 4138372 X-MD5 (ghostscript/espgs-7.07.1-source.tar.bz2) = d30bf5c09f2c7caa8291f6305cf03044 X-SIZE (ghostscript/espgs-7.07.1-source.tar.bz2) = 5400198 Xdiff -urN /usr/ports/print/cups-pstoraster/files/patch-src:genarch.c print/cups-pstoraster/files/patch-src:genarch.c X--- /usr/ports/print/cups-pstoraster/files/patch-src:genarch.c Thu Jul 25 12:00:17 2002 X+++ print/cups-pstoraster/files/patch-src:genarch.c Thu Jan 1 09:00:00 1970 X@@ -1,34 +0,0 @@ X---- src/genarch.c.orig Tue Jun 5 15:38:57 2001 X-+++ src/genarch.c Wed Jun 20 04:17:42 2001 X-@@ -41,6 +41,7 @@ X- fprintf(f, "\n\t /* ---------------- %s ---------------- */\n\n", str); X- } X- X-+#ifndef __FreeBSD__ X- private clock_t X- time_clear(char *buf, int bsize, int nreps) X- { X-@@ -51,6 +52,7 @@ X- memset(buf, 0, bsize); X- return clock() - t; X- } X-+#endif /* __FreeBSD__ */ X- X- private void X- define(FILE *f, const char *str) X-@@ -181,6 +183,7 @@ X- fprintf(f, "((unsigned long)~0L + (unsigned long)0)\n"); X- #undef PRINT_MAX X- X-+#ifndef __FreeBSD__ X- section(f, "Cache sizes"); X- X- /* X-@@ -241,6 +244,7 @@ X- } X- define_int(f, "ARCH_CACHE2_SIZE", bsize >> 1); X- } X-+#endif /* __FreeBSD__ */ X- X- section(f, "Miscellaneous"); X- Xdiff -urN /usr/ports/print/cups-pstoraster/files/patch-src:gxobj.h print/cups-pstoraster/files/patch-src:gxobj.h X--- /usr/ports/print/cups-pstoraster/files/patch-src:gxobj.h Sat Nov 27 15:18:02 2004 X+++ print/cups-pstoraster/files/patch-src:gxobj.h Thu Jan 1 09:00:00 1970 X@@ -1,17 +0,0 @@ X---- src/gxobj.h.orig Fri Feb 22 19:45:59 2002 X-+++ src/gxobj.h Thu Dec 19 00:16:57 2002 X-@@ -99,10 +99,14 @@ X- * The final | is because back pointer values are divided by obj_back_scale, X- * so objects must be aligned at least 0 mod obj_back_scale. X- */ X-+#if !defined(__ia64__) && !defined(__amd64__) X- #define obj_align_mod\ X- (((arch_align_long_mod - 1) | (arch_align_ptr_mod - 1) |\ X- (arch_align_double_mod - 1) | (align_bitmap_mod - 1) |\ X- (obj_back_scale - 1)) + 1) X-+#else X-+#define obj_align_mod 16 X-+#endif X- /* The only possible values for obj_align_mod are 4, 8, or 16.... */ X- #if obj_align_mod == 4 X- # define log2_obj_align_mod 2 Xdiff -urN /usr/ports/print/cups-pstoraster/pkg-descr print/cups-pstoraster/pkg-descr X--- /usr/ports/print/cups-pstoraster/pkg-descr Thu Jul 25 12:00:14 2002 X+++ print/cups-pstoraster/pkg-descr Thu Jan 27 18:00:45 2005 X@@ -1,12 +1,4 @@ X-Ghostscript is the well-known PostScript interpreter which is available for X-all common and most esoteric platforms and supports many different printers X-and some displays. X+This package provides the pstoraster facility, which allows CUPS to convert X+PostScript data into CUPS raster data. X X-Versions entitled "GNU Ghostscript" are distributed with the GNU General X-Public License, which allows free use, and free copying and redistribution X-under certain conditions (including, in some cases, commercial distribution). X- X-This distribution is based on GNU Ghostscript and provides the "driver" for X-CUPS that supports non-PostScript printer drivers within CUPS. X- X-WWW: http://www.cups.org/ghostscript.html X+WWW: http://www.cups.org/ END-of-print_cups-pstoraster.diff echo x - print_ghostscript-afpl.diff sed 's/^X//' >print_ghostscript-afpl.diff << 'END-of-print_ghostscript-afpl.diff' Xdiff -urN /usr/ports/print/ghostscript-afpl/Makefile print/ghostscript-afpl/Makefile X--- /usr/ports/print/ghostscript-afpl/Makefile Sat Jan 1 05:28:12 2005 X+++ print/ghostscript-afpl/Makefile Thu Jan 27 17:37:18 2005 X@@ -55,6 +55,9 @@ X X NO_CDROM= "Can only be distributed for free" X X+# normalize WRKSRC so things like cups-pstoraster may work X+WRKSRC= ${WRKDIR}/${PORTNAME} X+ X CONFLICTS= ghostscript-gnu* ghostscript-gpl* X USE_BZIP2= yes X USE_REINPLACE= yes X@@ -227,6 +230,8 @@ X X post-extract: X ${ECHO_MSG} ">>> in post-extract ..." X+# normazile WRKSRC so things like cups-pstoraster may work X+ ${LN} -sf ${WRKDIR}/${DISTNAME} ${WRKDIR}/${PORTNAME} X # ** 3rd party driver ** X # Note: don't forget to add those devices in scripts/configure, X # which update unix-gcc.mak to build gs with these new devices! Xdiff -urN /usr/ports/print/ghostscript-afpl/Makefile.inc print/ghostscript-afpl/Makefile.inc X--- /usr/ports/print/ghostscript-afpl/Makefile.inc Sat Jan 1 05:28:12 2005 X+++ print/ghostscript-afpl/Makefile.inc Thu Jan 27 17:34:34 2005 X@@ -1,5 +1,5 @@ X # $FreeBSD: ports/print/ghostscript-afpl/Makefile.inc,v 1.15 2004/12/31 13:32:24 krion Exp $ X X GS_VERSION= 8.50 X-GS_REVISION= 0 X+GS_REVISION= 1 X GS_EPOCH= 1 Xdiff -urN /usr/ports/print/ghostscript-afpl/files/patch-lib:gs_init.ps print/ghostscript-afpl/files/patch-lib:gs_init.ps X--- /usr/ports/print/ghostscript-afpl/files/patch-lib:gs_init.ps Wed Apr 3 11:59:13 2002 X+++ print/ghostscript-afpl/files/patch-lib:gs_init.ps Thu Jan 27 18:36:59 2005 X@@ -1,6 +1,14 @@ X---- lib/gs_init.ps.orig Fri Feb 1 12:25:45 2002 X-+++ lib/gs_init.ps Sat Feb 9 01:42:10 2002 X-@@ -1274,7 +1274,7 @@ X+--- lib/gs_init.ps.orig Sat Dec 11 08:22:44 2004 X++++ lib/gs_init.ps Thu Jan 27 18:36:46 2005 X+@@ -146,6 +146,7 @@ X+ currentdict /NOGC known /NOGC exch def X+ currentdict /NOINTERPOLATE .knownget { /INTERPOLATE exch not def } if X+ currentdict /NOOUTERSAVE known /NOOUTERSAVE exch def X++currentdict /NOMEDIAATTRS known /NOMEDIAATTRS exch def X+ currentdict /NOPAGEPROMPT known /NOPAGEPROMPT exch def X+ currentdict /NOPAUSE known /NOPAUSE exch def X+ currentdict /NOPLATFONTS known /NOPLATFONTS exch def X+@@ -1425,7 +1426,7 @@ X % Set the default screen and BG/UCR. X /.setdefaultbgucr { X systemdict /setblackgeneration known { X@@ -9,11 +17,14 @@ X } if X } bind def X /.useloresscreen { % - .useloresscreen <bool> X-@@ -1874,3 +1874,7 @@ X- userdict /AGM_preserve_spots false put X+@@ -2023,6 +2024,10 @@ X+ % Set up GridFitTT : X X- % The interpreter will run the initial procedure (start). X+ /GridFitTT where { X + X +% unofficial patch: X +% make it possible to print from within acroread pdf viewer X +/Default currenthalftone /Halftone defineresource pop X+ mark /GridFitTT 2 index /GridFitTT get .dicttomark setuserparams X+ /GridFitTT undef X+ } if Xdiff -urN /usr/ports/print/ghostscript-afpl/files/patch-lib:gs_setpd.ps print/ghostscript-afpl/files/patch-lib:gs_setpd.ps X--- /usr/ports/print/ghostscript-afpl/files/patch-lib:gs_setpd.ps Thu Jan 1 09:00:00 1970 X+++ print/ghostscript-afpl/files/patch-lib:gs_setpd.ps Thu Jan 27 18:37:44 2005 X@@ -0,0 +1,98 @@ X+--- lib/gs_setpd.ps.orig Tue Sep 14 07:32:19 2004 X++++ lib/gs_setpd.ps Thu Jan 27 18:33:39 2005 X+@@ -377,21 +377,42 @@ X+ /MediaPosition { dup //null ne { pop //null } if } bind X+ .dicttomark readonly def X+ X+-% Define the keys used in input attribute matching. X+-/.inputattrkeys [ X+- /PageSize /MediaColor /MediaWeight /MediaType /InsertSheet X+- % The following are documented in Adobe's supplement for v2017. X+- /LeadingEdge /MediaClass X+-] readonly def X+-% Define other keys used in media selection. X+-/.inputselectionkeys [ X+- /MediaPosition /Orientation X+-] readonly def X+- X+-% Define the keys used in output attribute matching. X+-/.outputattrkeys [ X+- /OutputType X+-] readonly def X++% M. Sweet, Easy Software Products: X++% X++% Define NOMEDIAATTRS to turn off the default (but unimplementable) media X++% selection policies for setpagedevice. This is used by CUPS to support X++% the standard Adobe media attributes. X++NOMEDIAATTRS { X++ % Define only PageSize for input attribute matching. X++ /.inputattrkeys [ X++ /PageSize X++ ] readonly def X++ % Define no other keys used in media selection. X++ /.inputselectionkeys [ X++ /noInputSelectionsKeys X++ ] readonly def X++ X++ % Define no keys used in output attribute matching. X++ /.outputattrkeys [ X++ /noOutputAttrKeys X++ ] readonly def X++} { X++ % Define the keys used in input attribute matching. X++ /.inputattrkeys [ X++ /PageSize /MediaColor /MediaWeight /MediaType /InsertSheet X++ % The following are documented in Adobe's supplement for v2017. X++ /LeadingEdge /MediaClass X++ ] readonly def X++ % Define other keys used in media selection. X++ /.inputselectionkeys [ X++ /MediaPosition /Orientation X++ ] readonly def X++ X++ % Define the keys used in output attribute matching. X++ /.outputattrkeys [ X++ /OutputType X++ ] readonly def X++} ifelse X+ X+ % Define all the parameters that should always be copied to the merged X+ % dictionary. X+@@ -420,7 +441,13 @@ X+ /PageSize //false % obsolete alias for .MediaSize X+ /InputAttributes //false X+ .inputattrkeys X+- { dup /PageSize eq X++ % M. Sweet, Easy Software Products: X++ % X++ % Treat LeadingEdge like PageSize so that a common Ghostscript driver X++ % doesn't need the NOMEDIAATTRS definition. X++ % X++ % { dup /PageSize eq X++ { dup dup /PageSize eq exch /LeadingEdge eq or X+ { pop } X+ { { 2 index /InputAttributes .knownget { //null eq } { //true } ifelse } } X+ ifelse X+@@ -501,11 +528,22 @@ X+ % They are expected to consume the top 2 operands. X+ % NOTE: we currently treat all values other than 0, 1, or 7 (for PageSize) X+ % the same as 0, i.e., we signal an error. X++% X++% M. Sweet, Easy Software Products: X++% X++% Define NOMEDIAATTRS to turn off the default (but unimplementable) media X++% selection policies for setpagedevice. This is used by CUPS to support X++% the standard Adobe media attributes. X+ 0 { % Set errorinfo and signal a configurationerror. X++ NOMEDIAATTRS { X++ % NOMEDIAATTRS means that the default policy is 7... X++ pop 2 index exch 7 put X++ } { X+ pop dup 4 index exch get 2 array astore X+ $error /errorinfo 3 -1 roll put X+ cleartomark X+ /setpagedevice load /configurationerror signalerror X++ } ifelse X+ } bind X+ 1 { % Roll back the failed request to its previous status. X+ SETPDDEBUG { (Rolling back.) = pstack flush } if END-of-print_ghostscript-afpl.diff echo x - print_ghostscript-gnu.diff sed 's/^X//' >print_ghostscript-gnu.diff << 'END-of-print_ghostscript-gnu.diff' Xdiff -urN /usr/ports/print/ghostscript-gnu/Makefile print/ghostscript-gnu/Makefile X--- /usr/ports/print/ghostscript-gnu/Makefile Tue Jan 25 14:41:55 2005 X+++ print/ghostscript-gnu/Makefile Thu Jan 27 17:39:29 2005 X@@ -59,6 +59,9 @@ X png.5:${PORTSDIR}/graphics/png X RUN_DEPENDS= ${LOCALBASE}/share/ghostscript/fonts/a010013l.pfb:${PORTSDIR}/print/gsfonts X X+# normazile WRKSRC so things like cups-pstoraster may work X+WRKSRC= ${WRKDIR}/${PORTNAME} X+ X CONFLICTS= ghostscript-afpl* ghostscript-gpl* X USE_BZIP2= yes X USE_REINPLACE= yes X@@ -263,6 +266,8 @@ X X post-extract: X ${ECHO_MSG} ">>> in post-extract ..." X+# normazile WRKSRC so things like cups-pstoraster may work X+ ${LN} -sf ${WRKDIR}/${DISTNAME} ${WRKDIR}/${PORTNAME} X # ** 3rd party driver ** X # Note: don't forget to add those devices in scripts/configure, X # which update unix-gcc.mak to build gs with these new devices! END-of-print_ghostscript-gnu.diff echo x - print_ghostscript-gpl.diff sed 's/^X//' >print_ghostscript-gpl.diff << 'END-of-print_ghostscript-gpl.diff' Xdiff -urN /usr/ports/print/ghostscript-gpl/Makefile print/ghostscript-gpl/Makefile X--- /usr/ports/print/ghostscript-gpl/Makefile Sat Oct 16 16:28:33 2004 X+++ print/ghostscript-gpl/Makefile Thu Jan 27 17:38:19 2005 X@@ -53,6 +53,9 @@ X png.5:${PORTSDIR}/graphics/png X RUN_DEPENDS= ${LOCALBASE}/share/ghostscript/fonts/a010013l.pfb:${PORTSDIR}/print/gsfonts X X+# normalize WRKSRC so things like cups-pstoraster may work X+WRKSRC= ${WRKDIR}/${PORTNAME} X+ X CONFLICTS= ghostscript-afpl* ghostscript-gnu* X USE_BZIP2= yes X USE_REINPLACE= yes X@@ -223,6 +226,8 @@ X X post-extract: X ${ECHO_MSG} ">>> in post-extract ..." X+# normazile WRKSRC so things like cups-pstoraster may work X+ ${LN} -sf ${WRKDIR}/${DISTNAME} ${WRKDIR}/${PORTNAME} X # ** 3rd party driver ** X # Note: don't forget to add those devices in scripts/configure, X # which update unix-gcc.mak to build gs with these new devices! Xdiff -urN /usr/ports/print/ghostscript-gpl/Makefile.inc print/ghostscript-gpl/Makefile.inc X--- /usr/ports/print/ghostscript-gpl/Makefile.inc Sat Oct 16 16:28:33 2004 X+++ print/ghostscript-gpl/Makefile.inc Thu Jan 27 17:34:42 2005 X@@ -1,5 +1,5 @@ X # $FreeBSD: ports/print/ghostscript-gpl/Makefile.inc,v 1.13 2004/10/16 07:28:33 krion Exp $ X X GS_VERSION= 8.15 X-GS_REVISION= 0 X+GS_REVISION= 1 X GS_EPOCH= 0 Xdiff -urN /usr/ports/print/ghostscript-gpl/files/patch-lib:gs_init.ps print/ghostscript-gpl/files/patch-lib:gs_init.ps X--- /usr/ports/print/ghostscript-gpl/files/patch-lib:gs_init.ps Wed Apr 3 11:59:13 2002 X+++ print/ghostscript-gpl/files/patch-lib:gs_init.ps Thu Jan 27 18:31:37 2005 X@@ -1,6 +1,14 @@ X---- lib/gs_init.ps.orig Fri Feb 1 12:25:45 2002 X-+++ lib/gs_init.ps Sat Feb 9 01:42:10 2002 X-@@ -1274,7 +1274,7 @@ X+--- lib/gs_init.ps.orig Tue Sep 7 00:40:52 2004 X++++ lib/gs_init.ps Thu Jan 27 18:31:25 2005 X+@@ -140,6 +140,7 @@ X+ currentdict /NOFONTPATH known /NOFONTPATH exch def X+ currentdict /NOGC known /NOGC exch def X+ currentdict /NOINTERPOLATE .knownget { /INTERPOLATE exch not def } if X++currentdict /NOMEDIAATTRS known /NOMEDIAATTRS exch def X+ currentdict /NOOUTERSAVE known /NOOUTERSAVE exch def X+ currentdict /NOPAGEPROMPT known /NOPAGEPROMPT exch def X+ currentdict /NOPAUSE known /NOPAUSE exch def X+@@ -1420,7 +1421,7 @@ X % Set the default screen and BG/UCR. X /.setdefaultbgucr { X systemdict /setblackgeneration known { X@@ -9,11 +17,14 @@ X } if X } bind def X /.useloresscreen { % - .useloresscreen <bool> X-@@ -1874,3 +1874,7 @@ X- userdict /AGM_preserve_spots false put X+@@ -2018,6 +2019,10 @@ X+ % Set up GridFitTT : X X- % The interpreter will run the initial procedure (start). X+ /GridFitTT where { X + X +% unofficial patch: X +% make it possible to print from within acroread pdf viewer X +/Default currenthalftone /Halftone defineresource pop X+ mark /GridFitTT 2 index /GridFitTT get .dicttomark setuserparams X+ /GridFitTT undef X+ } if Xdiff -urN /usr/ports/print/ghostscript-gpl/files/patch-lib:gs_setpd.ps print/ghostscript-gpl/files/patch-lib:gs_setpd.ps X--- /usr/ports/print/ghostscript-gpl/files/patch-lib:gs_setpd.ps Thu Jan 1 09:00:00 1970 X+++ print/ghostscript-gpl/files/patch-lib:gs_setpd.ps Thu Jan 27 18:34:03 2005 X@@ -0,0 +1,98 @@ X+--- lib/gs_setpd.ps.orig Tue Sep 14 07:32:19 2004 X++++ lib/gs_setpd.ps Thu Jan 27 18:33:39 2005 X+@@ -377,21 +377,42 @@ X+ /MediaPosition { dup //null ne { pop //null } if } bind X+ .dicttomark readonly def X+ X+-% Define the keys used in input attribute matching. X+-/.inputattrkeys [ X+- /PageSize /MediaColor /MediaWeight /MediaType /InsertSheet X+- % The following are documented in Adobe's supplement for v2017. X+- /LeadingEdge /MediaClass X+-] readonly def X+-% Define other keys used in media selection. X+-/.inputselectionkeys [ X+- /MediaPosition /Orientation X+-] readonly def X+- X+-% Define the keys used in output attribute matching. X+-/.outputattrkeys [ X+- /OutputType X+-] readonly def X++% M. Sweet, Easy Software Products: X++% X++% Define NOMEDIAATTRS to turn off the default (but unimplementable) media X++% selection policies for setpagedevice. This is used by CUPS to support X++% the standard Adobe media attributes. X++NOMEDIAATTRS { X++ % Define only PageSize for input attribute matching. X++ /.inputattrkeys [ X++ /PageSize X++ ] readonly def X++ % Define no other keys used in media selection. X++ /.inputselectionkeys [ X++ /noInputSelectionsKeys X++ ] readonly def X++ X++ % Define no keys used in output attribute matching. X++ /.outputattrkeys [ X++ /noOutputAttrKeys X++ ] readonly def X++} { X++ % Define the keys used in input attribute matching. X++ /.inputattrkeys [ X++ /PageSize /MediaColor /MediaWeight /MediaType /InsertSheet X++ % The following are documented in Adobe's supplement for v2017. X++ /LeadingEdge /MediaClass X++ ] readonly def X++ % Define other keys used in media selection. X++ /.inputselectionkeys [ X++ /MediaPosition /Orientation X++ ] readonly def X++ X++ % Define the keys used in output attribute matching. X++ /.outputattrkeys [ X++ /OutputType X++ ] readonly def X++} ifelse X+ X+ % Define all the parameters that should always be copied to the merged X+ % dictionary. X+@@ -420,7 +441,13 @@ X+ /PageSize //false % obsolete alias for .MediaSize X+ /InputAttributes //false X+ .inputattrkeys X+- { dup /PageSize eq X++ % M. Sweet, Easy Software Products: X++ % X++ % Treat LeadingEdge like PageSize so that a common Ghostscript driver X++ % doesn't need the NOMEDIAATTRS definition. X++ % X++ % { dup /PageSize eq X++ { dup dup /PageSize eq exch /LeadingEdge eq or X+ { pop } X+ { { 2 index /InputAttributes .knownget { //null eq } { //true } ifelse } } X+ ifelse X+@@ -501,11 +528,22 @@ X+ % They are expected to consume the top 2 operands. X+ % NOTE: we currently treat all values other than 0, 1, or 7 (for PageSize) X+ % the same as 0, i.e., we signal an error. X++% X++% M. Sweet, Easy Software Products: X++% X++% Define NOMEDIAATTRS to turn off the default (but unimplementable) media X++% selection policies for setpagedevice. This is used by CUPS to support X++% the standard Adobe media attributes. X+ 0 { % Set errorinfo and signal a configurationerror. X++ NOMEDIAATTRS { X++ % NOMEDIAATTRS means that the default policy is 7... X++ pop 2 index exch 7 put X++ } { X+ pop dup 4 index exch get 2 array astore X+ $error /errorinfo 3 -1 roll put X+ cleartomark X+ /setpagedevice load /configurationerror signalerror X++ } ifelse X+ } bind X+ 1 { % Roll back the failed request to its previous status. X+ SETPDDEBUG { (Rolling back.) = pstack flush } if END-of-print_ghostscript-gpl.diff exit
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 +@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@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 ---
Responsible Changed From-To: freebsd-ports-bugs->barner I guess I am handling it, so let's make it formal :-)
State Changed From-To: open->closed After serveral iterations, finally comitted. Thanks a lot for your work!