summaryrefslogtreecommitdiffstats
path: root/pkgs/misc/ghostscript
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2015-07-26 15:50:59 +0200
committerVladimír Čunát <vcunat@gmail.com>2015-07-26 16:04:17 +0200
commit3465ffa8b0543d5c845c9f3a49689c41eca0ddc3 (patch)
treeaa2621046a646b973548cd23fecf03cd0d081846 /pkgs/misc/ghostscript
parenta951f11021c547421691a52bc01da4e6d35efa62 (diff)
ghostscript: reduce size significantly, /cc #8990
- Don't use static bin/gs. - Split docs into a separate output. - Split fonts into another derivation, so they're not reinstalled when something changes. - Drop --disable-sse2 https://github.com/NixOS/nixpkgs/commit/e723c512c#commitcomment-12361078 - Some cleanups.
Diffstat (limited to 'pkgs/misc/ghostscript')
-rw-r--r--pkgs/misc/ghostscript/default.nix77
1 files changed, 45 insertions, 32 deletions
diff --git a/pkgs/misc/ghostscript/default.nix b/pkgs/misc/ghostscript/default.nix
index c521e156f8e2..fe86577bb7bd 100644
--- a/pkgs/misc/ghostscript/default.nix
+++ b/pkgs/misc/ghostscript/default.nix
@@ -7,26 +7,43 @@
assert x11Support -> x11 != null;
assert cupsSupport -> cups != null;
+let
+ version = "9.15";
+ sha256 = "0p1isp6ssfay141klirn7n9s8b546vcz6paksfmksbwy0ljsypg6";
+
+ fonts = stdenv.mkDerivation {
+ name = "ghostscript-fonts";
+
+ srcs = [
+ (fetchurl {
+ url = "mirror://sourceforge/gs-fonts/ghostscript-fonts-std-8.11.tar.gz";
+ sha256 = "00f4l10xd826kak51wsmaz69szzm2wp8a41jasr4jblz25bg7dhf";
+ })
+ (fetchurl {
+ url = "mirror://gnu/ghostscript/gnu-gs-fonts-other-6.0.tar.gz";
+ sha256 = "1cxaah3r52qq152bbkiyj2f7dx1rf38vsihlhjmrvzlr8v6cqil1";
+ })
+ # ... add other fonts here
+ ];
+
+ installPhase = ''
+ mkdir "$out"
+ mv -v * "$out/"
+ '';
+ };
+in
stdenv.mkDerivation rec {
- name = "ghostscript-9.15";
+ name = "ghostscript-${version}";
src = fetchurl {
url = "http://downloads.ghostscript.com/public/${name}.tar.bz2";
- sha256 = "0p1isp6ssfay141klirn7n9s8b546vcz6paksfmksbwy0ljsypg6";
+ inherit sha256;
};
- fonts = [
- (fetchurl {
- url = "mirror://sourceforge/gs-fonts/ghostscript-fonts-std-8.11.tar.gz";
- sha256 = "00f4l10xd826kak51wsmaz69szzm2wp8a41jasr4jblz25bg7dhf";
- })
- (fetchurl {
- url = "mirror://gnu/ghostscript/gnu-gs-fonts-other-6.0.tar.gz";
- sha256 = "1cxaah3r52qq152bbkiyj2f7dx1rf38vsihlhjmrvzlr8v6cqil1";
- })
- # ... add other fonts here
- ];
+ patches = [ ./urw-font-files.patch ];
+
+ outputs = [ "out" "doc" ];
enableParallelBuilding = true;
@@ -40,12 +57,16 @@ stdenv.mkDerivation rec {
# [] # maybe sometimes jpeg2000 support
;
- patches = [ ./urw-font-files.patch ];
-
makeFlags = [ "cups_serverroot=$(out)" "cups_serverbin=$(out)/lib/cups" ];
+ preConfigure = ''
+ rm -rf jpeg libpng zlib jasper expat tiff lcms{,2} jbig2dec openjpeg freetype cups/libs
+
+ sed "s@if ( test -f \$(INCLUDE)[^ ]* )@if ( true )@; s@INCLUDE=/usr/include@INCLUDE=/no-such-path@" -i base/unix-aux.mak
+ '';
+
configureFlags =
- [ "--with-system-libtiff" "--disable-sse2"
+ [ "--with-system-libtiff"
"--enable-dynamic"
(if x11Support then "--with-x" else "--without-x")
(if cupsSupport then "--enable-cups" else "--disable-cups")
@@ -53,25 +74,17 @@ stdenv.mkDerivation rec {
doCheck = true;
- installTargets="install soinstall";
-
- #CFLAGS = "-fPIC";
- #NIX_LDFLAGS =
- # "-lz -rpath${ if stdenv.isDarwin then " " else "="}${freetype}/lib";
-
- preConfigure = ''
- rm -rf jpeg libpng zlib jasper expat tiff lcms{,2} jbig2dec openjpeg freetype cups/libs
-
- sed "s@if ( test -f \$(INCLUDE)[^ ]* )@if ( true )@; s@INCLUDE=/usr/include@INCLUDE=/no-such-path@" -i base/unix-aux.mak
- '';
+ # don't build/install statically linked bin/gs
+ buildFlags = "so";
+ installTargets="soinstall";
postInstall = ''
- # ToDo: web says the fonts should be already included
- for i in $fonts; do
- (cd $out/share/ghostscript && tar xvfz $i)
- done
+ ln -s gsc "$out"/bin/gs
+
+ mkdir -p "$doc/share/ghostscript/${version}"
+ mv "$out/share/ghostscript/${version}"/{doc,examples} "$doc/share/ghostscript/${version}/"
- rm -rf $out/lib/cups/filter/{gstopxl,gstoraster}
+ ln -s "${fonts}" "$out/share/ghostscript/fonts"
'';
meta = {