Package: pdftoipe Severity: normal Tags: patch X-Debbugs-Cc: nathan.teodo...@canonical.com
Dear Maintainer, Since Poppler 22.06 is made its way into experimental, Pdftoipe will need compatibility changes to build. I got the merge request from https://github.com/otfried/ipe- tools/pull/48/commits/14335180432152ad094300d0afd00d8e390469b2 and adapted it so that it doesn't break builds with previous Poppler versions. The result is in the attached patch. With Sbuilder I made sure it builds against both current and new Poppler. -- System Information: Debian Release: bookworm/sid APT prefers kinetic APT policy: (500, 'kinetic') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 5.15.0-33-generic (SMP w/8 CPU threads) Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE Locale: LANG=en_US.UTF-8, LC_CTYPE=pt_BR.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages pdftoipe depends on: ii libc6 2.35-0ubuntu3 ii libgcc-s1 12.1.0-2ubuntu1 pn libpoppler118 <none> ii libstdc++6 12.1.0-2ubuntu1 Versions of packages pdftoipe recommends: pn ipe <none> pdftoipe suggests no packages. *** /home/nteodosio/canonical/debian-updates/poppler/ipetools.diff diff -Nru ipe-tools-7.2.24.1/debian/changelog ipe-tools-7.2.24.1/debian/changelog --- ipe-tools-7.2.24.1/debian/changelog 2022-02-19 15:56:57.000000000 -0300 +++ ipe-tools-7.2.24.1/debian/changelog 2022-06-15 09:06:32.000000000 -0300 @@ -1,3 +1,11 @@ +ipe-tools (1:7.2.24.1-2) UNRELEASED; urgency=medium + + [ Nathan Pratta Teodosio ] + * build-with-poppler-22.03.patch: Fix build for poppler 22.03. + * d/control: Build depends on libpoppler-cpp-dev. + + -- Nathan Pratta Teodosio <nathan.teodo...@canonical.com> Wed, 15 Jun 2022 09:06:32 -0300 + ipe-tools (1:7.2.24.1-1) unstable; urgency=medium [ Steve Robbins ] diff -Nru ipe-tools-7.2.24.1/debian/control ipe-tools-7.2.24.1/debian/control --- ipe-tools-7.2.24.1/debian/control 2022-02-19 15:56:57.000000000 -0300 +++ ipe-tools-7.2.24.1/debian/control 2022-06-15 09:05:56.000000000 -0300 @@ -8,7 +8,8 @@ dh-python, python3:any | python3-all:any | python3-dev:any | python3-all-dev:any | dh-sequence-python3, pkg-config, - libpoppler-private-dev + libpoppler-private-dev, + libpoppler-cpp-dev Standards-Version: 4.1.3 Vcs-Browser: https://salsa.debian.org/science-team/ipe-tools Vcs-Git: https://salsa.debian.org/science-team/ipe-tools.git diff -Nru ipe-tools-7.2.24.1/debian/patches/build-with-poppler-22.03.patch ipe-tools-7.2.24.1/debian/patches/build-with-poppler-22.03.patch --- ipe-tools-7.2.24.1/debian/patches/build-with-poppler-22.03.patch 1969-12-31 21:00:00.000000000 -0300 +++ ipe-tools-7.2.24.1/debian/patches/build-with-poppler-22.03.patch 2022-06-15 09:06:32.000000000 -0300 @@ -0,0 +1,42 @@ +Author: Nathan Pratta Teodosio <nathan.teodo...@canonical.com>, oreo639 +Description: Fix build for poppler >22.03 + +--- a/pdftoipe/pdftoipe.cpp 2022-06-15 08:45:57.248773786 -0300 ++++ b/pdftoipe/pdftoipe.cpp 2022-06-15 08:45:23.915883939 -0300 +@@ -7,6 +7,7 @@ + #include <stdlib.h> + #include <stddef.h> + #include <string.h> ++#include <poppler/cpp/poppler-version.h> + + #include "goo/GooString.h" + #include "goo/gmem.h" +@@ -84,6 +85,20 @@ + if (quiet) + globalParams->setErrQuiet(quiet); + ++#if POPPLER_VERSION_MAJOR > 22 || (POPPLER_VERSION_MAJOR == 22 && POPPLER_VERSION_MINOR >= 3) ++ std::optional<GooString> ownerPW, userPW; ++ if (ownerPassword[0]) { ++ ownerPW = GooString(ownerPassword); ++ } else { ++ ownerPW = std::nullopt; ++ } ++ if (userPassword[0]) { ++ userPW = GooString(userPassword); ++ } else { ++ userPW = std::nullopt; ++ } ++ PDFDoc *doc = new PDFDoc(std::make_unique<GooString>(fileName), ownerPW, userPW); ++#else + GooString *ownerPW, *userPW; + if (ownerPassword[0]) { + ownerPW = new GooString(ownerPassword); +@@ -100,6 +115,7 @@ + PDFDoc *doc = new PDFDoc(fileName, ownerPW, userPW); + delete userPW; + delete ownerPW; ++#endif + + if (!doc->isOk()) + return 1; diff -Nru ipe-tools-7.2.24.1/debian/patches/series ipe-tools-7.2.24.1/debian/patches/series --- ipe-tools-7.2.24.1/debian/patches/series 2022-02-19 15:56:57.000000000 -0300 +++ ipe-tools-7.2.24.1/debian/patches/series 2022-06-15 09:06:32.000000000 -0300 @@ -1 +1,2 @@ +build-with-poppler-22.03.patch cross.patch
diff -Nru ipe-tools-7.2.24.1/debian/changelog ipe-tools-7.2.24.1/debian/changelog --- ipe-tools-7.2.24.1/debian/changelog 2022-02-19 15:56:57.000000000 -0300 +++ ipe-tools-7.2.24.1/debian/changelog 2022-06-15 09:06:32.000000000 -0300 @@ -1,3 +1,11 @@ +ipe-tools (1:7.2.24.1-2) UNRELEASED; urgency=medium + + [ Nathan Pratta Teodosio ] + * build-with-poppler-22.03.patch: Fix build for poppler 22.03. + * d/control: Build depends on libpoppler-cpp-dev. + + -- Nathan Pratta Teodosio <nathan.teodo...@canonical.com> Wed, 15 Jun 2022 09:06:32 -0300 + ipe-tools (1:7.2.24.1-1) unstable; urgency=medium [ Steve Robbins ] diff -Nru ipe-tools-7.2.24.1/debian/control ipe-tools-7.2.24.1/debian/control --- ipe-tools-7.2.24.1/debian/control 2022-02-19 15:56:57.000000000 -0300 +++ ipe-tools-7.2.24.1/debian/control 2022-06-15 09:05:56.000000000 -0300 @@ -8,7 +8,8 @@ dh-python, python3:any | python3-all:any | python3-dev:any | python3-all-dev:any | dh-sequence-python3, pkg-config, - libpoppler-private-dev + libpoppler-private-dev, + libpoppler-cpp-dev Standards-Version: 4.1.3 Vcs-Browser: https://salsa.debian.org/science-team/ipe-tools Vcs-Git: https://salsa.debian.org/science-team/ipe-tools.git diff -Nru ipe-tools-7.2.24.1/debian/patches/build-with-poppler-22.03.patch ipe-tools-7.2.24.1/debian/patches/build-with-poppler-22.03.patch --- ipe-tools-7.2.24.1/debian/patches/build-with-poppler-22.03.patch 1969-12-31 21:00:00.000000000 -0300 +++ ipe-tools-7.2.24.1/debian/patches/build-with-poppler-22.03.patch 2022-06-15 09:06:32.000000000 -0300 @@ -0,0 +1,42 @@ +Author: Nathan Pratta Teodosio <nathan.teodo...@canonical.com>, oreo639 +Description: Fix build for poppler >22.03 + +--- a/pdftoipe/pdftoipe.cpp 2022-06-15 08:45:57.248773786 -0300 ++++ b/pdftoipe/pdftoipe.cpp 2022-06-15 08:45:23.915883939 -0300 +@@ -7,6 +7,7 @@ + #include <stdlib.h> + #include <stddef.h> + #include <string.h> ++#include <poppler/cpp/poppler-version.h> + + #include "goo/GooString.h" + #include "goo/gmem.h" +@@ -84,6 +85,20 @@ + if (quiet) + globalParams->setErrQuiet(quiet); + ++#if POPPLER_VERSION_MAJOR > 22 || (POPPLER_VERSION_MAJOR == 22 && POPPLER_VERSION_MINOR >= 3) ++ std::optional<GooString> ownerPW, userPW; ++ if (ownerPassword[0]) { ++ ownerPW = GooString(ownerPassword); ++ } else { ++ ownerPW = std::nullopt; ++ } ++ if (userPassword[0]) { ++ userPW = GooString(userPassword); ++ } else { ++ userPW = std::nullopt; ++ } ++ PDFDoc *doc = new PDFDoc(std::make_unique<GooString>(fileName), ownerPW, userPW); ++#else + GooString *ownerPW, *userPW; + if (ownerPassword[0]) { + ownerPW = new GooString(ownerPassword); +@@ -100,6 +115,7 @@ + PDFDoc *doc = new PDFDoc(fileName, ownerPW, userPW); + delete userPW; + delete ownerPW; ++#endif + + if (!doc->isOk()) + return 1; diff -Nru ipe-tools-7.2.24.1/debian/patches/series ipe-tools-7.2.24.1/debian/patches/series --- ipe-tools-7.2.24.1/debian/patches/series 2022-02-19 15:56:57.000000000 -0300 +++ ipe-tools-7.2.24.1/debian/patches/series 2022-06-15 09:06:32.000000000 -0300 @@ -1 +1,2 @@ +build-with-poppler-22.03.patch cross.patch