summaryrefslogtreecommitdiff
path: root/print
diff options
context:
space:
mode:
Diffstat (limited to 'print')
-rw-r--r--print/Makefile4
-rw-r--r--print/R-cran-textshaping/Makefile16
-rw-r--r--print/R-cran-textshaping/distinfo6
-rw-r--r--print/a2ps/Makefile2
-rw-r--r--print/a2ps/distinfo6
-rw-r--r--print/a2ps/files/patch-ogonkify-Makefile.in8
-rw-r--r--print/auctex/Makefile2
-rw-r--r--print/cups-filters/Makefile12
-rw-r--r--print/cups-filters/distinfo18
-rw-r--r--print/cups-filters/files/patch-0001-c3d2f07399da170
-rw-r--r--print/cups-filters/files/patch-0002-qpdf12292
-rw-r--r--print/cups-filters/files/patch-cupsfilters_colormanager.c4
-rw-r--r--print/cups/Makefile3
-rw-r--r--print/cups/distinfo6
-rw-r--r--print/derelict-ft/Makefile2
-rw-r--r--print/fig2dev/Makefile4
-rw-r--r--print/fig2dev/distinfo6
-rw-r--r--print/fontforge/Makefile2
-rw-r--r--print/foomatic-db-engine/Makefile2
-rw-r--r--print/gspdf/Makefile2
-rw-r--r--print/hplip-plugin/Makefile4
-rw-r--r--print/hplip/Makefile2
-rw-r--r--print/hyperlatex/Makefile2
-rw-r--r--print/ipp-usb/Makefile2
-rw-r--r--print/latex-biber/Makefile6
-rw-r--r--print/latex-biber/distinfo6
-rw-r--r--print/latex-biber/pkg-plist59
-rw-r--r--print/libraqm/Makefile2
-rw-r--r--print/lilypond-devel/Makefile3
-rw-r--r--print/lilypond-devel/distinfo6
-rw-r--r--print/lilypond-devel/pkg-plist73
-rw-r--r--print/lyx/Makefile3
-rw-r--r--print/lyx/distinfo6
-rw-r--r--print/lyx/pkg-plist440
-rw-r--r--print/p5-PDF-Template/Makefile8
-rw-r--r--print/p5-PDF-Template/files/extrapatch-Makefile.PL15
-rw-r--r--print/paps/Makefile2
-rw-r--r--print/pdf-tools/Makefile2
-rw-r--r--print/pdfarranger/Makefile2
-rw-r--r--print/pdfcpu/Makefile2
-rw-r--r--print/plasma6-print-manager/distinfo6
-rw-r--r--print/plutobook/Makefile39
-rw-r--r--print/plutobook/distinfo3
-rw-r--r--print/plutobook/pkg-descr3
-rw-r--r--print/plutobook/pkg-plist8
-rw-r--r--print/ppa6/Makefile18
-rw-r--r--print/ppa6/Makefile.crates186
-rw-r--r--print/ppa6/distinfo375
-rw-r--r--print/ppa6/pkg-descr7
-rw-r--r--print/pslib/Makefile2
-rw-r--r--print/py-fontaine/Makefile4
-rw-r--r--print/py-fontbakery/Makefile5
-rw-r--r--print/py-fontbakery/distinfo6
-rw-r--r--print/py-fonttools/Makefile9
-rw-r--r--print/py-fonttools/distinfo6
-rw-r--r--print/py-frescobaldi/Makefile17
-rw-r--r--print/py-frescobaldi/distinfo6
-rw-r--r--print/py-frescobaldi/files/patch-frescobaldi_portmidi_____init____.py (renamed from print/py-frescobaldi/files/patch-frescobaldi__app_portmidi_____init____.py)4
-rw-r--r--print/py-pypdf/Makefile2
-rw-r--r--print/py-pypdf/distinfo6
-rw-r--r--print/py-python-ly/Makefile3
-rw-r--r--print/py-python-ly/distinfo6
-rw-r--r--print/py-python-ly/files/patch-pyproject.toml9
-rw-r--r--print/py-relatorio/Makefile3
-rw-r--r--print/py-reportlab/Makefile10
-rw-r--r--print/py-reportlab/distinfo6
-rw-r--r--print/py-ufolib2/Makefile16
-rw-r--r--print/py-ufolib2/distinfo6
-rw-r--r--print/py-ufolib2/files/patch-pyproject.toml11
-rw-r--r--print/py-ufolib2/files/patch-setup.cfg9
-rw-r--r--print/py-ufomerge/Makefile2
-rw-r--r--print/py-ufomerge/distinfo6
-rw-r--r--print/py-weasyprint/Makefile1
-rw-r--r--print/qpdf/Makefile2
-rw-r--r--print/qpdf/distinfo2
-rw-r--r--print/qpdf/pkg-plist2
-rw-r--r--print/rubygem-afm0/Makefile19
-rw-r--r--print/rubygem-afm0/distinfo3
-rw-r--r--print/rubygem-afm0/pkg-descr1
-rw-r--r--print/rubygem-pdf-reader/Makefile5
-rw-r--r--print/rubygem-pdf-reader/distinfo6
-rw-r--r--print/rubygem-prawn-svg/Makefile2
-rw-r--r--print/rubygem-prawn-svg/distinfo6
-rw-r--r--print/rubygem-prawn-svg036/Makefile25
-rw-r--r--print/rubygem-prawn-svg036/distinfo3
-rw-r--r--print/rubygem-prawn-svg036/pkg-descr3
-rw-r--r--print/scribus-devel/Makefile2
-rw-r--r--print/scribus/Makefile2
-rw-r--r--print/simple-fb2-reader/Makefile2
-rw-r--r--print/sioyek/Makefile1
-rw-r--r--print/sioyek/files/patch-pdf__viewer__build__config.pro2
-rw-r--r--print/tex-luatex/Makefile10
-rw-r--r--print/tex-xetex/Makefile7
-rw-r--r--print/texinfo/Makefile4
-rw-r--r--print/texinfo/distinfo6
-rw-r--r--print/texlive-texmf/Makefile11
-rw-r--r--print/texlive-texmf/distinfo6
-rw-r--r--print/xreader/Makefile3
-rw-r--r--print/xreader/distinfo6
-rw-r--r--print/yatex/Makefile2
100 files changed, 1912 insertions, 243 deletions
diff --git a/print/Makefile b/print/Makefile
index 0e1d3e6f1f2b..13c53b642479 100644
--- a/print/Makefile
+++ b/print/Makefile
@@ -158,8 +158,10 @@
SUBDIR += pkfonts400
SUBDIR += pkfonts600
SUBDIR += plasma6-print-manager
+ SUBDIR += plutobook
SUBDIR += pnm2ppa
SUBDIR += posterazor
+ SUBDIR += ppa6
SUBDIR += ps2eps
SUBDIR += pscal
SUBDIR += psdim
@@ -203,7 +205,6 @@
SUBDIR += rlpr
SUBDIR += rtf2latex2e
SUBDIR += rubygem-afm
- SUBDIR += rubygem-afm0
SUBDIR += rubygem-color
SUBDIR += rubygem-color-tools
SUBDIR += rubygem-color_diff
@@ -223,6 +224,7 @@
SUBDIR += rubygem-prawn-rails
SUBDIR += rubygem-prawn-security
SUBDIR += rubygem-prawn-svg
+ SUBDIR += rubygem-prawn-svg036
SUBDIR += rubygem-prawn-table
SUBDIR += rubygem-prawn-templates
SUBDIR += rubygem-prawn24
diff --git a/print/R-cran-textshaping/Makefile b/print/R-cran-textshaping/Makefile
index a3df2b38dd3c..066fbbb69e31 100644
--- a/print/R-cran-textshaping/Makefile
+++ b/print/R-cran-textshaping/Makefile
@@ -1,5 +1,5 @@
PORTNAME= textshaping
-DISTVERSION= 1.0.1
+DISTVERSION= 1.0.3
CATEGORIES= print
DISTNAME= ${PORTNAME}_${DISTVERSION}
@@ -9,19 +9,19 @@ WWW= https://github.com/r-lib/textshaping
LICENSE= MIT
-CRAN_DEPENDS= R-cran-cpp11>=0.2.1:devel/R-cran-cpp11 \
- R-cran-lifecycle>0:devel/R-cran-lifecycle \
- R-cran-stringi>0:textproc/R-cran-stringi \
- R-cran-systemfonts>=1.1.0:devel/R-cran-systemfonts
-BUILD_DEPENDS= ${CRAN_DEPENDS}
+BUILD_DEPENDS= R-cran-cpp11>=0.2.1:devel/R-cran-cpp11 \
+ R-cran-systemfonts>=1.0.0:devel/R-cran-systemfonts
LIB_DEPENDS= libfreetype.so:print/freetype2 \
libfribidi.so:converters/fribidi \
libharfbuzz.so:print/harfbuzz
-RUN_DEPENDS= ${CRAN_DEPENDS}
+RUN_DEPENDS= R-cran-lifecycle>0:devel/R-cran-lifecycle \
+ R-cran-stringi>0:textproc/R-cran-stringi \
+ R-cran-systemfonts>=1.1.0:devel/R-cran-systemfonts
TEST_DEPENDS= R-cran-covr>0:devel/R-cran-covr \
R-cran-knitr>0:print/R-cran-knitr \
R-cran-rmarkdown>0:textproc/R-cran-rmarkdown \
- R-cran-testthat>=3.0.0:devel/R-cran-testthat
+ R-cran-testthat>=3.0.0:devel/R-cran-testthat \
+ xorg-fonts-truetype>0:x11-fonts/xorg-fonts-truetype
USES= cran:auto-plist,compiles pkgconfig
diff --git a/print/R-cran-textshaping/distinfo b/print/R-cran-textshaping/distinfo
index 43ebdb3fb323..c37889a9e68b 100644
--- a/print/R-cran-textshaping/distinfo
+++ b/print/R-cran-textshaping/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1746104183
-SHA256 (textshaping_1.0.1.tar.gz) = 7bbf50926c7a48cc957958e98403169ddcc76916b45b35e0833acd2e8cfba82f
-SIZE (textshaping_1.0.1.tar.gz) = 75793
+TIMESTAMP = 1756820901
+SHA256 (textshaping_1.0.3.tar.gz) = 55153765dc97902902ccf84b072138835cb868fea34503f0fd3888b12ed89447
+SIZE (textshaping_1.0.3.tar.gz) = 76051
diff --git a/print/a2ps/Makefile b/print/a2ps/Makefile
index 4415fecee6be..a276f0a43c62 100644
--- a/print/a2ps/Makefile
+++ b/print/a2ps/Makefile
@@ -1,5 +1,5 @@
PORTNAME= a2ps
-PORTVERSION= 4.15.6
+PORTVERSION= 4.15.7
PORTREVISION= 1
CATEGORIES= print
MASTER_SITES= GNU LOCAL/hrs/a2ps/:i18n
diff --git a/print/a2ps/distinfo b/print/a2ps/distinfo
index 47617ae50d03..5ceda4cb7a80 100644
--- a/print/a2ps/distinfo
+++ b/print/a2ps/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1721040664
-SHA256 (a2ps-4.15.6.tar.gz) = 87ff9d801cb11969181d5b8cf8b65e65e5b24bb0c76a1b825e8098f2906fbdf4
-SIZE (a2ps-4.15.6.tar.gz) = 3605392
+TIMESTAMP = 1752517566
+SHA256 (a2ps-4.15.7.tar.gz) = 715f38670afd950b4ca71c01f468feefad265ca52d3f112934c63c0a8bfbb8af
+SIZE (a2ps-4.15.7.tar.gz) = 3615522
SHA256 (i18n-fonts-0.1.tar.gz) = 20628df682359044b8e5241c97a3c8da7a098aa260a7d281a87f67486a531786
SIZE (i18n-fonts-0.1.tar.gz) = 352530
diff --git a/print/a2ps/files/patch-ogonkify-Makefile.in b/print/a2ps/files/patch-ogonkify-Makefile.in
index 1e0eba645090..a700609d4051 100644
--- a/print/a2ps/files/patch-ogonkify-Makefile.in
+++ b/print/a2ps/files/patch-ogonkify-Makefile.in
@@ -1,9 +1,9 @@
---- ogonkify/Makefile.in.orig 2023-03-07 18:11:32 UTC
+--- ogonkify/Makefile.in.orig 2025-07-11 07:54:27 UTC
+++ ogonkify/Makefile.in
-@@ -89,7 +89,7 @@ am__make_running_with_option = \
- test $$has_opt = yes
- am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+@@ -91,7 +91,7 @@ am__rm_rf = rm -rf $(am__rm_f_notfound)
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+ am__rm_f = rm -f $(am__rm_f_notfound)
+ am__rm_rf = rm -rf $(am__rm_f_notfound)
-pkgdatadir = $(datadir)/@PACKAGE@
+pkgdatadir = $(datadir)/a2ps/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
diff --git a/print/auctex/Makefile b/print/auctex/Makefile
index 8e731e3b21a0..e91db3e86bbe 100644
--- a/print/auctex/Makefile
+++ b/print/auctex/Makefile
@@ -1,6 +1,6 @@
PORTNAME= auctex
DISTVERSION= 13.3
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= print elisp
MASTER_SITES= GNU
PKGNAMESUFFIX= ${EMACS_PKGNAMESUFFIX}
diff --git a/print/cups-filters/Makefile b/print/cups-filters/Makefile
index d7e4f8a260e3..5287ae5e8483 100644
--- a/print/cups-filters/Makefile
+++ b/print/cups-filters/Makefile
@@ -1,6 +1,6 @@
PORTNAME= cups-filters
PORTVERSION= 1.28.17
-PORTREVISION= 9
+PORTREVISION= 10
CATEGORIES= print
MASTER_SITES= https://github.com/OpenPrinting/cups-filters/releases/download/${DISTVERSION}/
@@ -15,7 +15,15 @@ PATCHFILES= 9799398713b941557642d0b2bdbef360837ece0c.diff:-p1 \
770ec883e68e505c1d1856a42b78f9323dc326a6.diff:-p1 \
2076627d33477212f21352ad39e9d305adb63af3.diff:-p1 \
10fb02eaaee52e0be9b16917b38aa8ec5bddd87f.diff:-p1 \
- b7461ec2a8d1f2aa627b24e01e118ec4cca78ec0.diff:-p1
+ b7461ec2a8d1f2aa627b24e01e118ec4cca78ec0.diff:-p1 \
+ 6fd2bdfbdce76149af531ce9fca9062304238451.patch:-p1 \
+ 3534e01cb41ddfa61ac78d32052b8822df71d97d.patch:-p1 \
+ b378f09c9b8aaa8dccb5eb557938b30da874101d.patch:-p1 \
+ c8522bb128546a1910bca538a504a2c9363ebb22.patch:-p1 \
+ dccb537afe85af3ea01e3f274974d9d1f53f8e14.patch:-p1 \
+ d5cc66b410a3246e74b71f718e86504d08e4bfa3.patch:-p1 \
+ 86b060d2ac20d6dee757c609286cfaaa17d65428.patch:-p1 \
+ d43610f82e1757b45925a8830ac297ff9dc4abca.patch:-p1
MAINTAINER= tijl@FreeBSD.org
COMMENT= Additional backends, filters and other software for CUPS
diff --git a/print/cups-filters/distinfo b/print/cups-filters/distinfo
index a22a9c9614d5..db3d2ef4cbda 100644
--- a/print/cups-filters/distinfo
+++ b/print/cups-filters/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1727810333
+TIMESTAMP = 1755616897
SHA256 (cups-filters-1.28.17.tar.xz) = 270a3752a960368aa99d431fb5d34f4039b2ac943c576d840612d1d8185c9bb9
SIZE (cups-filters-1.28.17.tar.xz) = 1516052
SHA256 (9799398713b941557642d0b2bdbef360837ece0c.diff) = c9a061b3c415ff547161360c4fc90e0584c65efbfea90564ec34eb0e2edddf77
@@ -23,3 +23,19 @@ SHA256 (10fb02eaaee52e0be9b16917b38aa8ec5bddd87f.diff) = 6e16e9f046a8bfcbd1552d9
SIZE (10fb02eaaee52e0be9b16917b38aa8ec5bddd87f.diff) = 460
SHA256 (b7461ec2a8d1f2aa627b24e01e118ec4cca78ec0.diff) = 9d6d64a20ee0859767ce48df665b429a22a42e213c1aeb2480adeb68bcd4b334
SIZE (b7461ec2a8d1f2aa627b24e01e118ec4cca78ec0.diff) = 700
+SHA256 (6fd2bdfbdce76149af531ce9fca9062304238451.patch) = 50e450d9cf4fedbac7980661cb5cab2cd3e9faa117747479e92bef5b255194d8
+SIZE (6fd2bdfbdce76149af531ce9fca9062304238451.patch) = 67608
+SHA256 (3534e01cb41ddfa61ac78d32052b8822df71d97d.patch) = ba3f6ed5b9ac0e18100ceed25aedebd29109799c1aa93505131d9264eb09b4b8
+SIZE (3534e01cb41ddfa61ac78d32052b8822df71d97d.patch) = 5483
+SHA256 (b378f09c9b8aaa8dccb5eb557938b30da874101d.patch) = 491d5355d14a255fa9de4d8e3cdec0c0cd49064811cecaec306be3db1ca933fa
+SIZE (b378f09c9b8aaa8dccb5eb557938b30da874101d.patch) = 2683
+SHA256 (c8522bb128546a1910bca538a504a2c9363ebb22.patch) = 426f85b5c64af1d5af778606bbfbaaef4719679dd1881525604202e02778e211
+SIZE (c8522bb128546a1910bca538a504a2c9363ebb22.patch) = 1300
+SHA256 (dccb537afe85af3ea01e3f274974d9d1f53f8e14.patch) = 413ccdce64d3f6886ab4fb956a485e58707a769a5ef725c86517a21058683782
+SIZE (dccb537afe85af3ea01e3f274974d9d1f53f8e14.patch) = 1160
+SHA256 (d5cc66b410a3246e74b71f718e86504d08e4bfa3.patch) = 0a7dd41fd646da9a36d4388d38017665512f03db35874a629a976df57ea76516
+SIZE (d5cc66b410a3246e74b71f718e86504d08e4bfa3.patch) = 1406
+SHA256 (86b060d2ac20d6dee757c609286cfaaa17d65428.patch) = 9211eb922e5cda81df3b02f7844c216c674e3c340bc80ac4e94593fc73084e66
+SIZE (86b060d2ac20d6dee757c609286cfaaa17d65428.patch) = 1023
+SHA256 (d43610f82e1757b45925a8830ac297ff9dc4abca.patch) = 5eea2ad0f42b683f12c8e381f49e8fa2cc511aa61a6e407ac3adaf1d0b29db00
+SIZE (d43610f82e1757b45925a8830ac297ff9dc4abca.patch) = 1144
diff --git a/print/cups-filters/files/patch-0001-c3d2f07399da b/print/cups-filters/files/patch-0001-c3d2f07399da
new file mode 100644
index 000000000000..470492a6d495
--- /dev/null
+++ b/print/cups-filters/files/patch-0001-c3d2f07399da
@@ -0,0 +1,170 @@
+From c3d2f07399da93f2b5308f499b1ddc5504d087ce Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?G=C3=BCnther=20Noack?= <gnoack3000@gmail.com>
+Date: Thu, 10 Jul 2025 22:31:02 +0200
+Subject: [PATCH] 1.x: Fix NULL-pointer dereference when parsing %%PDFTOPDF
+ comments (#644)
+
+* Fix null pointer dereference in %%PDFTOPDF* parsers
+
+* %%PDFTOPDFCollate comment parsing: Increment p where needed
+
+Without this, if strchr succeeds, p will point to a ':' character.
+*p will therefore never be a whitespace in the subsequent loop,
+or compare successfully against the "true" string.
+---
+ filter/gstoraster.c | 17 +++++++++++------
+ filter/mupdftoraster.c | 17 +++++++++++------
+ filter/pdftops.c | 36 +++++++++++++++++++++---------------
+ filter/pdftoraster.cxx | 17 +++++++++++------
+ 4 files changed, 54 insertions(+), 33 deletions(-)
+
+diff --git a/filter/gstoraster.c b/filter/gstoraster.c
+index 87ff948e6..6f4da5991 100644
+--- filter/gstoraster.c
++++ filter/gstoraster.c
+@@ -104,16 +104,21 @@ parse_pdf_header_options(FILE *fp, gs_page_header *h)
+ char *p;
+
+ p = strchr(buf+19,':');
+- h->NumCopies = atoi(p+1);
++ if (p) {
++ h->NumCopies = atoi(p+1);
++ }
+ } else if (strncmp(buf,"%%PDFTOPDFCollate",17) == 0) {
+ char *p;
+
+ p = strchr(buf+17,':');
+- while (*p == ' ' || *p == '\t') p++;
+- if (strncasecmp(p,"true",4) == 0) {
+- h->Collate = CUPS_TRUE;
+- } else {
+- h->Collate = CUPS_FALSE;
++ if (p) {
++ p++;
++ while (*p == ' ' || *p == '\t') p++;
++ if (strncasecmp(p,"true",4) == 0) {
++ h->Collate = CUPS_TRUE;
++ } else {
++ h->Collate = CUPS_FALSE;
++ }
+ }
+ }
+ }
+diff --git a/filter/mupdftoraster.c b/filter/mupdftoraster.c
+index 09c66c00d..a96e9c8c3 100644
+--- filter/mupdftoraster.c
++++ filter/mupdftoraster.c
+@@ -102,16 +102,21 @@ parse_pdf_header_options(FILE *fp, mupdf_page_header *h)
+ char *p;
+
+ p = strchr(buf+19,':');
+- h->NumCopies = atoi(p+1);
++ if (p) {
++ h->NumCopies = atoi(p+1);
++ }
+ } else if (strncmp(buf,"%%PDFTOPDFCollate",17) == 0) {
+ char *p;
+
+ p = strchr(buf+17,':');
+- while (*p == ' ' || *p == '\t') p++;
+- if (strncasecmp(p,"true",4) == 0) {
+- h->Collate = CUPS_TRUE;
+- } else {
+- h->Collate = CUPS_FALSE;
++ if (p) {
++ p++;
++ while (*p == ' ' || *p == '\t') p++;
++ if (strncasecmp(p,"true",4) == 0) {
++ h->Collate = CUPS_TRUE;
++ } else {
++ h->Collate = CUPS_FALSE;
++ }
+ }
+ }
+ }
+diff --git a/filter/pdftops.c b/filter/pdftops.c
+index 1bfe1a2c7..81ccc983e 100644
+--- filter/pdftops.c
++++ filter/pdftops.c
+@@ -138,25 +138,31 @@ static void parsePDFTOPDFComment(char *filename)
+ if (strncmp(buf,"%%PDFTOPDFNumCopies",19) == 0) {
+ char *p;
+
+- p = strchr(buf+19,':') + 1;
+- while (*p == ' ' || *p == '\t') p++;
+- strncpy(deviceCopies, p, sizeof(deviceCopies));
+- deviceCopies[sizeof(deviceCopies) - 1] = '\0';
+- p = deviceCopies + strlen(deviceCopies) - 1;
+- while (*p == ' ' || *p == '\t' || *p == '\r' || *p == '\n') p--;
+- *(p + 1) = '\0';
+- pdftopdfapplied = 1;
++ p = strchr(buf+19,':');
++ if (p) {
++ p++;
++ while (*p == ' ' || *p == '\t') p++;
++ strncpy(deviceCopies, p, sizeof(deviceCopies));
++ deviceCopies[sizeof(deviceCopies) - 1] = '\0';
++ p = deviceCopies + strlen(deviceCopies) - 1;
++ while (*p == ' ' || *p == '\t' || *p == '\r' || *p == '\n') p--;
++ *(p + 1) = '\0';
++ pdftopdfapplied = 1;
++ }
+ } else if (strncmp(buf,"%%PDFTOPDFCollate",17) == 0) {
+ char *p;
+
+- p = strchr(buf+17,':') + 1;
+- while (*p == ' ' || *p == '\t') p++;
+- if (strncasecmp(p,"true",4) == 0) {
+- deviceCollate = 1;
+- } else {
+- deviceCollate = 0;
++ p = strchr(buf+17,':');
++ if (p) {
++ p++;
++ while (*p == ' ' || *p == '\t') p++;
++ if (strncasecmp(p,"true",4) == 0) {
++ deviceCollate = 1;
++ } else {
++ deviceCollate = 0;
++ }
++ pdftopdfapplied = 1;
+ }
+- pdftopdfapplied = 1;
+ } else if (strcmp(buf,"% This file was generated by pdftopdf") == 0) {
+ pdftopdfapplied = 1;
+ }
+diff --git a/filter/pdftoraster.cxx b/filter/pdftoraster.cxx
+index 1bdde0b1d..7b3af924f 100755
+--- filter/pdftoraster.cxx
++++ filter/pdftoraster.cxx
+@@ -489,16 +489,21 @@ static void parsePDFTOPDFComment(FILE *fp)
+ char *p;
+
+ p = strchr(buf+19,':');
+- deviceCopies = atoi(p+1);
++ if (p) {
++ deviceCopies = atoi(p+1);
++ }
+ } else if (strncmp(buf,"%%PDFTOPDFCollate",17) == 0) {
+ char *p;
+
+ p = strchr(buf+17,':');
+- while (*p == ' ' || *p == '\t') p++;
+- if (strncasecmp(p,"true",4) == 0) {
+- deviceCollate = true;
+- } else {
+- deviceCollate = false;
++ if (p) {
++ p++;
++ while (*p == ' ' || *p == '\t') p++;
++ if (strncasecmp(p,"true",4) == 0) {
++ deviceCollate = true;
++ } else {
++ deviceCollate = false;
++ }
+ }
+ }
+ }
+--
+2.50.1
+
diff --git a/print/cups-filters/files/patch-0002-qpdf12 b/print/cups-filters/files/patch-0002-qpdf12
new file mode 100644
index 000000000000..b1eed7ab207b
--- /dev/null
+++ b/print/cups-filters/files/patch-0002-qpdf12
@@ -0,0 +1,292 @@
+--- configure.ac.orig 2025-08-19 16:30:13 UTC
++++ configure.ac
+@@ -793,9 +793,7 @@ CFLAGS="$CFLAGS -D_GNU_SOURCE"
+ CXXFLAGS="$CXXFLAGS -Wall " # -Weffc++" # TODO: enable when it does not print 1MB of warnings
+ ])
+ CFLAGS="$CFLAGS -D_GNU_SOURCE"
+-CXXFLAGS="$CXXFLAGS -D_GNU_SOURCE -DPOINTERHOLDER_TRANSITION=0"
+-# ^^ Silence deprecation warnings of QPDF 11
+-# See /usr/include/qpdf/PointerHolder.hh
++CXXFLAGS="$CXXFLAGS -D_GNU_SOURCE"
+ CXXFLAGS="$CXXFLAGS -std=c++17" # Needed to build with current QPDF (11.x)
+
+ # ==========================
+--- filter/pdf.cxx.orig 2023-01-25 01:41:08 UTC
++++ filter/pdf.cxx
+@@ -138,7 +138,7 @@ extern "C" void pdf_prepend_stream(pdf_t *pdf,
+ }
+
+ // prepare the new stream which is to be prepended
+- PointerHolder<Buffer> stream_data = PointerHolder<Buffer>(new Buffer(len));
++ std::shared_ptr<Buffer> stream_data = std::shared_ptr<Buffer>(new Buffer(len));
+ memcpy(stream_data->getBuffer(), buf, len);
+ QPDFObjectHandle stream = QPDFObjectHandle::newStream(pdf, stream_data);
+ stream = pdf->makeIndirectObject(stream);
+--- filter/pdftopdf/qpdf_pdftopdf_processor.cc.orig 2023-01-25 01:41:08 UTC
++++ filter/pdftopdf/qpdf_pdftopdf_processor.cc
+@@ -83,10 +83,10 @@ QPDFObjectHandle QPDF_PDFTOPDF_PageHandle::get() // {{
+ page.getKey("/Resources").replaceKey("/XObject",QPDFObjectHandle::newDictionary(xobjs));
+ content.append("Q\n");
+ page.getKey("/Contents").replaceStreamData(content,QPDFObjectHandle::newNull(),QPDFObjectHandle::newNull());
+- page.replaceOrRemoveKey("/Rotate",makeRotate(rotation));
++ page.replaceKey("/Rotate",makeRotate(rotation));
+ } else {
+ Rotation rot=getRotate(page)+rotation;
+- page.replaceOrRemoveKey("/Rotate",makeRotate(rot));
++ page.replaceKey("/Rotate",makeRotate(rot));
+ }
+ page=QPDFObjectHandle(); // i.e. uninitialized
+ return ret;
+@@ -181,9 +181,9 @@ Rotation QPDF_PDFTOPDF_PageHandle::crop(const PageRect
+ page.assertInitialized();
+ Rotation save_rotate = getRotate(page);
+ if(orientation==ROT_0||orientation==ROT_180)
+- page.replaceOrRemoveKey("/Rotate",makeRotate(ROT_90));
++ page.replaceKey("/Rotate",makeRotate(ROT_90));
+ else
+- page.replaceOrRemoveKey("/Rotate",makeRotate(ROT_0));
++ page.replaceKey("/Rotate",makeRotate(ROT_0));
+
+ PageRect currpage= getBoxAsRect(getTrimBox(page));
+ double width = currpage.right-currpage.left;
+@@ -242,7 +242,7 @@ Rotation QPDF_PDFTOPDF_PageHandle::crop(const PageRect
+ //Cropping.
+ // TODO: Borders are covered by the image. buffer space?
+ page.replaceKey("/TrimBox",makeBox(currpage.left,currpage.bottom,currpage.right,currpage.top));
+- page.replaceOrRemoveKey("/Rotate",makeRotate(save_rotate));
++ page.replaceKey("/Rotate",makeRotate(save_rotate));
+ return getRotate(page);
+ }
+
+@@ -251,14 +251,14 @@ bool QPDF_PDFTOPDF_PageHandle::is_landscape(Rotation o
+ page.assertInitialized();
+ Rotation save_rotate = getRotate(page);
+ if(orientation==ROT_0||orientation==ROT_180)
+- page.replaceOrRemoveKey("/Rotate",makeRotate(ROT_90));
++ page.replaceKey("/Rotate",makeRotate(ROT_90));
+ else
+- page.replaceOrRemoveKey("/Rotate",makeRotate(ROT_0));
++ page.replaceKey("/Rotate",makeRotate(ROT_0));
+
+ PageRect currpage= getBoxAsRect(getTrimBox(page));
+ double width = currpage.right-currpage.left;
+ double height = currpage.top-currpage.bottom;
+- page.replaceOrRemoveKey("/Rotate",makeRotate(save_rotate));
++ page.replaceKey("/Rotate",makeRotate(save_rotate));
+ if(width>height)
+ return true;
+ return false;
+@@ -662,7 +662,7 @@ void QPDF_PDFTOPDF_Processor::autoRotateAll(bool dst_l
+ // TODO? other rotation direction, e.g. if (src_rot==ROT_0)&&(param.orientation==ROT_270) ... etc.
+ // rotation=ROT_270;
+
+- page.replaceOrRemoveKey("/Rotate",makeRotate(src_rot+rotation));
++ page.replaceKey("/Rotate",makeRotate(src_rot+rotation));
+ }
+ }
+ }
+--- filter/pdftopdf/qpdf_xobject.cc.orig 2025-08-19 16:30:13 UTC
++++ filter/pdftopdf/qpdf_xobject.cc
+@@ -138,7 +138,7 @@ QPDFObjectHandle makeXObject(QPDF *pdf,QPDFObjectHandl
+
+ std::vector<QPDFObjectHandle> contents=page.getPageContents(); // (will assertPageObject)
+
+- auto ph=PointerHolder<QPDFObjectHandle::StreamDataProvider>(new CombineFromContents_Provider(contents));
++ auto ph=std::shared_ptr<QPDFObjectHandle::StreamDataProvider>(new CombineFromContents_Provider(contents));
+ ret.replaceStreamData(ph,filter,decode_parms);
+
+ return ret;
+--- filter/rastertopdf.cpp.orig 2023-01-25 01:41:08 UTC
++++ filter/rastertopdf.cpp
+@@ -310,10 +310,10 @@ struct pdf_info
+ std::vector<std::string> pclm_source_resolution_supported;
+ std::string pclm_source_resolution_default;
+ std::string pclm_raster_back_side;
+- std::vector< PointerHolder<Buffer> > pclm_strip_data;
++ std::vector< std::shared_ptr<Buffer> > pclm_strip_data;
+ std::string render_intent;
+ cups_cspace_t color_space;
+- PointerHolder<Buffer> page_data;
++ std::shared_ptr<Buffer> page_data;
+ double page_width,page_height;
+ OutFormatType outformat;
+ };
+@@ -442,7 +442,7 @@ QPDFObjectHandle embedIccProfile(QPDF &pdf)
+ std::map<std::string,QPDFObjectHandle> streamdict;
+ std::string n_value = "";
+ std::string alternate_cs = "";
+- PointerHolder<Buffer>ph;
++ std::shared_ptr<Buffer>ph;
+
+ #ifdef USE_LCMS1
+ size_t profile_size;
+@@ -481,7 +481,7 @@ QPDFObjectHandle embedIccProfile(QPDF &pdf)
+ cmsSaveProfileToMem(colorProfile, buff, &profile_size);
+
+ // Write ICC profile buffer into PDF
+- ph = new Buffer(buff, profile_size);
++ ph = std::shared_ptr<Buffer>(new Buffer(buff, profile_size));
+ iccstream = QPDFObjectHandle::newStream(&pdf, ph);
+ iccstream.replaceDict(QPDFObjectHandle::newDictionary(streamdict));
+
+@@ -605,7 +605,7 @@ QPDFObjectHandle getCalGrayArray(double wp[3], double
+ * O - std::vector of QPDFObjectHandle
+ * I - QPDF object
+ * I - number of strips per page
+- * I - std::vector of PointerHolder<Buffer> containing data for each strip
++ * I - std::vector of std::shared_ptr<Buffer> containing data for each strip
+ * I - strip width
+ * I - strip height
+ * I - color space
+@@ -613,7 +613,7 @@ makePclmStrips(QPDF &pdf, unsigned num_strips,
+ */
+ std::vector<QPDFObjectHandle>
+ makePclmStrips(QPDF &pdf, unsigned num_strips,
+- std::vector< PointerHolder<Buffer> > &strip_data,
++ std::vector< std::shared_ptr<Buffer> > &strip_data,
+ std::vector<CompressionMethod> &compression_methods,
+ unsigned width, std::vector<unsigned>& strip_height, cups_cspace_t cs, unsigned bpc)
+ {
+@@ -679,7 +679,7 @@ makePclmStrips(QPDF &pdf, unsigned num_strips,
+ Pl_Flate pflate("pflate", &psink, Pl_Flate::a_deflate);
+ pflate.write(strip_data[i]->getBuffer(), strip_data[i]->getSize());
+ pflate.finish();
+- ret[i].replaceStreamData(PointerHolder<Buffer>(psink.getBuffer()),
++ ret[i].replaceStreamData(std::shared_ptr<Buffer>(psink.getBuffer()),
+ QPDFObjectHandle::newName("/FlateDecode"),QPDFObjectHandle::newNull());
+ }
+ else if (compression == RLE_DECODE)
+@@ -687,7 +687,7 @@ makePclmStrips(QPDF &pdf, unsigned num_strips,
+ Pl_RunLength prle("prle", &psink, Pl_RunLength::a_encode);
+ prle.write(strip_data[i]->getBuffer(),strip_data[i]->getSize());
+ prle.finish();
+- ret[i].replaceStreamData(PointerHolder<Buffer>(psink.getBuffer()),
++ ret[i].replaceStreamData(std::shared_ptr<Buffer>(psink.getBuffer()),
+ QPDFObjectHandle::newName("/RunLengthDecode"),QPDFObjectHandle::newNull());
+ }
+ else if (compression == DCT_DECODE)
+@@ -695,7 +695,7 @@ makePclmStrips(QPDF &pdf, unsigned num_strips,
+ Pl_DCT pdct("pdct", &psink, width, strip_height[i], components, color_space);
+ pdct.write(strip_data[i]->getBuffer(),strip_data[i]->getSize());
+ pdct.finish();
+- ret[i].replaceStreamData(PointerHolder<Buffer>(psink.getBuffer()),
++ ret[i].replaceStreamData(std::shared_ptr<Buffer>(psink.getBuffer()),
+ QPDFObjectHandle::newName("/DCTDecode"),QPDFObjectHandle::newNull());
+ }
+ }
+@@ -703,7 +703,7 @@ makePclmStrips(QPDF &pdf, unsigned num_strips,
+ }
+ #endif
+
+-QPDFObjectHandle makeImage(QPDF &pdf, PointerHolder<Buffer> page_data, unsigned width,
++QPDFObjectHandle makeImage(QPDF &pdf, std::shared_ptr<Buffer> page_data, unsigned width,
+ unsigned height, std::string render_intent, cups_cspace_t cs, unsigned bpc)
+ {
+ QPDFObjectHandle ret = QPDFObjectHandle::newStream(&pdf);
+@@ -843,7 +843,7 @@ QPDFObjectHandle makeImage(QPDF &pdf, PointerHolder<Bu
+ pflate.write(page_data->getBuffer(),page_data->getSize());
+ pflate.finish();
+
+- ret.replaceStreamData(PointerHolder<Buffer>(psink.getBuffer()),
++ ret.replaceStreamData(std::shared_ptr<Buffer>(psink.getBuffer()),
+ QPDFObjectHandle::newName("/FlateDecode"),QPDFObjectHandle::newNull());
+ #else
+ ret.replaceStreamData(page_data,QPDFObjectHandle::newNull(),QPDFObjectHandle::newNull());
+@@ -857,7 +857,7 @@ void finish_page(struct pdf_info * info)
+ if (info->outformat == OUTPUT_FORMAT_PDF)
+ {
+ // Finish previous PDF Page
+- if(!info->page_data.getPointer())
++ if(!info->page_data.get())
+ return;
+
+ QPDFObjectHandle image = makeImage(info->pdf, info->page_data, info->width, info->height, info->render_intent, info->color_space, info->bpc);
+@@ -874,7 +874,7 @@ void finish_page(struct pdf_info * info)
+ return;
+
+ for (size_t i = 0; i < info->pclm_strip_data.size(); i ++)
+- if(!info->pclm_strip_data[i].getPointer())
++ if(!info->pclm_strip_data[i].get())
+ return;
+
+ std::vector<QPDFObjectHandle> strips = makePclmStrips(info->pdf, info->pclm_num_strips, info->pclm_strip_data, info->pclm_compression_method_preferred, info->width, info->pclm_strip_height, info->color_space, info->bpc);
+@@ -932,7 +932,7 @@ void finish_page(struct pdf_info * info)
+ #endif
+
+ // bookkeeping
+- info->page_data = PointerHolder<Buffer>();
++ info->page_data = std::shared_ptr<Buffer>();
+ #ifdef QPDF_HAVE_PCLM
+ info->pclm_strip_data.clear();
+ #endif
+@@ -1101,12 +1101,12 @@ int add_pdf_page(struct pdf_info * info, int pagen, un
+ die("Page too big");
+ }
+ if (info->outformat == OUTPUT_FORMAT_PDF)
+- info->page_data = PointerHolder<Buffer>(new Buffer(info->line_bytes*info->height));
++ info->page_data = std::shared_ptr<Buffer>(new Buffer(info->line_bytes*info->height));
+ else if (info->outformat == OUTPUT_FORMAT_PCLM)
+ {
+ // reserve space for PCLm strips
+ for (size_t i = 0; i < info->pclm_num_strips; i ++)
+- info->pclm_strip_data[i] = PointerHolder<Buffer>(new Buffer(info->line_bytes*info->pclm_strip_height[i]));
++ info->pclm_strip_data[i] = std::shared_ptr<Buffer>(new Buffer(info->line_bytes*info->pclm_strip_height[i]));
+ }
+
+ QPDFObjectHandle page = QPDFObjectHandle::parse(
+--- filter/urftopdf.cpp.orig 2023-01-25 01:41:08 UTC
++++ filter/urftopdf.cpp
+@@ -80,7 +80,7 @@ struct pdf_info
+ unsigned pixel_bytes;
+ unsigned line_bytes;
+ unsigned bpp;
+- PointerHolder<Buffer> page_data;
++ std::shared_ptr<Buffer> page_data;
+ double page_width,page_height;
+ };
+
+@@ -119,7 +119,7 @@ enum ColorSpace {
+ iprintf("Created temporary file '%s'\n", tempfile_name);
+ */
+
+-QPDFObjectHandle makeImage(QPDF &pdf, PointerHolder<Buffer> page_data, unsigned width, unsigned height, ColorSpace cs, unsigned bpc)
++QPDFObjectHandle makeImage(QPDF &pdf, std::shared_ptr<Buffer> page_data, unsigned width, unsigned height, ColorSpace cs, unsigned bpc)
+ {
+ QPDFObjectHandle ret = QPDFObjectHandle::newStream(&pdf);
+
+@@ -153,7 +153,7 @@ QPDFObjectHandle makeImage(QPDF &pdf, PointerHolder<Bu
+
+ // /Filter /FlateDecode
+ // /DecodeParms [<</Predictor 1 /Colors 1[3] /BitsPerComponent $bits /Columns $x>>] ??
+- ret.replaceStreamData(PointerHolder<Buffer>(psink.getBuffer()),
++ ret.replaceStreamData(std::shared_ptr<Buffer>(psink.getBuffer()),
+ QPDFObjectHandle::newName("/FlateDecode"),QPDFObjectHandle::newNull());
+ #else
+ ret.replaceStreamData(page_data,QPDFObjectHandle::newNull(),QPDFObjectHandle::newNull());
+@@ -165,7 +165,7 @@ void finish_page(struct pdf_info * info)
+ void finish_page(struct pdf_info * info)
+ {
+ //Finish previous Page
+- if(!info->page_data.getPointer())
++ if(!info->page_data.get())
+ return;
+
+ QPDFObjectHandle image = makeImage(info->pdf, info->page_data, info->width, info->height, DEVICE_RGB, 8);
+@@ -182,7 +182,7 @@ void finish_page(struct pdf_info * info)
+ info->page.getKey("/Contents").replaceStreamData(content,QPDFObjectHandle::newNull(),QPDFObjectHandle::newNull());
+
+ // bookkeeping
+- info->page_data = PointerHolder<Buffer>();
++ info->page_data = std::shared_ptr<Buffer>();
+ }
+
+ int add_pdf_page(struct pdf_info * info, int pagen, unsigned width, unsigned height, int bpp, unsigned dpi)
+@@ -199,7 +199,7 @@ int add_pdf_page(struct pdf_info * info, int pagen, un
+ if (info->height > (std::numeric_limits<unsigned>::max() / info->line_bytes)) {
+ die("Page too big");
+ }
+- info->page_data = PointerHolder<Buffer>(new Buffer(info->line_bytes*info->height));
++ info->page_data = std::shared_ptr<Buffer>(new Buffer(info->line_bytes*info->height));
+
+ QPDFObjectHandle page = QPDFObjectHandle::parse(
+ "<<"
diff --git a/print/cups-filters/files/patch-cupsfilters_colormanager.c b/print/cups-filters/files/patch-cupsfilters_colormanager.c
index 3b1b190005e7..e64c483e507a 100644
--- a/print/cups-filters/files/patch-cupsfilters_colormanager.c
+++ b/print/cups-filters/files/patch-cupsfilters_colormanager.c
@@ -1,4 +1,4 @@
---- cupsfilters/colormanager.c.orig 2018-10-03 20:12:51 UTC
+--- cupsfilters/colormanager.c.orig 2023-01-25 01:41:08 UTC
+++ cupsfilters/colormanager.c
@@ -26,6 +26,7 @@ MIT Open Source License - http://www.opensource.org/
*/
@@ -15,5 +15,5 @@
- "%s/profiles/%s", CUPSDATA, attr->value);
+ "%s/profiles/%s", CUPS_DATADIR, attr->value);
else {
- strncpy(full_path, attr->value, sizeof(full_path));
+ strncpy(full_path, attr->value, sizeof(full_path) - 1);
if (strlen(attr->value) > 1023)
diff --git a/print/cups/Makefile b/print/cups/Makefile
index 1c11460c3ccb..69679e6bc1b7 100644
--- a/print/cups/Makefile
+++ b/print/cups/Makefile
@@ -1,6 +1,5 @@
PORTNAME= cups
-DISTVERSION= 2.4.11
-PORTREVISION= 1
+DISTVERSION= 2.4.12
CATEGORIES= print
MASTER_SITES= https://github.com/OpenPrinting/${PORTNAME}/releases/download/v${DISTVERSION}/
DISTNAME= ${PORTNAME}-${DISTVERSION}-source
diff --git a/print/cups/distinfo b/print/cups/distinfo
index 2227e31211b0..0e7b50e2cc79 100644
--- a/print/cups/distinfo
+++ b/print/cups/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1727709578
-SHA256 (cups-2.4.11-source.tar.gz) = 9a88fe1da3a29a917c3fc67ce6eb3178399d68e1a548c6d86c70d9b13651fd71
-SIZE (cups-2.4.11-source.tar.gz) = 8147763
+TIMESTAMP = 1748716245
+SHA256 (cups-2.4.12-source.tar.gz) = b1dde191a4ae2760c47220c82ca6155a28c382701e6c1a0159d1054990231d59
+SIZE (cups-2.4.12-source.tar.gz) = 8157433
diff --git a/print/derelict-ft/Makefile b/print/derelict-ft/Makefile
index 8fe5333c8b85..f93561962edc 100644
--- a/print/derelict-ft/Makefile
+++ b/print/derelict-ft/Makefile
@@ -1,6 +1,6 @@
PORTNAME= derelict-ft
PORTVERSION= 1.1.3
-PORTREVISION= 7
+PORTREVISION= 8
DISTVERSIONPREFIX= v
CATEGORIES= print
diff --git a/print/fig2dev/Makefile b/print/fig2dev/Makefile
index 2e117331d45f..cc569d0c431c 100644
--- a/print/fig2dev/Makefile
+++ b/print/fig2dev/Makefile
@@ -1,5 +1,5 @@
PORTNAME= fig2dev
-PORTVERSION= 3.2.9
+PORTVERSION= 3.2.9a
CATEGORIES= print
MASTER_SITES= SF/mcj/
@@ -15,7 +15,7 @@ LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
LIB_DEPENDS= libpng.so:graphics/png
RUN_DEPENDS= ppmtogif:graphics/netpbm
-USES= alias cpe ghostscript:run iconv tar:xz xorg
+USES= alias cpe ghostscript:run iconv localbase:ldflags tar:xz xorg
USE_XORG= xpm
CPE_VENDOR= xfig_project
diff --git a/print/fig2dev/distinfo b/print/fig2dev/distinfo
index 32902c685aec..3cbfcd771130 100644
--- a/print/fig2dev/distinfo
+++ b/print/fig2dev/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1710673559
-SHA256 (fig2dev-3.2.9.tar.xz) = 15e246c8d13cc72de25e08314038ad50ce7d2defa9cf1afc172fd7f5932090b1
-SIZE (fig2dev-3.2.9.tar.xz) = 529892
+TIMESTAMP = 1750880030
+SHA256 (fig2dev-3.2.9a.tar.xz) = 61e185393176852f03b901b3b05b19fbc5ad8258ff142f3da6e70b1b83513326
+SIZE (fig2dev-3.2.9a.tar.xz) = 536560
diff --git a/print/fontforge/Makefile b/print/fontforge/Makefile
index aa9a0541c9e0..ac4670010de3 100644
--- a/print/fontforge/Makefile
+++ b/print/fontforge/Makefile
@@ -1,6 +1,6 @@
PORTNAME= fontforge
DISTVERSION= 20230101
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= print
MASTER_SITES= https://github.com/${PORTNAME}/${PORTNAME}/releases/download/${DISTVERSION}/
diff --git a/print/foomatic-db-engine/Makefile b/print/foomatic-db-engine/Makefile
index 79a674cccbe1..6fed59e81519 100644
--- a/print/foomatic-db-engine/Makefile
+++ b/print/foomatic-db-engine/Makefile
@@ -1,6 +1,6 @@
PORTNAME= foomatic-db-engine
PORTVERSION= 4.0.13
-PORTREVISION= 3
+PORTREVISION= 4
PORTEPOCH= 2
CATEGORIES= print
MASTER_SITES= http://www.openprinting.org/download/foomatic/
diff --git a/print/gspdf/Makefile b/print/gspdf/Makefile
index 6aed3e1ae9d6..8b4e795c1a2d 100644
--- a/print/gspdf/Makefile
+++ b/print/gspdf/Makefile
@@ -1,6 +1,6 @@
PORTNAME= gspdf
PORTVERSION= 0.5
-PORTREVISION= 12
+PORTREVISION= 13
CATEGORIES= print gnustep
MASTER_SITES= SAVANNAH/gap
DISTNAME= GSPdf-${PORTVERSION}
diff --git a/print/hplip-plugin/Makefile b/print/hplip-plugin/Makefile
index fa0df9186d59..f3663d7d4ee1 100644
--- a/print/hplip-plugin/Makefile
+++ b/print/hplip-plugin/Makefile
@@ -1,7 +1,9 @@
PORTNAME= hplip-plugin
PORTVERSION= 3.24.4
+PORTREVISION= 1
CATEGORIES= print
-MASTER_SITES= https://developers.hp.com/sites/default/files/
+MASTER_SITES= https://developers.hp.com/sites/default/files/ \
+ https://www.openprinting.org/download/printdriver/auxfiles/HP/plugins/
DISTNAME= hplip-${DISTVERSION}-plugin
EXTRACT_SUFX= .run
diff --git a/print/hplip/Makefile b/print/hplip/Makefile
index 51fe9e41dfa9..d52a78fb5cd8 100644
--- a/print/hplip/Makefile
+++ b/print/hplip/Makefile
@@ -1,6 +1,6 @@
PORTNAME= hplip
PORTVERSION= 3.24.4
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= print
MASTER_SITES= SF
diff --git a/print/hyperlatex/Makefile b/print/hyperlatex/Makefile
index e79fccc08b2d..7b28bf5fb968 100644
--- a/print/hyperlatex/Makefile
+++ b/print/hyperlatex/Makefile
@@ -1,6 +1,6 @@
PORTNAME= Hyperlatex
DISTVERSION= 2.9a
-PORTREVISION= 25
+PORTREVISION= 26
CATEGORIES= print
MASTER_SITES= SF/${PORTNAME:tl}/${PORTNAME:tl}/2.9a
PKGNAMESUFFIX= ${EMACS_PKGNAMESUFFIX}
diff --git a/print/ipp-usb/Makefile b/print/ipp-usb/Makefile
index c14dc1a2cbb7..5079b5b54317 100644
--- a/print/ipp-usb/Makefile
+++ b/print/ipp-usb/Makefile
@@ -1,6 +1,6 @@
PORTNAME= ipp-usb
DISTVERSION= 0.9.24
-PORTREVISION= 4
+PORTREVISION= 7
CATEGORIES= print
MAINTAINER= chuanwei.foo@hotmail.com
diff --git a/print/latex-biber/Makefile b/print/latex-biber/Makefile
index 9e2324903846..4f285e3259df 100644
--- a/print/latex-biber/Makefile
+++ b/print/latex-biber/Makefile
@@ -2,7 +2,7 @@ PORTNAME= biber
# https://sourceforge.net/projects/biblatex-biber/files/biblatex-biber/development/documentation/biber.pdf/download
# Keep this in-sync with biblatex.sty (currently at 3.20).
DISTVERSIONPREFIX= v
-DISTVERSION= 2.20
+DISTVERSION= 2.21
PORTEPOCH= 2
CATEGORIES= print perl5
PKGNAMEPREFIX= latex-
@@ -12,8 +12,8 @@ MAINTAINER= tex@FreeBSD.org
COMMENT= BibTeX replacement for users of BibLaTeX
WWW= https://biblatex-biber.sourceforge.net/
-LICENSE= ART10 GPLv1+
-LICENSE_COMB= dual
+LICENSE= ART10 GPLv1+
+LICENSE_COMB= dual
LICENSE_FILE_ART10= ${WRKSRC}/LICENSE
__DEPENDS= \
diff --git a/print/latex-biber/distinfo b/print/latex-biber/distinfo
index ec3a07de9135..bcd03fce6820 100644
--- a/print/latex-biber/distinfo
+++ b/print/latex-biber/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1744972861
-SHA256 (TeX/plk-biber-v2.20_GH0.tar.gz) = 19f0312e59bf2f5711b8d69b3585a0ca894c36574f086fbb8d53ccd5c0a45ff9
-SIZE (TeX/plk-biber-v2.20_GH0.tar.gz) = 1632745
+TIMESTAMP = 1753536217
+SHA256 (TeX/plk-biber-v2.21_GH0.tar.gz) = 2652cf3ae0abff5fb233aa77f18e70014cc2c70b94a8693c099a3cad9bbb4b20
+SIZE (TeX/plk-biber-v2.21_GH0.tar.gz) = 1650331
diff --git a/print/latex-biber/pkg-plist b/print/latex-biber/pkg-plist
index 613eaa36ad66..a475bd856da5 100644
--- a/print/latex-biber/pkg-plist
+++ b/print/latex-biber/pkg-plist
@@ -1,6 +1,36 @@
+%%PERL5_MAN3%%/Biber.3.gz
+%%PERL5_MAN3%%/Biber::Annotation.3.gz
+%%PERL5_MAN3%%/Biber::Config.3.gz
+%%PERL5_MAN3%%/Biber::Constants.3.gz
+%%PERL5_MAN3%%/Biber::DataList.3.gz
+%%PERL5_MAN3%%/Biber::DataLists.3.gz
+%%PERL5_MAN3%%/Biber::DataModel.3.gz
+%%PERL5_MAN3%%/Biber::Date::Format.3.gz
+%%PERL5_MAN3%%/Biber::Entries.3.gz
+%%PERL5_MAN3%%/Biber::Entry.3.gz
+%%PERL5_MAN3%%/Biber::Entry::Name.3.gz
+%%PERL5_MAN3%%/Biber::Entry::Names.3.gz
+%%PERL5_MAN3%%/Biber::Input::file::biblatexml.3.gz
+%%PERL5_MAN3%%/Biber::Input::file::bibtex.3.gz
+%%PERL5_MAN3%%/Biber::Internals.3.gz
+%%PERL5_MAN3%%/Biber::LaTeX::Recode.3.gz
+%%PERL5_MAN3%%/Biber::LangTag.3.gz
+%%PERL5_MAN3%%/Biber::LangTags.3.gz
+%%PERL5_MAN3%%/Biber::Output::base.3.gz
+%%PERL5_MAN3%%/Biber::Output::bbl.3.gz
+%%PERL5_MAN3%%/Biber::Output::bblxml.3.gz
+%%PERL5_MAN3%%/Biber::Output::biblatexml.3.gz
+%%PERL5_MAN3%%/Biber::Output::bibtex.3.gz
+%%PERL5_MAN3%%/Biber::Output::dot.3.gz
+%%PERL5_MAN3%%/Biber::Section.3.gz
+%%PERL5_MAN3%%/Biber::Sections.3.gz
+%%PERL5_MAN3%%/Biber::UCollate.3.gz
+%%PERL5_MAN3%%/Biber::Utils.3.gz
+%%PERL5_MAN1%%/biber.1.gz
bin/biber
%%SITE_PERL%%/Biber.pm
%%SITE_PERL%%/Biber/Annotation.pm
+%%SITE_PERL%%/Biber/CodePage.pm
%%SITE_PERL%%/Biber/Config.pm
%%SITE_PERL%%/Biber/Constants.pm
%%SITE_PERL%%/Biber/DataList.pm
@@ -34,32 +64,3 @@ bin/biber
%%SITE_PERL%%/Biber/biber-tool.conf
%%SITE_PERL%%/Biber/config.rnc
%%SITE_PERL%%/Biber/config.rng
-%%PERL5_MAN1%%/biber.1.gz
-%%PERL5_MAN3%%/Biber.3.gz
-%%PERL5_MAN3%%/Biber::Annotation.3.gz
-%%PERL5_MAN3%%/Biber::Config.3.gz
-%%PERL5_MAN3%%/Biber::Constants.3.gz
-%%PERL5_MAN3%%/Biber::DataList.3.gz
-%%PERL5_MAN3%%/Biber::DataLists.3.gz
-%%PERL5_MAN3%%/Biber::DataModel.3.gz
-%%PERL5_MAN3%%/Biber::Date::Format.3.gz
-%%PERL5_MAN3%%/Biber::Entries.3.gz
-%%PERL5_MAN3%%/Biber::Entry.3.gz
-%%PERL5_MAN3%%/Biber::Entry::Name.3.gz
-%%PERL5_MAN3%%/Biber::Entry::Names.3.gz
-%%PERL5_MAN3%%/Biber::Input::file::biblatexml.3.gz
-%%PERL5_MAN3%%/Biber::Input::file::bibtex.3.gz
-%%PERL5_MAN3%%/Biber::Internals.3.gz
-%%PERL5_MAN3%%/Biber::LaTeX::Recode.3.gz
-%%PERL5_MAN3%%/Biber::LangTag.3.gz
-%%PERL5_MAN3%%/Biber::LangTags.3.gz
-%%PERL5_MAN3%%/Biber::Output::base.3.gz
-%%PERL5_MAN3%%/Biber::Output::bbl.3.gz
-%%PERL5_MAN3%%/Biber::Output::bblxml.3.gz
-%%PERL5_MAN3%%/Biber::Output::biblatexml.3.gz
-%%PERL5_MAN3%%/Biber::Output::bibtex.3.gz
-%%PERL5_MAN3%%/Biber::Output::dot.3.gz
-%%PERL5_MAN3%%/Biber::Section.3.gz
-%%PERL5_MAN3%%/Biber::Sections.3.gz
-%%PERL5_MAN3%%/Biber::UCollate.3.gz
-%%PERL5_MAN3%%/Biber::Utils.3.gz
diff --git a/print/libraqm/Makefile b/print/libraqm/Makefile
index c558c5e365fb..61b52c998d73 100644
--- a/print/libraqm/Makefile
+++ b/print/libraqm/Makefile
@@ -4,7 +4,7 @@ CATEGORIES= print
MASTER_SITES= https://github.com/HOST-Oman/${PORTNAME}/releases/download/v${DISTVERSION}/
DISTNAME= raqm-${DISTVERSION}
-MAINTAINER= kwm@FreeBSD.org
+MAINTAINER= ports@FreeBSD.org
COMMENT= Library that encapsulates complex text layout logic
WWW= https://github.com/HOST-Oman/libraqm
diff --git a/print/lilypond-devel/Makefile b/print/lilypond-devel/Makefile
index 5dbd5f1beeab..8ea8f16ba8c1 100644
--- a/print/lilypond-devel/Makefile
+++ b/print/lilypond-devel/Makefile
@@ -1,6 +1,5 @@
PORTNAME= lilypond
-DISTVERSION= 2.25.23
-PORTREVISION= 1
+DISTVERSION= 2.25.27
CATEGORIES= print audio
MASTER_SITES= http://lilypond.org/download/source/v${DISTVERSION:R}/
PKGNAMESUFFIX= -devel
diff --git a/print/lilypond-devel/distinfo b/print/lilypond-devel/distinfo
index 047eae752e1a..5ff36b44663c 100644
--- a/print/lilypond-devel/distinfo
+++ b/print/lilypond-devel/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1736790328
-SHA256 (lilypond-2.25.23.tar.gz) = 6e6759b5c1514b0470e5cb6bea63c9c8ff34f25d915e9f3ae0e3dee292014ecb
-SIZE (lilypond-2.25.23.tar.gz) = 19470352
+TIMESTAMP = 1753087284
+SHA256 (lilypond-2.25.27.tar.gz) = 5b917136870c65b1d05461c5ed2822d2c72f4b7d4a24ede1f421dd15f2a2f2db
+SIZE (lilypond-2.25.27.tar.gz) = 19546342
diff --git a/print/lilypond-devel/pkg-plist b/print/lilypond-devel/pkg-plist
index d34a0d1f48aa..969bb83de243 100644
--- a/print/lilypond-devel/pkg-plist
+++ b/print/lilypond-devel/pkg-plist
@@ -7,6 +7,78 @@ bin/lilypond-book
bin/lilypond-invoke-editor
bin/midi2ly
bin/musicxml2ly
+lib/lilypond/%%DISTVERSION%%/ccache/lily/accreg.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/auto-beam.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/autochange.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/backend-library.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/bar-line.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/breath.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/c++.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/chord-entry.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/chord-ignatzek-names.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/chord-name.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/clip-region.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/color.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/context.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/curried-definitions.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/define-context-properties.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/define-event-classes.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/define-grob-interfaces.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/define-grob-properties.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/define-grobs.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/define-markup-commands.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/define-music-callbacks.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/define-music-display-methods.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/define-music-properties.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/define-music-types.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/define-note-names.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/define-stencil-commands.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/define-woodwind-diagrams.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/display-lily.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/display-woodwind-diagrams.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/file-cache.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/flag-styles.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/font-encodings.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/framework-cairo.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/framework-ps.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/framework-svg.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/fret-diagrams.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/graphviz.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/harp-pedals.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/layout-beam.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/layout-slur.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/lily-library.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/lily.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/ly-syntax-constructors.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/markup-macros.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/markup.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/midi.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/modal-transforms.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/music-functions.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/operators.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/output-lib.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/output-ps.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/output-svg.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/page.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/paper-system.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/paper.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/parser-clef.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/parser-ly-from-scheme.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/part-combiner.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/predefined-fretboards.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/ps-to-png.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/qr-code.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/scheme-engravers.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/scheme-performers.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/script.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/skyline.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/stencil.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/tablature.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/time-signature-settings.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/time-signature.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/titling.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/to-xml.go
+lib/lilypond/%%DISTVERSION%%/ccache/lily/translation-functions.go
share/emacs/site-lisp/lilypond-font-lock.el
share/emacs/site-lisp/lilypond-indent.el
share/emacs/site-lisp/lilypond-init.el
@@ -258,6 +330,7 @@ share/man/man1/musicxml2ly.1.gz
%%DATADIR%%/%%DISTVERSION%%/scm/lily/chord-name.scm
%%DATADIR%%/%%DISTVERSION%%/scm/lily/clip-region.scm
%%DATADIR%%/%%DISTVERSION%%/scm/lily/color.scm
+%%DATADIR%%/%%DISTVERSION%%/scm/lily/context.scm
%%DATADIR%%/%%DISTVERSION%%/scm/lily/curried-definitions.scm
%%DATADIR%%/%%DISTVERSION%%/scm/lily/define-context-properties.scm
%%DATADIR%%/%%DISTVERSION%%/scm/lily/define-event-classes.scm
diff --git a/print/lyx/Makefile b/print/lyx/Makefile
index 46680376273f..48d5d914a0fa 100644
--- a/print/lyx/Makefile
+++ b/print/lyx/Makefile
@@ -1,6 +1,5 @@
PORTNAME= lyx
-PORTVERSION= ${MAJOR_VERSION}.3
-PORTREVISION= 3
+PORTVERSION= ${MAJOR_VERSION}.4
CATEGORIES= print editors
MASTER_SITES= ftp://ftp.lyx.org/pub/lyx/stable/${MAJOR_VERSION}.x/ \
http://www-ftp.lip6.fr/ftp/pub/lyx/stable/${MAJOR_VERSION}.x/ \
diff --git a/print/lyx/distinfo b/print/lyx/distinfo
index 24a435c8d12a..a206ba57474c 100644
--- a/print/lyx/distinfo
+++ b/print/lyx/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1737680532
-SHA256 (lyx-2.4.3.tar.xz) = fa6761f598a5915af50a423dd2a607048bdbc540a6d572385fe422df581eebf6
-SIZE (lyx-2.4.3.tar.xz) = 17843424
+TIMESTAMP = 1751339473
+SHA256 (lyx-2.4.4.tar.xz) = ffacd37480f320f3f3f8f30445fe40897e9df44c94ee87ba0413e364086f4b90
+SIZE (lyx-2.4.4.tar.xz) = 18360996
diff --git a/print/lyx/pkg-plist b/print/lyx/pkg-plist
index 28aeb3d37a34..37588cf9aa6e 100644
--- a/print/lyx/pkg-plist
+++ b/print/lyx/pkg-plist
@@ -475,6 +475,7 @@ share/icons/hicolor/scalable/apps/lyx.svg
%%DATADIR%%/examples/Articles/Astronomy_%26_Astrophysics.lyx
%%DATADIR%%/examples/Articles/Chess/Game_1.lyx
%%DATADIR%%/examples/Articles/Chess/Game_2.lyx
+%%DATADIR%%/examples/Articles/Springer_Nature_Journals.lyx
%%DATADIR%%/examples/Books/American_Mathematical_Society_%28AMS%29.lyx
%%DATADIR%%/examples/Books/KOMA-Script_Book.lyx
%%DATADIR%%/examples/Books/Recipe_Book.lyx
@@ -686,6 +687,443 @@ share/icons/hicolor/scalable/apps/lyx.svg
%%DATADIR%%/fonts/rsfs10.ttf
%%DATADIR%%/fonts/stmary10.ttf
%%DATADIR%%/fonts/wasy10.ttf
+%%DATADIR%%/images/adwaita/all-changes-accept.svgz
+%%DATADIR%%/images/adwaita/all-changes-reject.svgz
+%%DATADIR%%/images/adwaita/bookmark-goto.svgz
+%%DATADIR%%/images/adwaita/bookmark-goto_0.svgz
+%%DATADIR%%/images/adwaita/bookmark-save.svgz
+%%DATADIR%%/images/adwaita/box-insert.svgz
+%%DATADIR%%/images/adwaita/break-line.svgz
+%%DATADIR%%/images/adwaita/buffer-close.svgz
+%%DATADIR%%/images/adwaita/buffer-export.svgz
+%%DATADIR%%/images/adwaita/buffer-export_dvi.svgz
+%%DATADIR%%/images/adwaita/buffer-export_dvi3.svgz
+%%DATADIR%%/images/adwaita/buffer-export_latex.svgz
+%%DATADIR%%/images/adwaita/buffer-export_pdf.svgz
+%%DATADIR%%/images/adwaita/buffer-export_pdf2.svgz
+%%DATADIR%%/images/adwaita/buffer-export_pdf3.svgz
+%%DATADIR%%/images/adwaita/buffer-export_pdf4.svgz
+%%DATADIR%%/images/adwaita/buffer-export_pdf5.svgz
+%%DATADIR%%/images/adwaita/buffer-export_ps.svgz
+%%DATADIR%%/images/adwaita/buffer-export_text.svgz
+%%DATADIR%%/images/adwaita/buffer-new.svgz
+%%DATADIR%%/images/adwaita/buffer-reload.svgz
+%%DATADIR%%/images/adwaita/buffer-toggle-output-sync.svgz
+%%DATADIR%%/images/adwaita/buffer-update.svgz
+%%DATADIR%%/images/adwaita/buffer-update_dvi.svgz
+%%DATADIR%%/images/adwaita/buffer-update_dvi3.svgz
+%%DATADIR%%/images/adwaita/buffer-update_pdf.svgz
+%%DATADIR%%/images/adwaita/buffer-update_pdf2.svgz
+%%DATADIR%%/images/adwaita/buffer-update_pdf3.svgz
+%%DATADIR%%/images/adwaita/buffer-update_pdf4.svgz
+%%DATADIR%%/images/adwaita/buffer-update_pdf5.svgz
+%%DATADIR%%/images/adwaita/buffer-update_ps.svgz
+%%DATADIR%%/images/adwaita/buffer-view.svgz
+%%DATADIR%%/images/adwaita/buffer-view_dvi.svgz
+%%DATADIR%%/images/adwaita/buffer-view_dvi3.svgz
+%%DATADIR%%/images/adwaita/buffer-view_pdf.svgz
+%%DATADIR%%/images/adwaita/buffer-view_pdf2.svgz
+%%DATADIR%%/images/adwaita/buffer-view_pdf3.svgz
+%%DATADIR%%/images/adwaita/buffer-view_pdf4.svgz
+%%DATADIR%%/images/adwaita/buffer-view_pdf5.svgz
+%%DATADIR%%/images/adwaita/buffer-view_ps.svgz
+%%DATADIR%%/images/adwaita/buffer-write-as.svgz
+%%DATADIR%%/images/adwaita/buffer-write.svgz
+%%DATADIR%%/images/adwaita/build-program.svgz
+%%DATADIR%%/images/adwaita/busy.svgz
+%%DATADIR%%/images/adwaita/change-accept.svgz
+%%DATADIR%%/images/adwaita/change-next.svgz
+%%DATADIR%%/images/adwaita/change-reject.svgz
+%%DATADIR%%/images/adwaita/changes-merge.svgz
+%%DATADIR%%/images/adwaita/changes-output.svgz
+%%DATADIR%%/images/adwaita/changes-track.svgz
+%%DATADIR%%/images/adwaita/closetab.svgz
+%%DATADIR%%/images/adwaita/command-alternatives_outline-in_depth-increment+rtl.svgz
+%%DATADIR%%/images/adwaita/command-alternatives_outline-in_depth-increment.svgz
+%%DATADIR%%/images/adwaita/command-alternatives_outline-out_depth-decrement+rtl.svgz
+%%DATADIR%%/images/adwaita/command-alternatives_outline-out_depth-decrement.svgz
+%%DATADIR%%/images/adwaita/copy.svgz
+%%DATADIR%%/images/adwaita/cut.svgz
+%%DATADIR%%/images/adwaita/darkmode/all-changes-accept.svgz
+%%DATADIR%%/images/adwaita/darkmode/all-changes-reject.svgz
+%%DATADIR%%/images/adwaita/darkmode/bookmark-goto.svgz
+%%DATADIR%%/images/adwaita/darkmode/bookmark-goto_0.svgz
+%%DATADIR%%/images/adwaita/darkmode/bookmark-save.svgz
+%%DATADIR%%/images/adwaita/darkmode/box-insert.svgz
+%%DATADIR%%/images/adwaita/darkmode/break-line.svgz
+%%DATADIR%%/images/adwaita/darkmode/buffer-close.svgz
+%%DATADIR%%/images/adwaita/darkmode/buffer-export.svgz
+%%DATADIR%%/images/adwaita/darkmode/buffer-export_dvi.svgz
+%%DATADIR%%/images/adwaita/darkmode/buffer-export_dvi3.svgz
+%%DATADIR%%/images/adwaita/darkmode/buffer-export_latex.svgz
+%%DATADIR%%/images/adwaita/darkmode/buffer-export_pdf.svgz
+%%DATADIR%%/images/adwaita/darkmode/buffer-export_pdf2.svgz
+%%DATADIR%%/images/adwaita/darkmode/buffer-export_pdf3.svgz
+%%DATADIR%%/images/adwaita/darkmode/buffer-export_pdf4.svgz
+%%DATADIR%%/images/adwaita/darkmode/buffer-export_pdf5.svgz
+%%DATADIR%%/images/adwaita/darkmode/buffer-export_ps.svgz
+%%DATADIR%%/images/adwaita/darkmode/buffer-export_text.svgz
+%%DATADIR%%/images/adwaita/darkmode/buffer-new.svgz
+%%DATADIR%%/images/adwaita/darkmode/buffer-reload.svgz
+%%DATADIR%%/images/adwaita/darkmode/buffer-toggle-output-sync.svgz
+%%DATADIR%%/images/adwaita/darkmode/buffer-update.svgz
+%%DATADIR%%/images/adwaita/darkmode/buffer-update_dvi.svgz
+%%DATADIR%%/images/adwaita/darkmode/buffer-update_dvi3.svgz
+%%DATADIR%%/images/adwaita/darkmode/buffer-update_pdf.svgz
+%%DATADIR%%/images/adwaita/darkmode/buffer-update_pdf2.svgz
+%%DATADIR%%/images/adwaita/darkmode/buffer-update_pdf3.svgz
+%%DATADIR%%/images/adwaita/darkmode/buffer-update_pdf4.svgz
+%%DATADIR%%/images/adwaita/darkmode/buffer-update_pdf5.svgz
+%%DATADIR%%/images/adwaita/darkmode/buffer-update_ps.svgz
+%%DATADIR%%/images/adwaita/darkmode/buffer-view.svgz
+%%DATADIR%%/images/adwaita/darkmode/buffer-view_dvi.svgz
+%%DATADIR%%/images/adwaita/darkmode/buffer-view_dvi3.svgz
+%%DATADIR%%/images/adwaita/darkmode/buffer-view_pdf.svgz
+%%DATADIR%%/images/adwaita/darkmode/buffer-view_pdf2.svgz
+%%DATADIR%%/images/adwaita/darkmode/buffer-view_pdf3.svgz
+%%DATADIR%%/images/adwaita/darkmode/buffer-view_pdf4.svgz
+%%DATADIR%%/images/adwaita/darkmode/buffer-view_pdf5.svgz
+%%DATADIR%%/images/adwaita/darkmode/buffer-view_ps.svgz
+%%DATADIR%%/images/adwaita/darkmode/buffer-write-as.svgz
+%%DATADIR%%/images/adwaita/darkmode/buffer-write.svgz
+%%DATADIR%%/images/adwaita/darkmode/build-program.svgz
+%%DATADIR%%/images/adwaita/darkmode/busy.svgz
+%%DATADIR%%/images/adwaita/darkmode/change-accept.svgz
+%%DATADIR%%/images/adwaita/darkmode/change-next.svgz
+%%DATADIR%%/images/adwaita/darkmode/change-reject.svgz
+%%DATADIR%%/images/adwaita/darkmode/changes-merge.svgz
+%%DATADIR%%/images/adwaita/darkmode/changes-output.svgz
+%%DATADIR%%/images/adwaita/darkmode/changes-track.svgz
+%%DATADIR%%/images/adwaita/darkmode/closetab.svgz
+%%DATADIR%%/images/adwaita/darkmode/command-alternatives_outline-in_depth-increment+rtl.svgz
+%%DATADIR%%/images/adwaita/darkmode/command-alternatives_outline-in_depth-increment.svgz
+%%DATADIR%%/images/adwaita/darkmode/command-alternatives_outline-out_depth-decrement+rtl.svgz
+%%DATADIR%%/images/adwaita/darkmode/command-alternatives_outline-out_depth-decrement.svgz
+%%DATADIR%%/images/adwaita/darkmode/copy.svgz
+%%DATADIR%%/images/adwaita/darkmode/cut.svgz
+%%DATADIR%%/images/adwaita/darkmode/depth-decrement+rtl.svgz
+%%DATADIR%%/images/adwaita/darkmode/depth-decrement.svgz
+%%DATADIR%%/images/adwaita/darkmode/depth-increment+rtl.svgz
+%%DATADIR%%/images/adwaita/darkmode/depth-increment.svgz
+%%DATADIR%%/images/adwaita/darkmode/dialog-preferences.svgz
+%%DATADIR%%/images/adwaita/darkmode/dialog-show-new-inset_citation.svgz
+%%DATADIR%%/images/adwaita/darkmode/dialog-show-new-inset_graphics.svgz
+%%DATADIR%%/images/adwaita/darkmode/dialog-show-new-inset_include.svgz
+%%DATADIR%%/images/adwaita/darkmode/dialog-show-new-inset_ref.svgz
+%%DATADIR%%/images/adwaita/darkmode/dialog-show_character.svgz
+%%DATADIR%%/images/adwaita/darkmode/dialog-show_findreplace.svgz
+%%DATADIR%%/images/adwaita/darkmode/dialog-show_findreplaceadv.svgz
+%%DATADIR%%/images/adwaita/darkmode/dialog-show_mathdelimiter.svgz
+%%DATADIR%%/images/adwaita/darkmode/dialog-show_mathmatrix.svgz
+%%DATADIR%%/images/adwaita/darkmode/dialog-show_print.svgz
+%%DATADIR%%/images/adwaita/darkmode/dialog-show_spellchecker.svgz
+%%DATADIR%%/images/adwaita/darkmode/dialog-show_toc.svgz
+%%DATADIR%%/images/adwaita/darkmode/dialog-show_vclog.svgz
+%%DATADIR%%/images/adwaita/darkmode/down.svgz
+%%DATADIR%%/images/adwaita/darkmode/dynamic-char-styles.svgz
+%%DATADIR%%/images/adwaita/darkmode/dynamic-custom-insets.svgz
+%%DATADIR%%/images/adwaita/darkmode/editclear.svgz
+%%DATADIR%%/images/adwaita/darkmode/emblem-readonly.svgz
+%%DATADIR%%/images/adwaita/darkmode/emblem-shellescape.svgz
+%%DATADIR%%/images/adwaita/darkmode/ert-insert.svgz
+%%DATADIR%%/images/adwaita/darkmode/file-open.svgz
+%%DATADIR%%/images/adwaita/darkmode/float-insert_figure.svgz
+%%DATADIR%%/images/adwaita/darkmode/float-insert_table.svgz
+%%DATADIR%%/images/adwaita/darkmode/font-bold.svgz
+%%DATADIR%%/images/adwaita/darkmode/font-emph.svgz
+%%DATADIR%%/images/adwaita/darkmode/font-noun.svgz
+%%DATADIR%%/images/adwaita/darkmode/font-sans.svgz
+%%DATADIR%%/images/adwaita/darkmode/font-smallcaps.svgz
+%%DATADIR%%/images/adwaita/darkmode/footnote-insert.svgz
+%%DATADIR%%/images/adwaita/darkmode/hidetab.svgz
+%%DATADIR%%/images/adwaita/darkmode/href-insert.svgz
+%%DATADIR%%/images/adwaita/darkmode/index-insert.svgz
+%%DATADIR%%/images/adwaita/darkmode/info-insert.svgz
+%%DATADIR%%/images/adwaita/darkmode/info-insert_vcs_revision.svgz
+%%DATADIR%%/images/adwaita/darkmode/label-insert.svgz
+%%DATADIR%%/images/adwaita/darkmode/layout-document.svgz
+%%DATADIR%%/images/adwaita/darkmode/layout-paragraph.svgz
+%%DATADIR%%/images/adwaita/darkmode/layout-toggle_Chunk.svgz
+%%DATADIR%%/images/adwaita/darkmode/layout-toggle_Description+rtl.svgz
+%%DATADIR%%/images/adwaita/darkmode/layout-toggle_Description.svgz
+%%DATADIR%%/images/adwaita/darkmode/layout-toggle_Enumerate+rtl.svgz
+%%DATADIR%%/images/adwaita/darkmode/layout-toggle_Enumerate.svgz
+%%DATADIR%%/images/adwaita/darkmode/layout-toggle_Itemize+rtl.svgz
+%%DATADIR%%/images/adwaita/darkmode/layout-toggle_Itemize.svgz
+%%DATADIR%%/images/adwaita/darkmode/layout-toggle_Labeling+rtl.svgz
+%%DATADIR%%/images/adwaita/darkmode/layout-toggle_Labeling.svgz
+%%DATADIR%%/images/adwaita/darkmode/layout-toggle_List+rtl.svgz
+%%DATADIR%%/images/adwaita/darkmode/layout-toggle_List.svgz
+%%DATADIR%%/images/adwaita/darkmode/layout-toggle_LyX-Code.svgz
+%%DATADIR%%/images/adwaita/darkmode/layout-toggle_Section.svgz
+%%DATADIR%%/images/adwaita/darkmode/layout.svgz
+%%DATADIR%%/images/adwaita/darkmode/lyx-quit.svgz
+%%DATADIR%%/images/adwaita/darkmode/lyxfiles-system-folder.svgz
+%%DATADIR%%/images/adwaita/darkmode/lyxfiles-system.svgz
+%%DATADIR%%/images/adwaita/darkmode/lyxfiles-user-folder.svgz
+%%DATADIR%%/images/adwaita/darkmode/lyxfiles-user.svgz
+%%DATADIR%%/images/adwaita/darkmode/marginalnote-insert.svgz
+%%DATADIR%%/images/adwaita/darkmode/master-buffer-update.svgz
+%%DATADIR%%/images/adwaita/darkmode/master-buffer-view.svgz
+%%DATADIR%%/images/adwaita/darkmode/math-display.svgz
+%%DATADIR%%/images/adwaita/darkmode/math-macro-add-greedy-optional-param.svgz
+%%DATADIR%%/images/adwaita/darkmode/math-macro-add-optional-param.svgz
+%%DATADIR%%/images/adwaita/darkmode/math-macro-add-param.svgz
+%%DATADIR%%/images/adwaita/darkmode/math-macro-append-greedy-param.svgz
+%%DATADIR%%/images/adwaita/darkmode/math-macro-make-nonoptional.svgz
+%%DATADIR%%/images/adwaita/darkmode/math-macro-make-optional.svgz
+%%DATADIR%%/images/adwaita/darkmode/math-macro-remove-greedy-param.svgz
+%%DATADIR%%/images/adwaita/darkmode/math-macro-remove-optional-param.svgz
+%%DATADIR%%/images/adwaita/darkmode/math-macro-remove-param.svgz
+%%DATADIR%%/images/adwaita/darkmode/math-macro_newmacroname_newcommand.svgz
+%%DATADIR%%/images/adwaita/darkmode/math-matrix.svgz
+%%DATADIR%%/images/adwaita/darkmode/math-mode.svgz
+%%DATADIR%%/images/adwaita/darkmode/math-subscript.svgz
+%%DATADIR%%/images/adwaita/darkmode/math-superscript.svgz
+%%DATADIR%%/images/adwaita/darkmode/nomencl-insert.svgz
+%%DATADIR%%/images/adwaita/darkmode/note-insert.svgz
+%%DATADIR%%/images/adwaita/darkmode/note-next.svgz
+%%DATADIR%%/images/adwaita/darkmode/outline-down.svgz
+%%DATADIR%%/images/adwaita/darkmode/outline-in+rtl.svgz
+%%DATADIR%%/images/adwaita/darkmode/outline-in.svgz
+%%DATADIR%%/images/adwaita/darkmode/outline-out+rtl.svgz
+%%DATADIR%%/images/adwaita/darkmode/outline-out.svgz
+%%DATADIR%%/images/adwaita/darkmode/outline-up.svgz
+%%DATADIR%%/images/adwaita/darkmode/paste.svgz
+%%DATADIR%%/images/adwaita/darkmode/process-stop.svgz
+%%DATADIR%%/images/adwaita/darkmode/redo.svgz
+%%DATADIR%%/images/adwaita/darkmode/reload.svgz
+%%DATADIR%%/images/adwaita/darkmode/script-insert_subscript.svgz
+%%DATADIR%%/images/adwaita/darkmode/script-insert_superscript.svgz
+%%DATADIR%%/images/adwaita/darkmode/search-case-sensitive.svgz
+%%DATADIR%%/images/adwaita/darkmode/search-instant.svgz
+%%DATADIR%%/images/adwaita/darkmode/search-options.svgz
+%%DATADIR%%/images/adwaita/darkmode/search-selection.svgz
+%%DATADIR%%/images/adwaita/darkmode/search-whole-words.svgz
+%%DATADIR%%/images/adwaita/darkmode/search-wrap.svgz
+%%DATADIR%%/images/adwaita/darkmode/specialchar-insert_latex.svgz
+%%DATADIR%%/images/adwaita/darkmode/specialchar-insert_latex2e.svgz
+%%DATADIR%%/images/adwaita/darkmode/specialchar-insert_lyx.svgz
+%%DATADIR%%/images/adwaita/darkmode/specialchar-insert_menu-separator.svgz
+%%DATADIR%%/images/adwaita/darkmode/specialchar-insert_tex.svgz
+%%DATADIR%%/images/adwaita/darkmode/spelling-continuously.svgz
+%%DATADIR%%/images/adwaita/darkmode/tab-group-close.svgz
+%%DATADIR%%/images/adwaita/darkmode/tabular-feature_align-decimal.svgz
+%%DATADIR%%/images/adwaita/darkmode/tabular-feature_append-column.svgz
+%%DATADIR%%/images/adwaita/darkmode/tabular-feature_append-row.svgz
+%%DATADIR%%/images/adwaita/darkmode/tabular-feature_delete-column.svgz
+%%DATADIR%%/images/adwaita/darkmode/tabular-feature_delete-row.svgz
+%%DATADIR%%/images/adwaita/darkmode/tabular-feature_m-align-center.svgz
+%%DATADIR%%/images/adwaita/darkmode/tabular-feature_m-align-left.svgz
+%%DATADIR%%/images/adwaita/darkmode/tabular-feature_m-align-right.svgz
+%%DATADIR%%/images/adwaita/darkmode/tabular-feature_m-valign-bottom.svgz
+%%DATADIR%%/images/adwaita/darkmode/tabular-feature_m-valign-middle.svgz
+%%DATADIR%%/images/adwaita/darkmode/tabular-feature_m-valign-top.svgz
+%%DATADIR%%/images/adwaita/darkmode/tabular-feature_move-column-left.svgz
+%%DATADIR%%/images/adwaita/darkmode/tabular-feature_move-column-right.svgz
+%%DATADIR%%/images/adwaita/darkmode/tabular-feature_move-row-down.svgz
+%%DATADIR%%/images/adwaita/darkmode/tabular-feature_move-row-up.svgz
+%%DATADIR%%/images/adwaita/darkmode/tabular-feature_multicolumn.svgz
+%%DATADIR%%/images/adwaita/darkmode/tabular-feature_multirow.svgz
+%%DATADIR%%/images/adwaita/darkmode/tabular-feature_reset-formal-default.svgz
+%%DATADIR%%/images/adwaita/darkmode/tabular-feature_set-longtabular.svgz
+%%DATADIR%%/images/adwaita/darkmode/tabular-feature_set-rotate-cell.svgz
+%%DATADIR%%/images/adwaita/darkmode/tabular-feature_set-rotate-tabular.svgz
+%%DATADIR%%/images/adwaita/darkmode/tabular-feature_toggle-all-lines.svgz
+%%DATADIR%%/images/adwaita/darkmode/tabular-feature_toggle-border-lines.svgz
+%%DATADIR%%/images/adwaita/darkmode/tabular-feature_toggle-inner-lines.svgz
+%%DATADIR%%/images/adwaita/darkmode/tabular-feature_toggle-line-bottom.svgz
+%%DATADIR%%/images/adwaita/darkmode/tabular-feature_toggle-line-left.svgz
+%%DATADIR%%/images/adwaita/darkmode/tabular-feature_toggle-line-right.svgz
+%%DATADIR%%/images/adwaita/darkmode/tabular-feature_toggle-line-top.svgz
+%%DATADIR%%/images/adwaita/darkmode/tabular-feature_toggle-rotate-cell.svgz
+%%DATADIR%%/images/adwaita/darkmode/tabular-feature_toggle-rotate-tabular.svgz
+%%DATADIR%%/images/adwaita/darkmode/tabular-feature_unset-all-lines.svgz
+%%DATADIR%%/images/adwaita/darkmode/tabular-insert.svgz
+%%DATADIR%%/images/adwaita/darkmode/textstyle-apply.svgz
+%%DATADIR%%/images/adwaita/darkmode/thesaurus-entry.svgz
+%%DATADIR%%/images/adwaita/darkmode/toolbar-toggle_math.svgz
+%%DATADIR%%/images/adwaita/darkmode/toolbar-toggle_math_panels.svgz
+%%DATADIR%%/images/adwaita/darkmode/toolbar-toggle_review.svgz
+%%DATADIR%%/images/adwaita/darkmode/toolbar-toggle_table.svgz
+%%DATADIR%%/images/adwaita/darkmode/undo.svgz
+%%DATADIR%%/images/adwaita/darkmode/unknown.svgz
+%%DATADIR%%/images/adwaita/darkmode/up.svgz
+%%DATADIR%%/images/adwaita/darkmode/update-others.svgz
+%%DATADIR%%/images/adwaita/darkmode/vc-check-in.svgz
+%%DATADIR%%/images/adwaita/darkmode/vc-check-out.svgz
+%%DATADIR%%/images/adwaita/darkmode/vc-compare.svgz
+%%DATADIR%%/images/adwaita/darkmode/vc-compare_0.svgz
+%%DATADIR%%/images/adwaita/darkmode/vc-locking-toggle.svgz
+%%DATADIR%%/images/adwaita/darkmode/vc-register.svgz
+%%DATADIR%%/images/adwaita/darkmode/vc-repo-update.svgz
+%%DATADIR%%/images/adwaita/darkmode/vc-revert.svgz
+%%DATADIR%%/images/adwaita/darkmode/view-others.svgz
+%%DATADIR%%/images/adwaita/darkmode/view-split_horizontal.svgz
+%%DATADIR%%/images/adwaita/darkmode/view-split_vertical.svgz
+%%DATADIR%%/images/adwaita/darkmode/window-close.svgz
+%%DATADIR%%/images/adwaita/depth-decrement+rtl.svgz
+%%DATADIR%%/images/adwaita/depth-decrement.svgz
+%%DATADIR%%/images/adwaita/depth-increment+rtl.svgz
+%%DATADIR%%/images/adwaita/depth-increment.svgz
+%%DATADIR%%/images/adwaita/dialog-preferences.svgz
+%%DATADIR%%/images/adwaita/dialog-show-new-inset_citation.svgz
+%%DATADIR%%/images/adwaita/dialog-show-new-inset_graphics.svgz
+%%DATADIR%%/images/adwaita/dialog-show-new-inset_include.svgz
+%%DATADIR%%/images/adwaita/dialog-show-new-inset_ref.svgz
+%%DATADIR%%/images/adwaita/dialog-show_character.svgz
+%%DATADIR%%/images/adwaita/dialog-show_findreplace.svgz
+%%DATADIR%%/images/adwaita/dialog-show_findreplaceadv.svgz
+%%DATADIR%%/images/adwaita/dialog-show_mathdelimiter.svgz
+%%DATADIR%%/images/adwaita/dialog-show_mathmatrix.svgz
+%%DATADIR%%/images/adwaita/dialog-show_print.svgz
+%%DATADIR%%/images/adwaita/dialog-show_spellchecker.svgz
+%%DATADIR%%/images/adwaita/dialog-show_toc.svgz
+%%DATADIR%%/images/adwaita/dialog-show_vclog.svgz
+%%DATADIR%%/images/adwaita/down.svgz
+%%DATADIR%%/images/adwaita/dynamic-char-styles.svgz
+%%DATADIR%%/images/adwaita/dynamic-custom-insets.svgz
+%%DATADIR%%/images/adwaita/editclear.svgz
+%%DATADIR%%/images/adwaita/emblem-readonly.svgz
+%%DATADIR%%/images/adwaita/emblem-shellescape.svgz
+%%DATADIR%%/images/adwaita/ert-insert.svgz
+%%DATADIR%%/images/adwaita/file-open.svgz
+%%DATADIR%%/images/adwaita/float-insert_figure.svgz
+%%DATADIR%%/images/adwaita/float-insert_table.svgz
+%%DATADIR%%/images/adwaita/font-bold.svgz
+%%DATADIR%%/images/adwaita/font-emph.svgz
+%%DATADIR%%/images/adwaita/font-noun.svgz
+%%DATADIR%%/images/adwaita/font-sans.svgz
+%%DATADIR%%/images/adwaita/font-smallcaps.svgz
+%%DATADIR%%/images/adwaita/footnote-insert.svgz
+%%DATADIR%%/images/adwaita/hidetab.svgz
+%%DATADIR%%/images/adwaita/href-insert.svgz
+%%DATADIR%%/images/adwaita/iconsize.png
+%%DATADIR%%/images/adwaita/index-insert.svgz
+%%DATADIR%%/images/adwaita/info-insert.svgz
+%%DATADIR%%/images/adwaita/info-insert_vcs_revision.svgz
+%%DATADIR%%/images/adwaita/label-insert.svgz
+%%DATADIR%%/images/adwaita/layout-document.svgz
+%%DATADIR%%/images/adwaita/layout-paragraph.svgz
+%%DATADIR%%/images/adwaita/layout-toggle_Chunk.svgz
+%%DATADIR%%/images/adwaita/layout-toggle_Description+rtl.svgz
+%%DATADIR%%/images/adwaita/layout-toggle_Description.svgz
+%%DATADIR%%/images/adwaita/layout-toggle_Enumerate+rtl.svgz
+%%DATADIR%%/images/adwaita/layout-toggle_Enumerate.svgz
+%%DATADIR%%/images/adwaita/layout-toggle_Itemize+rtl.svgz
+%%DATADIR%%/images/adwaita/layout-toggle_Itemize.svgz
+%%DATADIR%%/images/adwaita/layout-toggle_Labeling+rtl.svgz
+%%DATADIR%%/images/adwaita/layout-toggle_Labeling.svgz
+%%DATADIR%%/images/adwaita/layout-toggle_List+rtl.svgz
+%%DATADIR%%/images/adwaita/layout-toggle_List.svgz
+%%DATADIR%%/images/adwaita/layout-toggle_LyX-Code.svgz
+%%DATADIR%%/images/adwaita/layout-toggle_Section.svgz
+%%DATADIR%%/images/adwaita/layout.svgz
+%%DATADIR%%/images/adwaita/lyx-quit.svgz
+%%DATADIR%%/images/adwaita/lyxfiles-system-folder.svgz
+%%DATADIR%%/images/adwaita/lyxfiles-system.svgz
+%%DATADIR%%/images/adwaita/lyxfiles-user-folder.svgz
+%%DATADIR%%/images/adwaita/lyxfiles-user.svgz
+%%DATADIR%%/images/adwaita/marginalnote-insert.svgz
+%%DATADIR%%/images/adwaita/master-buffer-update.svgz
+%%DATADIR%%/images/adwaita/master-buffer-view.svgz
+%%DATADIR%%/images/adwaita/math-display.svgz
+%%DATADIR%%/images/adwaita/math-macro-add-greedy-optional-param.svgz
+%%DATADIR%%/images/adwaita/math-macro-add-optional-param.svgz
+%%DATADIR%%/images/adwaita/math-macro-add-param.svgz
+%%DATADIR%%/images/adwaita/math-macro-append-greedy-param.svgz
+%%DATADIR%%/images/adwaita/math-macro-make-nonoptional.svgz
+%%DATADIR%%/images/adwaita/math-macro-make-optional.svgz
+%%DATADIR%%/images/adwaita/math-macro-remove-greedy-param.svgz
+%%DATADIR%%/images/adwaita/math-macro-remove-optional-param.svgz
+%%DATADIR%%/images/adwaita/math-macro-remove-param.svgz
+%%DATADIR%%/images/adwaita/math-macro_newmacroname_newcommand.svgz
+%%DATADIR%%/images/adwaita/math-matrix.svgz
+%%DATADIR%%/images/adwaita/math-mode.svgz
+%%DATADIR%%/images/adwaita/math-subscript.svgz
+%%DATADIR%%/images/adwaita/math-superscript.svgz
+%%DATADIR%%/images/adwaita/nomencl-insert.svgz
+%%DATADIR%%/images/adwaita/note-insert.svgz
+%%DATADIR%%/images/adwaita/note-next.svgz
+%%DATADIR%%/images/adwaita/outline-down.svgz
+%%DATADIR%%/images/adwaita/outline-in+rtl.svgz
+%%DATADIR%%/images/adwaita/outline-in.svgz
+%%DATADIR%%/images/adwaita/outline-out+rtl.svgz
+%%DATADIR%%/images/adwaita/outline-out.svgz
+%%DATADIR%%/images/adwaita/outline-up.svgz
+%%DATADIR%%/images/adwaita/paste.svgz
+%%DATADIR%%/images/adwaita/process-stop.svgz
+%%DATADIR%%/images/adwaita/redo.svgz
+%%DATADIR%%/images/adwaita/reload.svgz
+%%DATADIR%%/images/adwaita/script-insert_subscript.svgz
+%%DATADIR%%/images/adwaita/script-insert_superscript.svgz
+%%DATADIR%%/images/adwaita/search-case-sensitive.svgz
+%%DATADIR%%/images/adwaita/search-instant.svgz
+%%DATADIR%%/images/adwaita/search-options.svgz
+%%DATADIR%%/images/adwaita/search-selection.svgz
+%%DATADIR%%/images/adwaita/search-whole-words.svgz
+%%DATADIR%%/images/adwaita/search-wrap.svgz
+%%DATADIR%%/images/adwaita/specialchar-insert_latex.svgz
+%%DATADIR%%/images/adwaita/specialchar-insert_latex2e.svgz
+%%DATADIR%%/images/adwaita/specialchar-insert_lyx.svgz
+%%DATADIR%%/images/adwaita/specialchar-insert_menu-separator.svgz
+%%DATADIR%%/images/adwaita/specialchar-insert_tex.svgz
+%%DATADIR%%/images/adwaita/spelling-continuously.svgz
+%%DATADIR%%/images/adwaita/tab-group-close.svgz
+%%DATADIR%%/images/adwaita/tabular-feature_align-decimal.svgz
+%%DATADIR%%/images/adwaita/tabular-feature_append-column.svgz
+%%DATADIR%%/images/adwaita/tabular-feature_append-row.svgz
+%%DATADIR%%/images/adwaita/tabular-feature_delete-column.svgz
+%%DATADIR%%/images/adwaita/tabular-feature_delete-row.svgz
+%%DATADIR%%/images/adwaita/tabular-feature_m-align-center.svgz
+%%DATADIR%%/images/adwaita/tabular-feature_m-align-left.svgz
+%%DATADIR%%/images/adwaita/tabular-feature_m-align-right.svgz
+%%DATADIR%%/images/adwaita/tabular-feature_m-valign-bottom.svgz
+%%DATADIR%%/images/adwaita/tabular-feature_m-valign-middle.svgz
+%%DATADIR%%/images/adwaita/tabular-feature_m-valign-top.svgz
+%%DATADIR%%/images/adwaita/tabular-feature_move-column-left.svgz
+%%DATADIR%%/images/adwaita/tabular-feature_move-column-right.svgz
+%%DATADIR%%/images/adwaita/tabular-feature_move-row-down.svgz
+%%DATADIR%%/images/adwaita/tabular-feature_move-row-up.svgz
+%%DATADIR%%/images/adwaita/tabular-feature_multicolumn.svgz
+%%DATADIR%%/images/adwaita/tabular-feature_multirow.svgz
+%%DATADIR%%/images/adwaita/tabular-feature_reset-formal-default.svgz
+%%DATADIR%%/images/adwaita/tabular-feature_set-longtabular.svgz
+%%DATADIR%%/images/adwaita/tabular-feature_set-rotate-cell.svgz
+%%DATADIR%%/images/adwaita/tabular-feature_set-rotate-tabular.svgz
+%%DATADIR%%/images/adwaita/tabular-feature_toggle-all-lines.svgz
+%%DATADIR%%/images/adwaita/tabular-feature_toggle-border-lines.svgz
+%%DATADIR%%/images/adwaita/tabular-feature_toggle-inner-lines.svgz
+%%DATADIR%%/images/adwaita/tabular-feature_toggle-line-bottom.svgz
+%%DATADIR%%/images/adwaita/tabular-feature_toggle-line-left.svgz
+%%DATADIR%%/images/adwaita/tabular-feature_toggle-line-right.svgz
+%%DATADIR%%/images/adwaita/tabular-feature_toggle-line-top.svgz
+%%DATADIR%%/images/adwaita/tabular-feature_toggle-rotate-cell.svgz
+%%DATADIR%%/images/adwaita/tabular-feature_toggle-rotate-tabular.svgz
+%%DATADIR%%/images/adwaita/tabular-feature_unset-all-lines.svgz
+%%DATADIR%%/images/adwaita/tabular-insert.svgz
+%%DATADIR%%/images/adwaita/textstyle-apply.svgz
+%%DATADIR%%/images/adwaita/thesaurus-entry.svgz
+%%DATADIR%%/images/adwaita/toolbar-toggle_math.svgz
+%%DATADIR%%/images/adwaita/toolbar-toggle_math_panels.svgz
+%%DATADIR%%/images/adwaita/toolbar-toggle_review.svgz
+%%DATADIR%%/images/adwaita/toolbar-toggle_table.svgz
+%%DATADIR%%/images/adwaita/undo.svgz
+%%DATADIR%%/images/adwaita/unknown.svgz
+%%DATADIR%%/images/adwaita/up.svgz
+%%DATADIR%%/images/adwaita/update-others.svgz
+%%DATADIR%%/images/adwaita/vc-check-in.svgz
+%%DATADIR%%/images/adwaita/vc-check-out.svgz
+%%DATADIR%%/images/adwaita/vc-compare.svgz
+%%DATADIR%%/images/adwaita/vc-compare_0.svgz
+%%DATADIR%%/images/adwaita/vc-locking-toggle.svgz
+%%DATADIR%%/images/adwaita/vc-register.svgz
+%%DATADIR%%/images/adwaita/vc-repo-update.svgz
+%%DATADIR%%/images/adwaita/vc-revert.svgz
+%%DATADIR%%/images/adwaita/view-others.svgz
+%%DATADIR%%/images/adwaita/view-split_horizontal.svgz
+%%DATADIR%%/images/adwaita/view-split_vertical.svgz
+%%DATADIR%%/images/adwaita/window-close.svgz
%%DATADIR%%/images/all-changes-accept.svgz
%%DATADIR%%/images/all-changes-reject.svgz
%%DATADIR%%/images/banner.png
@@ -2745,6 +3183,7 @@ share/icons/hicolor/scalable/apps/lyx.svg
%%DATADIR%%/layouts/singlecol-new.layout
%%DATADIR%%/layouts/singlecol.layout
%%DATADIR%%/layouts/slides.layout
+%%DATADIR%%/layouts/sn-jnl.layout
%%DATADIR%%/layouts/soul.module
%%DATADIR%%/layouts/spie.layout
%%DATADIR%%/layouts/stdcharstyles.inc
@@ -3007,6 +3446,7 @@ share/icons/hicolor/scalable/apps/lyx.svg
%%DATADIR%%/templates/Articles/REVTeX_%28V._4%29.lyx
%%DATADIR%%/templates/Articles/REVTeX_%28V._4.1%29.lyx
%%DATADIR%%/templates/Articles/R_Journal.lyx
+%%DATADIR%%/templates/Articles/Springer_Nature_Journals.lyx
%%DATADIR%%/templates/Articles/Springers_Global_Journal_Template_%28V._3%29.lyx
%%DATADIR%%/templates/Books/Springer_Contributed_Books_%28svmult%29/00_Main_File.lyx
%%DATADIR%%/templates/Books/Springer_Contributed_Books_%28svmult%29/01_Dedication.lyx
diff --git a/print/p5-PDF-Template/Makefile b/print/p5-PDF-Template/Makefile
index 25bc08939eba..b96dd7e452b8 100644
--- a/print/p5-PDF-Template/Makefile
+++ b/print/p5-PDF-Template/Makefile
@@ -16,4 +16,10 @@ RUN_DEPENDS= pdflib-perl>=0:print/pdflib-perl \
USES= perl5
USE_PERL5= configure
-.include <bsd.port.mk>
+.include <bsd.port.pre.mk>
+
+.if ${PERL_LEVEL} >= 504200
+EXTRA_PATCHES= ${PATCHDIR}/extrapatch-Makefile.PL
+.endif
+
+.include <bsd.port.post.mk>
diff --git a/print/p5-PDF-Template/files/extrapatch-Makefile.PL b/print/p5-PDF-Template/files/extrapatch-Makefile.PL
new file mode 100644
index 000000000000..88447806c06a
--- /dev/null
+++ b/print/p5-PDF-Template/files/extrapatch-Makefile.PL
@@ -0,0 +1,15 @@
+fix sh: Syntax error: Unterminated quoted string
+
+--- Makefile.PL.orig 2025-07-13 09:16:55 UTC
++++ Makefile.PL
+@@ -28,8 +28,8 @@ my $pm_filter = $use_unicode
+ }
+
+ my $pm_filter = $use_unicode
+- ? q{perl -pi -e "s!UNI_YES ! !g;s!UNI_NO !\\#!g"}
+- : q{perl -pi -e "s!UNI_NO ! !g;s!UNI_YES !\\#!g"};
++ ? q{sed -e "s/UNI_YES//g;s/UNI_NO.*//g"}
++ : q{sed -e "s/UNI_NO//g;s/UNI_YES.*//g"};
+
+ WriteMakefile(
+ NAME => 'PDF::Template',
diff --git a/print/paps/Makefile b/print/paps/Makefile
index 2267d0e16160..50d69803b789 100644
--- a/print/paps/Makefile
+++ b/print/paps/Makefile
@@ -1,7 +1,7 @@
PORTNAME= paps
PORTVERSION= 0.8.0
DISTVERSIONPREFIX= v
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= print
PATCH_SITES= ${WWW}/commit/
diff --git a/print/pdf-tools/Makefile b/print/pdf-tools/Makefile
index bd0f0263861b..302d7b504e11 100644
--- a/print/pdf-tools/Makefile
+++ b/print/pdf-tools/Makefile
@@ -1,7 +1,7 @@
PORTNAME= pdf-tools
DISTVERSIONPREFIX= v
DISTVERSION= 1.1.0
-PORTREVISION= 13
+PORTREVISION= 14
CATEGORIES= print elisp
PKGNAMESUFFIX= ${EMACS_PKGNAMESUFFIX}
diff --git a/print/pdfarranger/Makefile b/print/pdfarranger/Makefile
index e2d4815caa39..244561a22e87 100644
--- a/print/pdfarranger/Makefile
+++ b/print/pdfarranger/Makefile
@@ -1,6 +1,6 @@
PORTNAME= pdfarranger
DISTVERSION= 1.10.1
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= print
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/print/pdfcpu/Makefile b/print/pdfcpu/Makefile
index dbe9aac13b54..0da8b8fcf68a 100644
--- a/print/pdfcpu/Makefile
+++ b/print/pdfcpu/Makefile
@@ -1,7 +1,7 @@
PORTNAME= pdfcpu
DISTVERSIONPREFIX= v
DISTVERSION= 0.11.0
-PORTREVISION= 1
+PORTREVISION= 4
CATEGORIES= print
MAINTAINER= diizzy@FreeBSD.org
diff --git a/print/plasma6-print-manager/distinfo b/print/plasma6-print-manager/distinfo
index 0a5f30caecb8..025f13700afe 100644
--- a/print/plasma6-print-manager/distinfo
+++ b/print/plasma6-print-manager/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1750789610
-SHA256 (KDE/plasma/6.4.1/print-manager-6.4.1.tar.xz) = 9096c5f28b29f6199bf0ace9876361f3367b79f208e05c4a59339d17d4bc19f2
-SIZE (KDE/plasma/6.4.1/print-manager-6.4.1.tar.xz) = 370676
+TIMESTAMP = 1754413473
+SHA256 (KDE/plasma/6.4.4/print-manager-6.4.4.tar.xz) = 23daaa8a939bdb89047576f9e24461a3d16efd8a4556e4d1f0ece576dc2ef79f
+SIZE (KDE/plasma/6.4.4/print-manager-6.4.4.tar.xz) = 371704
diff --git a/print/plutobook/Makefile b/print/plutobook/Makefile
new file mode 100644
index 000000000000..651674fbc8a1
--- /dev/null
+++ b/print/plutobook/Makefile
@@ -0,0 +1,39 @@
+PORTNAME= plutobook
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.8.0
+CATEGORIES= print
+
+MAINTAINER= jbo@FreeBSD.org
+COMMENT= Paged HTML rendering library
+WWW= https://github.com/plutoprint/plutobook
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+LIB_DEPENDS= libcurl.so:ftp/curl \
+ libexpat.so:textproc/expat2 \
+ libfontconfig.so:x11-fonts/fontconfig \
+ libfreetype.so:print/freetype2 \
+ libharfbuzz.so:print/harfbuzz \
+ libicuuc.so:devel/icu \
+ libturbojpeg.so:graphics/libjpeg-turbo \
+ libwebp.so:graphics/webp
+
+USES= compiler:c++20-lang gnome meson pkgconfig
+
+USE_LDCONFIG= yes
+USE_GNOME= cairo
+
+USE_GITHUB= yes
+GH_ACCOUNT= plutoprint
+
+PLIST_SUB= SOVERSION="${DISTVERSION}"
+
+OPTIONS_DEFINE= TOOLS
+OPTIONS_DEFAULT= TOOLS
+OPTIONS_SUB= yes
+TOOLS_DESC= Build CLI tools to convert HTML to PDF or PNG
+
+TOOLS_MESON_ENABLED= tools
+
+.include <bsd.port.mk>
diff --git a/print/plutobook/distinfo b/print/plutobook/distinfo
new file mode 100644
index 000000000000..9c32b57b5276
--- /dev/null
+++ b/print/plutobook/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1757454367
+SHA256 (plutoprint-plutobook-v0.8.0_GH0.tar.gz) = 832376e16c9604d8dce68425eacf06b6e475bc6eab75251464e26ac674807e2f
+SIZE (plutoprint-plutobook-v0.8.0_GH0.tar.gz) = 411811
diff --git a/print/plutobook/pkg-descr b/print/plutobook/pkg-descr
new file mode 100644
index 000000000000..fa2e0b88a219
--- /dev/null
+++ b/print/plutobook/pkg-descr
@@ -0,0 +1,3 @@
+PlutoBook is a robust HTML rendering library tailored for paged media. It takes
+HTML or XML as input, applies CSS stylesheets, and lays out elements across one
+or more pages, which can then be rendered as Bitmap images or PDF documents.
diff --git a/print/plutobook/pkg-plist b/print/plutobook/pkg-plist
new file mode 100644
index 000000000000..7362af0392bc
--- /dev/null
+++ b/print/plutobook/pkg-plist
@@ -0,0 +1,8 @@
+%%TOOLS%%bin/html2pdf
+%%TOOLS%%bin/html2png
+include/plutobook/plutobook.h
+include/plutobook/plutobook.hpp
+lib/libplutobook.so
+lib/libplutobook.so.0
+lib/libplutobook.so.%%SOVERSION%%
+libdata/pkgconfig/plutobook.pc
diff --git a/print/ppa6/Makefile b/print/ppa6/Makefile
new file mode 100644
index 000000000000..044ef925dce5
--- /dev/null
+++ b/print/ppa6/Makefile
@@ -0,0 +1,18 @@
+PORTNAME= ppa6
+DISTVERSION= 0.1.0
+CATEGORIES= print
+
+MAINTAINER= fuz@FreeBSD.org
+COMMENT= PeriPage A6 USB driver
+
+LICENSE= ISCL
+
+USES= cargo
+USE_GITHUB= yes
+GH_ACCOUNT= realchonk
+
+CARGO_INSTALL_PATH= ppa6-print
+
+PLIST_FILES= bin/ppa6-print
+
+.include <bsd.port.mk>
diff --git a/print/ppa6/Makefile.crates b/print/ppa6/Makefile.crates
new file mode 100644
index 000000000000..6e7fbd76623f
--- /dev/null
+++ b/print/ppa6/Makefile.crates
@@ -0,0 +1,186 @@
+CARGO_CRATES= adler2-2.0.0 \
+ aho-corasick-1.1.3 \
+ aligned-vec-0.5.0 \
+ anstream-0.6.18 \
+ anstyle-1.0.10 \
+ anstyle-parse-0.2.6 \
+ anstyle-query-1.1.2 \
+ anstyle-wincon-3.0.7 \
+ anyhow-1.0.95 \
+ arbitrary-1.4.1 \
+ arg_enum_proc_macro-0.3.4 \
+ arrayvec-0.7.6 \
+ autocfg-1.4.0 \
+ av1-grain-0.2.3 \
+ avif-serialize-0.8.2 \
+ bit_field-0.10.2 \
+ bitflags-1.3.2 \
+ bitflags-2.8.0 \
+ bitstream-io-2.6.0 \
+ built-0.7.5 \
+ bumpalo-3.17.0 \
+ bytemuck-1.21.0 \
+ bytemuck_derive-1.8.1 \
+ byteorder-1.5.0 \
+ byteorder-lite-0.1.0 \
+ cc-1.2.12 \
+ cfg-expr-0.15.8 \
+ cfg-if-1.0.0 \
+ clap-4.5.28 \
+ clap-num-1.2.0 \
+ clap-verbosity-2.1.0 \
+ clap_builder-4.5.27 \
+ clap_derive-4.5.28 \
+ clap_lex-0.7.4 \
+ color_quant-1.1.0 \
+ colorchoice-1.0.3 \
+ cosmic-text-0.12.1 \
+ crc32fast-1.4.2 \
+ crossbeam-deque-0.8.6 \
+ crossbeam-epoch-0.9.18 \
+ crossbeam-utils-0.8.21 \
+ crunchy-0.2.3 \
+ either-1.13.0 \
+ env_filter-0.1.3 \
+ env_logger-0.11.6 \
+ equivalent-1.0.1 \
+ exr-1.73.0 \
+ fdeflate-0.3.7 \
+ flate2-1.0.35 \
+ font-types-0.7.3 \
+ fontconfig-parser-0.5.7 \
+ fontdb-0.16.2 \
+ getrandom-0.2.15 \
+ gif-0.13.1 \
+ half-2.4.1 \
+ hashbrown-0.15.2 \
+ heck-0.5.0 \
+ humantime-2.1.0 \
+ image-0.25.5 \
+ image-webp-0.2.1 \
+ imgref-1.11.0 \
+ indexmap-2.7.1 \
+ interpolate_name-0.2.4 \
+ is-docker-0.2.0 \
+ is-wsl-0.4.0 \
+ is_terminal_polyfill-1.70.1 \
+ itertools-0.12.1 \
+ jobserver-0.1.32 \
+ jpeg-decoder-0.3.1 \
+ lebe-0.5.2 \
+ libc-0.2.169 \
+ libfuzzer-sys-0.4.9 \
+ libm-0.2.11 \
+ libusb1-sys-0.7.0 \
+ log-0.4.25 \
+ loop9-0.1.5 \
+ maybe-rayon-0.1.1 \
+ memchr-2.7.4 \
+ memmap2-0.9.5 \
+ minimal-lexical-0.2.1 \
+ miniz_oxide-0.8.3 \
+ new_debug_unreachable-1.0.6 \
+ nom-7.1.3 \
+ noop_proc_macro-0.3.0 \
+ num-bigint-0.4.6 \
+ num-derive-0.4.2 \
+ num-integer-0.1.46 \
+ num-rational-0.4.2 \
+ num-traits-0.2.19 \
+ once_cell-1.20.3 \
+ open-5.3.2 \
+ paste-1.0.15 \
+ pathdiff-0.2.3 \
+ pkg-config-0.3.31 \
+ png-0.17.16 \
+ ppv-lite86-0.2.20 \
+ proc-macro2-1.0.93 \
+ profiling-1.0.16 \
+ profiling-procmacros-1.0.16 \
+ qoi-0.4.1 \
+ quick-error-2.0.1 \
+ quote-1.0.38 \
+ rand-0.8.5 \
+ rand_chacha-0.3.1 \
+ rand_core-0.6.4 \
+ rangemap-1.5.1 \
+ rav1e-0.7.1 \
+ ravif-0.11.11 \
+ rayon-1.10.0 \
+ rayon-core-1.12.1 \
+ read-fonts-0.22.7 \
+ regex-1.11.1 \
+ regex-automata-0.4.9 \
+ regex-syntax-0.8.5 \
+ rgb-0.8.50 \
+ roxmltree-0.20.0 \
+ rusb-0.9.4 \
+ rustc-hash-1.1.0 \
+ rustversion-1.0.19 \
+ rustybuzz-0.14.1 \
+ self_cell-1.1.0 \
+ serde-1.0.217 \
+ serde_derive-1.0.217 \
+ serde_spanned-0.6.8 \
+ shlex-1.3.0 \
+ simd-adler32-0.3.7 \
+ simd_helpers-0.1.0 \
+ skrifa-0.22.3 \
+ slotmap-1.0.7 \
+ smallvec-1.13.2 \
+ strsim-0.11.1 \
+ swash-0.1.19 \
+ syn-2.0.98 \
+ sys-locale-0.3.2 \
+ system-deps-6.2.2 \
+ target-lexicon-0.12.16 \
+ thiserror-1.0.69 \
+ thiserror-2.0.11 \
+ thiserror-impl-1.0.69 \
+ thiserror-impl-2.0.11 \
+ tiff-0.9.1 \
+ tinyvec-1.8.1 \
+ tinyvec_macros-0.1.1 \
+ toml-0.8.20 \
+ toml_datetime-0.6.8 \
+ toml_edit-0.22.23 \
+ ttf-parser-0.20.0 \
+ ttf-parser-0.21.1 \
+ unicode-bidi-0.3.18 \
+ unicode-bidi-mirroring-0.2.0 \
+ unicode-ccc-0.2.0 \
+ unicode-ident-1.0.16 \
+ unicode-linebreak-0.1.5 \
+ unicode-properties-0.1.3 \
+ unicode-script-0.5.7 \
+ unicode-segmentation-1.12.0 \
+ utf8parse-0.2.2 \
+ v_frame-0.3.8 \
+ vcpkg-0.2.15 \
+ version-compare-0.2.0 \
+ version_check-0.9.5 \
+ wasi-0.11.0+wasi-snapshot-preview1 \
+ wasm-bindgen-0.2.100 \
+ wasm-bindgen-backend-0.2.100 \
+ wasm-bindgen-macro-0.2.100 \
+ wasm-bindgen-macro-support-0.2.100 \
+ wasm-bindgen-shared-0.2.100 \
+ weezl-0.1.8 \
+ windows-sys-0.59.0 \
+ windows-targets-0.52.6 \
+ windows_aarch64_gnullvm-0.52.6 \
+ windows_aarch64_msvc-0.52.6 \
+ windows_i686_gnu-0.52.6 \
+ windows_i686_gnullvm-0.52.6 \
+ windows_i686_msvc-0.52.6 \
+ windows_x86_64_gnu-0.52.6 \
+ windows_x86_64_gnullvm-0.52.6 \
+ windows_x86_64_msvc-0.52.6 \
+ winnow-0.7.1 \
+ yazi-0.1.6 \
+ zeno-0.2.3 \
+ zerocopy-0.7.35 \
+ zerocopy-derive-0.7.35 \
+ zune-core-0.4.12 \
+ zune-inflate-0.2.54 \
+ zune-jpeg-0.4.14
diff --git a/print/ppa6/distinfo b/print/ppa6/distinfo
new file mode 100644
index 000000000000..69d7eb5d2fe0
--- /dev/null
+++ b/print/ppa6/distinfo
@@ -0,0 +1,375 @@
+TIMESTAMP = 1756919732
+SHA256 (rust/crates/adler2-2.0.0.crate) = 512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627
+SIZE (rust/crates/adler2-2.0.0.crate) = 13529
+SHA256 (rust/crates/aho-corasick-1.1.3.crate) = 8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916
+SIZE (rust/crates/aho-corasick-1.1.3.crate) = 183311
+SHA256 (rust/crates/aligned-vec-0.5.0.crate) = 4aa90d7ce82d4be67b64039a3d588d38dbcc6736577de4a847025ce5b0c468d1
+SIZE (rust/crates/aligned-vec-0.5.0.crate) = 8921
+SHA256 (rust/crates/anstream-0.6.18.crate) = 8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b
+SIZE (rust/crates/anstream-0.6.18.crate) = 29681
+SHA256 (rust/crates/anstyle-1.0.10.crate) = 55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9
+SIZE (rust/crates/anstyle-1.0.10.crate) = 15725
+SHA256 (rust/crates/anstyle-parse-0.2.6.crate) = 3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9
+SIZE (rust/crates/anstyle-parse-0.2.6.crate) = 22343
+SHA256 (rust/crates/anstyle-query-1.1.2.crate) = 79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c
+SIZE (rust/crates/anstyle-query-1.1.2.crate) = 9969
+SHA256 (rust/crates/anstyle-wincon-3.0.7.crate) = ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e
+SIZE (rust/crates/anstyle-wincon-3.0.7.crate) = 12400
+SHA256 (rust/crates/anyhow-1.0.95.crate) = 34ac096ce696dc2fcabef30516bb13c0a68a11d30131d3df6f04711467681b04
+SIZE (rust/crates/anyhow-1.0.95.crate) = 52155
+SHA256 (rust/crates/arbitrary-1.4.1.crate) = dde20b3d026af13f561bdd0f15edf01fc734f0dafcedbaf42bba506a9517f223
+SIZE (rust/crates/arbitrary-1.4.1.crate) = 36816
+SHA256 (rust/crates/arg_enum_proc_macro-0.3.4.crate) = 0ae92a5119aa49cdbcf6b9f893fe4e1d98b04ccbf82ee0584ad948a44a734dea
+SIZE (rust/crates/arg_enum_proc_macro-0.3.4.crate) = 5102
+SHA256 (rust/crates/arrayvec-0.7.6.crate) = 7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50
+SIZE (rust/crates/arrayvec-0.7.6.crate) = 31237
+SHA256 (rust/crates/autocfg-1.4.0.crate) = ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26
+SIZE (rust/crates/autocfg-1.4.0.crate) = 17712
+SHA256 (rust/crates/av1-grain-0.2.3.crate) = 6678909d8c5d46a42abcf571271e15fdbc0a225e3646cf23762cd415046c78bf
+SIZE (rust/crates/av1-grain-0.2.3.crate) = 34703
+SHA256 (rust/crates/avif-serialize-0.8.2.crate) = e335041290c43101ca215eed6f43ec437eb5a42125573f600fc3fa42b9bddd62
+SIZE (rust/crates/avif-serialize-0.8.2.crate) = 11985
+SHA256 (rust/crates/bit_field-0.10.2.crate) = dc827186963e592360843fb5ba4b973e145841266c1357f7180c43526f2e5b61
+SIZE (rust/crates/bit_field-0.10.2.crate) = 10568
+SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
+SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
+SHA256 (rust/crates/bitflags-2.8.0.crate) = 8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36
+SIZE (rust/crates/bitflags-2.8.0.crate) = 47482
+SHA256 (rust/crates/bitstream-io-2.6.0.crate) = 6099cdc01846bc367c4e7dd630dc5966dccf36b652fae7a74e17b640411a91b2
+SIZE (rust/crates/bitstream-io-2.6.0.crate) = 38256
+SHA256 (rust/crates/built-0.7.5.crate) = c360505aed52b7ec96a3636c3f039d99103c37d1d9b4f7a8c743d3ea9ffcd03b
+SIZE (rust/crates/built-0.7.5.crate) = 22319
+SHA256 (rust/crates/bumpalo-3.17.0.crate) = 1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf
+SIZE (rust/crates/bumpalo-3.17.0.crate) = 91975
+SHA256 (rust/crates/bytemuck-1.21.0.crate) = ef657dfab802224e671f5818e9a4935f9b1957ed18e58292690cc39e7a4092a3
+SIZE (rust/crates/bytemuck-1.21.0.crate) = 51553
+SHA256 (rust/crates/bytemuck_derive-1.8.1.crate) = 3fa76293b4f7bb636ab88fd78228235b5248b4d05cc589aed610f954af5d7c7a
+SIZE (rust/crates/bytemuck_derive-1.8.1.crate) = 23100
+SHA256 (rust/crates/byteorder-1.5.0.crate) = 1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b
+SIZE (rust/crates/byteorder-1.5.0.crate) = 23288
+SHA256 (rust/crates/byteorder-lite-0.1.0.crate) = 8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495
+SIZE (rust/crates/byteorder-lite-0.1.0.crate) = 15909
+SHA256 (rust/crates/cc-1.2.12.crate) = 755717a7de9ec452bf7f3f1a3099085deabd7f2962b861dae91ecd7a365903d2
+SIZE (rust/crates/cc-1.2.12.crate) = 102240
+SHA256 (rust/crates/cfg-expr-0.15.8.crate) = d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02
+SIZE (rust/crates/cfg-expr-0.15.8.crate) = 42108
+SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
+SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
+SHA256 (rust/crates/clap-4.5.28.crate) = 3e77c3243bd94243c03672cb5154667347c457ca271254724f9f393aee1c05ff
+SIZE (rust/crates/clap-4.5.28.crate) = 56073
+SHA256 (rust/crates/clap-num-1.2.0.crate) = 822c4000301ac390e65995c62207501e3ef800a1fc441df913a5e8e4dc374816
+SIZE (rust/crates/clap-num-1.2.0.crate) = 10476
+SHA256 (rust/crates/clap-verbosity-2.1.0.crate) = 3d7bf75a8e0407a558bd7e8e7919baa352e21fb0c1c7702a63c853f2277c4c63
+SIZE (rust/crates/clap-verbosity-2.1.0.crate) = 19214
+SHA256 (rust/crates/clap_builder-4.5.27.crate) = 1b26884eb4b57140e4d2d93652abfa49498b938b3c9179f9fc487b0acc3edad7
+SIZE (rust/crates/clap_builder-4.5.27.crate) = 168024
+SHA256 (rust/crates/clap_derive-4.5.28.crate) = bf4ced95c6f4a675af3da73304b9ac4ed991640c36374e4b46795c49e17cf1ed
+SIZE (rust/crates/clap_derive-4.5.28.crate) = 33428
+SHA256 (rust/crates/clap_lex-0.7.4.crate) = f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6
+SIZE (rust/crates/clap_lex-0.7.4.crate) = 12858
+SHA256 (rust/crates/color_quant-1.1.0.crate) = 3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b
+SIZE (rust/crates/color_quant-1.1.0.crate) = 6649
+SHA256 (rust/crates/colorchoice-1.0.3.crate) = 5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990
+SIZE (rust/crates/colorchoice-1.0.3.crate) = 7923
+SHA256 (rust/crates/cosmic-text-0.12.1.crate) = 59fd57d82eb4bfe7ffa9b1cec0c05e2fd378155b47f255a67983cb4afe0e80c2
+SIZE (rust/crates/cosmic-text-0.12.1.crate) = 1895451
+SHA256 (rust/crates/crc32fast-1.4.2.crate) = a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3
+SIZE (rust/crates/crc32fast-1.4.2.crate) = 38491
+SHA256 (rust/crates/crossbeam-deque-0.8.6.crate) = 9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51
+SIZE (rust/crates/crossbeam-deque-0.8.6.crate) = 22471
+SHA256 (rust/crates/crossbeam-epoch-0.9.18.crate) = 5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e
+SIZE (rust/crates/crossbeam-epoch-0.9.18.crate) = 46875
+SHA256 (rust/crates/crossbeam-utils-0.8.21.crate) = d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28
+SIZE (rust/crates/crossbeam-utils-0.8.21.crate) = 42691
+SHA256 (rust/crates/crunchy-0.2.3.crate) = 43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929
+SIZE (rust/crates/crunchy-0.2.3.crate) = 3775
+SHA256 (rust/crates/either-1.13.0.crate) = 60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0
+SIZE (rust/crates/either-1.13.0.crate) = 19169
+SHA256 (rust/crates/env_filter-0.1.3.crate) = 186e05a59d4c50738528153b83b0b0194d3a29507dfec16eccd4b342903397d0
+SIZE (rust/crates/env_filter-0.1.3.crate) = 15191
+SHA256 (rust/crates/env_logger-0.11.6.crate) = dcaee3d8e3cfc3fd92428d477bc97fc29ec8716d180c0d74c643bb26166660e0
+SIZE (rust/crates/env_logger-0.11.6.crate) = 31105
+SHA256 (rust/crates/equivalent-1.0.1.crate) = 5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5
+SIZE (rust/crates/equivalent-1.0.1.crate) = 6615
+SHA256 (rust/crates/exr-1.73.0.crate) = f83197f59927b46c04a183a619b7c29df34e63e63c7869320862268c0ef687e0
+SIZE (rust/crates/exr-1.73.0.crate) = 244371
+SHA256 (rust/crates/fdeflate-0.3.7.crate) = 1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c
+SIZE (rust/crates/fdeflate-0.3.7.crate) = 27188
+SHA256 (rust/crates/flate2-1.0.35.crate) = c936bfdafb507ebbf50b8074c54fa31c5be9a1e7e5f467dd659697041407d07c
+SIZE (rust/crates/flate2-1.0.35.crate) = 109188
+SHA256 (rust/crates/font-types-0.7.3.crate) = b3971f9a5ca983419cdc386941ba3b9e1feba01a0ab888adf78739feb2798492
+SIZE (rust/crates/font-types-0.7.3.crate) = 23131
+SHA256 (rust/crates/fontconfig-parser-0.5.7.crate) = c1fcfcd44ca6e90c921fee9fa665d530b21ef1327a4c1a6c5250ea44b776ada7
+SIZE (rust/crates/fontconfig-parser-0.5.7.crate) = 39564
+SHA256 (rust/crates/fontdb-0.16.2.crate) = b0299020c3ef3f60f526a4f64ab4a3d4ce116b1acbf24cdd22da0068e5d81dc3
+SIZE (rust/crates/fontdb-0.16.2.crate) = 107447
+SHA256 (rust/crates/getrandom-0.2.15.crate) = c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7
+SIZE (rust/crates/getrandom-0.2.15.crate) = 37163
+SHA256 (rust/crates/gif-0.13.1.crate) = 3fb2d69b19215e18bb912fa30f7ce15846e301408695e44e0ef719f1da9e19f2
+SIZE (rust/crates/gif-0.13.1.crate) = 36408
+SHA256 (rust/crates/half-2.4.1.crate) = 6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888
+SIZE (rust/crates/half-2.4.1.crate) = 50892
+SHA256 (rust/crates/hashbrown-0.15.2.crate) = bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289
+SIZE (rust/crates/hashbrown-0.15.2.crate) = 138478
+SHA256 (rust/crates/heck-0.5.0.crate) = 2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea
+SIZE (rust/crates/heck-0.5.0.crate) = 11517
+SHA256 (rust/crates/humantime-2.1.0.crate) = 9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4
+SIZE (rust/crates/humantime-2.1.0.crate) = 16749
+SHA256 (rust/crates/image-0.25.5.crate) = cd6f44aed642f18953a158afeb30206f4d50da59fbc66ecb53c66488de73563b
+SIZE (rust/crates/image-0.25.5.crate) = 241073
+SHA256 (rust/crates/image-webp-0.2.1.crate) = b77d01e822461baa8409e156015a1d91735549f0f2c17691bd2d996bef238f7f
+SIZE (rust/crates/image-webp-0.2.1.crate) = 60662
+SHA256 (rust/crates/imgref-1.11.0.crate) = d0263a3d970d5c054ed9312c0057b4f3bde9c0b33836d3637361d4a9e6e7a408
+SIZE (rust/crates/imgref-1.11.0.crate) = 65943
+SHA256 (rust/crates/indexmap-2.7.1.crate) = 8c9c992b02b5b4c94ea26e32fe5bccb7aa7d9f390ab5c1221ff895bc7ea8b652
+SIZE (rust/crates/indexmap-2.7.1.crate) = 88644
+SHA256 (rust/crates/interpolate_name-0.2.4.crate) = c34819042dc3d3971c46c2190835914dfbe0c3c13f61449b2997f4e9722dfa60
+SIZE (rust/crates/interpolate_name-0.2.4.crate) = 4027
+SHA256 (rust/crates/is-docker-0.2.0.crate) = 928bae27f42bc99b60d9ac7334e3a21d10ad8f1835a4e12ec3ec0464765ed1b3
+SIZE (rust/crates/is-docker-0.2.0.crate) = 2664
+SHA256 (rust/crates/is-wsl-0.4.0.crate) = 173609498df190136aa7dea1a91db051746d339e18476eed5ca40521f02d7aa5
+SIZE (rust/crates/is-wsl-0.4.0.crate) = 3264
+SHA256 (rust/crates/is_terminal_polyfill-1.70.1.crate) = 7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf
+SIZE (rust/crates/is_terminal_polyfill-1.70.1.crate) = 7492
+SHA256 (rust/crates/itertools-0.12.1.crate) = ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569
+SIZE (rust/crates/itertools-0.12.1.crate) = 137761
+SHA256 (rust/crates/jobserver-0.1.32.crate) = 48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0
+SIZE (rust/crates/jobserver-0.1.32.crate) = 27549
+SHA256 (rust/crates/jpeg-decoder-0.3.1.crate) = f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0
+SIZE (rust/crates/jpeg-decoder-0.3.1.crate) = 744364
+SHA256 (rust/crates/lebe-0.5.2.crate) = 03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8
+SIZE (rust/crates/lebe-0.5.2.crate) = 8422
+SHA256 (rust/crates/libc-0.2.169.crate) = b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a
+SIZE (rust/crates/libc-0.2.169.crate) = 757901
+SHA256 (rust/crates/libfuzzer-sys-0.4.9.crate) = cf78f52d400cf2d84a3a973a78a592b4adc535739e0a5597a0da6f0c357adc75
+SIZE (rust/crates/libfuzzer-sys-0.4.9.crate) = 133299
+SHA256 (rust/crates/libm-0.2.11.crate) = 8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa
+SIZE (rust/crates/libm-0.2.11.crate) = 111477
+SHA256 (rust/crates/libusb1-sys-0.7.0.crate) = da050ade7ac4ff1ba5379af847a10a10a8e284181e060105bf8d86960ce9ce0f
+SIZE (rust/crates/libusb1-sys-0.7.0.crate) = 296493
+SHA256 (rust/crates/log-0.4.25.crate) = 04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f
+SIZE (rust/crates/log-0.4.25.crate) = 44876
+SHA256 (rust/crates/loop9-0.1.5.crate) = 0fae87c125b03c1d2c0150c90365d7d6bcc53fb73a9acaef207d2d065860f062
+SIZE (rust/crates/loop9-0.1.5.crate) = 3406
+SHA256 (rust/crates/maybe-rayon-0.1.1.crate) = 8ea1f30cedd69f0a2954655f7188c6a834246d2bcf1e315e2ac40c4b24dc9519
+SIZE (rust/crates/maybe-rayon-0.1.1.crate) = 2901
+SHA256 (rust/crates/memchr-2.7.4.crate) = 78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3
+SIZE (rust/crates/memchr-2.7.4.crate) = 96670
+SHA256 (rust/crates/memmap2-0.9.5.crate) = fd3f7eed9d3848f8b98834af67102b720745c4ec028fcd0aa0239277e7de374f
+SIZE (rust/crates/memmap2-0.9.5.crate) = 33280
+SHA256 (rust/crates/minimal-lexical-0.2.1.crate) = 68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a
+SIZE (rust/crates/minimal-lexical-0.2.1.crate) = 94841
+SHA256 (rust/crates/miniz_oxide-0.8.3.crate) = b8402cab7aefae129c6977bb0ff1b8fd9a04eb5b51efc50a70bea51cda0c7924
+SIZE (rust/crates/miniz_oxide-0.8.3.crate) = 61827
+SHA256 (rust/crates/new_debug_unreachable-1.0.6.crate) = 650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086
+SIZE (rust/crates/new_debug_unreachable-1.0.6.crate) = 2582
+SHA256 (rust/crates/nom-7.1.3.crate) = d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a
+SIZE (rust/crates/nom-7.1.3.crate) = 117570
+SHA256 (rust/crates/noop_proc_macro-0.3.0.crate) = 0676bb32a98c1a483ce53e500a81ad9c3d5b3f7c920c28c24e9cb0980d0b5bc8
+SIZE (rust/crates/noop_proc_macro-0.3.0.crate) = 2157
+SHA256 (rust/crates/num-bigint-0.4.6.crate) = a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9
+SIZE (rust/crates/num-bigint-0.4.6.crate) = 102801
+SHA256 (rust/crates/num-derive-0.4.2.crate) = ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202
+SIZE (rust/crates/num-derive-0.4.2.crate) = 14709
+SHA256 (rust/crates/num-integer-0.1.46.crate) = 7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f
+SIZE (rust/crates/num-integer-0.1.46.crate) = 22331
+SHA256 (rust/crates/num-rational-0.4.2.crate) = f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824
+SIZE (rust/crates/num-rational-0.4.2.crate) = 28159
+SHA256 (rust/crates/num-traits-0.2.19.crate) = 071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841
+SIZE (rust/crates/num-traits-0.2.19.crate) = 51631
+SHA256 (rust/crates/once_cell-1.20.3.crate) = 945462a4b81e43c4e3ba96bd7b49d834c6f61198356aa858733bc4acf3cbe62e
+SIZE (rust/crates/once_cell-1.20.3.crate) = 33456
+SHA256 (rust/crates/open-5.3.2.crate) = e2483562e62ea94312f3576a7aca397306df7990b8d89033e18766744377ef95
+SIZE (rust/crates/open-5.3.2.crate) = 26342
+SHA256 (rust/crates/paste-1.0.15.crate) = 57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a
+SIZE (rust/crates/paste-1.0.15.crate) = 18374
+SHA256 (rust/crates/pathdiff-0.2.3.crate) = df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3
+SIZE (rust/crates/pathdiff-0.2.3.crate) = 7495
+SHA256 (rust/crates/pkg-config-0.3.31.crate) = 953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2
+SIZE (rust/crates/pkg-config-0.3.31.crate) = 20880
+SHA256 (rust/crates/png-0.17.16.crate) = 82151a2fc869e011c153adc57cf2789ccb8d9906ce52c0b39a6b5697749d7526
+SIZE (rust/crates/png-0.17.16.crate) = 117975
+SHA256 (rust/crates/ppv-lite86-0.2.20.crate) = 77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04
+SIZE (rust/crates/ppv-lite86-0.2.20.crate) = 22478
+SHA256 (rust/crates/proc-macro2-1.0.93.crate) = 60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99
+SIZE (rust/crates/proc-macro2-1.0.93.crate) = 52388
+SHA256 (rust/crates/profiling-1.0.16.crate) = afbdc74edc00b6f6a218ca6a5364d6226a259d4b8ea1af4a0ea063f27e179f4d
+SIZE (rust/crates/profiling-1.0.16.crate) = 12588
+SHA256 (rust/crates/profiling-procmacros-1.0.16.crate) = a65f2e60fbf1063868558d69c6beacf412dc755f9fc020f514b7955fc914fe30
+SIZE (rust/crates/profiling-procmacros-1.0.16.crate) = 5893
+SHA256 (rust/crates/qoi-0.4.1.crate) = 7f6d64c71eb498fe9eae14ce4ec935c555749aef511cca85b5568910d6e48001
+SIZE (rust/crates/qoi-0.4.1.crate) = 71135
+SHA256 (rust/crates/quick-error-2.0.1.crate) = a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3
+SIZE (rust/crates/quick-error-2.0.1.crate) = 14265
+SHA256 (rust/crates/quote-1.0.38.crate) = 0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc
+SIZE (rust/crates/quote-1.0.38.crate) = 31252
+SHA256 (rust/crates/rand-0.8.5.crate) = 34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404
+SIZE (rust/crates/rand-0.8.5.crate) = 87113
+SHA256 (rust/crates/rand_chacha-0.3.1.crate) = e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88
+SIZE (rust/crates/rand_chacha-0.3.1.crate) = 15251
+SHA256 (rust/crates/rand_core-0.6.4.crate) = ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c
+SIZE (rust/crates/rand_core-0.6.4.crate) = 22666
+SHA256 (rust/crates/rangemap-1.5.1.crate) = f60fcc7d6849342eff22c4350c8b9a989ee8ceabc4b481253e8946b9fe83d684
+SIZE (rust/crates/rangemap-1.5.1.crate) = 57091
+SHA256 (rust/crates/rav1e-0.7.1.crate) = cd87ce80a7665b1cce111f8a16c1f3929f6547ce91ade6addf4ec86a8dda5ce9
+SIZE (rust/crates/rav1e-0.7.1.crate) = 1472522
+SHA256 (rust/crates/ravif-0.11.11.crate) = 2413fd96bd0ea5cdeeb37eaf446a22e6ed7b981d792828721e74ded1980a45c6
+SIZE (rust/crates/ravif-0.11.11.crate) = 11362
+SHA256 (rust/crates/rayon-1.10.0.crate) = b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa
+SIZE (rust/crates/rayon-1.10.0.crate) = 180155
+SHA256 (rust/crates/rayon-core-1.12.1.crate) = 1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2
+SIZE (rust/crates/rayon-core-1.12.1.crate) = 70701
+SHA256 (rust/crates/read-fonts-0.22.7.crate) = 69aacb76b5c29acfb7f90155d39759a29496aebb49395830e928a9703d2eec2f
+SIZE (rust/crates/read-fonts-0.22.7.crate) = 329031
+SHA256 (rust/crates/regex-1.11.1.crate) = b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191
+SIZE (rust/crates/regex-1.11.1.crate) = 254170
+SHA256 (rust/crates/regex-automata-0.4.9.crate) = 809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908
+SIZE (rust/crates/regex-automata-0.4.9.crate) = 618525
+SHA256 (rust/crates/regex-syntax-0.8.5.crate) = 2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c
+SIZE (rust/crates/regex-syntax-0.8.5.crate) = 357541
+SHA256 (rust/crates/rgb-0.8.50.crate) = 57397d16646700483b67d2dd6511d79318f9d057fdbd21a4066aeac8b41d310a
+SIZE (rust/crates/rgb-0.8.50.crate) = 21980
+SHA256 (rust/crates/roxmltree-0.20.0.crate) = 6c20b6793b5c2fa6553b250154b78d6d0db37e72700ae35fad9387a46f487c97
+SIZE (rust/crates/roxmltree-0.20.0.crate) = 54594
+SHA256 (rust/crates/rusb-0.9.4.crate) = ab9f9ff05b63a786553a4c02943b74b34a988448671001e9a27e2f0565cc05a4
+SIZE (rust/crates/rusb-0.9.4.crate) = 44539
+SHA256 (rust/crates/rustc-hash-1.1.0.crate) = 08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2
+SIZE (rust/crates/rustc-hash-1.1.0.crate) = 9331
+SHA256 (rust/crates/rustversion-1.0.19.crate) = f7c45b9784283f1b2e7fb61b42047c2fd678ef0960d4f6f1eba131594cc369d4
+SIZE (rust/crates/rustversion-1.0.19.crate) = 20616
+SHA256 (rust/crates/rustybuzz-0.14.1.crate) = cfb9cf8877777222e4a3bc7eb247e398b56baba500c38c1c46842431adc8b55c
+SIZE (rust/crates/rustybuzz-0.14.1.crate) = 254743
+SHA256 (rust/crates/self_cell-1.1.0.crate) = c2fdfc24bc566f839a2da4c4295b82db7d25a24253867d5c64355abb5799bdbe
+SIZE (rust/crates/self_cell-1.1.0.crate) = 16636
+SHA256 (rust/crates/serde-1.0.217.crate) = 02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70
+SIZE (rust/crates/serde-1.0.217.crate) = 79019
+SHA256 (rust/crates/serde_derive-1.0.217.crate) = 5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0
+SIZE (rust/crates/serde_derive-1.0.217.crate) = 57749
+SHA256 (rust/crates/serde_spanned-0.6.8.crate) = 87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1
+SIZE (rust/crates/serde_spanned-0.6.8.crate) = 9330
+SHA256 (rust/crates/shlex-1.3.0.crate) = 0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64
+SIZE (rust/crates/shlex-1.3.0.crate) = 18713
+SHA256 (rust/crates/simd-adler32-0.3.7.crate) = d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe
+SIZE (rust/crates/simd-adler32-0.3.7.crate) = 12086
+SHA256 (rust/crates/simd_helpers-0.1.0.crate) = 95890f873bec569a0362c235787f3aca6e1e887302ba4840839bcc6459c42da6
+SIZE (rust/crates/simd_helpers-0.1.0.crate) = 1527
+SHA256 (rust/crates/skrifa-0.22.3.crate) = 8e1c44ad1f6c5bdd4eefed8326711b7dbda9ea45dfd36068c427d332aa382cbe
+SIZE (rust/crates/skrifa-0.22.3.crate) = 260731
+SHA256 (rust/crates/slotmap-1.0.7.crate) = dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a
+SIZE (rust/crates/slotmap-1.0.7.crate) = 61390
+SHA256 (rust/crates/smallvec-1.13.2.crate) = 3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67
+SIZE (rust/crates/smallvec-1.13.2.crate) = 35216
+SHA256 (rust/crates/strsim-0.11.1.crate) = 7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f
+SIZE (rust/crates/strsim-0.11.1.crate) = 14266
+SHA256 (rust/crates/swash-0.1.19.crate) = cbd59f3f359ddd2c95af4758c18270eddd9c730dde98598023cdabff472c2ca2
+SIZE (rust/crates/swash-0.1.19.crate) = 235696
+SHA256 (rust/crates/syn-2.0.98.crate) = 36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1
+SIZE (rust/crates/syn-2.0.98.crate) = 297807
+SHA256 (rust/crates/sys-locale-0.3.2.crate) = 8eab9a99a024a169fe8a903cf9d4a3b3601109bcc13bd9e3c6fff259138626c4
+SIZE (rust/crates/sys-locale-0.3.2.crate) = 15072
+SHA256 (rust/crates/system-deps-6.2.2.crate) = a3e535eb8dded36d55ec13eddacd30dec501792ff23a0b1682c38601b8cf2349
+SIZE (rust/crates/system-deps-6.2.2.crate) = 25546
+SHA256 (rust/crates/target-lexicon-0.12.16.crate) = 61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1
+SIZE (rust/crates/target-lexicon-0.12.16.crate) = 26488
+SHA256 (rust/crates/thiserror-1.0.69.crate) = b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52
+SIZE (rust/crates/thiserror-1.0.69.crate) = 22198
+SHA256 (rust/crates/thiserror-2.0.11.crate) = d452f284b73e6d76dd36758a0c8684b1d5be31f92b89d07fd5822175732206fc
+SIZE (rust/crates/thiserror-2.0.11.crate) = 28648
+SHA256 (rust/crates/thiserror-impl-1.0.69.crate) = 4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1
+SIZE (rust/crates/thiserror-impl-1.0.69.crate) = 18365
+SHA256 (rust/crates/thiserror-impl-2.0.11.crate) = 26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2
+SIZE (rust/crates/thiserror-impl-2.0.11.crate) = 21067
+SHA256 (rust/crates/tiff-0.9.1.crate) = ba1310fcea54c6a9a4fd1aad794ecc02c31682f6bfbecdf460bf19533eed1e3e
+SIZE (rust/crates/tiff-0.9.1.crate) = 1423953
+SHA256 (rust/crates/tinyvec-1.8.1.crate) = 022db8904dfa342efe721985167e9fcd16c29b226db4397ed752a761cfce81e8
+SIZE (rust/crates/tinyvec-1.8.1.crate) = 47269
+SHA256 (rust/crates/tinyvec_macros-0.1.1.crate) = 1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20
+SIZE (rust/crates/tinyvec_macros-0.1.1.crate) = 5865
+SHA256 (rust/crates/toml-0.8.20.crate) = cd87a5cdd6ffab733b2f74bc4fd7ee5fff6634124999ac278c35fc78c6120148
+SIZE (rust/crates/toml-0.8.20.crate) = 51095
+SHA256 (rust/crates/toml_datetime-0.6.8.crate) = 0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41
+SIZE (rust/crates/toml_datetime-0.6.8.crate) = 12028
+SHA256 (rust/crates/toml_edit-0.22.23.crate) = 02a8b472d1a3d7c18e2d61a489aee3453fd9031c33e4f55bd533f4a7adca1bee
+SIZE (rust/crates/toml_edit-0.22.23.crate) = 106376
+SHA256 (rust/crates/ttf-parser-0.20.0.crate) = 17f77d76d837a7830fe1d4f12b7b4ba4192c1888001c7164257e4bc6d21d96b4
+SIZE (rust/crates/ttf-parser-0.20.0.crate) = 161769
+SHA256 (rust/crates/ttf-parser-0.21.1.crate) = 2c591d83f69777866b9126b24c6dd9a18351f177e49d625920d19f989fd31cf8
+SIZE (rust/crates/ttf-parser-0.21.1.crate) = 194876
+SHA256 (rust/crates/unicode-bidi-0.3.18.crate) = 5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5
+SIZE (rust/crates/unicode-bidi-0.3.18.crate) = 58300
+SHA256 (rust/crates/unicode-bidi-mirroring-0.2.0.crate) = 23cb788ffebc92c5948d0e997106233eeb1d8b9512f93f41651f52b6c5f5af86
+SIZE (rust/crates/unicode-bidi-mirroring-0.2.0.crate) = 8166
+SHA256 (rust/crates/unicode-ccc-0.2.0.crate) = 1df77b101bcc4ea3d78dafc5ad7e4f58ceffe0b2b16bf446aeb50b6cb4157656
+SIZE (rust/crates/unicode-ccc-0.2.0.crate) = 8872
+SHA256 (rust/crates/unicode-ident-1.0.16.crate) = a210d160f08b701c8721ba1c726c11662f877ea6b7094007e1ca9a1041945034
+SIZE (rust/crates/unicode-ident-1.0.16.crate) = 47684
+SHA256 (rust/crates/unicode-linebreak-0.1.5.crate) = 3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f
+SIZE (rust/crates/unicode-linebreak-0.1.5.crate) = 15324
+SHA256 (rust/crates/unicode-properties-0.1.3.crate) = e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0
+SIZE (rust/crates/unicode-properties-0.1.3.crate) = 42252
+SHA256 (rust/crates/unicode-script-0.5.7.crate) = 9fb421b350c9aff471779e262955939f565ec18b86c15364e6bdf0d662ca7c1f
+SIZE (rust/crates/unicode-script-0.5.7.crate) = 47080
+SHA256 (rust/crates/unicode-segmentation-1.12.0.crate) = f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493
+SIZE (rust/crates/unicode-segmentation-1.12.0.crate) = 106323
+SHA256 (rust/crates/utf8parse-0.2.2.crate) = 06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821
+SIZE (rust/crates/utf8parse-0.2.2.crate) = 13499
+SHA256 (rust/crates/v_frame-0.3.8.crate) = d6f32aaa24bacd11e488aa9ba66369c7cd514885742c9fe08cfe85884db3e92b
+SIZE (rust/crates/v_frame-0.3.8.crate) = 14967
+SHA256 (rust/crates/vcpkg-0.2.15.crate) = accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426
+SIZE (rust/crates/vcpkg-0.2.15.crate) = 228735
+SHA256 (rust/crates/version-compare-0.2.0.crate) = 852e951cb7832cb45cb1169900d19760cfa39b82bc0ea9c0e5a14ae88411c98b
+SIZE (rust/crates/version-compare-0.2.0.crate) = 13942
+SHA256 (rust/crates/version_check-0.9.5.crate) = 0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a
+SIZE (rust/crates/version_check-0.9.5.crate) = 15554
+SHA256 (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423
+SIZE (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 28131
+SHA256 (rust/crates/wasm-bindgen-0.2.100.crate) = 1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5
+SIZE (rust/crates/wasm-bindgen-0.2.100.crate) = 48288
+SHA256 (rust/crates/wasm-bindgen-backend-0.2.100.crate) = 2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6
+SIZE (rust/crates/wasm-bindgen-backend-0.2.100.crate) = 32111
+SHA256 (rust/crates/wasm-bindgen-macro-0.2.100.crate) = 7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407
+SIZE (rust/crates/wasm-bindgen-macro-0.2.100.crate) = 9663
+SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.100.crate) = 8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de
+SIZE (rust/crates/wasm-bindgen-macro-support-0.2.100.crate) = 26243
+SHA256 (rust/crates/wasm-bindgen-shared-0.2.100.crate) = 1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d
+SIZE (rust/crates/wasm-bindgen-shared-0.2.100.crate) = 8570
+SHA256 (rust/crates/weezl-0.1.8.crate) = 53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082
+SIZE (rust/crates/weezl-0.1.8.crate) = 42175
+SHA256 (rust/crates/windows-sys-0.59.0.crate) = 1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b
+SIZE (rust/crates/windows-sys-0.59.0.crate) = 2387323
+SHA256 (rust/crates/windows-targets-0.52.6.crate) = 9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973
+SIZE (rust/crates/windows-targets-0.52.6.crate) = 6403
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.52.6.crate) = 32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3
+SIZE (rust/crates/windows_aarch64_gnullvm-0.52.6.crate) = 435718
+SHA256 (rust/crates/windows_aarch64_msvc-0.52.6.crate) = 09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469
+SIZE (rust/crates/windows_aarch64_msvc-0.52.6.crate) = 832615
+SHA256 (rust/crates/windows_i686_gnu-0.52.6.crate) = 8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b
+SIZE (rust/crates/windows_i686_gnu-0.52.6.crate) = 880402
+SHA256 (rust/crates/windows_i686_gnullvm-0.52.6.crate) = 0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66
+SIZE (rust/crates/windows_i686_gnullvm-0.52.6.crate) = 475940
+SHA256 (rust/crates/windows_i686_msvc-0.52.6.crate) = 240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66
+SIZE (rust/crates/windows_i686_msvc-0.52.6.crate) = 901163
+SHA256 (rust/crates/windows_x86_64_gnu-0.52.6.crate) = 147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78
+SIZE (rust/crates/windows_x86_64_gnu-0.52.6.crate) = 836363
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.52.6.crate) = 24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d
+SIZE (rust/crates/windows_x86_64_gnullvm-0.52.6.crate) = 435707
+SHA256 (rust/crates/windows_x86_64_msvc-0.52.6.crate) = 589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec
+SIZE (rust/crates/windows_x86_64_msvc-0.52.6.crate) = 832564
+SHA256 (rust/crates/winnow-0.7.1.crate) = 86e376c75f4f43f44db463cf729e0d3acbf954d13e22c51e26e4c264b4ab545f
+SIZE (rust/crates/winnow-0.7.1.crate) = 170986
+SHA256 (rust/crates/yazi-0.1.6.crate) = c94451ac9513335b5e23d7a8a2b61a7102398b8cca5160829d313e84c9d98be1
+SIZE (rust/crates/yazi-0.1.6.crate) = 28835
+SHA256 (rust/crates/zeno-0.2.3.crate) = dd15f8e0dbb966fd9245e7498c7e9e5055d9e5c8b676b95bd67091cd11a1e697
+SIZE (rust/crates/zeno-0.2.3.crate) = 40164
+SHA256 (rust/crates/zerocopy-0.7.35.crate) = 1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0
+SIZE (rust/crates/zerocopy-0.7.35.crate) = 152645
+SHA256 (rust/crates/zerocopy-derive-0.7.35.crate) = fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e
+SIZE (rust/crates/zerocopy-derive-0.7.35.crate) = 37829
+SHA256 (rust/crates/zune-core-0.4.12.crate) = 3f423a2c17029964870cfaabb1f13dfab7d092a62a29a89264f4d36990ca414a
+SIZE (rust/crates/zune-core-0.4.12.crate) = 17355
+SHA256 (rust/crates/zune-inflate-0.2.54.crate) = 73ab332fe2f6680068f3582b16a24f90ad7096d5d39b974d1c0aff0125116f02
+SIZE (rust/crates/zune-inflate-0.2.54.crate) = 37973
+SHA256 (rust/crates/zune-jpeg-0.4.14.crate) = 99a5bab8d7dedf81405c4bb1f2b83ea057643d9cb28778cea9eecddeedd2e028
+SIZE (rust/crates/zune-jpeg-0.4.14.crate) = 63388
+SHA256 (realchonk-ppa6-0.1.0_GH0.tar.gz) = 741e946471a3de111440fea8e36826ab14fbc97f39e2e9a9f9fa40cbf1eb687e
+SIZE (realchonk-ppa6-0.1.0_GH0.tar.gz) = 20228
diff --git a/print/ppa6/pkg-descr b/print/ppa6/pkg-descr
new file mode 100644
index 000000000000..43a15fa7063f
--- /dev/null
+++ b/print/ppa6/pkg-descr
@@ -0,0 +1,7 @@
+Userspace driver program for PeriPage A6 printers.
+
+The driver includes the following backends:
+- USB (through libusb)
+- File (for specifying the raw device)
+
+Support for Bluetooth has not been implemented yet.
diff --git a/print/pslib/Makefile b/print/pslib/Makefile
index 82928d1542e3..93e4c3e881fa 100644
--- a/print/pslib/Makefile
+++ b/print/pslib/Makefile
@@ -4,7 +4,7 @@ CATEGORIES= print
MASTER_SITES= SF
DISTFILES= ${DISTNAME}${EXTRACT_SUFX}
-MAINTAINER= alster@vinterdalen.se
+MAINTAINER= alven@FreeBSD.org
COMMENT= C-library for generating multi page PostScript documents
WWW= https://pslib.sourceforge.net/
diff --git a/print/py-fontaine/Makefile b/print/py-fontaine/Makefile
index df4e4bbfb337..12ebdee2f2c5 100644
--- a/print/py-fontaine/Makefile
+++ b/print/py-fontaine/Makefile
@@ -1,6 +1,6 @@
PORTNAME= fontaine
PORTVERSION= 1.4.0
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= print python
MASTER_SITES= https://www.freedesktop.org/software/fontconfig/release/:fontconfig
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -17,7 +17,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLA
${PYTHON_PKGNAMEPREFIX}setuptools-scm>=0:devel/py-setuptools-scm@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}fonttools>=0:print/py-fonttools@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}lxml>=0:devel/py-lxml@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}lxml5>=0:devel/py-lxml5@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pyicu>=0:devel/py-pyicu@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}requests>=0:www/py-requests@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}tabulate>=0:devel/py-tabulate@${PY_FLAVOR}
diff --git a/print/py-fontbakery/Makefile b/print/py-fontbakery/Makefile
index b5df3cb6c005..1d28932d2f29 100644
--- a/print/py-fontbakery/Makefile
+++ b/print/py-fontbakery/Makefile
@@ -1,5 +1,6 @@
PORTNAME= fontbakery
-PORTVERSION= 1.0.0
+PORTVERSION= 1.0.1
+PORTREVISION= 1
CATEGORIES= print python
MASTER_SITES= PYPI \
https://github.com/fonttools/fontbakery/releases/download/v${PORTVERSION}/
@@ -53,7 +54,7 @@ NOTOFONTS_DESC= Checks for Noto fonts
NOTOFONTS_IMPLIES= GOOGLEFONTS
TYPENETWORK_DESC= Checks for Type Network
-FONTVAL_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}lxml>=0:devel/py-lxml@${PY_FLAVOR}
+FONTVAL_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}lxml5>=0:devel/py-lxml5@${PY_FLAVOR}
GOOGLEFONTS_RUN_DEPENDS=${PYTHON_PKGNAMEPREFIX}axisregistry>=0.4.12<0.5:x11-fonts/py-axisregistry@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}beautifulsoup>=4.7.1:www/py-beautifulsoup@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}collidoscope>=0.5.2:print/py-collidoscope@${PY_FLAVOR} \
diff --git a/print/py-fontbakery/distinfo b/print/py-fontbakery/distinfo
index cc0247f21277..615138664c65 100644
--- a/print/py-fontbakery/distinfo
+++ b/print/py-fontbakery/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1747715460
-SHA256 (fontbakery-1.0.0.tar.gz) = c429f802dde92c6cd6f9d87960efb41480ca0ef13de2daaee3ae78bc56c00908
-SIZE (fontbakery-1.0.0.tar.gz) = 49799653
+TIMESTAMP = 1752266158
+SHA256 (fontbakery-1.0.1.tar.gz) = 38f39434acbbd2c9bf92aaf1462eb53237d0a7be0076a661e86b7ddcb765994d
+SIZE (fontbakery-1.0.1.tar.gz) = 49799634
diff --git a/print/py-fonttools/Makefile b/print/py-fonttools/Makefile
index 04a236e6e646..0c9e0185b16e 100644
--- a/print/py-fonttools/Makefile
+++ b/print/py-fonttools/Makefile
@@ -1,5 +1,6 @@
PORTNAME= fonttools
-PORTVERSION= 4.58.4
+PORTVERSION= 4.59.2
+PORTREVISION= 1
CATEGORIES= print python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -18,15 +19,14 @@ TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}ufolib2>=0:print/py-ufolib2@${PY_FLAVOR}
USES= python
USE_PYTHON= autoplist concurrent cython pep517
-OPTIONS_DEFINE= GRAPHITE INTERPOLATABLE LXML PLOT REPACKER SYMFONT UFO UNICODE WOFF
-OPTIONS_DEFAULT=LXML UFO UNICODE WOFF
+OPTIONS_DEFINE= GRAPHITE INTERPOLATABLE LXML PLOT REPACKER SYMFONT UNICODE WOFF
+OPTIONS_DEFAULT=LXML UNICODE WOFF
GRAPHITE_DESC= Process graphite type tables in ttLib/tables
INTERPOLATABLE_DESC= Interpolatability support
LXML_DESC= Read/write XML files via lxml (faster/safer than built-in ElementTree)
PLOT_DESC= Visualize DesignSpaceDocument and resulting VariationModel
REPACKER_DESC= Pack GSUB/GPOS tables with harfbuzz repacker
SYMFONT_DESC= Symbolic font statistics analysis
-UFO_DESC= Read/write UFO fonts
UNICODE_DESC= Use latest Unicode Character Database
WOFF_DESC= Compress/uncompress WOFF webfonts
@@ -37,7 +37,6 @@ LXML_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}lxml>=4.0:devel/py-lxml@${PY_FLAVOR}
PLOT_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}matplotlib>=0:math/py-matplotlib@${PY_FLAVOR}
REPACKER_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}uharfbuzz>=0.23.0:print/py-uharfbuzz@${PY_FLAVOR}
SYMFONT_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sympy>=0:math/py-sympy@${PY_FLAVOR}
-UFO_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}fs2>=2.2.0<3:filesystems/py-fs2@${PY_FLAVOR}
WOFF_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}brotli>=1.0.1:archivers/py-brotli@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}zopfli>=0.1.4:archivers/py-zopfli@${PY_FLAVOR}
diff --git a/print/py-fonttools/distinfo b/print/py-fonttools/distinfo
index 0ba5a1ed32f4..76e13345f533 100644
--- a/print/py-fonttools/distinfo
+++ b/print/py-fonttools/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1750188130
-SHA256 (fonttools-4.58.4.tar.gz) = 928a8009b9884ed3aae17724b960987575155ca23c6f0b8146e400cc9e0d44ba
-SIZE (fonttools-4.58.4.tar.gz) = 3525026
+TIMESTAMP = 1757120800
+SHA256 (fonttools-4.59.2.tar.gz) = e72c0749b06113f50bcb80332364c6be83a9582d6e3db3fe0b280f996dc2ef22
+SIZE (fonttools-4.59.2.tar.gz) = 3540889
diff --git a/print/py-frescobaldi/Makefile b/print/py-frescobaldi/Makefile
index b2fda03b26f6..e863b7132221 100644
--- a/print/py-frescobaldi/Makefile
+++ b/print/py-frescobaldi/Makefile
@@ -1,7 +1,6 @@
PORTNAME= frescobaldi
DISTVERSIONPREFIX= v
-DISTVERSION= 3.3.0
-PORTREVISION= 3
+DISTVERSION= 4.0.4
CATEGORIES= print kde python
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -10,17 +9,17 @@ COMMENT= Music score editor for lilypond
WWW= https://www.frescobaldi.org/
LICENSE= GPLv2+
-LICENSE_FILE= ${WRKSRC}/COPYING
+LICENSE_FILE= ${WRKSRC}/LICENSE
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>0:devel/py-hatchling@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}tox>0:devel/py-tox@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}python-ly>=0:print/py-python-ly@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}python-poppler-qt5>=0:graphics/py-python-poppler-qt5@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}qpageview>=0:graphics/py-qpageview@${PY_FLAVOR}
-USES= desktop-file-utils gettext gmake pyqt:5 python qmake qt:5
+USES= gettext-tools pyqt:6 python qt:6
USE_GITHUB= yes
-GH_ACCOUNT= frescobaldi
-USE_PYQT= pyqt5 webengine sip:build
-USE_PYTHON= autoplist distutils noflavors
+USE_PYQT= pyqt6 webengine sip:build
+USE_PYTHON= autoplist noflavors pep517
NO_ARCH= yes
@@ -32,6 +31,6 @@ LILYPOND_RUN_DEPENDS= lilypond:print/lilypond-devel
LILYPOND_RUN_DEPENDS_OFF= lilypond:print/lilypond
post-build:
- (cd ${WRKSRC} && ${GMAKE} -C linux)
+ (cd ${WRKSRC} && tox -e linux-generate)
.include <bsd.port.mk>
diff --git a/print/py-frescobaldi/distinfo b/print/py-frescobaldi/distinfo
index b87e69be9bd4..ffd048f5bf6c 100644
--- a/print/py-frescobaldi/distinfo
+++ b/print/py-frescobaldi/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1680092318
-SHA256 (frescobaldi-frescobaldi-v3.3.0_GH0.tar.gz) = 89a1fb73528ef653c4b99af06bbc8d1175d56893d67422b998be8a500fe79c8c
-SIZE (frescobaldi-frescobaldi-v3.3.0_GH0.tar.gz) = 9196964
+TIMESTAMP = 1754917371
+SHA256 (frescobaldi-frescobaldi-v4.0.4_GH0.tar.gz) = 8aa015ab221ac4c03237393f840325553b94df33c82a12a4a743fbacce36dcba
+SIZE (frescobaldi-frescobaldi-v4.0.4_GH0.tar.gz) = 8580069
diff --git a/print/py-frescobaldi/files/patch-frescobaldi__app_portmidi_____init____.py b/print/py-frescobaldi/files/patch-frescobaldi_portmidi_____init____.py
index 7ed521e86959..b4f04a283a6e 100644
--- a/print/py-frescobaldi/files/patch-frescobaldi__app_portmidi_____init____.py
+++ b/print/py-frescobaldi/files/patch-frescobaldi_portmidi_____init____.py
@@ -1,5 +1,5 @@
---- frescobaldi_app/portmidi/__init__.py.orig 2020-12-26 10:15:52 UTC
-+++ frescobaldi_app/portmidi/__init__.py
+--- frescobaldi/portmidi/__init__.py.orig 2020-12-26 10:15:52 UTC
++++ frescobaldi/portmidi/__init__.py
@@ -264,16 +264,7 @@ def _setup():
"""
diff --git a/print/py-pypdf/Makefile b/print/py-pypdf/Makefile
index bf4d526b8a40..29019f7f99b3 100644
--- a/print/py-pypdf/Makefile
+++ b/print/py-pypdf/Makefile
@@ -1,5 +1,5 @@
PORTNAME= pypdf
-PORTVERSION= 5.6.0
+PORTVERSION= 6.0.0
CATEGORIES= print python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/print/py-pypdf/distinfo b/print/py-pypdf/distinfo
index 9cec13b60f4a..7918dd6f962f 100644
--- a/print/py-pypdf/distinfo
+++ b/print/py-pypdf/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749715873
-SHA256 (pypdf-5.6.0.tar.gz) = a4b6538b77fc796622000db7127e4e58039ec5e6afd292f8e9bf42e2e985a749
-SIZE (pypdf-5.6.0.tar.gz) = 5023749
+TIMESTAMP = 1755762927
+SHA256 (pypdf-6.0.0.tar.gz) = 282a99d2cc94a84a3a3159f0d9358c0af53f85b4d28d76ea38b96e9e5ac2a08d
+SIZE (pypdf-6.0.0.tar.gz) = 5033827
diff --git a/print/py-python-ly/Makefile b/print/py-python-ly/Makefile
index 5bec12d0b353..79684798edd0 100644
--- a/print/py-python-ly/Makefile
+++ b/print/py-python-ly/Makefile
@@ -1,6 +1,6 @@
PORTNAME= python-ly
-PORTVERSION= 0.9.8
DISTVERSIONPREFIX= v
+DISTVERSION= 0.9.9
CATEGORIES= print python
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -11,6 +11,7 @@ WWW= https://github.com/frescobaldi/python-ly
LICENSE= GPLv3
BUILD_DEPENDS= ${PY_SETUPTOOLS} \
+ ${PYTHON_PKGNAMEPREFIX}hatchling>0:devel/py-hatchling@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
USES= python
diff --git a/print/py-python-ly/distinfo b/print/py-python-ly/distinfo
index 97ed224050be..8e14063bb364 100644
--- a/print/py-python-ly/distinfo
+++ b/print/py-python-ly/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1687123539
-SHA256 (frescobaldi-python-ly-v0.9.8_GH0.tar.gz) = bdd64fb947e8804cd7d1eedbd57552a0f1cd3411a7a063ad5ec39db78e8303ad
-SIZE (frescobaldi-python-ly-v0.9.8_GH0.tar.gz) = 250615
+TIMESTAMP = 1736379852
+SHA256 (frescobaldi-python-ly-v0.9.9_GH0.tar.gz) = b64983ab44ec7e580451b8fb929da5d981c3d4a633612239e86ce515c1dd7899
+SIZE (frescobaldi-python-ly-v0.9.9_GH0.tar.gz) = 252206
diff --git a/print/py-python-ly/files/patch-pyproject.toml b/print/py-python-ly/files/patch-pyproject.toml
deleted file mode 100644
index 5a5df8d89eaf..000000000000
--- a/print/py-python-ly/files/patch-pyproject.toml
+++ /dev/null
@@ -1,9 +0,0 @@
---- pyproject.toml.orig 2023-06-16 13:33:13 UTC
-+++ pyproject.toml
-@@ -1,5 +1,5 @@
- [build-system]
--requires = ["setuptools >= 64"]
-+requires = ["setuptools >= 63"]
- build-backend = "setuptools.build_meta"
-
- [project]
diff --git a/print/py-relatorio/Makefile b/print/py-relatorio/Makefile
index 2d9b1334ffd6..8d58f745783d 100644
--- a/print/py-relatorio/Makefile
+++ b/print/py-relatorio/Makefile
@@ -1,5 +1,6 @@
PORTNAME= relatorio
PORTVERSION= 0.11.1
+PORTREVISION= 1
CATEGORIES= print python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -15,7 +16,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}Genshi>=0.5:textproc/py-genshi@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}lxml>=2.0:devel/py-lxml@${PY_FLAVOR}
+ ${PYTHON_PKGNAMEPREFIX}lxml5>=2.0:devel/py-lxml5@${PY_FLAVOR}
USES= python
USE_PYTHON= autoplist concurrent pep517 unittest
diff --git a/print/py-reportlab/Makefile b/print/py-reportlab/Makefile
index b27050337837..3be026d12358 100644
--- a/print/py-reportlab/Makefile
+++ b/print/py-reportlab/Makefile
@@ -1,10 +1,12 @@
PORTNAME= reportlab
-DISTVERSION= 4.4.1
+DISTVERSION= 4.4.3
+PORTREVISION= 1
CATEGORIES= print python
-MASTER_SITES= PYPI
+MASTER_SITES= PYPI:python \
+ LOCAL/bofh/print/py-${PORTNAME}:pfbfer
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
-DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \
- ${PFBFER}
+DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:python \
+ ${PFBFER}:pfbfer
EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
MAINTAINER= bofh@FreeBSD.org
diff --git a/print/py-reportlab/distinfo b/print/py-reportlab/distinfo
index be3dc01bb987..60667e4adf9e 100644
--- a/print/py-reportlab/distinfo
+++ b/print/py-reportlab/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1747596073
-SHA256 (reportlab-4.4.1.tar.gz) = 5f9b9fc0b7a48e8912c25ccf69d26b82980ab0da718e4f583fa720e8f8f5073f
-SIZE (reportlab-4.4.1.tar.gz) = 3509107
+TIMESTAMP = 1753371493
+SHA256 (reportlab-4.4.3.tar.gz) = 073b0975dab69536acd3251858e6b0524ed3e087e71f1d0d1895acb50acf9c7b
+SIZE (reportlab-4.4.3.tar.gz) = 3887532
SHA256 (pfbfer-20180109.zip) = 851b431550e866b217317d09dd33b5535ae081200975ad4dd25e80be2af10fec
SIZE (pfbfer-20180109.zip) = 737561
diff --git a/print/py-ufolib2/Makefile b/print/py-ufolib2/Makefile
index e437c185d2d4..567b073e67be 100644
--- a/print/py-ufolib2/Makefile
+++ b/print/py-ufolib2/Makefile
@@ -1,9 +1,8 @@
PORTNAME= ufolib2
-PORTVERSION= 0.16.0
+PORTVERSION= 0.18.1
CATEGORIES= print python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
-DISTNAME= ufoLib2-${PORTVERSION}
MAINTAINER= sunpoet@FreeBSD.org
COMMENT= UFO font processing library
@@ -12,11 +11,11 @@ WWW= https://github.com/fonttools/ufoLib2
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=45:devel/py-setuptools@${PY_FLAVOR} \
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=61.2:devel/py-setuptools@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}setuptools-scm>=6.2:devel/py-setuptools-scm@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}attrs>=22.1.0:devel/py-attrs@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}fonttools>=4.0.0:print/py-fonttools@${PY_FLAVOR}
+ ${PYTHON_PKGNAMEPREFIX}fonttools>=4.58.0:print/py-fonttools@${PY_FLAVOR}
USES= python
USE_PYTHON= autoplist concurrent pep517
@@ -24,15 +23,16 @@ USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
OPTIONS_DEFINE= CONVERTERS JSON LXML MSGPACK
+OPTIONS_DEFAULT=CONVERTERS JSON LXML MSGPACK
CONVERTERS_DESC=Converters support
LXML_DESC= XML support
MSGPACK_DESC= MessagePack support
-CONVERTERS_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cattrs>=1.10.0:devel/py-cattrs@${PY_FLAVOR}
-JSON_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cattrs>=22.2.0:devel/py-cattrs@${PY_FLAVOR} \
+CONVERTERS_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cattrs>=25.1.1:devel/py-cattrs@${PY_FLAVOR}
+JSON_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cattrs>=25.1.1:devel/py-cattrs@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}orjson>=0:devel/py-orjson@${PY_FLAVOR}
-LXML_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}lxml>=0:devel/py-lxml@${PY_FLAVOR}
-MSGPACK_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cattrs>=22.2.0:devel/py-cattrs@${PY_FLAVOR} \
+LXML_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}lxml5>=0:devel/py-lxml5@${PY_FLAVOR}
+MSGPACK_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cattrs>=25.1.1:devel/py-cattrs@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}msgpack>=0:devel/py-msgpack@${PY_FLAVOR}
.include <bsd.port.mk>
diff --git a/print/py-ufolib2/distinfo b/print/py-ufolib2/distinfo
index 8ed62091e474..8d2b91eb3b4a 100644
--- a/print/py-ufolib2/distinfo
+++ b/print/py-ufolib2/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1691070156
-SHA256 (ufoLib2-0.16.0.tar.gz) = 49f0dc7f72ccacfe7faefe0d53d37971d45664d8b0563ef36956fa7bfa55a2bd
-SIZE (ufoLib2-0.16.0.tar.gz) = 97499
+TIMESTAMP = 1757120802
+SHA256 (ufolib2-0.18.1.tar.gz) = 7de0efcc361c573f2537ee7ceabdb3bc64b19b61304cfa25e828caa7db8ae1a4
+SIZE (ufolib2-0.18.1.tar.gz) = 97870
diff --git a/print/py-ufolib2/files/patch-pyproject.toml b/print/py-ufolib2/files/patch-pyproject.toml
new file mode 100644
index 000000000000..d0d80fb29a6a
--- /dev/null
+++ b/print/py-ufolib2/files/patch-pyproject.toml
@@ -0,0 +1,11 @@
+--- pyproject.toml.orig 2025-07-10 11:40:29 UTC
++++ pyproject.toml
+@@ -3,7 +3,7 @@ build-backend = "setuptools.build_meta"
+ build-backend = "setuptools.build_meta"
+
+ [project]
+-name = "ufoLib2"
++name = "ufolib2"
+ description = "ufoLib2 is a UFO font processing library."
+ authors = [{ name = "Adrien Tétar", email = "adri-from-59@hotmail.fr" }]
+ license = { text = "Apache 2.0" }
diff --git a/print/py-ufolib2/files/patch-setup.cfg b/print/py-ufolib2/files/patch-setup.cfg
deleted file mode 100644
index 77d11e68fa6e..000000000000
--- a/print/py-ufolib2/files/patch-setup.cfg
+++ /dev/null
@@ -1,9 +0,0 @@
---- setup.cfg.orig 2023-05-30 16:54:03 UTC
-+++ setup.cfg
-@@ -1,5 +1,5 @@
- [metadata]
--name = ufoLib2
-+name = ufolib2
- description = ufoLib2 is a UFO font processing library.
- long_description = file: README.md
- long_description_content_type = text/markdown
diff --git a/print/py-ufomerge/Makefile b/print/py-ufomerge/Makefile
index 4f6207070764..4a1732b762f6 100644
--- a/print/py-ufomerge/Makefile
+++ b/print/py-ufomerge/Makefile
@@ -1,5 +1,5 @@
PORTNAME= ufomerge
-PORTVERSION= 1.9.3
+PORTVERSION= 1.9.6
CATEGORIES= print python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/print/py-ufomerge/distinfo b/print/py-ufomerge/distinfo
index a79652d63bd7..1d1060db7ca0 100644
--- a/print/py-ufomerge/distinfo
+++ b/print/py-ufomerge/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1748495841
-SHA256 (ufomerge-1.9.3.tar.gz) = aa3829f59c313b2022bb94b81e2888cda6499c637804d06b54f9306293b068f6
-SIZE (ufomerge-1.9.3.tar.gz) = 24542
+TIMESTAMP = 1757120804
+SHA256 (ufomerge-1.9.6.tar.gz) = 29e7b245f9ba8d792309c9d9509149eb34057164e9af4e61bbf644c6e498c380
+SIZE (ufomerge-1.9.6.tar.gz) = 24936
diff --git a/print/py-weasyprint/Makefile b/print/py-weasyprint/Makefile
index d70391610dd9..9e219f3638db 100644
--- a/print/py-weasyprint/Makefile
+++ b/print/py-weasyprint/Makefile
@@ -1,5 +1,6 @@
PORTNAME= weasyprint
PORTVERSION= 61.2
+PORTREVISION= 1
CATEGORIES= print python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/print/qpdf/Makefile b/print/qpdf/Makefile
index 40fe25a13592..b607c036aa6d 100644
--- a/print/qpdf/Makefile
+++ b/print/qpdf/Makefile
@@ -1,6 +1,6 @@
PORTNAME= qpdf
DISTVERSION= 11.10.1
-PORTEPOCH= 1
+PORTEPOCH= 2
CATEGORIES= print
MASTER_SITES= SF
diff --git a/print/qpdf/distinfo b/print/qpdf/distinfo
index fc3d03ecae12..8df4689252f2 100644
--- a/print/qpdf/distinfo
+++ b/print/qpdf/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1741995701
+TIMESTAMP = 1755739232
SHA256 (qpdf-11.10.1.tar.gz) = defca435cf57d26f8a0619864841aa21f5469fddc6eb5662f62d8443021c069d
SIZE (qpdf-11.10.1.tar.gz) = 19497326
diff --git a/print/qpdf/pkg-plist b/print/qpdf/pkg-plist
index 92d8ecc15b81..3758fc8d4556 100644
--- a/print/qpdf/pkg-plist
+++ b/print/qpdf/pkg-plist
@@ -43,8 +43,8 @@ include/qpdf/QPDFNameTreeObjectHelper.hh
include/qpdf/QPDFNumberTreeObjectHelper.hh
include/qpdf/QPDFObjGen.hh
include/qpdf/QPDFObject.hh
-include/qpdf/QPDFObjectHandle_future.hh
include/qpdf/QPDFObjectHandle.hh
+include/qpdf/QPDFObjectHandle_future.hh
include/qpdf/QPDFObjectHelper.hh
include/qpdf/QPDFOutlineDocumentHelper.hh
include/qpdf/QPDFOutlineObjectHelper.hh
diff --git a/print/rubygem-afm0/Makefile b/print/rubygem-afm0/Makefile
deleted file mode 100644
index 16c396be0789..000000000000
--- a/print/rubygem-afm0/Makefile
+++ /dev/null
@@ -1,19 +0,0 @@
-PORTNAME= afm
-PORTVERSION= 0.2.2
-CATEGORIES= print rubygems
-MASTER_SITES= RG
-PKGNAMESUFFIX= 0
-
-MAINTAINER= ruby@FreeBSD.org
-COMMENT= Read AFM files and use the data conveniently
-WWW= https://github.com/halfbyte/afm
-
-LICENSE= MIT
-
-USES= gem
-
-NO_ARCH= yes
-
-PORTSCOUT= limit:^0\.
-
-.include <bsd.port.mk>
diff --git a/print/rubygem-afm0/distinfo b/print/rubygem-afm0/distinfo
deleted file mode 100644
index 467fe34a55f3..000000000000
--- a/print/rubygem-afm0/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1750933404
-SHA256 (rubygem/afm-0.2.2.gem) = c83e698e759ab0063331ff84ca39c4673b03318f4ddcbe8e90177dd01e4c721a
-SIZE (rubygem/afm-0.2.2.gem) = 17408
diff --git a/print/rubygem-afm0/pkg-descr b/print/rubygem-afm0/pkg-descr
deleted file mode 100644
index a1a720c81afe..000000000000
--- a/print/rubygem-afm0/pkg-descr
+++ /dev/null
@@ -1 +0,0 @@
-A simple library to read Adobe Font Metrics files and use the data conveniently
diff --git a/print/rubygem-pdf-reader/Makefile b/print/rubygem-pdf-reader/Makefile
index 50b7ebe4acd6..7a5d90101636 100644
--- a/print/rubygem-pdf-reader/Makefile
+++ b/print/rubygem-pdf-reader/Makefile
@@ -1,6 +1,5 @@
PORTNAME= pdf-reader
-PORTVERSION= 2.14.1
-PORTREVISION= 1
+PORTVERSION= 2.15.0
CATEGORIES= print rubygems
MASTER_SITES= RG
@@ -11,7 +10,7 @@ WWW= https://github.com/yob/pdf-reader
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/MIT-LICENSE
-RUN_DEPENDS= rubygem-afm0>=0.2.1<0.3:print/rubygem-afm0 \
+RUN_DEPENDS= rubygem-afm>=0.2.1<2:print/rubygem-afm \
rubygem-ascii85>=1.0<3.0:devel/rubygem-ascii85 \
rubygem-hashery>=2.0<3:devel/rubygem-hashery \
rubygem-ruby-rc4>=0:security/rubygem-ruby-rc4 \
diff --git a/print/rubygem-pdf-reader/distinfo b/print/rubygem-pdf-reader/distinfo
index 6ae80069493b..e9383df299f8 100644
--- a/print/rubygem-pdf-reader/distinfo
+++ b/print/rubygem-pdf-reader/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1738982914
-SHA256 (rubygem/pdf-reader-2.14.1.gem) = b45a4521c249a394ad7ad9e691bfd46d4d00998cfc4f019e4525afb4963b411b
-SIZE (rubygem/pdf-reader-2.14.1.gem) = 236032
+TIMESTAMP = 1757122064
+SHA256 (rubygem/pdf-reader-2.15.0.gem) = c5025750bec8de7b11cfd1d1ccc2b944d2782c3638cd15b5ee1531d1206c0886
+SIZE (rubygem/pdf-reader-2.15.0.gem) = 240640
diff --git a/print/rubygem-prawn-svg/Makefile b/print/rubygem-prawn-svg/Makefile
index 9bab3113e2f1..2b95d3c5c103 100644
--- a/print/rubygem-prawn-svg/Makefile
+++ b/print/rubygem-prawn-svg/Makefile
@@ -1,5 +1,5 @@
PORTNAME= prawn-svg
-PORTVERSION= 0.36.2
+PORTVERSION= 0.38.0
CATEGORIES= print rubygems
MASTER_SITES= RG
diff --git a/print/rubygem-prawn-svg/distinfo b/print/rubygem-prawn-svg/distinfo
index 39cfb4abebb2..da10440edba3 100644
--- a/print/rubygem-prawn-svg/distinfo
+++ b/print/rubygem-prawn-svg/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1738606619
-SHA256 (rubygem/prawn-svg-0.36.2.gem) = b87031f946b730e4802fda0054971f292f755aee81e7a21c0a71669c646a1c32
-SIZE (rubygem/prawn-svg-0.36.2.gem) = 295424
+TIMESTAMP = 1756839126
+SHA256 (rubygem/prawn-svg-0.38.0.gem) = e5d3e44a0d128933dc630106b0158a78da73fef81f2e7155534b30cfefb0783f
+SIZE (rubygem/prawn-svg-0.38.0.gem) = 301056
diff --git a/print/rubygem-prawn-svg036/Makefile b/print/rubygem-prawn-svg036/Makefile
new file mode 100644
index 000000000000..18016d268183
--- /dev/null
+++ b/print/rubygem-prawn-svg036/Makefile
@@ -0,0 +1,25 @@
+PORTNAME= prawn-svg
+PORTVERSION= 0.36.2
+CATEGORIES= print rubygems
+MASTER_SITES= RG
+PKGNAMESUFFIX= 036
+
+MAINTAINER= sunpoet@FreeBSD.org
+COMMENT= SVG renderer for Prawn PDF library
+WWW= https://github.com/mogest/prawn-svg
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+RUN_DEPENDS= rubygem-css_parser>=1.6<2:textproc/rubygem-css_parser \
+ rubygem-matrix>=0.4.2<0.5:math/rubygem-matrix \
+ rubygem-prawn>=0.11.1<3:print/rubygem-prawn \
+ rubygem-rexml>=3.3.9<4:textproc/rubygem-rexml
+
+USES= gem
+
+NO_ARCH= yes
+
+PORTSCOUT= limit:^0\.36\.
+
+.include <bsd.port.mk>
diff --git a/print/rubygem-prawn-svg036/distinfo b/print/rubygem-prawn-svg036/distinfo
new file mode 100644
index 000000000000..39cfb4abebb2
--- /dev/null
+++ b/print/rubygem-prawn-svg036/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1738606619
+SHA256 (rubygem/prawn-svg-0.36.2.gem) = b87031f946b730e4802fda0054971f292f755aee81e7a21c0a71669c646a1c32
+SIZE (rubygem/prawn-svg-0.36.2.gem) = 295424
diff --git a/print/rubygem-prawn-svg036/pkg-descr b/print/rubygem-prawn-svg036/pkg-descr
new file mode 100644
index 000000000000..4239df2b8cfd
--- /dev/null
+++ b/print/rubygem-prawn-svg036/pkg-descr
@@ -0,0 +1,3 @@
+prawn-svg is an SVG renderer for the Prawn PDF library. This will take an SVG
+document as input and render it into your PDF. prawn-svg supports most but not
+all of the full SVG 1.1 specification.
diff --git a/print/scribus-devel/Makefile b/print/scribus-devel/Makefile
index 9a9b70d4548f..3dd1dd2b0cb5 100644
--- a/print/scribus-devel/Makefile
+++ b/print/scribus-devel/Makefile
@@ -1,6 +1,6 @@
PORTNAME= scribus
DISTVERSION= 1.7.0
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= print editors
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}${PKGNAMESUFFIX}/${PORTVERSION}/ \
http://www.scribus.net/downloads/${PORTVERSION}/
diff --git a/print/scribus/Makefile b/print/scribus/Makefile
index 473fd8683c42..e29fd7435b9a 100644
--- a/print/scribus/Makefile
+++ b/print/scribus/Makefile
@@ -1,6 +1,6 @@
PORTNAME= scribus
DISTVERSION= 1.6.3
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= print editors
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}${PKGNAMESUFFIX}/${PORTVERSION}/ \
http://www.scribus.net/downloads/${PORTVERSION}/
diff --git a/print/simple-fb2-reader/Makefile b/print/simple-fb2-reader/Makefile
index 32bd1053402a..da9d91efd7f8 100644
--- a/print/simple-fb2-reader/Makefile
+++ b/print/simple-fb2-reader/Makefile
@@ -1,6 +1,6 @@
PORTNAME= simple-fb2-reader
PORTVERSION= 1.1.3
-PORTREVISION= 5
+PORTREVISION= 6
CATEGORIES= print
MAINTAINER= ports@FreeBSD.org
diff --git a/print/sioyek/Makefile b/print/sioyek/Makefile
index 0d8d9ccc0444..93e269d9a1a5 100644
--- a/print/sioyek/Makefile
+++ b/print/sioyek/Makefile
@@ -1,6 +1,7 @@
PORTNAME= sioyek
DISTVERSIONPREFIX= v
DISTVERSION= 2.0.0.20250513
+PORTREVISION= 4
CATEGORIES= print
MAINTAINER= fuz@FreeBSD.org
diff --git a/print/sioyek/files/patch-pdf__viewer__build__config.pro b/print/sioyek/files/patch-pdf__viewer__build__config.pro
index 02e8c575b4bb..ff6ad7847d64 100644
--- a/print/sioyek/files/patch-pdf__viewer__build__config.pro
+++ b/print/sioyek/files/patch-pdf__viewer__build__config.pro
@@ -38,7 +38,7 @@
DEFINES += NON_PORTABLE
DEFINES += LINUX_STANDARD_PATHS
- LIBS += -ldl -lmupdf -lmupdf-third -lgumbo -lharfbuzz -lfreetype -ljbig2dec -ljpeg -lmujs -lopenjp2 -lz
-+ LIBS += -ldl -lmupdf -lmupdf-third -lharfbuzz -lfreetype -ljbig2dec -ljpeg -lmujs -lopenjp2 -lz -lsqlite3 -lsynctex
++ LIBS += -ldl -lmupdf -lharfbuzz -lfreetype -ljbig2dec -ljpeg -lmujs -lopenjp2 -lz -lsqlite3 -lsynctex
}
isEmpty(PREFIX){
diff --git a/print/tex-luatex/Makefile b/print/tex-luatex/Makefile
index 9edd11fa61c7..4f3b1e7b90cc 100644
--- a/print/tex-luatex/Makefile
+++ b/print/tex-luatex/Makefile
@@ -1,5 +1,6 @@
PORTNAME= luatex
DISTVERSION= ${TEXLIVE_VERSION}
+PORTREVISION= 1
CATEGORIES= print
MASTER_SITES= TEX_CTAN/systems/texlive/${TEXLIVE_YEAR}/
PKGNAMEPREFIX= tex-
@@ -34,18 +35,15 @@ CONFIGURE_ARGS+= ${EXCLUDE_ENGINES:S/^/--disable-/} \
--enable-luahbtex \
--enable-luajithbtex \
--with-system-zlib \
- --with-system-zziplib \
- CC="${CC}" \
- CXX="${CXX}"
+ --with-system-zziplib
+CONFIGURE_ENV+= ${MAKE_ENV}
+
.for L in cairo freetype2 gmp graphite2 harfbuzz kpathsea libpng mpfr pixman ptexenc teckit
CONFIGURE_ARGS+= --with-$L-include=${LOCALBASE}/include \
--with-$L-libdir=${LOCALBASE}/lib \
--with-system-$L
.endfor
-PIE_UNSAFE= yes
-MAKE_JOBS_UNSAFE= yes
-
EXTRACT_AFTER_ARGS= ${EXTRACT_FILES:S,^,${DISTNAME}/,}
EXTRACT_FILES= build-aux libs/xpdf libs/lua53 libs/luajit \
libs/pplib texk/web2c
diff --git a/print/tex-xetex/Makefile b/print/tex-xetex/Makefile
index 40f368c99d95..bc5b4d39c817 100644
--- a/print/tex-xetex/Makefile
+++ b/print/tex-xetex/Makefile
@@ -1,5 +1,6 @@
PORTNAME= xetex
DISTVERSION= ${TEXLIVE_VERSION}
+PORTREVISION= 1
CATEGORIES= print
MASTER_SITES= TEX_CTAN/systems/texlive/${TEXLIVE_YEAR}/
PKGNAMEPREFIX= tex-
@@ -30,9 +31,7 @@ USE_TEX= kpathsea web2c formats fmtutil dvipdfmx
USE_XORG= pixman
GNU_CONFIGURE= yes
-CONFIGURE_ARGS+=CC="${CC}" \
- CXX="${CXX}" \
- ${EXCLUDE_ENGINES:S/^/--disable-/} \
+CONFIGURE_ARGS+=${EXCLUDE_ENGINES:S/^/--disable-/} \
--enable-xetex \
--with-system-freetype2 \
--with-freetype2-includes=${LOCALBASE}/include/freetype2 \
@@ -46,13 +45,13 @@ CONFIGURE_ARGS+=CC="${CC}" \
--with-teckit-libdir=${LOCALBASE}/lib \
--with-system-zziplib \
--with-system-zlib
+CONFIGURE_ENV+= ${MAKE_ENV}
.for L in cairo gmp kpathsea libpng mpfr pixman ptexenc icu
CONFIGURE_ARGS+=--with-system-$L \
--with-$L-include=${LOCALBASE}/include \
--with-$L-libdir=${LOCALBASE}/lib
.endfor
-PIE_UNSAFE= yes
MAKE_JOBS_UNSAFE= yes
CPPFLAGS= -I${LOCALBASE}/include/harfbuzz
diff --git a/print/texinfo/Makefile b/print/texinfo/Makefile
index 37c98f07f066..cfd09e9f538a 100644
--- a/print/texinfo/Makefile
+++ b/print/texinfo/Makefile
@@ -1,6 +1,6 @@
PORTNAME= texinfo
PORTVERSION= 7.1
-PORTREVISION= 11
+PORTREVISION= 12
PORTEPOCH= 1
CATEGORIES= print
MASTER_SITES= GNU \
@@ -45,7 +45,7 @@ CPE_VENDOR= gnu
HTMLXREF_CNF_RELDATE= 20250626
TEXI2DVI_RELDATE= 20241223
TEXI2PDF_RELDATE= 20241223
-TEXINFO_TEX_RELDATE= 20250618
+TEXINFO_TEX_RELDATE= 20250711
OPTIONS_DEFINE= NLS
OPTIONS_SUB= yes
diff --git a/print/texinfo/distinfo b/print/texinfo/distinfo
index 427cd742a758..dc49e49bed47 100644
--- a/print/texinfo/distinfo
+++ b/print/texinfo/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1750959228
+TIMESTAMP = 1753796018
SHA256 (texinfo/texinfo-7.1.tar.xz) = deeec9f19f159e046fdf8ad22231981806dac332cc372f1c763504ad82b30953
SIZE (texinfo/texinfo-7.1.tar.xz) = 5545720
SHA256 (texinfo/htmlxref.cnf-20250626) = 3ffecc1d8941daabd2eec93697a3ced02d68d84425dba6a2e693dffd67cb5cb8
@@ -7,5 +7,5 @@ SHA256 (texinfo/texi2dvi-20241223) = cb8a5fed2801350c093aa5ccb082aa9c315717ec3e8
SIZE (texinfo/texi2dvi-20241223) = 52733
SHA256 (texinfo/texi2pdf-20241223) = cf2aa65ef663811755ff97caffb0e6df7cd65d605779996272fcae8f1886c705
SIZE (texinfo/texi2pdf-20241223) = 1163
-SHA256 (texinfo/texinfo.tex-20250618) = c29c86a0777885ee0da75e1aef8c131070731d1a71d36d2a2767a37f8dd442af
-SIZE (texinfo/texinfo.tex-20250618) = 389333
+SHA256 (texinfo/texinfo.tex-20250711) = 7cbd00e6f00472ce064fdd0a54ceb6d1697069813241e8e9e5c54048db019456
+SIZE (texinfo/texinfo.tex-20250711) = 390002
diff --git a/print/texlive-texmf/Makefile b/print/texlive-texmf/Makefile
index 16094b9f4d8a..5ca061cb783f 100644
--- a/print/texlive-texmf/Makefile
+++ b/print/texlive-texmf/Makefile
@@ -1,5 +1,6 @@
PORTNAME= texlive
DISTVERSION= ${TEXLIVE_VERSION}
+PORTREVISION= 1
CATEGORIES= print
MASTER_SITES= LOCAL/tex
PKGNAMESUFFIX= -texmf
@@ -41,6 +42,7 @@ do-install:
${SED} -e 's#^${STAGEDIR}${PREFIX}/#@dir #' >> ${TMPPLIST}
.if defined(MAINTAINER_MODE)
+MASTER_SITES= https://ftp.tu-chemnitz.de/pub/tug/historic/systems/texlive/2025/
EXCLUDE_FILES= \*/doc/man ls-R doc dvipdfm dvipdfmx dvips \
fonts/cmap/dvipdfmx fonts/cmap/uptex fonts/enc/dvips \
fonts/map/dvipdfm fonts/map/dvipdfmx fonts/map/dvips \
@@ -49,7 +51,7 @@ EXCLUDE_FILES= \*/doc/man ls-R doc dvipdfm dvipdfmx dvips \
tex/lambda fonts/ovp/public/japanese-otf-uptex source \
fonts/tfm/public/japanese-otf fonts/vf/ptex xdvi \
fonts/tfm/public/japanese-otf-uptex tex/generic/dvips \
- tex/latex/base fonts/tfm/uptex fonts/type1/ptex \
+ tex/latex-dev fonts/tfm/uptex fonts/type1/ptex \
fonts/vf/public/japanese-otf tex/lualatex tex/luatex \
fonts/vf/public/japanese-otf-uptex fonts/vf/uptex \
tex/generic/config/luatex-unicode-letters.tex \
@@ -102,7 +104,12 @@ TEXLIVE_BASE_PLIST!= grep TEXMFDISTDIR ${.CURDIR}/../texlive-base/pkg-plist | se
EXTRACT_AFTER_ARGS= | ${TAR} xf - \
${EXCLUDE_FILES:S,^,--exclude ${DISTNAME_TEXMF}/texmf-dist/,}
-_maintainer-extract:
+_maintainer-fetch:
+ @${MKDIR} ${DISTDIR}/${DIST_SUBDIR}
+ ${FETCH_CMD} ${MASTER_SITES}/${DISTNAME_TEXMF}${EXTRACT_SUFX} \
+ -o ${DISTDIR}/${DIST_SUBDIR}/${DISTNAME_TEXMF}${EXTRACT_SUFX}
+
+_maintainer-extract: _maintainer-fetch
${MAKE} clean
${MKDIR} ${WRKSRC}
${CAT} ${DISTDIR}/${DIST_SUBDIR}/${DISTNAME_TEXMF}${EXTRACT_SUFX} \
diff --git a/print/texlive-texmf/distinfo b/print/texlive-texmf/distinfo
index 94fdffb028a5..2c7dc597073b 100644
--- a/print/texlive-texmf/distinfo
+++ b/print/texlive-texmf/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1742493619
-SHA256 (TeX/texlive-20250308-texmf-freebsd.tar.xz) = dac1ebde40a71ce1d2ccfd441395c04827a2c7496baa914d1ce0fa927ec168f7
-SIZE (TeX/texlive-20250308-texmf-freebsd.tar.xz) = 1302647292
+TIMESTAMP = 1752965688
+SHA256 (TeX/texlive-20250308-texmf-freebsd.tar.xz) = 1e7d98bd58ea11aa4bbe9aab55aad888fcc2b7f9b1b20e12e1038c4e65184116
+SIZE (TeX/texlive-20250308-texmf-freebsd.tar.xz) = 1302104496
diff --git a/print/xreader/Makefile b/print/xreader/Makefile
index 2dc372c5e81a..da93da8ba0c7 100644
--- a/print/xreader/Makefile
+++ b/print/xreader/Makefile
@@ -1,6 +1,5 @@
PORTNAME= xreader
-PORTVERSION= 4.2.3
-PORTREVISION= 2
+PORTVERSION= 4.2.6
CATEGORIES= print gnome
DIST_SUBDIR= gnome
diff --git a/print/xreader/distinfo b/print/xreader/distinfo
index 356dcf66b04e..8225dc157a1a 100644
--- a/print/xreader/distinfo
+++ b/print/xreader/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1734392857
-SHA256 (gnome/linuxmint-xreader-4.2.3_GH0.tar.gz) = 57d8c20eddcb90ba768f386c444519b5f330c1aacfcaa3deb33db1ad1d7bbd6d
-SIZE (gnome/linuxmint-xreader-4.2.3_GH0.tar.gz) = 2214140
+TIMESTAMP = 1752934660
+SHA256 (gnome/linuxmint-xreader-4.2.6_GH0.tar.gz) = 0a02051fed4919f0accb891b4374adf6431e1d2acd788ef553a6629c878d6a39
+SIZE (gnome/linuxmint-xreader-4.2.6_GH0.tar.gz) = 2213498
diff --git a/print/yatex/Makefile b/print/yatex/Makefile
index 159a2a7cc488..058c3a2c147f 100644
--- a/print/yatex/Makefile
+++ b/print/yatex/Makefile
@@ -1,6 +1,6 @@
PORTNAME= yatex
DISTVERSION= 1.83
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES?= print elisp
MASTER_SITES= https://www.yatex.org/
PKGNAMESUFFIX= ${EMACS_PKGNAMESUFFIX}