Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 25 Feb 2001 20:00:40 +0000
From:      Nik Clayton <nik@freebsd.org>
To:        John Baldwin <jhb@FreeBSD.org>, bernd@heitec.net, rdm@cfcl.com, andreas@freebsd.org
Cc:        nik@FreeBSD.org, jkh@FreeBSD.org, doc@FreeBSD.org
Subject:   [PATCH] Stop ghostscript6 depending on X (was Re: docproj depends on X11 now?!?!)
Message-ID:  <20010225200037.A13854@canyon.nothing-going-on.org>
In-Reply-To: <XFMail.010223142310.jhb@FreeBSD.org>; from jhb@FreeBSD.org on Fri, Feb 23, 2001 at 02:23:10PM -0800
References:  <XFMail.010223142310.jhb@FreeBSD.org>

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

--envbJBWh7q8WU6mo
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Gents,

On Fri, Feb 23, 2001 at 02:23:10PM -0800, John Baldwin wrote:
> Woah.  I was building a test release with DOCS turned on and happened to look
> over and saw that it was installing the XFree86 3.3.6 port due to a dependency
> on libpng.  Which is an interactive port.  Which makes release not be
> non-interactive anymore.  This needs to be fixed, esp. before it comes time to
> rolling 4.3.

Attached is a patch to ports/print/ghostscript6 which conditionalises
its use of the X11 libs on the NO_X variable, which is documented in
make.conf(5).

It works as far as I can tell.  ldd(8) on the generated binaries shows
no dependencies on the X11 libs, and the binaries work well enough for
use with eps2png and the rest of the docproj.  But I don't have a system
handy that doesn't have X on it, so I can't test this to my complete
satisfaction.

[ For those of you not familiar with applying diffs to the system, do
  this.

  1.  Save the attachment somewhere (say, /tmp/gs.patch)
  2.  Make sure your ghostscript6 directory is clean.

        # cd /usr/ports/print/ghostscript6
	# make clean

  3.  Apply the patch

        # cd /usr/ports/print
	# patch < /tmp/gs.patch

  4.  Build ghostscript6 without X11 support

	# cd ghostscript6
        # make NO_X=true install

  5.  Let me know of any problems. ]

Andreas, if this is OK I'd like to commit it.

Cheers,

N
-- 
Internet connection, $19.95 a month.  Computer, $799.95.  Modem, $149.95.
Telephone line, $24.95 a month.  Software, free.  USENET transmission,
hundreds if not thousands of dollars.  Thinking before posting, priceless.
Somethings in life you can't buy.  For everything else, there's MasterCard.
  -- Graham Reed, in the Scary Devil Monastery

--envbJBWh7q8WU6mo
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="gs.patch"
Content-Transfer-Encoding: quoted-printable

diff -ru ghostscript6.org/Makefile ghostscript6/Makefile
--- ghostscript6.org/Makefile	Sun Jan 21 13:40:49 2001
+++ ghostscript6/Makefile	Sun Feb 25 19:41:01 2001
@@ -7,7 +7,7 @@
=20
 PORTNAME=3D	ghostscript
 PORTVERSION=3D	6.50
-PORTREVISION=3D	2
+PORTREVISION=3D	3
 CATEGORIES=3D	print
 MASTER_SITES=3D	ftp://ftp.fh-koblenz.de/pub/Ghostscript/aladdin/gs650/ \
 	ftp://ftp.fh-koblenz.de/pub/Ghostscript/aladdin/fonts/ \
@@ -39,7 +39,16 @@
=20
 WRKSRC=3D		${WRKDIR}/gs${PORTVERSION}
 ALL_TARGET=3D	all pcl3opts escputil
+
+.if !defined(NO_X)
 USE_XLIB=3D	yes
+.else
+# XXX Hack.  If you've done something like "-DNO_X" on the command line
+# (instead of NO_X=3Dtrue, or similar) gmake won't pick it up.  So make su=
re
+# that NO_X is defined *and* has a value.
+MAKE_ENV+=3D	NO_X=3Dtrue
+.endif
+
 USE_GMAKE=3D	yes
 MAKEFILE=3D	src/unix-gcc.mak
 PLIST_SUB=3D	GS_VERSION=3D${PORTVERSION}
diff -ru ghostscript6.org/files/patch-aa ghostscript6/files/patch-aa
--- ghostscript6.org/files/patch-aa	Thu Jan 18 10:27:26 2001
+++ ghostscript6/files/patch-aa	Sun Feb 25 18:10:08 2001
@@ -1,5 +1,5 @@
---- src/unix-gcc.mak.orig	Mon Sep 25 17:06:28 2000
-+++ src/unix-gcc.mak	Tue Jan  9 17:30:58 2001
+--- src/unix-gcc.mak.orig	Mon Sep 25 16:06:28 2000
++++ src/unix-gcc.mak	Sun Feb 25 17:58:59 2001
 @@ -26,14 +26,15 @@
  # source, generated intermediate file, and object directories
  # for the graphics library (GL) and the PostScript/PDF interpreter (PS).
@@ -119,12 +119,16 @@
 =20
  # Define the directory/ies and library names for the X11 library files.
  # XLIBDIRS is for ld and should include -L; XLIBDIR is for LD_RUN_PATH
-@@ -266,12 +266,12 @@
+@@ -266,12 +266,16 @@
  # Solaris and other SVR4 systems with dynamic linking probably want
  #XLIBDIRS=3D-L/usr/openwin/lib -R/usr/openwin/lib
  # X11R6 (on any platform) may need
 -#XLIBS=3DXt SM ICE Xext X11
++ifdef NO_X
++XLIBS=3D
++else
 +XLIBS=3DXt SM ICE Xext X11
++endif
 =20
  #XLIBDIRS=3D-L/usr/local/X/lib
 -XLIBDIRS=3D-L/usr/X11/lib
@@ -135,7 +139,7 @@
 =20
  # Define whether this platform has floating point hardware:
  #	FPU_TYPE=3D2 means floating point is faster than fixed point.
-@@ -329,7 +329,7 @@
+@@ -329,7 +333,7 @@
  # Choose the device(s) to include.  See devs.mak for details,
  # devs.mak and contrib.mak for the list of available devices.
 =20
@@ -144,7 +148,7 @@
 =20
  #DEVICE_DEVS1=3D
  #DEVICE_DEVS2=3D
-@@ -352,27 +352,27 @@
+@@ -352,27 +356,27 @@
  #DEVICE_DEVS19=3D
  #DEVICE_DEVS20=3D
 =20
@@ -193,7 +197,7 @@
 =20
  # ---------------------------- End of options ---------------------------=
 #
 =20
-@@ -386,13 +386,13 @@
+@@ -386,13 +390,13 @@
  # detect whether we're running a version of gcc with the const optimizati=
on
  # bug.
 =20
@@ -210,7 +214,7 @@
  CC_LEAF=3D$(CC_) -fomit-frame-pointer
  # gcc can't use -fomit-frame-pointer with -pg.
  CC_LEAF_PG=3D$(CC_)
-@@ -419,5 +419,5 @@
+@@ -419,5 +423,5 @@
  include $(GLSRCDIR)/unixinst.mak
 =20
  # This has to come last so it won't be taken as the default target.
diff -ru ghostscript6.org/scripts/configure.batch ghostscript6/scripts/conf=
igure.batch
--- ghostscript6.org/scripts/configure.batch	Thu Jan 18 10:27:26 2001
+++ ghostscript6/scripts/configure.batch	Sun Feb 25 18:10:35 2001
@@ -6,7 +6,11 @@
 # by Andreas Klemm <andreas@FreeBSD.org>
=20
 cat - > ${WRKSRC}/src/unix-gcc.mak.new << !EOT
-DEVICE_DEVS=3D\$(DD)x11.dev \$(DD)x11alpha.dev \$(DD)x11cmyk.dev \$(DD)x11=
cmyk2.dev \$(DD)x11cmyk4.dev \$(DD)x11cmyk8.dev \$(DD)x11gray2.dev \$(DD)x1=
1gray4.dev \$(DD)x11mono.dev \$(DD)x11rg16x.dev \$(DD)x11rg32x.dev \$(DD)at=
x23.dev \$(DD)atx24.dev \$(DD)atx38.dev \$(DD)deskjet.dev \$(DD)djet500.dev=
 \$(DD)fs600.dev \$(DD)laserjet.dev \$(DD)ljetplus.dev \$(DD)ljet2p.dev \$(=
DD)ljet3.dev \$(DD)ljet3d.dev \$(DD)ljet4.dev \$(DD)ljet4d.dev \$(DD)lp2563=
.dev \$(DD)oce9050.dev \$(DD)lj5mono.dev \$(DD)lj5gray.dev \$(DD)psdf.dev \=
$(DD)epswrite.dev \$(DD)pswrite.dev \$(DD)pdfwrite.dev \$(DD)pxlmono.dev \$=
(DD)pxlcolor.dev \$(DD)bit.dev \$(DD)bitrgb.dev \$(DD)bitcmyk.dev \$(DD)bmp=
mono.dev \$(DD)bmpgray.dev \$(DD)bmpsep1.dev \$(DD)bmpsep8.dev \$(DD)bmp16.=
dev \$(DD)bmp256.dev \$(DD)bmp16m.dev \$(DD)bmp32b.dev \$(DD)cgmmono.dev \$=
(DD)cgm8.dev \$(DD)cgm24.dev \$(DD)jpeg.dev \$(DD)jpeggray.dev \$(DD)miff24=
.dev \$(DD)pcxmono.dev \$(DD)pcxgray.dev \$(DD)pcx16.dev \$(DD)pcx256.dev \=
$(DD)pcx24b.dev \$(DD)pcxcmyk.dev \$(DD)pcx2up.dev \$(DD)pbm.dev \$(DD)pbmr=
aw.dev \$(DD)pgm.dev \$(DD)pgmraw.dev \$(DD)pgnm.dev \$(DD)pgnmraw.dev \$(D=
D)ppm.dev \$(DD)ppmraw.dev \$(DD)pnm.dev \$(DD)pnmraw.dev \$(DD)pkm.dev \$(=
DD)pkmraw.dev \$(DD)pksm.dev \$(DD)pksmraw.dev \$(DD)plan9bm.dev \$(DD)pngm=
ono.dev \$(DD)pnggray.dev \$(DD)png16.dev \$(DD)png256.dev \$(DD)png16m.dev=
 \$(DD)psmono.dev \$(DD)psgray.dev \$(DD)psrgb.dev \$(DD)fax.dev \$(DD)faxg=
3.dev \$(DD)faxg32d.dev \$(DD)faxg4.dev \$(DD)tfax.dev \$(DD)tiffs.dev \$(D=
D)tiffcrle.dev \$(DD)tiffg3.dev \$(DD)tiffg32d.dev \$(DD)tiffg4.dev \$(DD)t=
ifflzw.dev \$(DD)tiffpack.dev \$(DD)tiff12nc.dev \$(DD)tiff24nc.dev \$(DD)a=
ppledmp.dev \$(DD)iwhi.dev \$(DD)iwlo.dev \$(DD)iwlq.dev \$(DD)bj10e.dev \$=
(DD)bj200.dev \$(DD)ccr.dev \$(DD)cdeskjet.dev \$(DD)cdjcolor.dev \$(DD)cdj=
mono.dev \$(DD)cdj500.dev \$(DD)cdj550.dev \$(DD)declj250.dev \$(DD)dnj650c=
.dev \$(DD)lj4dith.dev \$(DD)pj.dev \$(DD)pjxl.dev \$(DD)pjxl300.dev \$(DD)=
bjc600.dev \$(DD)bjc800.dev \$(DD)escp.dev \$(DD)djet500c.dev \$(DD)cljet5.=
dev \$(DD)cljet5pr.dev \$(DD)cljet5c.dev \$(DD)lj3100sw.dev \$(DD)coslw2p.d=
ev \$(DD)coslwxl.dev \$(DD)cp50.dev \$(DD)epson.dev \$(DD)eps9mid.dev \$(DD=
)eps9high.dev \$(DD)ibmpro.dev \$(DD)epsonc.dev \$(DD)ap3250.dev \$(DD)st80=
0.dev \$(DD)stcolor.dev \$(DD)uniprint.dev \$(DD)lj250.dev \$(DD)paintjet.d=
ev \$(DD)pjetxl.dev \$(DD)hl7x0.dev \$(DD)imagen.dev \$(DD)jetp3852.dev \$(=
DD)lbp8.dev \$(DD)lips3.dev \$(DD)lp8000.dev \$(DD)m8510.dev \$(DD)necp6.de=
v \$(DD)lq850.dev \$(DD)lxm5700m.dev \$(DD)oki182.dev \$(DD)okiibm.dev \$(D=
D)photoex.dev \$(DD)sj48.dev \$(DD)t4693d2.dev \$(DD)t4693d4.dev \$(DD)t469=
3d8.dev \$(DD)tek4696.dev \$(DD)cfax.dev \$(DD)dfaxlow.dev \$(DD)dfaxhigh.d=
ev \$(DD)cif.dev \$(DD)inferno.dev \$(DD)mgrmono.dev \$(DD)mgrgray2.dev \$(=
DD)mgrgray4.dev \$(DD)mgrgray8.dev \$(DD)mgr4.dev \$(DD)mgr8.dev \$(DD)sgir=
gb.dev \$(DD)sunhmono.dev \$(DD)hpdj.dev \$(DD)pcl3.dev \$(DD)hpdjplus.dev =
\$(DD)hpdjportable.dev \$(DD)hpdj310.dev \$(DD)hpdj320.dev \$(DD)hpdj340.de=
v \$(DD)hpdj400.dev \$(DD)hpdj500.dev \$(DD)hpdj500c.dev \$(DD)hpdj510.dev =
\$(DD)hpdj520.dev \$(DD)hpdj540.dev \$(DD)hpdj550c.dev \$(DD)hpdj560c.dev \=
$(DD)hpdj600.dev \$(DD)hpdj660c.dev \$(DD)hpdj670c.dev \$(DD)hpdj680c.dev \=
$(DD)hpdj690c.dev \$(DD)hpdj850c.dev \$(DD)hpdj855c.dev \$(DD)hpdj870c.dev =
\$(DD)hpdj890c.dev \$(DD)hpdj1120c.dev \$(DD)cdj970.dev \$(DD)stp.dev
+ifndef NO_X
+DEVICE_DEVS=3D\$(DD)x11.dev \$(DD)x11alpha.dev \$(DD)x11cmyk.dev \$(DD)x11=
cmyk2.dev \$(DD)x11cmyk4.dev \$(DD)x11cmyk8.dev \$(DD)x11gray2.dev \$(DD)x1=
1gray4.dev \$(DD)x11mono.dev \$(DD)x11rg16x.dev \$(DD)x11rg32x.dev
+endif
+
+DEVICE_DEVS+=3D \$(DD)atx23.dev \$(DD)atx24.dev \$(DD)atx38.dev \$(DD)desk=
jet.dev \$(DD)djet500.dev \$(DD)fs600.dev \$(DD)laserjet.dev \$(DD)ljetplus=
.dev \$(DD)ljet2p.dev \$(DD)ljet3.dev \$(DD)ljet3d.dev \$(DD)ljet4.dev \$(D=
D)ljet4d.dev \$(DD)lp2563.dev \$(DD)oce9050.dev \$(DD)lj5mono.dev \$(DD)lj5=
gray.dev \$(DD)psdf.dev \$(DD)epswrite.dev \$(DD)pswrite.dev \$(DD)pdfwrite=
.dev \$(DD)pxlmono.dev \$(DD)pxlcolor.dev \$(DD)bit.dev \$(DD)bitrgb.dev \$=
(DD)bitcmyk.dev \$(DD)bmpmono.dev \$(DD)bmpgray.dev \$(DD)bmpsep1.dev \$(DD=
)bmpsep8.dev \$(DD)bmp16.dev \$(DD)bmp256.dev \$(DD)bmp16m.dev \$(DD)bmp32b=
.dev \$(DD)cgmmono.dev \$(DD)cgm8.dev \$(DD)cgm24.dev \$(DD)jpeg.dev \$(DD)=
jpeggray.dev \$(DD)miff24.dev \$(DD)pcxmono.dev \$(DD)pcxgray.dev \$(DD)pcx=
16.dev \$(DD)pcx256.dev \$(DD)pcx24b.dev \$(DD)pcxcmyk.dev \$(DD)pcx2up.dev=
 \$(DD)pbm.dev \$(DD)pbmraw.dev \$(DD)pgm.dev \$(DD)pgmraw.dev \$(DD)pgnm.d=
ev \$(DD)pgnmraw.dev \$(DD)ppm.dev \$(DD)ppmraw.dev \$(DD)pnm.dev \$(DD)pnm=
raw.dev \$(DD)pkm.dev \$(DD)pkmraw.dev \$(DD)pksm.dev \$(DD)pksmraw.dev \$(=
DD)plan9bm.dev \$(DD)pngmono.dev \$(DD)pnggray.dev \$(DD)png16.dev \$(DD)pn=
g256.dev \$(DD)png16m.dev \$(DD)psmono.dev \$(DD)psgray.dev \$(DD)psrgb.dev=
 \$(DD)fax.dev \$(DD)faxg3.dev \$(DD)faxg32d.dev \$(DD)faxg4.dev \$(DD)tfax=
.dev \$(DD)tiffs.dev \$(DD)tiffcrle.dev \$(DD)tiffg3.dev \$(DD)tiffg32d.dev=
 \$(DD)tiffg4.dev \$(DD)tifflzw.dev \$(DD)tiffpack.dev \$(DD)tiff12nc.dev \=
$(DD)tiff24nc.dev \$(DD)appledmp.dev \$(DD)iwhi.dev \$(DD)iwlo.dev \$(DD)iw=
lq.dev \$(DD)bj10e.dev \$(DD)bj200.dev \$(DD)ccr.dev \$(DD)cdeskjet.dev \$(=
DD)cdjcolor.dev \$(DD)cdjmono.dev \$(DD)cdj500.dev \$(DD)cdj550.dev \$(DD)d=
eclj250.dev \$(DD)dnj650c.dev \$(DD)lj4dith.dev \$(DD)pj.dev \$(DD)pjxl.dev=
 \$(DD)pjxl300.dev \$(DD)bjc600.dev \$(DD)bjc800.dev \$(DD)escp.dev \$(DD)d=
jet500c.dev \$(DD)cljet5.dev \$(DD)cljet5pr.dev \$(DD)cljet5c.dev \$(DD)lj3=
100sw.dev \$(DD)coslw2p.dev \$(DD)coslwxl.dev \$(DD)cp50.dev \$(DD)epson.de=
v \$(DD)eps9mid.dev \$(DD)eps9high.dev \$(DD)ibmpro.dev \$(DD)epsonc.dev \$=
(DD)ap3250.dev \$(DD)st800.dev \$(DD)stcolor.dev \$(DD)uniprint.dev \$(DD)l=
j250.dev \$(DD)paintjet.dev \$(DD)pjetxl.dev \$(DD)hl7x0.dev \$(DD)imagen.d=
ev \$(DD)jetp3852.dev \$(DD)lbp8.dev \$(DD)lips3.dev \$(DD)lp8000.dev \$(DD=
)m8510.dev \$(DD)necp6.dev \$(DD)lq850.dev \$(DD)lxm5700m.dev \$(DD)oki182.=
dev \$(DD)okiibm.dev \$(DD)photoex.dev \$(DD)sj48.dev \$(DD)t4693d2.dev \$(=
DD)t4693d4.dev \$(DD)t4693d8.dev \$(DD)tek4696.dev \$(DD)cfax.dev \$(DD)dfa=
xlow.dev \$(DD)dfaxhigh.dev \$(DD)cif.dev \$(DD)inferno.dev \$(DD)mgrmono.d=
ev \$(DD)mgrgray2.dev \$(DD)mgrgray4.dev \$(DD)mgrgray8.dev \$(DD)mgr4.dev =
\$(DD)mgr8.dev \$(DD)sgirgb.dev \$(DD)sunhmono.dev \$(DD)hpdj.dev \$(DD)pcl=
3.dev \$(DD)hpdjplus.dev \$(DD)hpdjportable.dev \$(DD)hpdj310.dev \$(DD)hpd=
j320.dev \$(DD)hpdj340.dev \$(DD)hpdj400.dev \$(DD)hpdj500.dev \$(DD)hpdj50=
0c.dev \$(DD)hpdj510.dev \$(DD)hpdj520.dev \$(DD)hpdj540.dev \$(DD)hpdj550c=
.dev \$(DD)hpdj560c.dev \$(DD)hpdj600.dev \$(DD)hpdj660c.dev \$(DD)hpdj670c=
.dev \$(DD)hpdj680c.dev \$(DD)hpdj690c.dev \$(DD)hpdj850c.dev \$(DD)hpdj855=
c.dev \$(DD)hpdj870c.dev \$(DD)hpdj890c.dev \$(DD)hpdj1120c.dev \$(DD)cdj97=
0.dev \$(DD)stp.dev
 !EOT
=20
 # create one new Makefile, where DEVICE_DEVS contains all wanted devices

--envbJBWh7q8WU6mo--

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




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