From 8718c78b6b807df77a7ff4b92eb9bf89c1dfd010 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Mon, 2 Dec 2019 21:48:59 +0100 Subject: [PATCH 1/4] =?UTF-8?q?poppler:=200.81.0=20=E2=86=92=200.83.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://lists.freedesktop.org/archives/poppler/2019-October/014027.html https://lists.freedesktop.org/archives/poppler/2019-November/014066.html --- pkgs/development/libraries/poppler/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix index b8c88541edd..eb1e9ec732f 100644 --- a/pkgs/development/libraries/poppler/default.nix +++ b/pkgs/development/libraries/poppler/default.nix @@ -12,11 +12,11 @@ let in stdenv.mkDerivation rec { name = "poppler-${suffix}-${version}"; - version = "0.81.0"; # beware: updates often break cups-filters build + version = "0.83.0"; # beware: updates often break cups-filters build src = fetchurl { url = "${meta.homepage}/poppler-${version}.tar.xz"; - sha256 = "00pykc7nym3xg0wc60awv0i35zwdfyn0igb6jrnb6rsv0c5h4b91"; + sha256 = "16vr1g5qsqwyxfnyikqw37i04x9zpp45far2x90c7qbijw6nap38"; }; outputs = [ "out" "dev" ]; From 9e4d564543621ffdf40a2ed141d930e81534c48b Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Mon, 2 Dec 2019 22:14:15 +0100 Subject: [PATCH 2/4] texlive.bin.core: Fix build with Poppler 0.83.0 --- pkgs/tools/typesetting/tex/texlive/bin.nix | 50 +++++++++++++++------- 1 file changed, 35 insertions(+), 15 deletions(-) diff --git a/pkgs/tools/typesetting/tex/texlive/bin.nix b/pkgs/tools/typesetting/tex/texlive/bin.nix index 5bb02f06f23..7c3b9d015db 100644 --- a/pkgs/tools/typesetting/tex/texlive/bin.nix +++ b/pkgs/tools/typesetting/tex/texlive/bin.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, fetchpatch +{ stdenv, fetchurl, fetchpatch, patchutils , texlive , zlib, libiconv, libpng, libX11 , freetype, gd, libXaw, icu, ghostscript, libXpm, libXmu, libXext @@ -27,27 +27,47 @@ let }; patches = [ - ] ++ stdenv.lib.optionals (stdenv.lib.versionAtLeast (stdenv.lib.getVersion poppler) "0.76") [ - (fetchpatch { - name = "pdftex-poppler0.76.patch"; - url = "https://git.archlinux.org/svntogit/packages.git/plain/texlive-bin/trunk/pdftex-poppler0.76.patch?id=8cb784073cfd2299a6c301ce7bb0d89126a47f4e"; - sha256 = "04x7myzysranddzjifxhahl7gjy407zkiyzfs5l9cbwzp6pqh7gh"; - - includes = [ - "texk/web2c/pdftexdir/pdftoepdf-poppler0.76.0.cc" - "texk/web2c/pdftexdir/pdftosrc-poppler0.76.0.cc" - ]; - }) ]; postPatch = let - popplerSuffix = if (stdenv.lib.versionAtLeast (stdenv.lib.getVersion poppler) "0.76") then "-poppler0.76.0" else "-poppler0.72.0"; + # The source compatible with Poppler ${popplerVersion} not yet available in TeXLive ${year} + # so we need to use files introduced in https://www.tug.org/svn/texlive?view=revision&revision=52959 + popplerVersion = "0.83.0"; + pdftoepdf = let + revert-pdfmajorversion = fetchpatch { + name = "pdftoepdf-revert-pdfmajorversion.patch"; + url = "https://www.tug.org/svn/texlive/trunk/Build/source/texk/web2c/pdftexdir/pdftoepdf.cc?view=patch&r1=52953&r2=52952&pathrev=52953"; + sha256 = "19jiv5xbvnfdk8lj6yd6mdxgs8f313a4dwg8svjj90dd35kjcfh8"; + revert = true; + postFetch = '' + # The default file, changed by this patch, contains a branch for vendored Poppler + # The version-specific file replaces the section with an error, so we need to drop that part from the patch. + # Fortunately, there is not anything else in the patch after #else. + sed '/ #else/q' $out > "$tmpfile" + ${patchutils}/bin/recountdiff "$tmpfile" > "$out" + ''; + }; + in fetchurl { + name = "pdftoepdf-poppler${popplerVersion}.cc"; + url = "https://www.tug.org/svn/texlive/trunk/Build/source/texk/web2c/pdftexdir/pdftoepdf-poppler${popplerVersion}.cc?revision=52959&view=co"; + sha256 = "0pngvw1jgnm4cqskrzf5a3z8rj4ssl10007n3wbblj50hvvzjph3"; + postFetch = '' + # The trunk added some extra arguments to certain functions so we need to revert that + # https://www.tug.org/svn/texlive?view=revision&revision=52953 + patch $out < ${revert-pdfmajorversion} + ''; + }; + pdftosrc = fetchurl { + name = "pdftosrc-poppler${popplerVersion}.cc"; + url = "https://www.tug.org/svn/texlive/trunk/Build/source/texk/web2c/pdftexdir/pdftosrc-poppler${popplerVersion}.cc?revision=52959&view=co"; + sha256 = "0iq2cmwvf2lxy32sygrafwqgcwvvbdnvxm5l3mrg9cb2a1g06380"; + }; in '' for i in texk/kpathsea/mktex*; do sed -i '/^mydir=/d' "$i" done - cp -pv texk/web2c/pdftexdir/pdftoepdf{${popplerSuffix},}.cc - cp -pv texk/web2c/pdftexdir/pdftosrc{${popplerSuffix},}.cc + cp -pv ${pdftoepdf} texk/web2c/pdftexdir/pdftoepdf.cc + cp -pv ${pdftosrc} texk/web2c/pdftexdir/pdftosrc.cc ''; # remove when removing synctex-missing-header.patch From 65952e7d2740cc5d8bebe6270aac7636ad577e1e Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Mon, 2 Dec 2019 23:39:58 +0100 Subject: [PATCH 3/4] inkscape: fix build with Poppler 0.83.0 --- pkgs/applications/graphics/inkscape/default.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pkgs/applications/graphics/inkscape/default.nix b/pkgs/applications/graphics/inkscape/default.nix index 17b5a716491..3996b94ba14 100644 --- a/pkgs/applications/graphics/inkscape/default.nix +++ b/pkgs/applications/graphics/inkscape/default.nix @@ -25,6 +25,16 @@ stdenv.mkDerivation rec { url = "https://gitlab.com/inkscape/inkscape/commit/e831b034746f8dc3c3c1b88372751f6dcb974831.diff"; sha256 = "096rdyi6ppjq1h9jwwsm9hb99nggfrfinik8rm23jkn4h2zl01zf"; }) + (fetchpatch { + name = "inkscape-poppler_0_82_compat.patch"; + url = "https://gitlab.com/inkscape/inkscape/commit/835b6bb62be565efab986d5a3f30a672ad56c7eb.patch"; + sha256 = "02c6sxi2w52b885vr3pgani6kvxp9gdqqk2jgiykkdzv70hhrnm7"; + }) + (fetchpatch { + name = "inkscape-poppler_0_83_compat.patch"; + url = "https://gitlab.com/inkscape/inkscape/commit/b5360a807b12d4e8318475ffd0464b84882788b5.patch"; + sha256 = "1p44rr2q2i3zkd1y1j7xgdcbgx8yvlq6hq92im8s0bkjby6p5cpz"; + }) ]; # Inkscape hits the ARGMAX when linking on macOS. It appears to be From af963b72ef1b32378ce3e9b8381cf8f838bdad19 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Tue, 3 Dec 2019 14:27:18 +0100 Subject: [PATCH 4/4] pdf2djvu: Fix build with Poppler 0.83.0 --- pkgs/tools/typesetting/pdf2djvu/default.nix | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/typesetting/pdf2djvu/default.nix b/pkgs/tools/typesetting/pdf2djvu/default.nix index 5b1412f3792..1090ad300f7 100644 --- a/pkgs/tools/typesetting/pdf2djvu/default.nix +++ b/pkgs/tools/typesetting/pdf2djvu/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, djvulibre, poppler, fontconfig, libjpeg }: +{ stdenv, fetchurl, fetchpatch, pkgconfig, djvulibre, poppler, fontconfig, libjpeg }: stdenv.mkDerivation rec { version = "0.9.14"; @@ -9,6 +9,18 @@ stdenv.mkDerivation rec { sha256 = "05z2bbg54pfsi668fwcjrcr5iz9llf9gprzdsrn6fw5wjv4876zi"; }; + patches = [ + # fix build with Poppler 0.83 + (fetchpatch { + url = "https://github.com/jwilk/pdf2djvu/commit/0aa17bb79dbcdfc249e4841f5b5398e27cfdfd41.patch"; + sha256 = "0mr14nz5w7z4ri2556bxkf3cnn2f7dhwsld7csrh6z5qqb7d5805"; + }) + (fetchpatch { + url = "https://github.com/jwilk/pdf2djvu/commit/27b9e028091a2f370367e9eaf37b4bb1cde87b62.patch"; + sha256 = "03apsg1487jl800q8j70hicvg6xsndd593bg7babm4vgivkxb0da"; + }) + ]; + nativeBuildInputs = [ pkgconfig ]; buildInputs = [ djvulibre poppler fontconfig libjpeg ];