Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 13 Jul 2002 17:24:24 +0900
From:      KATO Tsuguru <tkato@prontomail.com>
To:        Alan E <alane@geeksrus.net>
Cc:        Kirk Strauser <kirk@strauser.com>, FreeBSD Bugs <freebsd-gnats-submit@freebsd.org>, FreeBSD Ports List <ports@freebsd.org>
Subject:   Re: ports/40488: CUPS now relies on a special version of Ghostscript for printing on non-PS printers
Message-ID:  <20020713172424.0fc11b52.tkato@prontomail.com>
In-Reply-To: <20020713005323.GA1174@wwweasel.geeksrus.net>
References:  <20020713095105.64bb1ae6.dai_fugo@geocities.co.jp> <20020713005323.GA1174@wwweasel.geeksrus.net>

next in thread | previous in thread | raw e-mail | index | archive | help
> I do not think that is necessary. I prefer to add the driver to the
> existing ghostscript-gnu. Everybody's got ghostscript-gnu installed,
> anyway. I think it's less hassle this way.

Since there is no valid method to control *_DEPENDS, it
shouldn't be so easy to add third-party drivers which
require external libraries to current ghostscript-gnu
port without drastic restructure.

Setting aside that issue, CUPS rasterizer is not necessary
for every FreeBSD user. Ghostscript users who has no printer
don't need CUPS rasterizer. CUPS users who has no non-PS
printer also don't need CUPS rasterizer.

Moreover, there is no actually usable CUPS driver package
for non-PS printers except Gimp-Print at present. I guess
it's pretty reasonable to separating CUPS rasterizer from
existing ghostscript-gnu package.

Here is an experimental implimentation of CUPS rasterizer
port. I would like you to utilize it if my opinion is
acceptable.


# 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:
#
#	cups-pstoraster
#	cups-pstoraster/Makefile
#	cups-pstoraster/distinfo
#	cups-pstoraster/files
#	cups-pstoraster/files/patch-lib:gs_res.ps
#	cups-pstoraster/files/patch-src:genarch.c
#	cups-pstoraster/pkg-comment
#	cups-pstoraster/pkg-descr
#	cups-pstoraster/pkg-plist
#
echo c - cups-pstoraster
mkdir -p cups-pstoraster > /dev/null 2>&1
echo x - cups-pstoraster/Makefile
sed 's/^X//' >cups-pstoraster/Makefile << 'END-of-cups-pstoraster/Makefile'
X# New ports collection makefile for:	cups-pstoraster
X# Date created:		Jul 13 2002
X# Whom:			ports@FreeBSD.org
X#
X# $FreeBSD$
X#
X
XPORTNAME=	pstoraster
XPORTVERSION=	7.05.3
XCATEGORIES=	print
XMASTER_SITES=	${MASTER_SITE_SOURCEFORGE} \
X		ftp://ftp.easysw.com/pub/ghostscript/
XMASTER_SITE_SUBDIR=	espgs
XPKGNAMEPREFIX=	cups-
XDISTNAME=	espgs-${PORTVERSION}-source
X
XMAINTAINER=	ports@FreeBSD.org
X
XLIB_DEPENDS=	cups.2:${PORTSDIR}/print/cups
XRUN_DEPENDS=	${LOCALBASE}/share/ghostscript/fonts/fonts.scale:${PORTSDIR}/print/ghostscript-gnu
X
XWRKSRC=		${WRKDIR}/espgs-${PORTVERSION}
X
XUSE_BZIP2=	yes
XUSE_GMAKE=	yes
XGNU_CONFIGURE=	yes
XCONFIGURE_TARGET=	--build=${ARCH}-portbld-freebsd${OSREL}
XCONFIGURE_ENV=	CPPFLAGS="-I${LOCALBASE}/include" \
X		LDFLAGS="-L${LOCALBASE}/lib"
XCONFIGURE_ARGS=	--without-x --without-ijs --without-gimp-print \
X		--with-drivers=cups --with-gs=espgs \
X		--with-fontpath=${LOCALBASE}/share/ghostscript/fonts \
X		--enable-compiled-inits
X
Xpost-patch:
X	@${MV} ${WRKSRC}/lib/gs_res.ps ${WRKSRC}/lib/gs_res.ps.pre_sed
X	@${SED} -e 's|%%DATADIR%%|${LOCALBASE}/share/ghostscript|g' \
X		${WRKSRC}/lib/gs_res.ps.pre_sed > ${WRKSRC}/lib/gs_res.ps
X
Xpre-build:
X	@${MKDIR} ${WRKSRC}/bin
X	@${MKDIR} ${WRKSRC}/obj
X
Xdo-install:
X	${INSTALL_PROGRAM} ${WRKSRC}/bin/espgs ${PREFIX}/bin
X	${INSTALL_DATA} ${WRKSRC}/pstoraster/pstoraster.convs \
X		${PREFIX}/etc/cups
X	${INSTALL_DATA} ${WRKSRC}/pstoraster/pstoraster \
X		${PREFIX}/libexec/cups/filter
X
X.include <bsd.port.mk>
END-of-cups-pstoraster/Makefile
echo x - cups-pstoraster/distinfo
sed 's/^X//' >cups-pstoraster/distinfo << 'END-of-cups-pstoraster/distinfo'
XMD5 (espgs-7.05.3-source.tar.bz2) = e21697ae9c4aa82d16e48f202ba6f69c
END-of-cups-pstoraster/distinfo
echo c - cups-pstoraster/files
mkdir -p cups-pstoraster/files > /dev/null 2>&1
echo x - cups-pstoraster/files/patch-lib:gs_res.ps
sed 's/^X//' >cups-pstoraster/files/patch-lib:gs_res.ps << 'END-of-cups-pstoraster/files/patch-lib:gs_res.ps'
X--- lib/gs_res.ps.orig	Mon Jul 16 01:09:41 2001
X+++ lib/gs_res.ps	Fri Feb  8 07:12:09 2002
X@@ -248,8 +248,8 @@
X   /pssystemparams 10 dict readonly def
X } if
X pssystemparams begin
X-  /FontResourceDir (/Resource/Font/) readonly .forcedef	% pssys'params is r-o
X-  /GenericResourceDir (/Resource/) readonly .forcedef	% pssys'params is r-o
X+  /FontResourceDir (%%DATADIR%%/Resource/Font/) readonly .forcedef	% pssys'params is r-o
X+  /GenericResourceDir (%%DATADIR%%/Resource/) readonly .forcedef	% pssys'params is r-o
X   /GenericResourcePathSep (/) readonly .forcedef	% pssys'params is r-o
X end
X end
END-of-cups-pstoraster/files/patch-lib:gs_res.ps
echo x - cups-pstoraster/files/patch-src:genarch.c
sed 's/^X//' >cups-pstoraster/files/patch-src:genarch.c << 'END-of-cups-pstoraster/files/patch-src:genarch.c'
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 
END-of-cups-pstoraster/files/patch-src:genarch.c
echo x - cups-pstoraster/pkg-comment
sed 's/^X//' >cups-pstoraster/pkg-comment << 'END-of-cups-pstoraster/pkg-comment'
XGNU Postscript interprinter for using with CUPS
END-of-cups-pstoraster/pkg-comment
echo x - cups-pstoraster/pkg-descr
sed 's/^X//' >cups-pstoraster/pkg-descr << 'END-of-cups-pstoraster/pkg-descr'
XGhostscript is the well-known PostScript interpreter which is available for
Xall common and most esoteric platforms and supports many different printers
Xand some displays.
X
XVersions entitled "GNU Ghostscript" are distributed with the GNU General
XPublic License, which allows free use, and free copying and redistribution
Xunder certain conditions (including, in some cases, commercial distribution).
X
XThis distribution is based on GNU Ghostscript and provides the "driver" for
XCUPS that supports non-PostScript printer drivers within CUPS.
X
XWWW: http://www.cups.org/ghostscript.html
END-of-cups-pstoraster/pkg-descr
echo x - cups-pstoraster/pkg-plist
sed 's/^X//' >cups-pstoraster/pkg-plist << 'END-of-cups-pstoraster/pkg-plist'
Xbin/espgs
Xetc/cups/pstoraster.convs
Xlibexec/cups/filter/pstoraster
END-of-cups-pstoraster/pkg-plist
exit


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




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