diff --git a/pkgs/development/libraries/libspectre/0001-Fix-a-crash-with-documents-containing-an-invalid-Pag.patch b/pkgs/development/libraries/libspectre/0001-Fix-a-crash-with-documents-containing-an-invalid-Pag.patch deleted file mode 100644 index 3e232ee5ac50..000000000000 --- a/pkgs/development/libraries/libspectre/0001-Fix-a-crash-with-documents-containing-an-invalid-Pag.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 7500e4d1ae85ecf9f61b1446e07ebb887118757c Mon Sep 17 00:00:00 2001 -From: Carlos Garcia Campos -Date: Sat, 30 Oct 2010 15:55:18 +0200 -Subject: [PATCH 1/2] Fix a crash with documents containing an invalid - %%Pages: comment - -When failed to allocate memory for pages because of invalid %%Pages: -comment, set maxpages to 0 to ignore the comment. Problem spotted -by Marek Kasik. Fixes bug #30867. ---- - libspectre/ps.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/libspectre/ps.c b/libspectre/ps.c -index 6c7cfce..4578cec 100644 ---- a/libspectre/ps.c -+++ b/libspectre/ps.c -@@ -597,6 +597,8 @@ psscan(const char *filename, int scanstyle) - if (maxpages > 0) { - doc->pages = (struct page *) PS_calloc(maxpages, - sizeof(struct page)); -+ if (!doc->pages) -+ maxpages = 0; - CHECK_MALLOCED(doc->pages); - } - } --- -1.7.11 - diff --git a/pkgs/development/libraries/libspectre/0002-Allocate-at-least-1-page-in-doc-pages.patch b/pkgs/development/libraries/libspectre/0002-Allocate-at-least-1-page-in-doc-pages.patch deleted file mode 100644 index 09ab9e11c16f..000000000000 --- a/pkgs/development/libraries/libspectre/0002-Allocate-at-least-1-page-in-doc-pages.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 8ffd9185f81cb8337cece4c8e3672d0e6a97e935 Mon Sep 17 00:00:00 2001 -From: Marek Kasik -Date: Wed, 24 Nov 2010 15:54:14 +0100 -Subject: [PATCH 2/2] Allocate at least 1 page in doc->pages - -Allocate at least 1 page if there are no %%Pages: or %%Page: comments -in the PS file (#31512). ---- - libspectre/ps.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/libspectre/ps.c b/libspectre/ps.c -index 4578cec..0130fb4 100644 ---- a/libspectre/ps.c -+++ b/libspectre/ps.c -@@ -1004,14 +1004,14 @@ psscan(const char *filename, int scanstyle) - section_len += line_len; - } - -+ if (maxpages == 0) { -+ maxpages = 1; -+ doc->pages = (struct page *) PS_calloc(maxpages, sizeof(struct page)); -+ CHECK_MALLOCED(doc->pages); -+ } - - newpage: - while (DSCcomment(line) && iscomment(line+2, "Page:")) { -- if (maxpages == 0) { -- maxpages = 1; -- doc->pages = (struct page *) PS_calloc(maxpages, sizeof(struct page)); -- CHECK_MALLOCED(doc->pages); -- } - label = ps_gettext(line+length("%%Page:"), &next_char); - if (sscanf(next_char, "%u", &thispage) != 1) thispage = 0; - if (nextpage == 1) { --- -1.7.11 - diff --git a/pkgs/development/libraries/libspectre/default.nix b/pkgs/development/libraries/libspectre/default.nix index 379727aec5c9..a819e0cef6f3 100644 --- a/pkgs/development/libraries/libspectre/default.nix +++ b/pkgs/development/libraries/libspectre/default.nix @@ -1,20 +1,18 @@ -{ fetchurl, stdenv, ghostscript }: +{ fetchurl, stdenv, pkgconfig, ghostscript, cairo }: stdenv.mkDerivation rec { - name = "libspectre-0.2.6"; + name = "libspectre-0.2.7"; src = fetchurl { url = "http://libspectre.freedesktop.org/releases/${name}.tar.gz"; - sha256 = "1lqdmi7vx497pbigpp77064a4463lmihzh44898l101c69i7qqrg"; + sha256 = "1v63lqc6bhhxwkpa43qmz8phqs8ci4dhzizyy16d3vkb20m846z8"; }; buildInputs = [ # Need `libgs.so'. - ghostscript + pkgconfig ghostscript cairo /*for tests*/ ]; - patches = [ ./0001-Fix-a-crash-with-documents-containing-an-invalid-Pag.patch ./0002-Allocate-at-least-1-page-in-doc-pages.patch ]; - doCheck = true; meta = {