Merge pull request #127832 from AndersonTorres/quick-patch

poppler: 21.05.0 -> 21.06.01
This commit is contained in:
Anderson Torres 2021-06-23 09:13:48 -03:00 committed by GitHub
commit eb147bf64c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 62 additions and 34 deletions

View file

@ -1,5 +1,20 @@
{ stdenv, lib, fetchurl, cmake, ninja, pkg-config, libiconv, libintl { stdenv
, zlib, curl, cairo, freetype, fontconfig, lcms, libjpeg, openjpeg, fetchpatch , lib
, fetchurl
, fetchpatch
, cairo
, cmake
, curl
, fontconfig
, freetype
, lcms
, libiconv
, libintl
, libjpeg
, ninja
, openjpeg
, pkg-config
, zlib
, withData ? true, poppler_data , withData ? true, poppler_data
, qt5Support ? false, qtbase ? null , qt5Support ? false, qtbase ? null
, introspectionSupport ? false, gobject-introspection ? null , introspectionSupport ? false, gobject-introspection ? null
@ -12,25 +27,38 @@ let
mkFlag = optset: flag: "-DENABLE_${flag}=${if optset then "on" else "off"}"; mkFlag = optset: flag: "-DENABLE_${flag}=${if optset then "on" else "off"}";
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "poppler-${suffix}-${version}"; pname = "poppler-${suffix}";
inherit version;
src = fetchurl { src = fetchurl {
url = "${meta.homepage}/poppler-${version}.tar.xz"; url = "https://poppler.freedesktop.org/poppler-${version}.tar.xz";
sha256 = "1afdrxxkaivvviazxkg5blsf2x24sjkfj92ib0d3q5pm8dihjrhj"; sha256 = "1afdrxxkaivvviazxkg5blsf2x24sjkfj92ib0d3q5pm8dihjrhj";
}; };
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
patches = [ patches = [
# Fix internal crash: a negative number that should not be
(fetchpatch { (fetchpatch {
name = "CVE-2018-13988"; name = "CVE-2018-13988";
url = "https://cgit.freedesktop.org/poppler/poppler/patch/?id=004e3c10df0abda214f0c293f9e269fdd979c5ee"; url = "https://cgit.freedesktop.org/poppler/poppler/patch/?id=004e3c10df0abda214f0c293f9e269fdd979c5ee";
sha256 = "1l8713s57xc6g81bldw934rsfm140fqc7ggd50ha5mxdl1b3app2"; sha256 = "1l8713s57xc6g81bldw934rsfm140fqc7ggd50ha5mxdl1b3app2";
}) })
# Fix internal crash: a negative number that should not be (not the above!)
./0.61-CVE-2019-9959.patch ./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 # TODO: reduce propagation to necessary libs
propagatedBuildInputs = with lib; propagatedBuildInputs = with lib;
@ -39,8 +67,6 @@ stdenv.mkDerivation rec {
++ optional qt5Support qtbase ++ optional qt5Support qtbase
++ optional introspectionSupport gobject-introspection; ++ optional introspectionSupport gobject-introspection;
nativeBuildInputs = [ cmake ninja pkg-config ];
# Not sure when and how to pass it. It seems an upstream bug anyway. # Not sure when and how to pass it. It seems an upstream bug anyway.
CXXFLAGS = lib.optionalString stdenv.cc.isClang "-std=c++11"; CXXFLAGS = lib.optionalString stdenv.cc.isClang "-std=c++11";
@ -58,12 +84,10 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
homepage = "https://poppler.freedesktop.org/"; homepage = "https://poppler.freedesktop.org/";
description = "A PDF rendering library"; description = "A PDF rendering library";
longDescription = '' longDescription = ''
Poppler is a PDF rendering library based on the xpdf-3.0 code base. Poppler is a PDF rendering library based on the xpdf-3.0 code base.
''; '';
license = licenses.gpl2Plus;
license = licenses.gpl2;
platforms = platforms.all; platforms = platforms.all;
maintainers = with maintainers; [ ttuegel ]; maintainers = with maintainers; [ ttuegel ];
}; };

View file

@ -1,44 +1,46 @@
{ stdenv { lib
, lib , stdenv
, fetchurl , fetchurl
, fetchpatch , fetchpatch
, cairo
, cmake , cmake
, ninja , pcre
, pkg-config , boost
, cups-filters
, curl
, fontconfig
, freetype
, inkscape
, lcms
, libiconv , libiconv
, libintl , libintl
, zlib
, curl
, cairo
, freetype
, fontconfig
, lcms
, libjpeg , libjpeg
, ninja
, openjpeg , openjpeg
, pkg-config
, scribusUnstable
, texlive
, zlib
, withData ? true, poppler_data , withData ? true, poppler_data
, qt5Support ? false, qtbase ? null , qt5Support ? false, qtbase ? null
, introspectionSupport ? false, gobject-introspection ? null , introspectionSupport ? false, gobject-introspection ? null
, utils ? false, nss ? null , utils ? false, nss ? null
, minimal ? false , minimal ? false
, suffix ? "glib" , suffix ? "glib"
, inkscape
, cups-filters
, texlive
, scribusUnstable
}: }:
let let
mkFlag = optset: flag: "-DENABLE_${flag}=${if optset then "on" else "off"}"; mkFlag = optset: flag: "-DENABLE_${flag}=${if optset then "on" else "off"}";
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "poppler-${suffix}-${version}"; pname = "poppler-${suffix}";
version = "21.05.0"; # beware: updates often break cups-filters build, check texlive and scribusUnstable too! version = "21.06.1"; # beware: updates often break cups-filters build, check texlive and scribusUnstable too!
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
src = fetchurl { src = fetchurl {
url = "${meta.homepage}/poppler-${version}.tar.xz"; url = "https://poppler.freedesktop.org/poppler-${version}.tar.xz";
sha256 = "sha256-2v1Te2gPrRIVvED8U9HzjoRJ18GFvGDVqJ4dJskNvYw="; sha256 = "sha256-hrCeWgLeQAgaORbvhxHFEo6vSx/FnV+H0Oxm8E9ZXbQ=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -48,6 +50,8 @@ stdenv.mkDerivation rec {
]; ];
buildInputs = [ buildInputs = [
boost
pcre
libiconv libiconv
libintl libintl
] ++ lib.optional withData [ ] ++ lib.optional withData [
@ -98,13 +102,10 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
homepage = "https://poppler.freedesktop.org/"; homepage = "https://poppler.freedesktop.org/";
description = "A PDF rendering library"; description = "A PDF rendering library";
longDescription = '' longDescription = ''
Poppler is a PDF rendering library based on the xpdf-3.0 code Poppler is a PDF rendering library based on the xpdf-3.0 code base. In
base. In addition it provides a number of tools that can be addition it provides a number of tools that can be installed separately.
installed separately.
''; '';
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
platforms = platforms.all; platforms = platforms.all;
maintainers = with maintainers; [ ttuegel ] ++ teams.freedesktop.members; maintainers = with maintainers; [ ttuegel ] ++ teams.freedesktop.members;

View file

@ -17703,7 +17703,10 @@ in
suffix = "min"; suffix = "min";
}; };
poppler_utils = poppler.override { suffix = "utils"; utils = true; }; poppler_utils = poppler.override {
suffix = "utils";
utils = true;
};
popt = callPackage ../development/libraries/popt { }; popt = callPackage ../development/libraries/popt { };