diff options
Diffstat (limited to 'print')
47 files changed, 667 insertions, 115 deletions
diff --git a/print/Makefile b/print/Makefile index 0e1d3e6f1f2b..ea80a60da7f8 100644 --- a/print/Makefile +++ b/print/Makefile @@ -158,6 +158,7 @@ SUBDIR += pkfonts400 SUBDIR += pkfonts600 SUBDIR += plasma6-print-manager + SUBDIR += plutobook SUBDIR += pnm2ppa SUBDIR += posterazor SUBDIR += ps2eps diff --git a/print/a2ps/Makefile b/print/a2ps/Makefile index 2256b704a5c7..a276f0a43c62 100644 --- a/print/a2ps/Makefile +++ b/print/a2ps/Makefile @@ -1,6 +1,6 @@ PORTNAME= a2ps PORTVERSION= 4.15.7 -PORTREVISION= 0 +PORTREVISION= 1 CATEGORIES= print MASTER_SITES= GNU LOCAL/hrs/a2ps/:i18n 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/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/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 95477e823d42..f1419c64890d 100644 --- a/print/ipp-usb/Makefile +++ b/print/ipp-usb/Makefile @@ -1,6 +1,6 @@ PORTNAME= ipp-usb DISTVERSION= 0.9.24 -PORTREVISION= 5 +PORTREVISION= 6 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/lilypond-devel/Makefile b/print/lilypond-devel/Makefile index bb631fc46d25..8ea8f16ba8c1 100644 --- a/print/lilypond-devel/Makefile +++ b/print/lilypond-devel/Makefile @@ -1,5 +1,5 @@ PORTNAME= lilypond -DISTVERSION= 2.25.26 +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 de4b6b8077c7..5ff36b44663c 100644 --- a/print/lilypond-devel/distinfo +++ b/print/lilypond-devel/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1751962168 -SHA256 (lilypond-2.25.26.tar.gz) = cdbd0b54154e765082beea180a61c05973ef11b00541eda28f6c4bf349ff9d99 -SIZE (lilypond-2.25.26.tar.gz) = 19484665 +TIMESTAMP = 1753087284 +SHA256 (lilypond-2.25.27.tar.gz) = 5b917136870c65b1d05461c5ed2822d2c72f4b7d4a24ede1f421dd15f2a2f2db +SIZE (lilypond-2.25.27.tar.gz) = 19546342 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/pdfcpu/Makefile b/print/pdfcpu/Makefile index c2a8fd756cb7..1e1c9c6e6b5a 100644 --- a/print/pdfcpu/Makefile +++ b/print/pdfcpu/Makefile @@ -1,7 +1,7 @@ PORTNAME= pdfcpu DISTVERSIONPREFIX= v DISTVERSION= 0.11.0 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= print MAINTAINER= diizzy@FreeBSD.org diff --git a/print/plasma6-print-manager/distinfo b/print/plasma6-print-manager/distinfo index e2e7004cd2cb..025f13700afe 100644 --- a/print/plasma6-print-manager/distinfo +++ b/print/plasma6-print-manager/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1752584471 -SHA256 (KDE/plasma/6.4.3/print-manager-6.4.3.tar.xz) = fdfd7fe3686d937e75c28a4cb901b93f4fa289677ef2eca94a50d83553a32d34 -SIZE (KDE/plasma/6.4.3/print-manager-6.4.3.tar.xz) = 370728 +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..5ca0a1d858ec --- /dev/null +++ b/print/plutobook/Makefile @@ -0,0 +1,39 @@ +PORTNAME= plutobook +DISTVERSIONPREFIX= v +DISTVERSION= 0.6.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..6a3de85e22a5 --- /dev/null +++ b/print/plutobook/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1756315516 +SHA256 (plutoprint-plutobook-v0.6.0_GH0.tar.gz) = 6cf367dad24821446b7bb4caec88d7971239f41e51abc22ee362b35a04118408 +SIZE (plutoprint-plutobook-v0.6.0_GH0.tar.gz) = 409596 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/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-fonttools/Makefile b/print/py-fonttools/Makefile index ffa40711c7ca..077edf5b4814 100644 --- a/print/py-fonttools/Makefile +++ b/print/py-fonttools/Makefile @@ -1,6 +1,5 @@ PORTNAME= fonttools -PORTVERSION= 4.58.5 -PORTREVISION= 1 +PORTVERSION= 4.59.0 CATEGORIES= print python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} @@ -19,15 +18,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 @@ -38,7 +36,6 @@ LXML_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}lxml5>=4.0:devel/py-lxml5@${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 18a076ad7f7f..6044798342b3 100644 --- a/print/py-fonttools/distinfo +++ b/print/py-fonttools/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1751622377 -SHA256 (fonttools-4.58.5.tar.gz) = b2a35b0a19f1837284b3a23dd64fd7761b8911d50911ecd2bdbaf5b2d1b5df9c -SIZE (fonttools-4.58.5.tar.gz) = 3526243 +TIMESTAMP = 1753265786 +SHA256 (fonttools-4.59.0.tar.gz) = be392ec3529e2f57faa28709d60723a763904f71a2b63aabe14fee6648fe3b14 +SIZE (fonttools-4.59.0.tar.gz) = 3532521 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 18cf2339bd6b..1d8563ae250d 100644 --- a/print/py-reportlab/Makefile +++ b/print/py-reportlab/Makefile @@ -1,10 +1,11 @@ PORTNAME= reportlab -DISTVERSION= 4.4.2 +DISTVERSION= 4.4.3 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 b720ef3ec88c..60667e4adf9e 100644 --- a/print/py-reportlab/distinfo +++ b/print/py-reportlab/distinfo @@ -1,5 +1,5 @@ -TIMESTAMP = 1751269339 -SHA256 (reportlab-4.4.2.tar.gz) = fc6283048ddd0781a9db1d671715990e6aa059c8d40ec9baf34294c4bd583a36 -SIZE (reportlab-4.4.2.tar.gz) = 3509063 +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/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/sioyek/Makefile b/print/sioyek/Makefile index d3a362c26fd6..93e269d9a1a5 100644 --- a/print/sioyek/Makefile +++ b/print/sioyek/Makefile @@ -1,7 +1,7 @@ PORTNAME= sioyek DISTVERSIONPREFIX= v DISTVERSION= 2.0.0.20250513 -PORTREVISION= 1 +PORTREVISION= 4 CATEGORIES= print MAINTAINER= fuz@FreeBSD.org 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/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} |