Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 19 Apr 2005 21:44:28 -0700
From:      "Frank Mayhar" <frank@exit.com>
To:        "FreeBSD gnats submit" <FreeBSD-gnats-submit@FreeBSD.org>
Subject:   ports/80129: First-cut port of cups-pstoraster for espgs 8.15.
Message-ID:  <1113972268.0@lap>
Resent-Message-ID: <200504200450.j3K4oQnL080246@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         80129
>Category:       ports
>Synopsis:       First-cut port of cups-pstoraster for espgs 8.15.
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Apr 20 04:50:25 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     Frank Mayhar
>Release:        FreeBSD 6.0-CURRENT i386
>Organization:
Exit Consulting 
>Environment:


N/A


>Description:


I've done a first-cut port of the new espgs that uses ghostscript 8.15, as
available from the CUPS folks.  I've been using it for quite a while now; it
solves some problems I was having with failing Postscript print jobs and has
given me no trouble at all.  It may not _quite_ be in the best shape for a
port, but I thought I would pass it on so others can get the benefit of it.
Unfortunately, I have no time to clean it up.

I sent email to ports at one point, but got no response.  Here's the email:

The CUPS folks have made their new integration of espgs with ghostscript
8.15 available as an initial release candidate.  Having run into a problem
this weekend that a newer ghostscript would solve (having to do with getting
an -invalidfont- error), I found it and hacked up a quick-and-dirty port.

I'm not opening a PR because this thing is definitely _not_ ready for prime
time and I have no time at the moment to make it so, having started a new
job last week.  I'm therefore making the patch (and distfile, just in case)
available on my website; the patch is 'cups-pstoraster-espgs815.patch' at
http://www.exit.com/Archives/ and the distfile is in the Distfiles directory
below that.

Most notably, this thing installs espgs as a regular ghostscript port, but
the pkg-plist is still the cups-pstoraster port.  I just thought that this
might make a reasonable starting place for whoever wants to pick it up from
here.



>How-To-Repeat:





>Fix:


--- cups-pstoraster-espgs815.patch begins here ---
Index: cups-pstoraster/Makefile
===================================================================
RCS file: /cvs/repos/ports/print/cups-pstoraster/Makefile,v
retrieving revision 1.17
diff -u -r1.17 Makefile
--- cups-pstoraster/Makefile	16 Dec 2004 19:18:02 -0000	1.17
+++ cups-pstoraster/Makefile	14 Feb 2005 17:24:29 -0000
@@ -6,25 +6,18 @@
 #
 
 PORTNAME=	cups-pstoraster
-PORTVERSION=	7.07
-PORTREVISION=	3
+PORTVERSION=	8.15rc1
 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}
+MASTER_SITES=	ftp://ftp.easysw.com/pub/ghostscript/test/
+DISTFILES=	espgs-${PORTVERSION}-source${EXTRACT_SUFX}
 DIST_SUBDIR=	ghostscript
 
 MAINTAINER=	ports@FreeBSD.org
 COMMENT=	GNU Postscript interpreter for CUPS printing to non-PS printers
 
 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}
+WRKSRC=		${WRKDIR}/espgs-${PORTVERSION}
 
 USE_BZIP2=	yes
 USE_REINPLACE=	yes
@@ -33,8 +26,7 @@
 CONFIGURE_TARGET=	--build=${MACHINE_ARCH}-portbld-freebsd${OSREL}
 CONFIGURE_ENV=	CPPFLAGS="-I${LOCALBASE}/include" \
 		LDFLAGS="-L${LOCALBASE}/lib"
-CONFIGURE_ARGS=	--without-x --without-ijs --without-gimp-print \
-		--with-gs=espgs
+CONFIGURE_ARGS=	--without-x --with-gs=espgs
 MAKE_ARGS=	CFLAGS_STANDARD="${CFLAGS} -DUPD_SIGNAL=0" \
 		DEVICE_DEVS="\$$(DD)cups.dev \$$(DD)pxlcolor.dev \$$(DD)pxlmono.dev"
 
@@ -42,15 +34,19 @@
 		libexec/cups/filter/pstopxl libexec/cups/filter/pstoraster \
 		share/cups/model/pxlcolor.ppd share/cups/model/pxlmono.ppd
 
+pre-configure:
+	${RM} -f ${WRKSRC}/ijs/config.guess ${WRKSRC}/ijs/missing ${WRKSRC}/ijs/config.sub ${WRKSRC}/ijs/install-sh ${WRKSRC}/ijs/ltmain.sh
+	${RM} -f ${WRKSRC}/trunk/ijs/config.guess ${WRKSRC}/trunk/ijs/missing ${WRKSRC}/trunk/ijs/config.sub ${WRKSRC}/trunk/ijs/install-sh ${WRKSRC}/trunk/ijs/ltmain.sh
+
 post-patch:
-	${LN} -sf ${ESPGS_WRKSRC}/gdevcups.c ${WRKSRC}/src
+	${LN} -sf ${WRKSRC}/pstoraster/gdevcups.c ${WRKSRC}/src
 	${CAT} ${FILESDIR}/cups.contrib.mak >> ${WRKSRC}/src/contrib.mak
 .for file in pstopxl pstoraster
 	${SED} -e 's:@prefix@:${PREFIX}:g ; \
 		 s:@exec_prefix@:${PREFIX}:g ; \
 		 s:@bindir@:${PREFIX}/bin:g ; \
 		 s:@GS@:espgs:g' \
-		${ESPGS_WRKSRC}/${file}.in > ${ESPGS_WRKSRC}/${file}
+		${WRKSRC}/pstoraster/${file}.in > ${WRKSRC}/pstoraster/${file}
 .endfor
 	${REINPLACE_CMD} -e 's|^CFLAGS=|CFLAGS=@CPPFLAGS@ |g ; \
 		 s|^LDFLAGS=|LDFLAGS=@LDFLAGS@ |g ; \
@@ -60,15 +56,15 @@
 	${MKDIR} ${WRKSRC}/bin
 	${MKDIR} ${WRKSRC}/obj
 
-do-install:
-	${INSTALL_PROGRAM} ${WRKSRC}/bin/espgs ${PREFIX}/bin
-	${INSTALL_DATA} ${ESPGS_WRKSRC}/pstoraster.convs ${PREFIX}/etc/cups
-.for file in pstopxl pstoraster
-	${INSTALL_SCRIPT} ${ESPGS_WRKSRC}/${file} ${PREFIX}/libexec/cups/filter
-.endfor
-.for file in pxlcolor.ppd pxlmono.ppd
-	${INSTALL_DATA} ${ESPGS_WRKSRC}/${file} ${PREFIX}/share/cups/model
-.endfor
+#post-install:
+#	${INSTALL_PROGRAM} ${WRKSRC}/bin/espgs ${PREFIX}/bin
+#	${INSTALL_DATA} ${WRKSRC}/pstoraster/pstoraster.convs ${PREFIX}/etc/cups
+#.for file in pstopxl pstoraster
+#	${INSTALL_SCRIPT} ${WRKSRC}/pstoraster/${file} ${PREFIX}/libexec/cups/filter
+#.endfor
+#.for file in pxlcolor.ppd pxlmono.ppd
+#	${INSTALL_DATA} ${WRKSRC}/pstoraster/${file} ${PREFIX}/share/cups/model
+#.endfor
 
 .include "${.CURDIR}/../../print/cups/Makefile.common"
 .include <bsd.port.pre.mk>
Index: cups-pstoraster/distinfo
===================================================================
RCS file: /cvs/repos/ports/print/cups-pstoraster/distinfo,v
retrieving revision 1.6
diff -u -r1.6 distinfo
--- cups-pstoraster/distinfo	15 Nov 2004 04:19:05 -0000	1.6
+++ cups-pstoraster/distinfo	14 Feb 2005 17:24:29 -0000
@@ -1,4 +1,2 @@
-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
+MD5 (ghostscript/espgs-8.15rc1-source.tar.bz2) = 90bf6e4de8cfa2ac47c37b8096b6503b
+SIZE (ghostscript/espgs-8.15rc1-source.tar.bz2) = 15225662
Index: cups-pstoraster/files/patch-src:genarch.c
===================================================================
RCS file: /cvs/repos/ports/print/cups-pstoraster/files/patch-src:genarch.c,v
retrieving revision 1.1
diff -u -r1.1 patch-src:genarch.c
--- cups-pstoraster/files/patch-src:genarch.c	25 Jul 2002 03:00:17 -0000	1.1
+++ cups-pstoraster/files/patch-src:genarch.c	14 Feb 2005 17:24:29 -0000
@@ -1,5 +1,5 @@
---- src/genarch.c.orig	Tue Jun  5 15:38:57 2001
-+++ src/genarch.c	Wed Jun 20 04:17:42 2001
+--- src/genarch.c.orig	Sun Feb 13 11:26:57 2005
++++ src/genarch.c	Sun Feb 13 11:28:13 2005
 @@ -41,6 +41,7 @@
      fprintf(f, "\n\t /* ---------------- %s ---------------- */\n\n", str);
  }
@@ -16,7 +16,7 @@
  
  private void
  define(FILE *f, const char *str)
-@@ -181,6 +183,7 @@
+@@ -212,6 +214,7 @@
      fprintf(f, "((unsigned long)~0L + (unsigned long)0)\n");
  #undef PRINT_MAX
  
@@ -24,7 +24,7 @@
      section(f, "Cache sizes");
  
      /*
-@@ -241,6 +244,7 @@
+@@ -273,6 +276,7 @@
  	}
  	define_int(f, "ARCH_CACHE2_SIZE", bsize >> 1);
      }
Index: cups-pstoraster/files/patch-src:gxobj.h
===================================================================
RCS file: /cvs/repos/ports/print/cups-pstoraster/files/patch-src:gxobj.h,v
retrieving revision 1.2
diff -u -r1.2 patch-src:gxobj.h
--- cups-pstoraster/files/patch-src:gxobj.h	26 Nov 2004 21:05:46 -0000	1.2
+++ cups-pstoraster/files/patch-src:gxobj.h	14 Feb 2005 17:24:29 -0000
@@ -1,17 +1,17 @@
---- 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.
+--- src/gxobj.h.orig	Sun Feb 13 11:29:10 2005
++++ src/gxobj.h	Sun Feb 13 11:29:15 2005
+@@ -103,10 +103,14 @@
+  * required by the hardware, regardless of the value of obj_align_mod.
+  * See gsmemraw.h for more information about this.
   */
 +#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) |\
+   (((arch_align_memory_mod - 1) |\
+     (align_bitmap_mod - 1) |\
      (obj_back_scale - 1)) + 1)
 +#else
-+#define obj_align_mod	16
-+#endif
++#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
--- cups-pstoraster-espgs815.patch ends here ---



>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1113972268.0>