diff --git a/pkgs/development/libraries/poppler/0.61.nix b/pkgs/development/libraries/poppler/0.61.nix index 9b89283972dd367..e46da53f68dc472 100644 --- a/pkgs/development/libraries/poppler/0.61.nix +++ b/pkgs/development/libraries/poppler/0.61.nix @@ -1,5 +1,20 @@ -{ stdenv, lib, fetchurl, cmake, ninja, pkg-config, libiconv, libintl -, zlib, curl, cairo, freetype, fontconfig, lcms, libjpeg, openjpeg, fetchpatch +{ stdenv +, lib +, fetchurl +, fetchpatch +, cairo +, cmake +, curl +, fontconfig +, freetype +, lcms +, libiconv +, libintl +, libjpeg +, ninja +, openjpeg +, pkg-config +, zlib , withData ? true, poppler_data , qt5Support ? false, qtbase ? null , introspectionSupport ? false, gobject-introspection ? null @@ -12,25 +27,38 @@ let mkFlag = optset: flag: "-DENABLE_${flag}=${if optset then "on" else "off"}"; in stdenv.mkDerivation rec { - name = "poppler-${suffix}-${version}"; + pname = "poppler-${suffix}"; + inherit version; src = fetchurl { - url = "${meta.homepage}/poppler-${version}.tar.xz"; + url = "https://poppler.freedesktop.org/poppler-${version}.tar.xz"; sha256 = "1afdrxxkaivvviazxkg5blsf2x24sjkfj92ib0d3q5pm8dihjrhj"; }; outputs = [ "out" "dev" ]; patches = [ + # Fix internal crash: a negative number that should not be (fetchpatch { name = "CVE-2018-13988"; url = "https://cgit.freedesktop.org/poppler/poppler/patch/?id=004e3c10df0abda214f0c293f9e269fdd979c5ee"; sha256 = "1l8713s57xc6g81bldw934rsfm140fqc7ggd50ha5mxdl1b3app2"; }) + # Fix internal crash: a negative number that should not be (not the above!) ./0.61-CVE-2019-9959.patch ]; - buildInputs = [ libiconv libintl ] ++ lib.optional withData poppler_data; + nativeBuildInputs = [ + cmake + ninja + pkg-config + ]; + + buildInputs = [ + libiconv + libintl + ] + ++ lib.optional withData poppler_data; # TODO: reduce propagation to necessary libs propagatedBuildInputs = with lib; @@ -39,8 +67,6 @@ stdenv.mkDerivation rec { ++ optional qt5Support qtbase ++ optional introspectionSupport gobject-introspection; - nativeBuildInputs = [ cmake ninja pkg-config ]; - # Not sure when and how to pass it. It seems an upstream bug anyway. CXXFLAGS = lib.optionalString stdenv.cc.isClang "-std=c++11"; @@ -58,12 +84,10 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://poppler.freedesktop.org/"; description = "A PDF rendering library"; - longDescription = '' Poppler is a PDF rendering library based on the xpdf-3.0 code base. ''; - - license = licenses.gpl2; + license = licenses.gpl2Plus; platforms = platforms.all; maintainers = with maintainers; [ ttuegel ]; }; diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix index 8a5c6e132a714c3..08ca1456ea8fb43 100644 --- a/pkgs/development/libraries/poppler/default.nix +++ b/pkgs/development/libraries/poppler/default.nix @@ -1,44 +1,46 @@ -{ stdenv -, lib +{ lib +, stdenv , fetchurl , fetchpatch +, cairo , cmake -, ninja -, pkg-config -, libiconv -, libintl -, zlib +, pcre +, boost +, cups-filters , curl -, cairo -, freetype , fontconfig +, freetype +, inkscape , lcms +, libiconv +, libintl , libjpeg +, ninja , openjpeg +, pkg-config +, scribusUnstable +, texlive +, zlib , withData ? true, poppler_data , qt5Support ? false, qtbase ? null , introspectionSupport ? false, gobject-introspection ? null , utils ? false, nss ? null , minimal ? false , suffix ? "glib" -, inkscape -, cups-filters -, texlive -, scribusUnstable }: let mkFlag = optset: flag: "-DENABLE_${flag}=${if optset then "on" else "off"}"; in stdenv.mkDerivation rec { - name = "poppler-${suffix}-${version}"; - version = "21.05.0"; # beware: updates often break cups-filters build, check texlive and scribusUnstable too! + pname = "poppler-${suffix}"; + version = "21.06.1"; # beware: updates often break cups-filters build, check texlive and scribusUnstable too! outputs = [ "out" "dev" ]; src = fetchurl { - url = "${meta.homepage}/poppler-${version}.tar.xz"; - sha256 = "sha256-2v1Te2gPrRIVvED8U9HzjoRJ18GFvGDVqJ4dJskNvYw="; + url = "https://poppler.freedesktop.org/poppler-${version}.tar.xz"; + sha256 = "sha256-hrCeWgLeQAgaORbvhxHFEo6vSx/FnV+H0Oxm8E9ZXbQ="; }; nativeBuildInputs = [ @@ -48,6 +50,8 @@ stdenv.mkDerivation rec { ]; buildInputs = [ + boost + pcre libiconv libintl ] ++ lib.optional withData [ @@ -98,13 +102,10 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://poppler.freedesktop.org/"; description = "A PDF rendering library"; - longDescription = '' - Poppler is a PDF rendering library based on the xpdf-3.0 code - base. In addition it provides a number of tools that can be - installed separately. + Poppler is a PDF rendering library based on the xpdf-3.0 code base. In + addition it provides a number of tools that can be installed separately. ''; - license = licenses.gpl2Plus; platforms = platforms.all; maintainers = with maintainers; [ ttuegel ] ++ teams.freedesktop.members; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 570a93ac66a202a..acb80b0bdc21de5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17697,7 +17697,10 @@ in suffix = "min"; }; - poppler_utils = poppler.override { suffix = "utils"; utils = true; }; + poppler_utils = poppler.override { + suffix = "utils"; + utils = true; + }; popt = callPackage ../development/libraries/popt { };