diff --git a/packages/gegl/build.sh b/packages/gegl/build.sh
index dad6143c64..524d17724f 100644
--- a/packages/gegl/build.sh
+++ b/packages/gegl/build.sh
@@ -3,8 +3,8 @@ TERMUX_PKG_DESCRIPTION="Data flow based image processing framework"
TERMUX_PKG_LICENSE="GPL-3.0"
TERMUX_PKG_MAINTAINER="@termux"
TERMUX_PKG_VERSION="0.4.66"
-TERMUX_PKG_REVISION=1
-TERMUX_PKG_SRCURL=https://gitlab.gnome.org/GNOME/gegl/-/archive/GEGL_${TERMUX_PKG_VERSION//./_}/gegl-GEGL_${TERMUX_PKG_VERSION//./_}.tar.gz
+TERMUX_PKG_REVISION=2
+TERMUX_PKG_SRCURL="https://gitlab.gnome.org/GNOME/gegl/-/archive/GEGL_${TERMUX_PKG_VERSION//./_}/gegl-GEGL_${TERMUX_PKG_VERSION//./_}.tar.gz"
TERMUX_PKG_SHA256=fef15939aad59a34596a1fa89ddadfe409fee37ccd8e3a4df4d13fd30890183e
TERMUX_PKG_DEPENDS="babl, ffmpeg, gdk-pixbuf, glib, imath, json-glib, libandroid-support, libc++, libcairo, libjasper, libjpeg-turbo, libpng, libraw, librsvg, libtiff, libwebp, littlecms, openexr, pango, poppler"
TERMUX_PKG_AUTO_UPDATE=true
diff --git a/packages/libvips/build.sh b/packages/libvips/build.sh
index e864e78cfe..c2f8f65a9f 100644
--- a/packages/libvips/build.sh
+++ b/packages/libvips/build.sh
@@ -3,8 +3,8 @@ TERMUX_PKG_DESCRIPTION="A fast image processing library with low memory needs"
TERMUX_PKG_LICENSE="LGPL-2.1"
TERMUX_PKG_MAINTAINER="@termux"
TERMUX_PKG_VERSION="8.18.0"
-TERMUX_PKG_REVISION=1
-TERMUX_PKG_SRCURL=https://github.com/libvips/libvips/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz
+TERMUX_PKG_REVISION=2
+TERMUX_PKG_SRCURL="https://github.com/libvips/libvips/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz"
TERMUX_PKG_SHA256=33bf7fad3d775389a2bfbae4b391196ffedcfa1f3fed258ec506d9c0241b0612
TERMUX_PKG_AUTO_UPDATE=true
TERMUX_PKG_DEPENDS="cgif, fftw, fontconfig, glib, imagemagick, imath, libc++, libcairo, libexif, libexpat, libheif, libimagequant, libjpeg-turbo, libjxl, libpng, librsvg, libtiff, libwebp, littlecms, openexr, openjpeg, pango, poppler, zlib"
diff --git a/packages/pdf2svg/build.sh b/packages/pdf2svg/build.sh
index c30c0c9f01..660d8ff11d 100644
--- a/packages/pdf2svg/build.sh
+++ b/packages/pdf2svg/build.sh
@@ -3,8 +3,8 @@ TERMUX_PKG_DESCRIPTION="A PDF to SVG converter"
TERMUX_PKG_LICENSE="GPL-2.0"
TERMUX_PKG_MAINTAINER="@termux"
TERMUX_PKG_VERSION="0.2.4"
-TERMUX_PKG_REVISION=1
-TERMUX_PKG_SRCURL=https://github.com/db9052/pdf2svg/archive/refs/tags/v$TERMUX_PKG_VERSION.tar.gz
+TERMUX_PKG_REVISION=2
+TERMUX_PKG_SRCURL="https://github.com/db9052/pdf2svg/archive/refs/tags/v$TERMUX_PKG_VERSION.tar.gz"
TERMUX_PKG_SHA256=fd765256f18b5890639e93cabdf631b640966ed1ea9ebd561aede9d3be2155e4
TERMUX_PKG_AUTO_UPDATE=true
TERMUX_PKG_DEPENDS="glib, libcairo, poppler"
diff --git a/packages/pdfgrep/build.sh b/packages/pdfgrep/build.sh
index 4af18a0c63..ca1e35e3c8 100644
--- a/packages/pdfgrep/build.sh
+++ b/packages/pdfgrep/build.sh
@@ -3,8 +3,8 @@ TERMUX_PKG_DESCRIPTION="Command line utility to search text in PDF files"
TERMUX_PKG_LICENSE="GPL-2.0"
TERMUX_PKG_MAINTAINER="@termux"
TERMUX_PKG_VERSION="2.2.0"
-TERMUX_PKG_REVISION=4
-TERMUX_PKG_SRCURL=https://pdfgrep.org/download/pdfgrep-$TERMUX_PKG_VERSION.tar.gz
+TERMUX_PKG_REVISION=5
+TERMUX_PKG_SRCURL="https://pdfgrep.org/download/pdfgrep-$TERMUX_PKG_VERSION.tar.gz"
TERMUX_PKG_SHA256=0661e531e4c0ef097959aa1c9773796585db39c72c84a02ff87d2c3637c620cb
TERMUX_PKG_AUTO_UPDATE=true
TERMUX_PKG_DEPENDS="libc++, libgcrypt, libgpg-error, pcre2, poppler"
diff --git a/packages/poppler/build.sh b/packages/poppler/build.sh
index 9dfeaef59b..e8f6516bf0 100644
--- a/packages/poppler/build.sh
+++ b/packages/poppler/build.sh
@@ -3,10 +3,9 @@ TERMUX_PKG_DESCRIPTION="PDF rendering library"
TERMUX_PKG_LICENSE="GPL-2.0"
TERMUX_PKG_MAINTAINER="@termux"
# Please align the version with `poppler-qt` package.
-TERMUX_PKG_VERSION="24.05.0"
-TERMUX_PKG_REVISION=5
+TERMUX_PKG_VERSION="26.02.0"
TERMUX_PKG_SRCURL="https://poppler.freedesktop.org/poppler-${TERMUX_PKG_VERSION}.tar.xz"
-TERMUX_PKG_SHA256=d8c5eb30b50285ad9f0af8c6335cc2d3b9597fca475cbc2598a5479fa379f779
+TERMUX_PKG_SHA256=dded8621f7b2f695c91063aab1558691c8418374cd583501e89ed39487e7ab77
# The package must be updated at the same time as poppler, auto updater script does not support that.
TERMUX_PKG_AUTO_UPDATE=false
TERMUX_PKG_DEPENDS="fontconfig, freetype, glib, gpgme, gpgmepp, libc++, libcairo, libcurl, libiconv, libjpeg-turbo, libnspr, libnss, libpng, libtiff, littlecms, openjpeg, zlib"
@@ -28,7 +27,7 @@ TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
termux_step_pre_configure() {
# Do not forget to bump revision of reverse dependencies and rebuild them
# when SOVERSION is changed.
- local _POPPLER_SOVERSION=137
+ local _POPPLER_SOVERSION=157
if ! test "${_POPPLER_SOVERSION}"; then
termux_error_exit "Please set _POPPLER_SOVERSION variable."
fi
diff --git a/packages/poppler/gir/Poppler-0.18.xml b/packages/poppler/gir/Poppler-0.18.xml
index bee968bee9..c408871a63 100644
--- a/packages/poppler/gir/Poppler-0.18.xml
+++ b/packages/poppler/gir/Poppler-0.18.xml
@@ -163,6 +163,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -464,7 +488,41 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -494,6 +552,7 @@
+
@@ -507,7 +566,10 @@
-
+
+
+
+
diff --git a/packages/timg/build.sh b/packages/timg/build.sh
index 04119768de..f96b010b28 100644
--- a/packages/timg/build.sh
+++ b/packages/timg/build.sh
@@ -3,8 +3,8 @@ TERMUX_PKG_DESCRIPTION="A terminal image and video viewer"
TERMUX_PKG_LICENSE="GPL-2.0"
TERMUX_PKG_MAINTAINER="@termux"
TERMUX_PKG_VERSION="1.6.3"
-TERMUX_PKG_REVISION=1
-TERMUX_PKG_SRCURL=https://github.com/hzeller/timg/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz
+TERMUX_PKG_REVISION=2
+TERMUX_PKG_SRCURL="https://github.com/hzeller/timg/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz"
TERMUX_PKG_SHA256=59c908867f18c81106385a43065c232e63236e120d5b2596b179ce56340d7b01
TERMUX_PKG_AUTO_UPDATE=true
TERMUX_PKG_DEPENDS="ffmpeg, graphicsmagick, libc++, libcairo, libdeflate, libjpeg-turbo, libexif, librsvg, libsixel, poppler, zlib"
diff --git a/x11-packages/atril/build.sh b/x11-packages/atril/build.sh
index d6abbbfdd6..cc70c791f3 100644
--- a/x11-packages/atril/build.sh
+++ b/x11-packages/atril/build.sh
@@ -3,8 +3,8 @@ TERMUX_PKG_DESCRIPTION="MATE document viewer"
TERMUX_PKG_LICENSE="GPL-2.0"
TERMUX_PKG_MAINTAINER="@termux"
TERMUX_PKG_VERSION="1.28.1"
-TERMUX_PKG_REVISION=3
-TERMUX_PKG_SRCURL=https://pub.mate-desktop.org/releases/${TERMUX_PKG_VERSION%.*}/atril-${TERMUX_PKG_VERSION}.tar.xz
+TERMUX_PKG_REVISION=4
+TERMUX_PKG_SRCURL="https://pub.mate-desktop.org/releases/${TERMUX_PKG_VERSION%.*}/atril-${TERMUX_PKG_VERSION}.tar.xz"
TERMUX_PKG_SHA256=74c4f42979f3ead52def23767448d06ad7f715421e03c9b509404b096de8193e
TERMUX_PKG_AUTO_UPDATE=true
# links with poppler-glib, not poppler
diff --git a/x11-packages/calligra/build.sh b/x11-packages/calligra/build.sh
index 43e2b10d63..ad414f8fad 100644
--- a/x11-packages/calligra/build.sh
+++ b/x11-packages/calligra/build.sh
@@ -3,6 +3,7 @@ TERMUX_PKG_DESCRIPTION="Office and graphic art suite by KDE"
TERMUX_PKG_LICENSE="GPL-2.0"
TERMUX_PKG_MAINTAINER="@termux"
TERMUX_PKG_VERSION="25.12.2"
+TERMUX_PKG_REVISION=1
TERMUX_PKG_SRCURL="https://download.kde.org/stable/release-service/${TERMUX_PKG_VERSION}/src/calligra-${TERMUX_PKG_VERSION}.tar.xz"
TERMUX_PKG_SHA256=f29a18bdd96c3d009a8056e9c60110c4d65ced30a71d7cd976e3a0849b40abb0
# it could use qt6-qtwebengine, but that dependency is not available for 32-bit x86 architecture.
diff --git a/x11-packages/calligra/poppler-26.02.0.patch b/x11-packages/calligra/poppler-26.02.0.patch
new file mode 100644
index 0000000000..4281775660
--- /dev/null
+++ b/x11-packages/calligra/poppler-26.02.0.patch
@@ -0,0 +1,86 @@
+From c8e2fab05cea73b6b74755ab3eb02478625c419c Mon Sep 17 00:00:00 2001
+From: Heiko Becker
+Date: Sat, 7 Feb 2026 00:15:21 +0100
+Subject: [PATCH] Fix build with poppler 26.02.0
+
+...and adapt to the changes introduced with
+https://gitlab.freedesktop.org/poppler/poppler/-/commit/99433381912d2d5963646cc54ddd22e3c5db071b
+
+BUG: 515875
+
+(cherry picked from commit 209d2995df95657c044064d2fa72ab3a6e8eb13f)
+---
+ filters/karbon/pdf/SvgOutputDev.cpp | 12 ++++++++++++
+ filters/karbon/pdf/SvgOutputDev.h | 8 ++++++++
+ 2 files changed, 20 insertions(+)
+
+diff --git a/filters/karbon/pdf/SvgOutputDev.cpp b/filters/karbon/pdf/SvgOutputDev.cpp
+index 178631e02af..94a5e91087d 100644
+--- a/filters/karbon/pdf/SvgOutputDev.cpp
++++ b/filters/karbon/pdf/SvgOutputDev.cpp
+@@ -210,7 +210,11 @@ QString SvgOutputDev::convertMatrix(const QTransform &matrix)
+ return QString("matrix(%1 %2 %3 %4 %5 %6)").arg(matrix.m11()).arg(matrix.m12()).arg(matrix.m21()).arg(matrix.m22()).arg(matrix.dx()).arg(matrix.dy());
+ }
+
++#if POPPLER_VERSION_MACRO < QT_VERSION_CHECK(26, 2, 0)
+ QString SvgOutputDev::convertMatrix(const double *matrix)
++#else
++QString SvgOutputDev::convertMatrix(const std::array &matrix)
++#endif
+ {
+ return QString("matrix(%1 %2 %3 %4 %5 %6)").arg(matrix[0]).arg(matrix[1]).arg(matrix[2]).arg(matrix[3]).arg(matrix[4]).arg(matrix[5]);
+ }
+@@ -434,7 +438,11 @@ void SvgOutputDev::drawString(GfxState *state, const GooString *s)
+ double x = state->getCurX();
+ double y = state->getCurY();
+
++#if POPPLER_VERSION_MACRO < QT_VERSION_CHECK(26, 2, 0)
+ const double *ctm = state->getCTM();
++#else
++ const std::array &ctm = state->getCTM();
++#endif
+ QTransform transform(ctm[0], ctm[1], ctm[2], ctm[3], ctm[4], ctm[5]);
+
+ QTransform mirror;
+@@ -539,7 +547,11 @@ void SvgOutputDev::drawImage(GfxState *state,
+ return;
+ }
+
++#if POPPLER_VERSION_MACRO < QT_VERSION_CHECK(26, 2, 0)
+ const double *ctm = state->getCTM();
++#else
++ const std::array &ctm = state->getCTM();
++#endif
+ QTransform m(ctm[0] / width, ctm[1] / width, -ctm[2] / height, -ctm[3] / height, ctm[2] + ctm[4], ctm[3] + ctm[5]);
+
+ QByteArray ba;
+diff --git a/filters/karbon/pdf/SvgOutputDev.h b/filters/karbon/pdf/SvgOutputDev.h
+index e2a78285332..721894b1de6 100644
+--- a/filters/karbon/pdf/SvgOutputDev.h
++++ b/filters/karbon/pdf/SvgOutputDev.h
+@@ -12,6 +12,10 @@
+
+ #include
+
++#include
++
++#define POPPLER_VERSION_MACRO ((POPPLER_VERSION_MAJOR << 16) | (POPPLER_VERSION_MINOR << 8) | (POPPLER_VERSION_MICRO))
++
+ class GfxPath;
+ class QTransform;
+ class GooString;
+@@ -69,7 +73,11 @@ public:
+ private:
+ QString convertPath(const GfxPath *path);
+ QString convertMatrix(const QTransform &matrix);
++#if POPPLER_VERSION_MACRO < QT_VERSION_CHECK(26, 2, 0)
+ QString convertMatrix(const double *matrix);
++#else
++ QString convertMatrix(const std::array &matrix);
++#endif
+ QString printFill();
+ QString printStroke();
+
+--
+GitLab
+
diff --git a/x11-packages/dia/build.sh b/x11-packages/dia/build.sh
index 5fda0c7457..482719cf22 100644
--- a/x11-packages/dia/build.sh
+++ b/x11-packages/dia/build.sh
@@ -2,11 +2,11 @@ TERMUX_PKG_HOMEPAGE=http://dia-installer.de
TERMUX_PKG_DESCRIPTION="Diagram editor, compatible with Micrososft Visio"
TERMUX_PKG_LICENSE="GPL-2.0"
TERMUX_PKG_MAINTAINER="@termux"
-_COMMIT=8d60cdc8bd1861b4b64b7db4ae3d1fd2091e8d81
-TERMUX_PKG_VERSION=0.97.2-p20251217
+_COMMIT=ea793ab3eb2e5dc50e5191d782d222e15de1eccc
+TERMUX_PKG_VERSION="0.97.2-p20260216"
TERMUX_PKG_SRCURL=git+https://gitlab.gnome.org/GNOME/dia
TERMUX_PKG_GIT_BRANCH=master
-TERMUX_PKG_SHA256=c8a3a51bf6d1cafb2b509b1efb12a742dbce8fbbb7ebe07dcd44e63ac280fb30
+TERMUX_PKG_SHA256=2c12ff3b8c6575020e7df5c5c6f9307e8b3b748305f899b5011aeadcedf90886
TERMUX_PKG_REPOLOGY_METADATA_VERSION="${TERMUX_PKG_VERSION%%-*}"
TERMUX_PKG_AUTO_UPDATE=false
TERMUX_PKG_GROUPS="graphics"
diff --git a/x11-packages/evince/build.sh b/x11-packages/evince/build.sh
index d62d9c87d6..769da052ca 100644
--- a/x11-packages/evince/build.sh
+++ b/x11-packages/evince/build.sh
@@ -3,8 +3,8 @@ TERMUX_PKG_DESCRIPTION="document viewer for multiple document formats"
TERMUX_PKG_LICENSE="GPL-2.0"
TERMUX_PKG_MAINTAINER="@termux"
TERMUX_PKG_VERSION="48.1"
-TERMUX_PKG_REVISION=1
-TERMUX_PKG_SRCURL=https://download.gnome.org/sources/evince/${TERMUX_PKG_VERSION%%.*}/evince-${TERMUX_PKG_VERSION}.tar.xz
+TERMUX_PKG_REVISION=2
+TERMUX_PKG_SRCURL="https://download.gnome.org/sources/evince/${TERMUX_PKG_VERSION%%.*}/evince-${TERMUX_PKG_VERSION}.tar.xz"
TERMUX_PKG_SHA256=7d8b9a6fa3a05d3f5b9048859027688c73a788ff6e923bc3945126884943fa10
TERMUX_PKG_AUTO_UPDATE=true
TERMUX_PKG_DEPENDS="atk, djvulibre, gdk-pixbuf, glib, gnome-desktop3, gst-plugins-base, gst-plugins-good, gstreamer, gtk3, libarchive, libcairo, libgxps, libhandy, libsecret, libspectre, libtiff, libxml2, pango, poppler, poppler-data, texlive-bin"
diff --git a/x11-packages/gimp/build.sh b/x11-packages/gimp/build.sh
index 61c1166904..43f7c6a7ec 100644
--- a/x11-packages/gimp/build.sh
+++ b/x11-packages/gimp/build.sh
@@ -3,7 +3,7 @@ TERMUX_PKG_DESCRIPTION="GNU Image Manipulation Program"
TERMUX_PKG_LICENSE="GPL-3.0, LGPL-3.0"
TERMUX_PKG_MAINTAINER="@termux"
TERMUX_PKG_VERSION="3.0.8"
-TERMUX_PKG_REVISION=1
+TERMUX_PKG_REVISION=2
TERMUX_PKG_SRCURL=git+https://gitlab.gnome.org/GNOME/gimp
TERMUX_PKG_GIT_BRANCH="GIMP_${TERMUX_PKG_VERSION//./_}"
TERMUX_PKG_AUTO_UPDATE=true
diff --git a/x11-packages/inkscape/build.sh b/x11-packages/inkscape/build.sh
index 98fae493af..3d69b203b1 100644
--- a/x11-packages/inkscape/build.sh
+++ b/x11-packages/inkscape/build.sh
@@ -15,7 +15,7 @@ LICENSES/OFL-1.1.txt
"
TERMUX_PKG_MAINTAINER="@termux"
TERMUX_PKG_VERSION="1.4.3"
-TERMUX_PKG_REVISION=2
+TERMUX_PKG_REVISION=3
TERMUX_PKG_SRCURL="https://media.inkscape.org/dl/resources/file/inkscape-${TERMUX_PKG_VERSION}.tar.xz"
TERMUX_PKG_SHA256=e83a2c3db570b6c5a1ff0fccfe7098837b3f6bd74b133567937c8a91710ed1d1
TERMUX_PKG_AUTO_UPDATE=true
diff --git a/x11-packages/inkscape/poppler-26.01.0.patch b/x11-packages/inkscape/poppler-26.01.0.patch
new file mode 100644
index 0000000000..d6f2580905
--- /dev/null
+++ b/x11-packages/inkscape/poppler-26.01.0.patch
@@ -0,0 +1,61 @@
+From 3640b28ff1afcf44e6ed874212eaed949ed3b08c Mon Sep 17 00:00:00 2001
+From: Thomas Holder
+Date: Sat, 10 Jan 2026 23:44:10 +0100
+Subject: [PATCH] Fix build with poppler 26.01.0
+
+---
+ src/extension/internal/pdfinput/pdf-input.cpp | 1 +
+ src/extension/internal/pdfinput/svg-builder.cpp | 9 +++++++++
+ 2 files changed, 10 insertions(+)
+
+diff --git a/src/extension/internal/pdfinput/pdf-input.cpp b/src/extension/internal/pdfinput/pdf-input.cpp
+index 7b5e0ecb1d..539d737e52 100644
+--- a/src/extension/internal/pdfinput/pdf-input.cpp
++++ b/src/extension/internal/pdfinput/pdf-input.cpp
+@@ -28,6 +28,7 @@
+ #include
+ #include
+ #include
++#include
+
+ #ifdef HAVE_POPPLER_CAIRO
+ #include
+diff --git a/src/extension/internal/pdfinput/svg-builder.cpp b/src/extension/internal/pdfinput/svg-builder.cpp
+index 6c78247dfb..8b2e6f3d54 100644
+--- a/src/extension/internal/pdfinput/svg-builder.cpp
++++ b/src/extension/internal/pdfinput/svg-builder.cpp
+@@ -32,6 +32,7 @@
+ #include
+ #include
+ #include
++#include
+
+ #include "color.h"
+ #include "color/cms-util.h"
+@@ -2093,7 +2094,11 @@ Inkscape::XML::Node *SvgBuilder::_createImage(Stream *str, int width, int height
+ } else {
+ image_stream = new ImageStream(str, width, 1, 1);
+ }
++#if POPPLER_CHECK_VERSION(26, 0, 0)
++ image_stream->rewind();
++#else
+ image_stream->reset();
++#endif
+
+ // Convert grayscale values
+ unsigned char *buffer = new unsigned char[width];
+@@ -2119,7 +2124,11 @@ Inkscape::XML::Node *SvgBuilder::_createImage(Stream *str, int width, int height
+ image_stream = new ImageStream(str, width,
+ color_map->getNumPixelComps(),
+ color_map->getBits());
++#if POPPLER_CHECK_VERSION(26, 0, 0)
++ image_stream->rewind();
++#else
+ image_stream->reset();
++#endif
+
+ // Convert RGB values
+ unsigned int *buffer = new unsigned int[width];
+--
+GitLab
+
diff --git a/x11-packages/inkscape/poppler-26.02.0.patch b/x11-packages/inkscape/poppler-26.02.0.patch
new file mode 100644
index 0000000000..35941f5f84
--- /dev/null
+++ b/x11-packages/inkscape/poppler-26.02.0.patch
@@ -0,0 +1,210 @@
+From 47e20c0503ab1464d528f2cc7dd5e6a6a85b70dc Mon Sep 17 00:00:00 2001
+From: KrIr17
+Date: Thu, 12 Feb 2026 20:58:50 +0100
+Subject: [PATCH] Fix building with Poppler 0.26.02
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Adapted from [1] with changes to make it backwards-compatible with older
+versions of Poppler.
+
+[1] github.com/OpenMandrivaAssociation/inkscape/blob/master/inkscape-poppler-26.02.patch#L29
+
+Credits: Bernhard Rosenkränzer
+
+Fixes https://gitlab.com/inkscape/inkscape/-/issues/6054
+---
+ .../internal/pdfinput/pdf-parser.cpp | 39 +++++++++++++++++--
+ .../pdfinput/poppler-transition-api.h | 10 +++++
+ .../internal/pdfinput/svg-builder.cpp | 10 ++---
+ 3 files changed, 50 insertions(+), 9 deletions(-)
+
+diff --git a/src/extension/internal/pdfinput/pdf-parser.cpp b/src/extension/internal/pdfinput/pdf-parser.cpp
+index 96e475786c..1a7a470c21 100644
+--- a/src/extension/internal/pdfinput/pdf-parser.cpp
++++ b/src/extension/internal/pdfinput/pdf-parser.cpp
+@@ -657,7 +657,11 @@ void PdfParser::opSetFlat(Object args[], int /*numArgs*/)
+ void PdfParser::opSetLineJoin(Object args[], int /*numArgs*/)
+ {
+ builder->beforeStateChange(state);
++#if POPPLER_CHECK_VERSION(26,2,0)
++ state->setLineJoin((GfxState::LineJoinStyle) args[0].getInt());
++#else
+ state->setLineJoin(args[0].getInt());
++#endif
+ builder->updateStyle(state);
+ }
+
+@@ -665,7 +669,11 @@ void PdfParser::opSetLineJoin(Object args[], int /*numArgs*/)
+ void PdfParser::opSetLineCap(Object args[], int /*numArgs*/)
+ {
+ builder->beforeStateChange(state);
++#if POPPLER_CHECK_VERSION(26,2,0)
++ state->setLineCap((GfxState::LineCapStyle) args[0].getInt());
++#else
+ state->setLineCap(args[0].getInt());
++#endif
+ builder->updateStyle(state);
+ }
+
+@@ -1537,7 +1545,13 @@ void PdfParser::doShadingPatternFillFallback(GfxShadingPattern *sPat,
+
+ // restore graphics state
+ restoreState();
++#if POPPLER_CHECK_VERSION(26, 2, 0)
++ state->clearPath();
++ GfxPath *currPath = const_cast(state->getPath());
++ currPath->append(savedPath);
++#else
+ state->setPath(savedPath);
++#endif
+ }
+
+ // TODO not good that numArgs is ignored but args[] is used:
+@@ -1600,7 +1614,13 @@ void PdfParser::opShFill(Object args[], int /*numArgs*/)
+ // restore graphics state
+ if (savedState) {
+ restoreState();
++#if POPPLER_CHECK_VERSION(26, 2, 0)
++ state->clearPath();
++ GfxPath *currPath = const_cast(state->getPath());
++ currPath->append(savedPath);
++#else
+ state->setPath(savedPath);
++#endif
+ }
+ }
+
+@@ -2232,7 +2252,7 @@ void PdfParser::opShowSpaceText(Object args[], int /*numArgs*/)
+ {
+ Array *a = nullptr;
+ Object obj;
+- int wMode = 0; // Writing mode (horizontal/vertical).
++ _POPPLER_WMODE wMode = _POPPLER_WMODE_HORIZONTAL; // Writing mode (horizontal/vertical).
+
+ if (!state->getFont()) {
+ error(errSyntaxError, getPos(), "No font in show/space");
+@@ -2246,7 +2266,7 @@ void PdfParser::opShowSpaceText(Object args[], int /*numArgs*/)
+ if (obj.isNum()) {
+ // this uses the absolute value of the font size to match
+ // Acrobat's behavior
+- if (wMode) {
++ if (wMode != _POPPLER_WMODE_HORIZONTAL) {
+ state->textShift(0, -obj.getNum() * 0.001 *
+ fabs(state->getFontSize()));
+ } else {
+@@ -2273,7 +2293,7 @@ void PdfParser::doShowText(const GooString *s) {
+ void PdfParser::doShowText(GooString *s) {
+ #endif
+ auto font = state->getFont();
+- int wMode = font->getWMode(); // Vertical/Horizontal/Invalid
++ _POPPLER_WMODE wMode = font->getWMode(); // Vertical/Horizontal/Invalid
+
+ builder->beginString(state, get_goostring_length(*s));
+
+@@ -2308,7 +2328,7 @@ void PdfParser::doShowText(GooString *s) {
+ auto ax = dx;
+ auto ay = dy;
+
+- if (wMode != 0) {
++ if (wMode != _POPPLER_WMODE_HORIZONTAL) {
+ // Vertical text (or invalid value).
+ dy += state->getCharSpace();
+ if (n == 1 && *p == ' ') {
+@@ -2975,7 +2995,11 @@ Stream *PdfParser::buildImageStream() {
+ // make stream
+ #if defined(POPPLER_NEW_OBJECT_API)
+ str = new EmbedStream(parser->getStream(), dict.copy(), gFalse, 0);
++#if POPPLER_CHECK_VERSION(26, 2, 0)
++ str = str->addFilters(std::unique_ptr(str), dict.getDict()).release();
++#else
+ str = str->addFilters(dict.getDict());
++#endif
+ #else
+ str = new EmbedStream(parser->getStream(), &dict, gFalse, 0);
+ str = str->addFilters(&dict);
+@@ -3161,10 +3161,17 @@ void PdfParser::loadOptionalContentLayers(Dict *resources)
+ auto visible = true;
+ // Normally we'd use poppler optContentIsVisible, but these dict
+ // objects don't retain their references so can't be used directly.
++#if POPPLER_CHECK_VERSION(26, 2, 0)
++ for (auto &[ref, ocg] : ocgs->getOCGs()) {
++ if (ocg->getName()->toStr() == label)
++ visible = ocg->getState() == OptionalContentGroup::On;
++ }
++#else
+ for (auto &[ref, ocg] : ocgs->getOCGs()) {
+ if (ocg->getName()->cmp(label) == 0)
+ visible = ocg->getState() == OptionalContentGroup::On;
+ }
++#endif
+ builder->addOptionalGroup(dict->getKey(j), label, visible);
+ }
+ }
+diff --git a/src/extension/internal/pdfinput/poppler-transition-api.h b/src/extension/internal/pdfinput/poppler-transition-api.h
+index 6f2b97c509..5dfac7594f 100644
+--- a/src/extension/internal/pdfinput/poppler-transition-api.h
++++ b/src/extension/internal/pdfinput/poppler-transition-api.h
+@@ -15,6 +15,16 @@
+ #include
+ #include
+
++#if POPPLER_CHECK_VERSION(26, 2, 0)
++#define _POPPLER_WMODE GfxFont::WritingMode
++#define _POPPLER_WMODE_HORIZONTAL GfxFont::WritingMode::Horizontal
++#define _POPPLER_WMODE_VERTICAL GfxFont::WritingMode::Vertical
++#else
++#define _POPPLER_WMODE int
++#define _POPPLER_WMODE_HORIZONTAL 0
++#define _POPPLER_WMODE_VERTICAL 1
++#endif
++
+ #if POPPLER_CHECK_VERSION(25, 7, 0)
+ #define _POPPLER_TEXT_SHIFT_WITH_USER_COORDS(dx, dy) textShiftWithUserCoords(dx, dy)
+ #define _POPPLER_FOFI_TRUETYPE_MAKE(font_data, faceIndex) FoFiTrueType::make(std::span(font_data), faceIndex)
+diff --git a/src/extension/internal/pdfinput/svg-builder.cpp b/src/extension/internal/pdfinput/svg-builder.cpp
+index a8a73b08bb..add36d904e 100644
+--- a/src/extension/internal/pdfinput/svg-builder.cpp
++++ b/src/extension/internal/pdfinput/svg-builder.cpp
+@@ -1434,7 +1434,7 @@ void SvgBuilder::updateFont(GfxState *state, std::shared_ptr cairo_fo
+ sp_repr_css_set_property(_css_font, "font-variant", "normal");
+
+ // Writing mode
+- if ( font->getWMode() == 0 ) {
++ if ( font->getWMode() == _POPPLER_WMODE_HORIZONTAL ) {
+ sp_repr_css_set_property(_css_font, "writing-mode", "lr");
+ } else {
+ sp_repr_css_set_property(_css_font, "writing-mode", "tb");
+@@ -1446,7 +1446,7 @@ void SvgBuilder::updateFont(GfxState *state, std::shared_ptr cairo_fo
+ */
+ void SvgBuilder::updateTextShift(GfxState *state, double shift) {
+ double shift_value = -shift * 0.001 * fabs(state->getFontSize());
+- if (state->getFont()->getWMode()) {
++ if (state->getFont()->getWMode() != _POPPLER_WMODE_HORIZONTAL) {
+ _text_position[1] += shift_value;
+ } else {
+ _text_position[0] += shift_value;
+@@ -1500,7 +1500,7 @@ Inkscape::XML::Node* SvgBuilder::_flushTextText(GfxState *state, double text_sca
+
+ // Text direction is a property of the element.
+ auto font = state->getFont();
+- if (font->getWMode() == 1) {
++ if (font->getWMode() == _POPPLER_WMODE_VERTICAL) {
+ // Only set if vertical.
+ auto css_text = sp_repr_css_attr_new();
+ sp_repr_css_set_property(css_text, "writing-mode", "tb");
+@@ -1594,8 +1594,8 @@ Inkscape::XML::Node* SvgBuilder::_flushTextText(GfxState *state, double text_sca
+ bool output_tspan =
+ next_it == _glyphs.end() ||
+ next_it->style_changed ||
+- (writing_mode == 0 && std::abs(glyph.text_position[1] - next_it->text_position[1]) > 0.1) ||
+- (writing_mode == 1 && std::abs(glyph.text_position[0] - next_it->text_position[0]) > 0.1);
++ (writing_mode == _POPPLER_WMODE_HORIZONTAL && std::abs(glyph.text_position[1] - next_it->text_position[1]) > 0.1) ||
++ (writing_mode == _POPPLER_WMODE_VERTICAL && std::abs(glyph.text_position[0] - next_it->text_position[0]) > 0.1);
+
+ if (output_tspan) {
+
+--
+GitLab
+
diff --git a/x11-packages/kf6-kfilemetadata/build.sh b/x11-packages/kf6-kfilemetadata/build.sh
index 6eeff6fd28..2437bbdcd1 100644
--- a/x11-packages/kf6-kfilemetadata/build.sh
+++ b/x11-packages/kf6-kfilemetadata/build.sh
@@ -3,6 +3,7 @@ TERMUX_PKG_DESCRIPTION='A library for extracting file metadata'
TERMUX_PKG_LICENSE="LGPL-2.0, LGPL-3.0"
TERMUX_PKG_MAINTAINER="@termux"
TERMUX_PKG_VERSION="6.23.0"
+TERMUX_PKG_REVISION=1
TERMUX_PKG_SRCURL="https://download.kde.org/stable/frameworks/${TERMUX_PKG_VERSION%.*}/kfilemetadata-${TERMUX_PKG_VERSION}.tar.xz"
TERMUX_PKG_SHA256=4e99cd8dc1fd784589c5b173f076bd5655eca2908fb61a31cb5404e1c7f64a88
TERMUX_PKG_DEPENDS="attr, ebook-tools, exiv2, ffmpeg, kf6-karchive (>= ${TERMUX_PKG_VERSION%.*}), kf6-kcodecs (>= ${TERMUX_PKG_VERSION%.*}), kf6-kconfig (>= ${TERMUX_PKG_VERSION%.*}), kf6-kcoreaddons (>= ${TERMUX_PKG_VERSION%.*}), kf6-ki18n (>= ${TERMUX_PKG_VERSION%.*}), libc++, poppler-qt, qt6-qtbase, taglib"
diff --git a/x11-packages/okular/build.sh b/x11-packages/okular/build.sh
index aa5106b56c..2bb22ed944 100644
--- a/x11-packages/okular/build.sh
+++ b/x11-packages/okular/build.sh
@@ -3,6 +3,7 @@ TERMUX_PKG_DESCRIPTION="Multi-platform document viewer for PDF, comics, EPub, an
TERMUX_PKG_LICENSE="GPL-2.0-or-later, LGPL-2.0-or-later"
TERMUX_PKG_MAINTAINER="@termux"
TERMUX_PKG_VERSION="25.12.2"
+TERMUX_PKG_REVISION=1
TERMUX_PKG_SRCURL="https://download.kde.org/stable/release-service/${TERMUX_PKG_VERSION}/src/okular-${TERMUX_PKG_VERSION}.tar.xz"
TERMUX_PKG_SHA256=9c84a80fe2a3dd0990b56432912244b6f5761a1a6abda452f3da6e7e6a88937f
TERMUX_PKG_AUTO_UPDATE=true
diff --git a/x11-packages/poppler-qt/build.sh b/x11-packages/poppler-qt/build.sh
index 08d4e3f3b5..23a15d1410 100644
--- a/x11-packages/poppler-qt/build.sh
+++ b/x11-packages/poppler-qt/build.sh
@@ -3,10 +3,9 @@ TERMUX_PKG_DESCRIPTION="Poppler Qt wrapper"
TERMUX_PKG_LICENSE="GPL-2.0"
TERMUX_PKG_MAINTAINER="@termux"
# Please align the version with `poppler` package.
-TERMUX_PKG_VERSION="24.05.0"
-TERMUX_PKG_REVISION=6
+TERMUX_PKG_VERSION="26.02.0"
TERMUX_PKG_SRCURL="https://poppler.freedesktop.org/poppler-${TERMUX_PKG_VERSION}.tar.xz"
-TERMUX_PKG_SHA256=d8c5eb30b50285ad9f0af8c6335cc2d3b9597fca475cbc2598a5479fa379f779
+TERMUX_PKG_SHA256=dded8621f7b2f695c91063aab1558691c8418374cd583501e89ed39487e7ab77
# The package must be updated at the same time as poppler, auto updater script does not support that.
TERMUX_PKG_AUTO_UPDATE=false
TERMUX_PKG_DEPENDS="freetype, libc++, littlecms, poppler (>= ${TERMUX_PKG_VERSION}), qt6-qtbase"
@@ -30,7 +29,7 @@ termux_step_pre_configure() {
# Do not forget to bump revision of reverse dependencies and rebuild them
# when SOVERSION is changed.
- local _POPPLER_SOVERSION=137
+ local _POPPLER_SOVERSION=157
if ! test "${_POPPLER_SOVERSION}"; then
termux_error_exit "Please set _POPPLER_SOVERSION variable."
fi
diff --git a/x11-packages/rnote/build.sh b/x11-packages/rnote/build.sh
index 443071eb65..2a369754bf 100644
--- a/x11-packages/rnote/build.sh
+++ b/x11-packages/rnote/build.sh
@@ -3,6 +3,7 @@ TERMUX_PKG_DESCRIPTION="An infinite canvas vector-based drawing application for
TERMUX_PKG_LICENSE="GPL-3.0"
TERMUX_PKG_MAINTAINER="@EDLLT"
TERMUX_PKG_VERSION="0.13.1"
+TERMUX_PKG_REVISION=1
TERMUX_PKG_SRCURL="https://github.com/flxzt/rnote/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz"
TERMUX_PKG_SHA256=1d281a17ff8b9dce325ae5b0613a0cd7db5d717319f4899f2ce758e615572256
TERMUX_PKG_AUTO_UPDATE=true
diff --git a/x11-packages/texstudio/build.sh b/x11-packages/texstudio/build.sh
index 797764c61f..31a4b72b44 100644
--- a/x11-packages/texstudio/build.sh
+++ b/x11-packages/texstudio/build.sh
@@ -3,7 +3,8 @@ TERMUX_PKG_DESCRIPTION="A fully featured LaTeX editor"
TERMUX_PKG_LICENSE="GPL-3.0"
TERMUX_PKG_MAINTAINER="@termux"
TERMUX_PKG_VERSION="4.9.2"
-TERMUX_PKG_SRCURL=https://github.com/texstudio-org/texstudio/archive/refs/tags/${TERMUX_PKG_VERSION}.tar.gz
+TERMUX_PKG_REVISION=1
+TERMUX_PKG_SRCURL="https://github.com/texstudio-org/texstudio/archive/refs/tags/${TERMUX_PKG_VERSION}.tar.gz"
TERMUX_PKG_SHA256=5512c37354318190bc2d2fd2b4972821e57edb2ab878cbba7cdedbe56efbe09c
TERMUX_PKG_AUTO_UPDATE=true
TERMUX_PKG_DEPENDS="hunspell, libc++, libx11, poppler-qt, qt6-qtbase, qt6-qtdeclarative, qt6-qtsvg, qt6-qttools, quazip, texstudio-data, zlib"
diff --git a/x11-packages/texworks/build.sh b/x11-packages/texworks/build.sh
index abd3713929..f62f936a61 100644
--- a/x11-packages/texworks/build.sh
+++ b/x11-packages/texworks/build.sh
@@ -4,7 +4,8 @@ TERMUX_PKG_LICENSE="GPL-2.0"
TERMUX_PKG_LICENSE_FILE="COPYING"
TERMUX_PKG_MAINTAINER="@termux"
TERMUX_PKG_VERSION="0.6.11"
-TERMUX_PKG_SRCURL=https://github.com/TeXworks/texworks/archive/refs/tags/release-${TERMUX_PKG_VERSION}.tar.gz
+TERMUX_PKG_REVISION=1
+TERMUX_PKG_SRCURL="https://github.com/TeXworks/texworks/archive/refs/tags/release-${TERMUX_PKG_VERSION}.tar.gz"
TERMUX_PKG_SHA256=f4017afb359e7c91824bd32b06a96426db88498dc43edfd5fe041599b2a30f19
TERMUX_PKG_DEPENDS="hunspell, libc++, lua53, poppler-qt, qt6-qtbase, qt6-qtdeclarative, qt6-qt5compat, qt6-qttools, zlib"
TERMUX_PKG_BUILD_DEPENDS="git, qt6-qtbase-cross-tools, qt6-qtdeclarative-cross-tools, qt6-qttools-cross-tools"
diff --git a/x11-packages/xournalpp/build.sh b/x11-packages/xournalpp/build.sh
index a74f1bbb26..33ec8a0c80 100644
--- a/x11-packages/xournalpp/build.sh
+++ b/x11-packages/xournalpp/build.sh
@@ -4,7 +4,8 @@ TERMUX_PKG_LICENSE="GPL-2.0"
TERMUX_PKG_LICENSE_FILE="LICENSE, copyright.txt"
TERMUX_PKG_MAINTAINER="@termux"
TERMUX_PKG_VERSION="1.3.2"
-TERMUX_PKG_SRCURL=https://github.com/xournalpp/xournalpp/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz
+TERMUX_PKG_REVISION=1
+TERMUX_PKG_SRCURL="https://github.com/xournalpp/xournalpp/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz"
TERMUX_PKG_SHA256=9c38cb9b9fedc307ac7cb2bba8a500858043c281fea12bcc9afd4914dfdcef6b
TERMUX_PKG_AUTO_UPDATE=true
TERMUX_PKG_DEPENDS="gdk-pixbuf, glib, gtk3, gtksourceview4, libandroid-execinfo, libc++, libcairo, librsvg, libsndfile, libx11, libxi, libxml2, libzip, pango, poppler, portaudio, qpdf, zlib"