summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorAndré Vitor de Lima Matos <andre.vmatos@gmail.com>2022-04-22 18:01:36 -0300
committerAndré Vitor de Lima Matos <andre.vmatos@gmail.com>2022-04-24 19:05:45 -0300
commite587dcb9811bab41a9fdbc87a1d70a3a7684ecba (patch)
treeb8a65b42010570be1970c1346b1e94519166cb9b /pkgs
parent2e19b6769576ffd7e7693f81c52e88f87fe02408 (diff)
calligra: build with poppler 22.03 and drop poppler_0_61
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/office/calligra/default.nix16
-rw-r--r--pkgs/development/libraries/poppler/0.61-CVE-2019-9959.patch20
-rw-r--r--pkgs/development/libraries/poppler/0.61.nix94
-rw-r--r--pkgs/top-level/all-packages.nix6
-rw-r--r--pkgs/top-level/qt5-packages.nix6
5 files changed, 17 insertions, 125 deletions
diff --git a/pkgs/applications/office/calligra/default.nix b/pkgs/applications/office/calligra/default.nix
index 234d49102889c..e18c0f21ae3f7 100644
--- a/pkgs/applications/office/calligra/default.nix
+++ b/pkgs/applications/office/calligra/default.nix
@@ -30,7 +30,23 @@ mkDerivation rec {
       sha256 = "11dzrp9q05dmvnwp4vk4ihcibqcf4xyr0ijscpi716cyy730flma";
       excludes = [ "CMakeLists.txt" ];
     })
+    # Fixes for building calligra with modern poppler[-qt5]
+    (fetchpatch {
+      name = "poppler-22.03.0.patch";
+      url = "https://github.com/archlinux/svntogit-packages/raw/8f328bef497a9e3bc628e4e294c1a70b0c8b0eab/trunk/poppler-22.03.0.patch";
+      sha256 = "sha256-bOTnQcavXF49LIshNgzhXhyoEjzLmQJC/U7hO5P0bfY=";
+    })
+    # Fixes for building calligra with gcc11/c++17
+    (fetchpatch {
+      name = "build_c++17_poppler.patch";
+      url = "https://github.com/archlinux/svntogit-packages/raw/bbbe35f97eb1033798f1cf95d427890168598199/trunk/068cd9ae.patch";
+      sha256 = "sha256-d9/ILwSeW+ov11DF191hzIaUafO/rjQrAeONwqDSKbA=";
+    })
   ];
+  postPatch = ''
+    substituteInPlace CMakeLists.txt \
+      --replace 'CMAKE_CXX_STANDARD 11' 'CMAKE_CXX_STANDARD 17'
+  '';
 
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
 
diff --git a/pkgs/development/libraries/poppler/0.61-CVE-2019-9959.patch b/pkgs/development/libraries/poppler/0.61-CVE-2019-9959.patch
deleted file mode 100644
index 5c2af7a2adc20..0000000000000
--- a/pkgs/development/libraries/poppler/0.61-CVE-2019-9959.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/poppler/JPEG2000Stream.cc b/poppler/JPEG2000Stream.cc
---- a/poppler/JPEG2000Stream.cc
-+++ b/poppler/JPEG2000Stream.cc
-@@ -201,7 +201,7 @@ void JPXStream::init()
-   if (getDict()) smaskInData = getDict()->lookup("SMaskInData");
- 
-   int bufSize = BUFFER_INITIAL_SIZE;
--  if (oLen.isInt()) bufSize = oLen.getInt();
-+  if (oLen.isInt() && oLen.getInt() > 0) bufSize = oLen.getInt();
- 
-   if (cspace.isArray() && cspace.arrayGetLength() > 0) {
-
-@@ -365,7 +365,7 @@ void JPXStream::init()
-   }
- 
-   int bufSize = BUFFER_INITIAL_SIZE;
--  if (oLen.isInt()) bufSize = oLen.getInt();
-+  if (oLen.isInt() && oLen.getInt() > 0) bufSize = oLen.getInt();
- 
-   if (cspace.isArray() && cspace.arrayGetLength() > 0) {
diff --git a/pkgs/development/libraries/poppler/0.61.nix b/pkgs/development/libraries/poppler/0.61.nix
deleted file mode 100644
index e46da53f68dc4..0000000000000
--- a/pkgs/development/libraries/poppler/0.61.nix
+++ /dev/null
@@ -1,94 +0,0 @@
-{ 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
-, utils ? false
-, minimal ? false, suffix ? "glib"
-}:
-
-let
-  version = "0.61.1";
-  mkFlag = optset: flag: "-DENABLE_${flag}=${if optset then "on" else "off"}";
-in
-stdenv.mkDerivation rec {
-  pname = "poppler-${suffix}";
-  inherit version;
-
-  src = fetchurl {
-    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
-  ];
-
-  nativeBuildInputs = [
-    cmake
-    ninja
-    pkg-config
-  ];
-
-  buildInputs = [
-    libiconv
-    libintl
-  ]
-  ++ lib.optional withData poppler_data;
-
-  # TODO: reduce propagation to necessary libs
-  propagatedBuildInputs = with lib;
-    [ zlib freetype fontconfig libjpeg openjpeg ]
-    ++ optionals (!minimal) [ cairo lcms curl ]
-    ++ optional qt5Support qtbase
-    ++ optional introspectionSupport gobject-introspection;
-
-  # Not sure when and how to pass it.  It seems an upstream bug anyway.
-  CXXFLAGS = lib.optionalString stdenv.cc.isClang "-std=c++11";
-
-  cmakeFlags = [
-    (mkFlag true "XPDF_HEADERS")
-    (mkFlag (!minimal) "GLIB")
-    (mkFlag (!minimal) "CPP")
-    (mkFlag (!minimal) "LIBCURL")
-    (mkFlag utils "UTILS")
-    (mkFlag qt5Support "QT5")
-  ];
-
-  dontWrapQtApps = true;
-
-  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.gpl2Plus;
-    platforms = platforms.all;
-    maintainers = with maintainers; [ ttuegel ];
-  };
-}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 6302571e1a664..9406627cfad4e 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -19952,7 +19952,6 @@ with pkgs;
   polkit = callPackage ../development/libraries/polkit { };
 
   poppler = callPackage ../development/libraries/poppler { lcms = lcms2; };
-  poppler_0_61 = callPackage ../development/libraries/poppler/0.61.nix { lcms = lcms2; };
 
   poppler_gi = lowPrio (poppler.override {
     introspectionSupport = true;
@@ -25321,10 +25320,7 @@ with pkgs;
 
   calibre-web = callPackage ../servers/calibre-web { };
 
-  calligra = libsForQt5.callPackage ../applications/office/calligra {
-    # Must use the same Qt version as Calligra itself:
-    poppler = libsForQt5.poppler_0_61;
-  };
+  calligra = libsForQt5.callPackage ../applications/office/calligra { };
 
   perkeep = callPackage ../applications/misc/perkeep { };
 
diff --git a/pkgs/top-level/qt5-packages.nix b/pkgs/top-level/qt5-packages.nix
index 081fa0c850265..a3f7c1a76e400 100644
--- a/pkgs/top-level/qt5-packages.nix
+++ b/pkgs/top-level/qt5-packages.nix
@@ -166,12 +166,6 @@ in (kdeFrameworks // plasmaMobileGear // plasma5 // plasma5.thirdParty // kdeGea
     suffix = "qt5";
   };
 
-  poppler_0_61 = callPackage ../development/libraries/poppler/0.61.nix {
-    lcms = pkgs.lcms2;
-    qt5Support = true;
-    suffix = "qt5";
-  };
-
   pulseaudio-qt = callPackage ../development/libraries/pulseaudio-qt { };
 
   qca-qt5 = callPackage ../development/libraries/qca-qt5 { };