* Various purity fixes for Ghostscript.

svn path=/nixpkgs/trunk/; revision=6452
This commit is contained in:
Eelco Dolstra 2006-09-04 11:01:37 +00:00
parent 059b3f0669
commit 51ca4a6a91
3 changed files with 47 additions and 2 deletions

View File

@ -1,5 +1,11 @@
source $stdenv/setup
preConfigure=preConfigure
preConfigure() {
# "ijs" is impure: it contains symlinks to /usr/share/automake etc.!
rm -rf ijs/ltmain.sh
}
postInstall=postInstall
postInstall() {
for i in $fonts; do
@ -7,4 +13,4 @@ postInstall() {
done
}
genericBuild
genericBuild

View File

@ -26,5 +26,12 @@ stdenv.mkDerivation {
(if x11Support then x11 else null)
];
configureFlags = if x11Support then "--with-x" else "--without-x";
configureFlags = "
${if x11Support then "--with-x" else "--without-x"}
";
# This patch is required to make Ghostscript at least build in a pure
# environment (like NixOS). Ghostscript's build process performs
# various tests for the existence of files in /usr/include.
patches = [ ./purity.patch ];
}

View File

@ -0,0 +1,32 @@
diff -rc ghostscript-8.54-gpl-orig/src/unix-aux.mak ghostscript-8.54-gpl/src/unix-aux.mak
*** ghostscript-8.54-gpl-orig/src/unix-aux.mak Tue Apr 18 17:32:25 2006
--- ghostscript-8.54-gpl/src/unix-aux.mak Mon Sep 4 12:46:11 2006
***************
*** 88,100 ****
# The "else true;" is required because Ultrix's implementation of sh -e
# terminates execution of a command if any error occurs, even if the command
# traps the error with ||.
! INCLUDE=/usr/include
$(gconfig__h): $(UNIX_AUX_MAK) $(ECHOGS_XE)
$(ECHOGS_XE) -w $(gconfig__h) -x 2f2a -s This file was generated automatically by unix-aux.mak. -s -x 2a2f
! if ( test -f $(INCLUDE)/dirent.h ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_DIRENT_H; else true; fi
if ( test -f $(INCLUDE)/ndir.h ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_NDIR_H; else true; fi
! if ( test -f $(INCLUDE)/sys/dir.h ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_SYS_DIR_H; else true; fi
if ( test -f $(INCLUDE)/sys/ndir.h ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_SYS_NDIR_H; else true; fi
! if ( test -f $(INCLUDE)/sys/time.h ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_SYS_TIME_H; else true; fi
! if ( test -f $(INCLUDE)/sys/times.h ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_SYS_TIMES_H; else true; fi
if ( test -f $(JSRCDIR)/jmemsys.h); then true; else $(ECHOGS_XE) -a $(gconfig__h) -x 23 define DONT_HAVE_JMEMSYS_H; fi
--- 88,100 ----
# The "else true;" is required because Ultrix's implementation of sh -e
# terminates execution of a command if any error occurs, even if the command
# traps the error with ||.
! INCLUDE=/no-such-path
$(gconfig__h): $(UNIX_AUX_MAK) $(ECHOGS_XE)
$(ECHOGS_XE) -w $(gconfig__h) -x 2f2a -s This file was generated automatically by unix-aux.mak. -s -x 2a2f
! if ( true ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_DIRENT_H; else true; fi
if ( test -f $(INCLUDE)/ndir.h ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_NDIR_H; else true; fi
! if ( true ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_SYS_DIR_H; else true; fi
if ( test -f $(INCLUDE)/sys/ndir.h ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_SYS_NDIR_H; else true; fi
! if ( true ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_SYS_TIME_H; else true; fi
! if ( true ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_SYS_TIMES_H; else true; fi
if ( test -f $(JSRCDIR)/jmemsys.h); then true; else $(ECHOGS_XE) -a $(gconfig__h) -x 23 define DONT_HAVE_JMEMSYS_H; fi