diff --git a/.gitignore b/.gitignore index 8c47d20..728419b 100644 --- a/.gitignore +++ b/.gitignore @@ -37,3 +37,10 @@ xpdf-3.02-novms.tar.gz /xpdf-korean-2020-dec-22-NOCMAP.tar.gz /xpdf-4.03.tar.gz /xpdf-4.04.tar.gz +/xpdf-4.05.tar.gz +/xpdf-chinese-simplified-2023-dec-05-NOCMAP.tar.gz +/xpdf-korean-2023-dec-05-NOCMAP.tar.gz +/xpdf-4.05.tar.gz.sig +/xpdf-thai.tar.gz +/xpdf-4.06.tar.gz +/xpdf-4.06.tar.gz.sig diff --git a/gpg-key.txt b/gpg-key.txt new file mode 100644 index 0000000..8c71bda --- /dev/null +++ b/gpg-key.txt @@ -0,0 +1,62 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +PYZrVz++lRb0 +=6AFt +-----END PGP PUBLIC KEY BLOCK----- diff --git a/sources b/sources index e599c56..86afc35 100644 --- a/sources +++ b/sources @@ -3,10 +3,11 @@ SHA512 (xpdf-cyrillic-2011-aug-15.tar.gz) = ab1197c90f8cd3d8664ebbdc7ecefdfb8ec1 SHA512 (xpdf-greek-2011-aug-15.tar.gz) = 2e0e281e09e1abc2f0e40b6787703538d52cb62edcd4c4156698700a5f908afee290c62ad9a6ff4ea74bc42e0a8fe9a7765a212efbc223512d4bb442448ea52f SHA512 (xpdf-hebrew-2011-aug-15.tar.gz) = 0ebe652f8633151d13ef2403bd293682b511ab86c1391ce187f1fc0274f33bd9c7e6ec682c8f79ac4fd27c74ab81ad2ae334a75f26001092521cff9a73cd0b8a SHA512 (xpdf-latin2-2011-aug-15.tar.gz) = 5fe0b60bfac7f0f4a26e3e7216de5043f6b94446f464c984b7c25431ec01a5912952c0dc66bb2c7159c9f63e4805689c6cfc761086aad9e59f1f21d0cddb5d15 -SHA512 (xpdf-thai-2011-aug-15.tar.gz) = 5584b590e34da29285c379e3b7a7243c28241ec6fddb3e4a8e2e7bf88b8f7aaae3483061d12c332a1ff042ec5e2b31869a67d60512ac48f7903c5e2fc871aa87 SHA512 (xpdf-turkish-2011-aug-15.tar.gz) = a73e90bce8f2a12154b06ef29333a45d96258c0d653d5cb15afd2e5ad9e79a9b617e5f8ebeb20bde545684d50f3bc1349800c99f70c863bdd502c24c266b4fb1 -SHA512 (xpdf-chinese-simplified-2020-dec-22-NOCMAP.tar.gz) = 9c5c81832bea2239285364fb061e0fc2f4a94bfa7ee210d876feb2931fa6e6786200976dcacdc7f6ac12a5e5e9af74996d7d4ae83ec2d843a661363e6c8131c2 SHA512 (xpdf-chinese-traditional-2020-dec-22-NOCMAP.tar.gz) = ff25947dbf09b51f9c97aff898b8d33441af230d25c827380f1f5dd4144b5c3d14fc0d1e1ed42e039ff706568a490925f1cafc94ff5f70ae7879827c82dfbc85 SHA512 (xpdf-japanese-2020-dec-22-NOCMAP.tar.gz) = aff90d0c8f26e1dffd2b178c5ee676cfa520086d28dd56af65ef3fcd016c2770361edeb35974f45328cd62d5cd7dff0ac719e38ee2594bef07e062869289a647 -SHA512 (xpdf-korean-2020-dec-22-NOCMAP.tar.gz) = a23210a273c6e66d5f83b63ab60f05de0ba9be73f01715492e84eb3f87caf31b358699ae508875a9f2703171af2c0200b005760179016408edbf6f5bba4c22a8 -SHA512 (xpdf-4.04.tar.gz) = a26b67a4b3d5a5a365153845bf72d77949e683ce26aaf4705b49194cb32bbc581617c3e9c37f74bf6c49480df06d49e8c38d41233966b6215eacf92591d4d9bf +SHA512 (xpdf-chinese-simplified-2023-dec-05-NOCMAP.tar.gz) = 292a819cca4d6095b6835b30241abbbbb07354adc839c9a49b90f2dd9deb1fc7d8727a9bade3cab88da8e903e00199ecf8672727ae7310cc15e1ad8c282d218b +SHA512 (xpdf-korean-2023-dec-05-NOCMAP.tar.gz) = 3ca81eaee279122a8054fc26f16d85c668d0571a1b249a410346196c2b61081bcdfec61c140a7334a921d80738e908b507ac47a301f3aae37b3050c8e8b77f29 +SHA512 (xpdf-thai.tar.gz) = c738ef97c57630feb4d1bae3df36ba02118f73e770caeef4bd3256740b9aadb94ec07b993a01a6abc9ba711d6dc2900f90eb7e1c7bbbf157f07160be1743d3f1 +SHA512 (xpdf-4.06.tar.gz) = ace2d2c006411ef40f3510fe34809e6ed5fd4a2367ac11a75e9d4795aa5054e72f12e307165d11a25b12609d33b279b9b99d9c072442e98308a77ad022bc8355 +SHA512 (xpdf-4.06.tar.gz.sig) = 2df5d491a2126c9f879896c623193cfb6e7b38da53a1eaac4060b77569d84b2d28a12e3a1285d31bb9a422f774f3d70238d47bfec388db1222fc041627da1ec7 diff --git a/xpdf-3.04-1.fc21.src.rpm b/xpdf-3.04-1.fc21.src.rpm deleted file mode 100644 index d5bd345..0000000 Binary files a/xpdf-3.04-1.fc21.src.rpm and /dev/null differ diff --git a/xpdf-4.02-urw-base35-fonts.patch b/xpdf-4.02-urw-base35-fonts.patch deleted file mode 100644 index 719efca..0000000 --- a/xpdf-4.02-urw-base35-fonts.patch +++ /dev/null @@ -1,55 +0,0 @@ -diff -up xpdf-4.02/xpdf/GlobalParams.cc.urw-font-fix xpdf-4.02/xpdf/GlobalParams.cc ---- xpdf-4.02/xpdf/GlobalParams.cc.urw-font-fix 2019-09-25 15:54:33.000000000 -0400 -+++ xpdf-4.02/xpdf/GlobalParams.cc 2019-10-16 15:06:10.242258369 -0400 -@@ -84,20 +84,20 @@ static struct { - const char *obliqueFont; // name of font to oblique - double obliqueFactor; // oblique sheer factor - } displayFontTab[] = { -- {"Courier", "n022003l.pfb", "cour.ttf", "Courier", "Courier", NULL, 0}, -- {"Courier-Bold", "n022004l.pfb", "courbd.ttf", "Courier", "Courier Bold", NULL, 0}, -- {"Courier-BoldOblique", "n022024l.pfb", "courbi.ttf", "Courier", "Courier Bold Oblique", "Courier-Bold", 0.212557}, -- {"Courier-Oblique", "n022023l.pfb", "couri.ttf", "Courier", "Courier Oblique", "Courier", 0.212557}, -- {"Helvetica", "n019003l.pfb", "arial.ttf", "Helvetica", "Helvetica", NULL, 0}, -- {"Helvetica-Bold", "n019004l.pfb", "arialbd.ttf", "Helvetica", "Helvetica Bold", NULL, 0}, -- {"Helvetica-BoldOblique", "n019024l.pfb", "arialbi.ttf", "Helvetica", "Helvetica Bold Oblique", "Helvetica-Bold", 0.212557}, -- {"Helvetica-Oblique", "n019023l.pfb", "ariali.ttf", "Helvetica", "Helvetica Oblique", "Helvetica", 0.212557}, -- {"Symbol", "s050000l.pfb", NULL, "Symbol", "Symbol", NULL, 0}, -- {"Times-Bold", "n021004l.pfb", "timesbd.ttf", "Times", "Times Bold", NULL, 0}, -- {"Times-BoldItalic", "n021024l.pfb", "timesbi.ttf", "Times", "Times Bold Italic", NULL, 0}, -- {"Times-Italic", "n021023l.pfb", "timesi.ttf", "Times", "Times Italic", NULL, 0}, -- {"Times-Roman", "n021003l.pfb", "times.ttf", "Times", "Times Roman", NULL, 0}, -- {"ZapfDingbats", "d050000l.pfb", NULL, "ZapfDingbats", "Zapf Dingbats", NULL, 0}, -+ {"Courier", "NimbusMonoPS-Regular.t1", "cour.ttf", "Courier", "Courier", NULL, 0}, -+ {"Courier-Bold", "NimbusMonoPS-Bold.t1", "courbd.ttf", "Courier", "Courier Bold", NULL, 0}, -+ {"Courier-BoldOblique", "NimbusMonoPS-BoldItalic.t1", "courbi.ttf", "Courier", "Courier Bold Oblique", "Courier-Bold", 0.212557}, -+ {"Courier-Oblique", "NimbusMonoPS-Italic.t1", "couri.ttf", "Courier", "Courier Oblique", "Courier", 0.212557}, -+ {"Helvetica", "NimbusSans-Regular.t1", "arial.ttf", "Helvetica", "Helvetica", NULL, 0}, -+ {"Helvetica-Bold", "NimbusSans-Bold.t1", "arialbd.ttf", "Helvetica", "Helvetica-Bold", NULL, 0}, -+ {"Helvetica-BoldOblique", "NimbusSans-BoldItalic.t1", "arialbi.ttf", "Helvetica", "Helvetica Bold Oblique", "Helvetica-Bold", 0.212557}, -+ {"Helvetica-Oblique", "NimbusSans-Italic.t1", "ariali.ttf", "Helvetica", "Helvetica Oblique", "Helvetica", 0.212557}, -+ {"Symbol", "StandardSymbolsPS.t1", NULL, "Symbol", "Symbol", NULL, 0}, -+ {"Times-Bold", "NimbusRoman-Bold.t1", "timesbd.ttf", "Times", "Times-Bold", NULL, 0}, -+ {"Times-BoldItalic", "NimbusRoman-BoldItalic.t1", "timesbi.ttf", "Times", "Times-BoldItalic", NULL, 0}, -+ {"Times-Italic", "NimbusRoman-Italic.t1", "timesi.ttf", "Times", "Times-Italic", NULL, 0}, -+ {"Times-Roman", "NimbusRoman-Regular.t1", "times.ttf", "Times", "Times-Roman", NULL, 0}, -+ {"ZapfDingbats", "D050000L.t1", NULL, "ZapfDingbats", "Zapf Dingbats", NULL, 0}, - {NULL} - }; - -@@ -109,6 +109,7 @@ static const char *displayFontDirs[] = { - }; - #else - static const char *displayFontDirs[] = { -+ "/usr/share/fonts/urw-base35", - "/usr/share/ghostscript/fonts", - "/usr/local/share/ghostscript/fonts", - "/usr/share/fonts/default/Type1", -@@ -2380,7 +2381,7 @@ UnicodeRemapping *GlobalParams::getUnico - } - - GString *GlobalParams::findFontFile(GString *fontName) { -- static const char *exts[] = { ".pfa", ".pfb", ".ttf", ".ttc", ".otf" }; -+ static const char *exts[] = { ".pfa", ".pfb", ".t1", ".ttf", ".ttc", ".otf" }; - GString *path, *dir; - #ifdef _WIN32 - GString *fontNameU; diff --git a/xpdf-4.04-GlobalParams-null-fix.patch b/xpdf-4.04-GlobalParams-null-fix.patch new file mode 100644 index 0000000..eaa073c --- /dev/null +++ b/xpdf-4.04-GlobalParams-null-fix.patch @@ -0,0 +1,12 @@ +diff -up xpdf-4.04/xpdf/GlobalParams.h.null-fix xpdf-4.04/xpdf/GlobalParams.h +--- xpdf-4.04/xpdf/GlobalParams.h.null-fix 2023-01-30 14:10:42.286805370 -0500 ++++ xpdf-4.04/xpdf/GlobalParams.h 2023-01-30 14:10:50.383895185 -0500 +@@ -237,7 +237,7 @@ public: + + // Initialize the global parameters by attempting to read a config + // file. +- GlobalParams(const char *cfgFileName); ++ GlobalParams(const char *cfgFileName = NULL); + + ~GlobalParams(); + diff --git a/xpdf-4.04-shared-xpdf-lib.patch b/xpdf-4.04-shared-xpdf-lib.patch new file mode 100644 index 0000000..b4a7544 --- /dev/null +++ b/xpdf-4.04-shared-xpdf-lib.patch @@ -0,0 +1,17 @@ +diff -up xpdf-4.04/xpdf/CMakeLists.txt.shared-xpdf-lib xpdf-4.04/xpdf/CMakeLists.txt +--- xpdf-4.04/xpdf/CMakeLists.txt.shared-xpdf-lib 2023-01-30 14:30:07.185779720 -0500 ++++ xpdf-4.04/xpdf/CMakeLists.txt 2023-01-30 14:31:41.942842314 -0500 +@@ -78,6 +78,13 @@ add_library(xpdf_objs OBJECT + set_property(TARGET xpdf_objs + PROPERTY POSITION_INDEPENDENT_CODE True) + ++add_library(xpdfcore ++ $ ++) ++ ++set_target_properties(xpdfcore PROPERTIES VERSION 4 SOVERSION 4) ++ ++ + #--- object files needed by XpdfWidget + + if ((QT4_FOUND OR Qt5Widgets_FOUND OR Qt6Widgets_FOUND) diff --git a/xpdf-4.05-CVE-2024-4141.patch b/xpdf-4.05-CVE-2024-4141.patch new file mode 100644 index 0000000..906444b --- /dev/null +++ b/xpdf-4.05-CVE-2024-4141.patch @@ -0,0 +1,22 @@ +diff -up xpdf-4.05/fofi/FoFiType1.cc.CVE-2024-4141 xpdf-4.05/fofi/FoFiType1.cc +--- xpdf-4.05/fofi/FoFiType1.cc.CVE-2024-4141 2024-05-29 10:19:51.918225689 -0400 ++++ xpdf-4.05/fofi/FoFiType1.cc 2024-05-29 10:20:53.406160594 -0400 +@@ -193,7 +193,8 @@ void FoFiType1::parse() { + char *line, *line1, *p, *p2; + char buf[256]; + char c; +- int n, code, base, i, j; ++ unsigned int code; ++ int n, base, i, j; + GBool gotMatrix, startsWithDup, endsWithDup; + + gotMatrix = gFalse; +@@ -262,7 +263,7 @@ void FoFiType1::parse() { + } + ++p; + for (p2 = p; *p2 && *p2 != ' ' && *p2 != '\t'; ++p2) ; +- if (code >= 0 && code < 256) { ++ if (code < 256) { + c = *p2; + *p2 = '\0'; + gfree(encoding[code]); diff --git a/xpdf-4.02-permissions.patch b/xpdf-4.06-permissions.patch similarity index 54% rename from xpdf-4.02-permissions.patch rename to xpdf-4.06-permissions.patch index 83d1785..0192028 100644 --- a/xpdf-4.02-permissions.patch +++ b/xpdf-4.06-permissions.patch @@ -1,6 +1,6 @@ -diff -up xpdf-4.02/xpdf/pdfimages.cc.permissions xpdf-4.02/xpdf/pdfimages.cc ---- xpdf-4.02/xpdf/pdfimages.cc.permissions 2019-09-25 15:54:33.000000000 -0400 -+++ xpdf-4.02/xpdf/pdfimages.cc 2019-10-16 15:06:54.798431961 -0400 +diff -up xpdf-4.06/xpdf/pdfimages.cc.permissions xpdf-4.06/xpdf/pdfimages.cc +--- xpdf-4.06/xpdf/pdfimages.cc.permissions 2025-11-13 17:08:30.000000000 -0500 ++++ xpdf-4.06/xpdf/pdfimages.cc 2025-11-18 15:27:00.093784988 -0500 @@ -4,6 +4,8 @@ // // Copyright 1998-2003 Glyph & Cog, LLC @@ -10,12 +10,12 @@ diff -up xpdf-4.02/xpdf/pdfimages.cc.permissions xpdf-4.02/xpdf/pdfimages.cc //======================================================================== #include -@@ -127,12 +129,14 @@ int main(int argc, char *argv[]) { +@@ -153,12 +155,14 @@ int main(int argc, char *argv[]) { } // check for copy permission +#ifdef ENFORCE_PERMISSIONS - if (!doc->okToCopy()) { + if (!listOnly && !doc->okToCopy()) { error(errNotAllowed, -1, "Copying of images from this document is not allowed."); exitCode = 3; @@ -25,10 +25,10 @@ diff -up xpdf-4.02/xpdf/pdfimages.cc.permissions xpdf-4.02/xpdf/pdfimages.cc // get page range if (firstPage < 1) -diff -up xpdf-4.02/xpdf/pdftohtml.cc.permissions xpdf-4.02/xpdf/pdftohtml.cc ---- xpdf-4.02/xpdf/pdftohtml.cc.permissions 2019-09-25 15:54:33.000000000 -0400 -+++ xpdf-4.02/xpdf/pdftohtml.cc 2019-10-16 15:06:54.799431943 -0400 -@@ -138,6 +138,7 @@ int main(int argc, char *argv[]) { +diff -up xpdf-4.06/xpdf/pdftohtml.cc.permissions xpdf-4.06/xpdf/pdftohtml.cc +--- xpdf-4.06/xpdf/pdftohtml.cc.permissions 2025-11-13 17:08:30.000000000 -0500 ++++ xpdf-4.06/xpdf/pdftohtml.cc 2025-11-18 15:25:43.149122766 -0500 +@@ -183,6 +183,7 @@ int main(int argc, char *argv[]) { goto err1; } @@ -36,7 +36,7 @@ diff -up xpdf-4.02/xpdf/pdftohtml.cc.permissions xpdf-4.02/xpdf/pdftohtml.cc // check for copy permission if (!doc->okToCopy()) { error(errNotAllowed, -1, -@@ -145,6 +146,7 @@ int main(int argc, char *argv[]) { +@@ -190,6 +191,7 @@ int main(int argc, char *argv[]) { exitCode = 3; goto err1; } @@ -44,9 +44,9 @@ diff -up xpdf-4.02/xpdf/pdftohtml.cc.permissions xpdf-4.02/xpdf/pdftohtml.cc // get page range if (firstPage < 1) { -diff -up xpdf-4.02/xpdf/pdftops.cc.permissions xpdf-4.02/xpdf/pdftops.cc ---- xpdf-4.02/xpdf/pdftops.cc.permissions 2019-09-25 15:54:33.000000000 -0400 -+++ xpdf-4.02/xpdf/pdftops.cc 2019-10-16 15:06:54.799431943 -0400 +diff -up xpdf-4.06/xpdf/pdftops.cc.permissions xpdf-4.06/xpdf/pdftops.cc +--- xpdf-4.06/xpdf/pdftops.cc.permissions 2025-11-13 17:08:30.000000000 -0500 ++++ xpdf-4.06/xpdf/pdftops.cc 2025-11-18 15:25:43.149260566 -0500 @@ -4,6 +4,8 @@ // // Copyright 1996-2003 Glyph & Cog, LLC @@ -56,7 +56,7 @@ diff -up xpdf-4.02/xpdf/pdftops.cc.permissions xpdf-4.02/xpdf/pdftops.cc //======================================================================== #include -@@ -318,12 +320,14 @@ int main(int argc, char *argv[]) { +@@ -337,12 +339,14 @@ int main(int argc, char *argv[]) { goto err1; } @@ -71,9 +71,9 @@ diff -up xpdf-4.02/xpdf/pdftops.cc.permissions xpdf-4.02/xpdf/pdftops.cc // construct PostScript file name if (argc == 3) { -diff -up xpdf-4.02/xpdf/pdftotext.cc.permissions xpdf-4.02/xpdf/pdftotext.cc ---- xpdf-4.02/xpdf/pdftotext.cc.permissions 2019-09-25 15:54:33.000000000 -0400 -+++ xpdf-4.02/xpdf/pdftotext.cc 2019-10-16 15:06:54.799431943 -0400 +diff -up xpdf-4.06/xpdf/pdftotext.cc.permissions xpdf-4.06/xpdf/pdftotext.cc +--- xpdf-4.06/xpdf/pdftotext.cc.permissions 2025-11-13 17:08:30.000000000 -0500 ++++ xpdf-4.06/xpdf/pdftotext.cc 2025-11-18 15:25:43.149380451 -0500 @@ -4,6 +4,8 @@ // // Copyright 1997-2013 Glyph & Cog, LLC @@ -83,7 +83,7 @@ diff -up xpdf-4.02/xpdf/pdftotext.cc.permissions xpdf-4.02/xpdf/pdftotext.cc //======================================================================== #include -@@ -209,6 +211,7 @@ int main(int argc, char *argv[]) { +@@ -248,6 +250,7 @@ int main(int argc, char *argv[]) { goto err2; } @@ -91,7 +91,7 @@ diff -up xpdf-4.02/xpdf/pdftotext.cc.permissions xpdf-4.02/xpdf/pdftotext.cc // check for copy permission if (!doc->okToCopy()) { error(errNotAllowed, -1, -@@ -216,6 +219,7 @@ int main(int argc, char *argv[]) { +@@ -255,6 +258,7 @@ int main(int argc, char *argv[]) { exitCode = 3; goto err2; } @@ -99,10 +99,10 @@ diff -up xpdf-4.02/xpdf/pdftotext.cc.permissions xpdf-4.02/xpdf/pdftotext.cc // construct text file name if (argc == 3) { -diff -up xpdf-4.02/xpdf-qt/QtPDFCore.cc.permissions xpdf-4.02/xpdf-qt/QtPDFCore.cc ---- xpdf-4.02/xpdf-qt/QtPDFCore.cc.permissions 2019-10-16 15:06:54.799431943 -0400 -+++ xpdf-4.02/xpdf-qt/QtPDFCore.cc 2019-10-16 15:07:52.110361895 -0400 -@@ -446,9 +446,11 @@ QString QtPDFCore::getSelectedTextQStrin +diff -up xpdf-4.06/xpdf-qt/QtPDFCore.cc.permissions xpdf-4.06/xpdf-qt/QtPDFCore.cc +--- xpdf-4.06/xpdf-qt/QtPDFCore.cc.permissions 2025-11-13 17:08:30.000000000 -0500 ++++ xpdf-4.06/xpdf-qt/QtPDFCore.cc 2025-11-18 15:25:43.149536859 -0500 +@@ -494,9 +494,11 @@ QString QtPDFCore::getSelectedTextQStrin QString qs; int i; @@ -114,10 +114,10 @@ diff -up xpdf-4.02/xpdf-qt/QtPDFCore.cc.permissions xpdf-4.02/xpdf-qt/QtPDFCore. if (!(s = getSelectedText())) { return ""; } -diff -up xpdf-4.02/xpdf-qt/XpdfWidget.cc.permissions xpdf-4.02/xpdf-qt/XpdfWidget.cc ---- xpdf-4.02/xpdf-qt/XpdfWidget.cc.permissions 2019-09-25 15:54:33.000000000 -0400 -+++ xpdf-4.02/xpdf-qt/XpdfWidget.cc 2019-10-16 15:06:54.800431924 -0400 -@@ -1440,7 +1440,11 @@ bool XpdfWidget::okToExtractText() const +diff -up xpdf-4.06/xpdf-qt/XpdfWidget.cc.permissions xpdf-4.06/xpdf-qt/XpdfWidget.cc +--- xpdf-4.06/xpdf-qt/XpdfWidget.cc.permissions 2025-11-13 17:08:30.000000000 -0500 ++++ xpdf-4.06/xpdf-qt/XpdfWidget.cc 2025-11-18 15:25:43.149737940 -0500 +@@ -1526,7 +1526,11 @@ bool XpdfWidget::okToExtractText() const if (!core->getDoc()) { return false; } diff --git a/xpdf-4.06-urw-base35-fonts.patch b/xpdf-4.06-urw-base35-fonts.patch new file mode 100644 index 0000000..0fdc470 --- /dev/null +++ b/xpdf-4.06-urw-base35-fonts.patch @@ -0,0 +1,133 @@ +diff -up xpdf-4.06/xpdf/GlobalParams.cc.urw-font-fix xpdf-4.06/xpdf/GlobalParams.cc +--- xpdf-4.06/xpdf/GlobalParams.cc.urw-font-fix 2025-11-13 17:08:30.000000000 -0500 ++++ xpdf-4.06/xpdf/GlobalParams.cc 2025-11-18 15:23:11.114577091 -0500 +@@ -84,98 +84,98 @@ static struct { + double obliqueFactor; // oblique sheer factor + } displayFontTab[] = { + {"Courier", // name +- "n022003l.pfb", // t1FileName ++ "NimbusMonoPS-Regular.t1", // t1FileName + "cour.ttf", // ttFileName + "Courier", "Courier", // macFileName, macFontName + "NimbusMonoPS-Regular", // fcFontName + NULL, 0 // obliqueFont, obliqueFactor + }, + {"Courier-Bold", // name +- "n022004l.pfb", // t1FileName ++ "NimbusMonoPS-Bold.t1", // t1FileName + "courbd.ttf", // ttFileName + "Courier", "Courier Bold", // macFileName, macFontName + "NimbusMonoPS-Bold", // fcFontName + NULL, 0 // obliqueFont, obliqueFactor + }, + {"Courier-BoldOblique", // name +- "n022024l.pfb", // t1FileName ++ "NimbusMonoPS-BoldItalic.t1", // t1FileName + "courbi.ttf", // ttFileName + "Courier", "Courier Bold Oblique", // macFileName, macFontName + "NimbusMonoPS-BoldItalic", // fcFontName + "Courier-Bold", 0.212557 // obliqueFont, obliqueFactor + }, + {"Courier-Oblique", // name +- "n022023l.pfb", // t1FileName ++ "NimbusMonoPS-Italic.t1", // t1FileName + "couri.ttf", // ttFileName + "Courier", "Courier Oblique", // macFileName, macFontName + "NimbusMonoPS-Italic", // fcFontName + "Courier", 0.212557 // obliqueFont, obliqueFactor + }, + {"Helvetica", // name +- "n019003l.pfb", // t1FileName ++ "NimbusSans-Regular.t1", // t1FileName + "arial.ttf", // ttFileName + "Helvetica", "Helvetica", // macFileName, macFontName + "NimbusSans-Regular", // fcFontName + NULL, 0 // obliqueFont, obliqueFactor + }, + {"Helvetica-Bold", // name +- "n019004l.pfb", // t1FileName ++ "NimbusSans-Bold.t1", // t1FileName + "arialbd.ttf", // ttFileName + "Helvetica", "Helvetica Bold", // macFileName, macFontName + "NimbusSans-Bold", // fcFontName + NULL, 0 // obliqueFont, obliqueFactor + }, + {"Helvetica-BoldOblique", // name +- "n019024l.pfb", // t1FileName ++ "NimbusSans-BoldItalic.t1", // t1FileName + "arialbi.ttf", // ttFileName + "Helvetica", "Helvetica Bold Oblique", // macFileName, macFontName + "NimbusSans-BoldItalic", // fcFontName + "Helvetica-Bold", 0.212557 // obliqueFont, obliqueFactor + }, + {"Helvetica-Oblique", // name +- "n019023l.pfb", // t1FileName ++ "NimbusSans-Italic.t1", // t1FileName + "ariali.ttf", // ttFileName + "Helvetica", "Helvetica Oblique", // macFileName, macFontName + "NimbusSans-Italic", // fcFontName + "Helvetica", 0.212557 // obliqueFont, obliqueFactor + }, + {"Symbol", // name +- "s050000l.pfb", // t1FileName ++ "StandardSymbolsPS.t1", // t1FileName + NULL, // ttFileName + "Symbol", "Symbol", // macFileName, macFontName + "Standard Symbols PS", // fcFontName + NULL, 0 // obliqueFont, obliqueFactor + }, + {"Times-Bold", // name +- "n021004l.pfb", // t1FileName ++ "NimbusRoman-Bold.t1", // t1FileName + "timesbd.ttf", // ttFileName + "Times", "Times Bold", // macFileName, macFontName + "NimbusRoman-Bold", // fcFontName + NULL, 0 // obliqueFont, obliqueFactor + }, + {"Times-BoldItalic", // name +- "n021024l.pfb", // t1FileName ++ "NimbusRoman-BoldItalic.t1", // t1FileName + "timesbi.ttf", // ttFileName + "Times", "Times Bold Italic", // macFileName, macFontName + "NimbusRoman-BoldItalic", // fcFontName + NULL, 0 // obliqueFont, obliqueFactor + }, + {"Times-Italic", // name +- "n021023l.pfb", // t1FileName ++ "NimbusRoman-Italic.t1", // t1FileName + "timesi.ttf", // ttFileName + "Times", "Times Italic", // macFileName, macFontName + "NimbusRoman-Italic", // fcFontName + NULL, 0 // obliqueFont, obliqueFactor + }, + {"Times-Roman", // name +- "n021003l.pfb", // t1FileName ++ "NimbusRoman-Regular.t1", // t1FileName + "times.ttf", // ttFileName + "Times", "Times Roman", // macFileName, macFontName + "NimbusRoman-Regular", // fcFontName + NULL, 0 // obliqueFont, obliqueFactor + }, + {"ZapfDingbats", // name +- "d050000l.pfb", // t1FileName ++ "D050000L.t1", // t1FileName + NULL, // ttFileName + "ZapfDingbats", "Zapf Dingbats", // macFileName, macFontName + "D050000L", // fcFontName +@@ -192,6 +192,7 @@ static const char *displayFontDirs[] = { + "c:/windows/fonts", + "c:/winnt/fonts", + #else // _WIN32 ++ "/usr/share/fonts/urw-base35", + "/usr/share/ghostscript/fonts", + "/usr/local/share/ghostscript/fonts", + "/usr/share/fonts/default/Type1", +@@ -2788,7 +2789,7 @@ UnicodeRemapping *GlobalParams::getUnico + } + + GString *GlobalParams::findFontFile(GString *fontName) { +- static const char *exts[] = { ".pfa", ".pfb", ".ttf", ".ttc", ".otf" }; ++ static const char *exts[] = { ".pfa", ".pfb", ".t1", ".ttf", ".ttc", ".otf" }; + GString *path, *dir; + #ifdef _WIN32 + GString *fontNameU; diff --git a/xpdf.spec b/xpdf.spec index 59b321b..9c5c715 100644 --- a/xpdf.spec +++ b/xpdf.spec @@ -2,20 +2,23 @@ Summary: A PDF file viewer for the X Window System Name: xpdf -Version: 4.04 -Release: 1%{?dist} -License: (GPLv2 or GPLv3) and BSD +Version: 4.06 +Release: 3%{?dist} +License: (GPL-2.0-only OR GPL-3.0-only) AND BSD-3-Clause Epoch: 1 -Url: http://www.xpdfreader.com/ +Url: https://www.xpdfreader.com/ -Source0: http://www.xpdfreader.com/dl/%{name}-%{version}.tar.gz +Source0: https://dl.xpdfreader.com/%{name}-%{version}.tar.gz +Source1: https://dl.xpdfreader.com/%{name}-%{version}.tar.gz.sig +Source2: https://www.xpdfreader.com/gpg-key.txt +%if 0%{?fedora} # We have to pull the following CMap files out due to non-free license. # CMap/Adobe-GB1-UCS2 # CMap/GBK-EUC-UCS2 # CMap/GBpc-EUC-UCS2 # CMap/GBpc-EUC-UCS2C # Source3: http://www.xpdfreader.com/dl/xpdf-chinese-simplified.tar.gz -Source3: xpdf-chinese-simplified-2020-dec-22-NOCMAP.tar.gz +Source3: xpdf-chinese-simplified-2023-dec-05-NOCMAP.tar.gz # CMap/Adobe-CNS1-UCS2 # CMap/B5pc-UCS2 # CMap/B5pc-UCS2C @@ -33,10 +36,11 @@ Source5: xpdf-japanese-2020-dec-22-NOCMAP.tar.gz # CMap/KSCpc-EUC-UCS2 # CMap/KSCpc-EUC-UCS2C # Source6: http://www.xpdfreader.com/dl/xpdf-korean.tar.gz -Source6: xpdf-korean-2020-dec-22-NOCMAP.tar.gz +Source6: xpdf-korean-2023-dec-05-NOCMAP.tar.gz # cyrillic and thai don't have CMap files to worry about. Source7: ftp://ftp.foolabs.com/pub/xpdf/xpdf-cyrillic-2011-aug-15.tar.gz -Source8: ftp://ftp.foolabs.com/pub/xpdf/xpdf-thai-2011-aug-15.tar.gz +# thai: 2025-08-13 +Source8: https://dl.xpdfreader.com/xpdf-thai.tar.gz Source10: xpdf.desktop Source11: xpdf.png Source12: ftp://ftp.foolabs.com/pub/xpdf/xpdf-arabic-2011-aug-15.tar.gz @@ -44,6 +48,7 @@ Source13: ftp://ftp.foolabs.com/pub/xpdf/xpdf-greek-2011-aug-15.tar.gz Source14: ftp://ftp.foolabs.com/pub/xpdf/xpdf-hebrew-2011-aug-15.tar.gz Source15: ftp://ftp.foolabs.com/pub/xpdf/xpdf-latin2-2011-aug-15.tar.gz Source16: ftp://ftp.foolabs.com/pub/xpdf/xpdf-turkish-2011-aug-15.tar.gz +%endif Patch3: xpdf-4.01-ext.patch Patch9: xpdf-3.00-papersize.patch @@ -51,16 +56,21 @@ Patch11: xpdf-4.01-crash.patch Patch12: xpdf-4.01-64bit.patch Patch15: xpdf-3.04-nocmap.patch Patch25: xpdf-4.00-versionedlib.patch -Patch26: xpdf-4.02-urw-base35-fonts.patch +Patch26: xpdf-4.06-urw-base35-fonts.patch +Patch28: xpdf-4.04-GlobalParams-null-fix.patch +# https://forum.xpdfreader.com/viewtopic.php?t=42521 +Patch29: xpdf-4.04-shared-xpdf-lib.patch # Security patches # Based on # https://gitlab.freedesktop.org/poppler/poppler/commit/cdb7ad95f7c8fbf63ade040d8a07ec96467042fc # https://gitlab.freedesktop.org/poppler/poppler/commit/bf4aae25a244b1033a2479b9a8f633224f7d5de5 Patch101: xpdf-4.02-CVE-2019-12360.patch +# merged in 4.06 +# Patch102: xpdf-4.05-CVE-2024-4141.patch # Debian patches -Patch200: xpdf-4.02-permissions.patch +Patch200: xpdf-4.06-permissions.patch # Proper stream encoding on 64bit platforms Patch203: fix-444648.dpatch @@ -71,13 +81,24 @@ Requires: xorg-x11-fonts-ISO8859-1-75dpi Requires: xorg-x11-fonts-ISO8859-1-100dpi Requires: qt5-qtsvg +%if 0%{?fedora} BuildRequires: qt5-qtbase-devel, cmake BuildRequires: freetype-devel >= 2.1.7 +BuildRequires: fontconfig-devel BuildRequires: desktop-file-utils BuildRequires: libpaper-devel BuildRequires: libpng-devel BuildRequires: libXpm-devel BuildRequires: cups-devel +%else +BuildRequires: gcc-c++ +BuildRequires: cmake +BuildRequires: freetype-devel >= 2.1.7 +BuildRequires: fontconfig-devel +BuildRequires: libpng-devel +%endif +# for %%gpgverify +BuildRequires: gnupg2 Provides: %{name}-chinese-simplified = %{version}-%{release} Obsoletes: %{name}-chinese-simplified @@ -88,6 +109,7 @@ Obsoletes: %{name}-korean Provides: %{name}-japanese = %{version}-%{release} Obsoletes: %{name}-japanese +Requires: %{name}-libs%{_isa} = %{epoch}:%{version}-%{release} %description Xpdf is an X Window System based viewer for Portable Document Format @@ -95,27 +117,46 @@ Xpdf is an X Window System based viewer for Portable Document Format standard X fonts. %package devel +%if 0%{?fedora} Requires: %{name}%{_isa} = %{epoch}:%{version}-%{release} +Requires: libpaper-devel +%endif +Requires: fontconfig-devel, freetype-devel +Requires: libpng-devel Summary: Development files for xpdf libraries %description devel Development files for xpdf libraries. +%package libs +Summary: Libraries from xpdf + +%description libs +Libraries from xpdf. + %prep +%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' +%if 0%{?fedora} %setup -q -a 3 -a 4 -a 5 -a 6 -a 7 -a 8 -a 12 -a 13 -a 14 -a 15 -a 16 -%patch3 -p1 -b .ext -%patch9 -p1 -b .papersize -%patch11 -p1 -b .crash -%patch12 -p1 -b .alloc -%patch25 -p1 -b .versionedlib -%patch26 -p1 -b .urw-font-fix +%else +%setup -q +%endif +%patch -P3 -p1 -b .ext +%patch -P9 -p1 -b .papersize +%patch -P11 -p1 -b .crash +%patch -P12 -p1 -b .alloc +%patch -P25 -p1 -b .versionedlib +%patch -P26 -p1 -b .urw-font-fix +%patch -P28 -p1 -b .GlobalParams-null-fix +%patch -P29 -p1 -b .shared-xpdf-lib # security patches -%patch101 -p1 -b .CVE-2019-12360 +%patch -P101 -p1 -b .CVE-2019-12360 +# %%patch -P102 -p1 -b .CVE-2024-4141 # debian patches -%patch200 -p1 -b .permissions -%patch203 -p1 -b .64bit-stream +%patch -P200 -p1 -b .permissions +%patch -P203 -p1 -b .64bit-stream # Comment out unused urlCommand option sed -i 's|urlCommand|#urlCommand|g' doc/sample-xpdfrc @@ -123,6 +164,7 @@ sed -i 's|urlCommand|#urlCommand|g' doc/sample-xpdfrc %build find -name "*orig" | xargs rm -f +%if 0%{?fedora} # This may seem pointless, but in the unlikely event that _sysconfdir != /etc ... for file in doc/*.1 doc/*.5 xpdf-*/README; do sed -i -e 's:/etc/xpdfrc:%{_sysconfdir}/xpdfrc:g' $file @@ -132,15 +174,19 @@ for file in xpdf-*/README xpdf-*/add-to-xpdfrc; do sed -i -e 's:/usr/share/:%{_datadir}/:g' $file sed -i -e 's:/usr/local/share/:%{_datadir}/:g' $file done +%endif export CFLAGS="%{optflags} -fPIC" export CXXFLAGS="%{optflags} -Wno-deprecated -fPIC" -%cmake -DMULTITHREADED=ON -DOPI_SUPPORT=ON -DXPDFWIDGET_PRINTING=1 -DSYSTEM_XPDFRC="%{_sysconfdir}/xpdfrc" +%cmake -DMULTITHREADED=ON -DOPI_SUPPORT=ON -DXPDFWIDGET_PRINTING=1 -DSYSTEM_XPDFRC="%{_sysconfdir}/xpdfrc" -DCMAKE_POLICY_VERSION_MINIMUM=3.5 %cmake_build +%if 0%{?fedora} %cmake_build --target xpdf +%endif %install +%if 0%{?fedora} mkdir -p $RPM_BUILD_ROOT%{_datadir}/xpdf/arabic \ $RPM_BUILD_ROOT%{_datadir}/xpdf/chinese-simplified \ $RPM_BUILD_ROOT%{_datadir}/xpdf/chinese-traditional \ @@ -155,12 +201,14 @@ mkdir -p $RPM_BUILD_ROOT%{_datadir}/xpdf/arabic \ $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/48x48/apps %cmake_install +%endif # Y U NO INSTALL LIBS?!? mkdir -p $RPM_BUILD_ROOT%{_libdir} cp -a %{_vpath_builddir}/fofi/libfofi.so* $RPM_BUILD_ROOT%{_libdir} cp -a %{_vpath_builddir}/goo/libgoo.so* $RPM_BUILD_ROOT%{_libdir} cp -a %{_vpath_builddir}/splash/libsplash.so* $RPM_BUILD_ROOT%{_libdir} +cp -a %{_vpath_builddir}/xpdf/libxpdfcore.so* $RPM_BUILD_ROOT%{_libdir} # headers mkdir -p $RPM_BUILD_ROOT%{_includedir}/xpdf/fofi @@ -169,7 +217,10 @@ mkdir -p $RPM_BUILD_ROOT%{_includedir}/xpdf/splash cp -a fofi/*.h $RPM_BUILD_ROOT%{_includedir}/xpdf/fofi/ cp -a goo/*.h $RPM_BUILD_ROOT%{_includedir}/xpdf/goo/ cp -a splash/*.h $RPM_BUILD_ROOT%{_includedir}/xpdf/splash/ +cp -a xpdf/*.h $RPM_BUILD_ROOT%{_includedir}/xpdf/ +cp -a %{__cmake_builddir}/aconf.h $RPM_BUILD_ROOT%{_includedir}/xpdf/ +%if 0%{?fedora} mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications/ %if 0%{?rhel} > 5 || 0%{?fedora} desktop-file-install \ @@ -229,9 +280,11 @@ done mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/ cp -a doc/sample-xpdfrc $RPM_BUILD_ROOT%{_sysconfdir}/xpdfrc sed -i -e 's:/usr/local/share/:%{_datadir}/:g' $RPM_BUILD_ROOT%{_sysconfdir}/xpdfrc +%endif %ldconfig_scriptlets +%if 0%{?fedora} %files %license COPYING COPYING3 %doc CHANGES README README.* @@ -280,12 +333,81 @@ sed -i -e 's:/usr/local/share/:%{_datadir}/:g' $RPM_BUILD_ROOT%{_sysconfdir}/xpd %lang(tr) %{_datadir}/xpdf/turkish %{_datadir}/xpdf/cyrillic %{_datadir}/xpdf/latin2 +%endif %files devel %{_includedir}/xpdf/ %{_libdir}/lib*.so +%files libs +%{_libdir}/lib*.so.* + %changelog +* Fri Jul 17 2026 Fedora Release Engineering - 1:4.06-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild + +* Sat Jan 17 2026 Fedora Release Engineering - 1:4.06-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Tue Nov 18 2025 Tom Callaway - 1:4.06-1 +- update to 4.06 + +* Thu Jul 31 2025 Tom Callaway - 1:4.05-8 +- passing -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to fix FTBFS with CMake4 (bz2381643) + +* Fri Jul 25 2025 Fedora Release Engineering - 1:4.05-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Sun Jan 19 2025 Fedora Release Engineering - 1:4.05-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Sat Jul 20 2024 Fedora Release Engineering - 1:4.05-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Wed May 29 2024 Tom Callaway - 4.05-4 +- apply fix for CVE-2024-4141, thanks to Petr Gajdos and Derek Noonburg + +* Fri Apr 5 2024 Peter Lemenkov - 4.05-3 +- Verify GPG signature + +* Thu Feb 29 2024 Tom Callaway - 4.05-2 +- update langpacks + +* Tue Feb 27 2024 Than Ngo - 4.05-1 +- fixed bz#2263444, update to 4.05 + +* Sat Jan 27 2024 Fedora Release Engineering - 1:4.04-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Jul 22 2023 Fedora Release Engineering - 1:4.04-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Fri Jun 16 2023 Than Ngo - 1:4.04-9 +- added ELN/RHEL conditions + +* Fri Apr 28 2023 Tom Callaway 1:4.04-8 +- move libs to -libs subpackage to minimize dep footprint of texlive-pdftex (bz2188328) + +* Tue Feb 21 2023 Than Ngo - 4.04-7 +- migrated to SPDX license + +* Thu Feb 16 2023 Tom Callaway - 1:4.04-6 +- drop now unnecessary libpaper2 patch + +* Mon Jan 30 2023 Tom Callaway - 1:4.04-5 +- pull in all the headers +- apply null fix for default var in GlobalParams() +- make a libxpdfcore for texlive-base to use + +* Sat Jan 21 2023 Fedora Release Engineering - 1:4.04-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sun Jan 8 2023 Tom Callaway - 1:4.04-3 +- fix build with libpaper2, rebuild for it + +* Sat Jul 23 2022 Fedora Release Engineering - 1:4.04-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + * Fri Apr 22 2022 Tom Callaway - 1:4.04-1 - update to 4.04