diff options
author | Yury G. Kudryashov <urkud.urkud@gmail.com> | 2012-01-03 18:04:57 +0000 |
---|---|---|
committer | Yury G. Kudryashov <urkud.urkud@gmail.com> | 2012-01-03 18:04:57 +0000 |
commit | ec3f38712af82cb7cfe3cf7125b3d2628b414526 (patch) | |
tree | 033c610d698890c7485bc0c18d41fd9b227c610b | |
parent | 2bca92e32dc0d5a315c2c82557704eda6fe30f08 (diff) | |
download | nixlib-ec3f38712af82cb7cfe3cf7125b3d2628b414526.tar nixlib-ec3f38712af82cb7cfe3cf7125b3d2628b414526.tar.gz nixlib-ec3f38712af82cb7cfe3cf7125b3d2628b414526.tar.bz2 nixlib-ec3f38712af82cb7cfe3cf7125b3d2628b414526.tar.lz nixlib-ec3f38712af82cb7cfe3cf7125b3d2628b414526.tar.xz nixlib-ec3f38712af82cb7cfe3cf7125b3d2628b414526.tar.zst nixlib-ec3f38712af82cb7cfe3cf7125b3d2628b414526.zip |
svn merge /path/to/trunk; svn revert path/to/cmake/default.nix
svn path=/nixpkgs/branches/stdenv-updates/; revision=31249
-rw-r--r-- | pkgs/misc/ghostscript/builder.sh | 19 | ||||
-rw-r--r-- | pkgs/misc/ghostscript/default.nix | 35 | ||||
-rw-r--r-- | pkgs/misc/ghostscript/pstoraster.patch | 81 |
3 files changed, 23 insertions, 112 deletions
diff --git a/pkgs/misc/ghostscript/builder.sh b/pkgs/misc/ghostscript/builder.sh deleted file mode 100644 index 361b7f77f0c6..000000000000 --- a/pkgs/misc/ghostscript/builder.sh +++ /dev/null @@ -1,19 +0,0 @@ -source $stdenv/setup - -preConfigure() { - # "ijs" is impure: it contains symlinks to /usr/share/automake etc.! - rm -rf ijs/ltmain.sh - - # Don't install stuff in the Cups store path. - makeFlagsArray=(CUPSSERVERBIN=$out/lib/cups CUPSSERVERROOT=$out/etc/cups CUPSDATA=$out/share/cups) -} - -installTargets="install install-so install-data install-doc install-man" - -postInstall() { - for i in $fonts; do - (cd $out/share/ghostscript && tar xvfz $i) - done -} - -genericBuild diff --git a/pkgs/misc/ghostscript/default.nix b/pkgs/misc/ghostscript/default.nix index 442fb8a0e50d..ddd51f73f79e 100644 --- a/pkgs/misc/ghostscript/default.nix +++ b/pkgs/misc/ghostscript/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, libjpeg, libpng, libtiff, zlib, pkgconfig, fontconfig, openssl +{ stdenv, fetchurl, libjpeg, libpng, libtiff, zlib, pkgconfig, fontconfig, openssl, lcms, freetype , x11Support, x11 ? null , cupsSupport ? false, cups ? null , gnuFork ? true @@ -28,10 +28,10 @@ let }; gnuForkData = rec { - name = "ghostscript-8.71.1"; + name = "ghostscript-9.04.1"; src = fetchurl { url = "mirror://gnu/ghostscript/gnu-${name}.tar.bz2"; - sha256 = "0vab9905h6sl5s5miai4vhhwdacjlkxqmykfr42x32sr25wjqgvl"; + sha256 = "0zqa6ggbkdqiszsywgrra4ij0sddlmrfa50bx2mh568qid4ga0a2"; }; inherit meta; @@ -56,8 +56,6 @@ in stdenv.mkDerivation rec { inherit (variant) name src meta; - builder = ./builder.sh; - fonts = [ (fetchurl { url = mirror://gnu/ghostscript/gnu-gs-fonts-std-6.0.tar.gz; @@ -70,17 +68,30 @@ stdenv.mkDerivation rec { # ... add other fonts here ]; - buildInputs = [libjpeg libpng libtiff zlib pkgconfig fontconfig openssl] - ++ stdenv.lib.optional x11Support x11 + buildInputs = [libjpeg libpng libtiff zlib pkgconfig fontconfig openssl lcms] + ++ stdenv.lib.optionals x11Support [x11 freetype] ++ stdenv.lib.optional cupsSupport cups; - configureFlags = - if x11Support then [ "--with-x" ] else [ "--without-x" ]; - CFLAGS = "-fPIC"; + NIX_LDFLAGS = "-lz -rpath=${freetype}/lib"; + + patches = [ ./purity.patch ./urw-font-files.patch ]; - patches = [ ./purity.patch ./urw-font-files.patch ] - ++ stdenv.lib.optional gnuFork ./pstoraster.patch; + preConfigure = '' + # "ijs" is impure: it contains symlinks to /usr/share/automake etc.! + rm -rf ijs/ltmain.sh + + # Don't install stuff in the Cups store path. + makeFlagsArray=(CUPSSERVERBIN=$out/lib/cups CUPSSERVERROOT=$out/etc/cups CUPSDATA=$out/share/cups) + ''; + + configureFlags = if x11Support then [ "--with-x" ] else [ "--without-x" ]; doCheck = true; + + postInstall = '' + for i in $fonts; do + (cd $out/share/ghostscript && tar xvfz $i) + done + ''; } diff --git a/pkgs/misc/ghostscript/pstoraster.patch b/pkgs/misc/ghostscript/pstoraster.patch deleted file mode 100644 index 465c91e4f19e..000000000000 --- a/pkgs/misc/ghostscript/pstoraster.patch +++ /dev/null @@ -1,81 +0,0 @@ -Upstream issue: http://bugs.ghostscript.com/show_bug.cgi?id=691108 -e.g. printing a test page prints only black - -Patch: https://bugs.archlinux.org/task/18339 - ---- a/cups/gdevcups.c -+++ b/cups/gdevcups.c -@@ -975,7 +975,8 @@ cups_map_cmyk(gx_device *pdev, /* I - Device info */ - frac k, /* I - Black value */ - frac *out) /* O - Device colors */ - { -- int c0, c1, c2, c3; /* Temporary color values */ -+ int c0 = 0, c1 = 0, -+ c2 = 0, c3 = 0; /* Temporary color values */ - float rr, rg, rb, /* Real RGB colors */ - ciex, ciey, ciez, /* CIE XYZ colors */ - ciey_yn, /* Normalized luminance */ -@@ -2703,9 +2704,13 @@ cups_put_params(gx_device *pdev, /* I - Device info */ - int color_set; /* Were the color attrs set? */ - gdev_prn_space_params sp; /* Space parameter data */ - int width, /* New width of page */ -- height; /* New height of page */ -+ height, /* New height of page */ -+ colorspace, /* New color space */ -+ bitspercolor; /* New bits per color */ - static int width_old = 0, /* Previous width */ -- height_old = 0; /* Previous height */ -+ height_old = 0, /* Previous height */ -+ colorspace_old = 0,/* Previous color space */ -+ bitspercolor_old = 0;/* Previous bits per color */ - ppd_attr_t *backside = NULL, - *backsiderequiresflippedmargins = NULL; - float swap; -@@ -2800,9 +2805,10 @@ cups_put_params(gx_device *pdev, /* I - Device info */ - else if (code == 0) \ - { \ - dprintf1("DEBUG: Setting %s to", sname); \ -- for (i = 0; i < count; i ++) \ -- dprintf1(" %d", (unsigned)(arrayval.data[i])); \ -- cups->header.name[i] = (unsigned)arrayval.data[i]; \ -+ for (i = 0; i < count; i ++) { \ -+ dprintf1(" %d", (unsigned)(arrayval.data[i])); \ -+ cups->header.name[i] = (unsigned)(arrayval.data[i]); \ -+ } \ - dprintf("...\n"); \ - } - -@@ -3243,23 +3249,31 @@ cups_put_params(gx_device *pdev, /* I - Device info */ - } - #endif /* CUPS_RASTER_SYNCv1 */ - -+ colorspace = cups->header.cupsColorSpace; -+ bitspercolor = cups->header.cupsBitsPerColor; -+ - /* - * Don't reallocate memory unless the device has been opened... - * Also reallocate only if the size has actually changed... - */ - -- if (pdev->is_open && (width != width_old || height != height_old)) -+ if (pdev->is_open && -+ (width != width_old || height != height_old || -+ colorspace != colorspace_old || bitspercolor != bitspercolor_old)) - { - - width_old = width; - height_old = height; -+ colorspace_old = colorspace; -+ bitspercolor_old = bitspercolor; - - /* - * Device is open and size has changed, so reallocate... - */ - -- dprintf4("DEBUG2: Reallocating memory, [%.0f %.0f] = %dx%d pixels...\n", -- pdev->MediaSize[0], pdev->MediaSize[1], width, height); -+ dprintf6("DEBUG2: Reallocating memory, [%.0f %.0f] = %dx%d pixels, color space: %d, bits per color: %d...\n", -+ pdev->MediaSize[0], pdev->MediaSize[1], width, height, -+ colorspace, bitspercolor); - - sp = ((gx_device_printer *)pdev)->space_params; \ No newline at end of file |