diff --git a/.gitignore b/.gitignore index 728419b..db903a5 100644 --- a/.gitignore +++ b/.gitignore @@ -5,42 +5,3 @@ xpdf-cyrillic-2003-jun-28.tar.gz xpdf-japanese-2004-jul-27-NOCMAP.tar.gz xpdf-korean-2005-jul-07-NOCMAP.tar.gz xpdf-thai-2002-jan-16.tar.gz -xpdf-arabic-2003-feb-16.tar.gz -xpdf-greek-2003-jun-28.tar.gz -xpdf-hebrew-2003-feb-16.tar.gz -xpdf-latin2-2002-oct-22.tar.gz -xpdf-turkish-2002-apr-10.tar.gz -xpdf-3.02-novms.tar.gz -/xpdf-3.03-novms.tar.gz -/xpdf-3.04.tar.gz -/xpdf-arabic-2011-aug-15.tar.gz -/xpdf-chinese-simplified-2011-sep-02-NOCMAP.tar.gz -/xpdf-chinese-traditional-2011-sep-02-NOCMAP.tar.gz -/xpdf-cyrillic-2011-aug-15.tar.gz -/xpdf-greek-2011-aug-15.tar.gz -/xpdf-hebrew-2011-aug-15.tar.gz -/xpdf-japanese-2011-sep-02-NOCMAP.tar.gz -/xpdf-korean-2011-sep-02-NOCMAP.tar.gz -/xpdf-latin2-2011-aug-15.tar.gz -/xpdf-thai-2011-aug-15.tar.gz -/xpdf-turkish-2011-aug-15.tar.gz -/xpdf-4.00.tar.gz -/xpdf-chinese-simplified-2017-jul-25-NOCMAP.tar.gz -/xpdf-chinese-traditional-2017-jul-25-NOCMAP.tar.gz -/xpdf-japanese-2017-jul-25-NOCMAP.tar.gz -/xpdf-korean-2017-jul-25-NOCMAP.tar.gz -/xpdf-4.01.tar.gz -/xpdf-4.02.tar.gz -/xpdf-chinese-simplified-2020-dec-22-NOCMAP.tar.gz -/xpdf-chinese-traditional-2020-dec-22-NOCMAP.tar.gz -/xpdf-japanese-2020-dec-22-NOCMAP.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 deleted file mode 100644 index 8c71bda..0000000 --- a/gpg-key.txt +++ /dev/null @@ -1,62 +0,0 @@ ------BEGIN PGP PUBLIC KEY BLOCK----- - -mQINBFhmydMBEACjLpJGlKBzA5WFopW+qYGpwPvWLH/Dd3sEdHffxMxEbas06I7Y -KE30JIlFfL4oZHaytDNSZraA7DpkoPQM0EOpFeK1sgxJUKH+CPeRxhdjAkH6SxU1 -dOLWL4CQPVRYWBcuxwW1asxHTJZtaeGnTmstNuhuzwjj4BlTRmA6MbSh/DBCN104 -6idBf+KCfm+SLYK2KxeYDEyYV/i6p1+TRs+PVmDXKyBanxiP3StZC+BCOLfXzg9S -+LFLFvbKRdq2Ofn5nLULmk7+1VT44eXLQgw0pgBJ5OlFCaL6S5ZUbtyDzGxK/ECL -4ozCwLDx93hrVtofPJpdqBfgAQpiGy0Rd9925EchkW7RTwkxSKa1YT8GI5fKatTj -BA1p5+YuQ+ml2UaPmHxpc/AizsRI9OBD7NmoxW2RNt7CBLhRb0JscDtXpm7jvTnO -bDPUOmH9klwKdkj+WACQaNrbD2BIN715JtTsRbgxpqQ3nHDug6xCVbZdvoln91+P -TCE8zJ3wLWXCXrXLVV0ZQhVUNGk/u3gLOxG8HmYCfwSZQhgxViwupTHkRU41BoLe -Iyja9GjuZw0CUPwABS7/jq0Td166ziFfzoBIxIsK1ikgW8kDhsfKXPOFo4qGAdjg -yURKBk70GXR/U7B97ZJ3StWTcm3Y0B5NiyRaxMIYs5weVg2PE0X9ch0y0QARAQAB -tBwtWHBkZi0gPHhwZGZAeHBkZnJlYWRlci5jb20+iQI3BBMBAgAhAhsDAh4BAheA -BQJYZstXBQsJCAcDBRUKCQgLBRYCAwEAAAoJEPSCX1OXJxNCLlUQAJqSTuBNgzsF -yvwccsbSbCXh79rr3xoYnlU4w7/sYEdAqUuXATUa9mxekecyauVWhpsm+LSUrquc -TCYZOtcy8lqdQhNZtfZa9K9CJLG5fAQrflDI0ABBUb3rGkv4wegVKDoD8Xj9vdPd -ThDsy7eV7tinfUAdoO9zguuGgQ7R1eYgMSwjIdK8lwcVwLorc3/RlrcV8fgnEW6m -pZDcnoH2ogbTZMN7CrCa8IE/ggKe8iOV2fVgnL+r0Bj3dSlP9ZXBpuw9u9tO6s0H -zI4NdbMoUzP5+H1FzeGJVt7NZJuGGmZz/FEVLWXwUElP1OGlAGNqsqXlChMEFDqo -+rXcKUJyQebr6vOtWcVyyITzEkshFET/JCi+aIID9vggDcL6RmFlA8JtAbPP90TI -tq94PXmFx+jQLrJ2vLhZGchlLn8wVZ/DeZP/y9rDZXUlhlllgLiN1CSD5iCMuL+T -qHftFFF+C7MPIHBMGRjjOwmJtAWR/wwe4mrkuyKt4gF6nKQBqOsVuNt2RWAA27Ac -CctX8ce8KuDfW4XJlr6BwIrzffa47nyBIZstGCptKMxGywvu+ufLgGz2kv78wO9X -bg2kgFIbI1C7YI1KUUuoACFjDGCVbdnzSUS7pWOebXNQ+cvqy82ExMvv/ieD6Rfg -jKZH7lj7cmA9YBqnUmXS/57GSQu94i18iQIcBBABCgAGBQJYZsySAAoJEBCYN7iF -KMl4kI8P/3d0YYUVrA5f7C3FEuW11sedr3o/DDv/QA8Aj68gb/efG0nCzi5cIuL0 -7MM7St0VI9UypGl0kExforcu80Zk0x95RCYRb46e2lTNIXpNL3CstXquatDrZ66X -bdOHOV5I/PQ8PJhAyy8pPdlShIz4dfcPT+JXoCX85gtdp/0vg84kaiuQNpbm3wjk -/BJNPJovUea7K5c0KLwrcXy1vyPdW4I3vQvK9JWxewbZ/nK5Fu45yhK1lMvIqO2x -fGSpYizVFLhuq85+qm2E4IMnlTC48ygWd3t5N+dYSU1XRjqFRzw4+dPgBqBomajW -0yXgUUDnYS7a715ZhDblwt8sC5HgRIjpr7Sj4zgCW+MjrnyZBM22zu5CmUAfdkBx -VH3igHF7IWDpXonC/nrbFauo4cnW4y4Sv+oH56UheQwtUykRgj9yZXL1cNin6ZXb -vRPV7Kbza4d0y6m+kBFWXh0Befqijw4uXbXQIG1SSurKlQihV+cRBJSiMklDMVQ4 -hkFKra1Pgom9ZmOixmPnJclKObeVwF7CWIVsdIyiNEwkDx0MjYqlvRvnCIdmJ1ej -5/d+D3uWpjI2UFkNI7KIdGARXE53dPh3frIwzwRWLh8InoK461z47ukQU3q3/eZI -Ar9LP/6g6AlsLVjsqHTs9oMdN/YItQxQb/1bZxIrG6wuk9imlnd4uQINBFhmydMB -EACc6p09brIdWJmpGOz1LxIEOOiL8hQo1oOlGeigFgLZ99TsJHV9rJ+oUuRsr9Kd -MTf0g13NEHOyp0/8KJXSN4R/zVDykBdvVblNIDYUEyOVvvueVjcMKTOOt6iV2naC -pkyRTDctgt04VeTau8r6hgYxWT5f2XtsKHNu+kv6RPc7GbSgubiaTujRcl+iOCXi -tNKUNFQ83G1rvYOEaiaoGXQ4dRHW7u+St4b0bJLgO+FUovVxd714RWNZ4UleDVV8 -VzGkcU3j7B4u39GiVNgxGnmnfTA7AJ5YWLqRhfuf/uyEgs1Iety4/eZdwPtg2w0U -JTo/T+mbRBS0cDXBm4+kYMeKHpN1yMmeaYA3bv/miz/ik1/HKhlned4t47TlhUFu -jxkmvfTI6XtzRZ98607ICOAH7PKAv1YrQsxohSrVcRZK+4jofT4vMgcbFTFuRYMP -EemYMAphPyHBPJG+YAVIM/S9MaWYYC/LR7jtkt/MosI3SLzw09rf9e1mCajaYb6q -yCopfK84nao2gmFFE9vt7hOcmhGZ8WAlsL9rVW8nmBk3OZYIRWIxbB+iA0/et6E0 -1K4iQbeEu6pRDCA+Lkw2NWAOBVXgBKuvUDzXYV86wI+7m94IXuQQ2BXugstuVMWw -AKqgbT+CTOc6Th1rzBI4bjJfUxm6eOsU/t3+2Gq1s8joxwARAQABiQIfBBgBAgAJ -BQJYZsnTAhsMAAoJEPSCX1OXJxNC7ysP+wfpmD5kboss1cNbEfdbFZvwsh982Y3H -FN4w0dvquJxJhSnfx64tnhjZCAPmVkUutfde3/fGylQ3v9j3kg/q0EJ56Df3QcFb -QcJpyM+rfVI3eKuO/zH1TjMlhzKI/TgES1xCOCqTlmMPFY+akWAVFKk6/fVz6rhg -tIJyj/7+lV7xWDNJZmyAuBPiNW6YPH92u4gDR3GPFQSClEetlD4heAOISph9C2fN -QPmivr8jYMhbWr2kGvsfY2wgBOzeijmUYRyfoXxjHOo9tkMYik1DCdsXfxevbAa3 -Q6ybcwmx6QvjOlH4TLlv43JHettMudVGuiCBBTDtbUouX9+2vXRuCHeEzb7iusLC -ZINce8kxs83EiTfa1J00eJ4vTK6z5yZN+29DC/00SdmUX0Agnoo5Msxi10o6wJLz -Dsg81UFjL3rE0UQ2TBch6hAiUlvJF95E0fylWpL4rxuEeuxh4U/82wAR+1g4Fj3K -YNQXjW8sko60VnCMTEBeJ7s09U/GIygb9Ixcoz1OhgIbpXox/0lqVpI9V0ekddc+ -n1LhYrjWIcBzK2t1t/0isI5mkkV4gztpRcVWoTEbynN37He3HFL90gN0zmGBE2oY -gTfCw3gRA3iUJ4varAX9DF0baTQzh9wVdnYk9RIlZovkzmn45z5ogZ7B1xpHtuhl -PYZrVz++lRb0 -=6AFt ------END PGP PUBLIC KEY BLOCK----- diff --git a/sources b/sources index 86afc35..75f71be 100644 --- a/sources +++ b/sources @@ -1,13 +1,12 @@ -SHA512 (xpdf-arabic-2011-aug-15.tar.gz) = 1ddaee045c0c3576bda0ebf065021e66e1ac6673d6872aff8e8afb3bae33dd927d920d89761553bade040d20e4b60eb286131bdb2f2d75ec1e833b9a9ce58d3e -SHA512 (xpdf-cyrillic-2011-aug-15.tar.gz) = ab1197c90f8cd3d8664ebbdc7ecefdfb8ec12e24da2f7616cad1d5bc9c7fd172c48db6a18d76172de8342377acc8e1dcd78bcf0fb1ef9f05cf94729e90586827 -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-turkish-2011-aug-15.tar.gz) = a73e90bce8f2a12154b06ef29333a45d96258c0d653d5cb15afd2e5ad9e79a9b617e5f8ebeb20bde545684d50f3bc1349800c99f70c863bdd502c24c266b4fb1 -SHA512 (xpdf-chinese-traditional-2020-dec-22-NOCMAP.tar.gz) = ff25947dbf09b51f9c97aff898b8d33441af230d25c827380f1f5dd4144b5c3d14fc0d1e1ed42e039ff706568a490925f1cafc94ff5f70ae7879827c82dfbc85 -SHA512 (xpdf-japanese-2020-dec-22-NOCMAP.tar.gz) = aff90d0c8f26e1dffd2b178c5ee676cfa520086d28dd56af65ef3fcd016c2770361edeb35974f45328cd62d5cd7dff0ac719e38ee2594bef07e062869289a647 -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 +3bc86c69c8ff444db52461270bef3f44 xpdf-3.04.tar.gz +ae8cdd4759295e02988506e7a570d00c xpdf-arabic-2011-aug-15.tar.gz +abd221d2df88de2011daad8d184dd66b xpdf-chinese-simplified-2011-sep-02-NOCMAP.tar.gz +63431231acd6d8f75e23bb3205793ff3 xpdf-chinese-traditional-2011-sep-02-NOCMAP.tar.gz +ea8ed8fd0ed26b8448e6558827249999 xpdf-cyrillic-2011-aug-15.tar.gz +2e988edf0c57def63717ee14bd6d30dd xpdf-greek-2011-aug-15.tar.gz +e1cb33f22bb71fb01998e5c59f538472 xpdf-hebrew-2011-aug-15.tar.gz +4033838d6bca641d5d2e76c7d1240c3e xpdf-japanese-2011-sep-02-NOCMAP.tar.gz +b9390fe8dc484d9d6ed78359fa520c33 xpdf-korean-2011-sep-02-NOCMAP.tar.gz +c135fe93f933edaa0f042a8d3cc9f799 xpdf-latin2-2011-aug-15.tar.gz +57fc888436f19cdf4a68ef17c17b86b7 xpdf-thai-2011-aug-15.tar.gz +640615c24581b26c4083210bef3013bf xpdf-turkish-2011-aug-15.tar.gz diff --git a/xpdf-3.03-ext.patch b/xpdf-3.03-ext.patch new file mode 100644 index 0000000..3115d65 --- /dev/null +++ b/xpdf-3.03-ext.patch @@ -0,0 +1,51 @@ +diff -up xpdf-3.03/goo/gfile.cc.ext xpdf-3.03/goo/gfile.cc +--- xpdf-3.03/goo/gfile.cc.ext 2011-08-15 17:08:53.000000000 -0400 ++++ xpdf-3.03/goo/gfile.cc 2011-08-22 13:43:54.540304026 -0400 +@@ -507,32 +507,14 @@ GBool openTempFile(GString **name, FILE + char *s; + int fd; + +- if (ext) { +-#if HAVE_MKSTEMPS +- if ((s = getenv("TMPDIR"))) { +- *name = new GString(s); +- } else { +- *name = new GString("/tmp"); +- } +- (*name)->append("/XXXXXX")->append(ext); +- fd = mkstemps((*name)->getCString(), strlen(ext)); +-#else +- if (!(s = tmpnam(NULL))) { +- return gFalse; +- } ++#if HAVE_MKSTEMP ++ if ((s = getenv("TMPDIR"))) { + *name = new GString(s); +- (*name)->append(ext); +- fd = open((*name)->getCString(), O_WRONLY | O_CREAT | O_EXCL, 0600); +-#endif + } else { +-#if HAVE_MKSTEMP +- if ((s = getenv("TMPDIR"))) { +- *name = new GString(s); +- } else { +- *name = new GString("/tmp"); +- } +- (*name)->append("/XXXXXX"); +- fd = mkstemp((*name)->getCString()); ++ *name = new GString("/tmp"); ++ } ++ (*name)->append("/XXXXXX"); ++ fd = mkstemp((*name)->getCString()); + #else // HAVE_MKSTEMP + if (!(s = tmpnam(NULL))) { + return gFalse; +@@ -540,7 +522,7 @@ GBool openTempFile(GString **name, FILE + *name = new GString(s); + fd = open((*name)->getCString(), O_WRONLY | O_CREAT | O_EXCL, 0600); + #endif // HAVE_MKSTEMP +- } ++ + if (fd < 0 || !(*f = fdopen(fd, mode))) { + delete *name; + *name = NULL; diff --git a/xpdf-3.04-crash.patch b/xpdf-3.04-crash.patch new file mode 100644 index 0000000..a816d89 --- /dev/null +++ b/xpdf-3.04-crash.patch @@ -0,0 +1,22 @@ +diff -up xpdf-3.04/fofi/FoFiType1.cc.crash xpdf-3.04/fofi/FoFiType1.cc +--- xpdf-3.04/fofi/FoFiType1.cc.crash 2014-05-28 14:50:50.000000000 -0400 ++++ xpdf-3.04/fofi/FoFiType1.cc 2014-05-29 14:56:09.199571189 -0400 +@@ -268,9 +268,14 @@ void FoFiType1::parse() { + } + } + } else { +- if (strtok(buf, " \t") && +- (p = strtok(NULL, " \t\n\r")) && !strcmp(p, "def")) { +- break; ++ p = strtok(buf, " \t\n\r"); ++ if (p) ++ { ++ if (!strcmp(p, "def")) break; ++ if (!strcmp(p, "readonly")) break; ++ // the spec does not says this but i'm mantaining old xpdf behaviour that accepts "foo def" as end of the encoding array ++ p = strtok(buf, " \t\n\r"); ++ if (p && !strcmp(p, "def")) break; + } + } + } +diff -up xpdf-3.04/splash/Splash.cc.crash xpdf-3.04/splash/Splash.cc diff --git a/xpdf-4.00-permissions.patch b/xpdf-4.00-permissions.patch deleted file mode 100644 index 54b479a..0000000 --- a/xpdf-4.00-permissions.patch +++ /dev/null @@ -1,132 +0,0 @@ -diff -up xpdf-4.00/xpdf/PDFCore.cc.permissions xpdf-4.00/xpdf/PDFCore.cc -diff -up xpdf-4.00/xpdf/pdfimages.cc.permissions xpdf-4.00/xpdf/pdfimages.cc ---- xpdf-4.00/xpdf/pdfimages.cc.permissions 2017-08-08 19:22:50.000000000 -0400 -+++ xpdf-4.00/xpdf/pdfimages.cc 2017-08-16 18:08:04.474032500 -0400 -@@ -4,6 +4,8 @@ - // - // Copyright 1998-2003 Glyph & Cog, LLC - // -+// Modified for Debian by Hamish Moffatt, 22 May 2002. -+// - //======================================================================== - - #include -@@ -126,12 +128,14 @@ int main(int argc, char *argv[]) { - } - - // check for copy permission -+#ifdef ENFORCE_PERMISSIONS - if (!doc->okToCopy()) { - error(errNotAllowed, -1, - "Copying of images from this document is not allowed."); - exitCode = 3; - goto err1; - } -+#endif - - // get page range - if (firstPage < 1) -diff -up xpdf-4.00/xpdf/pdftohtml.cc.permissions xpdf-4.00/xpdf/pdftohtml.cc ---- xpdf-4.00/xpdf/pdftohtml.cc.permissions 2017-08-16 18:10:36.656189850 -0400 -+++ xpdf-4.00/xpdf/pdftohtml.cc 2017-08-16 18:11:06.127445692 -0400 -@@ -137,6 +137,7 @@ int main(int argc, char *argv[]) { - goto err1; - } - -+#ifdef ENFORCE_PERMISSIONS - // check for copy permission - if (!doc->okToCopy()) { - error(errNotAllowed, -1, -@@ -144,6 +145,7 @@ int main(int argc, char *argv[]) { - exitCode = 3; - goto err1; - } -+#endif - - // get page range - if (firstPage < 1) { -diff -up xpdf-4.00/xpdf/pdftops.cc.permissions xpdf-4.00/xpdf/pdftops.cc ---- xpdf-4.00/xpdf/pdftops.cc.permissions 2017-08-08 19:22:50.000000000 -0400 -+++ xpdf-4.00/xpdf/pdftops.cc 2017-08-16 18:08:04.475032475 -0400 -@@ -4,6 +4,8 @@ - // - // Copyright 1996-2003 Glyph & Cog, LLC - // -+// Modified for Debian by Hamish Moffatt, 22 May 2002. -+// - //======================================================================== - - #include -@@ -321,12 +323,14 @@ int main(int argc, char *argv[]) { - goto err1; - } - -+#ifdef ENFORCE_PERMISSIONS - // check for print permission - if (!doc->okToPrint()) { - error(errNotAllowed, -1, "Printing this document is not allowed."); - exitCode = 3; - goto err1; - } -+#endif - - // construct PostScript file name - if (argc == 3) { -diff -up xpdf-4.00/xpdf/pdftotext.cc.permissions xpdf-4.00/xpdf/pdftotext.cc ---- xpdf-4.00/xpdf/pdftotext.cc.permissions 2017-08-08 19:22:50.000000000 -0400 -+++ xpdf-4.00/xpdf/pdftotext.cc 2017-08-16 18:08:04.475032475 -0400 -@@ -4,6 +4,8 @@ - // - // Copyright 1997-2013 Glyph & Cog, LLC - // -+// Modified for Debian by Hamish Moffatt, 22 May 2002. -+// - //======================================================================== - - #include -@@ -198,6 +200,7 @@ int main(int argc, char *argv[]) { - goto err2; - } - -+#ifdef ENFORCE_PERMISSIONS - // check for copy permission - if (!doc->okToCopy()) { - error(errNotAllowed, -1, -@@ -205,6 +208,7 @@ int main(int argc, char *argv[]) { - exitCode = 3; - goto err2; - } -+#endif - - // construct text file name - if (argc == 3) { -diff -up xpdf-4.00/xpdf-qt/QtPDFCore.cc.permissions xpdf-4.00/xpdf-qt/QtPDFCore.cc ---- xpdf-4.00/xpdf-qt/QtPDFCore.cc.permissions 2017-08-16 18:09:45.169489907 -0400 -+++ xpdf-4.00/xpdf-qt/QtPDFCore.cc 2017-08-16 18:10:14.375752439 -0400 -@@ -429,9 +429,11 @@ QString QtPDFCore::getSelectedTextQStrin - QChar c; - int i; - -+#ifdef ENFORCE_PERMISSIONS - if (!doc->okToCopy()) { - return ""; - } -+#endif - if (!(s = getSelectedText())) { - return ""; - } -diff -up xpdf-4.00/xpdf-qt/XpdfWidget.cc.permissions xpdf-4.00/xpdf-qt/XpdfWidget.cc ---- xpdf-4.00/xpdf-qt/XpdfWidget.cc.permissions 2017-08-16 18:12:40.775055809 -0400 -+++ xpdf-4.00/xpdf-qt/XpdfWidget.cc 2017-08-16 18:12:45.835928020 -0400 -@@ -1399,7 +1399,11 @@ bool XpdfWidget::okToExtractText() const - if (!core->getDoc()) { - return false; - } -+#ifdef ENFORCE_PERMISSIONS - return (bool)core->getDoc()->okToCopy(); -+#else -+ return true; -+#endif - } catch (GMemException e) { - return false; - } diff --git a/xpdf-4.00-versionedlib.patch b/xpdf-4.00-versionedlib.patch deleted file mode 100644 index 2d73a89..0000000 --- a/xpdf-4.00-versionedlib.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff -up xpdf-4.00/fofi/CMakeLists.txt.versionedlib xpdf-4.00/fofi/CMakeLists.txt ---- xpdf-4.00/fofi/CMakeLists.txt.versionedlib 2017-08-08 19:22:50.000000000 -0400 -+++ xpdf-4.00/fofi/CMakeLists.txt 2017-08-16 20:06:18.106884951 -0400 -@@ -24,3 +24,5 @@ add_library(fofi_objs OBJECT - add_library(fofi - $ - ) -+ -+set_target_properties(fofi PROPERTIES VERSION 4 SOVERSION 4) -diff -up xpdf-4.00/goo/CMakeLists.txt.versionedlib xpdf-4.00/goo/CMakeLists.txt ---- xpdf-4.00/goo/CMakeLists.txt.versionedlib 2017-08-08 19:22:50.000000000 -0400 -+++ xpdf-4.00/goo/CMakeLists.txt 2017-08-16 20:06:00.525277924 -0400 -@@ -25,3 +25,5 @@ add_library(goo_objs OBJECT - add_library(goo - $ - ) -+ -+set_target_properties(goo PROPERTIES VERSION 4 SOVERSION 4) -diff -up xpdf-4.00/splash/CMakeLists.txt.versionedlib xpdf-4.00/splash/CMakeLists.txt ---- xpdf-4.00/splash/CMakeLists.txt.versionedlib 2017-08-08 19:22:50.000000000 -0400 -+++ xpdf-4.00/splash/CMakeLists.txt 2017-08-16 20:06:41.204368689 -0400 -@@ -44,4 +44,5 @@ if (HAVE_SPLASH) - add_library(splash - $ - ) -+ set_target_properties(splash PROPERTIES VERSION 4 SOVERSION 4) - endif () diff --git a/xpdf-4.01-64bit.patch b/xpdf-4.01-64bit.patch deleted file mode 100644 index 64952fc..0000000 --- a/xpdf-4.01-64bit.patch +++ /dev/null @@ -1,60 +0,0 @@ -diff -up xpdf-4.01/goo/gmem.cc.alloc xpdf-4.01/goo/gmem.cc ---- xpdf-4.01/goo/gmem.cc.alloc 2019-02-18 13:24:19.000000000 -0500 -+++ xpdf-4.01/goo/gmem.cc 2019-02-22 09:37:02.683498383 -0500 -@@ -84,8 +84,8 @@ static size_t gMaxMemInUse = 0; - #endif /* DEBUG_MEM */ - - #ifdef DEBUG_MEM --void *gmalloc(int size, int ignore) GMEM_EXCEP { -- int size1; -+void *gmalloc(size_t size, int ignore) GMEM_EXCEP { -+ size_t size1; - char *mem; - GMemHdr *hdr; - void *data; -@@ -134,7 +134,7 @@ void *gmalloc(int size, int ignore) GMEM - return data; - } - #else --void *gmalloc(int size) GMEM_EXCEP { -+void *gmalloc(size_t size) GMEM_EXCEP { - void *p; - - if (size < 0) { -@@ -150,11 +150,11 @@ void *gmalloc(int size) GMEM_EXCEP { - } - #endif - --void *grealloc(void *p, int size) GMEM_EXCEP { -+void *grealloc(void *p, size_t size) GMEM_EXCEP { - #ifdef DEBUG_MEM - GMemHdr *hdr; - void *q; -- int oldSize; -+ size_t oldSize; - - if (size < 0) { - gMemError("Invalid memory allocation size"); -diff -up xpdf-4.01/goo/gmem.h.alloc xpdf-4.01/goo/gmem.h ---- xpdf-4.01/goo/gmem.h.alloc 2019-02-18 13:24:19.000000000 -0500 -+++ xpdf-4.01/goo/gmem.h 2019-02-22 09:37:02.683498383 -0500 -@@ -37,16 +37,16 @@ extern "C" { - * returns NULL. - */ - #ifdef DEBUG_MEM --extern void *gmalloc(int size, int ignore = 0) GMEM_EXCEP; -+extern void *gmalloc(size_t size, int ignore = 0) GMEM_EXCEP; - #else --extern void *gmalloc(int size) GMEM_EXCEP; -+extern void *gmalloc(size_t size) GMEM_EXCEP; - #endif - - /* - * Same as realloc, but prints error message and exits if realloc() - * returns NULL. If

is NULL, calls malloc instead of realloc(). - */ --extern void *grealloc(void *p, int size) GMEM_EXCEP; -+extern void *grealloc(void *p, size_t size) GMEM_EXCEP; - - /* - * These are similar to gmalloc and grealloc, but take an object count diff --git a/xpdf-4.01-crash.patch b/xpdf-4.01-crash.patch deleted file mode 100644 index 468086f..0000000 --- a/xpdf-4.01-crash.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -up xpdf-4.01/fofi/FoFiType1.cc.crash xpdf-4.01/fofi/FoFiType1.cc ---- xpdf-4.01/fofi/FoFiType1.cc.crash 2019-02-22 09:33:55.304458147 -0500 -+++ xpdf-4.01/fofi/FoFiType1.cc 2019-02-22 09:36:30.966169469 -0500 -@@ -276,9 +276,14 @@ void FoFiType1::parse() { - p += 3; - } - } else { -- if (strtok(buf, " \t") && -- (p = strtok(NULL, " \t\n\r")) && !strcmp(p, "def")) { -- break; -+ p = strtok(buf, " \t\n\r"); -+ if (p) -+ { -+ if (!strcmp(p, "def")) break; -+ if (!strcmp(p, "readonly")) break; -+ // the spec does not says this but i'm mantaining old xpdf behaviour that accepts "foo def" as end of the encoding array -+ p = strtok(buf, " \t\n\r"); -+ if (p && !strcmp(p, "def")) break; - } - } - } diff --git a/xpdf-4.01-ext.patch b/xpdf-4.01-ext.patch deleted file mode 100644 index 8828273..0000000 --- a/xpdf-4.01-ext.patch +++ /dev/null @@ -1,37 +0,0 @@ -diff -up xpdf-4.01/goo/gfile.cc.ext xpdf-4.01/goo/gfile.cc ---- xpdf-4.01/goo/gfile.cc.ext 2019-02-18 13:24:19.000000000 -0500 -+++ xpdf-4.01/goo/gfile.cc 2019-02-22 09:33:17.023259251 -0500 -@@ -473,24 +473,6 @@ GBool openTempFile(GString **name, FILE - char *s; - int fd; - -- if (ext) { --#if HAVE_MKSTEMPS -- if ((s = getenv("TMPDIR"))) { -- *name = new GString(s); -- } else { -- *name = new GString("/tmp"); -- } -- (*name)->append("/XXXXXX")->append(ext); -- fd = mkstemps((*name)->getCString(), (int)strlen(ext)); --#else -- if (!(s = tmpnam(NULL))) { -- return gFalse; -- } -- *name = new GString(s); -- (*name)->append(ext); -- fd = open((*name)->getCString(), O_WRONLY | O_CREAT | O_EXCL, 0600); --#endif -- } else { - #if HAVE_MKSTEMP - if ((s = getenv("TMPDIR"))) { - *name = new GString(s); -@@ -506,7 +488,7 @@ GBool openTempFile(GString **name, FILE - *name = new GString(s); - fd = open((*name)->getCString(), O_WRONLY | O_CREAT | O_EXCL, 0600); - #endif // HAVE_MKSTEMP -- } -+ - if (fd < 0 || !(*f = fdopen(fd, mode))) { - delete *name; - *name = NULL; diff --git a/xpdf-4.01-urw-base35-fonts.patch b/xpdf-4.01-urw-base35-fonts.patch deleted file mode 100644 index 5029cd5..0000000 --- a/xpdf-4.01-urw-base35-fonts.patch +++ /dev/null @@ -1,55 +0,0 @@ -diff -up xpdf-4.01/xpdf/GlobalParams.cc.urw-font-fix xpdf-4.01/xpdf/GlobalParams.cc ---- xpdf-4.01/xpdf/GlobalParams.cc.urw-font-fix 2019-02-18 13:24:19.000000000 -0500 -+++ xpdf-4.01/xpdf/GlobalParams.cc 2019-02-22 09:44:56.842457771 -0500 -@@ -79,20 +79,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-BoldItalic", 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} - }; - -@@ -104,6 +104,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", -@@ -2204,7 +2205,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.02-CVE-2019-12360.patch b/xpdf-4.02-CVE-2019-12360.patch deleted file mode 100644 index 808ce35..0000000 --- a/xpdf-4.02-CVE-2019-12360.patch +++ /dev/null @@ -1,79 +0,0 @@ -diff -up xpdf-4.02/fofi/FoFiTrueType.cc.CVE-2019-12360 xpdf-4.02/fofi/FoFiTrueType.cc ---- xpdf-4.02/fofi/FoFiTrueType.cc.CVE-2019-12360 2020-06-26 15:15:48.156850534 -0400 -+++ xpdf-4.02/fofi/FoFiTrueType.cc 2020-06-26 15:15:35.204068577 -0400 -@@ -20,6 +20,7 @@ - #include "gtypes.h" - #include "gmem.h" - #include "gmempp.h" -+#include "GLikely.h" - #include "GString.h" - #include "GHash.h" - #include "FoFiType1C.h" -@@ -1764,7 +1765,7 @@ void FoFiTrueType::cvtSfnts(FoFiOutputFu - GBool ok; - Guint checksum; - int nNewTables; -- int glyfTableLen, length, pos, glyfPos, i, j, k; -+ int glyfTableLen, length, pos, glyfPos, i, j, k, vmtxTabLength; - Guchar vheaTab[36] = { - 0, 1, 0, 0, // table version number - 0, 0, // ascent -@@ -1891,6 +1892,7 @@ void FoFiTrueType::cvtSfnts(FoFiOutputFu - } - } - vmtxTab = NULL; // make gcc happy -+ vmtxTabLength = 0; - advance = 0; // make gcc happy - if (needVerticalMetrics) { - needVhea = seekTable("vhea") < 0; -@@ -1951,6 +1953,7 @@ void FoFiTrueType::cvtSfnts(FoFiOutputFu - checksum = computeTableChecksum(vheaTab, length); - } else if (needVerticalMetrics && i == t42VmtxTable) { - length = 4 + (nGlyphs - 1) * 2; -+ vmtxTabLength = length; - vmtxTab = (Guchar *)gmalloc(length); - vmtxTab[0] = (Guchar)(advance / 256); - vmtxTab[1] = (Guchar)(advance % 256); -@@ -2065,8 +2068,16 @@ void FoFiTrueType::cvtSfnts(FoFiOutputFu - dumpString(file + tables[j].offset, tables[j].len, - outputFunc, outputStream); - } else if (needVerticalMetrics && i == t42VheaTable) { -+ if (unlikely(length > (int)sizeof(vheaTab))) { -+ //~ error(errSyntaxWarning, -1, "length bigger than vheaTab size"); -+ length = sizeof(vheaTab); -+ } - dumpString(vheaTab, length, outputFunc, outputStream); - } else if (needVerticalMetrics && i == t42VmtxTable) { -+ if (unlikely(length > vmtxTabLength)) { -+ //~ error(errSyntaxWarning, -1, "length bigger than vmtxTab size"); -+ length = vmtxTabLength; -+ } - dumpString(vmtxTab, length, outputFunc, outputStream); - } - } -diff -up xpdf-4.02/goo/GLikely.h.CVE-2019-12360 xpdf-4.02/goo/GLikely.h ---- xpdf-4.02/goo/GLikely.h.CVE-2019-12360 2020-06-26 15:11:32.839149675 -0400 -+++ xpdf-4.02/goo/GLikely.h 2020-06-26 15:11:07.713572773 -0400 -@@ -0,0 +1,22 @@ -+//======================================================================== -+// -+// GLikely.h -+// -+// This file is licensed under the GPLv2 or later -+// -+// Copyright (C) 2008 Kees Cook -+// -+//======================================================================== -+ -+#ifndef GLIKELY_H -+#define GLIKELY_H -+ -+#if defined(__GNUC__) && (__GNUC__ > 2) && defined(__OPTIMIZE__) -+# define likely(x) __builtin_expect((x), 1) -+# define unlikely(x) __builtin_expect((x), 0) -+#else -+# define likely(x) (x) -+# define unlikely(x) (x) -+#endif -+ -+#endif diff --git a/xpdf-4.02-CVE-2019-17064.patch b/xpdf-4.02-CVE-2019-17064.patch deleted file mode 100644 index a49bf60..0000000 --- a/xpdf-4.02-CVE-2019-17064.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff -up xpdf-4.02/xpdf/Catalog.cc.CVE-2019-17064 xpdf-4.02/xpdf/Catalog.cc ---- xpdf-4.02/xpdf/Catalog.cc.CVE-2019-17064 2019-12-02 12:21:54.480562087 -0500 -+++ xpdf-4.02/xpdf/Catalog.cc 2019-12-02 12:22:37.047605136 -0500 -@@ -159,6 +159,7 @@ Catalog::Catalog(PDFDoc *docA) { - baseURI = NULL; - form = NULL; - embeddedFiles = NULL; -+ pageLabels = NULL; - #if MULTITHREADED - gInitMutex(&pageMutex); - #endif -@@ -241,7 +242,6 @@ Catalog::Catalog(PDFDoc *docA) { - // get the ViewerPreferences object - catDict.dictLookupNF("ViewerPreferences", &viewerPrefs); - -- pageLabels = NULL; - if (catDict.dictLookup("PageLabels", &obj)->isDict()) { - readPageLabelTree(&obj); - } diff --git a/xpdf-4.04-GlobalParams-null-fix.patch b/xpdf-4.04-GlobalParams-null-fix.patch deleted file mode 100644 index eaa073c..0000000 --- a/xpdf-4.04-GlobalParams-null-fix.patch +++ /dev/null @@ -1,12 +0,0 @@ -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 deleted file mode 100644 index b4a7544..0000000 --- a/xpdf-4.04-shared-xpdf-lib.patch +++ /dev/null @@ -1,17 +0,0 @@ -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 deleted file mode 100644 index 906444b..0000000 --- a/xpdf-4.05-CVE-2024-4141.patch +++ /dev/null @@ -1,22 +0,0 @@ -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.06-permissions.patch b/xpdf-4.06-permissions.patch deleted file mode 100644 index 0192028..0000000 --- a/xpdf-4.06-permissions.patch +++ /dev/null @@ -1,131 +0,0 @@ -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 - // -+// Modified for Debian by Hamish Moffatt, 22 May 2002. -+// - //======================================================================== - - #include -@@ -153,12 +155,14 @@ int main(int argc, char *argv[]) { - } - - // check for copy permission -+#ifdef ENFORCE_PERMISSIONS - if (!listOnly && !doc->okToCopy()) { - error(errNotAllowed, -1, - "Copying of images from this document is not allowed."); - exitCode = 3; - goto err1; - } -+#endif - - // get page range - if (firstPage < 1) -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; - } - -+#ifdef ENFORCE_PERMISSIONS - // check for copy permission - if (!doc->okToCopy()) { - error(errNotAllowed, -1, -@@ -190,6 +191,7 @@ int main(int argc, char *argv[]) { - exitCode = 3; - goto err1; - } -+#endif - - // get page range - if (firstPage < 1) { -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 - // -+// Modified for Debian by Hamish Moffatt, 22 May 2002. -+// - //======================================================================== - - #include -@@ -337,12 +339,14 @@ int main(int argc, char *argv[]) { - goto err1; - } - -+#ifdef ENFORCE_PERMISSIONS - // check for print permission - if (!doc->okToPrint()) { - error(errNotAllowed, -1, "Printing this document is not allowed."); - exitCode = 3; - goto err1; - } -+#endif - - // construct PostScript file name - if (argc == 3) { -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 - // -+// Modified for Debian by Hamish Moffatt, 22 May 2002. -+// - //======================================================================== - - #include -@@ -248,6 +250,7 @@ int main(int argc, char *argv[]) { - goto err2; - } - -+#ifdef ENFORCE_PERMISSIONS - // check for copy permission - if (!doc->okToCopy()) { - error(errNotAllowed, -1, -@@ -255,6 +258,7 @@ int main(int argc, char *argv[]) { - exitCode = 3; - goto err2; - } -+#endif - - // construct text file name - if (argc == 3) { -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; - -+#ifdef ENFORCE_PERMISSIONS - if (!doc->okToCopy()) { - return ""; - } -+#endif - if (!(s = getSelectedText())) { - return ""; - } -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; - } -+#ifdef ENFORCE_PERMISSIONS - return (bool)core->getDoc()->okToCopy(); -+#else -+ return true; -+#endif - } catch (GMemException e) { - return false; - } diff --git a/xpdf-4.06-urw-base35-fonts.patch b/xpdf-4.06-urw-base35-fonts.patch deleted file mode 100644 index 0fdc470..0000000 --- a/xpdf-4.06-urw-base35-fonts.patch +++ /dev/null @@ -1,133 +0,0 @@ -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-fix-pdftopng-resolution.patch b/xpdf-fix-pdftopng-resolution.patch deleted file mode 100644 index c7c43a7..0000000 --- a/xpdf-fix-pdftopng-resolution.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- c/xpdf/pdftopng.cc -+++ c/xpdf/pdftopng.cc -@@ -21,6 +21,8 @@ - #include "SplashOutputDev.h" - #include "config.h" - -+#define INCHESPERMETER 39.37007874 -+ - static int firstPage = 1; - static int lastPage = 0; - static int resolution = 150; -@@ -261,6 +263,9 @@ static void setupPNG(png_structp *png, png_infop *pngInfo, FILE *f, - png_set_IHDR(*png, *pngInfo, bitmap->getWidth(), bitmap->getHeight(), - bitDepth, colorType, PNG_INTERLACE_NONE, - PNG_COMPRESSION_TYPE_DEFAULT, PNG_FILTER_TYPE_DEFAULT); -+ png_set_pHYs(*png, *pngInfo, resolution*INCHESPERMETER, resolution*INCHESPERMETER, -+ PNG_RESOLUTION_METER); -+ - png_write_info(*png, *pngInfo); - } - diff --git a/xpdf.spec b/xpdf.spec index 9c5c715..a7541d9 100644 --- a/xpdf.spec +++ b/xpdf.spec @@ -1,46 +1,25 @@ -%undefine __cmake_in_source_build - Summary: A PDF file viewer for the X Window System Name: xpdf -Version: 4.06 -Release: 3%{?dist} -License: (GPL-2.0-only OR GPL-3.0-only) AND BSD-3-Clause +Version: 3.04 +Release: 6%{?dist} +License: GPLv2 or GPLv3 Epoch: 1 -Url: https://www.xpdfreader.com/ +Url: http://www.foolabs.com/xpdf/ +Group: Applications/Publishing -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-2023-dec-05-NOCMAP.tar.gz -# CMap/Adobe-CNS1-UCS2 -# CMap/B5pc-UCS2 -# CMap/B5pc-UCS2C -# CMap/ETen-B5-UCS2 -# Source4: http://www.xpdfreader.com/dl/xpdf-chinese-traditional.tar.gz -Source4: xpdf-chinese-traditional-2020-dec-22-NOCMAP.tar.gz -# CMap/90ms-RKSJ-UCS2 -# CMap/90pv-RKSJ-UCS2 -# CMap/90pv-RKSJ-UCS2C -# CMap/Adobe-Japan1-UCS2 -# Source5: http://www.xpdfreader.com/dl/xpdf-japanese.tar.gz -Source5: xpdf-japanese-2020-dec-22-NOCMAP.tar.gz -# CMap/Adobe-Korea1-UCS2 -# CMap/KSCms-UHC-UCS2 -# CMap/KSCpc-EUC-UCS2 -# CMap/KSCpc-EUC-UCS2C -# Source6: http://www.xpdfreader.com/dl/xpdf-korean.tar.gz -Source6: xpdf-korean-2023-dec-05-NOCMAP.tar.gz +Source0: ftp://ftp.foolabs.com/pub/xpdf/%{name}-%{version}.tar.gz +# We have to pull the CMap files out due to non-free license. +# Source3: ftp://ftp.foolabs.com/pub/xpdf/xpdf-chinese-simplified-2011-sep-02.tar.gz +Source3: xpdf-chinese-simplified-2011-sep-02-NOCMAP.tar.gz +# Source4: ftp://ftp.foolabs.com/pub/xpdf/xpdf-chinese-traditional-2011-sep-02.tar.gz +Source4: xpdf-chinese-traditional-2011-sep-02-NOCMAP.tar.gz +# Source5: ftp://ftp.foolabs.com/pub/xpdf/xpdf-japanese-2011-sep-02.tar.gz +Source5: xpdf-japanese-2011-sep-02-NOCMAP.tar.gz +# Source6: ftp://ftp.foolabs.com/pub/xpdf/xpdf-korean-2011-sep-02.tar.gz +Source6: xpdf-korean-2011-sep-02-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 -# thai: 2025-08-13 -Source8: https://dl.xpdfreader.com/xpdf-thai.tar.gz +Source8: ftp://ftp.foolabs.com/pub/xpdf/xpdf-thai-2011-aug-15.tar.gz Source10: xpdf.desktop Source11: xpdf.png Source12: ftp://ftp.foolabs.com/pub/xpdf/xpdf-arabic-2011-aug-15.tar.gz @@ -48,29 +27,25 @@ 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 +Patch0: xpdf-3.04-redhat-new.patch +Patch3: xpdf-3.03-ext.patch +Patch6: xpdf-3.00-core.patch +Patch7: xpdf-3.00-xfont.patch Patch9: xpdf-3.00-papersize.patch -Patch11: xpdf-4.01-crash.patch -Patch12: xpdf-4.01-64bit.patch +Patch11: xpdf-3.04-crash.patch +Patch12: xpdf-3.04-64bit.patch Patch15: xpdf-3.04-nocmap.patch -Patch25: xpdf-4.00-versionedlib.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 +Patch16: xpdf-3.02-fontlist.patch +Patch19: xpdf-3.02-additionalzoom.patch +Patch20: xpdf-3.04-pdftopng.patch +Patch21: xpdf-3.04-localized.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.06-permissions.patch +Patch200: 02_permissions.dpatch +Patch201: 10_add_accelerators.dpatch # Proper stream encoding on 64bit platforms Patch203: fix-444648.dpatch @@ -79,26 +54,17 @@ Requires: xdg-utils Requires: poppler-utils 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 +%if 0%{?rhel} +BuildRequires: openmotif-devel +%else +# Used to use lesstif-devel here. If you are trying to build on Fedora < 17, try that. +BuildRequires: motif-devel +%endif 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 @@ -109,62 +75,38 @@ Obsoletes: %{name}-korean Provides: %{name}-japanese = %{version}-%{release} Obsoletes: %{name}-japanese -Requires: %{name}-libs%{_isa} = %{epoch}:%{version}-%{release} +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) %description Xpdf is an X Window System based viewer for Portable Document Format (PDF) files. Xpdf is a small and efficient program which uses 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 -%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 +%patch0 -p1 +%patch3 -p1 -b .ext +%patch6 -p1 -b .core +%patch7 -p1 -b .fonts +%patch9 -p1 -b .papersize +%patch11 -p1 -b .crash +%patch12 -p1 -b .alloc +%patch15 -p1 +%patch16 -p1 -b .fontlist +%patch19 -p1 +%patch20 -p1 -b .pdftopng +%patch21 -p1 -b .localized # security patches -%patch -P101 -p1 -b .CVE-2019-12360 -# %%patch -P102 -p1 -b .CVE-2024-4141 # debian patches -%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 +%patch200 -p1 -b .permissions +%patch201 -p1 -b .accelerators +%patch203 -p1 -b .64bit-stream %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 @@ -174,19 +116,22 @@ 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" -DCMAKE_POLICY_VERSION_MINIMUM=3.5 +%configure \ + --enable-multithreaded \ + --enable-wordlist \ + --with-x \ + --with-gzip \ + --enable-opi \ + --with-appdef-dir=%{_datadir}/X11/app-defaults/ \ + --without-Xp-library \ + --with-freetype2-library=%{_libdir} \ + --with-freetype2-includes=%{_includedir}/freetype2 -%cmake_build -%if 0%{?fedora} -%cmake_build --target xpdf -%endif +make %{?_smp_mflags} +make xpdf %{?_smp_mflags} %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 \ @@ -200,27 +145,8 @@ mkdir -p $RPM_BUILD_ROOT%{_datadir}/xpdf/arabic \ $RPM_BUILD_ROOT%{_datadir}/xpdf/turkish \ $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/48x48/apps -%cmake_install -%endif +make install DESTDIR=$RPM_BUILD_ROOT -# 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 -mkdir -p $RPM_BUILD_ROOT%{_includedir}/xpdf/goo -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 \ @@ -247,26 +173,24 @@ cp -pr xpdf-turkish/* $RPM_BUILD_ROOT%{_datadir}/xpdf/turkish/ # poppler provides all utilities now # http://bugzilla.redhat.com/bugzillA/SHow_bug.cgi?id=177446 # https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=219032 -%if 0%{?rhel} > 6 || 0%{?fedora} +%if 0%{?fedora} rm $RPM_BUILD_ROOT%{_bindir}/pdfdetach %endif rm $RPM_BUILD_ROOT%{_bindir}/pdffonts rm $RPM_BUILD_ROOT%{_bindir}/pdfimages rm $RPM_BUILD_ROOT%{_bindir}/pdfinfo -rm $RPM_BUILD_ROOT%{_bindir}/pdftohtml rm $RPM_BUILD_ROOT%{_bindir}/pdftops rm $RPM_BUILD_ROOT%{_bindir}/pdftotext %if 0%{?rhel} > 5 || 0%{?fedora} > 6 rm $RPM_BUILD_ROOT%{_bindir}/pdftoppm rm $RPM_BUILD_ROOT%{_mandir}/man1/pdftoppm.1* %endif -%if 0%{?rhel} > 6 || 0%{?fedora} +%if 0%{?fedora} rm $RPM_BUILD_ROOT%{_mandir}/man1/pdfdetach.1* %endif rm $RPM_BUILD_ROOT%{_mandir}/man1/pdffonts.1* rm $RPM_BUILD_ROOT%{_mandir}/man1/pdfimages.1* rm $RPM_BUILD_ROOT%{_mandir}/man1/pdfinfo.1* -rm $RPM_BUILD_ROOT%{_mandir}/man1/pdftohtml.1* rm $RPM_BUILD_ROOT%{_mandir}/man1/pdftops.1* rm $RPM_BUILD_ROOT%{_mandir}/man1/pdftotext.1* @@ -277,20 +201,28 @@ for i in arabic chinese-simplified chinese-traditional cyrillic greek hebrew jap done # xpdfrc cleanup -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 +# CJK are already in the file +for i in arabic cyrillic greek hebrew latin2 thai turkish; do + echo "# $i" >> $RPM_BUILD_ROOT%{_sysconfdir}/xpdfrc + echo "include %{_sysconfdir}/xpdf/add-to-xpdfrc.$i" >> $RPM_BUILD_ROOT%{_sysconfdir}/xpdfrc +done + +%post +touch --no-create %{_datadir}/icons/hicolor || : +%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : +update-desktop-database &> /dev/null ||: + +%postun +touch --no-create %{_datadir}/icons/hicolor || : +%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : +update-desktop-database &> /dev/null ||: -%if 0%{?fedora} %files -%license COPYING COPYING3 %doc CHANGES README README.* %{_bindir}/xpdf %{_bindir}/pdftopng -%{_libdir}/lib*.so.* %{_mandir}/man?/pdftopng* %{_mandir}/man?/xpdf* %if 0%{?rhel} > 5 || 0%{?fedora} > 6 @@ -300,11 +232,9 @@ sed -i -e 's:/usr/local/share/:%{_datadir}/:g' $RPM_BUILD_ROOT%{_sysconfdir}/xpd %{_mandir}/man?/pdftoppm* %endif %if 0%{?rhel} -%if 0%{?rhel} < 7 %{_bindir}/pdfdetach %{_mandir}/man?/pdfdetach* %endif -%endif %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/xpdfrc %dir %{_sysconfdir}/xpdf %lang(ar) %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/xpdf/add-to-xpdfrc.arabic @@ -333,172 +263,8 @@ 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 - -* Sat Jan 22 2022 Fedora Release Engineering - 1:4.03-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Fri Jul 23 2021 Fedora Release Engineering - 1:4.03-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Tue Feb 2 2021 Tom Callaway - 1:4.03-1 -- update to 4.03 - -* Thu Jan 28 2021 Fedora Release Engineering - 1:4.02-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Wed Jul 29 2020 Fedora Release Engineering - 1:4.02-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Fri Jun 26 2020 Tom Callaway - 1:4.02-4 -- generate and apply fix based on poppler fix for CVE-2019-12360 - -* Fri Jan 31 2020 Fedora Release Engineering - 1:4.02-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Mon Dec 2 2019 Tom Callaway - 1:4.02-2 -- apply upstream fix for CVE-2019-17064 - -* Wed Oct 16 2019 Tom Callaway - 1:4.02-1 -- update to 4.02 - -* Sat Jul 27 2019 Fedora Release Engineering - 1:4.01-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Fri Feb 22 2019 Tom Callaway 1:4.01-1 -- update to 4.01 - -* Sun Feb 03 2019 Fedora Release Engineering - 1:4.00-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Sat Jul 14 2018 Fedora Release Engineering - 1:4.00-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Mon Apr 30 2018 Tom Callaway - 1:4.00-7 -- add Requires: qt5-qtsvg to ensure icons are shown - -* Fri Feb 09 2018 Fedora Release Engineering - 1:4.00-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Mon Nov 27 2017 Tom Callaway - 1:4.00-5 -- enable printing support. I hate cmake. thanks to Henrique Martins. - -* Mon Nov 13 2017 Tom Callaway - 1:4.00-4 -- tell xpdf where to find the system copy of xpdfrc -- comment out unused urlCommand option from xpdfrc - -* Tue Nov 7 2017 Tom Callaway - 1:4.00-3 -- fix URW font handling (thanks to Yaakov Selkowitz) - -* Wed Aug 23 2017 Tom Callaway 1:4.00-2 -- fix macro typo - -* Wed Aug 16 2017 Tom Callaway 1:4.00-1 -- update to 4.00 - -* Thu Aug 03 2017 Fedora Release Engineering - 1:3.04-15 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Thu Jul 27 2017 Fedora Release Engineering - 1:3.04-14 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Sat Feb 11 2017 Fedora Release Engineering - 1:3.04-13 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Fri Feb 05 2016 Fedora Release Engineering - 1:3.04-12 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Mon Jul 27 2015 Tom Callaway - 1:3.04-11 -- fix output resolution of png file output (thanks to Kevin Farshaw, bz1246666) - -* Fri Jun 19 2015 Fedora Release Engineering - 1:3.04-10 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Mon May 11 2015 Tom Callaway - 1:3.04-9 -- RHEL 7 does not need pdfdetach - -* Sat May 02 2015 Kalev Lember - 1:3.04-8 -- Rebuilt for GCC 5 C++11 ABI change - -* Mon Jan 12 2015 Tom Callaway - 1:3.04-7 -- add BR: libXpm-devel, drop --with-gzip (no longer exists) - * Tue Dec 2 2014 Tom Callaway - 1:3.04-6 - fix proper display of international strings in the title (bz 1169301)