From 68ab0ad58b37ce24f9e0b6f1864d58066308230d Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 31 Mar 2018 20:40:58 +0200 Subject: gnu: ghostscript: Update to 9.23. * gnu/packages/ghostscript.scm (ghostscript): Update to 9.23. [source](snippet): Adjust to removed LCMS2 library. [arguments]: Remove FIX-DOC-DIR-PHASE. Prevent docdir compatibility symlink. [inputs]: Remove LCMS2. * gnu/packages/patches/ghostscript-no-header-id.patch: Adjust context. --- gnu/packages/ghostscript.scm | 23 +++++++++------------- .../patches/ghostscript-no-header-id.patch | 13 ++++++------ 2 files changed, 15 insertions(+), 21 deletions(-) diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm index 25d210e9d2..0a6043ba65 100644 --- a/gnu/packages/ghostscript.scm +++ b/gnu/packages/ghostscript.scm @@ -132,7 +132,7 @@ printing, and psresize, for adjusting page sizes.") (define-public ghostscript (package (name "ghostscript") - (version "9.22") + (version "9.23") (source (origin (method url-fetch) @@ -142,7 +142,7 @@ printing, and psresize, for adjusting page sizes.") "/ghostscript-" version ".tar.xz")) (sha256 (base32 - "1fyi4yvdj39bjgs10klr31cda1fbx1ar7a7b7yz7v68gykk65y61")) + "1ng8d9fm5lza7k1f7ybc791275c07z5hcmpkrl2i226nshkxrkhz")) (patches (search-patches "ghostscript-runpath.patch" "ghostscript-no-header-creationdate.patch" "ghostscript-no-header-id.patch" @@ -152,10 +152,10 @@ printing, and psresize, for adjusting page sizes.") ;; Remove bundled libraries. The bundled OpenJPEG is a patched fork so ;; we leave it, at least for now. ;; TODO Try unbundling ijs, which is developed alongside Ghostscript. + ;; Likewise for the thread-safe lcms2 fork called "lcms2art". '(begin (for-each delete-file-recursively '("freetype" "jbig2dec" "jpeg" - "lcms2" "libpng" - "tiff" "zlib")) + "libpng" "tiff" "zlib")) #t)))) (build-system gnu-build-system) (outputs '("out" "doc")) ;19 MiB of HTML/PS doc + examples @@ -180,13 +180,6 @@ printing, and psresize, for adjusting page sizes.") '())) #:phases (modify-phases %standard-phases - (add-after 'unpack 'fix-doc-dir - (lambda _ - ;; Honor --docdir. - (substitute* "Makefile.in" - (("^docdir=.*$") "docdir = @docdir@\n") - (("^exdir=.*$") "exdir = $(docdir)/examples\n")) - #t)) (add-after 'configure 'remove-doc-reference (lambda _ ;; Don't retain a reference to the 'doc' output in 'gs'. @@ -195,6 +188,10 @@ printing, and psresize, for adjusting page sizes.") (substitute* "base/gscdef.c" (("GS_DOCDIR") "\"~/.guix-profile/share/doc/ghostscript\"")) + ;; The docdir default changed in 9.23 and a compatibility + ;; symlink was added from datadir->docdir. Remove it. + (substitute* "base/unixinst.mak" + (("ln -s \\$\\(DESTDIR\\)\\$\\(docdir\\).*") "")) #t)) (add-after 'configure 'patch-config-files (lambda _ @@ -234,13 +231,11 @@ printing, and psresize, for adjusting page sizes.") ;; these libraries. ,@(if (%current-target-system) `(("zlib/native" ,zlib) - ("libjpeg/native" ,libjpeg) - ("lcms2/native" ,lcms)) + ("libjpeg/native" ,libjpeg)) '()))) (inputs `(("freetype" ,freetype) ("jbig2dec" ,jbig2dec) - ("lcms2" ,lcms) ("libjpeg" ,libjpeg) ("libpaper" ,libpaper) ("libpng" ,libpng) diff --git a/gnu/packages/patches/ghostscript-no-header-id.patch b/gnu/packages/patches/ghostscript-no-header-id.patch index 19b71aadb5..da1aa5530f 100644 --- a/gnu/packages/patches/ghostscript-no-header-id.patch +++ b/gnu/packages/patches/ghostscript-no-header-id.patch @@ -9,7 +9,7 @@ See: https://bugs.ghostscript.com/show_bug.cgi?id=698208 diff -ur orig/gnu-ghostscript-9.14.0/devices/vector/gdevpdf.c gnu-ghostscript-9.14.0/devices/vector/gdevpdf.c --- orig/gnu-ghostscript-9.14.0/devices/vector/gdevpdf.c 2017-07-09 23:30:28.960479189 +0200 +++ gnu-ghostscript-9.14.0/devices/vector/gdevpdf.c 2017-07-09 23:34:34.306524488 +0200 -@@ -1580,8 +1580,11 @@ +@@ -1785,8 +1785,11 @@ * +1 for the linearisation dict and +1 for the primary hint stream. */ linear_params->FirsttrailerOffset = gp_ftell_64(linear_params->Lin_File.file); @@ -23,10 +23,10 @@ diff -ur orig/gnu-ghostscript-9.14.0/devices/vector/gdevpdf.c gnu-ghostscript-9. fwrite(LDict, strlen(LDict), 1, linear_params->Lin_File.file); /* Write document catalog (Part 4) */ -@@ -2102,8 +2105,11 @@ - * in the missing values. - */ - code = gp_fseek_64(linear_params->sfile, linear_params->FirsttrailerOffset, SEEK_SET); +@@ -2321,8 +2324,11 @@ + if (code != 0) + return_error(gs_error_ioerror); + - gs_sprintf(LDict, "\ntrailer\n<>\nstartxref\r\n0\n%%%%EOF\n", - linear_params->LastResource + 3, pdev->ResourceUsage[linear_params->Info_id].NewObjectNumber, pdev->ResourceUsage[linear_params->Catalog_id].NewObjectNumber, fileID, fileID, mainxref); + gs_sprintf(LDict, "\ntrailer\n<sfile); code = gp_fseek_64(linear_params->sfile, pdev->ResourceUsage[HintStreamObj].LinearisedOffset, SEEK_SET); -@@ -2674,10 +2680,12 @@ +@@ -3016,10 +3022,12 @@ stream_puts(s, "trailer\n"); pprintld3(s, "<< /Size %ld /Root %ld 0 R /Info %ld 0 R\n", pdev->next_id, Catalog_id, Info_id); @@ -54,4 +54,3 @@ diff -ur orig/gnu-ghostscript-9.14.0/devices/vector/gdevpdf.c gnu-ghostscript-9. if (pdev->OwnerPassword.size > 0) { pprintld1(s, "/Encrypt %ld 0 R ", Encrypt_id); } -Nur in gnu-ghostscript-9.14.0/devices/vector: gdevpdf.c.orig. -- cgit v1.2.3