From 1c7ecd2c33bc9c084066e1aa15fa0334d5c011c0 Mon Sep 17 00:00:00 2001 From: Tom spot Callaway Date: Aug 24 2022 22:25:52 +0000 Subject: fixup texlive-base-20210325-poppler-22.08.0.patch (bz2121167) --- diff --git a/texlive-base-20210325-poppler-22.08.0.patch b/texlive-base-20210325-poppler-22.08.0.patch index 5400a14..28478e2 100644 --- a/texlive-base-20210325-poppler-22.08.0.patch +++ b/texlive-base-20210325-poppler-22.08.0.patch @@ -9,45 +9,6 @@ ; return 0; } ---- texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc -+++ texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc -@@ -167,8 +167,8 @@ static PdfDocument *find_add_document(ch - p->file_name = xstrdup(file_name); - p->xref = xref = 0; - p->occurences = 0; -- GString *docName = new GString(p->file_name); -- p->doc = new PDFDoc(docName); // takes ownership of docName -+ std::unique_ptr docName = std::make_unique(p->file_name); -+ p->doc = new PDFDoc(std::move(docName)); // takes ownership of docName - if (!p->doc->isOk() || !p->doc->okToPrint()) { - pdftex_fail("xpdf: reading PDF image failed"); - } -@@ -395,7 +395,7 @@ static void copyFont(const char *tag, Ob - { - Object fontdict, subtype, basefont, fontdescRef, fontdesc, charset, - stemV; -- GfxFont *gfont; -+ std::shared_ptr gfont; - fd_entry *fd; - fm_entry *fontmap; - // Check whether the font has already been embedded before analysing it. -@@ -444,7 +444,7 @@ static void copyFont(const char *tag, Ob - gfont = GfxFont::makeFont(xref, tag, fontRef->getRef(), - fontdict.getDict()); - pdf_printf(" %d 0 R ", addFont(fontRef->getRef(), fd, -- addEncoding(gfont))); -+ addEncoding(gfont.get()))); - } else { - copyName(tag); - pdf_puts(" "); -@@ -682,7 +682,6 @@ static void writeEncodings() - } - for (r = encodingList; r != 0; r = n) { - n = r->next; -- r->font->decRefCnt(); - delete r; - } - } --- texlive-base-20210325/source/texk/web2c/pdftexdir/pdftosrc.cc +++ texlive-base-20210325/source/texk/web2c/pdftexdir/pdftosrc.cc @@ -72,7 +72,7 @@ int main(int argc, char *argv[]) @@ -89,3 +50,72 @@ if ((p = strrchr(buf, '.')) == 0) p = strchr(buf, 0); sprintf(p, ".xref"); +diff -up texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc.spot texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc +--- texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc.spot 2022-08-24 21:21:36.558035301 +0000 ++++ texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc 2022-08-24 21:41:04.409172692 +0000 +@@ -123,7 +123,7 @@ struct InObj { + + struct UsedEncoding { + int enc_objnum; +- GfxFont *font; ++ std::shared_ptr font; + UsedEncoding *next; + }; + +@@ -167,8 +167,8 @@ static PdfDocument *find_add_document(ch + p->file_name = xstrdup(file_name); + p->xref = xref = 0; + p->occurences = 0; +- GString *docName = new GString(p->file_name); +- p->doc = new PDFDoc(docName); // takes ownership of docName ++ // GString *docName = new GString(p->file_name); ++ p->doc = new PDFDoc(std::make_unique(p->file_name)); // takes ownership of docName + if (!p->doc->isOk() || !p->doc->okToPrint()) { + pdftex_fail("xpdf: reading PDF image failed"); + } +@@ -204,7 +204,7 @@ static void delete_document(PdfDocument + + // -------------------------------------------------------------------- + +-static int addEncoding(GfxFont * gfont) ++static int addEncoding(std::shared_ptr gfont) + { + UsedEncoding *n; + n = new UsedEncoding; +@@ -395,7 +395,8 @@ static void copyFont(const char *tag, Ob + { + Object fontdict, subtype, basefont, fontdescRef, fontdesc, charset, + stemV; +- GfxFont *gfont; ++ // GfxFont *gfont; ++ std::shared_ptr gfont; + fd_entry *fd; + fm_entry *fontmap; + // Check whether the font has already been embedded before analysing it. +@@ -666,6 +667,7 @@ static void writeEncodings() + UsedEncoding *r, *n; + char *glyphNames[256], *s; + int i; ++ + for (r = encodingList; r != 0; r = r->next) { + for (i = 0; i < 256; i++) { + if (r->font->isCIDFont()) { +@@ -673,7 +675,8 @@ static void writeEncodings() + ("PDF inclusion: CID fonts are not supported" + " (try to disable font replacement to fix this)"); + } +- if ((s = (char *) ((Gfx8BitFont *) r->font)->getCharName(i)) != 0) ++ const GfxFont *const font = r->font.get(); ++ if ((s = (char *) ((Gfx8BitFont *) font)->getCharName(i)) != 0) + glyphNames[i] = s; + else + glyphNames[i] = notdef; +@@ -682,7 +685,7 @@ static void writeEncodings() + } + for (r = encodingList; r != 0; r = n) { + n = r->next; +- r->font->decRefCnt(); ++ // r->font->decRefCnt(); + delete r; + } + } diff --git a/texlive-base.spec b/texlive-base.spec index d8ba570..a89f76e 100644 --- a/texlive-base.spec +++ b/texlive-base.spec @@ -20,7 +20,7 @@ Name: %{shortname}-base Version: %{source_date} -Release: 51%{?dist} +Release: 52%{?dist} Epoch: 9 Summary: TeX formatting system # The only files in the base package are directories, cache, and license texts @@ -9413,6 +9413,9 @@ yes | %{_bindir}/updmap-sys --quiet --syncwithtrees >/dev/null 2>&1 || : %doc %{_texdir}/texmf-dist/doc/latex/yplan/ %changelog +* Wed Aug 24 2022 Tom Callaway - 9:202110325-52 +- fixup texlive-base-20210325-poppler-22.08.0.patch (bz2121167) + * Mon Aug 08 2022 Marek Kasik - 9:20210325-51 - Bootstrap off