Compare commits

..

3 commits

Author SHA1 Message Date
Tom Callaway
8e82c002a8 apply right patch 2020-02-05 13:52:46 -05:00
Tom Callaway
7cd645bb2f fix bz#1798119 - buffer overflow in TexOpen() function, CVE-2019-19601 2020-02-05 13:34:12 -05:00
Tom Callaway
7f9ea92314 fix python3 issues with pdfbook2 and latex-papersize 2020-01-10 10:51:31 -05:00
54 changed files with 296953 additions and 47956 deletions

75
.gitignore vendored
View file

@ -363,78 +363,3 @@
/texdoctk.tar.xz
/lyluatex.doc.tar.xz
/lyluatex.tar.xz
/texlive-20190410-source.tar.xz
/dviout-util.doc.tar.xz
/cluttex.tar.xz
/cluttex.doc.tar.xz
/ctanbib.doc.tar.xz
/ctanbib.tar.xz
/pdftex-quiet.doc.tar.xz
/pdftex-quiet.tar.xz
/webquiz.tar.xz
/webquiz.doc.tar.xz
/xindex.tar.xz
/xindex.doc.tar.xz
/texlive-20200327-source.tar.xz
/texlive-scripts-extra.doc.tar.xz
/texlive-scripts-extra.tar.xz
/chklref.doc.tar.xz
/chklref.tar.xz
/ps2eps.doc.tar.xz
/ps2eps.tar.xz
/ketcindy.doc.tar.xz
/ketcindy.tar.xz
/clojure-pamphlet.doc.tar.xz
/clojure-pamphlet.tar.xz
/luahbtex.doc.tar.xz
/luahbtex.tar.xz
/attachfile2.doc.tar.xz
/attachfile2.tar.xz
/texplate.doc.tar.xz
/texplate.tar.xz
/psutils.doc.tar.xz
/psutils.tar.xz
/xpdfopen.doc.tar.xz
/texlive.tlpdb
/optex.tar.xz
/optex.doc.tar.xz
/texlive-20210325-source.tar.xz
/albatross.doc.tar.xz
/albatross.tar.xz
/git-latexdiff.doc.tar.xz
/git-latexdiff.tar.xz
/hyperxmp.doc.tar.xz
/hyperxmp.tar.xz
/light-latex-make.doc.tar.xz
/light-latex-make.tar.xz
/spix.doc.tar.xz
/spix.tar.xz
/tikztosvg.doc.tar.xz
/tikztosvg.tar.xz
/xml2pmx.doc.tar.xz
/xml2pmx.tar.xz
/citation-style-language.doc.tar.xz
/citation-style-language.tar.xz
/hitex.doc.tar.xz
/hitex.tar.xz
/luafindfont.doc.tar.xz
/luafindfont.tar.xz
/texlogsieve.doc.tar.xz
/texlogsieve.tar.xz
/luajittex.doc.tar.xz
/pdftosrc.doc.tar.xz
/texlive-20230311-source.tar.xz
/bibcop.doc.tar.xz
/bibcop.tar.xz
/pagelayout.doc.tar.xz
/pagelayout.tar.xz
/texaccents.doc.tar.xz
/texaccents.tar.xz
/upmendex.doc.tar.xz
/digestif.doc.tar.xz
/digestif.tar.xz
/texaccents.source.tar.xz
/build-svn66984.tar.gz
/optexcount.doc.tar.xz
/optexcount.tar.xz
/texlogfilter.doc.tar.xz

787
sources
View file

@ -1,425 +1,362 @@
SHA512 (a2ping.doc.tar.xz) = 7a7b6474819b2715c131485472963b463163378d4ae4ac586f17a130b3327c6dda1f4132f4f2379388a8a493fb2374abfff6b7ad87513cbe9d04993572692aeb
SHA512 (a2ping.tar.xz) = 4008c18f93a7d378c8da20bad7c1fdf19c3e6befccdcc804326168854fcd35bb89fe414b30a26dbddeaf81a11c0d404bf5b5459bd3d8adce49dc30279e3bd420
SHA512 (accfonts.doc.tar.xz) = 24b19688008b875890a397e2250277f81be1b77c00f95a9a2d40a257c0dc6f4c8adfc07e594f3873e60e1bfbcfeba786e45e9e63eb632ca92b7c935f74b3049e
SHA512 (accfonts.tar.xz) = f70105569c5b8ed83c103e423d29367702a5330d57f743a640ef68fc6a290b246e8f514907d63d6c7f203c12ab3eeb0cc64a45fe5c0379f10ccf1c8002007a47
SHA512 (adhocfilelist.doc.tar.xz) = 14bde143bf3ffa3f2b972f93544089e4c0314c7696e1d711719549b7e831278c66fee0676665fe6eaaac744689d613dce159e4eee2e3f9c24dbbe602794fc62e
SHA512 (adhocfilelist.tar.xz) = 57436dae1489c0f614c4b002f83d34a711398a762ac532b44b1d91a51d068462aaedb5b034923629f7630f039988452eb833d1e98af389c788091517bbee8954
SHA512 (attachfile2.doc.tar.xz) = 3033a58688a822f74712d072be3251c58b96e9e370859effc8a4ff7f8b9db98906c471a6472b7b9ab4b0d9725a9b53918e8b65d5bdbbed56e737addbe582737f
SHA512 (attachfile2.tar.xz) = 57ef4d0c2de0cb854bb91b14a55921851a4abdd60221589f0655afc64a01d4bc672380fd572e0d451b6bac7ffd66f407b4ffab5f0fa1092dc8fcd809c81b23bc
SHA512 (authorindex.doc.tar.xz) = a6c48d89cfd854d8acae47e318bc3951f8e81434d9a81901c8a7b7f1c25188afb013b94780ceb201e81b5d10efb7f5c24f5b5e4c8d8379aba390431707bc4d55
SHA512 (authorindex.tar.xz) = 75e35298e4839f3975824624c7367504a26dafdf4b8e1d5238e2575c821f652282cd9a6e58fb4296b2c0345ff104dbd2281135776718fe4d2ecb76110946ab9f
SHA512 (autosp.doc.tar.xz) = 2905669b9e2b61749cb7b1eaa02be889c4e8d8adbd78b126e7ee6d894f24f623c888a24abac1d163f3332c5cfa9cd1f64d0de95200350b88a7f47faeacb841a6
SHA512 (axodraw2.doc.tar.xz) = 927e42358d543f46ccabb8184e35b6f0a5848783ce9eea09e6c780fc83955d5f37b998254153b1954cf1a59be6cfe573a6c79c2c328ab2a22a6e5f6764a50fa1
SHA512 (axodraw2.tar.xz) = bc9923a9614ef9d7bece20e682729347dc942470a927b40736d6868f02867408b5fba51b117edd8745f96df23b9c1e93792d321291db13b7fdfdae0ee32bb7fd
SHA512 (bibexport.doc.tar.xz) = ec96364b4a9f7ab446c6b0104646e82cab1c9015e0d3dfac6a795e58e02dd3920737207d16089c5470ac32f76a61be949efa6899ca935322c0062f71f3477b16
SHA512 (bibexport.tar.xz) = 75f9cb374e0aee1b049e977e3ee1a855ae8f908a6c6191589ce9d9fc28a8358fedf93faa416b1020e157a8ec7a3980673d00e052a100c88724e86050ea5eb487
SHA512 (cachepic.doc.tar.xz) = 93108475f74b2356cea79a8403729df7c24e95871680b0b53f9316a7b158aa973ce108632a121198459352968bfdfd79f265d4aa301ecd00ce55cf56db5f976c
SHA512 (cachepic.tar.xz) = a0405befc4ed9217cedc4abc78c355b869bb803fa4be32245198ba4aa8151884ace023b3465db3b4757c923d0425fd1d186e25facd7c29d05d5072668a9f0e3d
SHA512 (checklistings.doc.tar.xz) = 3f8d6eb67f305fa5e03bb625a4034ffe616a6c0223774688463884df99c337c1e5bdd76bbfa3b9428ec4812ec72388979c4252ba7407ae8b79e3de7cfacbeb01
SHA512 (checklistings.tar.xz) = 599ed476321a825bea61fbdd468670cadcdb11249a4a9324fc88339a9445ceeced3680459dc2d27c2e6263cd207ffc0ce3b60b325d31072922bf4644478cf544
SHA512 (chklref.doc.tar.xz) = 5aeb13824c1781feefe94215f3efce15c212e0d38f9e0d5fb393e96c2159ba43f165c600cd64ee9d8c42c0a4f0db6c2e462ee85a93993965bad0420b6b662ef6
SHA512 (chklref.tar.xz) = 12f5e950ae439d0efd3f625572e8b81d993485a1efd71dc04c078cb1dc9b76650de3c424d7a6c60ebc5ccb5d29f37ed04c477ea1306acf4c5f4fccbd95e18985
SHA512 (cjk-gs-integrate.doc.tar.xz) = c1165f2ecd08b279cd0d0b028682eecbb3953659426a1885bbe5aab9838a90107c576a3b9bf80b0d54dbe3fc438c8af8a8c82f5faf79052c37d2c5e85ea9ae42
SHA512 (cjk-gs-integrate.tar.xz) = 376a1b287955a801cb223c761fc9bee8af0f587f27f8c3e6cb32ef009fa575fdaf54f5e3847d7b4ca414e3eb4d58d3611ee2194736dcfafe8afb2dd6230c1999
SHA512 (cjkutils.tar.xz) = 36b0d0ef4bae2a9e5f2238c5c9aa125eabfca509462b65a159f66cbafc690939e16760a86e7e7dcce22ffda2f301c039059cdff1af8ed862017f18552e13e728
SHA512 (clojure-pamphlet.doc.tar.xz) = 02ab33398a87a47c76fd34df9eccde47b60b028b3a659294968b35beaead85908d958ccd94b8f706f6f2173c9af3d7f7382c510134dabde4bfab9be20f85998d
SHA512 (clojure-pamphlet.tar.xz) = 67047118c74e1d19426d99bd3a716d6076d977156f1e686bbd991d6b1cba464897f662e950c86218910b485300d40a5cb80d8d43868fb7920cc99a6d7f1c5735
SHA512 (cluttex.doc.tar.xz) = c8e395e087f9ca511db96b96dee3de4a51fdfc9374ddaf40703db0980724000f1987298dc8253d0c5a8d7c97e46cc2a8165b7cad6560fa560213cd5ce85205de
SHA512 (cluttex.tar.xz) = 35c8ec3711963131bb50fe67ef95705a1d40a6dfd831a33d863bde16f16e66086e204725154d0deaed13e94fdc28dd59497561673542151c1574f7fe87f516f9
SHA512 (convbkmk.doc.tar.xz) = 937d436cb9387eac601883ced516fa40f60e606bb4bae0be62e1ded2a31754a1d00461a34ad533cce1cc48f4d11e880233eaac128d80841e0b22f18801e86506
SHA512 (convbkmk.tar.xz) = 01bb9621459bac7eecc99b1d9aa59de420ba805b2e0ecdb2a89f5c86fa4a3021d957b4ddc69617ea406e77865d68e40c657979c488fc51f4676d084cfe6181cd
SHA512 (csplain.tar.xz) = c4dbe1721fc2281cba7e426f6c75d35671cfeddf77a947f147a33c651090bc90528583445736bc2933c2d3986424e1b3ac4984e93cfae5f0ad1cfe41902f63cb
SHA512 (ctanify.doc.tar.xz) = f9b636cb41b126809d808c167410a37052b1c6c385fe4eb8df3b819c0cf2cac2c7c1c74d7ea15d2916c1cbc563e078845e451000e3a08cd9a8e0696a342b22ac
SHA512 (ctanify.tar.xz) = 6774b151bb0fb052d41d8447c7e8d378d7f31b0a5aea5f2f00b93669b8c2f629f479ae21d40480fd62f468d866cbe0c6f0dedd8a0248f8d83cd1039131849439
SHA512 (ctan-o-mat.doc.tar.xz) = 423efc3f2f850c5a9bcbe787edb8155ef76e56ce5e3a1ba3332bb465b8239616bd1fcff2e8a58db6f5ce9d5191ae3209a5451f746250a3b081fe9b35d024eebd
SHA512 (ctan-o-mat.tar.xz) = a995dfc6d79ba77fe673aa501f28eaf9f057c34501fa032423569317e5a4eed048c3375d806eafacedefec02e91bcb587fa6bfb8c0ff980395bb877b2ce88c4c
SHA512 (ctanupload.doc.tar.xz) = 9e027f7ce08041be7668a7a404fad6b6c7cfc71e581ad1216956d0b53c379d204bd84d2d55d186c74f784df8911770b96f934775f44f7141a5f1b9b5e773cb7a
SHA512 (ctanupload.tar.xz) = 4464bdfbf72318b24abcd88e1c25dae5925a96e867c694f3f02a594ed7b8b24cffdcdb345f0054e200a6af63f88b591ff84058af0adfb4a1b3feff2a057d9d72
SHA512 (de-macro.doc.tar.xz) = 079dfa97d55a2989e300856e7877591bd041b239454a0a0f72ed20e329fe2f9ebbbff22497eec1b622e2679316242a845eacab5716e01e74c5c810fb357c1636
SHA512 (de-macro.tar.xz) = 8952325be56b193440dd24f0e6847ed1a9bea4cf8aed86afc7b7ff0a0f6d61130320834e679d55a020d8114d555733a92e645eea8fa1d3afabeb8cac5ef097ea
SHA512 (diadia.doc.tar.xz) = e7487bb47fbe8aee714304150c00866780782a9ad32bf6ccbb02799aeb251345ce1cf042e8b4d7b4011083a3be2fe3b16b78f25a4a4206d173ac1384716592ab
SHA512 (diadia.tar.xz) = 55a246d4e3ab86d6300210d830ce464a935bb83c9ffd29b5387f0a56f5c82d4c5a71cf107f78ffe0cde07f17897e2f949acf1fe70da9da7c7992b330a07b1c68
SHA512 (dosepsbin.doc.tar.xz) = b9edce9984698db8e50f9183f89b025cfa89dca8a8725054af80f379c88ff1d2b02cef8f3d5f37ee5b8585a59d1a4d0f0ee0e541a7784f3f3f4e382d78e6a47e
SHA512 (dosepsbin.tar.xz) = 7f31d47d60b0bf151cd6e6516e29a8414c6344657c133e726e6e8dfe23818995b10b9a2898b1801c4bcb9219969a8af1d2725b75df514ffb119730b3e49008f1
SHA512 (dtl.doc.tar.xz) = 476723cb714863405daaa5fdc35557ffe7cb1149735272cfec2f14473ee65b93da90648abf73b4cf09799b1595569513f3735a07173b50eb6db405d526d40660
SHA512 (dtl.tar.xz) = c2b7f3ab778c01979b158c335e4bff7bbb677fe8c5bc3202a5f43c747119dbc4a7e348c5fbb0bf2a487a49430939fae6abc855392da92ba65441b87e08585189
SHA512 (dtxgen.doc.tar.xz) = f666a2b5d3cb32d43a23cc3edcd92bfb727d500a8c439b4b78bae89ac73c317adac9786e4702e78b5b4861b76489ff7af5cfd115a80b96cd6298c65412d56a50
SHA512 (dtxgen.tar.xz) = b197684c1e941a64b606b472fb9e0f1ed4f5d0b0db2df59202712c0e3f3b3993106b8d493d707c4875e90dacd9dc7d12bba784ef7c8d04984a38708073b1b92d
SHA512 (dviinfox.doc.tar.xz) = 4da7f09620beb3aa7e5a572f31c1d53466607ec0f6401b687ac1da624ea435f0efb3e0e2074252f49a720cb6d53412658a8a45dcba5553315fc9423233755dbe
SHA512 (dviinfox.tar.xz) = d366c28a88f488418405944e299b8e8c681a2bfbe1fb8d37847d89920ab41d3103d52072c7455ecec2451702cbbea02971ac6f1e1d609bde9a2f5e8abd345ef5
SHA512 (ebong.doc.tar.xz) = 22d20c89883c6cbb95f3fbc3da3f4c5526c9c22b15ec35828bb03a1edf068573de0b35187a893c8356b50fd59c93ce4231f02ac4f15de4071e6ced73b9e44a57
SHA512 (ebong.tar.xz) = 2553e46f91021de4fc9eda99ff45f8efe9b20b0663912b4339b22247d1bf7125f9be398661fe24fa2e3fae6a220025d47b05f4680601f7b4842d1111a6128d8c
SHA512 (exceltex.doc.tar.xz) = a6c4ae60f2922af773f67494c30407b5b6ead39def9253b4710940774e619496a3c242f7e9bcc8733fc733234679bb2b01c6f4571e30dca16c8eb15ad8d6d01c
SHA512 (exceltex.tar.xz) = ef8495b4ef6937af022951044652ea1fb1dcd3f65961408e84a52f9053db8f4fde6703f18833ee9cd002bc058f01813ddf765f575200211563d6e16a956d3613
SHA512 (fig4latex.doc.tar.xz) = c05d3c08b916785b765694e68b8f7cd96c3c359325e8f84166102beb4caeada7490ed24ad0b4f52a66cb822000f8b4d75d1013b93055898e88e82d7f23d5095a
SHA512 (fig4latex.tar.xz) = 3f01676ea85d64e09376da4481794e1537b9e19c0ff0bac77c022b10b5d49c39d789de6e4f0356b4ea4b23326f9ef320f4b08035bc04a827951cbf44ed7c6228
SHA512 (findhyph.doc.tar.xz) = 97f3fa22fe490d21bc9e5ce5ea0b23ff25ab9afd9c5dbf6e8d78b24fd306ddc132c5ba7ca7ea7e3d7aaeb48993c7968b0c02ae0b765416a939d84b53171f4179
SHA512 (findhyph.tar.xz) = aea6305dc0d9b31367638078a7958933468e761ef4cf47a1c44d9fd5ab2e25f7af22273c4631946a90edc9b51947c2e56b3d4b74c8c59f0a79250c2edf5bc137
SHA512 (fontinst.doc.tar.xz) = 23c569bdd6f12dd4cd0b5673ed9efde2c7c7988d86bf2f89409bc22c80f64ea80ca6824745b50ea3ef30f70e4bd7c8d7005a9e05e511c1e917a12630f4b4bdb2
SHA512 (fontinst.tar.xz) = c3668f79f4b926090188386044fd68b0f13913168cdcb2aa23ccfd3aead488dec03e79133669bac3d2b719fdd2d5ef735fd46cbb27fd26fe560368f9e0cda05d
SHA512 (fragmaster.doc.tar.xz) = 61f0bd7dab46bfb91b634006217f01648007cbce3c9187b0811a5cc1755ec19654da94b47866ad9873fd57629f1561d1cc46bf3a4d62db618502aa0e67500637
SHA512 (fragmaster.tar.xz) = dc5d80aa4bab7a0a66258face6cf8222d03b12ea492f7cf568ef815a6d5950a8a2b36c7403ab466141f49cb8faedfbb33146820b88da17d8b8fa18a2b16235e4
SHA512 (getmap.doc.tar.xz) = bb55c60ec958182aaaa6dfc292a06fbad8a0ebdcb56a6799f1358ad2009bcb72b06611672219c5e9bd6d7cb4db76c4fa030be5e06f9bb38d04fa6744f8bca330
SHA512 (getmap.tar.xz) = e5287152442820e20087b45c50a750af621e71e2175cd6790231d81e1f338e50aa75f29d9fbc31c2e5802229c8f15c4e0c7769d0513f1d1b0bafc96a8a3b120f
SHA512 (git-latexdiff.doc.tar.xz) = bfda354f808c1f94dfac207d1526409a160b89292e44541930dac34383e3ffec9ce63d04db041ea5ac529e1e01fdc80c4c64cd43e8cdc14aac974094732d6fe8
SHA512 (git-latexdiff.tar.xz) = 74077b3dd1a91a734af6d668b309f804dc58a282393d88d8d5d74a5e6fc73c197e49b462369f829cc7151e20aaf8085c0587428ed61ce7957a1ef173d92c5481
SHA512 (glyphlist.tar.xz) = c050808623d162ffbfba8742c9aee6c92555717eb3ed0a0cfb0e3cd6696c4f6d940aa494582011e6d0becc3c5572ddccac2598ac8d521b58a323768272f9125a
SHA512 (gregoriotex.doc.tar.xz) = 67f018fe0eb9568b0ecc6977de8eb8fc1b0b9503372e2f674a97723c537d8a8fb4f48d48b95ee8979e4d4490d3725cf4a1411ab9d7da2ea14f72d0dad0fddd95
SHA512 (gregoriotex.tar.xz) = 00dcd5bc7c12374a15d778cb903715036bd29a7a07522446cb5a5cb14509956db71df518d97e44d1e89366402281c26b96eaf39cc9f97d624ecb40107eae3db4
SHA512 (gsftopk.doc.tar.xz) = 0a597e2908438fc00fc2bafa7ec635a82b70aad9d7f7e86851a654c0b72b719b8c550be0c20ecf6c8d96627863a48e6a387156ad2c7e71d1e296dd4937d60805
SHA512 (gsftopk.tar.xz) = cb9aebd7428d10b627d80ea40d297f3e6de006859c7dd713478ff193458494f90017ecd0737376ac1f47638b059e02e8a46ea53a7c56b8561af75f770e214413
SHA512 (installfont.doc.tar.xz) = 2b61c4b229e0c4ec89c591075e52bcf8c150f5f9584bff94f81ec1f229940dafef11d6b6f84dd086692cbd99e6616685533d4313ef5bc48c56a7494fef3583b7
SHA512 (installfont.tar.xz) = cd5133b93c5daabaa0ea13649f3d34c28f9af9f92db54917e64cafca5f5e7fe5169d87e36783036850ccde0002d34860eceaea528ad06e21f08141106e6599ae
SHA512 (jfmutil.doc.tar.xz) = 045b74024de9798fd7c74442404dba0610a94f66b60455d84fc33bfe56e8612b014fbd83cfa3edfb0c3a8acb31c0dece69ebefb58294b2d271dc1dc2e95d094f
SHA512 (jfmutil.tar.xz) = 11f0ee88997b197ccb4cf249a92f90ecd08227b0086861b59752c2e17fafb1e1fec7a1cfc701d5df91497d4cb9e61d13f892d776ded07c34d7dab09a2a65eed4
SHA512 (ketcindy.doc.tar.xz) = 1704411b3e7c41b6318ff6f8da56007dbf1bec67bb495d25364d6274d9b8acf234430081c22bab6ad13ffd0ea47586e6e24c9f27da8a97a309e2128ec74f89e9
SHA512 (ketcindy.tar.xz) = da33a0bdc989fcb6f4521d23e5d44bae70d608ed8ac10f05d6962a252e99bbd80380afa2cbe9e02b9c652b044dfff79218f951144da6ce55f8a53033c11ff346
SHA512 (kotex-utils.doc.tar.xz) = a46c5d09d119fa2fe8b9acea87a37776536e3216b776af6b7037fc5b0a522af5c1a58baf081e60f06c9a4054e8ac2372458c276c779038a030dc92efdfa3aef6
SHA512 (kotex-utils.tar.xz) = 569e9677ef0f346e5a53f4cc84302a8ddf2b4ad85708f4ab8ba7d076ebf339ec60998a41fa92fa815167e9bfc37085ebfd921dd13a60b017a0574e4a5d205802
SHA512 (latexfileversion.doc.tar.xz) = b1df01f8bc7daed937cd20d1ab7cce443a3d1fbb58e04cb18f0c0b30ef0795c988cf51bf49ace2f960c173f6a95fe982ee9d29d7650dcde21784c788165094c1
SHA512 (latexfileversion.tar.xz) = 3a017b8a367864358370f0063957c301014df2aa039566ef33ae78dcf428235ccc2a88e19c917c940e186371e2c0b747887cb04e7cb78b9a04ac1720dbd94cf9
SHA512 (latex-git-log.doc.tar.xz) = 52bc94324c64caac9a5b25b49c9ea01b8560433d640646ee70830d27637482cf50da95bbb86db93006f2be4ab9f5f79fa144e4b631d62c05f0a11ab45e639cbf
SHA512 (latex-git-log.tar.xz) = 15994c6eb9ba1b194df270c68a3d74ab3db11974875ce192559182b2dbfa9b308d598056a3145f2cc2f6718865a5b140ccb95dea22a9e23edee527e5b86362ff
SHA512 (latex-papersize.doc.tar.xz) = 8ebddd884e3e533d06332f2d6f8657ed54c9c376b3de68c7e7652f3b2835ec6601f5326ea70dc830b645440f0bd9ba2281e4f71a847946bb595771c6a950c0a6
SHA512 (latex-papersize.tar.xz) = 00010f764235c6d9e4d6667c8c8b9f0ec6ae4b65afb53109f8179e0429d4b3787bd6b0985cd511f770cd74512483d1077e0f42136fe7ce1871984b372f2f2e54
SHA512 (lcdftypetools.doc.tar.xz) = 5a1dd1e2fd79351afc65d6786b24aebd9681a2b9e92755b44a836b47da5ceb1817f085483f306991a113dc0c26edfcd84839dec93bb46a003034536f31b31e5f
SHA512 (lilyglyphs.doc.tar.xz) = 4d9ac765c6a4b2b736d08569eeb6d0d8b168fe96563526264f2485d3d27a944a3e81c6144cd8f1d8cb5162d425b436fc688172db18b09610b3088df4ce868a27
SHA512 (lilyglyphs.tar.xz) = 2616757691d289e859fb2bc161c2a5b5312bb1cd824aa15854520e004a639e597f42515756b3cad383e4e33b3057a1579ff5c2ea7c39d8f9bf9d36e9c9b58b70
SHA512 (listbib.doc.tar.xz) = 0ec0970f591fd3a840c27730d41f0b817f631727c9c7219880b45209c21fe0d3aa616eb6eb94bc7016a9acabfe9c50846d872d3b36a104e1f4eb74dd003a16d3
SHA512 (listbib.tar.xz) = e71bda783acbb8ab6ccab3d8af535034caf0eea919bbd175685fe50585970b87613e0df5ed076967aca395cd8c7f1317e805fb1cf765897b03d6cc131d3d98b8
SHA512 (listings-ext.doc.tar.xz) = 82491f81dfc89950d085f7cc41dabdf7b895b23c8a69f80c1b4f4c420fe8f036ac181b56e3ab60496910d0f1165ce19b2f94c5e268dc1d59e352ab6747e3bee5
SHA512 (listings-ext.tar.xz) = c68752d0e7a1ffb7d08f153bf337849164d0287f20ff8f092635ad7083b2e5a6c487bcd9dff913dd029f4ea92750768d23583eed53a0c2d3bf012e4db059708c
SHA512 (lollipop.doc.tar.xz) = 206dee2be733e3ac04b5b259862b60fb3641fc44ea182da601ca54a010ff8e42f254dd01c03be7bcdd2a6258110c567a596ee82b4eb74d04ca8ed70e50cd6a86
SHA512 (lollipop.tar.xz) = 81557b83acfa4ad42dfa6fb1a65ea42bc33885da444ee23bc3c67a899df7b3ac2c19a1607305b5ec10b503980365c5d29ac3598339fc186a05417ea5bca60a78
SHA512 (ltxfileinfo.doc.tar.xz) = 0020ffc5874e0545c7ae4d1f6f9c0d5d598786444f4e98369e0c5fc872c5d63f235222594a9b0f5d2def5c3dcafc5ad660a4fd5a9e4551dd7717bc6ac06189d5
SHA512 (ltxfileinfo.tar.xz) = ca078af6b822747e9b337eb5694c1b019444e55f5f9f9dbdf59fa1a65c9445b19a62b0d610514c9231365017d3ea95ad9288a37b62b400c12df74c0c7f774a44
SHA512 (ltximg.doc.tar.xz) = 05f9639a0224c779276a3b7f19450c93e255c70680fd54292e1ad41b3c89aa15dc187d58a73475ed9a8f7279faa0f3a0ec15042e75a52c70d78416ec46255b44
SHA512 (ltximg.tar.xz) = 0c91f46da529823a96ef441ec88d6d3c077a8bd5997bc291f55012e0d227cc24f00081f846ae127a364cba26498a74f2769d401e6d5fe0057afdb2a76a875f4a
SHA512 (makedtx.doc.tar.xz) = 913f6f02ff478ab5edeed4792846ee6bc06d28c16fd3d7396d394f4a964d6f39a12c8163d66a50a5bf53add151317184b09a712dfd32f9ff783bda7f520c7eef
SHA512 (makedtx.tar.xz) = e083fa791975cef84b2e2ba3472984e354d5ced50ae7fb96dd8239cfffd379e7a25fdab80abcb721e63dfb10d9557bce69e97c5624d1635f894bcd26e22b5f4d
SHA512 (makeindex.doc.tar.xz) = 40b9ee1ebf7dba9a4bb4bb3077cdb1e88b07f276a9d0ae9c2817bd76a2f742ec9237d1b6d9658694fc5fc4e8f82591194862637bd83ea8e106c0541591d343ee
SHA512 (makeindex.tar.xz) = 5967ba4123fd4c708ce841d29211fdb66c28518f4b418903be0ddf2a49964f706af96b250eec814c547e0703460c1273ce72a7acf3ea9fe28cc1c7073af29d3c
SHA512 (match_parens.doc.tar.xz) = 60428bc16f65fe820e267852c9d85a5f862c6800ac9c2aae0915a48819da381b2a311fdd3d08096d4aab7311ef86c1c89fabff3d88caf419dacbef515f4dd39a
SHA512 (match_parens.tar.xz) = 1e03e279e977af436a8f5d5c3d30f046f46f1a31a0fd3de6d8ab458a64f0634b5f3ef8a338954971a898a1c68128f60c6eabd7ca231df9f3ca8ed12e55967dad
SHA512 (mathspic.doc.tar.xz) = 1702071f4c26097e241ba161258a51461405954105c8a7f2d92a552d6397ef69af029652ba5528df999c569fae32955d1b194b0f7c4475b3fc870656b473386a
SHA512 (mathspic.tar.xz) = e556960f07a003e877ce678110e724ef94d34aabc0ae52c59ec2ae487fc7d3e5de169844baaefd61e467e98a7a9718d94d881c3f0d43855e133040bdbddb6a62
SHA512 (mex.doc.tar.xz) = 091f2825376718d8c2190555af7ef54d0ae5202425d57b986fba861df2f8604301df5a121ccfcfcdc91032d07dcda8289fb8de5d81c487b93b0e202a2a5a658e
SHA512 (mex.tar.xz) = a79d6a1ecb15f7962826773d7eab4b1ffd86a5c15f8076f096fecf63df1bd661449eb7d14251a57a1eb2bede030ddf93aac170fc3c59ae0a124da6cef69e55be
SHA512 (mf2pt1.doc.tar.xz) = 6c10831fdcc48d25645be675fbf5da29da945bd79032c60e73e04a39d61c287a64e7b884381ac0b08e48f5dc9b6dec27efea874f6e13d6e4a5e3f32c22fa3ce2
SHA512 (mf2pt1.tar.xz) = ca93a3ae439f9cd8029720bd1d90fbe75a403e7ab4ebcbe1ba1e5a7a28aa9269197f90a4aee849fea59d734d5dc38f04eedc140ff1be64fd805a10ab5510a2f5
SHA512 (mflua.tar.xz) = fa735fa117e7bd433339efbb709caa5fc25007088500dd5e4f6999cc417d188fd43435f74d526186880ac857f9bfc52e1fb7f1055974cea959e28536150b1a19
SHA512 (mkgrkindex.doc.tar.xz) = 5a5b14d4282e97420f796456155a71c23a44d4197d4d92bfea1f0f20e95b42e506c7be3f2b0aba37508415341e999522bd823c649cc6259a6e26d42399c6b8cf
SHA512 (mkgrkindex.tar.xz) = bbb0b306f30b4fe898f5d5bfdcb1eaa4d2d88a95cfa1ea0da51957aad1de028928562c930180f6c0a7d66b5cdfd804d52afbd229e7ca43173477a229cefff192
SHA512 (mkjobtexmf.doc.tar.xz) = 3ef5c333cedd5104b63c1457fff2eee40aea7d1f1b187d34ce4cfccd5b6bd38809b7686dc7b41a147fbee2ae0e951470f3ae574bd3c10a5f9b6fb76b686ce4f5
SHA512 (mkjobtexmf.tar.xz) = c0dffdb276141b78bd2c47e6d2bfddcd13c1800d3a0806a05ca1fba72a91621364b827801430bc757601e07f2a5130366ade49d7ac1df27901fbec29827739c3
SHA512 (mkpic.doc.tar.xz) = bfaf4232fc39c13fefd86c21b2f9f76cd93761c58e39c1420c601627e95adf9e6c5c06db73a0afda6621acef374089dd93afbd2a3bd761cf5aa8db29883375e2
SHA512 (mkpic.tar.xz) = 7814f14293e10a23bc9348dcaea9af326ab4dd93cc55865320706984e50883742381b5df3e77774e7a63fbba7ebcbe0fae7268a3d1a34ebb2d8a0303f5b53034
SHA512 (mltex.doc.tar.xz) = e9d5a1cfdc6183bf99ef369b447c73e9ec5926952a80a75708db4fc6343ffc1a10d599276c13f295005f7c8c56e2e35ad9edc9dee3ee06928fa8c7b267d82bbf
SHA512 (mltex.tar.xz) = e04f33b83474e58c4725abbba21ae56659920ad2929faba7f25b47befeeb7e207e36888e1dbf7260ecc95c126e1732f6f5dced3d277db7c3889f2b08590b04dc
SHA512 (multibibliography.doc.tar.xz) = 3e13c8c60ab8091a363b63a63259e53e3c5076feb224a6f426e55a351141f007ea8bf7526b0f80684c83e4e97b43f5f05217e254f978e8b69665c736efbe8512
SHA512 (multibibliography.tar.xz) = faa2e16b8bdb9309e2f16cdb2c717b59c8ecd5d73e4819d72ee3226a80fe0c0ff6b4d686d0f1d009601e0d6dea140cd4812c2f4cb94f37b5bd9cc1bd19137965
SHA512 (musixtnt.doc.tar.xz) = 2da473ad2425064747187da005e01d6844731c536b75095828a85d358ffb1344331ef483c0cebe79b346b4fa96a358a1e416cce7d7cfcce6b1242cf3c0a3645e
SHA512 (musixtnt.tar.xz) = eab6332d626f199e46dcd03ea546abbc4446b41c4b0354c066790ebfde154c6fa90f861dcff77206318b58a31565d884576899629520e78b3285bac673d1f4bf
SHA512 (pdfbook2.doc.tar.xz) = 3048de4be891e270e8efe9f9d85524aff948c9483da25f491669a7181967dc281f42b984c9ee46464bc563c42a4f171589066f67818a291a136e1f49d40912ef
SHA512 (pdfbook2.tar.xz) = dd87268e3856eb26b37f025ac62f24cd5e680e92e727588d36878de9df799f49254ef2259c29de15db11d5888ada83110a39aaa3116aa6f6aa290d3e64f1231f
SHA512 (pdfcrop.doc.tar.xz) = 786fe00793f62e09f225ca0decdd53ad3b2ce03a133a2ae4ba20db9d40352863dc6a8728e005aecfcaec06072e8a0ef454d1f7fbe90bfc5997cfc65c6ab97170
SHA512 (pdfcrop.tar.xz) = ba611ee2a516fb031a7f3c93f563b2aaa2e50d4ef95433a5d83ee46191c2a6001fdd4ef25f33166c0e3f9791e85c200e452684974d54d34e8d651a7254f6652c
SHA512 (pdfjam.doc.tar.xz) = a29c09a2e843188135265aaec690e09cd08fe29076a0378b308ec0e48aa7936ba0edfa7d6ad3ac808ec334bb5c2793a32d8ef625f4ad9b3fea40d4db567cae56
SHA512 (pdfjam.tar.xz) = 1b1084859a811861e60e27186d67d267d3740152331f50fdbe67ce7226a76b4db24d79b674e6511d2f3de9a711da3369c565d781614f5d0c1a8021bc1ac18827
SHA512 (pdflatexpicscale.doc.tar.xz) = 64440f794e88c08bfeeac75d6d4174eccb800125c8d57e3b0be3ac6883c04790d422cb05cbed6be7335ab2e4d2e6bb2c8c0137c04160db126674960ddb7603e1
SHA512 (pdflatexpicscale.tar.xz) = d36dcc4d70156d52bcaf668d620c8eee5db8914473f943412ea5ad5c8bde673a6715fd5a69d13e502a5d4fe0b1e0e55099432c4e0e5e02bd5f6155ca5804c3f3
SHA512 (pdftex-quiet.doc.tar.xz) = e13392cfefaed2c154c086ffcf85e21725e4230ce78d10e07dcb0a1c8b3685bef2572c5f5e249c56120320f2b0167cd5055ade50625a296446a197c0ba4b85cc
SHA512 (pdftex-quiet.tar.xz) = 7b33e37a4b33060abee48ccf825cacecdee552d641da48dae47e3615fa0ab91ea9912b52fbd5c5ba6cdaa9c0d2cc7baa7c48a80bebb6d1887e5c633dacb4d104
SHA512 (pdfxup.doc.tar.xz) = 23db38fd8ebbd04bf6fed3b2814360cb6d0b736db1540d0298e9ab6edd449894c420078adae11d97998fa1fceb8e7083adacc0048337afbf4b6fbb253c8ed21f
SHA512 (pdfxup.tar.xz) = f5b7623c1ecd132bb3646af5953245bc7378901bd5ded2e910487770cd79bb3d248cad426aafd18dd12a28bdd46be0f89b81dc95959f06688fb6a7a8f96dd11b
SHA512 (perltex.doc.tar.xz) = d39c93f4bf3da08266bb0f10b06582db2bf96bee73faafdb191af3770c7c24abde407774f21d3c97b1f2453a8a9bd24576acaf0606796d7439334b8b1e42ac7d
SHA512 (perltex.tar.xz) = af7cd6b065f2405a514d20cb386b34399742a42286002ab3e0f795b64dcb434ae97470ce9cbf25cb27a9b124ebe56844b47c7cf89e1f83a4bd35f1bfcc98163a
SHA512 (petri-nets.doc.tar.xz) = cf03048e2bccded143fb493b100fd19103ab90f40713441c5380446702d6c57ac3820f2892a3dfdb80880952e09de78e69b309783767a3e157f76b81c9360535
SHA512 (petri-nets.tar.xz) = 0807444f934acf16b052dc499a097a2a645d037622a71430cd82fcef85d11bc652341ce6396a27d717effd08bde8ba3224c5235351fa9146000c01abd522f644
SHA512 (pfarrei.doc.tar.xz) = d50ff4603d51eb72d1d12e7f5b1440fa3d7abb1ab74fdf441d7e4a474df91247a1ccad504a14438bc0c3c6354c8f8674f180b5d9d826ff09a8749db3cf0d08c4
SHA512 (pfarrei.tar.xz) = f6046dc96672b60ed272dd6fe23a4a51032f039d3aeaff3f8b5e2407c99fe1f43c568a03564a7c20212a97bbfa4ecbd0dcb7f5f44593e1485c8e5d9197467a6c
SHA512 (pkfix.doc.tar.xz) = c6819c63aa4cf7df5879a796e08299f2fa132e1244648d17a7fb0b3c28204b0641e56fe4661887c257ca4f5998786c31b1cae2aa64e3163340f08d02fda4c8d4
SHA512 (pkfix-helper.doc.tar.xz) = 50103799bbfc18a728b6510f9cd3d9aa4cbafaebb1e68f2f3280b3a57efbdbf75ff68f36e72b4442e49bbb04801795250fb3e2d0728968e30c1e70fc5b7d15d0
SHA512 (pkfix-helper.tar.xz) = e5151d85d2db65f41b69320ad92611adcc8d211719aa06f39488ba75972f6bd4eda3a9ebd9f13e8889eb84451a640bbdbfd8862c95620304917cca3dcff4a194
SHA512 (pkfix.tar.xz) = b4d374e5b771e131075ec59ef6713c6433cc3cefb6331a933e791c3774a9d54d6c8427d70a4aadb2c6326c3733abdb562ca103f0b6a9dbcafd87856d20b18a24
SHA512 (pmxchords.doc.tar.xz) = d4075306620fa1ce037a37b9d2646d197348f6482e1286ff6fd99641a8b441b3d830a1420dbf6c025b8d11af78363b717a1acc7ea6b9e2954aa4f11ef04452ad
SHA512 (pmxchords.tar.xz) = 0a8f4a88834eb22d3f11ca567f37189af7834370530c6dbca4d83482e94cfb48b128bc1290e7f3ee718bffb4df445a300ddf5081805f88002f53bcf8b434bb3c
SHA512 (ps2eps.doc.tar.xz) = 0194c8634c5d31cf441fb3d7fa171d85358db9831c03cc77bac37272ddfed81d8296e9b05eb4daa7c8012f3bad1a01625aeacb2232989969551e01a92912c409
SHA512 (ps2eps.tar.xz) = c43ba33d29d5b23ece2add44310b89036d5c4725ad76da1ed6e17bb93d0e7d103549f4a7e7807f89cdffcb19a95e0df2fe7851989b8a3b691aacfebfd41044ae
SHA512 (pst2pdf.doc.tar.xz) = 5805c535c8a043fea721093a4b7d2ab06c86c80d4a45eb3d603986b898b6d2053d041b638874e53c79e2d815a929749e02ca0986a2f8cbb400a2fa87581462dc
SHA512 (pst2pdf.tar.xz) = a266409d6740653bacb23e83b98e545dc462ed879299b195d65761b10e4700a797005ca231fc24e37a42591c09ba93b5ea6b8b82ad8b14a29a7649cdb3f39b33
SHA512 (pst-pdf.doc.tar.xz) = eb5013040f3774e81d019c0010e8fb507d22cb2fb9c74e75f2c14aa0e4edd20245ddaaa3744fec7204c607b5f6329425f8f2b6e09bd153e6df6a3ae39d1e1625
SHA512 (pst-pdf.tar.xz) = 5f5850f0e908bf6b10977bf616aa82ce05d1f0afd4127b5db14379a510ca62614a3552cc85ec0136805fb479201c817442872f9d1074fa6cc1367f41403476e1
SHA512 (psutils.doc.tar.xz) = 8b4814c2a769b1ea8831aa945352f31125267aeebedd8dc8abf6381928707799bcb1eb29214930152046bab63b1a56179ea035ae6568595fd5ac83bbbd22f588
SHA512 (psutils.tar.xz) = 1489c9cd3ae9e1063367301f038cd52f0fd7f5b2d548ea78c06a2bff56100aa613cd01026ce601527b6a32f88b6ed1df96f9c8c6a591d16a63dccdc8e32d6969
SHA512 (purifyeps.doc.tar.xz) = 3f9fadfb35596835b250cab98b0d1e3c6d537cfac5878e0b9788aeb5cc7ef455ce3d44f7d0f03e9002796a162d374f6aa8f9bce5bd4c3f0e8937040de0b82a8d
SHA512 (purifyeps.tar.xz) = 79d99ef7ebc462c7c65d03f23cc85b9f136df2b0c9d647fc0672584fa57bfb7447f6db0e6d6b11bfc738cfe8c8658f45fe0b4059ff00f355e4b21d44f0d4102a
SHA512 (pythontex.doc.tar.xz) = 3ec2fe0f095384734575c2c9fd1bc9d485b628485c8ee75cd8fb9ebd6d1f56edbec6f378c7c9e1d5ba9c10c4bbcc3934ddb957dc47a258ac81ca89b5ce3a2e92
SHA512 (pythontex.tar.xz) = 2e67beb9974eb9a567726d8a68f7d565aeca97d20484ef6e36312100411eef9d9de937297399a98f367a756f6679314cc1a25201ff11936b8a61f8f1f148830b
SHA512 (rubik.doc.tar.xz) = 33d5c8210600cb4ce7b1313d1046f6644f0a6648f7ee9676d4d628d042f6501b5e92f2b56a31fbad6f637dc93a460a568be9e1335bd52bcea825f5772b2a9d51
SHA512 (rubik.tar.xz) = 67931287ea126947b5b2d567ba355d44ce094b2b527288ce32329de4a73434be9a43cd520e6c24ef570a46a16c0edcf12212f46228ee1bcd2b8a8be7f9db3a7c
SHA512 (seetexk.doc.tar.xz) = 1b36ac131e25541123a7d18e9a5e3cb1fccab04ffca1b0d1e5a036a26de99fb05e6745d43cac6dc76a295eac5503f90eafdb2b40f96c88836123b5b599a47e2e
SHA512 (seetexk.tar.xz) = 1f217550f7455a82dd1771556045e10a39138eebddc90f4d38a274d56d9072501d94476c6045012f3c5cda43aea71924268fd222895079b225d893df3b78fa97
SHA512 (splitindex.doc.tar.xz) = c8dd92e955fcccf71b412d9750fff7b6f214e929ddf194a6496a79a146f4837af3d773ed3f2303546727cc4a8fb9d5366dd75b64d3877e6121ce20315f71997a
SHA512 (splitindex.tar.xz) = 858033eadfa82b4e40a388356f64002370a5f4fc2c95565eae90c68373f708a3c9827fc4e0ba8094659382aba4e5925cba86632733b15d85ea6a82f73ace8737
SHA512 (srcredact.doc.tar.xz) = dba9916acf75e800af1e581b4276e82bfe4c421a500a400773354766b37849568c1f19752a75983374ca41f793903f9776423888215f00376db1e0f5f3b3dbbc
SHA512 (srcredact.tar.xz) = 9e11ed88fbbfc0130f43fdecd8fb0b3eecbdf50eb33bdca57bd34c860cdfe84dcd560371efba4cb261e65aaf4577306f478d1c43ed89152e7e21fd627eb7328d
SHA512 (texcount.doc.tar.xz) = 5141bdf4378cf87a19933945d6742427f4467dc73d92f4a470e34474232dbb2f60c4d8db065f812481520f1aa2f8a90d7e97dfc83f0f089d10386847f64f4d94
SHA512 (texcount.tar.xz) = 82f51346d9474270af6374cc1619ca005206b1bd729ce1559b8b66e361b184a192c7fbe085216a3a64e656197756593f7d76e52437ac562fd33bf09504b0f58f
SHA512 (texdiff.doc.tar.xz) = d458fa8db6433b4c7fbd23a16f9be53c2c822e396e7f50844cfa6acdd2a08acf8efdd0bd946c8fdc09ca8aa28d1eb25708d3719184634abced92ea5c94d9a948
SHA512 (texdiff.tar.xz) = 26fa84b3090d641efb186947ce4d1d89c30a2c224cfc8fa759da3ba7ec9cc113c0ed4afc1c3d0fa5f9d0a88af4f9b3001d57651df6b5be6e0234fb78ec4f252a
SHA512 (texdirflatten.doc.tar.xz) = 1114dce13ac47c4352e968f42e89582b62b2702bc25ce3a9a4fd766b3bd63607e11eab52d19bc9f809b2b67cd92153c4f591632cfc72dcaf1c0a1b1cfb416b11
SHA512 (texdirflatten.tar.xz) = 3cd6cf4d9ff3a1a3daef0bd5a998417696f6645cb54679e99e5424ebbe3926c45acad7b999ee4371392a7ba13fe3f2899438ce66efca7829c7aa1eaef84aa6e5
SHA512 (texdoctk.doc.tar.xz) = fb403dc17ad839ea64bcf6da84e59288a8745b5eb731051d7df8593138aa5d3b6891d56f52bdbe5c9a41e590f1f36db390e7e7a825d9aaf00d4fbc01c8dc16ba
SHA512 (texdoctk.tar.xz) = f3300a088f5ecedfe66ca277f793d3565b5b0f111721a0d73a788d65b72f09d0103a11edda13679fb9e919f11ce9ed3662717c18e46be99a83b744a1f7ec88fe
SHA512 (texliveonfly.doc.tar.xz) = 46d57a6ebd68a56d55ccddc68006693fcbad8ed8f809243a3ffac7adb82da58cbc28239b57556d5d8d6388ea034b6571557588ff9365d4891145d5cc3fabfaea
SHA512 (texliveonfly.tar.xz) = 63353a768b700ea11982e9552046dfd1dc3d844883f03099833cabe2af5ccddecebd7ef737fbcd256c90304174165a4d283d4912f8311508e61c723d751619a7
SHA512 (texlive-scripts-extra.doc.tar.xz) = 22cf59bf4dafc7ad9425086bc0aaedb2bf5f7d8aa6ea9c65abde2d523be37665b9c9bee4acb399857eae03613e7241ca1d6099f43cab77a95c10eced8813ad80
SHA512 (texlive-scripts-extra.tar.xz) = 46ac37826d3c60de6c9260bf83d6275d49a35cbde88fb03481a050f92e87b698e9a94b2e520a74edc0417419f5a2dee53000a529b9c81ea6f6244a83480e56e7
SHA512 (texloganalyser.doc.tar.xz) = 8eb890f880dc56d37e29e2f0bb3228e36031d45010677097136d40959ba7ec0cdd10b5056169325f481318f137a9de2f180438f1716bfa12705fcf0db315e3cb
SHA512 (texloganalyser.tar.xz) = 85f491af4a3867283d56bc2d98ebcf491e622008b3a70bb2cae03b9deb38170e1c73088d109445fac11fcce6e10aac57f42f03066580a79c978dd19af1f74caa
SHA512 (texosquery.doc.tar.xz) = 51bc4e5a9f62b4526198b380fa69dd2d79ff69ccf0915aef4269d890fed057c4130ccca65e0c279e58ebfb72347d627b186534138f9c4bc8d395677c73a2a0fc
SHA512 (texosquery.tar.xz) = d454a95139920c24404a501ad3bbde4ae8e809e0f0b6b7c32053d375e0cac31d81087a53d65ab067c9c6dfd988ae90429adbc5d7cd2e1b23f41f46dbf6a25056
SHA512 (texplate.doc.tar.xz) = e28f0f3476e710fcec772206138a2f423ea6f9df903bfd4c4a278453f217752b7f4ffd7e68f10821ee36a9251a14e6226887ed5aa7a5fb53e5deb7a1685a04e8
SHA512 (texplate.tar.xz) = 5b19c1f2d5bdaacb1c842e78b1980ecb3f4fc548873e6a36fc9c5a70c3e3649b812819cc0d3bf68622acf31ac6c687cc4ba657ce2a4682bd13faba4070b0a1d7
SHA512 (texsis.doc.tar.xz) = 2a4979a10514ccd589b331ff34a677a4e22adbeea73d6112c9a14392b3ee75a8cdb292b008b160792b3d00b812834afa7e0211db860c41f1beb69bbc900fdb90
SHA512 (texsis.tar.xz) = 7309726b33eadf8290e596aab50bb1af95600a067338b352c1ac092643a8c6d4142180d0146abbbb828a38fb08fdd9ae03da6572e6c221afcd151a51430a423e
SHA512 (thumbpdf.doc.tar.xz) = 26f698eef73b85181abbd155e8ec8f6057f7ec0c5ed1448a256e4fc2e41cffc77474fe4c3695d611e8993bbb1afdf238e3db3a90bc2b7af145535f726af027ed
SHA512 (thumbpdf.tar.xz) = 74d1b32b1a48825c423d4346258f6f1eea60d2054ed38b3d9d4e207a3375e35b6e80d87706bc2d265f62606a449a0a665c8698f4e1615b39df98f6f54b309fff
SHA512 (tikztosvg.doc.tar.xz) = 3d90c0963c570a115390603bcd5f39a224a155faea8ac6eec511b9689ab98383386d3d6e92076129e0f704d69bd18da52cf2f89f5db024a4d5c34a75c1edf279
SHA512 (tikztosvg.tar.xz) = 0957b87c9a06771afab350de769e3fa9f97ec0aa09e4e740d0f916992948a65740a96446a0f8ac144273e94f228db2c6c0ddb22bd01ea9f0f66abe5adfe0125c
SHA512 (tpic2pdftex.doc.tar.xz) = f24f8508279ded0689bb9dda8c653cfbd903c46782744fcb8d004f50a771ca74b86549c86abc765a408f2be67334048390e407be9446faa476a02ce9c27d5547
SHA512 (tpic2pdftex.tar.xz) = fa8689bd257b6336badb8e5a742d5c5f12d9088b33b43bdc41474feda62358c754db05735fa471baa307907bcd61f68e8d061e66c400198d6a1dc165f39d2226
SHA512 (typeoutfileinfo.doc.tar.xz) = 143c4ad9cb3890b6350069d5d045f74c0bb0cfbe50e7d051c50c82011b56e651d483c1422d7d553a8d1d1784ae726a1ca1aead023fc3ccb1da4f0d59d47f7920
SHA512 (typeoutfileinfo.tar.xz) = b30d2618c8cdbf69fcb8a5444922185a52b934448b5d28ba143948cf80ed17cb402d73d1162194df3d2992a52ca9e6faca79000644eef968c4eba892c415b6bd
SHA512 (ulqda.doc.tar.xz) = 182dbcb73a25e05035f878696887ea219569a1a7ef44281bee14b4498b37e92346e0e97d187a5f3dbcd8d9783f260080ff10f58dfe41e69caec4888d901b9128
SHA512 (ulqda.tar.xz) = 228132cc464dfe171426fffec6103f0dd5eac61c112b03d64d98bc89a0af0ddb7f52f27f9bb5461c8be6f752ae30ef3d4c6b987e580d834eb7524d5c27d956cf
SHA512 (uplatex.doc.tar.xz) = 7a66eca2b04deea9af77b2663b423b928c25e4b3074ed01e7aa3305f1116c9c1d906c214588ede8b4310c7ded23fbd6a7a63ad070bf3e627d9a2b3bd23162b00
SHA512 (vpe.doc.tar.xz) = 3c60c736fa03de82bfa5bb86f40420e7f7eb59f6943a94790361bd1d64076ec97843404d1cc508074a903f83392892c6dddd1dc912162928b286e65c24a46037
SHA512 (vpe.tar.xz) = 5fd5180edb830cc2f309652ad6a86e3ce1900dd0b150b72b3115f2e0f51aed4023b3f7af8c86befd1b1317829907b35ce583b50fe5cd1fa50f15863046e806d5
SHA512 (webquiz.doc.tar.xz) = 58faed1d21c5f0abe004d5aff0ef6f754012722dace25948e236c940f3e9f3a49d4f661d6692afa0bbd0a654424017e84611c32cdd99a0ef60e510c4b2fa01e9
SHA512 (webquiz.tar.xz) = 04ce66027089c2be815380a10540e6c12040d33a33b1de9c6a98985e82a65e87f58a19b6cbf2b0ad7bc8e0a1e500bd21a80e2adbe3ff395ec4be1ecdd5b5adf0
SHA512 (wordcount.doc.tar.xz) = a86b034ebff42c89f07015b01f86756a83ff2c69ed911ecde185ff719b09e3db47f284fe778c9dfd16442d1513edc9ddbb4944cc242328c17bd3fc18a0aa098f
SHA512 (wordcount.tar.xz) = 3c26b3bcb4c3edce8cf9d6628cf6b89103aa1ae454b07c1e963ca90693c18fb851772a52082a23efbefb51235005e558fd553afc891a472eb39cd430c97f861a
SHA512 (xdvi.doc.tar.xz) = 0fd1bc1ba7bb022f03334fa6c6bc6aed779179a7c486211c3016b0880efa2b13859eb7cea78e8bfc0069192f93313d37a4966fd7e233bccfb1d010d3e413cfd9
SHA512 (xdvi.tar.xz) = 57024e05928f45e253e236d7e8c6b9cef07359c1cabc10b3f6ac13a9b98dc04530517d8d66b20cefaeced793fbc57a5373c226fb3d26186ba3bb7eaadb0f4ef2
SHA512 (xml2pmx.doc.tar.xz) = 973960f65159f5107caa7e9a041dca75f0171fc61f94794c7b7560eb9b6898534974fb8b360a28dfa3a01d422b71618bcaf8aba2ed25ae4d4b9f67d24ab730be
SHA512 (xml2pmx.tar.xz) = 9545fb5ca0e95788afab79d8a29336f337619adbcac68472bb5de6af6c54187f19bda655232175223168891c064f6fadc67c4ab8f5a0256e2c55e1a65c5e6f6b
SHA512 (xmltex.doc.tar.xz) = d87c6d1f4c472b436104b0746d48a463977dc7eb520de3d7a53f48bc1c8e5682a23d604bbe2ebda1b5029d4a6dd33c2d2bf8b917ad4f54d2c7472874fdfe8509
SHA512 (xmltex.tar.xz) = ee01abb25b18e99f18bc78357be04fb1405473e90fbdf74ed875e2910812550c44fcc7aee960b2bdc53fcd7d78e9aa706e46929da65d5cb78d9ca43ba475d675
SHA512 (yplan.doc.tar.xz) = 7d3cddf3f2d54283b777c7ab7867df68fdb484c67d2f88589e29fc087db721e7ba9e0fcea2ffde9328e89075884d668b7de8fc61f462b735d9f1cfadb9662463
SHA512 (yplan.tar.xz) = 4884ac99b0b56927fb86c6e06ae9d4accb7d8b441bb17df79753d8af9ee84b9440d66ad4fcf2107aa036eb2af89d5ad49d0a4c4cb91236c6475cf81bab85566a
SHA512 (optexcount.doc.tar.xz) = 7f0d33068083736fe58c08dc9e37929efcf65de3b62a3afb51077a21d0e27b473a65ee1b333a0dd31b1d39e7f6ce79cae3343e8b7a9742199fb409e90030f7aa
SHA512 (optexcount.tar.xz) = 88a35391d3deb37dd6466e903f3cdd7d134eb9fb8c0a9ab548ca2eeee86687544e1b499248c2d0a7aa3b801d9604913e763128309f88f768d0dafb8ac1fd6998
SHA512 (texlogfilter.doc.tar.xz) = 76fbce938945ebfd6bfb78022219fe217b7e6f0ae3c298e1bd9d0c570bfff1100d34034475f2577a9676e01a5bf64428664bb5cce4fd65c7d0cd350c9f156d5f
SHA512 (arara.doc.tar.xz) = 0c0b799f6e4f43c6d123f66b6a84e35607b2c10d6241c445376d29a466154634c559cb6282f4e3f66c273342c764b56604e00bc1ee12b4452ef78ab7620aaaf2
SHA512 (arara.tar.xz) = b30ab2023cea6e606301146c06b34711b4c40b771721724bef178a5df7a1bf3e22ce97675131ee7370acae3b6416d49b28f12d0c02eb7e34885e2609f8dc5ca8
SHA512 (bundledoc.doc.tar.xz) = d74b1ec9473c4616642911fb918553350c5c65ae2cd5171d3513d6fdd5b5b774a516c54a5ce09a8fb966a9de6c5e372b773f7e8ade9f14fa2b1a646112638679
SHA512 (bundledoc.tar.xz) = 8f1e4428993dda804a2bd6b11504996e6cbef869b98a64d576f0edd97a47b1f2301b34ed234ecf1cc902c74dcb31064a96cb69018ac514fd91eb3e5c1b6df5ad
SHA512 (checkcites.doc.tar.xz) = a394ea5f70f48e7dc7c9d75de33bbf788904a5e1d8e3aefb5dd3bfd5207ee512b1a84ab4bc03bddfa15dedf962f330931d9e80593542e5a180fdda8a8aaf87c2
SHA512 (checkcites.tar.xz) = c28a2785348bdc7cf8e30d3339f301a355b6a9e513d143d34f2b2535a69a32f7cf8a8ae9c26b42c6db32d00021a10ca135891a22b0547c219f31c6c9720d8ca5
SHA512 (chktex.doc.tar.xz) = 28df4bed075d66d9f25bcbe332731f1d5f0bb0f7f92bd2f3618c84adf788d0f429bd0c6e75381ebf7bbeac98409d94f85d17ebd752f9e4af707d9e3373d45f97
SHA512 (chktex.tar.xz) = 7c28847e87e788d0f50c07c1c3140962a70173d2a36997720f3066755740744060ecd03272662aff563de39102052e91a4582a4bb63e35f918ad8f517dff55e6
SHA512 (crossrefware.doc.tar.xz) = 7b7212f8a4b6f75d93ec573f9d7544f09df2e73e0b2a32e2f22866378f0d69e0b035511ee5cbc7eee4114b5540b3783d613aafd7508a41aa336195e49b070a78
SHA512 (crossrefware.tar.xz) = 7e8836c9c1cec51676a01e3e631cd3a0155f081909415e8ae2a4143b5eb611c5c843a0c700af98dc983ace1f9e3492da5a42bd54e74757ca68da7f106f7eb6b5
SHA512 (cyrillic.doc.tar.xz) = b0b1d24d3e8887c5b9c251922157de7cf042845009c07e62fd324ba850dff9f39bc6ebad04ab216ad69070da93f77f68693d1be57cd15b038374f0253329c8fa
SHA512 (cyrillic.tar.xz) = 1b8889d33e5433b32d0b84bd31ef7ea96fe338456ef8e1732ea6c254dfe2f21d3600766b1e51bafa4ddbf0144e8420ad8ba6ad593eaa32c3d45dde99b0b4ec8c
SHA512 (cyrillic-bin.doc.tar.xz) = 91da42251e165d17507b37eb48b35e157c75b06fa8822c9717fafd5e7aadc60bfeb084dc30a5ec32df22ae4e69c03c3f00e8a243d187881212ffe62c96b6235b
SHA512 (cyrillic-bin.tar.xz) = 30d3bdb0f92a0006613dee654714818b6961207029982d62b9933829b3d044bea0b2d9a30d0007dac23c08358a7ada2df9ac25ee92398cb32d47e9c29c503c67
SHA512 (dviasm.doc.tar.xz) = c1be5541992450e6519c1768ea21d342c5e41fb4da6547828c89c79bd8abf77634ae76c3e5c06b608172234d117f5d5839600031dc4fb0cbbaa493d0bb1154ac
SHA512 (dviasm.tar.xz) = bfdc888c7a69d103d9c4548ca0465223a4e16be51a5c36f4c7a9d1064a553f60e6fb5d197a6be72e2be076c5012d7d3c7f871e217777d0be0c0e4669c1602a6c
SHA512 (eplain.doc.tar.xz) = 60902b2422d2f5d7570a19daf7f586df7882505d7c156539699a0aa47a0f3bde5688dcbdc92c8a6a9878f11392bc9b9f147626aad230eecd2740d56f104928ed
SHA512 (eplain.tar.xz) = fda8158ae2bdc96187b6e6ace2a94be3e0f68201adbc02553b48a3848481352ac10ddd72babcbc2835e089ce751ade7dfa6cfd1c642c94155c2861db865f5c29
SHA512 (jadetex.doc.tar.xz) = f70f85a12d730fc9dfb29da57a6f95239c10aa8ba7b9453ae884cae81399609fb99ccac3bfbc41f0c5f360ef80bd3f78b2f8479a826412bf573e9c5336d7e8ca
SHA512 (jadetex.tar.xz) = 75b9c8be4f87b51798826f5ea070ff9877e8bfa2fbee5112972e9e0fc81a76dcb7081c2fe9eed645f53a38dd85443dfdb394004b2970c2ff5a91b32dc1cab909
SHA512 (latex2man.doc.tar.xz) = 390666cc56ad70342c9a24ca593fe65b3760674a882ed8bba383d193f2578285727a085f823afc03fa0dbc9966612caf9a29222fd2a9f39214f01aa268acdc50
SHA512 (latex2man.tar.xz) = 2617f6e8059f30c0098ea896cff69f585ea2ddbd3bbbd8066e7296dd833d3a246b8fefc0af71a92abf7e2051c754c0e3e6098175a4b181780563416bc9146b95
SHA512 (luaotfload.doc.tar.xz) = 9e1c223ec2589f32640aefd2692d031b8ba324da30a814eea98768443eeb76d92d2700c320e6f96006e54635d31a655cae0a27c76931e7640748889ead4fbfb4
SHA512 (luaotfload.tar.xz) = 70f27796fdfe61e0337239a2962052eb2896478358fca0f271287db06a1d2de2f83cd7394d0ec6c281e9a5779ec396e2993f53b8b045ed7a09cb17f100a4a477
SHA512 (m-tx.doc.tar.xz) = 316fbc2b37b903cae8da6bb9f44b8afad0e3e577c6fd84664e1724ffe318bbdbf9609dcadd5cde6a14cc5acbc134f69bd7a87dd90d9da7d4442a5f913b8132f5
SHA512 (m-tx.tar.xz) = b56bc4432bcd340f3e92f5043c38bde7f14b5f2d32b9433fa21c73c20f7ebb981714175aa6f4f871636efb62a52cd24aa639e87a320039313b16db1b027ee2f5
SHA512 (pax.doc.tar.xz) = a2e0e7129e98efc8a44184d445118220e16f8149166c2093b7c44a936885845c0d49d37a7588f32e2c06fc834f808b0e4a1b15808a32183bf9e457a9a1c19ba7
SHA512 (pax.tar.xz) = 71a2c105a7d593ca432a50a68fbcd16d876c8a28ce25be99326f323bcdba997b000158514328542378384f55a0ceadd9d34b71840980346b0b5c1c63843f7c1b
SHA512 (pedigree-perl.doc.tar.xz) = b0b251fcf40185b017835a7a47e32736ce0d49c56be134bf93619dffedae4ecf44d36050e4515fa681c8c37707a933d8faece2943b4eddb58dab6ba3a2df113d
SHA512 (pedigree-perl.tar.xz) = 4aca97c3d231e3c68a8372d6d8c970aa681fef3d1b7061fbea1648a188c03e06221bf83d2ed0678390780e9a3c2edfe425ea0050172e837ef1a1a62369c41909
SHA512 (texlogsieve.doc.tar.xz) = 7a744ba4bdbcda04c1adf53c07acb5d20799268f31aebf2234203251ac56a96ad6cd0574d1c25c983eec0d7191dcb49bc9f11dbb2aa6aedccf31c7499400fd9f
SHA512 (texlogsieve.tar.xz) = 8017144da38d3e7b011b1620b4165e62159cb2975a418b350bf8a5d87e8d519166fb87b916a96ef6ec203df12834e72a31e21c41a84e113e8ebe620bd5eb8860
SHA512 (glossaries.doc.tar.xz) = 24e43bacdaf3d3680b49460849f2d4eb652f2e2103558edecff0cb78d261d0275e5f416c7fe83857fbe09f7016643849ee5f030e4b3db167f469960d7791489b
SHA512 (glossaries.tar.xz) = a805158d4c2741c4efc707bfe417032903630d3f235c7431a3767e47592d8b9be2d64f6a14f21a0c7a3f4b37cbcba90d501c0ab1a551fe16357745960f362a1b
SHA512 (texlive-licenses.tar.xz) = e97870378e39e23244cdace139a63067d96616c25a0efbe08baff23ae633ddacb776f0558776930d71a1e7f3eaba148cb4e658f747729ed24997bdf1794ef9a5
SHA512 (pygmentex.doc.tar.xz) = 050bf2576a7305eda104ac928cb332e6fd1437e1852726442694fb7ec88ebe7fb9e7e54987a13b76aa103afcc446019a57b8e011f4e638469ea34a9788a8e7cf
SHA512 (pygmentex.tar.xz) = 097a1eec7e6a969b0c2aef3915d8231d7e6b6c234abe79caa7f7325df22f4976d1bcf2b111c87c9b457250a2c89b5b0a29afd7deb81ee309753901768fb3fd08
SHA512 (afm2pl.tar.xz) = 9ec87ccaff69c7467f803e4ce3f3408f8195cb93f571a7c7aa5f195d3de80b480b182831d239d8b2144dc72a5c26f9da58973075b6a939d23a51de0acdb1d199
SHA512 (albatross.doc.tar.xz) = dfc9cb6a72ec80fe5f240a8c50c8c98167d069cf13e3502ba281991deadccd094e369a2ef2ae6b089064de77d937c45ad3a3dc70c06fe6fc5e39190b7d652189
SHA512 (albatross.tar.xz) = 3ca4c3ff3fdbb1b865e62fa96e984f94761bbce1de24cf09d7e5bdee3b4361c6536cfbd2119aeb6aa5df842228004cb78a27e2aa9e5e957cff59ef82b9fb459e
SHA512 (aleph.doc.tar.xz) = 33dbdb3fc2ed1cb698b1b3a1826771475b27e33c19ab102b5f0f403f670abd10330dbdb4223d9f5b96cff001a14dc8d25ecc9a084a612b9db8a1cc6a70bec090
SHA512 (aleph.tar.xz) = 326c0c2327ec391a2e6caa5b7bed74af44be58df05b58dd2d2ed68ac96151282f63cc51dcfad7b84f3fa716b9df1d9fe97e27e4ebefe81d40a1e0ddf06be48e4
SHA512 (context.doc.tar.xz) = aa322165f3fa693240bd7b1378a344788b45948e2adc51e41ce711afa0968ec3ba1fa5401082145424a2dca3f20ed655aa022057a4565f916dd1b42bf61cdb8b
SHA512 (context.tar.xz) = eb1b44e12b94e0eccc18f23c51db04b7494ce883968c23dbc1660dba581e083fe5f3003a654963faa0f0c24227e01c2ca72e56084883f0080d2279ad811dec6a
SHA512 (cslatex.tar.xz) = 21e2f395230c07a28b7ac75c2728797dd2d343aa408c55c8d0d8d082a67ab9051672830206a4a758c7af5ecfe4f19683acaf7ceab6f83c44f17e307b3713bc3a
SHA512 (ctanbib.doc.tar.xz) = 0c02549c5e0390727c50a53697abb042be5af30d2d455d9cd098462f33f2f2fe996d1c05e3fc04c87a5d178d49a3dc371c17c1840033f2e023f7e66d570fa086
SHA512 (ctanbib.tar.xz) = 9ebcdb2b194ce91075addb5e42ec419203012f494ecf9ea663f1007f085946ddeb5a618439924406119a07b3801d09dfd3d5ca04db2886c6a530e798a78fd487
SHA512 (ctie.doc.tar.xz) = 178a88260131781b6678ee63b1b35ecc0734525309b99c0d5bd4498127970bd67e30c23072392b6678186532a845c7e27188b1902b5dca52180720bc98fe3dd6
SHA512 (detex.doc.tar.xz) = 3d5a3b371e007bda61441460479a208062fd0d477d1fc9ab9a6764c1969fd383acec9e336e8d0b16aab5606444f5d87335320e010657cf088e9caeb18d6dddf5
SHA512 (detex.tar.xz) = e258d80d1509831132c4f70df81b8e93cfc9d92ee74c5d39e7f35bd4f71a3eb93fe3594afbd5ab0e33cf0b6f45c816506e32ca8f41427f3c3fe661f3086100d1
SHA512 (dvi2tty.doc.tar.xz) = 3ee736f5fbf91472008a5c8613c0e629a9f76f61fee4c4491b67045ddaad7aa2f89a22937b172e058b072ae1a013478fdf5a9f68dd2e225e8a8e77c8e3b3a289
SHA512 (dvi2tty.tar.xz) = 1051c3448703fdd6395d78b0d8b7658197da6114fb7455b31502bad5c2eda24fd4eba2ceaba1f65d106f981bbc60caf9f3bd0db29403e898b293514d086bf91d
SHA512 (dvicopy.doc.tar.xz) = 40dd53fe878937846f003d3b72b7d474c13ad07156e78679501d01c020380a3fcc450aee7a72c0155a950429c258b8fab253a7ce3043d58d88300d0c1037da56
SHA512 (dvicopy.tar.xz) = 60f44492a3d1af9686de3118af37f1d054068527f50765e21773f76ec406b4ec0f419d6298dab6b5d33e2fb740bd740f2037f711e8993bf9d3ab8f611bebb2d0
SHA512 (dvidvi.doc.tar.xz) = b571021445b822e9824782ab35a0743ca23f69b809354dea6676c58209a451be5bf595641fbcb461211e6dec15e765bbfaf8164c0ce1ed4204ea72a2073ecb92
SHA512 (dvidvi.tar.xz) = 81c58f4e1352a8e5133de1ad86b6b37c47f9b0d29307354001693ebc4975c30808e349c73a477283a16df4219fd5702b733ecb5abe2043aff1d1b537b7fa6a3c
SHA512 (dviljk.doc.tar.xz) = 4b5815d766a41eb74125269e297eb6f7d1626d68b3f2cf9d6c4f8734721e3c71b63e84e729c39fef41320e4f728888796e421bb5c7ea5ffe76cd549400d18d37
SHA512 (dviljk.tar.xz) = 0d34e837c0f67ac43dd8ef5bfb9a11d2821188ef8259f41b0cf9454bfa6641f956c21d63fe15fbd68dd59f89c1da820cab4ec5c4579fc0255a771c47010821cc
SHA512 (dviout-util.doc.tar.xz) = d10e8c9343f9065499e2c06b5eecce4047730875ccee29d6a09d1608e2334f7310282cff765c88c7da8ed8a52816910c79f3fad58d118f047d04b4bb7ebf44ca
SHA512 (dvipdfmx.doc.tar.xz) = 33a7401c27496a49546683cd9cf9001badd1dbabd22a5ae9e3501a83273fe342980cddc9e2fa7784b1e0c77512098b1abdc0a409c9306fbc86c9f2fa414bc7bc
SHA512 (dvipdfmx.tar.xz) = dd9284fa286b423b63b0240634348f3355feeefb685216120753f2e5991cb662944cb7fc4d61434e9d4dc982dd1892ce4da2451743c02ee6f25aed408d687ca3
SHA512 (dvipng.doc.tar.xz) = a4473f728047cdf06743520a5cd4c79d7aa41818c44291abf4781f04b87822b03fe5db9f42d489d7542ca259070f71a3f255507f3dc8fbe772e30da8cc88722e
SHA512 (dvipng.tar.xz) = a1693423389d56570a3fa1ac1eb45bffdef5fa9bf26d738adae1ac2361fc9aa7985d4ed0908b5f8aa49e2425da9821989a61a3ac925ac4432c9caa49f66a95dc
SHA512 (dvipos.doc.tar.xz) = 254a1db41636608a133e7807a8d4ea8ddd99ac646f35b66a43205ac7fdaf4a15c21eafbb85e23a182506e509895776d1fcbe63b3b8a7f197d577c6405ece5c44
SHA512 (dvipos.tar.xz) = 9e949fb402facda9c30fa2f388b80f2cfc530670b33cbd78559e4449fa6004c5d4082e4fb895ea397a334a333e5d5ae1a4f66fde3885f0a9eb28c9d9ebbecd0a
SHA512 (dvips.doc.tar.xz) = ac2518c20c26dcda42df79be79ed24e2c021af2084ede43f51a5589b1023c9c94a307bd0a4742880e2c89d7620b2889f3a675e30a449d699d15db98922b0da71
SHA512 (dvips.tar.xz) = fbaf1dd979ceed4f7146d8aebc31ba7d770a8389b4ac214086db5951c485a2a3e3a62b2772394c8053444dfb8de0d22b3501c2ee3ee1e4e7493a1df5a34cc275
SHA512 (epspdf.doc.tar.xz) = ee5687a3add6773e127a1e83c91683b5c6ea5e37dd98ec5f5558a32015d292c31f1a456c985ee5d2e4201c0a47324dbac4a7129529236438676f587985bca64a
SHA512 (epspdf.tar.xz) = 3dc467713b1d90b96a8fd3903effe209fe15be82463a1ef4693e29e7d145220936bed0e75dd3824a1e520f778ab9b96fe29389037e14690352db136e642f6a2c
SHA512 (fontools.doc.tar.xz) = 0506f6e9d0e0ae4fe4bb15303e2abde50a076899e4330a7d68f875abeaacff999cbab779bb368da5c717370e7cf885333c1479d6e795da4e387edd4656c30933
SHA512 (fontools.tar.xz) = a4cd3009c98502534f3c54d40fb22d788bcdfd474ba6bfc1b7010aa4d3471f468cd54a5d5c292d5afe685f9e4d99c023b8f78f302792dd1b381418042d96f47c
SHA512 (fontware.doc.tar.xz) = ccd22e262e5fa2cccd5da0ff016447d2df04aefcdd6960f226762667ea2e81b4afd406ea9f822b74d07c8f93cbe70ef90cfcc4040cae2820cf5ace94ce8d1113
SHA512 (hyperxmp.doc.tar.xz) = 350822e58fc27cf949615ab5fcc4e0b3a31c51921c64d59a039b235f786560f5f30debb676ea1a0cc2b21e1fd4fc0a390caf37846440350067417de7a7718069
SHA512 (hyperxmp.tar.xz) = ed89d3ec618c2826bcaad1b4766c8dda2e4561a5a7f54f373170740977139bab3d89af01143110054b31645311a6d8fbf9a615881af0097e9fe2082cb757670c
SHA512 (lacheck.doc.tar.xz) = cf4355d56985f9335270e4280d10602299fadfd01605e83edb4e8b89cf0d91b3e8ca671257a9599d5f5578e7a85140d390edd40c3b109f77bb9fca5ba47ca517
SHA512 (latexdiff.doc.tar.xz) = 2f484db22ec12886a4d76fabde3a65a982d3e659f524120b377221f91c7ad5973ad6023aa3226dd35baa687c86ec8dd8e736553d1604690d87e68d3cf7be84f8
SHA512 (latexdiff.tar.xz) = ae7179b5a9d410302d750233b6b22d29382406f3222129155c98b1f2ddc23d22ca7abe1683fd013c7302fe8e21e82a376499ae33d83c15a01fa2720696e5b718
SHA512 (latexpand.doc.tar.xz) = c06bbb57bc006aebb644fc4a8edc1f89e10617c67bb77193bd2f4dc3eb7b04b55fb1f239d7d6979f9b385134f3b1e584d9f10521efe704292b7e64865f78d156
SHA512 (latexpand.tar.xz) = e5b63c9aa31f3b5885b1a61503998ce949021b448199538ac385d3fe687156ce6669cd3610a7c3387592d968b0707f7122f35fd50402616470e34bb49f341bf4
SHA512 (light-latex-make.doc.tar.xz) = f5bb10465cf3dd983f59b101f6c631e202ce655282319c773cd0d83c0a9a8a3b9cee7790ef1f803b0c68215b553a2668d861a51dd9ec35b2dfe4b07ef0cf3a08
SHA512 (light-latex-make.tar.xz) = 1ede05b31d3b7acdd0f38b19e83b4258f05ddb184343dd36a46f142adca9f4081631d687411a1370be880dba5e3c6ad3f1c21108232e8b8f4fd03fdc1f3ad60e
SHA512 (luahbtex.doc.tar.xz) = 3016c12de8386af715932819701a6da1b106c504a7d13ba9bb5a04999737709f474b50c08311c1d4c23b5532ba7c1546cb0585e5375babbcd2091adf52d05664
SHA512 (luahbtex.tar.xz) = 30b1fcd361cff27688c65ecffbcffc65053696200abfccd543a14253b53a35de2af53b37f7ed1580510a8c63293d2d002cf4d9fd2d44f86678e2ecb09f02e4b8
SHA512 (lyluatex.doc.tar.xz) = 6f4f2d0b6ebba019542bebf22afbd4e871989cfc864474cf406ae9ad10d2eef1e69af9013e8d85d660538d955086406775d4d3b64572bcb3fec0334c60f41fae
SHA512 (lyluatex.tar.xz) = 8c6b3484efcc49f1b9938a6d24f123ba0d66615f4fa44c9055043a07e8ba56eee88103efa4c67441c6c8a8e0b12596b36671eb1fdd719adb88c10aff2f7b334f
SHA512 (make4ht.doc.tar.xz) = 2552e84307b92538639481b64690b2d4853f03e795b11daa61f88a1a15896f24982dcd563c181497a287744eabc5a4c3e18a2a705bbfcd9099383b1858a02081
SHA512 (make4ht.tar.xz) = 9eddfced4137652653744256bd4ef342a1b5462a2bbe1852c7fc264b08646b0757d24ae2d12711c66905f810a8f0749ae7f6d7f32983d3aa96fad63e9e104a00
SHA512 (metafont.doc.tar.xz) = 48b1def32bfba5ab1123712fe41d69f979e33a77456801c21f030de8a39b37fcae179db44a517d7b194d7e6e6eb93d770e179ca49db9014cd433c86ef91b07d0
SHA512 (metafont.tar.xz) = 2ba715c32631b3ce24aba65e7e1df90a7beabc52b855f5e81cd383f94399e439a344f8a8a21f38648d34d546ca8f1890a74922836557cae5cd05ac945013d71e
SHA512 (metapost.doc.tar.xz) = 1058be2aa15a7fef8e751821f308d663a8a115bd95754572fb04ff99018855592c60ed569bbbd3dcfae2b6cc4c27f8dac6372d6326a827847298fb5467678f25
SHA512 (metapost.tar.xz) = aab95d361bd62caa5e0eac5aedcc20a35357052ca0b31f16db5abb6d815e63f8366f055d7251018277bf57299885afc6c92fad32683d8d1b4d59c81da6cb9838
SHA512 (mfware.doc.tar.xz) = ec469dc655be20598ae40cdccd8360252cb216039cfcdfaab5f45d0276fee272a463f19db7f98f6d35b3e6930098536fe8eb4a453161646aa0ed33dd3f8773db
SHA512 (mfware.tar.xz) = f14b1f8876f8a4f2ba8954459c2a3739e0537d800fc1fde11aaaaa61400c18b9419edd3c7884ecac499da3efbd5219244c06ccab1efe17674b5458b464abd3ea
SHA512 (mptopdf.doc.tar.xz) = aba8f16aed39b0b8dde19eae496f7f811475a2a4ad07b420e9783b305412da8b0bec15569fa0325751f5ba101ab12ba6bf3f83d93cb50328adb5bb222fff8ba0
SHA512 (mptopdf.tar.xz) = 50f4acccc6db126ed7770fbe33e3925659797387d6d4a856286a32ff0444a234e3575b9be4679c90e60b502ca612f02d8de3a39c3beeff122404e5cbf9168819
SHA512 (musixtex.doc.tar.xz) = cae619ff0b16f557537ce3d28fd8df938d9297aeb37ed47713934e3a6ee41e4d8007e4e798b03221df6e958db93e2a765b9854576381eaacc924433e4efaa362
SHA512 (musixtex.tar.xz) = 85ff6dae443655c320990517debd59c2d3b3cf79ae795fd27836704af1ead716da34521e254a201ee8cad90ba0b5d1c559157567adf3e7142aa5446e91af0147
SHA512 (omegaware.doc.tar.xz) = e3312826fc6f2bb7fb8f116f7d73f4f113e2b4fda8acdce29668ffc324bdc90f26dfe21becccea36e53f22707067c19116fa2942fb4165aed3d7c28da88992ce
SHA512 (patgen.doc.tar.xz) = c7bf5af0965cb675a82ee13c6ec467f88395438d07d59379f4850a36c783cfd6661d6fa6493e67bf39e78be615e3148cda9452003b5e9f5d5ceb1fbd305d4ee6
SHA512 (patgen.tar.xz) = f37ecebfd74a30b2f4fcba5db893b31e7672f2d91d2be7f003bf625512dd54be056a23165ba8b1f5ed2165595405220df20dbd711e63a3be9901424aaf1fb0de
SHA512 (pmx.doc.tar.xz) = dedba4570b68a8628442716dc3a9b1699e5f531aef2737e4b3f47862a91ba69bda91d6fe6692914d2bd7b8fe3188a83fdfce8bdd219ab7c4f238a9c6ec273ffb
SHA512 (pmx.tar.xz) = 433287732fbb2cb47886c6c78c923d5b6a1b5c1e71e3990084cde9bb288a282fff7fb9134a5165e0fc0908b8e60547e23cb900bc82b99717133d7600fa17dc31
SHA512 (ps2pk.doc.tar.xz) = 032c5ab3442cf668d6b40851bdf710b4e4b9eca701bf04c87359c579a5fce52bedea15ee5dc9e4c5967fcc0e3b84805450987b73c204e0df4708b65a7cf74c13
SHA512 (ps2pk.tar.xz) = 764e6dc186bc0e9c1b5ee0a3c5a256e9d42d81645477bba49c59baafec55bc9af63124f77227ca5b6516bf3fa2bdb8d201af813cff09ac9da4574e70351922ce
SHA512 (ptex.doc.tar.xz) = 160902b1b32b9725f4c7cabd06dfb612fbbeef31845df108efd50917d85ef619ba62d03760852d31a21a23e2bdcb5035292b317982d7fede260a696041bb2293
SHA512 (ptex-fontmaps.doc.tar.xz) = 4b21fe546634aad338630520bf68fce2a83f8e6fade99d170ef87a92c8308dd289ed130bf67bfc88419f8752454ab04730bfaa68de90535984590ce8435d87b5
SHA512 (ptex-fontmaps.tar.xz) = b864c185b5718dfa76e0d4385654ca8e319ab0cbb59911defbec8d6198879265d064087df233d9020f3abc4bebe0742530f40b2ae6e584dbb4f5b6ed7ff28d07
SHA512 (ptex.tar.xz) = dca32af2c2742207b380c909190204049e29eb9c824f534c39757e3544e305a9395c9fd6ff76d855f1e7fc67e0999bfd863640fc2d2f45dc44bdaa7df543568f
SHA512 (spix.doc.tar.xz) = b783636e01e976f3a0020d6e5b8c87918277fb0caae09057e68b2e216e504618f0b784b1214fdf99fde79cae5a6169c585bacf093de149a99534ef7069e6cb2a
SHA512 (spix.tar.xz) = e0447cedced73a9544b837c555f3d42995b5fa5e23ba737b6794e11e7fa391969c2156ae89d6e7e18140dae0e0c9b0f2d5d6036c4fda3d236790abb21fc8d9ed
SHA512 (svn-multi.doc.tar.xz) = 6fb5e19bc88ab89fb7363587121374f08ebac0d3bc2868e27c43a8deb986cb5b1e82a665adfa56810ff70a49104007b056aefbb3e55cb821e0039eef0bf941eb
SHA512 (svn-multi.tar.xz) = cb2b1c9a95445b1b2cae4b4f8b7d22a417c766b8158a229712a2ecf8b5b2c731c4c4ee348e626a734406487327d7e0288df458329d1231aaa9c63c1283636930
SHA512 (synctex.doc.tar.xz) = 14e1f266182ee0be47a7b3841435f79594cdeb959245e6226520e81248691beeaa73f365c1112ef3bb4eacf4ca77e55265bd0d13c190858144bdc3064fa88a59
SHA512 (synctex.tar.xz) = cbe1f8c6d64619f742003c01566d55b675724f5d03681ad53dc1f58ff7314af88000ba25ea74e4fcfb07ece6160be6976ac8e69a9a1b524f223f5b80f350deb0
SHA512 (tex4ebook.doc.tar.xz) = 4f7ab8795e1f6d848fc2bfa4d2cd772b68ba1b8cae18b86e20720930d56bf645c89aa2a188cab8c9c081ea497b7c4382ae8384db278291cfdb913533911e3d12
SHA512 (tex4ebook.tar.xz) = 2a0d11b9b86594e65100b5c6670533e42e10e81d1b8a4e29b2c628b40c8d3d8be69280b64c576f2b47cc06d47236bcd3e4213a5b551c616f9fc6072929eaf428
SHA512 (texdef.doc.tar.xz) = bf84f04183654db606a7ebcd30d4986bca69e633439511cc7d9cf57a3a1210231ed158d2bcd86c5014065d355ec94faf3d5f9ab08be568eadc6637ae9cb72aaf
SHA512 (texdef.tar.xz) = ad6b67da367b1cef01db4e7d912685ccfde58babd7dc4868325624114d85e89f5daf3a47fd855dc084ffff66e332ca85c5d77f682d7bfe1b507c43e0a0612977
SHA512 (texdoc.doc.tar.xz) = 80ddcd5d32e02ac87ebba175b3f2e253ca02daf70e38ec5a6db1a0e595349ad33d6b7cf7e95f8af7de621600a58b952927edde04319adec13fa139fa0b634970
SHA512 (tex.doc.tar.xz) = 69e9a2068eb63d7a503be0aa3d94cc270485370be0342d5adf6fac714743a90b705622b8cfbd7e62e52c15f9a663fc3101d11a116c1af9c4f9f3f5c5d3dbfc77
SHA512 (texdoc.tar.xz) = 02e7d23e20983f96d05725eb91a4f8bed6bdad0051e9f3c152f945e22255c70e7c0b2d93eeca1fdbbc2ca550a7a15d46540ecbb383575b03a4da9bfcea4e42aa
SHA512 (tex.tar.xz) = 028cf62dc7bd7f62acdd005c1121b4fcd55f9130db61d3bfd782cdae22e2e51581cd66a43a827ce76f6e4fed09f2050ee81c13594f6df64817c3a48ca3d1d088
SHA512 (texware.doc.tar.xz) = c4be0bdc3490a0bee08d6a99907f7abe1145ae8f8f89dd8665cf6a8738d07c7a537c0d7e767b56a6eed3a00ea169729b4d78208aab2aa883c9fb422e4dde3383
SHA512 (texware.tar.xz) = 532cf8cfb19ea5c8ed0fe6939fba0ddfaed58989a588acef18ef38c587d8485295e9d438487fd2225a0f68c12d0dd8c6263d597c2e94cbdc96ed074ddd296729
SHA512 (tie.doc.tar.xz) = 66e92b91bcf9b6c44d8d2af141d4980a2b0e0ee3a9dcab778eae118debe4ce4459c933cde6a5cb8cf07af8b5d5d001bc1bcafa2776ae64121ba6308a7b19b3cf
SHA512 (tie.tar.xz) = ca58ca773fd1e4e786f12e1acf9b0e39afe1709c73cc7a0da4331576933c1a4aafd9eed3a0181bcb20b6087d409c73f78fc2a77d96bb75d183996593b8aadadc
SHA512 (ttfutils.doc.tar.xz) = bac6812f37f1d53184a4944e91b06c4ecd6a03d96d78956781c4b01c38ec3b65b74032704d98a4951f8dd5ad84ff54d82891c12e7db99ac58e687e535758decc
SHA512 (ttfutils.tar.xz) = 2e4eba2acd3b97297d2629ad93fdac4587afdfff30584ff77f69574efde4172ce60b904100c70d168016e8cb5c6407f4b4ef5ed7b3c83f942b7477af2f101be7
SHA512 (uptex.doc.tar.xz) = edd326824f93b2e893ac9bc7b6f498178427477138c2e068a3cffddfef5ac658cfad2671454caa6c222bf165a2d4a16964fa67eed86c01342d119053f31a3fa3
SHA512 (urlbst.doc.tar.xz) = 897c866ab03bdd5ab741537182788c5f484009681d6fb98f1149329068be707abae7ef012c0bd0170e2b4b673eaa63b46f5d0d55714015e8a451457f5a6c540c
SHA512 (urlbst.tar.xz) = 25d5655fc01f98a1414aa962d8ad924464835aaed993e3bb5a749721034aacb559a4ca1590d353615734535ac91d31abf7b99004f6298525ac618f35bfcb0fd0
SHA512 (velthuis.doc.tar.xz) = 06a9330410b55052759e18efa8720ef65f0f3dc8a2f15d3c0a0c8f70edaf8de65eeef8ec10a9a376b4b285b1c8f619278f68e9a2bd7ba1622da72b6ff488f8f7
SHA512 (velthuis.tar.xz) = b7901813517790a92a921b1202c39a058d53a4159634cae79960ec7ce2da08acb757b307b5066ab1251e4b460234fd9dd98c2e404c05fc6384c656472302e3ec
SHA512 (vlna.doc.tar.xz) = 921d76535cbe7e940617355c74b82acfc61edb840db8ed9cae1aaf987fe6b83245505048c7c550d59829b204f139ae1cfd44601435e2fff2b0d5230b45a27b77
SHA512 (web.doc.tar.xz) = ed04fce861ae2adda602a2a50d560cc9a5863ab1668dd9512baa96b6c37acd8334e4800bc4ca853c0b1f58bd3a643abc82a96f31de9d4980806ad0572ea2a92a
SHA512 (web.tar.xz) = cc8b2b6525ef1ee49162dc157e8d735225f5fc3bee54e56ac01ad47f85f639e4c43b4409e949d68804e650e243da0a8a6d098ca7c37587f14c810112cc82abee
SHA512 (xetex.doc.tar.xz) = 7fda9e0a2e7f4dcd6a1813cf8fe280f7193aa88a77cbc5891b892112950e5d5e7690328e267805c8b9a24dc735e7991065ee3664b1278fa334f83ddf06aee236
SHA512 (xetex.tar.xz) = fddc7a48405d5ae56b09fab5f180372972fc7fdd10eb19ec8e2b0f6e1e3bc54d2f92512a6954238c21fbdd75425923dcdf115bf16fe35ab3a850363c41ac99e0
SHA512 (xindy.doc.tar.xz) = d0dacd7cfa169b03b7fa9d0b351133582577c3908323f501d7bca7b0165159b72c34f62abfd73b97065baef8cf179b292e654759f3b3e324112623539e5acfd6
SHA512 (xindy.tar.xz) = 9b7fe97c14e3cf30d1e6743c2d7b4460e8bca901ba3ee216001f1518ff4d834fb3d9b67085825a6e152c6acde544c41cf16d56e609016caab89a594305a21599
SHA512 (xpdfopen.doc.tar.xz) = b4f332054a5fe85c9404a05673b373ac2b1275b79a1f0b57061cda614350df230dba60ed3be590e0688840334a113ce5c64847c1dc4e6ebae6cc29524c1f6bd5
SHA512 (luajittex.doc.tar.xz) = 7637835fae934f4fb1aea954270281a986733d0e0592204346edc290f2cd7d5200ee2fa0d9e15a27be8221c3c990a8c3d4654e314f96441a65c197d3bd259129
SHA512 (pdftosrc.doc.tar.xz) = 01598180f8eff2913eeebf5bc3d5f3aba32029286fc6e0c072aa8c0f4dabaf0c6e71ae7451ba9a7b65b4d0075a7f0a3baf345b02c5826eab64d74e39eb82798e
SHA512 (amstex.tar.xz) = 7d309307df0f162f303f4077dbd92a1ef739906ec880b4a6dfd80443358a756d065c8f690e273d4b316016cff60e7ae0b29322d38ecd2a27c8914776643e3545
SHA512 (amstex.doc.tar.xz) = 440cdecbf6397b0205dd3b0c9308b096d3f75075fa5d8890760ac2e2c7351293a76f4073bee4a6188c527f12999b752d96d5ddee31aaf0dad59edd95d44bf2cc
SHA512 (bib2gls.doc.tar.xz) = 2a22e662fa0c41581a3c9d9496f97854ea2faa0d01970ab0cc0542048d0ebdcfcbf7ddc7fcf519510d99300eb6634f1c7688874cf02cf6052962d903c5810887
SHA512 (bib2gls.tar.xz) = 009e393b3083a3260642cb36dc463c714689d1b32d07885c9d20092e4f7386d05118c452e6f97001120f70558a69aa58d757ae0998cefe10e164bb172e432fbf
SHA512 (bibtex.doc.tar.xz) = 4f95c010ded89688791e1115ce4e167740b43e9e48d596b2621e6c18b4529479da9441351b463946e7efa1e428cba3d60112c5f7a5e008733a00fc64050723a9
SHA512 (bibtex.tar.xz) = 568a72b269dbcb0d5c723e346e8118a0ed923273460d9518891616cbf7b174b17cd75acff02f092176d71b6020483de75df20994bfb66c2cd46432c33d5ade3d
SHA512 (bibtexu.doc.tar.xz) = 0f200681fd81074a5f23477ff99ac9e08e2d123056544edf7bc5b7b7645c22b74b66404028133037b5e47ffc4ff7c0059a1ed375ed0d3e4d211632c44f37072c
SHA512 (bibtex8.doc.tar.xz) = c305fe0afcaab072ee07542b8bae8475ce205744500f81c6de400b2bcd7ac05ff65a025301319f80a668ed35d653105c0ec0ab392c0c893f5d76802a1806bd04
SHA512 (bibtex8.tar.xz) = 27008a8ccf05b7f48f7668ea171c9d53063fc26c09ac4507a3eaa86eb22b94cbd70ba6c2b7a8d439d7978a3860be37733dcbc17f7cef930d06dc5a45a89c95d5
SHA512 (cweb.doc.tar.xz) = 978e2666f833bce94ac7323d9f9e9c45542bf6ea2c5a5c35e6d54679831ad4c5c5676d527b249b6ea2f27750f7e6e54ad18032e6ddae6bb84469d64bf2c18e46
SHA512 (cweb.tar.xz) = 7888adf1d9721784827b3f9aa880b9929481cf58d13b3331f5ca17f8818894f0bfefde882c248676079fbe47981032132c44bf9012fa515afc36139ef760a0e5
SHA512 (dvisvgm.doc.tar.xz) = cebe9fc18ba72542133e10c98277762dc221747cec852ea500a56058be75f25f46a96887d04144a2786a058e085451568138b697f0af7f57ec692516daf639d2
SHA512 (dvisvgm.tar.xz) = fd8df318271d357d2c874a0dbd66ff7a1e171f67a9ad51e9558b97fa6e1641e000b002d8b3894659302a9f3f0307201c5fec5f0abc9cc9ad8daa4e4d19e13364
SHA512 (epstopdf.doc.tar.xz) = b0e134d9907efeb41d4b83ebabc3e83f7ae04c354584f157726f3f827cee28824562f6864f8e39864410aa97e05b80e97c91248d27923ba910556c35d661db65
SHA512 (epstopdf.tar.xz) = de91f8df2838eb7b8f0406b63895e7c61d0154017140f0b8cc1306b3369237e72015187327387e55fd996321625abf9fde5ad3575f84a0168cc21070427445e1
SHA512 (hitex.doc.tar.xz) = 30deaac343815d366a1cd265d68b74198857b3fb6a953cb000e5c5351aecd03b2eb68f563d796d21ffebbbf479ed74bfa95f72fb8ef5a0055590c67014e5d8d2
SHA512 (hitex.tar.xz) = 4e2f7492a20dce409299344245b89e778cd5bee7fd7baf8de4a630906129a6f011e6666d4bed2b9df20826d2d9ffd0bed179312491434be2db99e834cb9a4ac3
SHA512 (kpathsea.doc.tar.xz) = b29518a446a11a962ebf795742b947179e5f99653f1be35dcf1cbabaf086d0f0550523cd26567232a475a618bf1cf815d05d0169df3c40d3438759e4a95a78c2
SHA512 (kpathsea.tar.xz) = 89cdc74e3f82fa3b62afa61e6a946d4cbf25b71193249d1a5f6122b0047ba02645412cda9248dc7cac487c23781e11c2dc1b9fcef4b95c7ad8d230b6253e7637
SHA512 (l3build.doc.tar.xz) = e126739b4ad5fdc305385929f88917dd61df72cb98d5db50d625b16bdb3867af8d84161a8394ed04b1322c52f53504a28852b919282b3431f81c533d0240cc91
SHA512 (l3build.tar.xz) = b34715b851daf019e56539362b32d3b7f13ee838f6030e9e94fb6da1caca14ba595567edc91798f31ab9856c131d192876f0a4a32f6eb9caf22f4a62a1eaa94c
SHA512 (latex.doc.tar.xz) = 68ecd2a5c85afe7b39402db416bb7ad0f8e5662c77d77c0839a470f3f70da65377560fbcb5a6952e997da70868533f29a4b7c65d3f7dd63db13aa95ee7159b23
SHA512 (latex.tar.xz) = de95ba089738862d57b1139a21da57a8263cbe9ff81a7ab43608ce23fde57b4630057a95c99ecb7be712bc864e0c07a56429019d7aa9f63c01f47a995d5d567d
SHA512 (latex2nemeth.doc.tar.xz) = 7fa7ae1c628e29549fc3cb2c98164e27f60cc0bcbf14e26b7a325aee313a5f41c3144d5adf2993c20999016f4798dcd436d96c637c4258ace0efc3bda4a54a43
SHA512 (latex2nemeth.tar.xz) = f2669a9e58857094c922b968f337e2cb2cf475b07811d53c61a8e0b4dc8bcc41d95186940361676bc62c0f235edb4fe7a7c0d5ee0f6d74c541d1108960e18e7e
SHA512 (latexindent.doc.tar.xz) = 2a34372c3aa18aa3016262905f675d23eaed1d8c6e0e360b61e2084b3bfcfdebc6e349ce2af020fb09a24037119ccd5d3a80635454100ccc688251cde62519b9
SHA512 (latexindent.tar.xz) = 86767228ea35d9c65f4954ae441b13702abb17e2baee941bfb95be4323fd3468953781ceecee7c3518b45f05d94daed5cc89eb18b4d17d2e0ae545a7613bb5c3
SHA512 (luafindfont.doc.tar.xz) = e7196d9a2e69b5a6d5582d7ddc00ac480b16228b424cb9d568ef1ff6fbef48e5926776d5f22fa0eb5c4b09b6b29a283416206f64cf324356b35d66228bbbd3ea
SHA512 (lwarp.doc.tar.xz) = 704b3f89973e2fa158252e48f3804b4de5f45bd1ae03954d0eb0f598a4c1c05d6378229dec906caffaf5dfd1ea57dbd53afc77d3d1abd96c3d1be7f146b7ebfc
SHA512 (lwarp.tar.xz) = 2001aeb9c76b008488cededa297bfd8802cc2f4961c6f1432ed4118de204d9e8a0769b3b540ac922e786e2e6723964cdf2975f1e59ed7006029062129996e4f4
SHA512 (oberdiek.doc.tar.xz) = 73a422dd8009d191a24790f5f68b9ae2a5046f3e42e3c360faabb3f7c7581afdf9bf2b20da8609e8d3513135ee1de98329cd4fb1713fce23c5a03fac28c976b9
SHA512 (oberdiek.tar.xz) = a07473833a8eb833fa1b149ae6f913219c48ad9ecf9671196774d9b0ea7ac06ef110e3ca18a2a53d7a875ca803aff6e07cf435ef1e6d2020a353df97c0cb7046
SHA512 (optex.doc.tar.xz) = d0c5512cf6ad24f47fff0d4db2b386dc882dec4b1b2bdd71a2acc4c7e5338898fc15bf3887332c0aa16e7b8df385c75c9a764f82bbc31a83b3ba3e899ce1b0a7
SHA512 (optex.tar.xz) = 50afa81df97805c224fb765885c453d756d926b6982d1e149c14d4e1aa6164980b4584264d561b77f20f3634c22d09c26397cb2c136474fdbb1f000a4fbe1118
SHA512 (pdftex.doc.tar.xz) = d059f01596573efacc4ca80333b07236f860375f49b82d0cd3ab6b3f441f379163a37c820e713a2d96a8f69b821b3dbd68f360c5b5f005dccac54575df4b5d4e
SHA512 (pdftex.tar.xz) = c0158cb19918ea2bba57cc68e32af1d2c4ef50ba45bf05e0c8b7e64057daee19843ff77633e4dd0ad660df39983c46f755c691f85d4aa2000086c02d48498d0e
SHA512 (ptex2pdf.doc.tar.xz) = 5635ead2dfa20ce9b616073272452de5c68c55104d88b2362b87cafe4762608d681b0c370169bff78466520d14f9055e509efdaa4ecdb083c3c3111ad829978c
SHA512 (ptex2pdf.tar.xz) = 6a4246d9fbc7cc6f37319d338df8320769cd4b1f0247186beea117b8bf228263f3a330146cf251a9e8e8c7232eb894ce6dad9eda840dd4a154f2502eae4c0f57
SHA512 (sty2dtx.doc.tar.xz) = 1bc66506350b07341c8c4b858c6b1c637d9f0bf48323714ee7dedd701faf20e3cadb318f56bfb1a05f4fcaf84cdd6e9db18299801a69e0359937d7852ac6a824
SHA512 (sty2dtx.tar.xz) = f95ad4f6260657ce329c10ae1306e5ec50965c2766c3c28f5a6dd77f4884637c36ecfae28b7853dfaf4e2e5bc256713abe4c8b3525e194fed1eccdd1ea24e1ac
SHA512 (tex4ht.doc.tar.xz) = 1d207661007626fdcbbdb91387611c8333908d4daa83b5322b0c5320c8b83694255b8e59f6c1bf94d7bc0c956711a801f049c60ee54e5dd6b3c2ceb7082ecae0
SHA512 (tex4ht.tar.xz) = 57ea737b006b20e326e409e55dba3ac3231181bee9b3dd5a725533cedcd4030f10ef44461003673964aa2a78c79a979057be03c6238575f3d832d8e69cec25e0
SHA512 (texfot.doc.tar.xz) = 07cbd86a5f4731257804a8a62fab247a5a091fbdb51b5f618b42200c06ac8293e809ba19fc98f844dbfe6321e733aae5671b5a8318892608687a454cac15bd10
SHA512 (texfot.tar.xz) = e7553ab1e2368f1ee54cebe94ef1cc6675a6dd6f76f1bb94b1d79a742ddbbfb30215c97b7aa08165ec0e94b4468491d6cbbe6e1d8d77c24e37f3ec46104cc12f
SHA512 (texlive-en.doc.tar.xz) = dc38f273ba39e0cd69ffa9b755651073acbe0bfe8d5a4ffd0d267971aa82a711b74ed9cb03c5d779c06b859d0944611a541cbd22d40bf2db0841b01d27b5b9a3
SHA512 (texlive-scripts.doc.tar.xz) = 1ed7a1468a152ee1dffe304922df52110800b4ef6fbd75cde71e5a822ecf6b187559448f3dbed89eb3bb4ee4eb5c5c4e89e25f41811f0d8a2b006d19eab30e91
SHA512 (texlive-scripts.tar.xz) = 90eebdbc0e1cab8046faefaaaf0f78523b614ea35559eb189432f5fa052eeca73ea2d4a89e57add9519b0280e88b6617d282047ce5af95c672c3c08ee55fecda
SHA512 (texlive.infra.doc.tar.xz) = 14b7c89dd015fe0455ad8291736a53687598a4e3aaca413950eb334eafac91eb63b213967684778d2e2a3b46ff79909311797116be10a587c016646c40fea835
SHA512 (texlive.infra.tar.xz) = a71b92deef545eea40aa523ea337e77df2bad58cd8be77ddafc7f0bf6f1469a30d5e12d33d4e4d5d89d004c3d008630d1673aeba6f80e6e8a65e19a5446d000c
SHA512 (citation-style-language.doc.tar.xz) = 1adc512a538ca6c9869c373e55d2851d90ad7a52dc804c6e15810d6789518ee45d097394c40338bd8f5285b9ac1d2b19c3d92da75752629ea7d9a3f366057941
SHA512 (citation-style-language.tar.xz) = 2d792b1e0f7bae17daa6cf17e4aa9135f1e7b67eefb4f253a18c150e022854fd62794b12b3592ac457f467093be88c74cb2dc8c74f9a1b308a369d53ced68a69
SHA512 (texlive.tlpdb) = 53da64dfd77f334d1a9d35e34ba966af8f40d981c50a1c2fe84de74a9e8a4f64fe1ae8aa21a61e3d79b37918c709cd9ed8f45c8e4963f07bc12efdfdc17d9d56
SHA512 (texlive-20230311-source.tar.xz) = 93ac43f3055fee0103a6cfceea18d39ece63984914f3af9ad76da218f2d568852d9b987d1c9647c1497b985e4ffa297ef97dc2d50d3e90f62b03ad685af31d96
SHA512 (xindex.doc.tar.xz) = 3d36e5f8811c6df621717a7077bb49bec137a5bbc3c6593078644811d915c720d41c2e1a6e5be6e3af95ddc64879582061f7aba6113e2b3a1ee5d7b3f63064d0
SHA512 (xindex.tar.xz) = c88e7d602c741db871ab6ec5895fee5455b954c4487d57be812b172369c5d973a8fad4b9fdcb60179562d04ba4105ecfc1228ae7d414a7d90df9a9723306de07
SHA512 (bibcop.doc.tar.xz) = 93abe6f0a97138237d7546d132385069f8ff8a638a31cf9be23619b812fa578af808e6f9ce04c06778a4559b1eef98b7d24a0ce5ce6eb5ca9680fc2ddbf7c4b8
SHA512 (bibcop.tar.xz) = a035642f1b1827f0b6b4d15b4115054b9ab3ff49d7d369f3e304cab5964a707b23865b837c6b156b913e33fe8ae5589941e6ff284ee0b62454a9eb8ec77f3442
SHA512 (pagelayout.doc.tar.xz) = 2e777b9486a9de61a7bc77e7777b92bc4512f051e716c2b5597832ae862f4885c28f9518f5371316ef09d36a62e420c2648b6e2bc37122a3a21f36965c26834d
SHA512 (pagelayout.tar.xz) = e1dabe46c223811fb88d17c13ccad55853c4c5eb13d7927b841cded1ca198fd04d7add6a54e9542f05fbf1953eb2431b8a2d508531f26909414a40baf7d78d52
SHA512 (texaccents.doc.tar.xz) = 87bc11f186513adbf32c15af2f1c1253dd72802fb2008b76b9d7d67fc0a039aab0d2424fb853b6bd8e968cd4e9c1cd93bff786fa07e84593fbda99191b053eaa
SHA512 (texaccents.tar.xz) = 5a2a79c9faddebd523939cb3cf42236b1d2c441a036cd7fc6f6f62422e5142cdbc0a45ddaa9e642266c41c9fe5b723fc440d0372639cffd399a89d489bd11b66
SHA512 (upmendex.doc.tar.xz) = ec4d1670ff84680fcab88e29ca5f4306f44450ccca9cba06282ad34bd026f74b46d166724a06a313957ca8d798b0c296e848bb248ad416597a99afb16b4b5a0c
SHA512 (digestif.doc.tar.xz) = fabc6d0ea5a1e55b7ecd6430b2373c15e413c985485331bd7bd5bca437947a76ac7d8ac6ed2ea3d6afe687284aef673b0e302a1c9925737c6e1d95cecf2ea8cb
SHA512 (digestif.tar.xz) = 098d625749cee42f965d21ef5ec2843211db36fd0f4cced882ed15f32a20a2d70bf292b01e6797e7ca097adfadf2fd40d3c5eef6c694da39e8302770cfb784d3
SHA512 (texaccents.source.tar.xz) = 8bf5d4957008833d54f87eff9feb14f60694ea02e7e9fd2cd5c5d2e2db3f6de3a33784121208ffab516763fbf578125399cbd6f39750e6bb0162a65c2fc44f24
SHA512 (luatex.doc.tar.xz) = f77425653668fc4cc76383862c67a7a170d0021a7d946f55ee399e2400357083ea4524862f8c40360fe9f6c39d6d2c2dfc2babfb43db66a783649d0f4358b059
SHA512 (luatex.tar.xz) = a857a84fa4d2b03a1ba8a7890dd52eb42c44174cf2117ea9ab1fb6d946decedacfa51af4cadcfe30580bc20152ca0403db641c5c61a5b86b726e994d0b4114c8
SHA512 (build-svn66984.tar.gz) = f17e97c11dcd5ccb5bc29c6ffaaff7f9f888b80f4f9b17199d3ff7fcde4f10659c4cf042a55b811e7ba58d34dc45124a1e3e4f648755f5a1855fc3aabbd674cc
SHA512 (a2ping.doc.tar.xz) = f1db97d31fafb446d81f17498f5acfec931754e7282be9e1d6d7acbef8d4fc2938d385442d45fa955208d389ab5813e25702e9f5d3bca8eb0d8d5fe5104695ec
SHA512 (a2ping.tar.xz) = f6570f81a87ecf8e93996685843752737743809bd80294a819f75ac0a0e733fbfa4645b2b88996c9d0ecc620c9452156d2d504b6fde6b648c9413159385b9cad
SHA512 (accfonts.doc.tar.xz) = c7aad3379cb789eaea0ec4944542edf67da32ae9190e6ce50c62c011d68a9d70e8c18affe7043ffae1df861bcc868fd97ae1eed50b56d54b18e1f378d519140d
SHA512 (accfonts.tar.xz) = a985a0bbdde6aa837ed1b02b23166f393fd33ad536a6efe3c6c42f681ebaa4b83ed29da4e21d53eb8bf3c2d0f8dc7f817498b44dc3409bd0ad761e1178275643
SHA512 (adhocfilelist.doc.tar.xz) = 71c3e54051e5e5ec1de97ec79f0bcaf216a4f107ae70a7d99f27b0f2de2b655b95e3fc3a438bbcb7a36210f29b4a89df91af04b8ac5cb824d66a700e2e24ec19
SHA512 (adhocfilelist.tar.xz) = aad74515080b909cae80d676304c31c63c0e2163aee55e8636b8da187e4792a0a02b1b7b6e2953ac2117e28e5df6ef6ba1a5873817912422aa672fdf9a4d71a6
SHA512 (afm2pl.tar.xz) = 75dd7db0aa266f770619188deb52803e916d729dd27b151d5c47b2b9142b8f2c8cb508162012849b673d161efaf2c31f560da17ae38a69e3176903144683e4f1
SHA512 (aleph.doc.tar.xz) = d5d07a1927c13ede9aafd1a4ce14b3fb2fee451988ca350c5a1ea3eb9f7c525445bd8f7af425873352f2ae470a6e62c4ef15a18939ca38553f196dc76cb770d4
SHA512 (aleph.tar.xz) = a0718ac964a69e66d5803208d8ec1258dbb47982b1fc8848dda009e9de4c442f069bcc64ca76d4db4b8cb69bbbede420a00df1cc622678c7100f3bacfe42ceac
SHA512 (amstex.doc.tar.xz) = 1d352f37742ce3bcb1a8596cfc2e8da97f467a45ec1cf4ecb4fd6e837938f1ad3a721b6ffa85d878dd1747f1480e87e6b75180807fe0834b8e2de0f6d53e8f27
SHA512 (amstex.tar.xz) = 7587f80a94acdabbb99dd78d9a424c640d76341f41d8f62ecfc3f858f7d7b3acd9421bdbefd1fbdb259f306a8a4097b1c6f5c339d1ee78a3221cd2419a1a06de
SHA512 (arara.doc.tar.xz) = af7119ddb5531cf84eebde7b5a95848df3c40e02ce71fba9af18c4dd608afe4d3072d3c95ea4b693f4116968c929b70f68d3fb2e427ce280659d02a1273f4359
SHA512 (arara.tar.xz) = 0fa95a99e9057f698e6a62457857933c55ebb81b7d30197017379b72c531c8a16f4559b267aa2759811d6e97e083da73fc0ac37398c9ced929b1b7030cb57839
SHA512 (authorindex.doc.tar.xz) = 208e31260df7fd2a20e0ced195e9de1ca5571b81a98ec0c6e0b6608cf15838e31239aece57d458af7be80d2b97ba95a9fd49515ff76e64dca804d4bc44ecbcbe
SHA512 (authorindex.tar.xz) = 6670290d8b9633702ce0ff4ea2c8c55c7ab5060b0be2c0fe48f9c04479a8524849f21fcfe96a24dcbf49b462b00604d117aafab5fb90e88f24f84fc4ba25887f
SHA512 (autosp.doc.tar.xz) = d2ee430889b7ab16b7f680da857a645f2265d889cfe9855c1696073ac942f5a5de9f1cec09a136f8882be231e156e4342da42ba0bb49c214d26462edd5d845ca
SHA512 (axodraw2.doc.tar.xz) = 1258524b3d82b225d455b5a6bf71a6d39723514ed6f7c0ab359dce17380b500232b42ad222947bbd33843fe0127aac8d15f243145660c8513fbca2612bde1ef7
SHA512 (axodraw2.tar.xz) = 44f5de31e79d21bd8d9f7995a9d8e29416618141714a30e5186cd303d079f9136feea36f0ec7145a10da42e8aa0e1718fe02e90c149b966d779672744b0b6da8
SHA512 (bib2gls.doc.tar.xz) = c6ee66025ad4c8d926c4efb40de02e3dfbb62ea3017eb43e401f115e5789b3768f501001d35a6df5da2f1276322cf5306753d995fde7d4681bc4e3009cac51c9
SHA512 (bib2gls.tar.xz) = f7358bc89733b693c9b6dcf00f260b0a3440d53ca241e7666c7e358fa9ed423fe76e751f68455c6bd7da96127086da4bd308fcb8622f7adfe8c922f368d5a350
SHA512 (bibexport.doc.tar.xz) = bd847753a0a3ee5449f36ed917ecf55733d85e0a1377eac354e2202599e07b51046e34bb8f107b163e8efe0734831a8cf52132dd254c09ce886cb7526ec217ee
SHA512 (bibexport.tar.xz) = 641bf749ed8154b2cb35f52f3cb07485a1c323e18aa0c18c8fe1d763db36297760e6eeead2258d58c77fc6c83f41141467ff6e39bd8e25d47e0dcf358c54fbd3
SHA512 (bibtex8.doc.tar.xz) = b6350f310809d914d8a7a30f42d5c6d86cff901ac1145b88ddd54211d30cd02aaa5491da86cd399e5aef70a09ef7c2dc5f8d9343853bfa3cc8e00595de17334f
SHA512 (bibtex8.tar.xz) = 06cd33593de7eb7ee393f2d33de18435b0c1e57313fc24fbc23d02627650805daa9dfaf7d57dfadff56bcb5234144504f48fbf7aee51098459d9356ebfd57208
SHA512 (bibtex.doc.tar.xz) = 99409261c7655f0759b17d3203283505f3791a2fe7bb3ae875a8d583250aaf16ff38f853a9d7c213cde17222b5ceef0dc3ac58b8abe7df56913f8107f77f07ba
SHA512 (bibtex.tar.xz) = 0939809e12ff25e750a9ec85e1f13c810209a9beb8cdcdb1923c1c718d7177e4398d3772c9fc773d0970a2806af912f39bb341d8fb6a51637e62db9ad19bb8d1
SHA512 (bibtexu.doc.tar.xz) = c30230d2789e53830e09ae553e62af6ebfed4f860646e507c210e2ec56e75fe5710444add355ebfccc23d1b054467adcdb3654c8e22ec5faf11af31436da66b5
SHA512 (bundledoc.doc.tar.xz) = 30423a6a3ed30a0223da0aab04c44667d10969db1114d01a36a3779bcc16eaab78ac12f54f9fac131a072a363fd8bd9c02c25ea85ef4be471f59af8f488c91d9
SHA512 (bundledoc.tar.xz) = b4442d06905a9a8cfe20a92f7554eda777671a7de5d071b200aa344da1897f1a8b9c2c09f4026a4645cc9a402876211b8eec4d5f03d2b49b7b68c738fb1aa65e
SHA512 (cachepic.doc.tar.xz) = 8ec9eede4f73c56b52df6b686fdc2d4c96714d301bca821abdee4d9cca974c5fbaa2ad0089b043224cfa3f16603813a2a2668c6b6d4405b54c5becb7a085508d
SHA512 (cachepic.tar.xz) = fedab1832932e2d9d4225dc3e01738fb0601bba81b578d718c71471fb842a33b62603188d850111f265a474cb6343ecb624e869d8243769a535393acbd9f6c9b
SHA512 (checkcites.doc.tar.xz) = 88c46aa667f8c385a4d668d0be68e40d21f6df64f33a9ae9d6c0e8fb8e653bb004c270ba2c6ac7fdc7c3b555947353f09501ee5b48fb8ecd63ec7ccdc369a602
SHA512 (checkcites.tar.xz) = b7c2ed45a32ebf117546ab44565e30eca0d3496f89df6deb50b1cd83ee43052b266fc07dc1638c365d5599d678f10a067b222c04d4a2075c2d8d1a02b57aa5c1
SHA512 (checklistings.doc.tar.xz) = 73b53c42d47564df296d3c289acf4bc790729216a61a9dc6630cfac87c4529b63a3e32e40b62204546968cf386c481081c0633b07a09851f01114a81b25d7f80
SHA512 (checklistings.tar.xz) = 20613c10a0b1a5f825ba975df30efa796dd662c90b330ca233c0e7d83b50127cd5907400860f714d395595ec5e6054ff4a5691ebb8a85d51172358f610d50287
SHA512 (chktex.doc.tar.xz) = 5259ae0c5f186978cb5392df7484a6fd83fdc75bff5e840f3132a57a49bb0d0e18fec16017309e1ef1ec395422a1077248157ad57febb3bc5744f10f9a3dcb7d
SHA512 (chktex.tar.xz) = f3ede4ae8c4f56c0a3f9ce241617a2d27650e4dc2ed260a8b13be42528f045e2d333e84d33aa367d215a4f500af01f77764f61a73f2370d42e130debaac1335a
SHA512 (cjk-gs-integrate.doc.tar.xz) = 0eb81c03b316eefab4508775813c9ecfeb06e81b841fe9dc5346f2cfc6e0c083a1f84843b782f913f72a05f890bda17be9e35ad613cf91f9b1222cf4707397cd
SHA512 (cjk-gs-integrate.tar.xz) = e20cc91b52f009daad8a70b2c43f51d9703489f3d923d12135da8e9386ef5fb467e3e98d100182c5cfdb0c2412090386c18f6270e2e0c08db4e7c761b94cadcc
SHA512 (cjkutils.tar.xz) = 550177f316936cc107ae6902b334fa3b41f4955a51393ec2243dae92f8dc1a0547b3b181d6048bf171ef843daa2563b6431f5520b382757b4ce80795c5d02c76
SHA512 (context.doc.tar.xz) = 1b73f54ec780dcc8ec80182df1a19d4047406a30c65deaea864daa4bd0307b1a0ba2b496fcbe1fd455b7b79c761e9543ec4b9a1d1898354a6570a700ebc5a043
SHA512 (context.tar.xz) = f6f9af2e71fe1d048223c5c652dea12f5ed0677cb7886c2ead3a9ea6a492d3adcfa5ac3f5837204396b1148aa06471829941c437e621d316de47c81f14c49e37
SHA512 (convbkmk.doc.tar.xz) = b82c3d41070ad0c5b0f49298d163e28b5306f58a24fe337fe046b4b1b129fb097da4f6af1c678cd162e237966f68ca373c55f8eaceb805959536f9d6dd059d9a
SHA512 (convbkmk.tar.xz) = a4dbbbfba506948774e1c50d026d48f7e4ded0d3e99113295fb129ddfad94cf3344632e0b171c64f83816326753dae0de9d348aaf0d79552aa4165d9f4bd99d2
SHA512 (crossrefware.doc.tar.xz) = 0fe4f5ea083ddc7a6f480a38b1e65d749de3deea372b642581e950a7baac6c71dc16ace7cb1d14a213aa361e15271a90a60005acaf7a215a8c5879e841717fa7
SHA512 (crossrefware.tar.xz) = bb82e6ace8cf17fffb50be160e22ddedec6327b9b3b919ced50e6df6be7c14451b7cca9fb2237e9584dcdcc0584badbe1336767b136e202a9ead8033fdf19943
SHA512 (cslatex.tar.xz) = c328242128856f4c4ce33bfabed42f33d6ce746828018cf37ece8d33c8899238373ff779bfe7cb06491e42304bf2820845c1795b9d868d4db5c77101e6b7ef5f
SHA512 (csplain.tar.xz) = 12af8f8c35e42debbeccbb73ffae3bbb53ffeb6aa2a371e7b849b2c6f35ada6e3bd799ffb82685db5664a4061d63361f6599dfa954802ddfea7dc7ca2ccbc285
SHA512 (ctanify.doc.tar.xz) = 424519cce6baa1a25158a833bcf0a4364faafeb1d7ff359c1a4bad62900d81bca7502da0535bf8251ac91afe4bfe4e70433bec2fb9fe010e6667fe2f2198cd22
SHA512 (ctanify.tar.xz) = 230dcd3c26b6954fae10baf251ba3ead846ae30a48128ba85bc7271c2390803d51c5b483d87066095932bbc047dc0ce634d550a7edfffd87f910e71dae243048
SHA512 (ctan-o-mat.doc.tar.xz) = 75f5fabc5c932d9de95512e096018ed84ffe5ce5374d7e413d30248a740c09ce0d53057538b5b52c48c941c2f96ccf74900f85330ca9c4cea84552e48544b56d
SHA512 (ctan-o-mat.tar.xz) = 523d9ed02465ad0e6d0a3dd08c2b12369b37cab406182cd8ec6da1ccc0fc588c0642661135f34fc82844ae9310bfca6e6be4ab9e7aa22dfeb44937b02cbd5ca9
SHA512 (ctanupload.doc.tar.xz) = e816b2f6d19165f46f0445e88ad4076a1956f23391ec0e24091e99e42ea579c9811b16bb93584d76839962fb24b70ec91f521531bf48fe156b57358f75f68f05
SHA512 (ctanupload.tar.xz) = e13e3ac1d9c2bb6fdb28396c466ccbd81547742d17d2ab328edb471cffeeba20b245cafa020f68e71b9e7052cd4c2fbbdf3f7c4bc97b96400d6ca667975ba08b
SHA512 (ctie.doc.tar.xz) = 41f7f3344a307bb72c61c88d4660c2037dcc0b4723a5c7a23fa2858e01cf0cd53f65ce76f16a21a871303f918dc4488c777d7129d892fa11c96186b88b484e59
SHA512 (cweb.doc.tar.xz) = f2436cb219a4ea887fbf2cd1c72a1ac25a46e5abbf5680a74517b3c8dfbc0a864832c981e7bc9d87ef0281ba81ce6d9611b8a52ae3b5b5ffb66d1b16fc44cb90
SHA512 (cweb.tar.xz) = 00f82ce1fa3d93d455f70d15376f70911cb37a3d2cf44a83b1b9ec3cecd1f19d9f90edf03be760835f43d5f4566ead3111de25c2b8210e56368038e20385d072
SHA512 (cyrillic-bin.doc.tar.xz) = 0a1be40b054f1bc6b696fae24d7790480335128bf4faabe26d9468701ed830235b0ff730742407d8c53c9afcefec98d3c850ad98b4f9709f45b88cb39ac48543
SHA512 (cyrillic-bin.tar.xz) = 5714f2600dce71b773e1d488e7bae4c79cd30c0ecfa3f96d08c1dc1bd3e16a3ce437a1b4cc64e878388e63eee283fa73e3b327daa7ea001f326ce0b932a54187
SHA512 (cyrillic.doc.tar.xz) = 253df9b5b0e3338bb20276b56127c19e2af654a34a358c3601f7ce79e5837aabaadd559d8de065d7a6c2e43487e842c2eae6dd8e62bf3d0d37220604f396cc20
SHA512 (cyrillic.tar.xz) = 94e0619912878579b58758cb5b5f53d3c08b562c9146bc298a1f130910c78ce3b2eed1558a146340b221289751955e62e8ad5760cc57aea20aecced10c60310b
SHA512 (de-macro.doc.tar.xz) = d45a17b93884394dd52d8e0de33ec715aa03ae98455dee7cdeb2bedaaffeb99a7499e794c4a267394760ef05c79e5a34438ee53f9ec5cc23f3bba5db6dbc1dc7
SHA512 (de-macro.tar.xz) = 757b8ca64cf446a01ba5e1ceb68f84dc4c89e7609e8a148b9105cf6b1646221e0004441023dcdfaed2daa5f65a650741a3352687b5d6c245e94d00c9daa18896
SHA512 (detex.doc.tar.xz) = 51c53fce8f94081fde38d59aa47b1220f0537aa5e0a4c0e95abfa7cf8364856a84d5d09e51ebc1434c0617b375a0d3a22c302ef96e53dc774132af26e692d5f1
SHA512 (detex.tar.xz) = 8d0578d3d6e8b57628b925ac3a4e80ad3395ddf369530921a5dc5ca10874d94454cbd7217401b8a7e64b4bd0fe49aef448102729bd27774d5b391730a43277d6
SHA512 (diadia.doc.tar.xz) = 86aa3f4afd1f7ff19f072654b86421551b22a715f71b2dc17c2fb79e4f753914a41a043b5673f9502c4064f9c5865425de1c3bbc84565e0162a9018005585161
SHA512 (diadia.tar.xz) = 9da55c18d8c4793f8489dc429fed605f6f1d0a01c4440aed744161c9447d56c022b47a0721d39aa100c200bef7e4952c23c124af80db1a51845618f0a22111cd
SHA512 (dosepsbin.doc.tar.xz) = f58c55f224ada686e2c40b00eeef38720bc2cb51dea8bf434471d466dfbec4323f3a5cf9b617de345e7dcb49a9df93e6cb0fe96ed920d27609b72f2890b37ff1
SHA512 (dosepsbin.tar.xz) = 3e2e34c9d9486dd026967fc5e5cfc8a9f5816c46ec1b32cac1a64ff27433820c4c1257d04f7048dbea92d74120b07e8769e3a5dd1c9f9bb5c24d583febd33e5b
SHA512 (dtl.doc.tar.xz) = 0da315de96913bf61d0c24c34ef0f39c72ed0c1189dfad5f6d8fd1159d1c3e0fc2c91ddca1aa69798b4a0e648ec9a1d70b4cc0c7340ba273dc2e4b08aecba25a
SHA512 (dtl.tar.xz) = eb6f1dcc4d681b995f8ca3a4141b988dd42001881ed0e1290b6c188b5d5952a5d54901f924b4cf3f2015376c452ee2a713d253d532985322fb7eb0adeaacfeee
SHA512 (dtxgen.doc.tar.xz) = bd4557f8ca056c04aec9a9cab5e1797eb7042402b396f6772a2fb5bb961d1981ad3a79f02df827059e8e82a3ffbe11d86d51af99cf844f234f328bce47c4e0c7
SHA512 (dtxgen.tar.xz) = 06e62fda6d696b6ce3512957df7e5dc37072939c4b0dcd7d83b5894f1d0be1856ea69457f7e16119cd46d62b3e69d0646b96a768f1a2fe16181911480391c90c
SHA512 (dvi2tty.doc.tar.xz) = cd86896ea463ac9bb6d2fea927c7e50bfb81b0a7a1cb01b8324f4d95be13a393437cf649dc333fb4866637c725f7fe664372857acc2317ae751789d0d6b35608
SHA512 (dvi2tty.tar.xz) = 64d3a50cb8a84e92f6c2222e704f0d4bf43e3b2075abb24c82e66c5d4c4acfbbb753cdc83753da7306e6a452d1163dd94ed8caeb318b7ca16b302e6459f30757
SHA512 (dviasm.doc.tar.xz) = 818df232084d7c14933abb8413628697bcc83a6c7ebb7c005447cad6fb582a0ac2e1bbd249c14985a5b93272bd2afe01f5198d218a83140b4cda4ce6a1f8c470
SHA512 (dviasm.tar.xz) = 772415a27378f8cbedee1c34f083f6d99c99ea21095ab3f4e8299e3c4bfd73603412ddf53b97bea559bd1e7bbbae65967eccb06a049b2cb04e7ac3eb848f1a86
SHA512 (dvicopy.doc.tar.xz) = ba9b33b91e582147490bb8ed3703a9cb181330fb0d7f2353fa624f494a3c33db0e4948e7ee7a8a8869d938b7b7425f8d271fe68f54983d4a033f657f7172fd6a
SHA512 (dvicopy.tar.xz) = eb542d855a28fd8e06306472586c2aa4a4235843397050703ccb76c0663050f5ddccf334536e4417c8a0976ad78d3684915160242f30700ecfcb7f0ebf810bef
SHA512 (dvidvi.doc.tar.xz) = 2c48aa8d74262966fac3b084aa4dcaba8186267d02dc8d9c65781158f28ee2be0c2864a8c99cbc787e1f5b1c48d9310572b54baa4ede164c9575ca0136e86e11
SHA512 (dvidvi.tar.xz) = e50dfe7c6b0c5fe13db3cb489a885a2b5b5ba82a5279834560c6ea747b2c11218a072273d46df13b061f38601e9705496a7b058a85de8d7ab6a5dcaee1ef4df4
SHA512 (dviinfox.doc.tar.xz) = 356ceca531a8d8f0de2daa5101d363b8887a0864b8f36228c6f7604e8e77169aabd8d947bd283916afbc2a5b7a092c80053519b8c9ad6b96d34a3f596c6ea8ee
SHA512 (dviinfox.tar.xz) = a1e296c777a65a520ee21e7c02e877a5b94d9c444660714d5492642aa3f53311a440a7aebdf70c8c33373d7895c4ad14dcedb6efa50d770cc54898c2a33f3012
SHA512 (dviljk.doc.tar.xz) = facaf508b2b2e884edeef713f6e3c649d4ffa19d8aa57ecb7ab98f341b3a854af203140e4ed98265af134f5838b6b5df6b7f6644ef79f47e466e943a28ce2bfc
SHA512 (dviljk.tar.xz) = 830b8f6075bd4506770ea0c8b12833ffdd201d0834c73fa8d6f1f9b550b4a3c1cc23aab513b895f657944d1d8bfde634942fe6530352e43567e1a67fd62659a6
SHA512 (dvipdfmx.doc.tar.xz) = d5f90e19898a14a8fb549445ec8ec19323d61b7d74e132e0dc49b54a5ad0f9ae0fdc138519c247886fc84c8f033a3bfa92318609a342afbe60dee64cac6814b3
SHA512 (dvipdfmx.tar.xz) = 905da1daca59bf732906e75b28f765ae707b1394347165fed64dff94df3c2e0cda174579215bbbef403ff6278adc4061754e1e69aee3d3de2c282682deb0f15d
SHA512 (dvipng.doc.tar.xz) = 127010ed1eb30a2c88e59f2ca81c7185678b1c628c45561686e009e5178d825028d1ae0a0325806faf20723837a09baa9503bb375c51fd3a1731cc724178fba6
SHA512 (dvipng.tar.xz) = 1392b745bce912cd98299b8e6c643d95590db0a14314a78504a5ee6f7942ceba994dc25763790349eaf5b07b333f59acbe1db12eb22dade4fd8114f176f8c134
SHA512 (dvipos.doc.tar.xz) = 6500b125af937ba20cd21649c16ce82ff8f8f1dae31294eb724f1e47ae1f9221966f68c5ddc9019dcccf411bbc262a3ac362fcd3d659972d3cdf5f559a87f756
SHA512 (dvipos.tar.xz) = ba8bbe1797971bdb1706a8ed059cc45c0d31a503380f3b1cff7c1d74ca8067d39cd6d0114e366ea0731d18ab00cd68eb8b57db287b0602c74e2bcbeffd6d3316
SHA512 (dvips.doc.tar.xz) = d88380d5d37c0cbca45c3c1cda0b4d6e437c9961f34e34055466deba423a590a28ac3e9e8cbb65f318506a36188eccf8fd6880657e66687557ea95a623c9597b
SHA512 (dvips.tar.xz) = d5475ffb0fce54cde01b786b64e3b8cc34f3582576b442c3e4b2e24b4e6a298b8ad4e5e5361a97aae9c96bf8e86fe7dc23dfff161e5b27b597ee25a9b1fa0c78
SHA512 (dvisvgm.doc.tar.xz) = 815cab417e0eea6b968e0ebe60a027a7fecfb652380c350305e2172d81a2a21e896277fcc3972fd76f5a2e2a586c8a7aa24e3b6b625b951dd2ca2d5c43f33159
SHA512 (dvisvgm.tar.xz) = 0588cb349d8757f48954e6b80f7f49d6563e8fc186eb241b7dcf910c32deca74e4d9bb2dbab6dcb8da4900e00a911681dfa23d4fa5bdc10bbd8d2f9dc23f66c0
SHA512 (ebong.doc.tar.xz) = eb6333aa57baf642e7e9e8fb9380a6737b3c54d32db7ab19deef90e240ba9afc35de74ea6b4639704e70faff823c7a9c0215ca7eb1139b09656f8a4ff1ea36d6
SHA512 (ebong.tar.xz) = 9dbd783045b4976fc29601f1c5630e29e0c22826386322d67e4b39813c73e6f1f975e915a4e5343ae65163f050385b2f76a0aafb61c121eb7ff7e3dd1fe5466f
SHA512 (eplain.doc.tar.xz) = 08cbceb7ae891a4284ddee5faea3ad8d0463b4404eca170511fdea80c4e93fc3c5a12b67a6117eae298ab1a10c6a052a34d51f71c6e90c90165f26db1944fe00
SHA512 (eplain.tar.xz) = b0234ec56573a6759f8f0c58b21e925e67d5bb3c5e4ffea3053ed211a1dc924096608b23ed8cedeb7d472095425fbfb76743f71aab09bbf2095ca4066b5ef8d5
SHA512 (epspdf.doc.tar.xz) = 4609242756c9d49d2361b2f723ecef732fc42f0792f21a409d869c6baccff60046d4bc77e8dae1be117faf3fab6f236feb1982d9c26e6a838930fe4ff2f5e718
SHA512 (epspdf.tar.xz) = 5575e3e55c1004a0858a0f358817c2cabd1de13a75aac7438c7e9be441abac2b419f99551a5ab34045c445fd6ecda1f47d12564939fb56b36d61f5aea3abefa3
SHA512 (epstopdf.doc.tar.xz) = a99c5eb6e5488e4cfbc9f4a4c8c597d49674ac3dec33ec2c986b14b9812a4da9951275672716d3829d5f3fb4f19f52b4b948a8cf53c760003a9906f68a3674f3
SHA512 (epstopdf.tar.xz) = 362805a51781c4230cc400f19a5b64d878c26a81e4ef64e37a5ef768e7a30bae7ff79e57c29a2cd637d081626b8e880f879b48e9fe31788df001d2d81a229d27
SHA512 (exceltex.doc.tar.xz) = f53a69468572e296c27665a86d81de4e66b780e8972c2520f35db37b54ff9dd9b1fb26355143008d0866c676e9fd3dd1cb256c00f5b24c696ad98c2a3a550003
SHA512 (exceltex.tar.xz) = 4175a2e4d9f5fbbcb441d9272ace24e567c0ec2cdac87f46b78058cec84ad4f1c8e62fe98d7ec20a8a528285129bb73187be40ca814de7f220997c5490404983
SHA512 (fig4latex.doc.tar.xz) = 49092e5b3cb3d9b2cfea001ac31b373c4b31193790d9fb8dec7fbe1b4aac68bbd1bbed0e732d84e4c2653d117765dc1b581911905fc927385b3171c8a149da55
SHA512 (fig4latex.tar.xz) = f6c00e585c12b56a65ea70ada98f8a42616ae79a5db37cf117847f3a05757dfbdc4a73b0cc58945fd143c2bfedf5c67351b6b86bc7e6aabcd963e400c627a063
SHA512 (findhyph.doc.tar.xz) = 0d2793837bc16ac5f9b6aa245f24366d68541e0d4ddc55f70fcc28b6c324b8282b07a2ad6b0eefbb77346621e1b0b44d25a11971357d70870fcca7d79f00ec06
SHA512 (findhyph.tar.xz) = 7125515ebdccd398d18cb71eba65197519b461ff273970fda6cb2f882d84d12418b60263a85671917f2d7450339273153e5e0e4ff6eb0f8a36ef38a949f6526a
SHA512 (fontinst.doc.tar.xz) = e462da9b786aee455a1da52b208df4639cb1b8e44dd19efce5d9e4e51f85923d9ebcd601a12f615226b4f17484893591e66727785ca2e43fdfc8fb1dc63e0356
SHA512 (fontinst.tar.xz) = 9768a036ab6b4ef3ff5dd2a64feec41820b18e3997f0a98917ef2596d5966a03ddb6f8bbcf1dd8ba4ca3ce2087aaf2cd563c7e074ae153a2e76b0cd7847edb74
SHA512 (fontools.doc.tar.xz) = 5e17803db5ec6585fbb172ee090ee52bc80e08632de3062c1843c0abacafa1d48e7967a6b864c1f79434fbfad4e1370b5582aada85cbaf7409d9bd5ae2ac8fb5
SHA512 (fontools.tar.xz) = 96e4568e6d4899ee7239e26a776fb25ef2b7b2e1c16771e928a8f94acbc6e352a6e04a402378bf800a503999d38e854275e1b12ef87fb3b8c9c37d660dac0c79
SHA512 (fontware.doc.tar.xz) = f9e8f57eaa61111df2d59a32f2bbed159eb88a2bfb4ea5353a6405584e944e279f6eea07d556c8f805440c5e99bc5dd2118e837f93a27ac5ad5e845f3aa4da12
SHA512 (fragmaster.doc.tar.xz) = 09739ee4ab0bec2d190ffc5382242eb8612291a7e93ee0286169173bbb84e5e0affa6bd363496b62abafb220bb2eafe504d4ced43fd75eaa0b53a8ec854a7a59
SHA512 (fragmaster.tar.xz) = 1f534934532e157eb398e330e2cbd94e62b419a03c313c492e9125953d1803bacf5d4707297027345d32ef82711b323003582d3caa05bafe903842e0a2fa8a5c
SHA512 (getmap.doc.tar.xz) = 96149138cd420b9584d2c07e45a1c24b6466cffe8939836c4db02ce9f12d03b028b0d037c803ca474f18eca73b5fbab88fb164d16f1147e25170aea9f452f0ec
SHA512 (getmap.tar.xz) = 1802bbb0a2d3b433eeb476916e41b0c95737bc35d8d141cd29f0c7b701cb4162a0cfe577ea2698ff663b6364cc5f5f458d361a50a1d49cf7f1c3fa40c5992f9f
SHA512 (glossaries.doc.tar.xz) = 070b31a2974f8c84b073c834ee2ba358d334f5aba4611ce17e7d17d38ce41027a2f949511d867d7db767b4e6d60aa41a166312b4f4cc29e648248ef1c76a61b1
SHA512 (glossaries.tar.xz) = 71f2bfd1b2bdbb1d50bd23b1928ce45ea3397a47f0e64008e1191f4ef337eb4074adf73fcc5a78c3e6bfb2e97c550814304017cd1ec651c09b705a8f98b08da0
SHA512 (glyphlist.tar.xz) = 493d1d5af92fda0bc44228e3001b39e3675a9a9d367fdd95fd210fb34b8a0802ec84ccdc121bc139f70350d905c5587b489d9afdeb49e63a0c585a55bf396bcb
SHA512 (gregoriotex.doc.tar.xz) = 4d7d71e538da4f69094d06c3ea06bc4ce7f70391f2775fbe13aea23ae297a7ccbfec88fe7412a37dfbdebcae07ab92d1c55e51ed71c4772992a3ae76af2c3e15
SHA512 (gregoriotex.tar.xz) = 512797dfa961e12e38f46c1d2d1300d8d84f628e52cca51e3d91cce08ee5be697b495fde415810e63b51a09f5588ed306c0fd9a821dc22ed1ff379af70ea1ff8
SHA512 (gsftopk.doc.tar.xz) = e3ef7876b48c4ea9afa5dda8a72ecbd83cf32600eac87890e44c42e77557c05e386f96cfcd00ba31e527deabdb41c84b22b5b297d0ac08dd9121ac3b9b724efd
SHA512 (gsftopk.tar.xz) = d60ff1257c2f00d12173593648b3e1d7f9c9ea043ef16b5486a039083f9b74e6129d48a71efbdc8f1f0a7adf74ac59e13c971c96e6d97cc7c8cf4cc0093be61a
SHA512 (installfont.doc.tar.xz) = c2db89e1349f8586cb3ff2f8cef1130d6542d927cfb4ac7a313f598cc7b2b113b17961d21092ee898be5484b8fc53e61a6637ad584777394aff9d9a98376359f
SHA512 (installfont.tar.xz) = b5f28c690b1eceb036102cf3838342dc506c5cac6cb6c227287b23121b53536748f5b79822748191dfca4a2c4912b5633aae55e87fabf28b63f949f5a654535c
SHA512 (jadetex.doc.tar.xz) = 3d79b4462dc596ac82f9bc3adab70103272482dc8605d73c52dc8a9c185943f9f03f861b051250cd71987ccc04fadd862e53d26f83f3da5375b08e67541eda72
SHA512 (jadetex.tar.xz) = b20c37768210bfe77eb6a5eedf78f72d0b2fa19e9a41b047957932e06891732593be18e9b170cf966340383b9edc692df81a570f9fe9f9a00c3bfef5f088651b
SHA512 (jfmutil.doc.tar.xz) = dbdef11ea85b1b583d52436c16a45878233621774cd11be11c059cc9a6ad54a257b2c28cff728e9179d9d220f02bda73b884f13c125492effb421487c84d94ac
SHA512 (jfmutil.tar.xz) = be4958e1bf7697e28794c88f20ce014dfdfad5f020699b94c95a5e9f8f2eee0c360c8f2035a4b66ef2381a524f61b7145414c9f919891fa56afa66cbb4a87649
SHA512 (kotex-utils.doc.tar.xz) = a811988e250b1888e32c9349026b036c7341a7184f574e14b6fac1f821e21ec398c94efcb04d32d2dcf147af5a1fa1db4a863c8fbd7707d10540465b9c61d934
SHA512 (kotex-utils.tar.xz) = 59a30d2693703b72707f6026597cd53d54e41569ac1b1410a7b73baf8c1455140f7d45da225d3b6699d0208387df33f4ea9737eb10ea6f9fe7614af6704440e2
SHA512 (kpathsea.doc.tar.xz) = 6ce377c29a0155ecfb1ae0c1596e7b098b320d5708b310492fb38f87a032fbda349a4e1f14edab9914adfd1922cfc6cef6e0524ab3296606184105e34037fc24
SHA512 (kpathsea.tar.xz) = 1ad1b9e35afff278c20501532b46a492755bae9e6aa2d9eb653e2427eb16ec84e5dd026ddb473cd3aeca9c938d0a0cb408d5922401d6833174a0ed36f11c10ca
SHA512 (l3build.doc.tar.xz) = 29d2ffe532403d2debfc4d04350589fec7417d1d4044f28bd9b139d84d8eb42916b6c1d08bd5d2a29a8f983fb38fca28d6f54763f02b852c0cf1297b5172108c
SHA512 (l3build.tar.xz) = 34109f59c3180a480c496408e47e83bcd286fc772ed0889458d8e060d967fe3031c9ab3263f59ef7d9e64bcb00f02c048770274765f869e49caef12186bcd0b1
SHA512 (lacheck.doc.tar.xz) = f69dad894e5b6c808e9653d45500140096009284f01cab9ab5295d4c516488cb1d82b5ed616c6e10c1f25ba78169faa980ba4cfb55de9aaaa5c37d0b1e5b2f92
SHA512 (latex2man.doc.tar.xz) = 654d1c88f71fe30b37a59c1e202cbeca6ecf22864825c707b70ec76cc6c671249f5f3d2c5df027bfa537497251b341d741381a20ddc4042337b5932a89e97a7a
SHA512 (latex2man.tar.xz) = 581f529dd99cac9cb0d2167626cfa14bfa90e47dedda1528b7ad810f045b34be1003e399f92996cab3bb7bb29aec27e739769310fa182e9a2e0e4683ac8fec02
SHA512 (latex2nemeth.doc.tar.xz) = 8679a82ad00d5778e571d1285ac8528e99cc5ba2ec19f816b297a548d98130d499c4cefe8ee0641bc80bcec09c99f194ee9fc1f27c696a4276729e9f8be144c6
SHA512 (latex2nemeth.tar.xz) = 0ed818c581d66ab8f6bede58793931b2216270a6873092e869f6ddb7e2a206d48fb7e49d16919116eba625f9d1379a6aab7ff586d1d3027f636d35ca33a83df0
SHA512 (latexdiff.doc.tar.xz) = 1338c9af56c390517230c3f34381a3ca22654b693a7ff0408eaf710ec00cca596cc669f32981b0da639401521440a4405b8a70ca147d48d196da6273aadbf3e6
SHA512 (latexdiff.tar.xz) = dc0845bce8ce26fa41afbaa222d3b7c81735dfd2c8859e554e3883cfc503fe9ca349d12efecfa75181c700fc9ba35476b87f80ce3dbe83cd8624233fbbefaa8c
SHA512 (latex.doc.tar.xz) = cd9eba568c24dc8af1bc79a14dabb8101a5df6d8012e068f7ca9b12533bf671b0182994de8cfdd21f350748b58aee2213ff3c14e7735e95ab7e5455f522fb52c
SHA512 (latexfileversion.doc.tar.xz) = ddbe5ec7d1e523789ec912bd666813aeb90cbe920148fb992eecd086f672cd8f1f68df8054f14633e3b018a8c2305f23a4a0acb3e6492279edb655fa10f54e30
SHA512 (latexfileversion.tar.xz) = 932fae5a19526a73123918a23bdfd4246fced21be54e03289e5cf37e11a3ad172e9f689e0611ca9688b874afe70b7f8b0c0cba11803554b42819b114d4c7599f
SHA512 (latex-git-log.doc.tar.xz) = f27474c0f8837d8b8d90af1277cc2b34fc769821923c3ad3121a73de6c239b97c113409a9af86cc28af0df11515dab8956ecd04d211856e91cec84280cecd72a
SHA512 (latex-git-log.tar.xz) = 9b889286f9eb3a2ba0b1123252866f7de61678e32c1f7988ab3d5286cfd946acacb602170fa2f63d56dd63166815b103588fa545c94559e105c60478c6b0e8f1
SHA512 (latexindent.doc.tar.xz) = 9c190d8406e1f255168f2fcf4c7b6c047d2d375413f2d58ae83edb0005699a8676738207cbf591b50032e732c28ff1288a51a59f783ba74d9dd9431a9fcfce19
SHA512 (latexindent.tar.xz) = e10c18650ef587cd6f9aa9a2945c706a57f8370021c9c9b18e5130d80fba97a1edce192c9a269683217509d1d6e196077ee731553641fe6bb48a9cbbab9ade9a
SHA512 (latexpand.doc.tar.xz) = a6e7b623a5d6039ef5e749aa9e61ca8c75aa0137fce9885660b589d6a0e7cdf62459bfd21f5297a45f88eccfa68396134a43f68fa8947c161638c825a24476d8
SHA512 (latexpand.tar.xz) = 77f6505504f2622f47a301b89a3bc019e3a52fcd27a3f6284b5fa8f701800cd17ae61b698c336d26939e437922a7769d654923de37998cf63c53ad2cfbe79121
SHA512 (latex-papersize.doc.tar.xz) = 0513959efdcbb9a6a210299cf35fc4f2a1a83affffe707bca1a210263d73acab60e75293a50273116336ecd66c086c1c5f4f29a31ae26508af2f0784c935ee4f
SHA512 (latex-papersize.tar.xz) = ec821fd792e83a8aa9230e60898286225dba8d0cfbcd1677dbc75746334db512c063fa37268a60add8f2d8aeab182a29f8707d9d6ce75e730f0cdaa53ded20d3
SHA512 (latex.tar.xz) = 360ab16c3ce6bf5cc8983d2e3372a181bcb3e510bd97a0e0713fe731d79d326091eb1c07496f71059cbd669637d21cf067911a1c0a4ed323157cd20c039eadef
SHA512 (lcdftypetools.doc.tar.xz) = dde3a638877c8329a9ff3cf092d4692ac19e2f07c81bcc5ed05fd9ec60e3464742ee7143b040d3c6737e8c116bea697483a49dc68ff04f177b745503f11b15c6
SHA512 (lilyglyphs.doc.tar.xz) = 455e55a342445cd98616033098c37031c60429df822e89b344db80fab3e7b30b4518cbfef539b7594a29347c6998794696c9011a2a413a112a369be422f002a2
SHA512 (lilyglyphs.tar.xz) = 708d545b10251fd31c89ca3903e226dcc63c78ac77a8d036b3475ed1d5d396f3087b8dd2ec0aafebac65223ae4569d1c66171fcebdff5e06f37fffb3f45eac30
SHA512 (listbib.doc.tar.xz) = 46b2503dcf8615eb1f8f93ba6633658227a370fc8946fc4361c08ffeba5dc03eef6361df28ea996b53d59708a123b1f7bd5502f5acde813805b1d2ed35f60c92
SHA512 (listbib.tar.xz) = 4fab2e4abc99307598e482823e02a3961e694faebb8c5275557c9030dc40dc8f1d52d5da6859466139fd2194e4272b1b93782562034aaaf909fd1f6a205dfd1e
SHA512 (listings-ext.doc.tar.xz) = d26afc5303dea720645bd0296158d24fa5ef2d733bc52d31a4c8c57a87febc7d60f3556a30d7df6406537bec8d7b94c37c572291bffcca84263a7a89ed2e7f96
SHA512 (listings-ext.tar.xz) = 99e2cb51f1eda7d031be3eb39a1aae3295da0d5532691d3b1031111610fd06ca134d271b5fadc065991fb5f427f33486a67bc1a9dc69421a4ba0ca6162cc25d6
SHA512 (lollipop.doc.tar.xz) = 551c2557d686fe656158f2bb754fbee843ff251c95e0e8ba6b43139d81702d335897ed32c28143c910addc87f3b9e30acb8f563753084faf3d9cd657a6867157
SHA512 (lollipop.tar.xz) = 9d388b2970c9a393cd21bfedc68f0a250dad62cf4f728ebc0313d25b1a461025661efc2744f0e85920ba674596f98c9a0af987839b31a1b23f2a797be887ad7b
SHA512 (ltxfileinfo.doc.tar.xz) = 3ffcd73b9ff61e2e63504bf7081cd4dd55cc903e4bb33654c8c69e7bebdb5958164f8c680676fc3a44b0f309c4640b2bdbddcc6f64f4aab0913d43ca63114e60
SHA512 (ltxfileinfo.tar.xz) = d3e308718cd73b58f73b4ffd0e2588e4b3ad130fa7dbe1047697e3b7c8c06f6d30ca0346e88b2daf122c6f198787812303cb2172aa3c6beb9f53ff4c7004277f
SHA512 (ltximg.doc.tar.xz) = bc7d176e11a306394a8d3837a77c47024bbc3207c8d52b3d381714368cf040099ec587bfac7212205311dc3196e3b3c5c94fb1870698411f0378eea2bab05659
SHA512 (ltximg.tar.xz) = e900ba5934129db488239a3430b563b54f13d0d33dc4d01976f272efac432f9912aeea94eeaaba9bef0d67f20802674e7765e377ac031783150f02c58d21f707
SHA512 (lua2dox.doc.tar.xz) = e1be1ffaeca1cd4830c2ee0636aaa4d596ef2cf63fcc54a84a3db7f36d53af01b571c15f26650d4ca35b523957b281818b94f4a8a36ab5e89f7afc49f4480512
SHA512 (lua2dox.tar.xz) = 7f94a474c26a50b50eb9d26082a174f526272fbe39d8a2d4e2afedfac7cfdf1adadbc2fa69d029ae92463fdb9db86f36bbd5d54538f14df933c697c8a85fbf4c
SHA512 (luaotfload.doc.tar.xz) = 557a462d62a52bfc05a8687fc0444dd11244bf0cb9c94f4aa56c50ab8388573e5ffbbcf60a04660b962b16afc80ce25cd01dc428c6f659a132f37f31863e2282
SHA512 (luaotfload.tar.xz) = 07d85e222d32a4860d855c68b7f8b3c4c1f30211714c609ee65352d077ba633b76a157ff277017831080566861be8499f7a613d4b3c67e9b17389663f019776f
SHA512 (luatex.doc.tar.xz) = 3ed90c0ea5e11b5afb5bf7062084512a90e436c83f5583bc0a04c55fc2d3d9a3abe3d685706e82698a27a95131ee0adc0e3da7778e5a533cff62dac8e4bce500
SHA512 (luatex.tar.xz) = a9adc65694661ca9f012c7012f36c04616676465c89d40bbf779617b933bfb1672e4183f956109a352dbefef6730340d19e0c782ce2220febbda9fe86c724e2b
SHA512 (lwarp.doc.tar.xz) = adc8f68bbb34722a609fbb943574dff8a7703b1e013959161a10c3eed2f9ddb2295bdb37ffc56eb7de8f9142334f2692ed2c2f62340bbb4185c57ce339e99103
SHA512 (lwarp.tar.xz) = cf873d87ff7bec788f77d3f8a8d3d55be5e4857a71067f33a12bfa8b85c2ff74141d18c50c4acca7f8188c043809a159fbce564110fe80bb19e0619d18052d43
SHA512 (lyluatex.tar.xz) = ad51a904a5050ef92df17d9220a5e453e251cad0facff2531cd6b9b5df47b0f39a6acb2762cff75e4a27c0db14099119603c03e760713cf0de88c263a2ee5ed7
SHA512 (lyluatex.doc.tar.xz) = 0641a8dbb8678add9c21f5ae9e94c897cda0ed63ea54fa199d8d41e308e63ec2fd360606089e263f827a5926475d2cad358baef3383edd5804e5712e3c628479
SHA512 (make4ht.doc.tar.xz) = 84278230347f19eb62c1ef26ed2de59557f65176a5a2a0aab411e34710d9965257909e6078bdc1acf0bc50f265cd1bc4b629f7a27445ddbd9f125f28036c119f
SHA512 (make4ht.tar.xz) = a93064d86286e9d57044fc4dd96750f06618e3c68a1a9dde746939ba507ee06ff9948fcbd05a44e52a8afe2a45facf1188b89ec755f80099ab8d06e791814ca6
SHA512 (makedtx.doc.tar.xz) = 279a128c92a8342c5b3f1091f6ec927fb1df8e977db847df9c390218f617df3b99aa0b91e3bf3749ee4d95c1fed6025dcfb4a1e6bac6b950cb337725732e77a3
SHA512 (makedtx.tar.xz) = dd5e0a4545bc603998beef532f3accaed479fc06fc92a73de183d6803a9b4b7b54dea901964124607a4ba14559fc41e0a7b218c7b1796194d004334fa4d32544
SHA512 (makeindex.doc.tar.xz) = 7feb700df902f8c5d66eb491121218fdb9eb04077a7c208706af3281a81c53ace56cac1080627ff10db939a66a7077dbd637b61642ba5e7256adbbb5b0ea2826
SHA512 (makeindex.tar.xz) = 2c0afe8d9e5d03187ae8ee6b0b023f727577b84d369d31dd5e1a1980a059f75866b752aae8c5067ca968c2c6c6b5a6fb9f11010c8c8ba9f2aac9191a6647c5d7
SHA512 (match_parens.doc.tar.xz) = ede20fccd5fa4e4c92a5c85f7ef471fc765ec106b0518eb77c4545f774358ae4debab7c1039dee9d5fa9f83b747d021b16c43b77977725e4a9bf0e47a2c76c75
SHA512 (match_parens.tar.xz) = 08f8397acbd565922be2ba794de458fb5d559f447fb3a23037287b0c8de26230f844b172880bc986a1badc1d09ce35d18db4319cc900ba891c90866743225d6c
SHA512 (mathspic.doc.tar.xz) = 3e92570e8383aa7a186be1f2d7ea3de771ae9ab8135677a8537e901f2b26317f4ad3d93919f761e3bb2040d97368c4f0d4bfcca965414b2793d067c78587273c
SHA512 (mathspic.tar.xz) = 134b5aae7b3b3a41cb34cf8fc615fd6ccb965716323b4157c989a29ab3809d75e4bb8a9ba7b25305614e3b73fa3e93b29789fe5a2fe72ddff026c6c1cef112d2
SHA512 (metafont.doc.tar.xz) = 1124acbe6c8b85728e70a67c65fca671a855aa3c3bee4e37d64c180b06be582e6fba7eee3c1c2c3263f71159144b514c5e5166f18e5228b0084a7417807f7936
SHA512 (metafont.tar.xz) = 46ab9e77136fe7680143d20296b0a3f80188f3bf3f03d5642c32edcc6b286b3161e282f281e386977db4ef228035fa8f73beb7f7344cbe51edbf0be6afba5def
SHA512 (metapost.doc.tar.xz) = df9294e647f4dd7221eed00f3932233ecd379f5189430a2d30e4825d7435449c56809ff6e298edbe75ebaeb1ed9759f4bc6bb5d030e5896c1f331135e50c25c2
SHA512 (metapost.tar.xz) = 55ac785952785d53961123e7b257d98438c26a73096cfebadc99aba7ae0230712d70d7c65ef6622c9ed8e542154e2a96c3e6959dd9e9351007a71cebb9a5c997
SHA512 (mex.doc.tar.xz) = 61f921bbca7b5074f5fd32658016779a347881dd91b2e278c1e0f838de9d2e4944dd3675f839cfefebf3f0b76f91c4c17153afc8c64ca739a1496675ba5d8d2d
SHA512 (mex.tar.xz) = 7e0fc7d9577412e69adc243d1286d830fb0182348434d51dc61534d2d262e9389ee56309278e1d4f96915dec05b15c0dff6b021706c8ad8c1546707053c53c14
SHA512 (mf2pt1.doc.tar.xz) = 68e4c8e5105503cedc918c4a221c36e8018378cae92f0ff62f372790385d700ed7abe617b4d8976471ad30720b59597856f6552ad2aee74e6790c4a332ca481f
SHA512 (mf2pt1.tar.xz) = c1865afab20a1fdf52fff4703f13de9df20a349e5ede70b8b7fb45a0a3680c7acdd024cd81d23d30baf5be8ee4e7a4e4f2d2b8a9543670f85ab9d4b7568f5acd
SHA512 (mflua.tar.xz) = 663280aaf9bf9e1a935a3ecbaa7e37bab4135bb59fd0043fd421c6483aaf3849c4591b66f0e4f1ad4e1fa15212854c950726e71ac5fbca6435d588f94bd08d0c
SHA512 (mfware.doc.tar.xz) = 7447a7719590d9a6cd39f846ce29d22e768b0b7c0272ed9cc349ba41ea8c0d31d78ddfb04808383e7e810644a0b00dbfa308401f0142ae1e36a792380961bb3e
SHA512 (mfware.tar.xz) = 6b0bf98a6b6420259a4456237ca3a02c4b0586e051555ae27f27afdd1e21da1e54b9f46034cecb920423a54af9c46e02234a517175933d1806bc105ab15d35ca
SHA512 (mkgrkindex.doc.tar.xz) = 0dd37369cd881bf3ddbfdf5c415047e54b6977077f759687236f2bc77fc4706e9b587265c64d8bfe9dffc340d343ff782cc63954986344744d0b1380485a3de8
SHA512 (mkgrkindex.tar.xz) = a8ae7c100099a0680b1559e8b29e6b9c7231cad69c498cc3e3a46a84dfd1a4af9eb14da881545a95ef5894d202e0992d92a12ed64b8deefc97b30854cc398af5
SHA512 (mkjobtexmf.doc.tar.xz) = 4afad2e4d7b841a6d2a7a21f429ae157e48aad10ef33ea74dff4ae7ad1570db0e02f96fab8d28d5fd0350cfa1c6360ccc00a9cabdb7d0273c6d949efbeee9db6
SHA512 (mkjobtexmf.tar.xz) = 10219cbdcdceca2b8ad52330a3471938ee180b334f6101f88d440336d15aabc60f87ed46c2958633df033a90b50ee73e3d122d8a03c3d5a7b98ee84500e402a9
SHA512 (mkpic.doc.tar.xz) = e07e6c22292ccf08bcc047eef1d306f37ac4471106b5da74b75155ec81462ce25c58fb8524701150b0a1e06c6f61db11455f59ad60c8499cf8a4206d86afcd92
SHA512 (mkpic.tar.xz) = 7294d20fc13153d183d711fdda3efc7d4e3fc8e351c041109f32e6130aa33f30eed6bf39f6042b22e78a3cde375fb6e8ff8de09979fa8e52e83cd652289bc85f
SHA512 (mltex.doc.tar.xz) = d53fcdcb41c31bac3837f6474fb533df22757dd8fd4e9966034402c712efe5d04184969b42eb51e5c9fae52579710df22ca89ac75bbdf01221a5a2989ed7a86f
SHA512 (mltex.tar.xz) = 2cde1c246bf371d4fe0aa141bfa6a50ce84caa324d505258ad6d3f2360e960e9c6141000def7e38db793e65979ed2541d46c11784f95e855f49a9d2157e170c3
SHA512 (mptopdf.doc.tar.xz) = 67ad71ab2c84f87d1256b1fe3fc054083cff530f91136bc7e03ae9e3e05c177170397be07efa4fd3755b71d7716b75d182d99fc3e234318717b4160b1117b3e0
SHA512 (mptopdf.tar.xz) = 8cc056d2beb65777bcb98e8914a41a1bf7c35c942e9af89410cd9af32530d2bd62b39466b27a429d5856441c6f74040a9d85c59d72e5fab9ee03b044e1f2d51f
SHA512 (m-tx.doc.tar.xz) = 402356d171beb953d063262c1b2b09afdacffd43c831742b05b74f390150e800c6e35aeaf87c239f3f9ca75fd65512c7b781b9d47e7f49d8b66f8e1b57ce04b3
SHA512 (m-tx.tar.xz) = c767a7a0d98d1916f581c874101fbfe93332ed3fae4335a24b3cb647649ab9e09f9d458ac22d610eec329c89ed47c1d97fc0661a50bfb71e115bc6be407d4204
SHA512 (multibibliography.doc.tar.xz) = 987531138a45f5a8f5790fd3ee023ffbbe17353011270119d2b696e02b79eb9328070fae7fe054842610b21a116faa7f872f079b5ec4bd6646ff4482644f6f02
SHA512 (multibibliography.tar.xz) = 9986d47132abafa57620c8b667d7868bb8fcb9cf00f21df786bf40bba81fac51380e94bc0bd371659cf7fb1eb23a057d72a2e8fcee100edc850f2c9447ad4c7f
SHA512 (musixtex.doc.tar.xz) = 34ffdeda8159aa22099f399a167b4c662482e7983d443338be1e1321914b961f3d445939cc3a3bfeba95151ca25bf36b15b95a7b6cbe31a4ed8b7124b3e6c32f
SHA512 (musixtex.tar.xz) = 7e42b84e0d51e093d5bf5916943b9c25fe9ba531e01292ada7bc572fb37fc208bf8422b8cccb624008f07d93f588dab7c7a6bcd22f2b59524e47ea7b11ec713e
SHA512 (musixtnt.doc.tar.xz) = e5543d8ab2fc39813fe2d8a38cb331cc2c0a2e3f99db4d2a256874f10305db16e6e9e94e05be68407af71c7161e7bc45cbed810488e09f7c026e351402e8375b
SHA512 (musixtnt.tar.xz) = 309beff8e7edb74f88f40c918af32c9c609d08743eddd4993cd45b5b94bd02530964949e328dad533bf9dc5f80f0c445febcb3ca3bcfd88508d4d789c4f2f540
SHA512 (oberdiek.doc.tar.xz) = 28366d4dbccaf9d62bb1f1d8905101e2d81d37bebe1aa5484faf9081a1a32518ae6fe7058dd433ad189256bda96f01aaf7f9a9ee28c24c1cdb9707fdc3ba027c
SHA512 (oberdiek.tar.xz) = 750a6b5df16d34265fe21bdad99a3493074c81e4a0d055cbd3df6e95ea3bb80d4a40980697cc759f52d1bdee59f88d2a3db3afd907c8fdb3032ee4a25363f475
SHA512 (omegaware.doc.tar.xz) = 37417c48bd0c4e6b0d0365c1fa6cb9302838e4222a230cc1ba44801ea9b6155af96c092ea7142eab8ff7148b4447c905c286bed29a7715bcf72230109b6d7cbd
SHA512 (patgen.doc.tar.xz) = 108534d334d4f1de613abd901d7f11196c83dce58c57f74977889efe656064c563785eafd315f3f63dc2d1cfdc14a4c3d12994dcdc95d098bbf203a472b174ed
SHA512 (patgen.tar.xz) = f214b762c18ba6ccfedd0df11bf3cf47477bdaa23b1c701e4d1ecf98c4bd642b563d7066b7463237492c1b8ffad1130abbcbecc1b020901ab49572007d199c31
SHA512 (pax.doc.tar.xz) = 3fdb6dde8e6a46d728af62b76fc7c7f2b00e5245cf32a3eebb7c24d0dd031c37fe78495c9266968e54fa6c68966c866bf4acd00dc8e18912d1b774422699e9ef
SHA512 (pax.tar.xz) = 094f27135ce5203193a2310f8af1203f0c7c00b40b20810f770087b949e4afcaab82e6e20a9e17074d0f34527b8db1c6722b7ed998341e29cb3ac597e43f21e4
SHA512 (pdfbook2.doc.tar.xz) = 951e7fe656db899c801fe24e3dcd3f0c4d64188b0299c94afad3e8d7b4a57dddd921485ce3d9fde0e78a134ef726d1c6fd05aa38b36205ef37b37f2ec1c9505d
SHA512 (pdfbook2.tar.xz) = 792394ced9d0b195a05d8462b59abded5c341aa1bebd76d197dfa2387624469c06c4dd0002a7414682e01969e4568a48e5fcb08d57d763748d4aee8d40758687
SHA512 (pdfcrop.doc.tar.xz) = 71683887bd5fc1557fc53b42f4b34c691064d3321c91ccb7831edb5d00e7415b66e41144b8d887fca04dbb3acc785fe7ed5932e047e352b57a24a37cddc7f531
SHA512 (pdfcrop.tar.xz) = 6e273965655e7ab8cee0f9ae8ff489b7e7b782f7a3bbe89f8a245bd1e00a46f6752cac43aa8e3e4c0cfaf21642b7a1b1fd447e25cf5adbc6f2d14651814eb326
SHA512 (pdfjam.doc.tar.xz) = d7cb3243bfa9f5f013330b466adbe6b48ce755e8dd210b86aa5d83ecabccfeb92ebfb9361dcb6499c81acab263e8c8f644ef5a77e300b688030ca361719e98e4
SHA512 (pdfjam.tar.xz) = 0f38852f4539efdb1831a1f53e4937497e2b95b2cce845c3b4af1b303610a66177d8a977b57a04ce50b639d06c1f805cc354d840190638965f002f5581512983
SHA512 (pdflatexpicscale.doc.tar.xz) = 32cc6ee92dbb2d7cac71cafd31e17b393f4ad0f766a217669653f7e4bf216f133e19d5a0bc75b4b80229bae986340bbfa21e230f921050b15e0a528d58dcce7f
SHA512 (pdflatexpicscale.tar.xz) = 7745915f0e27647d65cc2c3613a9b696d80179a2ab0d802038f7fa3a9b35c530ad061c3b95eba04a20312d38e5b98357bea40f9d5336fcf68d14111d675bf40d
SHA512 (pdftex.doc.tar.xz) = ef1ebb01323140f78d7d49089b3ca33538b13d2431b146607083baad039637db2392576ee1c09e3f28dface3deb77d03ed67818622798b6a9a8b7a60ed5641ba
SHA512 (pdftex.tar.xz) = b449d76cc5048241e67f5de19206a3a947a77d68126bc57f2c49b8374f04782555ebca6c93b4d7fea25c75cb6b2b7bbdbaad6b9dd2e3209f1d20659c251e6a0b
SHA512 (pdftools.doc.tar.xz) = 4304a2fe4367aeadfa1d057fa813863edac0858a74dc05f57c2c2110633611b5f4a6dfa84e6304eb9a943380e77175a14d38e3b3c0cd9f33fe161f3ba5ba981b
SHA512 (pdftools.tar.xz) = f87afdaa518e4c2fb918fcedc24d75d625386741c148aa89097006048dd57368cedbb76e72f82cb76cacc732f6639a60cc8bfa0d6dcfb96a3c70a2a5838eb5fb
SHA512 (pdfxup.doc.tar.xz) = f48822d648866b249f5917889157ded2b21b3adb0a4777b680603757920e4abcd8fe6b6e4cc6d978a14bd4a1cd5417fbbe2352d2f374d5d19d3f8a9768362343
SHA512 (pdfxup.tar.xz) = c6909b34d1f7ced60a5a5f540ca6898bf159744c5ef2a60fbf428f4f0e784f73e12ff6bfe85367fda2ac6a5be616eac54be467ef0c283fc879e8846c73b66353
SHA512 (pedigree-perl.doc.tar.xz) = beb28e19bd824667d29e0a94c302994d1e9b21b69e9d4ce6027aa3c486408cbbb9769603003b7948839f95961353a1ba406ffefc2db90cc3bcc9a0e6754a43cd
SHA512 (pedigree-perl.tar.xz) = 146d596df52a0df51c618308f692e6ba2e1d79f0fb8c49dc5e0e0164b4baca15164772f558d00f40ea34a9934ac21f6fabb3a9c275f2d4e008e655d6a4ac1177
SHA512 (perltex.doc.tar.xz) = 843ffc1c8bd416efc30ab6d3ae23f0cc47acafbc69005b2a56f7caabf8b874c66b0019ad3e3893e02d8832f95ce8af4c23e390992241ee4b85c14fdd662996dd
SHA512 (perltex.tar.xz) = 3b468f68e62b9c6e8741e8616ce786499924e18c1eb91ebcf7b452de00b0dd439414ea18a51268a04d15fd9ff9910ee61a81d45e6df72d1ef09186737203c5f8
SHA512 (petri-nets.doc.tar.xz) = fe466eb157aa99311d79c59f72b675b8106f88999cada692e908859ed8f2de13eaa87876dcfd327c2a7988039ce2494156b7bafd889835d2d3cc0e1cdaf533c8
SHA512 (petri-nets.tar.xz) = cd6d799680cdb7063fe05f7cdeddf749a3c2dfdf3827193d8d3111a2e728a247a953c036c6dd9f8bd1c13c2be1fadb96fac73b99b47cb2cc61c8e8f0ad51d843
SHA512 (pfarrei.doc.tar.xz) = d1dcccd68eab493dd610fc1c0ba7bc106c4f1b176c01b67ab3ec05a803f674741bb2a04102ec42a1b7c4a3b14bbbe2bb55ea8d61cafb47c2515fe74026085ba4
SHA512 (pfarrei.tar.xz) = c83d4d1423e03ec068a57881d5f4154485337b9e51ca2253d05877d732542b06805d210d66750587d6fc9789d829f638bc7d3f20264d2b75083903622a3144c7
SHA512 (pkfix.doc.tar.xz) = ef411ae7d4533ceac526fd02dd775296ed00c664fa733459b89de8abc1e0259f45c30b667e7723b5141ae28d5d7541bbd0054100c2e51b41a01de589de58e8f6
SHA512 (pkfix-helper.doc.tar.xz) = 886ced25440d938e756cccfabaa8f42747c4c19cda31fed6be422bddd2d5d228442ddcc8c7e0ecbcba9efd8e8d780afccd5790dd593d9671a515e8bc42c40701
SHA512 (pkfix-helper.tar.xz) = 673856c42400e15ba230d627a8b21e07e8c8a61f62c5d90f6b2387ede1bba1c8931dd1084f7fbcd17651ad988360b68b532fb8be2451f11176c95c3e74f7b9dc
SHA512 (pkfix.tar.xz) = 53163cd13b4e2466474ff01e92d0b97fab73a30756f06db65c4dc50f7a9e8a2af0bf771b575ed7e65404620b34c26d2833ee0897f82d75728bc74f35d0154dc5
SHA512 (pmxchords.doc.tar.xz) = 88bbe4169b8b07bd17694508f1f9f25de2da546da49bc726fa557111f1f93b96672f83dd07646ccff2b8dffd6fdbca5d8c379d298c0b929a66c8bed64e205d6c
SHA512 (pmxchords.tar.xz) = 89e1c6be41bf1c04e1d956b3365ed3ceaeba7424c51c426763a32566b909e23a985d2bf82043ffa9a3ba702a0d99225f7e578128d5f3d3b1ba2a60d41b8c5480
SHA512 (pmx.doc.tar.xz) = 7c9422b842129e8b227585a530ef6c833f4148f93290362bcae29fb827ed2ebbf0406cc28a68a7f47960e8a6964449f7d0a792ce37f00ee32cf8933b6d29c799
SHA512 (pmx.tar.xz) = f1f7f1396e4dc6920103d37951a2768853307631de9ada442b75689754c7e79c30bb807a5d5c23243385e72902fe4d3163896e710f0eefe631169a1b6cee7ab3
SHA512 (ps2pk.doc.tar.xz) = a800f9a4957d0a6e38bc199bbd9c65cdd169f7b993ccf41a1a5381b0ce877c5785861aa14865241c2ce2cd22288248875a3e71d33065cec6226d428f68f93ba1
SHA512 (ps2pk.tar.xz) = b58f41f01b0932e9e80ef479fac89796361b0d60945f80da3678006bc64817298da9789ed71a52ff1579b06d8bd2ee80280e0910c1713f4949e96e756f3c0dd6
SHA512 (pst2pdf.doc.tar.xz) = 74f3670b2f27e6a79d79226d45d1b3d2242abe359da623043e2f91734e1260bc0e1036841881891b45044bdc46edad052f8a3f1bd9630c3fd3fe92628df114be
SHA512 (pst2pdf.tar.xz) = dfaacc3b072e53735c78ed7aa5bf9dc78368baea19c54de847b5668e1b7b967e349d8ac40d7f134e2bdd9c66950b50462eca34c9d43ea1183d957c1a393a0ffd
SHA512 (pstools.tar.xz) = cdd956d75184be4dce6bdb053054ad8d24488701e61a65c1fab90b2497d57d3c523475ab460bdfe1b40491f3a0106ece5e845cccbda2356553de4bf4b428ad5f
SHA512 (pst-pdf.doc.tar.xz) = 1fd832b8f27eba2cf3cb8af6709b9171f7da25a6ea6df22dd65727df8b28ed073d3d57baa88d6b585514b3c617a405f73234114fd66b07e35b8322cf03a89d7f
SHA512 (pst-pdf.tar.xz) = c9a079b3f0b01daae0cf2fa554fb939ffcd585e83acf22eb04c259de986aab0cd4a17f88f96696d742eea0c84c65c3e32ee5c9f4aba4f22908f83c81e2b1cc3a
SHA512 (ptex2pdf.doc.tar.xz) = 64457f78e496247eb81194f6f397460d5081dad3489e3f21d2e5512c0e916a103bba811ecbd4a5bd100b8f26802413488572151da821f1d33c9ed8086fbd46cd
SHA512 (ptex2pdf.tar.xz) = bf021445d8dd55fd28a7f271e5ae772c0f54989f6fcb04018943a6890826af4b5e7a8a4e369b4175b39de7e1437d61e3dcdb93423fefa7e8bfdd7c451bc84432
SHA512 (ptex.doc.tar.xz) = de2fc94e268565bb1a1897a0a687e7f07ae07fef54d55729a377bb901a20b61c1c686be1adaebc1fe8ca21d72d9da008b1a6e1056aaadda4b81d0a0104240c43
SHA512 (ptex-fontmaps.doc.tar.xz) = 008b78438dc7825aa7f06dcd307587ec4b08fec8e042f9a64fd3244e4d1c218e093c6002234a04cb2e14730530dddfc65169a3bab38285f13076548062fbd8bb
SHA512 (ptex-fontmaps.tar.xz) = 59c8daf96779a67951b96a2b583bb406f6a59a75651bb3387465b006715b1b45e393501d198f547b40f7efaeb2a1d81e20ce7bf046b4a1b6060dd5645174d2c3
SHA512 (ptex.tar.xz) = b6411f33f6b160de707e5589b7d92df88647d7b2a8fd824261828ebc2429bb122c119688af5a19f4dd2ca8014839d7e29decb698cfeab2644f14f99c8fa9ec94
SHA512 (purifyeps.doc.tar.xz) = 921175e2d72126df4966f28555180f70ddd23c9ee8363a3c44fd8707a82380b60c7ac49a39f069e1931e3b92f60e9ef301fae3a6d7232691a1d48f77e2d93571
SHA512 (purifyeps.tar.xz) = ce4966735dc455a626cd28d6bddc86e88995d5af54a4d0a0bc80c842458f09d2a25ef67aab073ecf680c88dc0c6112c5260761eddab25e3994f79b6266da2954
SHA512 (pygmentex.doc.tar.xz) = 5a4a08b47f0e802fd9a3a99e952b9d62c1b6b65f4bc07422a884db65303029508fa3054a12a9331d607c1035ab1dbf2e80ec9ced33742d151639ec5fbdf0da9f
SHA512 (pygmentex.tar.xz) = fb83b4b6e96d07a8f41c1810159083d64781fdb34f19949f4ba5405d7b8e5a928b17a9fb52c1c629d532b1ffc81aa9fa3fc9b8059689687448a2853fd5b94966
SHA512 (pythontex.doc.tar.xz) = 0208ceac9ea6764cedf25fda70d9f723568852d70baa7e93993179a3e784c66e58cd6e4b504fec568012ef92184abafbcd4437ba996387f869ab1f8c0f9aaeea
SHA512 (pythontex.tar.xz) = b4443098c8c4c1fb18fa260a719f8b2b4d18f82b59c6ed5d2ec3c5cc253cf692242fa2c50cb660e187768e920b672861ea79cebd05e5d61128f88bbb9a267d97
SHA512 (rubik.doc.tar.xz) = 0d9210dcd1276ae0393c63bcf2cd06e1b7b3e2a9d1845651a776f032b467f5619b1cd8fedbc0cfc5a3640d3d4e2b1d1906d509a44950130114ead64011cde2c2
SHA512 (rubik.tar.xz) = 1908d95ff36962c91c62fc57e74c6c9b1cbfe751cf6355e90940fa294c5977998410c7eb50eed01e5a258f059e444436a9a0ed69ee8f27d13316f932b1c4b077
SHA512 (seetexk.doc.tar.xz) = 43864bfd3ebd8e9cddb1fac976a131c5c3dd6ea223b8d94176549419d6bdf3f106aee41e2cf3234a22384fc0be52cd6741a75f044ec2f1eeddec26f087a664bb
SHA512 (seetexk.tar.xz) = 756fa2ffc5fcfde85619d7a2ad063c67016e161cd576d95d207a8411c18b6c7226e4a1bb4a3ade01920e6a2f2541c353f3fa3d2cac14c63ab1c01788b839d170
SHA512 (splitindex.doc.tar.xz) = a984763cbaa641c437fcfd14e57abbfd2c2e0539caf789f5c009fdd4fe6d3af899d031d9f36b88d3dbca365b358ad131bb21cceaeb1d0961e76a0311768b08c1
SHA512 (splitindex.tar.xz) = 9ad1b7fac522860c5dc313f4866d5d1b6a0537eec8116bea455a351d5c79f31779034f788fe3df34ecd669eeadf14299a78f7d3413b2fae72a7b02d3a4163d83
SHA512 (srcredact.doc.tar.xz) = df2d83fc9849079a98f6062411d7ef7e500bc7dcba494ee8175377ac7f018c32bf53f69534578a8c0329f924026cd18986da23a8f35540494f4fc863c6c9e7ea
SHA512 (srcredact.tar.xz) = 3b8ffb1a36605aa054f4b3b07ad8f149813b5adf67562dcc0015c1f45b38fd0cfd561b2930b7cd89db40aef124ed77aa4ad3350fb3cd366adab0d3bde3ec65ce
SHA512 (sty2dtx.doc.tar.xz) = aa2b3e7ede27a3793edac52a9468639b152dc3a309730611f3c3aab3997d14f9f7f980a077c96fc610b8eb514f99e900017791e4bc68c59d7d14db2f0bffce91
SHA512 (sty2dtx.tar.xz) = a85b16ea69c410dc44a167b15a0b362d8f8137c278e4c62b18009395347594c956517c3ca578dbeedeb8564c79cec82b4056dd64bd4a212bd9edbaa1d444f6f4
SHA512 (svn-multi.doc.tar.xz) = 3f053a4ce166b1e2d72c9841985269bafbefe9492049f98e8f625302ca2d8f7a7d824efcbc5e3ec8b31375a72c00ff86f7b634836bd996881cf14cbc6d97246b
SHA512 (svn-multi.tar.xz) = f3a0f3bbc627ffda1456ea6afa6345940fbb0d3310309debfeeaee06f65320e1050e9133bcf15c104111c85913638b44b1e023fb24491c6731045cdfa7543049
SHA512 (synctex.doc.tar.xz) = 10c3e6b125bde957321a18810c7163f98fafbca7b4715fa777e8381a16eda20000be671c67e71f6aeb18c24d804fe6fa4b905ba7ac9f7ae5c168f1db4f605af1
SHA512 (synctex.tar.xz) = e3589ecd11871d949c3526eebb150e4d7e812aebcc9ab4a3476083418b138003ef4cb2486148fde55fb2fae194244c3ba37d9b6d85f48ed8c71ef778fa30744f
SHA512 (tetex.doc.tar.xz) = f810d62b6efefdcc656af1d648dc5bbbc492dc39c6ceeb50893c39a94a72b95ef80a91cfec6de0c078747dbc8de09ae20f5cb40894f05733a479c057ae92779b
SHA512 (tetex.tar.xz) = 3721b7df926ed74e4e4354df5beded6f2fd7615b4e447c88dc0b80b13bfaa3f37923f5c743473331101f2f32a9e17b3f61a5d88feb7447b516e1e14de1241713
SHA512 (tex4ebook.doc.tar.xz) = 515a3b9e536686c9841f6713f2bb533e96ddf1580944a9b1c2aee2bb964836b3184e1e1177f41b302a3396c6592145f6373fe35feb3788743359a14ab575afc1
SHA512 (tex4ebook.tar.xz) = d249eb2d9c9a1614286a2f351e382d40021c3e21b40006208912b2778f2fc622210ca98b2ff441adccbaad82e64c9be5062fed3b40b967b64f804df674e37e46
SHA512 (tex4ht.doc.tar.xz) = 925cb0e435120ba382f6ecec598c11b49c69fb6e8d5c58375c6e360adab30f2dc032affa60b71bb305ceb175bbdc8c53d7de10e4f6654140a1197015e0adaa31
SHA512 (tex4ht.tar.xz) = c7e5da3f7f29c0f4ddc96e994564cbf8658bdc537bb974b8eff54eb7d1c2283515cbdbfda84e11c3fe86dc8e364d80c5a3cfaaeee4e8b320f285e17bf2654bfe
SHA512 (texcount.doc.tar.xz) = e94d51418b66d5750833956465b608cdb725f2ffa87cf2bc05e9f403c729dea518cb47485b3ce02164cc7e139ef3b04f97b4e774e39c42d41b1da5381f7264b8
SHA512 (texcount.tar.xz) = 1f99c6d8bbc0c5d71304b84458f6c772b4d7caa3af7503f083b76cd545e405a0cd50e3c1b23ff722ff26de85a6e21d2397491e3884937cdee2203e55024ab530
SHA512 (texdef.doc.tar.xz) = 53f4932f85d39fe17ed098450019ceac132df0247723788670d203283f0c640a76ebd86967f0bf9794c9b6fcd899762f10aae099077ed82a79009e97c9381b4e
SHA512 (texdef.tar.xz) = 2f30d8375dbfa150901c8c1c392e444cf2ab5c42b98602b67ffd8267507ad8a1b5e4a811d7b6dae2a28416b17cb289268e91d53a9fd613be8ea37b240b0656ac
SHA512 (texdiff.doc.tar.xz) = bfa104979d94d7cf7353fb75ac2b537a7a6b45762f29c8348c94d17c881289d9c8f45d04a53dd7263046cd7f6d38a8d3f90ab4c7f1a75233a3fa95bdb36d2128
SHA512 (texdiff.tar.xz) = 2e5bc09c33a372b070d1e94355c76f803e2cb3f8c801fed5efdbb2990d8880def13dc842210c4d38cd866928e03d499baf4d304567313b4f1f82d12d48768d0a
SHA512 (texdirflatten.doc.tar.xz) = 5c584b58fd02be2c6adef72d6b846bd193b4aaf02a21e5b1f6b80a6a93af49a9d4a12569d2aa4d9b3060290c51bd3d1e581310f9601668d27ba193d37b508b11
SHA512 (texdirflatten.tar.xz) = 9764553a672d37e345c0eaac39c84479e46350f39f995e301cee7fe7396c4dcf55a2f51120a9d94a2087cbf7dfc448658eaf7d9690c89c97c23cb60ac12246de
SHA512 (texdoc.doc.tar.xz) = 4b105ba04ff13596c7bb321377301024aa6d6c4bb7246ff21b6741e42484e47fa5378aec7a1d090041cf5c067a7ee73358eeb2be86d9c14989cb550fddce3775
SHA512 (tex.doc.tar.xz) = 0d3426c18101a8f54725ad9b86602f6570035bcd985b2a3ac1b43bccff3f41c4f59a5504ee9e00bda89cbfcf5caf67ae093cd6577e851ee8026f6070ec28f45b
SHA512 (texdoc.tar.xz) = c8e25291eb8928534f6d79f13bc35d6be7b207a27083d2d2bae4bb31f6a79cc8941f45f057472cf7c4298602452cee9b6f3f0264849d4daf6accffd73ed2edd7
SHA512 (texfot.doc.tar.xz) = e025fb17b263f3b88195100aa31f4b5baf817d62aa6c0e2d08301822a9b89f92f5a571f2cb55db1d67c77a252dfa68fd35c97db3be97f740d04c37602d5cae9b
SHA512 (texfot.tar.xz) = 97e64c6891b399bf5c5e0f02e2f9d9b43021860d2cfcd3c5d75818954d95d0301483389fbc56a5f1e0acc2d64552c43b5d0f1828d2c3c1d86ef55887a6057930
SHA512 (texlive-20180414-source.tar.xz) = ecac9b8203d2747be7ba7f82d68096d859fb35713276106d7049035dd3a8cfca07f8a8648982f0317b3812f8480db7326714de32f95998e3e6f73571de2aa140
SHA512 (texlive-en.doc.tar.xz) = 44fb2b2fd811ffbced1638c7b16d4803fc39ee68a3727fe726c34d9d7bc8f9e8b96421e592962a29dc205ce3c7c9e759779b2c1bb254b74fb83ce161cde266d5
SHA512 (texlive.infra.doc.tar.xz) = 1a80fb6375b11385827cd7dc1103e2f04feb51bdecf05f8b9793ab731e6387888464cbfa6d2d640e98baaa989ed8fe54e9a72f6739e9a01449277fced52779a0
SHA512 (texlive.infra.tar.xz) = 648b993fc6b69d2a6392b16f6042d07198bd6e19cdb9b558cbed0835e186f54a5315e387f654a3ad4d9f77d020e9e03e1518bd6948f1e0f88cbe23e9ecc15e06
SHA512 (texliveonfly.doc.tar.xz) = 04697cccced8dbda7e2c41ce0f735d5d68698fd854174c98f331deb4f55bc6371b39d818aff3e57fa89bacbaf090169d23791596f8c92ecbabdc6463d0f8f89a
SHA512 (texliveonfly.tar.xz) = f6fed46b75f50ef4dd37a1cc586d3ecabce9cc51c82a5e3389215aaa54af7f03d86f749ab2f069eb86ad848785e645664df6a6e6f10ae964ac0cd7596c94732f
SHA512 (texlive-licenses.tar.xz) = 83fbc56f1795ca3771e901230d38063cb53d0eefd8afc04f16ec2044aa93db0cffff2d97addbf7e2c6623cb468878320e0051cc2525f941830da6e3f628ef4bd
SHA512 (texlive-scripts.doc.tar.xz) = bcaace72736a3a92042942889cbc871170a6795f9f9b3247fca62d388e393208fe6ac9e2975410553b6b6fbbe7d686c89f2471b4a525b6ae715faec46a2fc0e2
SHA512 (texlive-scripts.tar.xz) = 3d67255915b10170aa6afff6d05960da59ba2f5e99098693a6f64bf4a46209099f4c9973f5e9911ff46c05ba3f3a81226c2d87f4cd4c937f8733fe42cdbd820f
SHA512 (texloganalyser.doc.tar.xz) = 4e81dd980482b69bec05025293cbe05326f621cf319e3734f16a22ff74049a336b4a366f58dc0713c521473a011b468a28ac5b585d1d31b1d6370ce55ea71c97
SHA512 (texloganalyser.tar.xz) = 2bce24fc94e41f9db5ecbd640a0159ddc1d4db9900b2054afb89c5a008b02069af4d0c0ddee73282322ddd15bc092fb56e008e81859274f9a406e95c1963bbf7
SHA512 (texosquery.doc.tar.xz) = f4e3a5ead3fddd68884ab6aec9772e19162ee99edad92cef14e3830eeb595ee19eb98f72744adb2fa5abd7df8ac1a90d3973d287185a17683405a03c619716b3
SHA512 (texosquery.tar.xz) = ebf04d38a7bc12eb867eae8b224ace7a59091982c7b396cb651fb4a4cfd563556c6542be7bc25d3512c3017b4a609091d7a09c5a10772e92322bf6ee2772c040
SHA512 (texsis.doc.tar.xz) = b402ea628dc62c57f06a0e611b048498dccca8c011b1493847241671ac838c9c2a67a860ede1d5b104b49d2b4de04264bcb896b0b0ac086bb4d35d3d2798cb4f
SHA512 (texsis.tar.xz) = 1faf7ba5456cdd835c691f43cc1c0865ce29997ab0c7a1623fcaebb2f48379395de26f140fbeb0b3aa6df4290cabf7bb5146768e56b813ab1223fdc088295341
SHA512 (tex.tar.xz) = e93cb703b1dd10686dff459b507e15d178f42ef039593d072513b5fbb05bd5df94f2cfb0a0f2f489b84877048d8abe12ef7918c0b4cad7993cb5d67825cf1017
SHA512 (texware.doc.tar.xz) = 05a67ac4f25b162da981b92b2d2dafdfc96ad39303b4e84912f49c2bb11e3c3cbb724da6592b37d2288e6e7f02e19797b467596bdcff846f424358e7002735ed
SHA512 (texware.tar.xz) = aecff277f4341122dffaad2b6e6389434fa0db4c686fc89a398a506e495076b355cd0554b92d78ec257b4a5feab103369cf9b399873b98b724188804d3a878c7
SHA512 (thumbpdf.doc.tar.xz) = 5f5b630355497e6ce11650e1cb4ff71bf52d5adb202a7f0ca080da333e8f933eb9438f87adf3f92756b389ef517c65e8f7aaaab0cb7db121bc4b767680b5a20c
SHA512 (thumbpdf.tar.xz) = 1078aaddcde4244dc38ffc211644228716f2385bedb499004553cd22a258c4ae195152b890fbfc0938788c5ab4382267f1a91d2609dc4bcbf215f1c6aeac25ef
SHA512 (tie.doc.tar.xz) = aa7433f73867d6c643a0930e37f7c903721dcbfd9ca06e350770734546097ab0496573604977a3ce62517ff4c1f068eaeb1bfa0e93f639a8bee42d90a8f6e26f
SHA512 (tie.tar.xz) = 9916097a030d75cba4162ef3dce197ca56effccc4f7c9950d28444bcd327eddd343ce3fcd1dd38617c3f4ba6988678d5874599673ee328e9dc5d460110ffcdfe
SHA512 (tpic2pdftex.doc.tar.xz) = 238a9fb1251e29eef20ca51c162b7bd48aa0c2051d1734074f97dec496f6d91eed7d1822096f09a5b51e83ad6d060e87726e0a5e852ae1a8abd4be5cdd076c74
SHA512 (tpic2pdftex.tar.xz) = 00882413d47ebfabde2ba7da4a2b878c40c5ab3d74d1dcb5924f7cc098112dfe4e77ef31f4b59240f7b6fa913124fbb9a89337663fc2cfe538b63d103cc411ba
SHA512 (ttfutils.doc.tar.xz) = 2ec4d42316941ef63ca005b04c00813a1d4897f8119695136b3c9dd32b1dc83b64066b48cef88aea0ebbfe08510eb0421df7bd02661f305182d16dc3a9d2e04b
SHA512 (ttfutils.tar.xz) = 2a47d9087190a92e55840aeb4131227a1fcfcc25fde0ddc31ccb955a8dd8bc56177a4b010ab40d9f36264db4017e6110df65f1824c1a9bfce84c3bd3dc7e9d0a
SHA512 (typeoutfileinfo.doc.tar.xz) = 308511eb35047697a60a153bb0b8fdf1f73f805a7c9686146e0279dbb44500bb12becdeb8cc0a10137fabe87a83a3457746a63aa02110342fe9b8e0a433c2c42
SHA512 (typeoutfileinfo.tar.xz) = 6ec7f66900e58f700343b16cdb458fa7e1985554521e58cd6030c90d0f1acb65a04aa85d652c0462393dfe91c3b46376c822048193a2eefc185839aa644a3674
SHA512 (ulqda.doc.tar.xz) = 983f62f0a6788ca090cc0d5b29ae85da62d8c63abfa374cf7a3a847ec722ccd7abb479088d72934db25a0406478203de603e7f5a5e26ca55c802d6d7b2da0c61
SHA512 (ulqda.tar.xz) = 35ecffe16e2809e7ecdedd65d8f1debc20b9028dbb6b21ccc2a9845f48389f9308b4ef4905a18b605b8692e00df80a2c6825a69d187e8600bf8b5cdabaf2d6ed
SHA512 (uplatex.doc.tar.xz) = cfe22a24cdebdffd78a07144cb35d4c0481f52d7f003f19ba6d276d619d8fb449fc6d4fa80661618348d930ec0d40719c73742183ab537c9f59ea066aa9db5b5
SHA512 (uptex.doc.tar.xz) = c6a798c02058c41de3d0e583497812ec4459a86b31283281856c6a3e387f70cf08c0e6f4c38367960a46f700b2cfa0b2bebdb22cea1302ca5ae2b310b56806df
SHA512 (urlbst.doc.tar.xz) = 430f93a3b21bc318bfda14b45d4dc3ef53a4e1ce345c7d86d4ae05592afb9f0a2c8a9b7e23b00f0426059846ab6e2c9d6d43d9d124285ac097e0e29ef8cb47a6
SHA512 (urlbst.tar.xz) = 9a15845881da342ad2c950c1a7973af53edac11fc6812e59c5d8de7e59271b4c1775a9c073edd7c34d4171fff454d025f44d114089be6022c1128ca093aeebee
SHA512 (velthuis.doc.tar.xz) = ca70ae67cf10b9064d2d8d1bcd4215fd94271b41683912c688722857c4941e51244d9a7df2ad8c7b7bfa90ea9e3679ad677793ed05bffa23fdc29a5572aa2211
SHA512 (velthuis.tar.xz) = d85b017b5e2e0061669f7d9542529c794fb35991596e03da301cbe919c5c3e44ecf82407041560648a345422c437bfbec9cc2eae86ea4352f0d2408e4e26f7e5
SHA512 (vlna.doc.tar.xz) = b3671d9bf704ff7722d9824bd0760db8f99a2ba12387f1fbad3062681d3753aa51ed505f55732876f353dba629d1759fc25284fa7324c2a386cdab8eb8b6492b
SHA512 (vpe.doc.tar.xz) = d8ccaa23c9cb3705c25976b53425788346e85c382d3dec6b0a7cc00a589d8ec3a8c4fe7ddf6999f6b4c250191131f4bb4e7b064e7e51de113b3af6f5d46e2794
SHA512 (vpe.tar.xz) = dc1f5ae9a5d7df20bde4ebceb0fba865137da5ed2bfdcb6da59c9da56f3b71e93097b22c4b87641202dc15a873f081d7b2e8183606af1a2ae1419c26e9c7029a
SHA512 (web.doc.tar.xz) = 7c9beb38e6b200e729d245a24ec3806182d435565390fe616bb81628ca5d0a9b5abef3a6509e6634fb50a4d3f7d1153497382637ed005ff015406dbcacdab8cc
SHA512 (web.tar.xz) = 1aef5727386f9fe6da990ebd9d2abb3f15d5230c671d4346ac5b3b38782c4f00746a02b40e78c97fe0928556a8af1e737ccddbb9d17b811ca9acc5ad2309c0a6
SHA512 (wordcount.doc.tar.xz) = 1a79bc6af253b5ab2646498b475a0e33c34396c95f7674cc448db9d81a8156f5f0971ed5a179b926eba043108a9cd18fef8bc6f69e47afe48f923b37faa099d7
SHA512 (wordcount.tar.xz) = 898fd8c647eb5fe5fdf189708f84fba6d5b709315c8f41c6a259a6551a560511e3d9322f6b06e3cb8f7a737b14be7bb95faa9601dd54476a97d415c74d605cf6
SHA512 (xdvi.doc.tar.xz) = c28f70bab7e44e3b20358beb24a420227e1cb90511619d45fd04db81a2e126452acbf2e75eeaf04bfb70c6aca8a51bc1f64594ae153124d394bd14074ea5c18f
SHA512 (xdvi.tar.xz) = c0c5598e3683dcf6e9eb435f7a9a6d3065c79738b697d67ddc42a8ceca56a72d94f98ff06415d5c044f971b3f4f9bc58006db0b90f67d2c6b0bb2cc3138f5f08
SHA512 (xetex.doc.tar.xz) = c4b6a2023b9881e6c258ace323210d4af222390c08987ae6a4e300e3ac6f795595db50acdef1ae99cd45c0a6401baaa61d6759191afde5862293969099dd3023
SHA512 (xetex.tar.xz) = 4c4a8b51d53818e1585b08f3bdd1f534a53a7f960993116961ef6f0e6b5e1e4cdb5efcd8f74a57b202ee2387c392732824dc771f5adfbcb40cc94e21aa5476bd
SHA512 (xindy.doc.tar.xz) = 7600f602f77e527e20fa3eb000c581f4b055116ba7cfc1483180aee1113a77ebe274097d09298c3c677dd5aa556d8ab3f348bfa5edd204fd7db09c21cbee1bc5
SHA512 (xindy.tar.xz) = f8e1e5880db961daac6e0f97aeab3f3ee643a2c50ba27def1aa94fe4938c4408622acbc34313202ae37ec0c32acefdfb06c58d4da789e08375b5b3b92eae990a
SHA512 (xmltex.doc.tar.xz) = 4af76e16b742e45c6e4ef1badba7962f326f2319b3ff9b6b4cfb7f0868f497f39e24b4072de5444368bd2241c361ef7ce9ddfaff16919289e89cfa7dec43de29
SHA512 (xmltex.tar.xz) = 3e381ca5c3246069846c11e752aa22f9473039b91e5b79e70646c1ac9372f3ca5baa081e8799b7aed0c89df49415b7cd693ef3f97d20ca68d66913c82ac83047
SHA512 (yplan.doc.tar.xz) = 51af550d04ec0bd0db422ac9eaf5e9370e118515a8944cbf67d81ac5da55f2b57e4f42f87f7b124cf35a76b80a9c604058f835ae5a8ef0c11e28327f2df3310b
SHA512 (yplan.tar.xz) = d075d36e7e0811960cfdc5b2d2d8bdfa77e5de0729ade23c0479fa28a9436b29d4733b90b8771a4c6c9ea95c49a1109f1ba05d3b60796ed8012ce707c5eaf19d
SHA512 (texdoctk.doc.tar.xz) = c580b2c1b3fc055f2acb3907064feea91132310fa343bb6597102e1d4d22b0a3cb3b5fae23c83214edb532d10d68873d48902df98633b2d31ead9f001a5eb0fb
SHA512 (texdoctk.tar.xz) = 2200e4d874e5b48d75339395330c06e4193181dad19e7f4bd27fe2970baaac680c19682b8512596883e1f71510f872b6c699bbfc036ecd04fef5ddc281b1a164

View file

@ -1,18 +0,0 @@
diff -up texmf-dist/scripts/texdef/texdef.pl.orig texmf-dist/scripts/texdef/texdef.pl
--- texmf-dist/scripts/texdef/texdef.pl.orig 2025-07-18 14:43:22.865503978 +0200
+++ texmf-dist/scripts/texdef/texdef.pl 2025-07-18 14:46:49.871203706 +0200
@@ -1,4 +1,4 @@
-#!/usr/bin/env perl
+texmf-dist/scripts/texdef/texdef.pl#!/usr/bin/env perl
################################################################################
# texdef -- Show definitions of TeX commands
# Copyright (c) 2011-2020 Martin Scharrer <martin@scharrer-online.de>
@@ -222,7 +222,7 @@ sub envcode {
}
## Define and process options
-Getopt::Long::Configure ("bundling");
+Getopt::Long::Configure ("bundling","no_ignore_case");
GetOptions (
'value|v!' => \$SHOWVALUE,
'Environment|E!' => \$ISENVIRONMENT,

View file

@ -1,118 +0,0 @@
diff -up texlive-base-20190410/source/texk/web2c/am/texmf.am.dt texlive-base-20190410/source/texk/web2c/am/texmf.am
--- texlive-base-20190410/source/texk/web2c/am/texmf.am.dt 2015-07-10 05:42:52.000000000 -0400
+++ texlive-base-20190410/source/texk/web2c/am/texmf.am 2019-05-23 15:07:41.663729872 -0400
@@ -73,7 +73,7 @@ DISTCLEANFILES += $(nodist_tex_SOURCES)
# TeX tests
#
-tex_tests = triptest.test tests/write18-quote-test.pl
+tex_tests = tests/write18-quote-test.pl
triptest.log: tex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
tests/write18-quote-test.log: tex$(EXEEXT)
EXTRA_DIST += $(tex_tests)
@@ -201,7 +201,7 @@ DISTCLEANFILES += $(nodist_libmf_a_SOURC
# Metafont tests
#
-mf_tests = mftraptest.test
+mf_tests =
mftraptest.log: mf$(EXEEXT) gftype$(EXEEXT) tftopl$(EXEEXT)
EXTRA_DIST += $(mf_tests)
if MF
diff -up texlive-base-20190410/source/texk/web2c/eptexdir/am/eptex.am.dt texlive-base-20190410/source/texk/web2c/eptexdir/am/eptex.am
--- texlive-base-20190410/source/texk/web2c/eptexdir/am/eptex.am.dt 2015-08-06 04:49:49.000000000 -0400
+++ texlive-base-20190410/source/texk/web2c/eptexdir/am/eptex.am 2019-05-23 15:07:41.663729872 -0400
@@ -81,7 +81,7 @@ EXTRA_DIST += \
# e-pTeX Tests
#
-eptex_tests = eptexdir/eptriptest.test eptexdir/pdfprimitive.test
+eptex_tests =
eptexdir/eptriptest.log: eptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
eptexdir/pdfprimitive.log: eptex$(EXEEXT)
diff -up texlive-base-20190410/source/texk/web2c/euptexdir/am/euptex.am.dt texlive-base-20190410/source/texk/web2c/euptexdir/am/euptex.am
--- texlive-base-20190410/source/texk/web2c/euptexdir/am/euptex.am.dt 2018-01-20 22:48:06.000000000 -0500
+++ texlive-base-20190410/source/texk/web2c/euptexdir/am/euptex.am 2019-05-23 15:07:41.663729872 -0400
@@ -82,7 +82,7 @@ EXTRA_DIST += \
# e-upTeX Tests
#
-euptex_tests = euptexdir/euptriptest.test euptexdir/pdfprimitive.test
+euptex_tests =
euptexdir/euptriptest.log: euptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
euptexdir/pdfprimitive.log: euptex$(EXEEXT)
diff -up texlive-base-20190410/source/texk/web2c/mfluadir/am/mflua.am.dt texlive-base-20190410/source/texk/web2c/mfluadir/am/mflua.am
--- texlive-base-20190410/source/texk/web2c/mfluadir/am/mflua.am.dt 2017-04-16 06:11:22.000000000 -0400
+++ texlive-base-20190410/source/texk/web2c/mfluadir/am/mflua.am 2019-05-23 15:07:41.663729872 -0400
@@ -110,7 +110,7 @@ EXTRA_DIST += \
# MFLua tests
#
-mflua_tests = mfluadir/mfluatraptest.test
+mflua_tests =
mfluadir/mfluatraptest.log: mflua$(EXEEXT) gftype$(EXEEXT) tftopl$(EXEEXT)
EXTRA_DIST += $(mflua_tests)
diff -up texlive-base-20190410/source/texk/web2c/mfluajitdir/am/mfluajit.am.dt texlive-base-20190410/source/texk/web2c/mfluajitdir/am/mfluajit.am
--- texlive-base-20190410/source/texk/web2c/mfluajitdir/am/mfluajit.am.dt 2017-04-16 06:11:22.000000000 -0400
+++ texlive-base-20190410/source/texk/web2c/mfluajitdir/am/mfluajit.am 2019-05-23 15:07:41.663729872 -0400
@@ -106,7 +106,7 @@ EXTRA_DIST += \
# MFLuaJIT tests
#
-mfluajit_tests = mfluajitdir/mfluajittraptest.test
+mfluajit_tests =
mfluajitdir/mfluajittraptest.log: mfluajit$(EXEEXT) gftype$(EXEEXT) tftopl$(EXEEXT)
EXTRA_DIST += $(mfluajit_tests)
diff -up texlive-base-20190410/source/texk/web2c/pdftexdir/am/pdftex.am.dt texlive-base-20190410/source/texk/web2c/pdftexdir/am/pdftex.am
--- texlive-base-20190410/source/texk/web2c/pdftexdir/am/pdftex.am.dt 2019-05-23 15:07:41.663729872 -0400
+++ texlive-base-20190410/source/texk/web2c/pdftexdir/am/pdftex.am 2019-05-23 15:09:34.941250514 -0400
@@ -94,8 +94,8 @@ EXTRA_DIST += \
# pdfTeX tests
#
-pdftex_tests = pdftexdir/wprob.test pdftexdir/pdftex.test \
- pdftexdir/pdfimage.test pdftexdir/expanded.test
+pdftex_tests = pdftexdir/pdftex.test \
+ pdftexdir/expanded.test
pdftexdir/wprob.log pdftexdir/pdftex.log \
pdftexdir/pdfimage.log pdftexdir/expanded.log: pdftex$(EXEEXT)
diff -up texlive-base-20190410/source/texk/web2c/ptexdir/am/ptex.am.dt texlive-base-20190410/source/texk/web2c/ptexdir/am/ptex.am
--- texlive-base-20190410/source/texk/web2c/ptexdir/am/ptex.am.dt 2019-02-06 05:58:23.000000000 -0500
+++ texlive-base-20190410/source/texk/web2c/ptexdir/am/ptex.am 2019-05-23 15:07:41.664729850 -0400
@@ -167,7 +167,7 @@ EXTRA_DIST += \
# pTeX Tests
#
-ptex_tests = ptexdir/ptriptest.test
+ptex_tests =
ptexdir/ptriptest.log: ptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
pweb_tests = \
ptexdir/pbibtex.test \
diff -up texlive-base-20190410/source/texk/web2c/uptexdir/am/uptex.am.dt texlive-base-20190410/source/texk/web2c/uptexdir/am/uptex.am
--- texlive-base-20190410/source/texk/web2c/uptexdir/am/uptex.am.dt 2018-08-18 07:45:50.000000000 -0400
+++ texlive-base-20190410/source/texk/web2c/uptexdir/am/uptex.am 2019-05-23 15:07:41.664729850 -0400
@@ -157,7 +157,7 @@ EXTRA_DIST += \
uptexdir/ChangeLog
# upTeX Tests
-uptex_tests = uptexdir/uptriptest.test
+uptex_tests =
uptexdir/uptriptest.log: uptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
upweb_tests = \
uptexdir/upbibtex.test \
diff -up texlive-base-20190410/source/texk/web2c/xetexdir/am/xetex.am.dt texlive-base-20190410/source/texk/web2c/xetexdir/am/xetex.am
--- texlive-base-20190410/source/texk/web2c/xetexdir/am/xetex.am.dt 2018-01-17 17:54:13.000000000 -0500
+++ texlive-base-20190410/source/texk/web2c/xetexdir/am/xetex.am 2019-05-23 15:07:41.664729850 -0400
@@ -200,7 +200,6 @@ EXTRA_DIST += \
# XeTeX Tests
#
xetex_tests = \
- xetexdir/xetex-bug73.test \
xetexdir/xetex.test
xetexdir/xetex-bug73.log xetexdir/xetex.log: xetex$(EXEEXT)

View file

@ -1,25 +0,0 @@
diff -up texlive-base-20190410/source/texk/dvisvgm/configure.ac.fix-libgs-detection texlive-base-20190410/source/texk/dvisvgm/configure.ac
--- texlive-base-20190410/source/texk/dvisvgm/configure.ac.fix-libgs-detection 2019-03-10 14:21:29.000000000 -0400
+++ texlive-base-20190410/source/texk/dvisvgm/configure.ac 2019-05-23 19:07:30.447057345 -0400
@@ -66,7 +66,8 @@ AS_IF([test "x$have_libgs" = "xno"],
# Ghostscript not found, check for dlopen
[AC_CHECK_LIB(dl, dlopen,,
[AC_DEFINE(DISABLE_GS, 1, [Set to 1 if PostScript support should be disabled])]
- [AC_MSG_WARN(PostScript support disabled)])])
+ [AC_MSG_WARN(PostScript support disabled)])],
+ [test "x$have_libgs" = "xyes"], [HAVE_LIBGS=1])
fi
if test -z "$HAVE_LIBGS" || test "$HAVE_LIBGS" -eq 0; then
diff -up texlive-base-20190410/source/texk/dvisvgm/configure.fix-libgs-detection texlive-base-20190410/source/texk/dvisvgm/configure
--- texlive-base-20190410/source/texk/dvisvgm/configure.fix-libgs-detection 2019-05-23 19:07:45.568703333 -0400
+++ texlive-base-20190410/source/texk/dvisvgm/configure 2019-05-23 19:09:31.341219687 -0400
@@ -22013,6 +22013,8 @@ $as_echo "#define DISABLE_GS 1" >>confde
$as_echo "$as_me: WARNING: PostScript support disabled" >&2;}
fi
+elif test "x$have_libgs" = "xyes"; then :
+ HAVE_LIBGS=1
fi
fi

View file

@ -1,249 +0,0 @@
diff -up texlive-base-20190410/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler-0.73 texlive-base-20190410/source/texk/web2c/pdftexdir/pdftoepdf.cc
--- texlive-base-20190410/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler-0.73 2019-05-23 15:50:17.849768543 -0400
+++ texlive-base-20190410/source/texk/web2c/pdftexdir/pdftoepdf.cc 2019-05-23 16:00:41.022262790 -0400
@@ -120,7 +120,7 @@ struct UsedEncoding {
static InObj *inObjList;
static UsedEncoding *encodingList;
-static GBool isInit = gFalse;
+static bool isInit = false;
// --------------------------------------------------------------------
// Maintain list of open embedded PDF files
@@ -275,7 +275,7 @@ static int getNewObjectNumber(Ref ref)
static void copyObject(Object *);
-static void copyName(char *s)
+static void copyName(const char *s)
{
pdf_puts("/");
for (; *s != 0; s++) {
@@ -310,7 +310,7 @@ static void copyDict(Object * obj)
static void copyFontDict(Object * obj, InObj * r)
{
int i, l;
- char *key;
+ const char *key;
if (!obj->isDict())
pdftex_fail("PDF inclusion: invalid dict type <%s>",
obj->getTypeName());
@@ -382,7 +382,7 @@ static bool embeddableFont(Object * font
return false;
}
-static void copyFont(char *tag, Object * fontRef)
+static void copyFont(const char *tag, Object * fontRef)
{
Object fontdict, subtype, basefont, fontdescRef, fontdesc, charset,
stemV;
@@ -418,7 +418,7 @@ static void copyFont(char *tag, Object *
&& fontdescRef.isRef()
&& fontdesc.isDict()
&& embeddableFont(&fontdesc)
- && (fontmap = lookup_fontmap(basefont.getName())) != NULL) {
+ && (fontmap = lookup_fontmap((char *)basefont.getName())) != NULL) {
// round /StemV value, since the PDF input is a float
// (see Font Descriptors in PDF reference), but we only store an
// integer, since we don't want to change the struct.
@@ -427,7 +427,7 @@ static void copyFont(char *tag, Object *
charset = fontdesc.dictLookup("CharSet");
if (!charset.isNull() &&
charset.isString() && is_subsetable(fontmap))
- epdf_mark_glyphs(fd, charset.getString()->getCString());
+ epdf_mark_glyphs(fd, (char *)charset.getString()->c_str());
else
embed_whole_font(fd);
addFontDesc(fontdescRef.getRef(), fd);
@@ -467,7 +467,7 @@ static void copyFontResources(Object * o
pdf_puts(">>\n");
}
-static void copyOtherResources(Object * obj, char *key)
+static void copyOtherResources(Object * obj, const char *key)
{
// copies all other resources (write_epdf handles Fonts and ProcSets),
@@ -554,8 +554,8 @@ static void copyObject(Object * obj)
Object obj1;
int i, l, c;
Ref ref;
- char *p;
- GString *s;
+ const char *p;
+ const GString *s;
if (obj->isBool()) {
pdf_printf("%s", obj->getBool()? "true" : "false");
} else if (obj->isInt()) {
@@ -566,7 +566,7 @@ static void copyObject(Object * obj)
pdf_printf("%s", convertNumToPDF(obj->getNum()));
} else if (obj->isString()) {
s = obj->getString();
- p = s->getCString();
+ p = s->c_str();
l = s->getLength();
if (strlen(p) == (unsigned int) l) {
pdf_puts("(");
@@ -664,7 +664,7 @@ static void writeEncodings()
("PDF inclusion: CID fonts are not supported"
" (try to disable font replacement to fix this)");
}
- if ((s = ((Gfx8BitFont *) r->font)->getCharName(i)) != 0)
+ if ((s = (char *) ((Gfx8BitFont *) r->font)->getCharName(i)) != 0)
glyphNames[i] = s;
else
glyphNames[i] = notdef;
@@ -683,7 +683,7 @@ static void writeEncodings()
}
// get the pagebox according to the pagebox_spec
-static PDFRectangle *get_pagebox(Page * page, int pagebox_spec)
+static const PDFRectangle *get_pagebox(Page * page, int pagebox_spec)
{
if (pagebox_spec == pdfboxspecmedia)
return page->getMediaBox();
@@ -715,7 +715,7 @@ read_pdf_info(char *image_name, char *pa
{
PdfDocument *pdf_doc;
Page *page;
- PDFRectangle *pagebox;
+ const PDFRectangle *pagebox;
#ifdef POPPLER_VERSION
int pdf_major_version_found, pdf_minor_version_found;
#else
@@ -724,8 +724,8 @@ read_pdf_info(char *image_name, char *pa
// initialize
if (!isInit) {
globalParams = new GlobalParams();
- globalParams->setErrQuiet(gFalse);
- isInit = gTrue;
+ globalParams->setErrQuiet(false);
+ isInit = true;
}
// open PDF file
pdf_doc = find_add_document(image_name);
@@ -822,7 +822,7 @@ void write_epdf(void)
Object groupDict;
bool writeSepGroup = false;
Object info;
- char *key;
+ const char *key;
char s[256];
int i, l;
int rotate;
@@ -849,7 +849,7 @@ void write_epdf(void)
pageObj = xref->fetch(pageRef->num, pageRef->gen);
pageDict = pageObj.getDict();
rotate = page->getRotate();
- PDFRectangle *pagebox;
+ const PDFRectangle *pagebox;
// write the Page header
pdf_puts("/Type /XObject\n");
pdf_puts("/Subtype /Form\n");
@@ -977,7 +977,7 @@ The changes below seem to work fine.
}
l = dic1.getLength();
for (i = 0; i < l; i++) {
- groupDict.dictAdd(copyString(dic1.getKey(i)),
+ groupDict.dictAdd(dic1.getKey(i),
dic1.getValNF(i));
}
// end modification
diff -up texlive-base-20190410/source/texk/web2c/pdftexdir/pdftosrc.cc.poppler-0.73 texlive-base-20190410/source/texk/web2c/pdftexdir/pdftosrc.cc
--- texlive-base-20190410/source/texk/web2c/pdftexdir/pdftosrc.cc.poppler-0.73 2019-05-23 15:50:17.850768522 -0400
+++ texlive-base-20190410/source/texk/web2c/pdftexdir/pdftosrc.cc 2019-05-23 15:50:17.858768349 -0400
@@ -109,7 +109,7 @@ int main(int argc, char *argv[])
fprintf(stderr, "No SourceName found\n");
exit(1);
}
- outname = srcName.getString()->getCString();
+ outname = (char *)srcName.getString()->c_str();
// We cannot free srcName, as objname shares its string.
// srcName.free();
} else if (objnum > 0) {
@@ -118,7 +118,7 @@ int main(int argc, char *argv[])
fprintf(stderr, "Not a Stream object\n");
exit(1);
}
- sprintf(buf, "%s", fileName->getCString());
+ sprintf(buf, "%s", fileName->c_str());
if ((p = strrchr(buf, '.')) == 0)
p = strchr(buf, 0);
if (objgen == 0)
@@ -128,7 +128,7 @@ int main(int argc, char *argv[])
outname = buf;
} else { // objnum < 0 means we are extracting the XRef table
extract_xref_table = true;
- sprintf(buf, "%s", fileName->getCString());
+ sprintf(buf, "%s", fileName->c_str());
if ((p = strrchr(buf, '.')) == 0)
p = strchr(buf, 0);
sprintf(p, ".xref");
@@ -161,7 +161,7 @@ int main(int argc, char *argv[])
Object objStr, obj1, obj2;
int nObjects, first, n;
int localOffset = 0;
- Guint firstOffset;
+ unsigned int firstOffset;
objStr = xref->fetch(e->offset, 0);
assert(objStr.isStream());
@@ -173,9 +173,9 @@ int main(int argc, char *argv[])
// parse the header: object numbers and offsets
objStr.streamReset();
- str = new EmbedStream(objStr.getStream(), Object(objNull), gTrue, first);
+ str = new EmbedStream(objStr.getStream(), Object(objNull), true, first);
lexer = new Lexer(xref, str);
- parser = new Parser(xref, lexer, gFalse);
+ parser = new Parser(xref, lexer, false);
for (n = 0; n < nObjects; ++n) {
obj1 = parser->getObj();
obj2 = parser->getObj();
diff -up texlive-base-20190410/source/texk/web2c/xetexdir/pdfimage.cpp.poppler-0.73 texlive-base-20190410/source/texk/web2c/xetexdir/pdfimage.cpp
--- texlive-base-20190410/source/texk/web2c/xetexdir/pdfimage.cpp.poppler-0.73 2018-12-25 00:48:22.000000000 -0500
+++ texlive-base-20190410/source/texk/web2c/xetexdir/pdfimage.cpp 2019-05-23 15:50:17.858768349 -0400
@@ -78,26 +78,29 @@ pdf_get_rect(char* filename, int page_nu
Page* page = doc->getCatalog()->getPage(page_num);
- const PDFRectangle* r;
+ PDFRectangle* r;
+ const PDFRectangle* cr;
switch (pdf_box) {
default:
case pdfbox_crop:
- r = page->getCropBox();
+ cr = page->getCropBox();
break;
case pdfbox_media:
- r = page->getMediaBox();
+ cr = page->getMediaBox();
break;
case pdfbox_bleed:
- r = page->getBleedBox();
+ cr = page->getBleedBox();
break;
case pdfbox_trim:
- r = page->getTrimBox();
+ cr = page->getTrimBox();
break;
case pdfbox_art:
- r = page->getArtBox();
+ cr = page->getArtBox();
break;
}
+ r = new PDFRectangle (cr->x1, cr->y1, cr->x2, cr->y2);
+
int RotAngle = 0;
RotAngle = (int)page->getRotate() % 360;
if (RotAngle < 0)
@@ -112,6 +115,7 @@ pdf_get_rect(char* filename, int page_nu
box->x = 72.27 / 72 * my_fmin(r->x1, r->x2);
box->y = 72.27 / 72 * my_fmin(r->y1, r->y2);
+ delete r;
delete doc;
return 0;

View file

@ -1,14 +0,0 @@
diff -up texlive-base-20190410/source/texk/kpathsea/mktexlsr.selinux texlive-base-20190410/source/texk/kpathsea/mktexlsr
--- texlive-base-20190410/source/texk/kpathsea/mktexlsr.selinux 2018-01-16 19:55:32.000000000 -0500
+++ texlive-base-20190410/source/texk/kpathsea/mktexlsr 2019-05-23 14:58:50.837886937 -0400
@@ -228,7 +228,8 @@ for TEXMFLS_R in "$@"; do
until PERMS=`kpsestat = "$db_file"`; do sleep 1; done
chmod $PERMS "$db_file_tmp"
rm -f "$db_file"
- mv "$db_file_tmp" "$db_file"
+ # selinux fix
+ cp "$db_file_tmp" "$db_file"
rm -rf "$db_dir_tmp"
done
diff -up texlive-base-20190410/source/texk/texlive/linked_scripts/texlive/fmtutil.pl.selinux texlive-base-20190410/source/texk/texlive/linked_scripts/texlive/fmtutil.pl

View file

@ -1,22 +0,0 @@
diff -up texlive-base-20190410/source/texk/kpathsea/texmf.cnf.texinfo-fix texlive-base-20190410/source/texk/kpathsea/texmf.cnf
--- texlive-base-20190410/source/texk/kpathsea/texmf.cnf.texinfo-fix 2019-05-23 15:03:28.928056938 -0400
+++ texlive-base-20190410/source/texk/kpathsea/texmf.cnf 2019-05-23 15:06:38.997072248 -0400
@@ -82,6 +82,9 @@ TEXMFSYSCONFIG = $TEXMFROOT/texmf-config
% to %USERPROFILE% on Windows, $HOME otherwise.
TEXMFHOME = ~/texmf
+% Texinfo on Fedora lives out of $TEXMFROOT
+TEXINFOHOME = $SELFAUTODIR/share/texmf
+
% TEXMFVAR, where texconfig/updmap/fmtutil store cached runtime data.
TEXMFVAR = ~/.texlive2019/texmf-var
@@ -107,7 +110,7 @@ TEXMFAUXTREES = {}
% The odd-looking $TEXMFAUXTREES$TEXMF... construct is so that if no auxtree is
% ever defined (the 99% common case), no extra elements will be added to
% the search paths. tlmgr takes care to end any value with a trailing comma.
-TEXMF = {$TEXMFAUXTREES$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!$TEXMFLOCAL,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFDIST}
+TEXMF = {$TEXMFAUXTREES$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,$TEXINFOHOME,!!$TEXMFLOCAL,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFDIST}
% Where to look for, and where mktexlsr creates, ls-R files. By default,
% this is all and only the !! elements of TEXMF, so that mktexlsr does not

View file

@ -1,79 +0,0 @@
diff -up ./scripts/texlive/tlmgr.pl.ignore-warning ./scripts/texlive/tlmgr.pl
--- ./scripts/texlive/tlmgr.pl.ignore-warning 2019-05-24 21:35:57.384845754 -0400
+++ ./scripts/texlive/tlmgr.pl 2019-05-24 21:39:32.703577109 -0400
@@ -231,6 +231,7 @@ my %action_specification = (
"dry-run|n" => 1,
"file" => 1,
"force" => 1,
+ "ignore-warning" => 1,
"no-depends" => 1,
"no-depends-at-all" => 1,
"reinstall" => 1,
@@ -331,6 +332,7 @@ my %action_specification = (
"dry-run|n" => 1,
"exclude" => "=s@",
"force" => 1,
+ "ignore-warning" => 1,
"list" => 1,
"no-auto-install" => 1,
"no-auto-remove" => 1,
@@ -2613,6 +2615,15 @@ sub upd_info {
}
sub action_update {
+ if (!($opts{"ignore-warning"})) {
+ print("*** WARNING ***: Performing this action will likely destroy the Fedora TeXLive install on your system.\n");
+ print("*** WARNING ***: This is almost NEVER what you want to do.\n");
+ print("*** WARNING ***: Try using dnf install/update instead.\n");
+ print("*** WARNING ***: If performing this action is really what you want to do, pass the \"ignore-warning\" option.\n");
+ print("*** WARNING ***: But please do not file any bugs with the OS Vendor.\n");
+ exit;
+ }
+
init_local_db(1);
$opts{"no-depends"} = 1 if $opts{"no-depends-at-all"};
@@ -3618,6 +3629,15 @@ sub check_announce_format_triggers {
# anymore! That has all to be done by the caller.
#
sub action_install {
+ if (!($opts{"ignore-warning"})) {
+ print("*** WARNING ***: Performing this action will likely destroy the Fedora TeXLive install on your system.\n");
+ print("*** WARNING ***: This is almost NEVER what you want to do.\n");
+ print("*** WARNING ***: Try using dnf install/update instead.\n");
+ print("*** WARNING ***: If performing this action is really what you want to do, pass the \"ignore-warning\" option.\n");
+ print("*** WARNING ***: But please do not file any bugs with the OS Vendor.\n");
+ exit;
+ }
+
init_local_db(1);
my $ret = $F_OK;
return ($F_ERROR) if !check_on_writable();
@@ -8151,6 +8171,13 @@ If updates to C<tlmgr> itself (or other
infrastructure) are present, C<tlmgr> will bail out and not perform the
installation unless this option is given. Not recommended.
+=item B<--ignore-warning>
+
+The tlmgr tool can really ruin a Fedora install of TeXLive.
+We have added a warning check here to try to keep you from
+blindly following a tutorial and doing this. If you still want to
+proceed, just use this option.
+
=item B<--no-depends>
Do not install dependencies. (By default, installing a package ensures
@@ -8846,6 +8873,13 @@ In short:
Nothing is actually installed; instead, the actions to be performed are
written to the terminal. This is a more detailed report than C<--list>.
+=item B<--ignore-warning>
+
+The tlmgr tool can really ruin a Fedora install of TeXLive.
+We have added a warning check here to try to keep you from
+blindly following a tutorial and doing this. If you still want to
+proceed, just use this option.
+
=item B<--list> [I<pkg>]
Concisely list the packages which would be updated, newly installed, or

View file

@ -1,142 +0,0 @@
diff -up texlive-base-20200327/source/texk/web2c/am/texmf.am.dt texlive-base-20200327/source/texk/web2c/am/texmf.am
--- texlive-base-20200327/source/texk/web2c/am/texmf.am.dt 2019-12-17 14:24:59.000000000 -0500
+++ texlive-base-20200327/source/texk/web2c/am/texmf.am 2020-04-20 14:33:43.465656684 -0400
@@ -75,7 +75,7 @@ DISTCLEANFILES += $(nodist_tex_SOURCES)
# TeX tests
#
-tex_tests = triptest.test tests/write18-quote-test.pl tests/tex-closeout.test
+tex_tests = tests/write18-quote-test.pl tests/tex-closeout.test
triptest.log: tex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
tests/write18-quote-test.log tests/tex-closeout.test: tex$(EXEEXT)
EXTRA_DIST += $(tex_tests)
@@ -203,7 +203,7 @@ DISTCLEANFILES += $(nodist_libmf_a_SOURC
# Metafont tests
#
-mf_tests = mftraptest.test
+mf_tests =
mftraptest.log: mf$(EXEEXT) gftype$(EXEEXT) tftopl$(EXEEXT)
EXTRA_DIST += $(mf_tests)
if MF
diff -up texlive-base-20200327/source/texk/web2c/eptexdir/am/eptex.am.dt texlive-base-20200327/source/texk/web2c/eptexdir/am/eptex.am
--- texlive-base-20200327/source/texk/web2c/eptexdir/am/eptex.am.dt 2020-04-20 14:32:46.325851485 -0400
+++ texlive-base-20200327/source/texk/web2c/eptexdir/am/eptex.am 2020-04-20 14:34:20.015892398 -0400
@@ -83,7 +83,7 @@ EXTRA_DIST += \
# e-pTeX Tests
#
-eptex_tests = eptexdir/eptriptest.test eptexdir/pdfprimitive.test eptexdir/epver.test
+eptex_tests = eptexdir/epver.test
eptexdir/eptriptest.log: eptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
eptexdir/pdfprimitive.log: eptex$(EXEEXT)
eptexdir/epver.log: eptex$(EXEEXT)
diff -up texlive-base-20200327/source/texk/web2c/euptexdir/am/euptex.am.dt texlive-base-20200327/source/texk/web2c/euptexdir/am/euptex.am
--- texlive-base-20200327/source/texk/web2c/euptexdir/am/euptex.am.dt 2020-04-20 14:32:46.326851464 -0400
+++ texlive-base-20200327/source/texk/web2c/euptexdir/am/euptex.am 2020-04-20 14:34:55.625147806 -0400
@@ -84,7 +84,7 @@ EXTRA_DIST += \
# e-upTeX Tests
#
-euptex_tests = euptexdir/euptriptest.test euptexdir/pdfprimitive.test euptexdir/eupver.test
+euptex_tests = euptexdir/eupver.test
euptexdir/euptriptest.log: euptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
euptexdir/pdfprimitive.log: euptex$(EXEEXT)
euptexdir/eupver.log: euptex$(EXEEXT)
diff -up texlive-base-20200327/source/texk/web2c/mfluadir/am/mflua.am.dt texlive-base-20200327/source/texk/web2c/mfluadir/am/mflua.am
--- texlive-base-20200327/source/texk/web2c/mfluadir/am/mflua.am.dt 2017-04-16 06:11:22.000000000 -0400
+++ texlive-base-20200327/source/texk/web2c/mfluadir/am/mflua.am 2020-04-20 14:32:46.326851464 -0400
@@ -110,7 +110,7 @@ EXTRA_DIST += \
# MFLua tests
#
-mflua_tests = mfluadir/mfluatraptest.test
+mflua_tests =
mfluadir/mfluatraptest.log: mflua$(EXEEXT) gftype$(EXEEXT) tftopl$(EXEEXT)
EXTRA_DIST += $(mflua_tests)
diff -up texlive-base-20200327/source/texk/web2c/mfluajitdir/am/mfluajit.am.dt texlive-base-20200327/source/texk/web2c/mfluajitdir/am/mfluajit.am
--- texlive-base-20200327/source/texk/web2c/mfluajitdir/am/mfluajit.am.dt 2017-04-16 06:11:22.000000000 -0400
+++ texlive-base-20200327/source/texk/web2c/mfluajitdir/am/mfluajit.am 2020-04-20 14:32:46.326851464 -0400
@@ -106,7 +106,7 @@ EXTRA_DIST += \
# MFLuaJIT tests
#
-mfluajit_tests = mfluajitdir/mfluajittraptest.test
+mfluajit_tests =
mfluajitdir/mfluajittraptest.log: mfluajit$(EXEEXT) gftype$(EXEEXT) tftopl$(EXEEXT)
EXTRA_DIST += $(mfluajit_tests)
diff -up texlive-base-20200327/source/texk/web2c/pdftexdir/am/pdftex.am.dt texlive-base-20200327/source/texk/web2c/pdftexdir/am/pdftex.am
--- texlive-base-20200327/source/texk/web2c/pdftexdir/am/pdftex.am.dt 2020-04-20 14:32:46.326851464 -0400
+++ texlive-base-20200327/source/texk/web2c/pdftexdir/am/pdftex.am 2020-04-20 14:35:48.451043188 -0400
@@ -95,8 +95,8 @@ EXTRA_DIST += \
# pdfTeX tests
#
-pdftex_tests = pdftexdir/wprob.test pdftexdir/pdftex.test \
- pdftexdir/pdfimage.test pdftexdir/expanded.test \
+pdftex_tests = pdftexdir/pdftex.test \
+ pdftexdir/expanded.test \
pdftexdir/tests/cnfline.test
pdftexdir/wprob.log pdftexdir/pdftex.log \
diff -up texlive-base-20200327/source/texk/web2c/ptexdir/am/ptex.am.dt texlive-base-20200327/source/texk/web2c/ptexdir/am/ptex.am
--- texlive-base-20200327/source/texk/web2c/ptexdir/am/ptex.am.dt 2020-04-20 14:32:46.327851443 -0400
+++ texlive-base-20200327/source/texk/web2c/ptexdir/am/ptex.am 2020-04-20 14:36:23.750305069 -0400
@@ -168,7 +168,7 @@ EXTRA_DIST += \
# pTeX Tests
#
-ptex_tests = ptexdir/ptriptest.test ptexdir/pver.test
+ptex_tests = ptexdir/pver.test
ptexdir/ptriptest.log: ptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
ptexdir/pver.log: ptex$(EXEEXT)
pweb_tests = \
diff -up texlive-base-20200327/source/texk/web2c/uptexdir/am/uptex.am.dt texlive-base-20200327/source/texk/web2c/uptexdir/am/uptex.am
--- texlive-base-20200327/source/texk/web2c/uptexdir/am/uptex.am.dt 2020-04-20 14:32:46.327851443 -0400
+++ texlive-base-20200327/source/texk/web2c/uptexdir/am/uptex.am 2020-04-20 14:36:53.266687857 -0400
@@ -158,7 +158,7 @@ EXTRA_DIST += \
uptexdir/ChangeLog
# upTeX Tests
-uptex_tests = uptexdir/uptriptest.test uptexdir/upver.test
+uptex_tests = uptexdir/upver.test
uptexdir/uptriptest.log: uptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
uptexdir/upver.log: uptex$(EXEEXT)
upweb_tests = \
diff -up texlive-base-20200327/source/texk/web2c/xetexdir/am/xetex.am.dt texlive-base-20200327/source/texk/web2c/xetexdir/am/xetex.am
--- texlive-base-20200327/source/texk/web2c/xetexdir/am/xetex.am.dt 2020-04-20 14:32:46.327851443 -0400
+++ texlive-base-20200327/source/texk/web2c/xetexdir/am/xetex.am 2020-04-20 14:37:13.223270564 -0400
@@ -201,7 +201,6 @@ EXTRA_DIST += \
#
xetex_tests = \
xetexdir/xetex-filedump.test \
- xetexdir/xetex-bug73.test \
xetexdir/xetex.test
xetexdir/xetex-filedump.log xetexdir/xetex-bug73.log xetexdir/xetex.log: xetex$(EXEEXT)
diff -up texlive-base-20200327/source/texk/kpathsea/Makefile.am.dt texlive-base-20200327/source/texk/kpathsea/Makefile.am
--- texlive-base-20200327/source/texk/kpathsea/Makefile.am.dt 2020-04-20 15:49:39.282325550 -0400
+++ texlive-base-20200327/source/texk/kpathsea/Makefile.am 2020-04-20 15:49:51.475074045 -0400
@@ -275,7 +275,7 @@ uninstall-local:
AM_TESTS_ENVIRONMENT = LN_S='$(LN_S)'; export LN_S;
AM_TESTS_ENVIRONMENT += LT_OBJDIR='$(LT_OBJDIR)'; export LT_OBJDIR;
#
-TESTS = tests/cnfline.test tests/cnfnewline.test
+TESTS = tests/cnfnewline.test
TESTS += tests/cnfnull.test tests/cnfprog.test
TESTS += tests/kpseaccess.test
TESTS += tests/kpsereadlink.test tests/kpsestat.test tests/kpsewhich.test
diff -up texlive-base-20200327/source/texk/kpathsea/Makefile.in.dt texlive-base-20200327/source/texk/kpathsea/Makefile.in
--- texlive-base-20200327/source/texk/kpathsea/Makefile.in.dt 2020-04-21 10:17:29.766949867 -0400
+++ texlive-base-20200327/source/texk/kpathsea/Makefile.in 2020-04-21 10:17:36.926798780 -0400
@@ -858,7 +858,7 @@ dist_noinst_DATA = texmf.cnf
AM_TESTS_ENVIRONMENT = LN_S='$(LN_S)'; export LN_S; \
LT_OBJDIR='$(LT_OBJDIR)'; export LT_OBJDIR;
#
-TESTS = tests/cnfline.test tests/cnfnewline.test tests/cnfnull.test \
+TESTS = tests/cnfnewline.test tests/cnfnull.test \
tests/cnfprog.test tests/kpseaccess.test \
tests/kpsereadlink.test tests/kpsestat.test \
tests/kpsewhich.test

View file

@ -1,318 +0,0 @@
diff -up texlive-base-20200327/source/texk/texlive/linked_scripts/dviasm/dviasm.py.py3fix texlive-base-20200327/source/texk/texlive/linked_scripts/dviasm/dviasm.py
--- texlive-base-20200327/source/texk/texlive/linked_scripts/dviasm/dviasm.py.py3fix 2019-11-27 17:03:14.000000000 -0500
+++ texlive-base-20200327/source/texk/texlive/linked_scripts/dviasm/dviasm.py 2020-09-18 17:30:44.000000000 -0400
@@ -5,8 +5,8 @@
#
# Copyright (C) 2007-2008 by Jin-Hwan Cho <chofchof@ktug.or.kr>
# Copyright (C) 2011-2017 by Khaled Hosny <khaledhosny@eglug.org>
-# Copyright (C) 2019 by Arthur Reutenauer <arthur@reutenauer.eu>
-# Copyright (C) 2019 by Hironobu Yamashita <h.y.acetaminophen@gmail.com>
+# Copyright (C) 2019 by Arthur Reutenauer <arthur@reutenauer.eu>
+# Copyright (C) 2019-2020 by Hironobu Yamashita <h.y.acetaminophen@gmail.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -180,22 +180,26 @@ def GetInt(s):
except: return -1
def GetStrASCII(s): # used in Parse()
- if len(s) > 1 and ((s[0] == "'" and s[-1] == "'") or (s[0] == '"' and s[-1] == '"')): return [ord(c) for c in s[1:-1].decode('unicode_escape')]
+ if len(s) > 1 and ((s[0] == "'" and s[-1] == "'") or (s[0] == '"' and s[-1] == '"')):
+ return [ord(c) for c in s[1:-1].decode('unicode_escape')]
else: return ''
def UCS2toJIS(c):
- s = c.encode('iso2022-jp')
+ try:
+ s = c.encode('iso2022-jp')
+ except UnicodeEncodeError:
+ s = c.encode('raw_unicode_escape')
if len(s) == 1: return ord(s)
else: return (s[3] << 8) + s[4]
def GetStrUTF8(s): # used in Parse()
if len(s) > 1 and ((s[0] == "'" and s[-1] == "'") or (s[0] == '"' and s[-1] == '"')):
- t = s[1:-1]
+ t = s[1:-1].encode('raw_unicode_escape').decode('unicode_escape')
if is_ptex: return [UCS2toJIS(c) for c in t]
else: return [ord(c) for c in t]
else: return ''
-def PutStrASCII(t): # unsed in Dump()
+def PutStrASCII(t): # used in Dump()
s = ''
for o in t:
if o == 92: s += '\\\\'
@@ -206,7 +210,7 @@ def PutStrASCII(t): # unsed in Dump()
warning('Not support characters > 65535; may skip %d.\n' % o)
return "'%s'" % s
-def PutStrLatin1(t): # unsed in Dump()
+def PutStrLatin1(t): # used in Dump()
s = ''
for o in t:
if o == 92: s += '\\\\'
@@ -221,14 +225,14 @@ def DecodeISO2022JP(c):
try:
s = bytes.fromhex("1b 24 42 %02x %02x" % (c//256, c%256)).decode('iso2022-jp')
except UnicodeDecodeError:
- s = ''
+ s = chr(c)
return s
-def PutStrUTF8(t): # unsed in Dump()
+def PutStrUTF8(t): # used in Dump()
s = ''
if is_subfont:
for o in t:
- s += chr((subfont_idx << 8) + o).encode('utf8')
+ s += chr((subfont_idx << 8) + o)
else: # not the case of subfont
for o in t:
if o == 92: s += '\\\\'
@@ -239,16 +243,6 @@ def PutStrUTF8(t): # unsed in Dump()
else: s += chr(o)
return "'%s'" % s
-def PutStrSJIS(t): # unsed in Dump()
- s = ''
- for o in t:
- if o == 92: s += '\\\\'
- elif 32 <= o < 127: s += chr(o)
- elif o < 128: s += ('\\x%02x' % o)
- else:
- s += DecodeISO2022JP(o).encode('sjis')
- return "'%s'" % s
-
def IsFontChanged(f, z):
global cur_font, cur_ssize, subfont_idx, is_subfont
for n in subfont_list:
@@ -461,7 +455,7 @@ class DVI(object):
if o == SET_RULE:
s.append([SET_RULE, [p, SignedQuad(fp)]])
elif o in (PUT1, PUT2, PUT3, PUT4):
- s.append([PUT1, p])
+ s.append([PUT1, [p]])
elif o == PUT_RULE:
s.append([PUT_RULE, [p, SignedQuad(fp)]])
elif o == NOP:
@@ -498,7 +492,7 @@ class DVI(object):
elif o < FNT_NUM_0 + 64 or o in (FNT1, FNT2, FNT3, FNT4):
s.append([FNT1, p])
elif o in (XXX1, XXX2, XXX3, XXX4):
- q = fp.read(p).decode('utf8')
+ q = fp.read(p)
s.append([XXX1, q])
elif o in (FNT_DEF1, FNT_DEF2, FNT_DEF3, FNT_DEF4):
self.DefineFont(p, fp)
@@ -622,11 +616,11 @@ class DVI(object):
if cmd[0] == SET1:
for o in cmd[1]:
if o < 128: s.append(bytes.fromhex('%02x' % (SET_CHAR_0 + o)))
- else: s.append(self.CmdPair([SET1, o]))
+ else: s.append(self.CmdPairU([SET1, o]))
elif cmd[0] in (SET_RULE, PUT_RULE):
s.append(bytes.fromhex('%02x' % cmd[0]) + PutSignedQuad(cmd[1][0]) + PutSignedQuad(cmd[1][1]))
elif cmd[0] == PUT1:
- s.append(self.CmdPair([PUT1, cmd[1][0]]))
+ s.append(self.CmdPairU([PUT1, cmd[1][0]]))
elif cmd[0] in (RIGHT1, DOWN1):
s.append(self.CmdPair(cmd))
elif cmd[0] in (W0, X0, Y0, Z0):
@@ -648,12 +642,22 @@ class DVI(object):
z = cmd[1]; s.append(self.CmdPair(cmd))
elif cmd[0] == FNT1:
if cmd[1] < 64: s.append(bytes.fromhex('%02x' % (FNT_NUM_0 + cmd[1])))
- else: s.append(self.CmdPair(cmd))
+ else: s.append(self.CmdPairU(cmd))
elif cmd[0] == XXX1:
- cmd1 = cmd[1].encode('utf8')
- l = len(cmd[1])
- if l < 256: s.append(bytes.fromhex('%02x' % XXX1) + bytes.fromhex('%02x' % l) + cmd1)
- else: s.append(bytes.fromhex('%02x' % XXX4) + PutSignedQuad(l) + cmd1)
+ if options.xxx_encoding == "none":
+ l = len(cmd[1]) # leave encoding untouched
+ else:
+ cmd1 = cmd[1].encode(options.xxx_encoding)
+ l = len(cmd1)
+ if l < 256:
+ s.append(bytes.fromhex('%02x' % XXX1) + bytes.fromhex('%02x' % l))
+ else:
+ s.append(bytes.fromhex('%02x' % XXX4) + PutSignedQuad(l))
+ if options.xxx_encoding == "none":
+ for o in cmd[1]:
+ s.append(bytes.fromhex('%02x' % ord(o)))
+ else:
+ s.append(cmd1)
elif cmd[0] == DIR:
s.append(bytes.fromhex('%02x' % DIR) + bytes.fromhex('%02x' % cmd[1]))
elif cmd[0] == BEGIN_REFLECT:
@@ -685,7 +689,8 @@ class DVI(object):
def WriteFontDefinitions(self, fp):
s = []
for e in sorted(self.font_def.keys()):
- if self.font_def[e]['native']:
+ try:
+ self.font_def[e]['native']
flags = self.font_def[e]['flags']
s.append(PutByte(NATIVE_FONT_DEF))
s.append(PutSignedQuad(e))
@@ -698,7 +703,7 @@ class DVI(object):
if flags & XDV_FLAG_EXTEND: s.append(PutSignedQuad(self.font_def[e]['extend']))
if flags & XDV_FLAG_SLANT: s.append(PutSignedQuad(self.font_def[e]['slant']))
if flags & XDV_FLAG_EMBOLDEN: s.append(PutSignedQuad(self.font_def[e]['embolden']))
- else:
+ except KeyError:
l, q = PutUnsigned(e)
s.append(PutByte(FNT_DEF1 + l))
s.append(q)
@@ -710,6 +715,10 @@ class DVI(object):
s.append(self.font_def[e]['name'].encode('utf8'))
fp.write(b''.join(s))
+ def CmdPairU(self, cmd):
+ l, q = PutUnsigned(cmd[1])
+ return bytes.fromhex('%02x' % (cmd[0] + l)) + q
+
def CmdPair(self, cmd):
l, q = PutSigned(cmd[1])
return bytes.fromhex('%02x' % (cmd[0] + l)) + q
@@ -718,7 +727,7 @@ class DVI(object):
# Parse: Text -> Internal Format
##########################################################
def Parse(self, fn, encoding=''):
- fp = open(fn, 'r')
+ fp = open(fn, 'r', encoding=encoding)
s = fp.read()
fp.close()
self.ParseFromString(s, encoding=encoding)
@@ -807,7 +816,10 @@ class DVI(object):
else:
self.cur_page.append([SET1, ol])
elif key == 'put':
- self.cur_page.append([PUT1, GetStr(val)])
+ ol = GetStr(val)
+ if len(ol) != 1:
+ warning('only one character is allowed for put!')
+ self.cur_page.append([PUT1, ol])
elif key == 'setrule':
v = val.split(' ')
if len(v) != 2:
@@ -895,7 +907,7 @@ class DVI(object):
# Dump: Internal Format -> Text
##########################################################
def Dump(self, fn, tabsize=2, encoding=''):
- fp = open(fn, 'w')
+ fp = open(fn, 'w', encoding=encoding)
self.DumpToFile(fp, tabsize=tabsize, encoding=encoding)
fp.close()
@@ -903,7 +915,6 @@ class DVI(object):
global PutStr
if encoding == 'ascii': PutStr = PutStrASCII
elif encoding == 'latin1': PutStr = PutStrLatin1
- elif encoding == 'sjis': PutStr = PutStrSJIS
else: PutStr = PutStrUTF8
# DumpPreamble
fp.write("[preamble]\n")
@@ -921,10 +932,10 @@ class DVI(object):
# DumpFontDefinitions
fp.write("\n[font definitions]\n")
for e in sorted(self.font_def.keys()):
- fp.write("fntdef: %s" % self.font_def[e]['name'])
+ fp.write("fntdef: %s " % self.font_def[e]['name'])
if self.font_def[e]['design_size'] != self.font_def[e]['scaled_size']:
- fp.write(" (%s) " % self.byconv(self.font_def[e]['design_size']))
- fp.write(" at %s\n" % self.byconv(self.font_def[e]['scaled_size']))
+ fp.write("(%s) " % self.byconv(self.font_def[e]['design_size']))
+ fp.write("at %s\n" % self.byconv(self.font_def[e]['scaled_size']))
# DumpPages
for page in self.pages:
fp.write("\n[page" + (" %d"*10 % tuple(page['count'])) + "]\n")
@@ -939,7 +950,10 @@ class DVI(object):
fp.write("push:\n")
indent += tabsize
elif cmd[0] == XXX1:
- fp.write("xxx: %s\n" % repr(cmd[1]))
+ if options.xxx_encoding == "none":
+ fp.write("xxx: %s\n" % PutStrASCII(cmd[1])) # leave encoding untouched
+ else:
+ fp.write("xxx: '%s'\n" % cmd[1].decode(options.xxx_encoding))
elif cmd[0] == DIR:
fp.write("dir: %d\n" % cmd[1])
elif cmd[0] == BEGIN_REFLECT:
@@ -1092,7 +1106,6 @@ class DVI(object):
f['slant'] = slant
f['embolden'] = embolden
else:
- f['native'] = False
f['name'] = n
if q[:2] == "at": q = q[2:]
@@ -1144,16 +1157,18 @@ def ProcessOptions():
DVIasm is a Python script to support changing or creating DVI files
via disassembling into text, editing, and then reassembling into
binary format. It is fully documented at
+ http://tug.org/TUGboat/Articles/tb28-2/tb89cho.pdf
+ http://ajt.ktug.kr/assets/2008/5/1/0201cho.pdf
-http://tug.org/TUGboat/Articles/tb28-2/tb89cho.pdf
-http://ajt.ktug.kr/assets/2008/5/1/0201cho.pdf"""
+Please report bugs to
+ https://github.com/aminophen/dviasm"""
+
+ version = """This is %prog-20200918
- version = """This is %prog-20191126
-
Copyright (C) 2007-2008 by Jin-Hwan Cho <chofchof@ktug.or.kr>
Copyright (C) 2011-2017 by Khaled Hosny <khaledhosny@eglug.org>
-Copyright (C) 2019 by Arthur Reutenauer <arthur@reutenauer.eu>
-Copyright (C) 2019 by Hironobu Yamashita <h.y.acetaminophen@gmail.com>
+Copyright (C) 2019 by Arthur Reutenauer <arthur@reutenauer.eu>
+Copyright (C) 2019-2020 by Hironobu Yamashita <h.y.acetaminophen@gmail.com>
This is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -1173,6 +1188,10 @@ the Free Software Foundation, either ver
action="store", type="string", dest="encoding",
metavar="STR",
help="encoding for input/output [default=%default]")
+ parser.add_option("-x", "--xxx-encoding",
+ action="store", type="string", dest="xxx_encoding",
+ metavar="STR",
+ help="encoding for interpreting xxx strings [default=%default]")
parser.add_option("-t", "--tabsize",
action="store", type="int", dest="tabsize",
metavar="INT",
@@ -1184,18 +1203,20 @@ the Free Software Foundation, either ver
action="append", type="string", dest="subfont",
metavar="STR",
help="the list of fonts with UCS2 subfont scheme (comma separated); disable internal subfont list if STR is empty")
- parser.set_defaults(unit='pt', encoding='utf8', tabsize=2)
+ parser.set_defaults(unit='pt', encoding='utf8', xxx_encoding='none', tabsize=2)
(options, args) = parser.parse_args()
if not options.unit in ['sp', 'pt', 'bp', 'mm', 'cm', 'in']:
parser.error("invalid unit name '%s'!" % options.unit)
- if options.tabsize < 0:
+ if options.tabsize < 0:
parser.error("negative tabsize!")
- if not options.encoding in ['ascii', 'latin1', 'utf8', 'sjis']:
+ if not options.xxx_encoding in ['none', 'utf8', 'sjis', 'eucjp']:
+ parser.error("invalid xxx-encoding '%s'!" % options.xxx_encoding)
+ if not options.encoding in ['ascii', 'latin1', 'utf8', 'sjis', 'eucjp']:
parser.error("invalid encoding '%s'!" % options.encoding)
if options.ptex:
global is_ptex
is_ptex = True
- if not options.encoding in ['utf8', 'sjis']:
+ if not options.encoding in ['utf8', 'sjis', 'eucjp']:
parser.error("invalid encoding '%s' for Japanese pTeX!" % options.encoding)
if options.subfont:
global subfont_list
@@ -1235,4 +1256,4 @@ if __name__ == '__main__':
else: # dump -> dvi
aDVI.Parse(args[0], encoding=options.encoding)
if options.output: aDVI.Save(options.output)
- else: aDVI.SaveToFile(sys.stdout)
+ else: aDVI.SaveToFile(sys.stdout.buffer)

View file

@ -1,641 +0,0 @@
diff -up texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc.newpoppler texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc
--- texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc.newpoppler 2019-11-27 17:45:26.000000000 -0500
+++ texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc 2020-04-20 14:28:40.111986243 -0400
@@ -1,5 +1,5 @@
/*
-Copyright 1996-2016 Han The Thanh, <thanh@pdftex.org>
+Copyright 1996-2017 Han The Thanh, <thanh@pdftex.org>
This file is part of pdfTeX.
@@ -17,6 +17,15 @@ You should have received a copy of the G
with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+/*
+This is based on the patch texlive-poppler-0.59.patch <2017-09-19> at
+https://git.archlinux.org/svntogit/packages.git/plain/texlive-bin/trunk
+by Arch Linux. A little modifications are made to avoid a crash for
+some kind of pdf images, such as figure_missing.pdf in gnuplot.
+The poppler should be 0.59.0 or newer versions.
+POPPLER_VERSION should be defined.
+*/
+
/* Do this early in order to avoid a conflict between
MINGW32 <rpcndr.h> defining 'boolean' as 'unsigned char' and
<kpathsea/types.h> defining Pascal's boolean as 'int'.
@@ -39,10 +48,7 @@ with this program. If not, see <http://
#include <goo/gfile.h>
#define GString GooString
#else
-#include <aconf.h>
-#include <GString.h>
-#include <gmem.h>
-#include <gfile.h>
+#error POPPLER_VERSION should be defined.
#endif
#include <assert.h>
@@ -84,31 +90,6 @@ extern integer zround(double);
#define MASK_SUPPRESS_PTEX_PAGENUMBER 0x04
#define MASK_SUPPRESS_PTEX_INFODICT 0x08
-// PdfObject encapsulates the xpdf Object type,
-// and properly frees its resources on destruction.
-// Use obj-> to access members of the Object,
-// and &obj to get a pointer to the object.
-// It is no longer necessary to call Object::free explicitely.
-
-class PdfObject {
- public:
- PdfObject() { // nothing
- } ~PdfObject() {
- iObject.free();
- }
- Object *operator->() {
- return &iObject;
- }
- Object *operator&() {
- return &iObject;
- }
- private: // no copying or assigning
- PdfObject(const PdfObject &);
- void operator=(const PdfObject &);
- public:
- Object iObject;
-};
-
// When copying the Resources of the selected page, all objects are copied
// recusively top-down. Indirect objects however are not fetched during
// copying, but get a new object number from pdfTeX and then will be
@@ -212,18 +193,6 @@ static void delete_document(PdfDocument
delete pdf_doc;
}
-// Replacement for
-// Object *initDict(Dict *dict1){ initObj(objDict); dict = dict1; return this; }
-
-static void initDictFromDict(PdfObject & obj, Dict * dict)
-{
- obj->initDict(xref);
- for (int i = 0, l = dict->getLength(); i < l; i++) {
- Object obj1;
- obj->dictAdd(copyString(dict->getKey(i)), dict->getValNF(i, &obj1));
- }
-}
-
// --------------------------------------------------------------------
static int addEncoding(GfxFont * gfont)
@@ -320,10 +289,10 @@ static void copyName(char *s)
static void copyDictEntry(Object * obj, int i)
{
- PdfObject obj1;
+ Object obj1;
copyName(obj->dictGetKey(i));
pdf_puts(" ");
- obj->dictGetValNF(i, &obj1);
+ obj1 = obj->dictGetValNF(i);
copyObject(&obj1);
pdf_puts("\n");
}
@@ -376,17 +345,17 @@ static void copyStream(Stream * str)
static void copyProcSet(Object * obj)
{
int i, l;
- PdfObject procset;
+ Object procset;
if (!obj->isArray())
pdftex_fail("PDF inclusion: invalid ProcSet array type <%s>",
obj->getTypeName());
pdf_puts("/ProcSet [ ");
for (i = 0, l = obj->arrayGetLength(); i < l; ++i) {
- obj->arrayGetNF(i, &procset);
- if (!procset->isName())
+ procset = obj->arrayGetNF(i);
+ if (!procset.isName())
pdftex_fail("PDF inclusion: invalid ProcSet entry type <%s>",
- procset->getTypeName());
- copyName(procset->getName());
+ procset.getTypeName());
+ copyName(procset.getName());
pdf_puts(" ");
}
pdf_puts("]\n");
@@ -394,10 +363,29 @@ static void copyProcSet(Object * obj)
#define REPLACE_TYPE1C true
+static bool embeddableFont(Object * fontdesc)
+{
+ Object fontfile, ffsubtype;
+
+ if (!fontdesc->isDict())
+ return false;
+ fontfile = fontdesc->dictLookup("FontFile");
+ if (fontfile.isStream())
+ return true;
+ if (REPLACE_TYPE1C) {
+ fontfile = fontdesc->dictLookup("FontFile3");
+ if (!fontfile.isStream())
+ return false;
+ ffsubtype = fontfile.streamGetDict()->lookup("Subtype");
+ return ffsubtype.isName() && !strcmp(ffsubtype.getName(), "Type1C");
+ }
+ return false;
+}
+
static void copyFont(char *tag, Object * fontRef)
{
- PdfObject fontdict, subtype, basefont, fontdescRef, fontdesc, charset,
- fontfile, ffsubtype, stemV;
+ Object fontdict, subtype, basefont, fontdescRef, fontdesc, charset,
+ stemV;
GfxFont *gfont;
fd_entry *fd;
fm_entry *fontmap;
@@ -413,33 +401,39 @@ static void copyFont(char *tag, Object *
}
// Only handle included Type1 (and Type1C) fonts; anything else will be copied.
// Type1C fonts are replaced by Type1 fonts, if REPLACE_TYPE1C is true.
- if (!fixedinclusioncopyfont && fontRef->fetch(xref, &fontdict)->isDict()
- && fontdict->dictLookup("Subtype", &subtype)->isName()
- && !strcmp(subtype->getName(), "Type1")
- && fontdict->dictLookup("BaseFont", &basefont)->isName()
- && fontdict->dictLookupNF("FontDescriptor", &fontdescRef)->isRef()
- && fontdescRef->fetch(xref, &fontdesc)->isDict()
- && (fontdesc->dictLookup("FontFile", &fontfile)->isStream()
- || (REPLACE_TYPE1C
- && fontdesc->dictLookup("FontFile3", &fontfile)->isStream()
- && fontfile->streamGetDict()->lookup("Subtype",
- &ffsubtype)->isName()
- && !strcmp(ffsubtype->getName(), "Type1C")))
- && (fontmap = lookup_fontmap(basefont->getName())) != NULL) {
+ fontdict = fontRef->fetch(xref);
+ fontdesc = Object(objNull);
+ if (fontdict.isDict()) {
+ subtype = fontdict.dictLookup("Subtype");
+ basefont = fontdict.dictLookup("BaseFont");
+ fontdescRef = fontdict.dictLookupNF("FontDescriptor");
+ if (fontdescRef.isRef()) {
+ fontdesc = fontdescRef.fetch(xref);
+ }
+ }
+ if (!fixedinclusioncopyfont && fontdict.isDict()
+ && subtype.isName()
+ && !strcmp(subtype.getName(), "Type1")
+ && basefont.isName()
+ && fontdescRef.isRef()
+ && fontdesc.isDict()
+ && embeddableFont(&fontdesc)
+ && (fontmap = lookup_fontmap(basefont.getName())) != NULL) {
// round /StemV value, since the PDF input is a float
// (see Font Descriptors in PDF reference), but we only store an
// integer, since we don't want to change the struct.
- fontdesc->dictLookup("StemV", &stemV);
- fd = epdf_create_fontdescriptor(fontmap, zround(stemV->getNum()));
- if (fontdesc->dictLookup("CharSet", &charset) &&
- charset->isString() && is_subsetable(fontmap))
- epdf_mark_glyphs(fd, charset->getString()->getCString());
+ stemV = fontdesc.dictLookup("StemV");
+ fd = epdf_create_fontdescriptor(fontmap, zround(stemV.getNum()));
+ charset = fontdesc.dictLookup("CharSet");
+ if (!charset.isNull() &&
+ charset.isString() && is_subsetable(fontmap))
+ epdf_mark_glyphs(fd, charset.getString()->getCString());
else
embed_whole_font(fd);
- addFontDesc(fontdescRef->getRef(), fd);
+ addFontDesc(fontdescRef.getRef(), fd);
copyName(tag);
gfont = GfxFont::makeFont(xref, tag, fontRef->getRef(),
- fontdict->getDict());
+ fontdict.getDict());
pdf_printf(" %d 0 R ", addFont(fontRef->getRef(), fd,
addEncoding(gfont)));
} else {
@@ -451,24 +445,24 @@ static void copyFont(char *tag, Object *
static void copyFontResources(Object * obj)
{
- PdfObject fontRef;
+ Object fontRef;
int i, l;
if (!obj->isDict())
pdftex_fail("PDF inclusion: invalid font resources dict type <%s>",
obj->getTypeName());
pdf_puts("/Font << ");
for (i = 0, l = obj->dictGetLength(); i < l; ++i) {
- obj->dictGetValNF(i, &fontRef);
- if (fontRef->isRef())
+ fontRef = obj->dictGetValNF(i);
+ if (fontRef.isRef())
copyFont(obj->dictGetKey(i), &fontRef);
- else if (fontRef->isDict()) { // some programs generate pdf with embedded font object
+ else if (fontRef.isDict()) { // some programs generate pdf with embedded font object
copyName(obj->dictGetKey(i));
pdf_puts(" ");
copyObject(&fontRef);
}
else
pdftex_fail("PDF inclusion: invalid font in reference type <%s>",
- fontRef->getTypeName());
+ fontRef.getTypeName());
}
pdf_puts(">>\n");
}
@@ -557,7 +551,7 @@ static char *convertNumToPDF(double n)
static void copyObject(Object * obj)
{
- PdfObject obj1;
+ Object obj1;
int i, l, c;
Ref ref;
char *p;
@@ -601,8 +595,8 @@ static void copyObject(Object * obj)
} else if (obj->isArray()) {
pdf_puts("[");
for (i = 0, l = obj->arrayGetLength(); i < l; ++i) {
- obj->arrayGetNF(i, &obj1);
- if (!obj1->isName())
+ obj1 = obj->arrayGetNF(i);
+ if (!obj1.isName())
pdf_puts(" ");
copyObject(&obj1);
}
@@ -612,9 +606,8 @@ static void copyObject(Object * obj)
copyDict(obj);
pdf_puts(">>");
} else if (obj->isStream()) {
- initDictFromDict(obj1, obj->streamGetDict());
pdf_puts("<<\n");
- copyDict(&obj1);
+ copyDict(obj->getStream()->getDictObject());
pdf_puts(">>\n");
pdf_puts("stream\n");
copyStream(obj->getStream()->getUndecodedStream());
@@ -638,9 +631,8 @@ static void writeRefs()
InObj *r;
for (r = inObjList; r != 0; r = r->next) {
if (!r->written) {
- Object obj1;
r->written = 1;
- xref->fetch(r->ref.num, r->ref.gen, &obj1);
+ Object obj1 = xref->fetch(r->ref.num, r->ref.gen);
if (r->type == objFont) {
assert(!obj1.isStream());
pdfbeginobj(r->num, 2); // \pdfobjcompresslevel = 2 is for this
@@ -656,7 +648,6 @@ static void writeRefs()
pdf_puts("\n");
pdfendobj();
}
- obj1.free();
}
}
}
@@ -685,7 +676,7 @@ static void writeEncodings()
#ifdef POPPLER_VERSION
r->font->decRefCnt();
#else
- delete r->font;
+#error POPPLER_VERSION should be defined.
#endif
delete r;
}
@@ -728,7 +719,7 @@ read_pdf_info(char *image_name, char *pa
#ifdef POPPLER_VERSION
int pdf_major_version_found, pdf_minor_version_found;
#else
- float pdf_version_found, pdf_version_wanted;
+#error POPPLER_VERSION should be defined.
#endif
// initialize
if (!isInit) {
@@ -760,19 +751,7 @@ read_pdf_info(char *image_name, char *pa
}
}
#else
- pdf_version_found = pdf_doc->doc->getPDFVersion();
- pdf_version_wanted = major_pdf_version_wanted + (minor_pdf_version_wanted * 0.1);
- if (pdf_version_found > pdf_version_wanted + 0.01) {
- char msg[] =
- "PDF inclusion: found PDF version <%.1f>, but at most version <%.1f> allowed";
- if (pdf_inclusion_errorlevel > 0) {
- pdftex_fail(msg, pdf_version_found, pdf_version_wanted);
- } else if (pdf_inclusion_errorlevel < 0) {
- ; /* do nothing */
- } else { /* = 0, give warning */
- pdftex_warn(msg, pdf_version_found, pdf_version_wanted);
- }
- }
+#error POPPLER_VERSION should be defined.
#endif
epdf_num_pages = pdf_doc->doc->getCatalog()->getNumPages();
if (page_name) {
@@ -839,8 +818,8 @@ void write_epdf(void)
Page *page;
Ref *pageRef;
Dict *pageDict;
- PdfObject contents, obj1, obj2, pageObj, dictObj;
- PdfObject groupDict;
+ Object contents, obj1, obj2, pageObj, dictObj;
+ Object groupDict;
bool writeSepGroup = false;
Object info;
char *key;
@@ -867,8 +846,8 @@ void write_epdf(void)
encodingList = 0;
page = pdf_doc->doc->getCatalog()->getPage(epdf_selected_page);
pageRef = pdf_doc->doc->getCatalog()->getPageRef(epdf_selected_page);
- xref->fetch(pageRef->num, pageRef->gen, &pageObj);
- pageDict = pageObj->getDict();
+ pageObj = xref->fetch(pageRef->num, pageRef->gen);
+ pageDict = pageObj.getDict();
rotate = page->getRotate();
PDFRectangle *pagebox;
// write the Page header
@@ -886,7 +865,7 @@ void write_epdf(void)
pdf_printf("/%s.PageNumber %i\n", pdfkeyprefix, (int) epdf_selected_page);
}
if ((suppress_ptex_info & MASK_SUPPRESS_PTEX_INFODICT) == 0) {
- pdf_doc->doc->getDocInfoNF(&info);
+ info = pdf_doc->doc->getDocInfoNF();
if (info.isRef()) {
// the info dict must be indirect (PDF Ref p. 61)
pdf_printf("/%s.InfoDict ", pdfkeyprefix);
@@ -942,14 +921,14 @@ void write_epdf(void)
pdf_puts(stripzeros(s));
// Metadata validity check (as a stream it must be indirect)
- pageDict->lookupNF("Metadata", &dictObj);
- if (!dictObj->isNull() && !dictObj->isRef())
+ dictObj = pageDict->lookupNF("Metadata");
+ if (!dictObj.isNull() && !dictObj.isRef())
pdftex_warn("PDF inclusion: /Metadata must be indirect object");
// copy selected items in Page dictionary except Resources & Group
for (i = 0; pageDictKeys[i] != NULL; i++) {
- pageDict->lookupNF(pageDictKeys[i], &dictObj);
- if (!dictObj->isNull()) {
+ dictObj = pageDict->lookupNF(pageDictKeys[i]);
+ if (!dictObj.isNull()) {
pdf_newline();
pdf_printf("/%s ", pageDictKeys[i]);
copyObject(&dictObj); // preserves indirection
@@ -957,8 +936,8 @@ void write_epdf(void)
}
// handle page group
- pageDict->lookupNF("Group", &dictObj);
- if (!dictObj->isNull()) {
+ dictObj = pageDict->lookupNF("Group");
+ if (!dictObj.isNull()) {
if (pdfpagegroupval == 0) {
// another pdf with page group was included earlier on the
// same page; copy the Group entry as is. See manual for
@@ -972,11 +951,36 @@ void write_epdf(void)
copyObject(&dictObj);
} else {
// write Group dict as a separate object, since the Page dict also refers to it
- pageDict->lookup("Group", &dictObj);
- if (!dictObj->isDict())
+ dictObj = pageDict->lookup("Group");
+ if (!dictObj.isDict())
pdftex_fail("PDF inclusion: /Group dict missing");
writeSepGroup = true;
- initDictFromDict(groupDict, page->getGroup());
+/*
+This part is only a single line
+ groupDict = Object(page->getGroup());
+in the original patch. In this case, however, pdftex crashes at
+"delete pdf_doc->doc" in "delete_document()" for inclusion of some
+kind of pdf images, for example, figure_missing.pdf in gnuplot.
+A change
+ groupDict = Object(page->getGroup()).copy();
+does not improve the situation.
+The changes below seem to work fine.
+*/
+// begin modification
+ groupDict = pageDict->lookup("Group");
+ const Dict& dic1 = page->getGroup();
+ const Dict& dic2 = groupDict.getDict();
+ // replace dic2 in groupDict with dic1
+ l = dic2.getLength();
+ for (i = 0; i < l; i++) {
+ groupDict.dictRemove(dic2.getKey(i));
+ }
+ l = dic1.getLength();
+ for (i = 0; i < l; i++) {
+ groupDict.dictAdd(copyString(dic1.getKey(i)),
+ dic1.getValNF(i));
+ }
+// end modification
pdf_printf("/Group %ld 0 R\n", (long)pdfpagegroupval);
}
}
@@ -989,14 +993,14 @@ void write_epdf(void)
pdftex_warn
("PDF inclusion: /Resources missing. 'This practice is not recommended' (PDF Ref)");
} else {
- initDictFromDict(obj1, page->getResourceDict());
+ Object *obj1 = page->getResourceDictObject();
if (!obj1->isDict())
pdftex_fail("PDF inclusion: invalid resources dict type <%s>",
obj1->getTypeName());
pdf_newline();
pdf_puts("/Resources <<\n");
for (i = 0, l = obj1->dictGetLength(); i < l; ++i) {
- obj1->dictGetVal(i, &obj2);
+ obj2 = obj1->dictGetVal(i);
key = obj1->dictGetKey(i);
if (strcmp("Font", key) == 0)
copyFontResources(&obj2);
@@ -1009,8 +1013,8 @@ void write_epdf(void)
}
// write the page contents
- page->getContents(&contents);
- if (contents->isStream()) {
+ contents = page->getContents();
+ if (contents.isStream()) {
// Variant A: get stream and recompress under control
// of \pdfcompresslevel
@@ -1021,36 +1025,35 @@ void write_epdf(void)
// Variant B: copy stream without recompressing
//
- contents->streamGetDict()->lookup("F", &obj1);
- if (!obj1->isNull()) {
+ obj1 = contents.streamGetDict()->lookup("F");
+ if (!obj1.isNull()) {
pdftex_fail("PDF inclusion: Unsupported external stream");
}
- contents->streamGetDict()->lookup("Length", &obj1);
- assert(!obj1->isNull());
+ obj1 = contents.streamGetDict()->lookup("Length");
+ assert(!obj1.isNull());
pdf_puts("/Length ");
copyObject(&obj1);
pdf_puts("\n");
- contents->streamGetDict()->lookup("Filter", &obj1);
- if (!obj1->isNull()) {
+ obj1 = contents.streamGetDict()->lookup("Filter");
+ if (!obj1.isNull()) {
pdf_puts("/Filter ");
copyObject(&obj1);
pdf_puts("\n");
- contents->streamGetDict()->lookup("DecodeParms", &obj1);
- if (!obj1->isNull()) {
+ obj1 = contents.streamGetDict()->lookup("DecodeParms");
+ if (!obj1.isNull()) {
pdf_puts("/DecodeParms ");
copyObject(&obj1);
pdf_puts("\n");
}
}
pdf_puts(">>\nstream\n");
- copyStream(contents->getStream()->getUndecodedStream());
+ copyStream(contents.getStream()->getUndecodedStream());
pdfendstream();
- } else if (contents->isArray()) {
+ } else if (contents.isArray()) {
pdfbeginstream();
- for (i = 0, l = contents->arrayGetLength(); i < l; ++i) {
- Object contentsobj;
- copyStream((contents->arrayGet(i, &contentsobj))->getStream());
- contentsobj.free();
+ for (i = 0, l = contents.arrayGetLength(); i < l; ++i) {
+ Object contentsobj = contents.arrayGet(i);
+ copyStream(contentsobj.getStream());
if (i < l - 1)
pdf_newline(); // add a newline after each stream except the last
}
diff -up texlive-base-20200327/source/texk/web2c/pdftexdir/pdftosrc.cc.newpoppler texlive-base-20200327/source/texk/web2c/pdftexdir/pdftosrc.cc
--- texlive-base-20200327/source/texk/web2c/pdftexdir/pdftosrc.cc.newpoppler 2017-10-17 00:24:27.000000000 -0400
+++ texlive-base-20200327/source/texk/web2c/pdftexdir/pdftosrc.cc 2020-04-20 14:25:55.786266341 -0400
@@ -16,6 +16,14 @@ GNU General Public License for more deta
You should have received a copy of the GNU General Public License along
with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+
+/*
+This is based on the patch texlive-poppler-0.59.patch <2017-09-19> at
+https://git.archlinux.org/svntogit/packages.git/plain/texlive-bin/trunk
+by Arch Linux. The poppler should be 0.59.0 or newer versions.
+POPPLER_VERSION should be defined.
+*/
+
#include <w2c/config.h>
#include <stdlib.h>
@@ -32,10 +40,7 @@ with this program. If not, see <http://
#include <goo/gmem.h>
#include <goo/gfile.h>
#else
-#include <aconf.h>
-#include <GString.h>
-#include <gmem.h>
-#include <gfile.h>
+#error POPPLER_VERSION should be defined.
#endif
#include <assert.h>
@@ -86,22 +91,20 @@ int main(int argc, char *argv[])
objgen = atoi(argv[3]);
}
xref = doc->getXRef();
- catalogDict.initNull();
- xref->getCatalog(&catalogDict);
+ catalogDict = xref->getCatalog();
if (!catalogDict.isDict("Catalog")) {
fprintf(stderr, "No Catalog found\n");
exit(1);
}
- srcStream.initNull();
+ srcStream = Object(objNull);
if (objnum == 0) {
- catalogDict.dictLookup("SourceObject", &srcStream);
+ srcStream = catalogDict.dictLookup("SourceObject");
static char const_SourceFile[] = "SourceFile";
if (!srcStream.isStream(const_SourceFile)) {
fprintf(stderr, "No SourceObject found\n");
exit(1);
}
- srcName.initNull();
- srcStream.getStream()->getDict()->lookup("SourceName", &srcName);
+ srcName = srcStream.getStream()->getDict()->lookup("SourceName");
if (!srcName.isString()) {
fprintf(stderr, "No SourceName found\n");
exit(1);
@@ -110,7 +113,7 @@ int main(int argc, char *argv[])
// We cannot free srcName, as objname shares its string.
// srcName.free();
} else if (objnum > 0) {
- xref->fetch(objnum, objgen, &srcStream);
+ srcStream = xref->fetch(objnum, objgen);
if (!srcStream.isStream()) {
fprintf(stderr, "Not a Stream object\n");
exit(1);
@@ -160,26 +163,24 @@ int main(int argc, char *argv[])
int localOffset = 0;
Guint firstOffset;
- assert(xref->fetch(e->offset, 0, &objStr)->isStream());
- nObjects = objStr.streamGetDict()->lookup("N", &obj1)->getInt();
- obj1.free();
- first = objStr.streamGetDict()->lookup("First", &obj1)->getInt();
- obj1.free();
+ objStr = xref->fetch(e->offset, 0);
+ assert(objStr.isStream());
+ obj1 = objStr.streamGetDict()->lookup("N");
+ nObjects = obj1.getInt();
+ obj1 = objStr.streamGetDict()->lookup("First");
+ first = obj1.getInt();
firstOffset = objStr.getStream()->getBaseStream()->getStart() + first;
// parse the header: object numbers and offsets
objStr.streamReset();
- obj1.initNull();
- str = new EmbedStream(objStr.getStream(), &obj1, gTrue, first);
+ str = new EmbedStream(objStr.getStream(), Object(objNull), gTrue, first);
lexer = new Lexer(xref, str);
parser = new Parser(xref, lexer, gFalse);
for (n = 0; n < nObjects; ++n) {
- parser->getObj(&obj1);
- parser->getObj(&obj2);
+ obj1 = parser->getObj();
+ obj2 = parser->getObj();
if (n == e->gen)
localOffset = obj2.getInt();
- obj1.free();
- obj2.free();
}
#if defined(POPPLER_VERSION) || defined(XPDF304)
while (str->getChar() != EOF) ;
@@ -187,7 +188,6 @@ int main(int argc, char *argv[])
lexer->skipToEOF();
#endif
delete parser;
- objStr.free();
fprintf(outfile, "%.10lu 00000 n\n",
(long unsigned)(firstOffset + localOffset));
@@ -198,7 +198,6 @@ int main(int argc, char *argv[])
s->reset();
while ((c = s->getChar()) != EOF)
fputc(c, outfile);
- srcStream.free();
}
if (objnum == 0)
fprintf(stderr, "Source file extracted to %s\n", outname);
@@ -207,7 +206,6 @@ int main(int argc, char *argv[])
else
fprintf(stderr, "Cross-reference table extracted to %s\n", outname);
fclose(outfile);
- catalogDict.free();
delete doc;
delete globalParams;
}

View file

@ -1,266 +0,0 @@
diff -up texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler-0.84 texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc
--- texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler-0.84 2020-04-20 14:38:05.301181578 -0400
+++ texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc 2020-04-20 14:38:05.314181306 -0400
@@ -26,6 +26,15 @@ The poppler should be 0.59.0 or newer ve
POPPLER_VERSION should be defined.
*/
+#ifdef POPPLER_VERSION
+#include <poppler-config.h>
+#define xpdfVersion POPPLER_VERSION
+#define xpdfString "poppler"
+#else
+#include <xpdf/config.h> /* just to get the xpdf version */
+#define xpdfString "xpdf"
+#endif
+
/* Do this early in order to avoid a conflict between
MINGW32 <rpcndr.h> defining 'boolean' as 'unsigned char' and
<kpathsea/types.h> defining Pascal's boolean as 'int'.
@@ -292,7 +301,7 @@ static void copyDictEntry(Object * obj,
Object obj1;
copyName(obj->dictGetKey(i));
pdf_puts(" ");
- obj1 = obj->dictGetValNF(i);
+ obj1 = obj->dictGetValNF(i).copy();
copyObject(&obj1);
pdf_puts("\n");
}
@@ -351,7 +360,7 @@ static void copyProcSet(Object * obj)
obj->getTypeName());
pdf_puts("/ProcSet [ ");
for (i = 0, l = obj->arrayGetLength(); i < l; ++i) {
- procset = obj->arrayGetNF(i);
+ procset = obj->arrayGetNF(i).copy();
if (!procset.isName())
pdftex_fail("PDF inclusion: invalid ProcSet entry type <%s>",
procset.getTypeName());
@@ -406,7 +415,7 @@ static void copyFont(const char *tag, Ob
if (fontdict.isDict()) {
subtype = fontdict.dictLookup("Subtype");
basefont = fontdict.dictLookup("BaseFont");
- fontdescRef = fontdict.dictLookupNF("FontDescriptor");
+ fontdescRef = fontdict.dictLookupNF("FontDescriptor").copy();
if (fontdescRef.isRef()) {
fontdesc = fontdescRef.fetch(xref);
}
@@ -452,7 +461,7 @@ static void copyFontResources(Object * o
obj->getTypeName());
pdf_puts("/Font << ");
for (i = 0, l = obj->dictGetLength(); i < l; ++i) {
- fontRef = obj->dictGetValNF(i);
+ fontRef = obj->dictGetValNF(i).copy();
if (fontRef.isRef())
copyFont(obj->dictGetKey(i), &fontRef);
else if (fontRef.isDict()) { // some programs generate pdf with embedded font object
@@ -595,7 +604,7 @@ static void copyObject(Object * obj)
} else if (obj->isArray()) {
pdf_puts("[");
for (i = 0, l = obj->arrayGetLength(); i < l; ++i) {
- obj1 = obj->arrayGetNF(i);
+ obj1 = obj->arrayGetNF(i).copy();
if (!obj1.isName())
pdf_puts(" ");
copyObject(&obj1);
@@ -723,7 +732,7 @@ read_pdf_info(char *image_name, char *pa
#endif
// initialize
if (!isInit) {
- globalParams = new GlobalParams();
+ globalParams = std::unique_ptr<GlobalParams>(new GlobalParams());
globalParams->setErrQuiet(false);
isInit = true;
}
@@ -761,7 +770,7 @@ read_pdf_info(char *image_name, char *pa
if (link == 0 || !link->isOk())
pdftex_fail("PDF inclusion: invalid destination <%s>", page_name);
Ref ref = link->getPageRef();
- page_num = pdf_doc->doc->getCatalog()->findPage(ref.num, ref.gen);
+ page_num = pdf_doc->doc->getCatalog()->findPage(ref);
if (page_num == 0)
pdftex_fail("PDF inclusion: destination is not a page <%s>",
page_name);
@@ -921,13 +930,13 @@ void write_epdf(void)
pdf_puts(stripzeros(s));
// Metadata validity check (as a stream it must be indirect)
- dictObj = pageDict->lookupNF("Metadata");
+ dictObj = pageDict->lookupNF("Metadata").copy();
if (!dictObj.isNull() && !dictObj.isRef())
pdftex_warn("PDF inclusion: /Metadata must be indirect object");
// copy selected items in Page dictionary except Resources & Group
for (i = 0; pageDictKeys[i] != NULL; i++) {
- dictObj = pageDict->lookupNF(pageDictKeys[i]);
+ dictObj = pageDict->lookupNF(pageDictKeys[i]).copy();
if (!dictObj.isNull()) {
pdf_newline();
pdf_printf("/%s ", pageDictKeys[i]);
@@ -936,7 +945,7 @@ void write_epdf(void)
}
// handle page group
- dictObj = pageDict->lookupNF("Group");
+ dictObj = pageDict->lookupNF("Group").copy();
if (!dictObj.isNull()) {
if (pdfpagegroupval == 0) {
// another pdf with page group was included earlier on the
@@ -978,7 +987,7 @@ The changes below seem to work fine.
l = dic1.getLength();
for (i = 0; i < l; i++) {
groupDict.dictAdd(dic1.getKey(i),
- dic1.getValNF(i));
+ dic1.getValNF(i).copy());
}
// end modification
pdf_printf("/Group %ld 0 R\n", (long)pdfpagegroupval);
@@ -1108,6 +1117,6 @@ void epdf_check_mem()
delete_document(p);
}
// see above for globalParams
- delete globalParams;
+ globalParams.reset();
}
}
diff -up texlive-base-20200327/source/texk/web2c/pdftexdir/pdftosrc.cc.poppler-0.84 texlive-base-20200327/source/texk/web2c/pdftexdir/pdftosrc.cc
--- texlive-base-20200327/source/texk/web2c/pdftexdir/pdftosrc.cc.poppler-0.84 2020-04-20 14:38:05.301181578 -0400
+++ texlive-base-20200327/source/texk/web2c/pdftexdir/pdftosrc.cc 2020-04-20 14:38:05.314181306 -0400
@@ -24,6 +24,15 @@ by Arch Linux. The poppler should be 0.5
POPPLER_VERSION should be defined.
*/
+#ifdef POPPLER_VERSION
+#include <poppler-config.h>
+#define xpdfVersion POPPLER_VERSION
+#define xpdfString "poppler"
+#else
+#include <xpdf/config.h> /* just to get the xpdf version */
+#define xpdfString "xpdf"
+#endif
+
#include <w2c/config.h>
#include <stdlib.h>
@@ -79,7 +88,7 @@ int main(int argc, char *argv[])
exit(1);
}
fileName = new GString(argv[1]);
- globalParams = new GlobalParams();
+ globalParams = std::unique_ptr<GlobalParams>(new GlobalParams());
doc = new PDFDoc(fileName);
if (!doc->isOk()) {
fprintf(stderr, "Invalid PDF file\n");
@@ -100,7 +109,7 @@ int main(int argc, char *argv[])
if (objnum == 0) {
srcStream = catalogDict.dictLookup("SourceObject");
static char const_SourceFile[] = "SourceFile";
- if (!srcStream.isStream(const_SourceFile)) {
+ if (!(srcStream.isStream() && srcStream.getDict()->is(const_SourceFile))) {
fprintf(stderr, "No SourceObject found\n");
exit(1);
}
@@ -156,7 +165,6 @@ int main(int argc, char *argv[])
(e->type == xrefEntryFree ? "f" : "n"));
else { // e->offset is the object number of the object stream
Stream *str;
- Lexer *lexer;
Parser *parser;
Object objStr, obj1, obj2;
int nObjects, first, n;
@@ -174,8 +182,7 @@ int main(int argc, char *argv[])
// parse the header: object numbers and offsets
objStr.streamReset();
str = new EmbedStream(objStr.getStream(), Object(objNull), true, first);
- lexer = new Lexer(xref, str);
- parser = new Parser(xref, lexer, false);
+ parser = new Parser(xref, str, false);
for (n = 0; n < nObjects; ++n) {
obj1 = parser->getObj();
obj2 = parser->getObj();
@@ -207,5 +214,5 @@ int main(int argc, char *argv[])
fprintf(stderr, "Cross-reference table extracted to %s\n", outname);
fclose(outfile);
delete doc;
- delete globalParams;
+ globalParams.reset();
}
diff -up texlive-base-20200327/source/texk/web2c/pdftexdir/utils.c.poppler-0.84 texlive-base-20200327/source/texk/web2c/pdftexdir/utils.c
--- texlive-base-20200327/source/texk/web2c/pdftexdir/utils.c.poppler-0.84 2019-12-29 19:37:32.000000000 -0500
+++ texlive-base-20200327/source/texk/web2c/pdftexdir/utils.c 2020-04-20 14:39:39.355214866 -0400
@@ -32,14 +32,6 @@ with this program. If not, see <http://
#include <zlib.h>
#include "ptexlib.h"
#include <png.h>
-#ifdef POPPLER_VERSION
-/* POPPLER_VERSION should be a proper version string */
-#define xpdfVersion POPPLER_VERSION
-#define xpdfString "poppler"
-#else
-#include <xpdf/config.h> /* just to get the xpdf version */
-#define xpdfString "xpdf"
-#endif
#define check_nprintf(size_get, size_want) \
if ((unsigned)(size_get) >= (unsigned)(size_want)) \
@@ -977,12 +969,10 @@ void initversionstring(char **versions)
{
const_string fmt =
"Compiled with libpng %s; using libpng %s\n"
- "Compiled with zlib %s; using zlib %s\n"
- "Compiled with %s version %s\n";
+ "Compiled with zlib %s; using zlib %s\n";
size_t len = strlen(fmt)
+ strlen(PNG_LIBPNG_VER_STRING) + strlen(png_libpng_ver)
+ strlen(ZLIB_VERSION) + strlen(zlib_version)
- + strlen(xpdfString) + strlen(xpdfVersion)
+ 1;
/* len will be more than enough, because of the placeholder chars in fmt
@@ -990,7 +980,7 @@ void initversionstring(char **versions)
*versions = xmalloc(len);
sprintf(*versions, fmt,
PNG_LIBPNG_VER_STRING, png_libpng_ver,
- ZLIB_VERSION, zlib_version, xpdfString, xpdfVersion);
+ ZLIB_VERSION, zlib_version);
}
diff -up texlive-base-20200327/source/texk/web2c/xetexdir/XeTeX_ext.c.poppler-0.84 texlive-base-20200327/source/texk/web2c/xetexdir/XeTeX_ext.c
--- texlive-base-20200327/source/texk/web2c/xetexdir/XeTeX_ext.c.poppler-0.84 2019-12-30 16:00:39.000000000 -0500
+++ texlive-base-20200327/source/texk/web2c/xetexdir/XeTeX_ext.c 2020-04-20 14:40:44.534851910 -0400
@@ -38,10 +38,6 @@ authorization from the copyright holders
#include <w2c/config.h>
-#ifndef POPPLER_VERSION
-#include <poppler-config.h>
-#endif
-
#include <png.h>
#include <zlib.h>
#include <graphite2/Font.h>
@@ -170,7 +166,6 @@ void initversionstring(char **versions)
"Compiled with Graphite2 version %d.%d.%d; using %d.%d.%d\n"
"Compiled with HarfBuzz version %s; using %s\n"
"Compiled with libpng version %s; using %s\n"
- "Compiled with poppler version %s\n"
#ifdef XETEX_MAC
"Using Mac OS X Core Text and Cocoa frameworks\n"
#else
@@ -187,7 +182,6 @@ void initversionstring(char **versions)
+ strlen(hb_version_string())
+ strlen(PNG_LIBPNG_VER_STRING)
+ strlen(png_libpng_ver)
- + strlen(POPPLER_VERSION)
#ifndef XETEX_MAC
+ 6 * 3 /* for fontconfig version #s (won't really need 3 digits per field!) */
#endif
@@ -217,7 +211,7 @@ void initversionstring(char **versions)
GR2_VERSION_MAJOR, GR2_VERSION_MINOR, GR2_VERSION_BUGFIX,
grMajor, grMinor, grBugfix,
HB_VERSION_STRING, hb_version_string(),
- PNG_LIBPNG_VER_STRING, png_libpng_ver, POPPLER_VERSION
+ PNG_LIBPNG_VER_STRING, png_libpng_ver
#ifndef XETEX_MAC
,
FC_VERSION / 10000, (FC_VERSION % 10000) / 100, FC_VERSION % 100,

View file

@ -1,20 +0,0 @@
diff -up texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler090 texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc
--- texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler090 2020-07-14 13:13:31.620607263 -0400
+++ texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc 2020-07-14 13:16:01.530248309 -0400
@@ -766,7 +766,7 @@ read_pdf_info(char *image_name, char *pa
if (page_name) {
// get page by name
GString name(page_name);
- LinkDest *link = pdf_doc->doc->findDest(&name);
+ std::unique_ptr<LinkDest> link = pdf_doc->doc->findDest(&name);
if (link == 0 || !link->isOk())
pdftex_fail("PDF inclusion: invalid destination <%s>", page_name);
Ref ref = link->getPageRef();
@@ -774,7 +774,6 @@ read_pdf_info(char *image_name, char *pa
if (page_num == 0)
pdftex_fail("PDF inclusion: destination is not a page <%s>",
page_name);
- delete link;
} else {
// get page by number
if (page_num <= 0 || page_num > epdf_num_pages)

View file

@ -1,22 +0,0 @@
diff -up texlive-base-20200327/source/texk/kpathsea/texmf.cnf.texinfo-fix texlive-base-20200327/source/texk/kpathsea/texmf.cnf
--- texlive-base-20200327/source/texk/kpathsea/texmf.cnf.texinfo-fix 2020-04-20 14:29:38.934769870 -0400
+++ texlive-base-20200327/source/texk/kpathsea/texmf.cnf 2020-04-20 14:31:48.070069635 -0400
@@ -83,6 +83,9 @@ TEXMFSYSCONFIG = $TEXMFROOT/texmf-config
% to %USERPROFILE% on Windows, $HOME otherwise.
TEXMFHOME = ~/texmf
+% Texinfo on Fedora lives out of $TEXMFROOT
+TEXINFOHOME = $SELFAUTODIR/share/texmf
+
% TEXMFVAR, where texconfig/updmap/fmtutil store cached runtime data.
TEXMFVAR = ~/.texlive2020/texmf-var
@@ -108,7 +111,7 @@ TEXMFAUXTREES = {}
% The odd-looking $TEXMFAUXTREES$TEXMF... construct is so that if no auxtree is
% ever defined (the 99% common case), no extra elements will be added to
% the search paths. tlmgr takes care to end any value with a trailing comma.
-TEXMF = {$TEXMFAUXTREES$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!$TEXMFLOCAL,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFDIST}
+TEXMF = {$TEXMFAUXTREES$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,$TEXINFOHOME,!!$TEXMFLOCAL,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFDIST}
% Where to look for, and where mktexlsr creates, ls-R files. By default,
% this is all and only the !! elements of TEXMF, so that mktexlsr does not

View file

@ -1,578 +0,0 @@
diff -up texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc.newpoppler texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc
--- texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc.newpoppler 2020-05-14 17:45:48.000000000 -0400
+++ texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc 2021-05-06 17:39:49.308416042 -0400
@@ -1,5 +1,5 @@
/*
-Copyright 1996-2016 Han The Thanh, <thanh@pdftex.org>
+Copyright 1996-2017 Han The Thanh, <thanh@pdftex.org>
This file is part of pdfTeX.
@@ -17,6 +17,15 @@ You should have received a copy of the G
with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+/*
+This is based on the patch texlive-poppler-0.59.patch <2017-09-19> at
+https://git.archlinux.org/svntogit/packages.git/plain/texlive-bin/trunk
+by Arch Linux. A little modifications are made to avoid a crash for
+some kind of pdf images, such as figure_missing.pdf in gnuplot.
+The poppler should be 0.59.0 or newer versions.
+POPPLER_VERSION should be defined.
+*/
+
/* Do this early in order to avoid a conflict between
MINGW32 <rpcndr.h> defining 'boolean' as 'unsigned char' and
<kpathsea/types.h> defining Pascal's boolean as 'int'.
@@ -75,31 +84,6 @@ extern integer zround(double);
#define MASK_SUPPRESS_PTEX_PAGENUMBER 0x04
#define MASK_SUPPRESS_PTEX_INFODICT 0x08
-// PdfObject encapsulates the xpdf Object type,
-// and properly frees its resources on destruction.
-// Use obj-> to access members of the Object,
-// and &obj to get a pointer to the object.
-// It is no longer necessary to call Object::free explicitely.
-
-class PdfObject {
- public:
- PdfObject() { // nothing
- } ~PdfObject() {
- iObject.free();
- }
- Object *operator->() {
- return &iObject;
- }
- Object *operator&() {
- return &iObject;
- }
- private: // no copying or assigning
- PdfObject(const PdfObject &);
- void operator=(const PdfObject &);
- public:
- Object iObject;
-};
-
// When copying the Resources of the selected page, all objects are copied
// recusively top-down. Indirect objects however are not fetched during
// copying, but get a new object number from pdfTeX and then will be
@@ -203,18 +187,6 @@ static void delete_document(PdfDocument
delete pdf_doc;
}
-// Replacement for
-// Object *initDict(Dict *dict1){ initObj(objDict); dict = dict1; return this; }
-
-static void initDictFromDict(PdfObject & obj, Dict * dict)
-{
- obj->initDict(xref);
- for (int i = 0, l = dict->getLength(); i < l; i++) {
- Object obj1;
- obj->dictAdd(copyString(dict->getKey(i)), dict->getValNF(i, &obj1));
- }
-}
-
// --------------------------------------------------------------------
static int addEncoding(GfxFont * gfont)
@@ -311,10 +283,10 @@ static void copyName(char *s)
static void copyDictEntry(Object * obj, int i)
{
- PdfObject obj1;
+ Object obj1;
copyName(obj->dictGetKey(i));
pdf_puts(" ");
- obj->dictGetValNF(i, &obj1);
+ obj1 = obj->dictGetValNF(i);
copyObject(&obj1);
pdf_puts("\n");
}
@@ -367,17 +339,17 @@ static void copyStream(Stream * str)
static void copyProcSet(Object * obj)
{
int i, l;
- PdfObject procset;
+ Object procset;
if (!obj->isArray())
pdftex_fail("PDF inclusion: invalid ProcSet array type <%s>",
obj->getTypeName());
pdf_puts("/ProcSet [ ");
for (i = 0, l = obj->arrayGetLength(); i < l; ++i) {
- obj->arrayGetNF(i, &procset);
- if (!procset->isName())
+ procset = obj->arrayGetNF(i);
+ if (!procset.isName())
pdftex_fail("PDF inclusion: invalid ProcSet entry type <%s>",
- procset->getTypeName());
- copyName(procset->getName());
+ procset.getTypeName());
+ copyName(procset.getName());
pdf_puts(" ");
}
pdf_puts("]\n");
@@ -385,10 +357,29 @@ static void copyProcSet(Object * obj)
#define REPLACE_TYPE1C true
+static bool embeddableFont(Object * fontdesc)
+{
+ Object fontfile, ffsubtype;
+
+ if (!fontdesc->isDict())
+ return false;
+ fontfile = fontdesc->dictLookup("FontFile");
+ if (fontfile.isStream())
+ return true;
+ if (REPLACE_TYPE1C) {
+ fontfile = fontdesc->dictLookup("FontFile3");
+ if (!fontfile.isStream())
+ return false;
+ ffsubtype = fontfile.streamGetDict()->lookup("Subtype");
+ return ffsubtype.isName() && !strcmp(ffsubtype.getName(), "Type1C");
+ }
+ return false;
+}
+
static void copyFont(char *tag, Object * fontRef)
{
- PdfObject fontdict, subtype, basefont, fontdescRef, fontdesc, charset,
- fontfile, ffsubtype, stemV;
+ Object fontdict, subtype, basefont, fontdescRef, fontdesc, charset,
+ stemV;
GfxFont *gfont;
fd_entry *fd;
fm_entry *fontmap;
@@ -404,33 +395,39 @@ static void copyFont(char *tag, Object *
}
// Only handle included Type1 (and Type1C) fonts; anything else will be copied.
// Type1C fonts are replaced by Type1 fonts, if REPLACE_TYPE1C is true.
- if (!fixedinclusioncopyfont && fontRef->fetch(xref, &fontdict)->isDict()
- && fontdict->dictLookup("Subtype", &subtype)->isName()
- && !strcmp(subtype->getName(), "Type1")
- && fontdict->dictLookup("BaseFont", &basefont)->isName()
- && fontdict->dictLookupNF("FontDescriptor", &fontdescRef)->isRef()
- && fontdescRef->fetch(xref, &fontdesc)->isDict()
- && (fontdesc->dictLookup("FontFile", &fontfile)->isStream()
- || (REPLACE_TYPE1C
- && fontdesc->dictLookup("FontFile3", &fontfile)->isStream()
- && fontfile->streamGetDict()->lookup("Subtype",
- &ffsubtype)->isName()
- && !strcmp(ffsubtype->getName(), "Type1C")))
- && (fontmap = lookup_fontmap(basefont->getName())) != NULL) {
+ fontdict = fontRef->fetch(xref);
+ fontdesc = Object(objNull);
+ if (fontdict.isDict()) {
+ subtype = fontdict.dictLookup("Subtype");
+ basefont = fontdict.dictLookup("BaseFont");
+ fontdescRef = fontdict.dictLookupNF("FontDescriptor");
+ if (fontdescRef.isRef()) {
+ fontdesc = fontdescRef.fetch(xref);
+ }
+ }
+ if (!fixedinclusioncopyfont && fontdict.isDict()
+ && subtype.isName()
+ && !strcmp(subtype.getName(), "Type1")
+ && basefont.isName()
+ && fontdescRef.isRef()
+ && fontdesc.isDict()
+ && embeddableFont(&fontdesc)
+ && (fontmap = lookup_fontmap(basefont.getName())) != NULL) {
// round /StemV value, since the PDF input is a float
// (see Font Descriptors in PDF reference), but we only store an
// integer, since we don't want to change the struct.
- fontdesc->dictLookup("StemV", &stemV);
- fd = epdf_create_fontdescriptor(fontmap, zround(stemV->getNum()));
- if (fontdesc->dictLookup("CharSet", &charset) &&
- charset->isString() && is_subsetable(fontmap))
- epdf_mark_glyphs(fd, charset->getString()->getCString());
+ stemV = fontdesc.dictLookup("StemV");
+ fd = epdf_create_fontdescriptor(fontmap, zround(stemV.getNum()));
+ charset = fontdesc.dictLookup("CharSet");
+ if (!charset.isNull() &&
+ charset.isString() && is_subsetable(fontmap))
+ epdf_mark_glyphs(fd, charset.getString()->getCString());
else
embed_whole_font(fd);
- addFontDesc(fontdescRef->getRef(), fd);
+ addFontDesc(fontdescRef.getRef(), fd);
copyName(tag);
gfont = GfxFont::makeFont(xref, tag, fontRef->getRef(),
- fontdict->getDict());
+ fontdict.getDict());
pdf_printf(" %d 0 R ", addFont(fontRef->getRef(), fd,
addEncoding(gfont)));
} else {
@@ -442,24 +439,24 @@ static void copyFont(char *tag, Object *
static void copyFontResources(Object * obj)
{
- PdfObject fontRef;
+ Object fontRef;
int i, l;
if (!obj->isDict())
pdftex_fail("PDF inclusion: invalid font resources dict type <%s>",
obj->getTypeName());
pdf_puts("/Font << ");
for (i = 0, l = obj->dictGetLength(); i < l; ++i) {
- obj->dictGetValNF(i, &fontRef);
- if (fontRef->isRef())
+ fontRef = obj->dictGetValNF(i);
+ if (fontRef.isRef())
copyFont(obj->dictGetKey(i), &fontRef);
- else if (fontRef->isDict()) { // some programs generate pdf with embedded font object
+ else if (fontRef.isDict()) { // some programs generate pdf with embedded font object
copyName(obj->dictGetKey(i));
pdf_puts(" ");
copyObject(&fontRef);
}
else
pdftex_fail("PDF inclusion: invalid font in reference type <%s>",
- fontRef->getTypeName());
+ fontRef.getTypeName());
}
pdf_puts(">>\n");
}
@@ -548,7 +545,7 @@ static char *convertNumToPDF(double n)
static void copyObject(Object * obj)
{
- PdfObject obj1;
+ Object obj1;
int i, l, c;
Ref ref;
char *p;
@@ -592,8 +589,8 @@ static void copyObject(Object * obj)
} else if (obj->isArray()) {
pdf_puts("[");
for (i = 0, l = obj->arrayGetLength(); i < l; ++i) {
- obj->arrayGetNF(i, &obj1);
- if (!obj1->isName())
+ obj1 = obj->arrayGetNF(i);
+ if (!obj1.isName())
pdf_puts(" ");
copyObject(&obj1);
}
@@ -603,9 +600,8 @@ static void copyObject(Object * obj)
copyDict(obj);
pdf_puts(">>");
} else if (obj->isStream()) {
- initDictFromDict(obj1, obj->streamGetDict());
pdf_puts("<<\n");
- copyDict(&obj1);
+ copyDict(obj->getStream()->getDictObject());
pdf_puts(">>\n");
pdf_puts("stream\n");
copyStream(obj->getStream()->getUndecodedStream());
@@ -629,9 +625,8 @@ static void writeRefs()
InObj *r;
for (r = inObjList; r != 0; r = r->next) {
if (!r->written) {
- Object obj1;
r->written = 1;
- xref->fetch(r->ref.num, r->ref.gen, &obj1);
+ Object obj1 = xref->fetch(r->ref.num, r->ref.gen);
if (r->type == objFont) {
assert(!obj1.isStream());
pdfbeginobj(r->num, 2); // \pdfobjcompresslevel = 2 is for this
@@ -647,7 +642,6 @@ static void writeRefs()
pdf_puts("\n");
pdfendobj();
}
- obj1.free();
}
}
}
@@ -805,8 +799,8 @@ void write_epdf(void)
Page *page;
Ref *pageRef;
Dict *pageDict;
- PdfObject contents, obj1, obj2, pageObj, dictObj;
- PdfObject groupDict;
+ Object contents, obj1, obj2, pageObj, dictObj;
+ Object groupDict;
bool writeSepGroup = false;
Object info;
char *key;
@@ -833,8 +827,8 @@ void write_epdf(void)
encodingList = 0;
page = pdf_doc->doc->getCatalog()->getPage(epdf_selected_page);
pageRef = pdf_doc->doc->getCatalog()->getPageRef(epdf_selected_page);
- xref->fetch(pageRef->num, pageRef->gen, &pageObj);
- pageDict = pageObj->getDict();
+ pageObj = xref->fetch(pageRef->num, pageRef->gen);
+ pageDict = pageObj.getDict();
rotate = page->getRotate();
PDFRectangle *pagebox;
// write the Page header
@@ -852,7 +846,7 @@ void write_epdf(void)
pdf_printf("/%s.PageNumber %i\n", pdfkeyprefix, (int) epdf_selected_page);
}
if ((suppress_ptex_info & MASK_SUPPRESS_PTEX_INFODICT) == 0) {
- pdf_doc->doc->getDocInfoNF(&info);
+ info = pdf_doc->doc->getDocInfoNF();
if (info.isRef()) {
// the info dict must be indirect (PDF Ref p. 61)
pdf_printf("/%s.InfoDict ", pdfkeyprefix);
@@ -908,14 +902,14 @@ void write_epdf(void)
pdf_puts(stripzeros(s));
// Metadata validity check (as a stream it must be indirect)
- pageDict->lookupNF("Metadata", &dictObj);
- if (!dictObj->isNull() && !dictObj->isRef())
+ dictObj = pageDict->lookupNF("Metadata");
+ if (!dictObj.isNull() && !dictObj.isRef())
pdftex_warn("PDF inclusion: /Metadata must be indirect object");
// copy selected items in Page dictionary except Resources & Group
for (i = 0; pageDictKeys[i] != NULL; i++) {
- pageDict->lookupNF(pageDictKeys[i], &dictObj);
- if (!dictObj->isNull()) {
+ dictObj = pageDict->lookupNF(pageDictKeys[i]);
+ if (!dictObj.isNull()) {
pdf_newline();
pdf_printf("/%s ", pageDictKeys[i]);
copyObject(&dictObj); // preserves indirection
@@ -923,8 +917,8 @@ void write_epdf(void)
}
// handle page group
- pageDict->lookupNF("Group", &dictObj);
- if (!dictObj->isNull()) {
+ dictObj = pageDict->lookupNF("Group");
+ if (!dictObj.isNull()) {
if (pdfpagegroupval == 0) {
// another pdf with page group was included earlier on the
// same page; copy the Group entry as is. See manual for
@@ -938,11 +932,36 @@ void write_epdf(void)
copyObject(&dictObj);
} else {
// write Group dict as a separate object, since the Page dict also refers to it
- pageDict->lookup("Group", &dictObj);
- if (!dictObj->isDict())
+ dictObj = pageDict->lookup("Group");
+ if (!dictObj.isDict())
pdftex_fail("PDF inclusion: /Group dict missing");
writeSepGroup = true;
- initDictFromDict(groupDict, page->getGroup());
+/*
+This part is only a single line
+ groupDict = Object(page->getGroup());
+in the original patch. In this case, however, pdftex crashes at
+"delete pdf_doc->doc" in "delete_document()" for inclusion of some
+kind of pdf images, for example, figure_missing.pdf in gnuplot.
+A change
+ groupDict = Object(page->getGroup()).copy();
+does not improve the situation.
+The changes below seem to work fine.
+*/
+// begin modification
+ groupDict = pageDict->lookup("Group");
+ const Dict& dic1 = page->getGroup();
+ const Dict& dic2 = groupDict.getDict();
+ // replace dic2 in groupDict with dic1
+ l = dic2.getLength();
+ for (i = 0; i < l; i++) {
+ groupDict.dictRemove(dic2.getKey(i));
+ }
+ l = dic1.getLength();
+ for (i = 0; i < l; i++) {
+ groupDict.dictAdd(copyString(dic1.getKey(i)),
+ dic1.getValNF(i));
+ }
+// end modification
pdf_printf("/Group %ld 0 R\n", (long)pdfpagegroupval);
}
}
@@ -955,14 +974,14 @@ void write_epdf(void)
pdftex_warn
("PDF inclusion: /Resources missing. 'This practice is not recommended' (PDF Ref)");
} else {
- initDictFromDict(obj1, page->getResourceDict());
+ Object *obj1 = page->getResourceDictObject();
if (!obj1->isDict())
pdftex_fail("PDF inclusion: invalid resources dict type <%s>",
obj1->getTypeName());
pdf_newline();
pdf_puts("/Resources <<\n");
for (i = 0, l = obj1->dictGetLength(); i < l; ++i) {
- obj1->dictGetVal(i, &obj2);
+ obj2 = obj1->dictGetVal(i);
key = obj1->dictGetKey(i);
if (strcmp("Font", key) == 0)
copyFontResources(&obj2);
@@ -975,8 +994,8 @@ void write_epdf(void)
}
// write the page contents
- page->getContents(&contents);
- if (contents->isStream()) {
+ contents = page->getContents();
+ if (contents.isStream()) {
// Variant A: get stream and recompress under control
// of \pdfcompresslevel
@@ -987,36 +1006,35 @@ void write_epdf(void)
// Variant B: copy stream without recompressing
//
- contents->streamGetDict()->lookup("F", &obj1);
- if (!obj1->isNull()) {
+ obj1 = contents.streamGetDict()->lookup("F");
+ if (!obj1.isNull()) {
pdftex_fail("PDF inclusion: Unsupported external stream");
}
- contents->streamGetDict()->lookup("Length", &obj1);
- assert(!obj1->isNull());
+ obj1 = contents.streamGetDict()->lookup("Length");
+ assert(!obj1.isNull());
pdf_puts("/Length ");
copyObject(&obj1);
pdf_puts("\n");
- contents->streamGetDict()->lookup("Filter", &obj1);
- if (!obj1->isNull()) {
+ obj1 = contents.streamGetDict()->lookup("Filter");
+ if (!obj1.isNull()) {
pdf_puts("/Filter ");
copyObject(&obj1);
pdf_puts("\n");
- contents->streamGetDict()->lookup("DecodeParms", &obj1);
- if (!obj1->isNull()) {
+ obj1 = contents.streamGetDict()->lookup("DecodeParms");
+ if (!obj1.isNull()) {
pdf_puts("/DecodeParms ");
copyObject(&obj1);
pdf_puts("\n");
}
}
pdf_puts(">>\nstream\n");
- copyStream(contents->getStream()->getUndecodedStream());
+ copyStream(contents.getStream()->getUndecodedStream());
pdfendstream();
- } else if (contents->isArray()) {
+ } else if (contents.isArray()) {
pdfbeginstream();
- for (i = 0, l = contents->arrayGetLength(); i < l; ++i) {
- Object contentsobj;
- copyStream((contents->arrayGet(i, &contentsobj))->getStream());
- contentsobj.free();
+ for (i = 0, l = contents.arrayGetLength(); i < l; ++i) {
+ Object contentsobj = contents.arrayGet(i);
+ copyStream(contentsobj.getStream());
if (i < l - 1)
pdf_newline(); // add a newline after each stream except the last
}
diff -up texlive-base-20210325/source/texk/web2c/pdftexdir/pdftosrc.cc.newpoppler texlive-base-20210325/source/texk/web2c/pdftexdir/pdftosrc.cc
--- texlive-base-20210325/source/texk/web2c/pdftexdir/pdftosrc.cc.newpoppler 2020-05-14 17:45:48.000000000 -0400
+++ texlive-base-20210325/source/texk/web2c/pdftexdir/pdftosrc.cc 2021-05-06 17:50:38.863177570 -0400
@@ -16,6 +16,14 @@ GNU General Public License for more deta
You should have received a copy of the GNU General Public License along
with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+
+/*
+This is based on the patch texlive-poppler-0.59.patch <2017-09-19> at
+https://git.archlinux.org/svntogit/packages.git/plain/texlive-bin/trunk
+by Arch Linux. The poppler should be 0.59.0 or newer versions.
+POPPLER_VERSION should be defined.
+*/
+
#include <w2c/config.h>
#include <stdlib.h>
@@ -77,22 +85,20 @@ int main(int argc, char *argv[])
objgen = atoi(argv[3]);
}
xref = doc->getXRef();
- catalogDict.initNull();
- xref->getCatalog(&catalogDict);
+ catalogDict = xref->getCatalog();
if (!catalogDict.isDict("Catalog")) {
fprintf(stderr, "No Catalog found\n");
exit(1);
}
- srcStream.initNull();
+ srcStream = Object(objNull);
if (objnum == 0) {
- catalogDict.dictLookup("SourceObject", &srcStream);
+ srcStream = catalogDict.dictLookup("SourceObject");
static char const_SourceFile[] = "SourceFile";
if (!srcStream.isStream(const_SourceFile)) {
fprintf(stderr, "No SourceObject found\n");
exit(1);
}
- srcName.initNull();
- srcStream.getStream()->getDict()->lookup("SourceName", &srcName);
+ srcName = srcStream.getStream()->getDict()->lookup("SourceName");
if (!srcName.isString()) {
fprintf(stderr, "No SourceName found\n");
exit(1);
@@ -101,7 +107,7 @@ int main(int argc, char *argv[])
// We cannot free srcName, as objname shares its string.
// srcName.free();
} else if (objnum > 0) {
- xref->fetch(objnum, objgen, &srcStream);
+ srcStream = xref->fetch(objnum, objgen);
if (!srcStream.isStream()) {
fprintf(stderr, "Not a Stream object\n");
exit(1);
@@ -151,26 +157,24 @@ int main(int argc, char *argv[])
int localOffset = 0;
Guint firstOffset;
- assert(xref->fetch(e->offset, 0, &objStr)->isStream());
- nObjects = objStr.streamGetDict()->lookup("N", &obj1)->getInt();
- obj1.free();
- first = objStr.streamGetDict()->lookup("First", &obj1)->getInt();
- obj1.free();
+ objStr = xref->fetch(e->offset, 0);
+ assert(objStr.isStream());
+ obj1 = objStr.streamGetDict()->lookup("N");
+ nObjects = obj1.getInt();
+ obj1 = objStr.streamGetDict()->lookup("First");
+ first = obj1.getInt();
firstOffset = objStr.getStream()->getBaseStream()->getStart() + first;
// parse the header: object numbers and offsets
objStr.streamReset();
- obj1.initNull();
- str = new EmbedStream(objStr.getStream(), &obj1, gTrue, first);
+ str = new EmbedStream(objStr.getStream(), Object(objNull), gTrue, first);
lexer = new Lexer(xref, str);
parser = new Parser(xref, lexer, gFalse);
for (n = 0; n < nObjects; ++n) {
- parser->getObj(&obj1);
- parser->getObj(&obj2);
+ obj1 = parser->getObj();
+ obj2 = parser->getObj();
if (n == e->gen)
localOffset = obj2.getInt();
- obj1.free();
- obj2.free();
}
#if defined(XPDF304)
while (str->getChar() != EOF) ;
@@ -178,7 +182,6 @@ int main(int argc, char *argv[])
lexer->skipToEOF();
#endif
delete parser;
- objStr.free();
fprintf(outfile, "%.10lu 00000 n\n",
(long unsigned)(firstOffset + localOffset));
@@ -189,7 +192,6 @@ int main(int argc, char *argv[])
s->reset();
while ((c = s->getChar()) != EOF)
fputc(c, outfile);
- srcStream.free();
}
if (objnum == 0)
fprintf(stderr, "Source file extracted to %s\n", outname);
@@ -198,7 +200,6 @@ int main(int argc, char *argv[])
else
fprintf(stderr, "Cross-reference table extracted to %s\n", outname);
fclose(outfile);
- catalogDict.free();
delete doc;
delete globalParams;
}

View file

@ -1,200 +0,0 @@
diff -up texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler-0.73 texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc
--- texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler-0.73 2021-05-06 18:01:35.847959461 -0400
+++ texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc 2021-05-06 18:08:20.143955577 -0400
@@ -114,7 +114,7 @@ struct UsedEncoding {
static InObj *inObjList;
static UsedEncoding *encodingList;
-static GBool isInit = gFalse;
+static bool isInit = false;
// --------------------------------------------------------------------
// Maintain list of open embedded PDF files
@@ -269,7 +269,7 @@ static int getNewObjectNumber(Ref ref)
static void copyObject(Object *);
-static void copyName(char *s)
+static void copyName(const char *s)
{
pdf_puts("/");
for (; *s != 0; s++) {
@@ -304,7 +304,7 @@ static void copyDict(Object * obj)
static void copyFontDict(Object * obj, InObj * r)
{
int i, l;
- char *key;
+ const char *key;
if (!obj->isDict())
pdftex_fail("PDF inclusion: invalid dict type <%s>",
obj->getTypeName());
@@ -376,7 +376,7 @@ static bool embeddableFont(Object * font
return false;
}
-static void copyFont(char *tag, Object * fontRef)
+static void copyFont(const char *tag, Object * fontRef)
{
Object fontdict, subtype, basefont, fontdescRef, fontdesc, charset,
stemV;
@@ -412,7 +412,7 @@ static void copyFont(char *tag, Object *
&& fontdescRef.isRef()
&& fontdesc.isDict()
&& embeddableFont(&fontdesc)
- && (fontmap = lookup_fontmap(basefont.getName())) != NULL) {
+ && (fontmap = lookup_fontmap((char *)basefont.getName())) != NULL) {
// round /StemV value, since the PDF input is a float
// (see Font Descriptors in PDF reference), but we only store an
// integer, since we don't want to change the struct.
@@ -421,7 +421,7 @@ static void copyFont(char *tag, Object *
charset = fontdesc.dictLookup("CharSet");
if (!charset.isNull() &&
charset.isString() && is_subsetable(fontmap))
- epdf_mark_glyphs(fd, charset.getString()->getCString());
+ epdf_mark_glyphs(fd, (char *)charset.getString()->c_str());
else
embed_whole_font(fd);
addFontDesc(fontdescRef.getRef(), fd);
@@ -461,7 +461,7 @@ static void copyFontResources(Object * o
pdf_puts(">>\n");
}
-static void copyOtherResources(Object * obj, char *key)
+static void copyOtherResources(Object * obj, const char *key)
{
// copies all other resources (write_epdf handles Fonts and ProcSets),
@@ -548,8 +548,8 @@ static void copyObject(Object * obj)
Object obj1;
int i, l, c;
Ref ref;
- char *p;
- GString *s;
+ const char *p;
+ const GString *s;
if (obj->isBool()) {
pdf_printf("%s", obj->getBool()? "true" : "false");
} else if (obj->isInt()) {
@@ -560,7 +560,7 @@ static void copyObject(Object * obj)
pdf_printf("%s", convertNumToPDF(obj->getNum()));
} else if (obj->isString()) {
s = obj->getString();
- p = s->getCString();
+ p = s->c_str();
l = s->getLength();
if (strlen(p) == (unsigned int) l) {
pdf_puts("(");
@@ -658,7 +658,7 @@ static void writeEncodings()
("PDF inclusion: CID fonts are not supported"
" (try to disable font replacement to fix this)");
}
- if ((s = ((Gfx8BitFont *) r->font)->getCharName(i)) != 0)
+ if ((s = (char *) ((Gfx8BitFont *) r->font)->getCharName(i)) != 0)
glyphNames[i] = s;
else
glyphNames[i] = notdef;
@@ -673,7 +673,7 @@ static void writeEncodings()
}
// get the pagebox according to the pagebox_spec
-static PDFRectangle *get_pagebox(Page * page, int pagebox_spec)
+static const PDFRectangle *get_pagebox(Page * page, int pagebox_spec)
{
if (pagebox_spec == pdfboxspecmedia)
return page->getMediaBox();
@@ -705,13 +705,13 @@ read_pdf_info(char *image_name, char *pa
{
PdfDocument *pdf_doc;
Page *page;
- PDFRectangle *pagebox;
+ const PDFRectangle *pagebox;
float pdf_version_found, pdf_version_wanted;
// initialize
if (!isInit) {
globalParams = new GlobalParams();
- globalParams->setErrQuiet(gFalse);
- isInit = gTrue;
+ globalParams->setErrQuiet(false);
+ isInit = true;
}
// open PDF file
pdf_doc = find_add_document(image_name);
@@ -803,7 +803,7 @@ void write_epdf(void)
Object groupDict;
bool writeSepGroup = false;
Object info;
- char *key;
+ const char *key;
char s[256];
int i, l;
int rotate;
@@ -830,7 +830,7 @@ void write_epdf(void)
pageObj = xref->fetch(pageRef->num, pageRef->gen);
pageDict = pageObj.getDict();
rotate = page->getRotate();
- PDFRectangle *pagebox;
+ const PDFRectangle *pagebox;
// write the Page header
pdf_puts("/Type /XObject\n");
pdf_puts("/Subtype /Form\n");
@@ -958,7 +958,7 @@ The changes below seem to work fine.
}
l = dic1.getLength();
for (i = 0; i < l; i++) {
- groupDict.dictAdd(copyString(dic1.getKey(i)),
+ groupDict.dictAdd(dic1.getKey(i),
dic1.getValNF(i));
}
// end modification
diff -up texlive-base-20210325/source/texk/web2c/pdftexdir/pdftosrc.cc.poppler-0.73 texlive-base-20210325/source/texk/web2c/pdftexdir/pdftosrc.cc
--- texlive-base-20210325/source/texk/web2c/pdftexdir/pdftosrc.cc.poppler-0.73 2021-05-06 18:01:35.847959461 -0400
+++ texlive-base-20210325/source/texk/web2c/pdftexdir/pdftosrc.cc 2021-05-06 18:01:35.854959565 -0400
@@ -103,7 +103,7 @@ int main(int argc, char *argv[])
fprintf(stderr, "No SourceName found\n");
exit(1);
}
- outname = srcName.getString()->getCString();
+ outname = (char *)srcName.getString()->c_str();
// We cannot free srcName, as objname shares its string.
// srcName.free();
} else if (objnum > 0) {
@@ -112,7 +112,7 @@ int main(int argc, char *argv[])
fprintf(stderr, "Not a Stream object\n");
exit(1);
}
- sprintf(buf, "%s", fileName->getCString());
+ sprintf(buf, "%s", fileName->c_str());
if ((p = strrchr(buf, '.')) == 0)
p = strchr(buf, 0);
if (objgen == 0)
@@ -122,7 +122,7 @@ int main(int argc, char *argv[])
outname = buf;
} else { // objnum < 0 means we are extracting the XRef table
extract_xref_table = true;
- sprintf(buf, "%s", fileName->getCString());
+ sprintf(buf, "%s", fileName->c_str());
if ((p = strrchr(buf, '.')) == 0)
p = strchr(buf, 0);
sprintf(p, ".xref");
@@ -155,7 +155,7 @@ int main(int argc, char *argv[])
Object objStr, obj1, obj2;
int nObjects, first, n;
int localOffset = 0;
- Guint firstOffset;
+ unsigned int firstOffset;
objStr = xref->fetch(e->offset, 0);
assert(objStr.isStream());
@@ -167,9 +167,9 @@ int main(int argc, char *argv[])
// parse the header: object numbers and offsets
objStr.streamReset();
- str = new EmbedStream(objStr.getStream(), Object(objNull), gTrue, first);
+ str = new EmbedStream(objStr.getStream(), Object(objNull), true, first);
lexer = new Lexer(xref, str);
- parser = new Parser(xref, lexer, gFalse);
+ parser = new Parser(xref, lexer, false);
for (n = 0; n < nObjects; ++n) {
obj1 = parser->getObj();
obj2 = parser->getObj();
diff -up texlive-base-20210325/source/texk/web2c/xetexdir/pdfimage.cpp.poppler-0.73 texlive-base-20210325/source/texk/web2c/xetexdir/pdfimage.cpp

View file

@ -1,228 +0,0 @@
diff -up texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler-0.84 texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc
--- texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler-0.84 2021-05-06 18:21:18.379430999 -0400
+++ texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc 2021-05-10 11:15:09.572907304 -0400
@@ -26,6 +26,15 @@ The poppler should be 0.59.0 or newer ve
POPPLER_VERSION should be defined.
*/
+#ifdef POPPLER_VERSION
+#include <poppler-config.h>
+#define xpdfVersion POPPLER_VERSION
+#define xpdfString "poppler"
+#else
+#include <xpdf/config.h> /* just to get the xpdf version */
+#define xpdfString "xpdf"
+#endif
+
/* Do this early in order to avoid a conflict between
MINGW32 <rpcndr.h> defining 'boolean' as 'unsigned char' and
<kpathsea/types.h> defining Pascal's boolean as 'int'.
@@ -286,7 +295,7 @@ static void copyDictEntry(Object * obj,
Object obj1;
copyName(obj->dictGetKey(i));
pdf_puts(" ");
- obj1 = obj->dictGetValNF(i);
+ obj1 = obj->dictGetValNF(i).copy();
copyObject(&obj1);
pdf_puts("\n");
}
@@ -345,7 +354,7 @@ static void copyProcSet(Object * obj)
obj->getTypeName());
pdf_puts("/ProcSet [ ");
for (i = 0, l = obj->arrayGetLength(); i < l; ++i) {
- procset = obj->arrayGetNF(i);
+ procset = obj->arrayGetNF(i).copy();
if (!procset.isName())
pdftex_fail("PDF inclusion: invalid ProcSet entry type <%s>",
procset.getTypeName());
@@ -400,7 +409,7 @@ static void copyFont(const char *tag, Ob
if (fontdict.isDict()) {
subtype = fontdict.dictLookup("Subtype");
basefont = fontdict.dictLookup("BaseFont");
- fontdescRef = fontdict.dictLookupNF("FontDescriptor");
+ fontdescRef = fontdict.dictLookupNF("FontDescriptor").copy();
if (fontdescRef.isRef()) {
fontdesc = fontdescRef.fetch(xref);
}
@@ -446,7 +455,7 @@ static void copyFontResources(Object * o
obj->getTypeName());
pdf_puts("/Font << ");
for (i = 0, l = obj->dictGetLength(); i < l; ++i) {
- fontRef = obj->dictGetValNF(i);
+ fontRef = obj->dictGetValNF(i).copy();
if (fontRef.isRef())
copyFont(obj->dictGetKey(i), &fontRef);
else if (fontRef.isDict()) { // some programs generate pdf with embedded font object
@@ -589,7 +598,7 @@ static void copyObject(Object * obj)
} else if (obj->isArray()) {
pdf_puts("[");
for (i = 0, l = obj->arrayGetLength(); i < l; ++i) {
- obj1 = obj->arrayGetNF(i);
+ obj1 = obj->arrayGetNF(i).copy();
if (!obj1.isName())
pdf_puts(" ");
copyObject(&obj1);
@@ -709,7 +718,7 @@ read_pdf_info(char *image_name, char *pa
float pdf_version_found, pdf_version_wanted;
// initialize
if (!isInit) {
- globalParams = new GlobalParams();
+ globalParams = std::unique_ptr<GlobalParams>(new GlobalParams());
globalParams->setErrQuiet(false);
isInit = true;
}
@@ -742,7 +751,7 @@ read_pdf_info(char *image_name, char *pa
if (link == 0 || !link->isOk())
pdftex_fail("PDF inclusion: invalid destination <%s>", page_name);
Ref ref = link->getPageRef();
- page_num = pdf_doc->doc->getCatalog()->findPage(ref.num, ref.gen);
+ page_num = pdf_doc->doc->getCatalog()->findPage(ref);
if (page_num == 0)
pdftex_fail("PDF inclusion: destination is not a page <%s>",
page_name);
@@ -902,13 +911,13 @@ void write_epdf(void)
pdf_puts(stripzeros(s));
// Metadata validity check (as a stream it must be indirect)
- dictObj = pageDict->lookupNF("Metadata");
+ dictObj = pageDict->lookupNF("Metadata").copy();
if (!dictObj.isNull() && !dictObj.isRef())
pdftex_warn("PDF inclusion: /Metadata must be indirect object");
// copy selected items in Page dictionary except Resources & Group
for (i = 0; pageDictKeys[i] != NULL; i++) {
- dictObj = pageDict->lookupNF(pageDictKeys[i]);
+ dictObj = pageDict->lookupNF(pageDictKeys[i]).copy();
if (!dictObj.isNull()) {
pdf_newline();
pdf_printf("/%s ", pageDictKeys[i]);
@@ -917,7 +926,7 @@ void write_epdf(void)
}
// handle page group
- dictObj = pageDict->lookupNF("Group");
+ dictObj = pageDict->lookupNF("Group").copy();
if (!dictObj.isNull()) {
if (pdfpagegroupval == 0) {
// another pdf with page group was included earlier on the
@@ -959,7 +968,7 @@ The changes below seem to work fine.
l = dic1.getLength();
for (i = 0; i < l; i++) {
groupDict.dictAdd(dic1.getKey(i),
- dic1.getValNF(i));
+ dic1.getValNF(i).copy());
}
// end modification
pdf_printf("/Group %ld 0 R\n", (long)pdfpagegroupval);
@@ -1089,6 +1098,6 @@ void epdf_check_mem()
delete_document(p);
}
// see above for globalParams
- delete globalParams;
+ globalParams.reset();
}
}
diff -up texlive-base-20210325/source/texk/web2c/pdftexdir/pdftosrc.cc.poppler-0.84 texlive-base-20210325/source/texk/web2c/pdftexdir/pdftosrc.cc
--- texlive-base-20210325/source/texk/web2c/pdftexdir/pdftosrc.cc.poppler-0.84 2021-05-06 18:21:18.379430999 -0400
+++ texlive-base-20210325/source/texk/web2c/pdftexdir/pdftosrc.cc 2021-05-06 18:21:18.383431058 -0400
@@ -24,6 +24,15 @@ by Arch Linux. The poppler should be 0.5
POPPLER_VERSION should be defined.
*/
+#ifdef POPPLER_VERSION
+#include <poppler-config.h>
+#define xpdfVersion POPPLER_VERSION
+#define xpdfString "poppler"
+#else
+#include <xpdf/config.h> /* just to get the xpdf version */
+#define xpdfString "xpdf"
+#endif
+
#include <w2c/config.h>
#include <stdlib.h>
@@ -73,7 +82,7 @@ int main(int argc, char *argv[])
exit(1);
}
fileName = new GString(argv[1]);
- globalParams = new GlobalParams();
+ globalParams = std::unique_ptr<GlobalParams>(new GlobalParams());
doc = new PDFDoc(fileName);
if (!doc->isOk()) {
fprintf(stderr, "Invalid PDF file\n");
@@ -94,7 +103,7 @@ int main(int argc, char *argv[])
if (objnum == 0) {
srcStream = catalogDict.dictLookup("SourceObject");
static char const_SourceFile[] = "SourceFile";
- if (!srcStream.isStream(const_SourceFile)) {
+ if (!(srcStream.isStream() && srcStream.getDict()->is(const_SourceFile))) {
fprintf(stderr, "No SourceObject found\n");
exit(1);
}
@@ -150,7 +159,6 @@ int main(int argc, char *argv[])
(e->type == xrefEntryFree ? "f" : "n"));
else { // e->offset is the object number of the object stream
Stream *str;
- Lexer *lexer;
Parser *parser;
Object objStr, obj1, obj2;
int nObjects, first, n;
@@ -168,8 +176,7 @@ int main(int argc, char *argv[])
// parse the header: object numbers and offsets
objStr.streamReset();
str = new EmbedStream(objStr.getStream(), Object(objNull), true, first);
- lexer = new Lexer(xref, str);
- parser = new Parser(xref, lexer, false);
+ parser = new Parser(xref, str, false);
for (n = 0; n < nObjects; ++n) {
obj1 = parser->getObj();
obj2 = parser->getObj();
@@ -201,5 +208,5 @@ int main(int argc, char *argv[])
fprintf(stderr, "Cross-reference table extracted to %s\n", outname);
fclose(outfile);
delete doc;
- delete globalParams;
+ globalParams.reset();
}
diff -up texlive-base-20210325/source/texk/web2c/pdftexdir/utils.c.poppler-0.84 texlive-base-20210325/source/texk/web2c/pdftexdir/utils.c
--- texlive-base-20210325/source/texk/web2c/pdftexdir/utils.c.poppler-0.84 2019-12-29 19:37:32.000000000 -0500
+++ texlive-base-20210325/source/texk/web2c/pdftexdir/utils.c 2021-05-06 18:21:18.383431058 -0400
@@ -32,14 +32,6 @@ with this program. If not, see <http://
#include <zlib.h>
#include "ptexlib.h"
#include <png.h>
-#ifdef POPPLER_VERSION
-/* POPPLER_VERSION should be a proper version string */
-#define xpdfVersion POPPLER_VERSION
-#define xpdfString "poppler"
-#else
-#include <xpdf/config.h> /* just to get the xpdf version */
-#define xpdfString "xpdf"
-#endif
#define check_nprintf(size_get, size_want) \
if ((unsigned)(size_get) >= (unsigned)(size_want)) \
@@ -977,12 +969,10 @@ void initversionstring(char **versions)
{
const_string fmt =
"Compiled with libpng %s; using libpng %s\n"
- "Compiled with zlib %s; using zlib %s\n"
- "Compiled with %s version %s\n";
+ "Compiled with zlib %s; using zlib %s\n";
size_t len = strlen(fmt)
+ strlen(PNG_LIBPNG_VER_STRING) + strlen(png_libpng_ver)
+ strlen(ZLIB_VERSION) + strlen(zlib_version)
- + strlen(xpdfString) + strlen(xpdfVersion)
+ 1;
/* len will be more than enough, because of the placeholder chars in fmt
@@ -990,7 +980,7 @@ void initversionstring(char **versions)
*versions = xmalloc(len);
sprintf(*versions, fmt,
PNG_LIBPNG_VER_STRING, png_libpng_ver,
- ZLIB_VERSION, zlib_version, xpdfString, xpdfVersion);
+ ZLIB_VERSION, zlib_version);
}
diff -up texlive-base-20210325/source/texk/web2c/xetexdir/XeTeX_ext.c.poppler-0.84 texlive-base-20210325/source/texk/web2c/xetexdir/XeTeX_ext.c

View file

@ -1,22 +0,0 @@
diff -up texlive-base-20210325/source/texk/kpathsea/texmf.cnf.texinfo-fix texlive-base-20210325/source/texk/kpathsea/texmf.cnf
--- texlive-base-20210325/source/texk/kpathsea/texmf.cnf.texinfo-fix 2021-05-06 17:53:44.616943275 -0400
+++ texlive-base-20210325/source/texk/kpathsea/texmf.cnf 2021-05-06 17:55:40.097662674 -0400
@@ -83,6 +83,9 @@ TEXMFSYSCONFIG = $TEXMFROOT/texmf-config
% to %USERPROFILE% on Windows, $HOME otherwise.
TEXMFHOME = ~/texmf
+% Texinfo on Fedora lives out of $TEXMFROOT
+TEXINFOHOME = $SELFAUTODIR/share/texmf
+
% TEXMFVAR, where texconfig/updmap/fmtutil store cached runtime data.
TEXMFVAR = ~/.texlive2021/texmf-var
@@ -108,7 +111,7 @@ TEXMFAUXTREES = {}
% The odd-looking $TEXMFAUXTREES$TEXMF... construct is so that if no auxtree is
% ever defined (the 99% common case), no extra elements will be added to
% the search paths. tlmgr takes care to end any value with a trailing comma.
-TEXMF = {$TEXMFAUXTREES$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!$TEXMFLOCAL,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFDIST}
+TEXMF = {$TEXMFAUXTREES$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,$TEXINFOHOME,!!$TEXMFLOCAL,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFDIST}
% Where to look for, and where mktexlsr creates, ls-R files. By default,
% this is all and only the !! elements of TEXMF, so that mktexlsr does not

View file

@ -1,140 +0,0 @@
diff -up texlive-base-20220321/source/texk/kpathsea/Makefile.am.dt texlive-base-20220321/source/texk/kpathsea/Makefile.am
--- texlive-base-20220321/source/texk/kpathsea/Makefile.am.dt 2020-06-22 18:11:50.000000000 -0400
+++ texlive-base-20220321/source/texk/kpathsea/Makefile.am 2022-04-24 15:03:32.852801273 -0400
@@ -275,7 +275,7 @@ uninstall-local:
AM_TESTS_ENVIRONMENT = LN_S='$(LN_S)'; export LN_S;
AM_TESTS_ENVIRONMENT += LT_OBJDIR='$(LT_OBJDIR)'; export LT_OBJDIR;
#
-TESTS = tests/cnfline.test tests/cnfnewline.test
+TESTS = tests/cnfnewline.test
TESTS += tests/cnfnull.test tests/cnfprog.test
TESTS += tests/kpseaccess.test
TESTS += tests/kpsereadlink.test tests/kpsestat.test tests/kpsewhich.test
diff -up texlive-base-20220321/source/texk/kpathsea/Makefile.in.dt texlive-base-20220321/source/texk/kpathsea/Makefile.in
--- texlive-base-20220321/source/texk/kpathsea/Makefile.in.dt 2021-10-04 11:13:00.000000000 -0400
+++ texlive-base-20220321/source/texk/kpathsea/Makefile.in 2022-04-24 15:03:32.852801273 -0400
@@ -861,7 +861,7 @@ dist_noinst_DATA = texmf.cnf
AM_TESTS_ENVIRONMENT = LN_S='$(LN_S)'; export LN_S; \
LT_OBJDIR='$(LT_OBJDIR)'; export LT_OBJDIR;
#
-TESTS = tests/cnfline.test tests/cnfnewline.test tests/cnfnull.test \
+TESTS = tests/cnfnewline.test tests/cnfnull.test \
tests/cnfprog.test tests/kpseaccess.test \
tests/kpsereadlink.test tests/kpsestat.test \
tests/kpsewhich.test
diff -up texlive-base-20220321/source/texk/web2c/am/texmf.am.dt texlive-base-20220321/source/texk/web2c/am/texmf.am
--- texlive-base-20220321/source/texk/web2c/am/texmf.am.dt 2022-01-11 17:47:10.000000000 -0500
+++ texlive-base-20220321/source/texk/web2c/am/texmf.am 2022-04-24 15:03:32.850801263 -0400
@@ -77,7 +77,7 @@ DISTCLEANFILES += $(nodist_tex_SOURCES)
# TeX tests
#
-tex_tests = triptest.test tests/write18-quote-test.pl tests/tex-closeout.test
+tex_tests = tests/write18-quote-test.pl tests/tex-closeout.test
triptest.log: tex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
tests/write18-quote-test.log tests/tex-closeout.test: tex$(EXEEXT)
EXTRA_DIST += $(tex_tests)
@@ -205,7 +205,7 @@ DISTCLEANFILES += $(nodist_libmf_a_SOURC
# Metafont tests
#
-mf_tests = mftraptest.test
+mf_tests =
mftraptest.log: mf$(EXEEXT) gftype$(EXEEXT) tftopl$(EXEEXT)
EXTRA_DIST += $(mf_tests)
if MF
diff -up texlive-base-20220321/source/texk/web2c/eptexdir/am/eptex.am.dt texlive-base-20220321/source/texk/web2c/eptexdir/am/eptex.am
--- texlive-base-20220321/source/texk/web2c/eptexdir/am/eptex.am.dt 2022-01-11 17:47:10.000000000 -0500
+++ texlive-base-20220321/source/texk/web2c/eptexdir/am/eptex.am 2022-04-24 15:03:32.850801263 -0400
@@ -89,7 +89,7 @@ EXTRA_DIST += \
# e-pTeX Tests
#
-eptex_tests = eptexdir/eptriptest.test eptexdir/pdfprimitive.test eptexdir/epver.test
+eptex_tests = eptexdir/epver.test
eptexdir/eptriptest.log: eptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
eptexdir/pdfprimitive.log: eptex$(EXEEXT)
eptexdir/epver.log: eptex$(EXEEXT)
diff -up texlive-base-20220321/source/texk/web2c/euptexdir/am/euptex.am.dt texlive-base-20220321/source/texk/web2c/euptexdir/am/euptex.am
--- texlive-base-20220321/source/texk/web2c/euptexdir/am/euptex.am.dt 2022-01-11 17:47:10.000000000 -0500
+++ texlive-base-20220321/source/texk/web2c/euptexdir/am/euptex.am 2022-04-24 15:03:32.850801263 -0400
@@ -90,7 +90,7 @@ EXTRA_DIST += \
# e-upTeX Tests
#
-euptex_tests = euptexdir/euptriptest.test euptexdir/pdfprimitive.test euptexdir/eupver.test
+euptex_tests = euptexdir/eupver.test
euptexdir/euptriptest.log: euptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
euptexdir/pdfprimitive.log: euptex$(EXEEXT)
euptexdir/eupver.log: euptex$(EXEEXT)
diff -up texlive-base-20220321/source/texk/web2c/mfluadir/am/mflua.am.dt texlive-base-20220321/source/texk/web2c/mfluadir/am/mflua.am
--- texlive-base-20220321/source/texk/web2c/mfluadir/am/mflua.am.dt 2022-02-18 13:44:19.000000000 -0500
+++ texlive-base-20220321/source/texk/web2c/mfluadir/am/mflua.am 2022-04-24 15:03:32.850801263 -0400
@@ -110,7 +110,7 @@ EXTRA_DIST += \
# MFLua tests
#
-mflua_tests = mfluadir/mfluatraptest.test
+mflua_tests =
mfluadir/mfluatraptest.log: mflua$(EXEEXT) gftype$(EXEEXT) tftopl$(EXEEXT)
EXTRA_DIST += $(mflua_tests)
diff -up texlive-base-20220321/source/texk/web2c/mfluajitdir/am/mfluajit.am.dt texlive-base-20220321/source/texk/web2c/mfluajitdir/am/mfluajit.am
--- texlive-base-20220321/source/texk/web2c/mfluajitdir/am/mfluajit.am.dt 2022-02-18 13:44:19.000000000 -0500
+++ texlive-base-20220321/source/texk/web2c/mfluajitdir/am/mfluajit.am 2022-04-24 15:03:32.851801268 -0400
@@ -106,7 +106,7 @@ EXTRA_DIST += \
# MFLuaJIT tests
#
-mfluajit_tests = mfluajitdir/mfluajittraptest.test
+mfluajit_tests =
mfluajitdir/mfluajittraptest.log: mfluajit$(EXEEXT) gftype$(EXEEXT) tftopl$(EXEEXT)
EXTRA_DIST += $(mfluajit_tests)
diff -up texlive-base-20220321/source/texk/web2c/pdftexdir/am/pdftex.am.dt texlive-base-20220321/source/texk/web2c/pdftexdir/am/pdftex.am
--- texlive-base-20220321/source/texk/web2c/pdftexdir/am/pdftex.am.dt 2022-04-24 15:03:32.851801268 -0400
+++ texlive-base-20220321/source/texk/web2c/pdftexdir/am/pdftex.am 2022-04-24 15:47:20.351639955 -0400
@@ -104,7 +104,7 @@ EXTRA_DIST += \
# pdfTeX tests
#
pdftex_tests = pdftexdir/wprob.test pdftexdir/pdftex.test \
- pdftexdir/pdfimage.test pdftexdir/expanded.test \
+ pdftexdir/expanded.test \
pdftexdir/tests/cnfline.test pdftexdir/tests/partoken.test
pdftexdir/wprob.log pdftexdir/pdftex.log \
diff -up texlive-base-20220321/source/texk/web2c/ptexdir/am/ptex.am.dt texlive-base-20220321/source/texk/web2c/ptexdir/am/ptex.am
--- texlive-base-20220321/source/texk/web2c/ptexdir/am/ptex.am.dt 2022-01-11 17:47:10.000000000 -0500
+++ texlive-base-20220321/source/texk/web2c/ptexdir/am/ptex.am 2022-04-24 15:03:32.851801268 -0400
@@ -171,7 +171,7 @@ EXTRA_DIST += \
# pTeX Tests
#
-ptex_tests = ptexdir/ptriptest.test ptexdir/pver.test
+ptex_tests = ptexdir/pver.test
ptexdir/ptriptest.log: ptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
ptexdir/pver.log: ptex$(EXEEXT)
pweb_tests = \
diff -up texlive-base-20220321/source/texk/web2c/uptexdir/am/uptex.am.dt texlive-base-20220321/source/texk/web2c/uptexdir/am/uptex.am
--- texlive-base-20220321/source/texk/web2c/uptexdir/am/uptex.am.dt 2022-01-29 05:40:22.000000000 -0500
+++ texlive-base-20220321/source/texk/web2c/uptexdir/am/uptex.am 2022-04-24 15:03:32.851801268 -0400
@@ -161,7 +161,7 @@ EXTRA_DIST += \
uptexdir/ChangeLog
# upTeX Tests
-uptex_tests = uptexdir/uptriptest.test uptexdir/upver.test
+uptex_tests = uptexdir/upver.test
uptexdir/uptriptest.log: uptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
uptexdir/upver.log: uptex$(EXEEXT)
upweb_tests = \
diff -up texlive-base-20220321/source/texk/web2c/xetexdir/am/xetex.am.dt texlive-base-20220321/source/texk/web2c/xetexdir/am/xetex.am
--- texlive-base-20220321/source/texk/web2c/xetexdir/am/xetex.am.dt 2022-01-11 17:47:10.000000000 -0500
+++ texlive-base-20220321/source/texk/web2c/xetexdir/am/xetex.am 2022-04-24 15:03:32.852801273 -0400
@@ -203,7 +203,6 @@ EXTRA_DIST += \
#
xetex_tests = \
xetexdir/xetex-filedump.test \
- xetexdir/xetex-bug73.test \
xetexdir/xetex.test
xetexdir/xetex-filedump.log xetexdir/xetex-bug73.log xetexdir/xetex.log: xetex$(EXEEXT)

View file

@ -1,22 +0,0 @@
diff -up texlive-base-20220321/source/texk/kpathsea/texmf.cnf.texinfo-fix texlive-base-20220321/source/texk/kpathsea/texmf.cnf
--- texlive-base-20220321/source/texk/kpathsea/texmf.cnf.texinfo-fix 2022-04-24 14:56:58.552736645 -0400
+++ texlive-base-20220321/source/texk/kpathsea/texmf.cnf 2022-04-24 14:59:20.022477425 -0400
@@ -83,6 +83,9 @@ TEXMFSYSCONFIG = $TEXMFROOT/texmf-config
% to %USERPROFILE% on Windows, $HOME otherwise.
TEXMFHOME = ~/texmf
+% Texinfo on Fedora lives out of $TEXMFROOT
+TEXINFOHOME = $SELFAUTODIR/share/texmf
+
% TEXMFVAR, where texconfig/updmap/fmtutil store cached runtime data.
TEXMFVAR = ~/.texlive2022/texmf-var
@@ -108,7 +111,7 @@ TEXMFAUXTREES = {}
% The odd-looking $TEXMFAUXTREES$TEXMF... construct is so that if no auxtree is
% ever defined (the 99% common case), no extra elements will be added to
% the search paths. tlmgr takes care to end any value with a trailing comma.
-TEXMF = {$TEXMFAUXTREES$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!$TEXMFLOCAL,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFDIST}
+TEXMF = {$TEXMFAUXTREES$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,$TEXINFOHOME,!!$TEXMFLOCAL,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFDIST}
% Where to look for, and where mktexlsr creates, ls-R files. By default,
% this is all and only the !! elements of TEXMF, so that mktexlsr does not

View file

@ -1,197 +0,0 @@
diff -up texlive-base-20230311/source/texk/web2c/luatexdir/tex/textoken.c.me texlive-base-20230311/source/texk/web2c/luatexdir/tex/textoken.c
--- texlive-base-20230311/source/texk/web2c/luatexdir/tex/textoken.c.me 2025-01-23 16:20:29.845574328 +0100
+++ texlive-base-20230311/source/texk/web2c/luatexdir/tex/textoken.c 2025-01-23 16:23:32.896925830 +0100
@@ -2665,7 +2665,7 @@ static int do_feedback_pdf(halfword c)
halfword save_def_ref;
halfword save_warning_index;
/*tex temp boolean */
- boolean bool;
+ boolean bool1;
/*tex first temp string */
str_number s;
/*tex for use with |set_ff| */
@@ -2738,7 +2738,7 @@ static int do_feedback_pdf(halfword c)
print_int(pdf_get_obj(static_pdf, obj_type_page, cur_val, false));
pop_selector;
} else if (scan_keyword("colorstackinit")) {
- bool = scan_keyword("page");
+ bool1 = scan_keyword("page");
if (scan_keyword("direct"))
cur_val = direct_always;
else if (scan_keyword("page"))
@@ -2762,7 +2762,7 @@ static int do_feedback_pdf(halfword c)
warning_index = save_warning_index;
scanner_status = save_scanner_status;
str = makecstring(s);
- cur_val = newcolorstack(str, cur_val, bool);
+ cur_val = newcolorstack(str, cur_val, bool1);
free(str);
flush_str(s);
cur_val_level = int_val_level;
@@ -2801,7 +2801,7 @@ void conv_toks(void)
halfword save_def_ref;
halfword save_warning_index;
/*tex temp boolean */
- boolean bool;
+ boolean bool1;
/*tex first temp string */
str_number s;
/*tex lua chunk name */
@@ -2991,11 +2991,11 @@ void conv_toks(void)
save_def_ref = def_ref;
save_warning_index = warning_index;
scan_toks(false, true);
- bool = in_lua_escape;
+ bool1 = in_lua_escape;
in_lua_escape = true;
escstr.s = (unsigned char *) tokenlist_to_cstring(def_ref, false, &l);
escstr.l = (unsigned) l;
- in_lua_escape = bool;
+ in_lua_escape = bool1;
delete_token_ref(def_ref);
def_ref = save_def_ref;
warning_index = save_warning_index;
diff -up texlive-base-20230311/source/texk/web2c/luatexdir/unilib/ustring.c.me texlive-base-20230311/source/texk/web2c/luatexdir/unilib/ustring.c
--- texlive-base-20230311/source/texk/web2c/luatexdir/unilib/ustring.c.me 2025-01-23 16:45:23.164475899 +0100
+++ texlive-base-20230311/source/texk/web2c/luatexdir/unilib/ustring.c 2025-01-23 16:47:08.044935510 +0100
@@ -396,7 +396,7 @@ double u_strtod(const unichar_t *str, un
char buf[60], *pt, *ret;
const unichar_t *upt;
double val;
- extern double strtod(); /* Please don't delete this, not all of us have good ansi headers */
+ //extern double strtod(); /* Please don't delete this, not all of us have good ansi headers */
for ( upt=str, pt=buf; *upt<128 && *upt!='\0' && pt-buf<sizeof(buf)-1; )
*pt++ = *upt++;
@@ -415,7 +415,7 @@ long u_strtol(const unichar_t *str, unic
char buf[60], *pt, *ret;
const unichar_t *upt;
long val;
- extern long strtol(); /* Please don't delete this, not all of us have good ansi headers */
+ //extern long strtol(); /* Please don't delete this, not all of us have good ansi headers */
for ( upt=str, pt=buf; *upt<128 && *upt!='\0' && pt<buf+sizeof(buf)-1; )
*pt++ = *upt++;
diff -up texlive-base-20230311/source/texk/web2c/luatexdir/luafontloader/fontforge/fontforge/splineutil2.c.me texlive-base-20230311/source/texk/web2c/luatexdir/luafontloader/fontforge/fontforge/splineutil2.c
--- texlive-base-20230311/source/texk/web2c/luatexdir/luafontloader/fontforge/fontforge/splineutil2.c.me 2025-01-23 16:53:43.457157308 +0100
+++ texlive-base-20230311/source/texk/web2c/luatexdir/luafontloader/fontforge/fontforge/splineutil2.c 2025-01-23 16:54:31.649278311 +0100
@@ -2049,7 +2049,7 @@ SplineSet *SplineSetReverse(SplineSet *s
Spline *spline, *first, *next;
BasePoint tp;
SplinePoint *temp;
- int bool;
+ int bool1;
/* reverse the splineset so that what was the start point becomes the end */
/* and vice versa. This entails reversing every individual spline, and */
/* each point */
@@ -2062,12 +2062,12 @@ return( spl ); /* Only one point, reve
tp = spline->from->nextcp;
spline->from->nextcp = spline->from->prevcp;
spline->from->prevcp = tp;
- bool = spline->from->nonextcp;
+ bool1 = spline->from->nonextcp;
spline->from->nonextcp = spline->from->noprevcp;
- spline->from->noprevcp = bool;
- bool = spline->from->nextcpdef;
+ spline->from->noprevcp = bool1;
+ bool1 = spline->from->nextcpdef;
spline->from->nextcpdef = spline->from->prevcpdef;
- spline->from->prevcpdef = bool;
+ spline->from->prevcpdef = bool1;
for ( ; spline!=NULL && spline!=first; spline=next ) {
next = spline->to->next;
@@ -2076,12 +2076,12 @@ return( spl ); /* Only one point, reve
tp = spline->to->nextcp;
spline->to->nextcp = spline->to->prevcp;
spline->to->prevcp = tp;
- bool = spline->to->nonextcp;
+ bool1 = spline->to->nonextcp;
spline->to->nonextcp = spline->to->noprevcp;
- spline->to->noprevcp = bool;
- bool = spline->to->nextcpdef;
+ spline->to->noprevcp = bool1;
+ bool1 = spline->to->nextcpdef;
spline->to->nextcpdef = spline->to->prevcpdef;
- spline->to->prevcpdef = bool;
+ spline->to->prevcpdef = bool1;
}
temp = spline->to;
diff -up texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/libs/woff2/include/woff2/output.h.me texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/libs/woff2/include/woff2/output.h
--- texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/libs/woff2/include/woff2/output.h.me 2025-01-23 17:53:11.940292061 +0100
+++ texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/libs/woff2/include/woff2/output.h 2025-01-23 18:00:25.679229974 +0100
@@ -13,6 +13,7 @@
#include <cstring>
#include <memory>
#include <string>
+#include <cstdint>
namespace woff2 {
diff -up texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/src/Character.hpp.me texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/src/Character.hpp
--- texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/src/Character.hpp.me 2025-01-23 18:00:29.791326309 +0100
+++ texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/src/Character.hpp 2025-01-23 18:01:29.795726026 +0100
@@ -21,6 +21,7 @@
#ifndef CHARACTER_HPP
#define CHARACTER_HPP
+#include <cstdint>
class Character {
public:
diff -up texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/src/EPSFile.hpp.me texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/src/EPSFile.hpp
--- texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/src/EPSFile.hpp.me 2025-01-23 18:01:42.194015062 +0100
+++ texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/src/EPSFile.hpp 2025-01-23 18:02:08.019619304 +0100
@@ -21,6 +21,7 @@
#ifndef EPSFILE_HPP
#define EPSFILE_HPP
+#include <cstdint>
#include <fstream>
#include <istream>
#include <string>
diff -up texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/src/FontMetrics.hpp.me texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/src/FontMetrics.hpp
--- texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/src/FontMetrics.hpp.me 2025-01-23 18:02:39.822363424 +0100
+++ texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/src/FontMetrics.hpp 2025-01-23 18:02:46.917529433 +0100
@@ -21,6 +21,7 @@
#ifndef FONTMETRICS_HPP
#define FONTMETRICS_HPP
+#include <cstdint>
#include <istream>
#include <memory>
#include <string>
diff -up texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/src/HashFunction.cpp.me texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/src/HashFunction.cpp
--- texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/src/HashFunction.cpp.me 2025-01-23 18:03:21.502336489 +0100
+++ texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/src/HashFunction.cpp 2025-01-23 18:03:28.253494025 +0100
@@ -18,6 +18,7 @@
** along with this program; if not, see <http://www.gnu.org/licenses/>. **
*************************************************************************/
+#include <cstdint>
#include <algorithm>
#include <iomanip>
#include <sstream>
diff -up texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/src/HashFunction.hpp.me texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/src/HashFunction.hpp
--- texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/src/HashFunction.hpp.me 2025-01-23 18:04:33.647023179 +0100
+++ texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/src/HashFunction.hpp 2025-01-23 18:04:40.919193442 +0100
@@ -21,6 +21,7 @@
#ifndef HASHFUNCTION_HPP
#define HASHFUNCTION_HPP
+#include <cstdint>
#include <istream>
#include <memory>
#include <string>
diff -up texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/src/utility.hpp.me texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/src/utility.hpp
--- texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/src/utility.hpp.me 2025-01-23 17:54:42.338405708 +0100
+++ texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/src/utility.hpp 2025-01-23 17:58:32.140551634 +0100
@@ -32,6 +32,7 @@
#include <string>
#include <type_traits>
#include <vector>
+#include <cstdint>
namespace math {

View file

@ -1,44 +0,0 @@
diff -up texlive-base-20230311/source/texk/kpathsea/texmf.cnf.texinfo-fix texlive-base-20230311/source/texk/kpathsea/texmf.cnf
--- texlive-base-20230311/source/texk/kpathsea/texmf.cnf.texinfo-fix 2023-05-25 10:49:55.510891474 -0400
+++ texlive-base-20230311/source/texk/kpathsea/texmf.cnf 2023-05-25 11:44:59.261966579 -0400
@@ -59,7 +59,7 @@
% SELFAUTOPARENT (its grandparent = /usr/local/texlive/YYYY), and
% SELFAUTOGRANDPARENT (its great-grandparent = /usr/local/texlive).
% Sorry for the off-by-one-generation names.
-TEXMFROOT = $SELFAUTOPARENT
+TEXMFROOT = /usr/share/texlive
% The main tree of distributed packages and programs:
TEXMFDIST = $TEXMFROOT/texmf-dist
@@ -69,10 +69,10 @@ TEXMFDIST = $TEXMFROOT/texmf-dist
TEXMFMAIN = $TEXMFDIST
% Local additions to the distribution trees.
-TEXMFLOCAL = $SELFAUTOGRANDPARENT/texmf-local
+TEXMFLOCAL = /usr/share/texlive/texmf-local
% TEXMFSYSVAR, where *-sys store cached runtime data.
-TEXMFSYSVAR = $TEXMFROOT/texmf-var
+TEXMFSYSVAR = /var/lib/texmf
% TEXMFSYSCONFIG, where *-sys store configuration data.
TEXMFSYSCONFIG = $TEXMFROOT/texmf-config
@@ -83,6 +83,9 @@ TEXMFSYSCONFIG = $TEXMFROOT/texmf-config
% to %USERPROFILE% on Windows, $HOME otherwise.
TEXMFHOME = ~/texmf
+% Texinfo on Fedora lives out of $TEXMFROOT
+TEXINFOHOME = /usr/share/texmf
+
% TEXMFVAR, where texconfig/updmap/fmtutil store cached runtime data.
TEXMFVAR = ~/.texlive2023/texmf-var
@@ -108,7 +111,7 @@ TEXMFAUXTREES = {}
% The odd-looking $TEXMFAUXTREES$TEXMF... construct is so that if no auxtree is
% ever defined (the 99% common case), no extra elements will be added to
% the search paths. tlmgr takes care to end any value with a trailing comma.
-TEXMF = {$TEXMFAUXTREES$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!$TEXMFLOCAL,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFDIST}
+TEXMF = {$TEXMFAUXTREES$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!$TEXINFOHOME,!!$TEXMFLOCAL,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFDIST}
% Where to look for, and where mktexlsr creates, ls-R files. By default,
% this is all and only the !! elements of TEXMF, so that mktexlsr does not

View file

@ -1,7 +1,7 @@
diff -up texlive-base-20190410/source/texk/detex/detex-src/detex.l.me texlive-base-20190410/source/texk/detex/detex-src/detex.l
--- texlive-base-20190410/source/texk/detex/detex-src/detex.l.me 2020-02-05 12:54:36.100840384 +0100
+++ texlive-base-20190410/source/texk/detex/detex-src/detex.l 2020-02-05 13:00:28.476320773 +0100
@@ -898,10 +898,10 @@ TexOpen(char *sbFile)
diff -up texlive-base-20180414/source/texk/detex/detex-src/detex.l.me texlive-base-20180414/source/texk/detex/detex-src/detex.l
--- texlive-base-20180414/source/texk/detex/detex-src/detex.l.me 2020-02-05 13:29:53.294406353 -0500
+++ texlive-base-20180414/source/texk/detex/detex-src/detex.l 2020-02-05 13:30:24.021754001 -0500
@@ -806,10 +806,10 @@ TexOpen(char *sbFile)
#else
if (*sbFile == '/') { /* absolute path */
#endif

View file

@ -1,249 +0,0 @@
diff -up texlive-base-20190410/source/utils/autosp/autosp-src/autosp.c.externfix texlive-base-20190410/source/utils/autosp/autosp-src/autosp.c
--- texlive-base-20190410/source/utils/autosp/autosp-src/autosp.c.externfix 2020-01-23 13:07:24.044942747 -0500
+++ texlive-base-20190410/source/utils/autosp/autosp-src/autosp.c 2020-01-23 13:12:41.905857613 -0500
@@ -82,6 +82,13 @@ char version[12] = "2019-01-08";
# include "autosp.h"
+char infilename[SHORT_LEN];
+char *infilename_n;
+char outfilename[SHORT_LEN];
+char *outfilename_n;
+char logfilename[SHORT_LEN];
+char *logfilename_n;
+FILE *infile, *outfile, *logfile;
PRIVATE void
usage ()
diff -up texlive-base-20190410/source/utils/autosp/autosp-src/autosp.h.externfix texlive-base-20190410/source/utils/autosp/autosp-src/autosp.h
--- texlive-base-20190410/source/utils/autosp/autosp-src/autosp.h.externfix 2020-01-23 13:02:59.186403822 -0500
+++ texlive-base-20190410/source/utils/autosp/autosp-src/autosp.h 2020-01-23 13:12:30.912087145 -0500
@@ -25,16 +25,16 @@
# define SHORT_LEN 256
-bool debug;
-bool dottedbeamnotes; /* dotted beam notes ignored? */
+extern bool debug;
+extern bool dottedbeamnotes; /* dotted beam notes ignored? */
-char infilename[SHORT_LEN];
-char *infilename_n;
-char outfilename[SHORT_LEN];
-char *outfilename_n;
-char logfilename[SHORT_LEN];
-char *logfilename_n;
-FILE *infile, *outfile, *logfile;
+extern char infilename[SHORT_LEN];
+extern char *infilename_n;
+extern char outfilename[SHORT_LEN];
+extern char *outfilename_n;
+extern char logfilename[SHORT_LEN];
+extern char *logfilename_n;
+extern FILE *infile, *outfile, *logfile;
void process_score ();
diff -up texlive-base-20190410/source/utils/autosp/autosp-src/process_command.c.externfix texlive-base-20190410/source/utils/autosp/autosp-src/process_command.c
--- texlive-base-20190410/source/utils/autosp/autosp-src/process_command.c.externfix 2020-01-23 13:23:55.275608432 -0500
+++ texlive-base-20190410/source/utils/autosp/autosp-src/process_command.c 2020-01-23 13:26:00.074878265 -0500
@@ -1,5 +1,37 @@
# include "process_command.h"
+char terminator[MAX_STAFFS]; /* one of '&' "|', '$' */
+char *notes[MAX_STAFFS]; /* note segment for ith staff */
+char *current[MAX_STAFFS];
+int spacings[MAX_STAFFS]; /* spacing for ith staff */
+int vspacing[MAX_STAFFS]; /* virtual-note (skip) spacing */
+bool vspacing_active[MAX_STAFFS]; /* virtual-note spacing active? */
+ /* used to preclude unnecessary pre-accidental skips */
+bool nonvirtual_notes; /* used to preclude output of *only* virtual notes */
+int cspacing[MAX_STAFFS]; /* nominal collective-note spacing */
+char collective[MAX_STAFFS][SHORT_LEN];
+ /* prefixes for collective note sequences */
+bool first_collective[MAX_STAFFS];
+char deferred_bar[SHORT_LEN]; /* deferred \bar (or \endpiece etc.) */
+int beaming[MAX_STAFFS]; /* spacing for beamed notes */
+int new_beaming;
+int semiauto_beam_notes[MAX_STAFFS]; /* semi-automatic beam notes */
+/* save-restore state for a staff; used in process_xtuplet */
+int beamingi;
+char *currenti;
+int cspacingi;
+int vspacingi;
+char collectivei[SHORT_LEN];
+bool first_collectivei;
+int xtuplet[MAX_STAFFS]; /* x for xtuplet in staff i */
+bool appoggiatura;
+char outstrings[MAX_STAFFS][LINE_LEN];
+ /* accumulate commands to be output */
+char *n_outstrings[MAX_STAFFS];
+int global_skip;
+/* = 1, 2, 3, or 4 for (non-standard) commands \QQsk \HQsk \TQsk \Qsk */
+/* = 5 for five commas and double-flat accidental spacing */
+/* = 6 for six commas */
void process_xtuplet (void);
diff -up texlive-base-20190410/source/utils/autosp/autosp-src/process_command.h.externfix texlive-base-20190410/source/utils/autosp/autosp-src/process_command.h
--- texlive-base-20190410/source/utils/autosp/autosp-src/process_command.h.externfix 2020-01-23 13:18:54.495606362 -0500
+++ texlive-base-20190410/source/utils/autosp/autosp-src/process_command.h 2020-01-23 13:23:33.154094850 -0500
@@ -8,47 +8,47 @@
# define NOTEsp "\\vnotes9.52\\elemskip"
# define APPOGG_NOTES "\\vnotes1.45\\elemskip"
-char terminator[MAX_STAFFS]; /* one of '&' "|', '$' */
+extern char terminator[MAX_STAFFS]; /* one of '&' "|', '$' */
-char *notes[MAX_STAFFS]; /* note segment for ith staff */
-char *current[MAX_STAFFS];
+extern char *notes[MAX_STAFFS]; /* note segment for ith staff */
+extern char *current[MAX_STAFFS];
-int spacings[MAX_STAFFS]; /* spacing for ith staff */
+extern int spacings[MAX_STAFFS]; /* spacing for ith staff */
-int vspacing[MAX_STAFFS]; /* virtual-note (skip) spacing */
-bool vspacing_active[MAX_STAFFS]; /* virtual-note spacing active? */
+extern int vspacing[MAX_STAFFS]; /* virtual-note (skip) spacing */
+extern bool vspacing_active[MAX_STAFFS]; /* virtual-note spacing active? */
/* used to preclude unnecessary pre-accidental skips */
-bool nonvirtual_notes; /* used to preclude output of *only* virtual notes */
+extern bool nonvirtual_notes; /* used to preclude output of *only* virtual notes */
-int cspacing[MAX_STAFFS]; /* nominal collective-note spacing */
-char collective[MAX_STAFFS][SHORT_LEN];
+extern int cspacing[MAX_STAFFS]; /* nominal collective-note spacing */
+extern char collective[MAX_STAFFS][SHORT_LEN];
/* prefixes for collective note sequences */
-bool first_collective[MAX_STAFFS];
+extern bool first_collective[MAX_STAFFS];
-char deferred_bar[SHORT_LEN]; /* deferred \bar (or \endpiece etc.) */
+extern char deferred_bar[SHORT_LEN]; /* deferred \bar (or \endpiece etc.) */
-int beaming[MAX_STAFFS]; /* spacing for beamed notes */
-int new_beaming;
-int semiauto_beam_notes[MAX_STAFFS]; /* semi-automatic beam notes */
+extern int beaming[MAX_STAFFS]; /* spacing for beamed notes */
+extern int new_beaming;
+extern int semiauto_beam_notes[MAX_STAFFS]; /* semi-automatic beam notes */
/* save-restore state for a staff; used in process_xtuplet */
-int beamingi;
-char *currenti;
-int cspacingi;
-int vspacingi;
-char collectivei[SHORT_LEN];
-bool first_collectivei;
+extern int beamingi;
+extern char *currenti;
+extern int cspacingi;
+extern int vspacingi;
+extern char collectivei[SHORT_LEN];
+extern bool first_collectivei;
-int xtuplet[MAX_STAFFS]; /* x for xtuplet in staff i */
+extern int xtuplet[MAX_STAFFS]; /* x for xtuplet in staff i */
-bool appoggiatura;
+extern bool appoggiatura;
-char outstrings[MAX_STAFFS][LINE_LEN];
+extern char outstrings[MAX_STAFFS][LINE_LEN];
/* accumulate commands to be output */
-char *n_outstrings[MAX_STAFFS];
+extern char *n_outstrings[MAX_STAFFS];
-int global_skip;
+extern int global_skip;
/* = 1, 2, 3, or 4 for (non-standard) commands \QQsk \HQsk \TQsk \Qsk */
/* = 5 for five commas and double-flat accidental spacing */
/* = 6 for six commas */
diff -up texlive-base-20190410/source/utils/autosp/autosp-src/process_score.c.externfix texlive-base-20190410/source/utils/autosp/autosp-src/process_score.c
--- texlive-base-20190410/source/utils/autosp/autosp-src/process_score.c.externfix 2020-01-23 13:17:36.073400920 -0500
+++ texlive-base-20190410/source/utils/autosp/autosp-src/process_score.c 2020-01-23 13:18:29.827262141 -0500
@@ -1,5 +1,20 @@
# include "process_score.h"
+int staffs[MAX_STAFFS]; /* number of staffs for ith instrument*/
+bool active[MAX_STAFFS]; /* is staff i active? */
+bool bar_rest[MAX_STAFFS];
+int spacing; /* spacing for current notes */
+int restbars;
+char global_skip_str[7][16];
+int ninstr; /* number of instruments */
+int nstaffs; /* number of staffs */
+int nastaffs; /* number of active staffs; */
+int old_spacing;
+bool Changeclefs; /* output \Changeclefs after \def\atnextbar */
+char TransformNotes2[SHORT_LEN];/* 2nd argument of \TransformNotes */
+bool TransformNotesDefined;
+char line[LINE_LEN]; /* line of input */
+
void process_line ()
{
char *ln;
diff -up texlive-base-20190410/source/utils/autosp/autosp-src/process_score.h.externfix texlive-base-20190410/source/utils/autosp/autosp-src/process_score.h
--- texlive-base-20190410/source/utils/autosp/autosp-src/process_score.h.externfix 2020-01-23 13:13:28.767879231 -0500
+++ texlive-base-20190410/source/utils/autosp/autosp-src/process_score.h 2020-01-23 13:16:56.554238138 -0500
@@ -6,21 +6,21 @@
# define SP(note) (SMALL_NOTE/note)
/* note = { 256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 } */
# define MAX_SPACING 2*SP(1)
-int staffs[MAX_STAFFS]; /* number of staffs for ith instrument*/
-bool active[MAX_STAFFS]; /* is staff i active? */
-bool bar_rest[MAX_STAFFS];
-int spacing; /* spacing for current notes */
-int restbars;
-char global_skip_str[7][16];
-int ninstr; /* number of instruments */
-int nstaffs; /* number of staffs */
-int nastaffs; /* number of active staffs; */
-int old_spacing;
-bool Changeclefs; /* output \Changeclefs after \def\atnextbar */
-char TransformNotes2[SHORT_LEN]; /* 2nd argument of \TransformNotes */
-bool TransformNotesDefined;
+extern int staffs[MAX_STAFFS]; /* number of staffs for ith instrument*/
+extern bool active[MAX_STAFFS]; /* is staff i active? */
+extern bool bar_rest[MAX_STAFFS];
+extern int spacing; /* spacing for current notes */
+extern int restbars;
+extern char global_skip_str[7][16];
+extern int ninstr; /* number of instruments */
+extern int nstaffs; /* number of staffs */
+extern int nastaffs; /* number of active staffs; */
+extern int old_spacing;
+extern bool Changeclefs; /* output \Changeclefs after \def\atnextbar */
+extern char TransformNotes2[SHORT_LEN]; /* 2nd argument of \TransformNotes */
+extern bool TransformNotesDefined;
-char line[LINE_LEN]; /* line of input */
+extern char line[LINE_LEN]; /* line of input */
void process_line ();
diff -up texlive-base-20190410/source/utils/autosp/autosp-src/utils.c.externfix texlive-base-20190410/source/utils/autosp/autosp-src/utils.c
--- texlive-base-20190410/source/utils/autosp/autosp-src/utils.c.externfix 2020-01-23 13:05:26.584382978 -0500
+++ texlive-base-20190410/source/utils/autosp/autosp-src/utils.c 2020-01-23 13:05:37.343164091 -0500
@@ -24,6 +24,8 @@
# include "utils.h"
+int lineno;
+
void
warning (const char msg[]) /* output warning message msg to stderr */
{
diff -up texlive-base-20190410/source/utils/autosp/autosp-src/utils.h.externfix texlive-base-20190410/source/utils/autosp/autosp-src/utils.h
--- texlive-base-20190410/source/utils/autosp/autosp-src/utils.h.externfix 2020-01-23 13:04:15.805822929 -0500
+++ texlive-base-20190410/source/utils/autosp/autosp-src/utils.h 2020-01-23 13:04:25.408627563 -0500
@@ -61,6 +61,6 @@ extern size_t append (char *dst, char **
extern bool prefix (const char *cs, const char *ct); /* is string cs[] a prefix of ct[]? */
extern bool suffix (const char *cs, const char *ct); /* is string cs[] a suffix of ct[]? */
-int lineno;
+extern int lineno;
extern void error (const char msg[]); /* abort with stderr message msg */
extern void warning (const char msg[]); /* output warning message msg to stderr */

View file

@ -1,63 +0,0 @@
diff -up texlive-base-20190410/source/texk/web2c/luatexdir/font/luatexfont.h.externfix texlive-base-20190410/source/texk/web2c/luatexdir/font/luatexfont.h
--- texlive-base-20190410/source/texk/web2c/luatexdir/font/luatexfont.h.externfix 2020-01-23 14:39:03.317389393 -0500
+++ texlive-base-20190410/source/texk/web2c/luatexdir/font/luatexfont.h 2020-01-23 14:39:24.282963661 -0500
@@ -128,8 +128,8 @@ int write_tounicode(PDF, char **, char *
void replace_packet_fonts(internal_font_number f, int *old_fontid, int *new_fontid, int count);
int *packet_local_fonts(internal_font_number f, int *num);
-int packet_cur_s; /* current |do_vf_packet()| recursion level */
-int packet_stack_ptr; /* pointer into |packet_stack| */
+extern int packet_cur_s; /* current |do_vf_packet()| recursion level */
+extern int packet_stack_ptr; /* pointer into |packet_stack| */
vf_struct *new_vfstruct(void);
/* writecff.c */
diff -up texlive-base-20190410/source/texk/web2c/luatexdir/font/vfpacket.c.externfix texlive-base-20190410/source/texk/web2c/luatexdir/font/vfpacket.c
diff -up texlive-base-20190410/source/texk/web2c/luatexdir/image/writeimg.h.externfix texlive-base-20190410/source/texk/web2c/luatexdir/image/writeimg.h
--- texlive-base-20190410/source/texk/web2c/luatexdir/image/writeimg.h.externfix 2020-01-23 14:44:11.720101536 -0500
+++ texlive-base-20190410/source/texk/web2c/luatexdir/image/writeimg.h 2020-01-23 14:44:27.964767014 -0500
@@ -26,7 +26,7 @@
# include "pdf/pdfpage.h"
typedef image_dict *idict_entry;
-idict_entry *idict_array;
+extern idict_entry *idict_array;
void new_img_pdfstream_struct(image_dict *);
image *new_image(void);
diff -up texlive-base-20190410/source/texk/web2c/luatexdir/pdf/pdftables.h.externfix texlive-base-20190410/source/texk/web2c/luatexdir/pdf/pdftables.h
--- texlive-base-20190410/source/texk/web2c/luatexdir/pdf/pdftables.h.externfix 2020-01-23 14:35:18.313067342 -0500
+++ texlive-base-20190410/source/texk/web2c/luatexdir/pdf/pdftables.h 2020-01-23 14:35:27.367878245 -0500
@@ -21,7 +21,7 @@
#ifndef PDFTABLES_H
# define PDFTABLES_H
-const char *pdf_obj_typenames[PDF_OBJ_TYPE_MAX + 1];
+extern const char *pdf_obj_typenames[PDF_OBJ_TYPE_MAX + 1];
typedef enum {
union_type_int,
diff -up texlive-base-20190410/source/texk/web2c/luatexdir/pdf/pdfxform.c.externfix texlive-base-20190410/source/texk/web2c/luatexdir/pdf/pdfxform.c
--- texlive-base-20190410/source/texk/web2c/luatexdir/pdf/pdfxform.c.externfix 2020-01-23 14:51:41.427758029 -0500
+++ texlive-base-20190410/source/texk/web2c/luatexdir/pdf/pdfxform.c 2020-01-23 14:51:50.676561145 -0500
@@ -24,8 +24,6 @@ with LuaTeX; if not, see <http://www.gnu
/*tex The form being output: */
-int pdf_cur_form;
-
void pdf_place_form(PDF pdf, halfword p)
{
scaled_whd nat, tex;
diff -up texlive-base-20190410/source/texk/web2c/luatexdir/tex/textoken.c.externfix texlive-base-20190410/source/texk/web2c/luatexdir/tex/textoken.c
--- texlive-base-20190410/source/texk/web2c/luatexdir/tex/textoken.c.externfix 2020-01-23 14:50:52.078796620 -0500
+++ texlive-base-20190410/source/texk/web2c/luatexdir/tex/textoken.c 2020-01-23 14:50:57.659680238 -0500
@@ -76,7 +76,7 @@ unsigned fix_mem_max;
/*tex how much memory is in use */
-int var_used, dyn_used;
+int dyn_used;
/*tex head of the list of available one-word nodes */

View file

@ -1,12 +0,0 @@
diff -up texlive-base-20190410/source/texk/web2c/mplibdir/mp.w.externfix texlive-base-20190410/source/texk/web2c/mplibdir/mp.w
--- texlive-base-20190410/source/texk/web2c/mplibdir/mp.w.externfix 2020-01-23 13:46:37.500459473 -0500
+++ texlive-base-20190410/source/texk/web2c/mplibdir/mp.w 2020-01-23 13:55:29.588893404 -0500
@@ -2958,7 +2958,7 @@ void *mp_xmalloc (MP mp, size_t nmem, si
}
@ @<Internal library declarations@>=
-int mp_snprintf_res ;
+static int mp_snprintf_res ;
/* Some compilers (i.e. gcc 8.2.0 ) complained with the old */
/* #define mp_snprintf (void)snprintf */
/* about truncation. For the moment we store the result. */

View file

@ -1,13 +0,0 @@
diff -up texlive-base-20190410/source/texk/ttf2pk2/ftlib.c.externfix texlive-base-20190410/source/texk/ttf2pk2/ftlib.c
diff -up texlive-base-20190410/source/texk/ttf2pk2/pklib.c.externfix texlive-base-20190410/source/texk/ttf2pk2/pklib.c
--- texlive-base-20190410/source/texk/ttf2pk2/pklib.c.externfix 2020-01-23 15:56:27.041072021 -0500
+++ texlive-base-20190410/source/texk/ttf2pk2/pklib.c 2020-01-23 16:02:05.585252609 -0500
@@ -64,7 +64,7 @@
#define PK_POST (char)245
#define PK_NOP (char)246
-int dpi;
+extern int dpi;
FILE *pk_file;

View file

@ -1,259 +0,0 @@
--- texlive-base-20190410/source/texk/web2c/pdftexdir/pdftoepdf.cc
+++ texlive-base-20190410/source/texk/web2c/pdftexdir/pdftoepdf.cc
@@ -26,6 +26,15 @@ The poppler should be 0.59.0 or newer ve
POPPLER_VERSION should be defined.
*/
+#ifdef POPPLER_VERSION
+#include <poppler-config.h>
+#define xpdfVersion POPPLER_VERSION
+#define xpdfString "poppler"
+#else
+#include <xpdf/config.h> /* just to get the xpdf version */
+#define xpdfString "xpdf"
+#endif
+
/* Do this early in order to avoid a conflict between
MINGW32 <rpcndr.h> defining 'boolean' as 'unsigned char' and
<kpathsea/types.h> defining Pascal's boolean as 'int'.
@@ -292,7 +292,7 @@ static void copyDictEntry(Object * obj,
Object obj1;
copyName(obj->dictGetKey(i));
pdf_puts(" ");
- obj1 = obj->dictGetValNF(i);
+ obj1 = obj->dictGetValNF(i).copy();
copyObject(&obj1);
pdf_puts("\n");
}
@@ -351,7 +351,7 @@ static void copyProcSet(Object * obj)
obj->getTypeName());
pdf_puts("/ProcSet [ ");
for (i = 0, l = obj->arrayGetLength(); i < l; ++i) {
- procset = obj->arrayGetNF(i);
+ procset = obj->arrayGetNF(i).copy();
if (!procset.isName())
pdftex_fail("PDF inclusion: invalid ProcSet entry type <%s>",
procset.getTypeName());
@@ -406,7 +406,7 @@ static void copyFont(const char *tag, Ob
if (fontdict.isDict()) {
subtype = fontdict.dictLookup("Subtype");
basefont = fontdict.dictLookup("BaseFont");
- fontdescRef = fontdict.dictLookupNF("FontDescriptor");
+ fontdescRef = fontdict.dictLookupNF("FontDescriptor").copy();
if (fontdescRef.isRef()) {
fontdesc = fontdescRef.fetch(xref);
}
@@ -452,7 +452,7 @@ static void copyFontResources(Object * o
obj->getTypeName());
pdf_puts("/Font << ");
for (i = 0, l = obj->dictGetLength(); i < l; ++i) {
- fontRef = obj->dictGetValNF(i);
+ fontRef = obj->dictGetValNF(i).copy();
if (fontRef.isRef())
copyFont(obj->dictGetKey(i), &fontRef);
else if (fontRef.isDict()) { // some programs generate pdf with embedded font object
@@ -595,7 +595,7 @@ static void copyObject(Object * obj)
} else if (obj->isArray()) {
pdf_puts("[");
for (i = 0, l = obj->arrayGetLength(); i < l; ++i) {
- obj1 = obj->arrayGetNF(i);
+ obj1 = obj->arrayGetNF(i).copy();
if (!obj1.isName())
pdf_puts(" ");
copyObject(&obj1);
@@ -723,7 +723,7 @@ read_pdf_info(char *image_name, char *pa
#endif
// initialize
if (!isInit) {
- globalParams = new GlobalParams();
+ globalParams = std::unique_ptr<GlobalParams>(new GlobalParams());
globalParams->setErrQuiet(false);
isInit = true;
}
@@ -761,7 +761,7 @@ read_pdf_info(char *image_name, char *pa
if (link == 0 || !link->isOk())
pdftex_fail("PDF inclusion: invalid destination <%s>", page_name);
Ref ref = link->getPageRef();
- page_num = pdf_doc->doc->getCatalog()->findPage(ref.num, ref.gen);
+ page_num = pdf_doc->doc->getCatalog()->findPage(ref);
if (page_num == 0)
pdftex_fail("PDF inclusion: destination is not a page <%s>",
page_name);
@@ -921,13 +921,13 @@ void write_epdf(void)
pdf_puts(stripzeros(s));
// Metadata validity check (as a stream it must be indirect)
- dictObj = pageDict->lookupNF("Metadata");
+ dictObj = pageDict->lookupNF("Metadata").copy();
if (!dictObj.isNull() && !dictObj.isRef())
pdftex_warn("PDF inclusion: /Metadata must be indirect object");
// copy selected items in Page dictionary except Resources & Group
for (i = 0; pageDictKeys[i] != NULL; i++) {
- dictObj = pageDict->lookupNF(pageDictKeys[i]);
+ dictObj = pageDict->lookupNF(pageDictKeys[i]).copy();
if (!dictObj.isNull()) {
pdf_newline();
pdf_printf("/%s ", pageDictKeys[i]);
@@ -936,7 +936,7 @@ void write_epdf(void)
}
// handle page group
- dictObj = pageDict->lookupNF("Group");
+ dictObj = pageDict->lookupNF("Group").copy();
if (!dictObj.isNull()) {
if (pdfpagegroupval == 0) {
// another pdf with page group was included earlier on the
@@ -978,7 +978,7 @@ The changes below seem to work fine.
l = dic1.getLength();
for (i = 0; i < l; i++) {
groupDict.dictAdd(dic1.getKey(i),
- dic1.getValNF(i));
+ dic1.getValNF(i).copy());
}
// end modification
pdf_printf("/Group %ld 0 R\n", (long)pdfpagegroupval);
@@ -1108,6 +1108,6 @@ void epdf_check_mem()
delete_document(p);
}
// see above for globalParams
- delete globalParams;
+ globalParams.reset();
}
}
--- texlive-base-20190410/source/texk/web2c/pdftexdir/pdftosrc.cc
+++ texlive-base-20190410/source/texk/web2c/pdftexdir/pdftosrc.cc
@@ -24,6 +24,15 @@ by Arch Linux. The poppler should be 0.5
POPPLER_VERSION should be defined.
*/
+#ifdef POPPLER_VERSION
+#include <poppler-config.h>
+#define xpdfVersion POPPLER_VERSION
+#define xpdfString "poppler"
+#else
+#include <xpdf/config.h> /* just to get the xpdf version */
+#define xpdfString "xpdf"
+#endif
+
#include <w2c/config.h>
#include <stdlib.h>
@@ -79,7 +79,7 @@ int main(int argc, char *argv[])
exit(1);
}
fileName = new GString(argv[1]);
- globalParams = new GlobalParams();
+ globalParams = std::unique_ptr<GlobalParams>(new GlobalParams());
doc = new PDFDoc(fileName);
if (!doc->isOk()) {
fprintf(stderr, "Invalid PDF file\n");
@@ -100,7 +100,7 @@ int main(int argc, char *argv[])
if (objnum == 0) {
srcStream = catalogDict.dictLookup("SourceObject");
static char const_SourceFile[] = "SourceFile";
- if (!srcStream.isStream(const_SourceFile)) {
+ if (!(srcStream.isStream() && srcStream.getDict()->is(const_SourceFile))) {
fprintf(stderr, "No SourceObject found\n");
exit(1);
}
@@ -156,7 +156,6 @@ int main(int argc, char *argv[])
(e->type == xrefEntryFree ? "f" : "n"));
else { // e->offset is the object number of the object stream
Stream *str;
- Lexer *lexer;
Parser *parser;
Object objStr, obj1, obj2;
int nObjects, first, n;
@@ -174,8 +173,7 @@ int main(int argc, char *argv[])
// parse the header: object numbers and offsets
objStr.streamReset();
str = new EmbedStream(objStr.getStream(), Object(objNull), true, first);
- lexer = new Lexer(xref, str);
- parser = new Parser(xref, lexer, false);
+ parser = new Parser(xref, str, false);
for (n = 0; n < nObjects; ++n) {
obj1 = parser->getObj();
obj2 = parser->getObj();
@@ -207,5 +207,5 @@ int main(int argc, char *argv[])
fprintf(stderr, "Cross-reference table extracted to %s\n", outname);
fclose(outfile);
delete doc;
- delete globalParams;
+ globalParams.reset();
}
--- texlive-base-20190410/source/texk/web2c/pdftexdir/utils.c
+++ texlive-base-20190410/source/texk/web2c/pdftexdir/utils.c
@@ -32,14 +32,6 @@ with this program. If not, see <http://
#include <zlib.h>
#include "ptexlib.h"
#include <png.h>
-#ifdef POPPLER_VERSION
-#include <poppler-config.h>
-#define xpdfVersion POPPLER_VERSION
-#define xpdfString "poppler"
-#else
-#include <xpdf/config.h> /* just to get the xpdf version */
-#define xpdfString "xpdf"
-#endif
#define check_nprintf(size_get, size_want) \
if ((unsigned)(size_get) >= (unsigned)(size_want)) \
@@ -977,12 +969,10 @@ void initversionstring(char **versions)
{
const_string fmt =
"Compiled with libpng %s; using libpng %s\n"
- "Compiled with zlib %s; using zlib %s\n"
- "Compiled with %s version %s\n";
+ "Compiled with zlib %s; using zlib %s\n";
size_t len = strlen(fmt)
+ strlen(PNG_LIBPNG_VER_STRING) + strlen(png_libpng_ver)
+ strlen(ZLIB_VERSION) + strlen(zlib_version)
- + strlen(xpdfString) + strlen(xpdfVersion)
+ 1;
/* len will be more than enough, because of the placeholder chars in fmt
@@ -990,7 +980,7 @@ void initversionstring(char **versions)
*versions = xmalloc(len);
sprintf(*versions, fmt,
PNG_LIBPNG_VER_STRING, png_libpng_ver,
- ZLIB_VERSION, zlib_version, xpdfString, xpdfVersion);
+ ZLIB_VERSION, zlib_version);
}
--- texlive-base-20190410/source/texk/web2c/xetexdir/XeTeX_ext.c
+++ texlive-base-20190410/source/texk/web2c/xetexdir/XeTeX_ext.c
@@ -38,7 +38,6 @@ authorization from the copyright holders
#include <w2c/config.h>
-#include <poppler-config.h>
#include <png.h>
#include <zlib.h>
#include <graphite2/Font.h>
@@ -167,7 +166,6 @@ void initversionstring(char **versions)
"Compiled with Graphite2 version %d.%d.%d; using %d.%d.%d\n"
"Compiled with HarfBuzz version %s; using %s\n"
"Compiled with libpng version %s; using %s\n"
- "Compiled with poppler version %s\n"
#ifdef XETEX_MAC
"Using Mac OS X Core Text and Cocoa frameworks\n"
#else
@@ -184,7 +182,6 @@ void initversionstring(char **versions)
+ strlen(hb_version_string())
+ strlen(PNG_LIBPNG_VER_STRING)
+ strlen(png_libpng_ver)
- + strlen(POPPLER_VERSION)
#ifndef XETEX_MAC
+ 6 * 3 /* for fontconfig version #s (won't really need 3 digits per field!) */
#endif
@@ -214,7 +211,7 @@ void initversionstring(char **versions)
GR2_VERSION_MAJOR, GR2_VERSION_MINOR, GR2_VERSION_BUGFIX,
grMajor, grMinor, grBugfix,
HB_VERSION_STRING, hb_version_string(),
- PNG_LIBPNG_VER_STRING, png_libpng_ver, POPPLER_VERSION
+ PNG_LIBPNG_VER_STRING, png_libpng_ver
#ifndef XETEX_MAC
,
FC_VERSION / 10000, (FC_VERSION % 10000) / 100, FC_VERSION % 100,

View file

@ -1,12 +0,0 @@
diff -up texlive-base-20200327/source/texk/kpathsea/texmf.cnf.me texlive-base-20200327/source/texk/kpathsea/texmf.cnf
--- texlive-base-20200327/source/texk/kpathsea/texmf.cnf.me 2020-09-23 09:35:26.729192291 +0200
+++ texlive-base-20200327/source/texk/kpathsea/texmf.cnf 2020-09-23 09:36:01.849651692 +0200
@@ -786,7 +786,7 @@ texmf_casefold_search = 1
% For some xy-pic samples, you may need as much as 700000 words of memory.
% For the vast majority of documents, 60000 or less will do.
%
-main_memory = 5000000 % words of inimemory available; also applies to inimf&mp
+main_memory = 6000000 % words of inimemory available; also applies to inimf&mp
extra_mem_top = 0 % extra high memory for chars, tokens, etc.
extra_mem_bot = 0 % extra low memory for boxes, glue, breakpoints, etc.

View file

@ -1,210 +0,0 @@
diff -up texlive-base-20200327/source/texk/texlive/linked_scripts/pygmentex/pygmentex.py.10 texlive-base-20200327/source/texk/texlive/linked_scripts/pygmentex/pygmentex.py
--- texlive-base-20200327/source/texk/texlive/linked_scripts/pygmentex/pygmentex.py.10 2014-08-20 17:53:18.000000000 -0400
+++ texlive-base-20200327/source/texk/texlive/linked_scripts/pygmentex/pygmentex.py 2021-03-18 14:34:36.879392389 -0400
@@ -1,4 +1,4 @@
-#! /usr/bin/env python2
+#! /usr/bin/env python3
# -*- coding: utf-8 -*-
"""
@@ -8,11 +8,11 @@
PygmenTeX is a converter that do syntax highlighting of snippets of
source code extracted from a LaTeX file.
- :copyright: Copyright 2014 by José Romildo Malaquias
+ :copyright: Copyright 2020 by José Romildo Malaquias
:license: BSD, see LICENSE for details
"""
-__version__ = '0.8'
+__version__ = '0.10'
__docformat__ = 'restructuredtext'
import sys
@@ -27,6 +27,7 @@ from pygments.formatters.latex import La
from pygments.util import get_bool_opt, get_int_opt
from pygments.lexer import Lexer
from pygments.token import Token
+from pygments.util import guess_decode
###################################################
# The following code is in >=pygments-2.0
@@ -56,24 +57,24 @@ class EnhancedLatexFormatter(LatexFormat
realoutfile = outfile
outfile = StringIO()
- outfile.write(u'\\begin{Verbatim}[commandchars=\\\\\\{\\}')
+ outfile.write(r'\begin{Verbatim}[commandchars=\\\{\}')
if self.linenos:
start, step = self.linenostart, self.linenostep
- outfile.write(u',numbers=left' +
- (start and u',firstnumber=%d' % start or u'') +
- (step and u',stepnumber=%d' % step or u''))
+ outfile.write(',numbers=left' +
+ (start and ',firstnumber=%d' % start or '') +
+ (step and ',stepnumber=%d' % step or ''))
if self.mathescape or self.texcomments or self.escapeinside:
- outfile.write(u',codes={\\catcode`\\$=3\\catcode`\\^=7\\catcode`\\_=8}')
+ outfile.write(r',codes={\catcode`\$=3\catcode`\^=7\catcode`\_=8}')
if self.verboptions:
- outfile.write(u',' + self.verboptions)
- outfile.write(u']\n')
+ outfile.write(',' + self.verboptions)
+ outfile.write(']\n')
for ttype, value in tokensource:
if ttype in Token.Comment:
if self.texcomments:
# Try to guess comment starting lexeme and escape it ...
start = value[0:1]
- for i in xrange(1, len(value)):
+ for i in range(1, len(value)):
if start[0] != value[i]:
break
start += value[i]
@@ -129,7 +130,7 @@ class EnhancedLatexFormatter(LatexFormat
else:
outfile.write(value)
- outfile.write(u'\\end{Verbatim}\n')
+ outfile.write('\\end{Verbatim}\n')
if self.full:
realoutfile.write(DOC_TEMPLATE %
@@ -232,7 +233,7 @@ DISPLAY_LINENOS_SNIPPET_TEMPLATE = r'''
'''
-def pyg(outfile, n, opts, extra_opts, text, usedstyles, inline_delim = ''):
+def pyg(outfile, outencoding, n, opts, extra_opts, text, usedstyles, inline_delim = ''):
try:
lexer = get_lexer_by_name(opts['lang'])
except ClassNotFound as err:
@@ -260,27 +261,8 @@ def pyg(outfile, n, opts, extra_opts, te
if tabsize:
lexer.tabsize = tabsize
- encoding = opts['encoding']
- if encoding == 'guess':
- try:
- import chardet
- except ImportError:
- try:
- text = text.decode('utf-8')
- if text.startswith(u'\ufeff'):
- text = text[len(u'\ufeff'):]
- encoding = 'utf-8'
- except UnicodeDecodeError:
- text = text.decode('latin1')
- encoding = 'latin1'
- else:
- encoding = chardet.detect(text)['encoding']
- text = text.decode(encoding)
- else:
- text = text.decode(encoding)
-
lexer.encoding = ''
- _fmter.encoding = encoding
+ # _fmter.encoding = outencoding
stylename = opts['sty']
@@ -367,7 +349,7 @@ _re_input = re.compile(
r'^<@@pygmented@input@(\d+)\n(.*)\n([\s\S]*?)\n>@@pygmented@input@\1$',
re.MULTILINE)
-def convert(code, outfile):
+def convert(code, outfile, outencoding):
"""
Convert ``code``
"""
@@ -393,6 +375,7 @@ def convert(code, outfile):
m = _re_inline.match(code, pos)
if m:
pyg(outfile,
+ outencoding,
m.group(1),
parse_opts(opts.copy(), m.group(2)),
'',
@@ -405,6 +388,7 @@ def convert(code, outfile):
m = _re_display.match(code, pos)
if m:
pyg(outfile,
+ outencoding,
m.group(1),
parse_opts(opts.copy(), m.group(2)),
'',
@@ -415,15 +399,16 @@ def convert(code, outfile):
m = _re_input.match(code, pos)
if m:
+ opts_new = parse_opts(opts, m.group(2))
try:
- filecontents = open(m.group(3), 'rb').read()
+ filecontents, inencoding = read_input(m.group(3), opts_new['encoding'])
except Exception as err:
- sys.stderr.write('Error: cannot read input file: ')
- sys.stderr.write(str(err))
+ print('Error: cannot read input file: ', err, file=sys.stderr)
else:
pyg(outfile,
+ outencoding,
m.group(1),
- parse_opts(opts, m.group(2)),
+ opts_new,
"",
filecontents,
usedstyles)
@@ -435,6 +420,16 @@ def convert(code, outfile):
outfile.write(GENERIC_DEFINITIONS_2)
+def read_input(filename, encoding):
+ with open(filename, 'rb') as infp:
+ code = infp.read()
+
+ if not encoding or encoding == 'guess':
+ code, encoding = guess_decode(code)
+ else:
+ code = code.decode(encoding)
+
+ return code, encoding
USAGE = """\
@@ -486,7 +481,7 @@ def main(args = sys.argv):
return 0
if opts.pop('-V', None) is not None:
- print('PygmenTeX version %s, (c) 2010 by José Romildo.' % __version__)
+ print('PygmenTeX version %s, (c) 2020 by José Romildo.' % __version__)
return 0
if len(args) != 1:
@@ -494,10 +489,9 @@ def main(args = sys.argv):
return 2
infn = args[0]
try:
- code = open(infn, 'rb').read()
+ code, inencoding = read_input(infn, "guess")
except Exception as err:
- sys.stderr.write('Error: cannot read input file: ')
- sys.stderr.write(str(err))
+ print('Error: cannot read input file: ', err, file=sys.stderr)
return 1
outfn = opts.pop('-o', None)
@@ -507,11 +501,10 @@ def main(args = sys.argv):
try:
outfile = open(outfn, 'w')
except Exception as err:
- sys.stderr.write('Error: cannot open output file: ')
- sys.stderr.write(str(err))
+ print('Error: cannot open output file: ', err, file=sys.stderr)
return 1
- convert(code, outfile)
+ convert(code, outfile, inencoding)
return 0

View file

@ -1,159 +0,0 @@
diff -up texlive-base-20210325/source/configure.poppler-xpdf-fix texlive-base-20210325/source/configure
--- texlive-base-20210325/source/configure.poppler-xpdf-fix 2021-03-24 17:28:22.000000000 -0400
+++ texlive-base-20210325/source/configure 2021-05-10 15:21:08.254142588 -0400
@@ -21497,7 +21497,27 @@ if test "x$with_mpfr_libdir" != x && tes
MPFR_LIBS="-L$with_mpfr_libdir $MPFR_LIBS"
fi
-: "kpse_xpdf_system_flags - no-op"
+if $PKG_CONFIG poppler --atleast-version=0.30; then
+ POPPLER_INCLUDES=`$PKG_CONFIG poppler --cflags`
+ POPPLER_LIBS=`$PKG_CONFIG poppler --libs`
+elif test "x$need_poppler:$with_system_poppler" = xyes:yes; then
+ as_fn_error $? "did not find poppler 0.30 or better" "$LINENO" 5
+fi
+
+POPPLER_VERSION='-DPOPPLER_VERSION=\"'`$PKG_CONFIG poppler --modversion`'\"'
+POPPLER_INCLUDES="$POPPLER_VERSION $POPPLER_INCLUDES"
+
+if $PKG_CONFIG poppler --atleast-version=0.12; then
+ XPDF_INCLUDES=`$PKG_CONFIG poppler --cflags`
+ XPDF_LIBS=`$PKG_CONFIG poppler --libs`
+elif test "x$need_xpdf:$with_system_xpdf" = xyes:yes; then
+ as_fn_error $? "did not find poppler 0.12 or better" "$LINENO" 5
+fi
+
+POPPLER_VERSION='-DPOPPLER_VERSION=\"'`$PKG_CONFIG poppler --modversion`'\"'
+XPDF_INCLUDES="$POPPLER_VERSION $XPDF_INCLUDES"
+
+# : "kpse_xpdf_system_flags - no-op"
if $PKG_CONFIG zziplib --atleast-version=0.12; then
ZZIPLIB_INCLUDES=`$PKG_CONFIG zziplib --cflags`
diff -up texlive-base-20210325/source/texk/web2c/configure.poppler-xpdf-fix texlive-base-20210325/source/texk/web2c/configure
--- texlive-base-20210325/source/texk/web2c/configure.poppler-xpdf-fix 2021-02-16 22:03:54.000000000 -0500
+++ texlive-base-20210325/source/texk/web2c/configure 2021-05-10 15:21:08.256142617 -0400
@@ -25500,9 +25500,21 @@ fi
##tldbg _KPSE_LIB_FLAGS: Setup xpdf (-lxpdf) flags.
echo 'tldbg:_KPSE_LIB_FLAGS called: libdir=xpdf, libname=xpdf, options=, tlincl=-DPDF_PARSER_ONLY -IBLD/libs/xpdf -IBLD/libs/xpdf/goo -IBLD/libs/xpdf/xpdf, tllib=BLD/libs/xpdf/libxpdf.a, tlextra=, rebuildsrcdeps=, rebuildblddeps=${top_builddir}/../../libs/xpdf/xpdf/Stream.h.' >&5
##tldbg _KPSE_LIB_FLAGS_TL: xpdf (xpdf) .
-: "kpse_xpdf_options - no-op"
+# Check whether --with-system-xpdf was given.
+if test "${with_system_xpdf+set}" = set; then :
+ withval=$with_system_xpdf;
+fi
+
if test "x$with_system_xpdf" = xyes; then
- : "kpse_xpdf_system_flags - no-op"
+ if $PKG_CONFIG poppler --atleast-version=0.12; then
+ XPDF_INCLUDES=`$PKG_CONFIG poppler --cflags`
+ XPDF_LIBS=`$PKG_CONFIG poppler --libs`
+elif test "x$need_xpdf:$with_system_xpdf" = xyes:yes; then
+ as_fn_error $? "did not find poppler 0.12 or better" "$LINENO" 5
+fi
+
+POPPLER_VERSION='-DPOPPLER_VERSION=\"'`$PKG_CONFIG poppler --modversion`'\"'
+XPDF_INCLUDES="$POPPLER_VERSION $XPDF_INCLUDES"
else
XPDF_INCLUDES="-DPDF_PARSER_ONLY -I$kpse_BLD/libs/xpdf -I$kpse_BLD/libs/xpdf/goo -I$kpse_BLD/libs/xpdf/xpdf"
XPDF_LIBS="$kpse_BLD/libs/xpdf/libxpdf.a"
diff -up texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler-xpdf-fix texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc
--- texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler-xpdf-fix 2021-05-10 15:56:50.770034767 -0400
+++ texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc 2021-05-10 16:05:07.939283063 -0400
@@ -49,10 +49,16 @@ POPPLER_VERSION should be defined.
#include <string.h>
#include <ctype.h>
-#include <aconf.h>
-#include <GString.h>
-#include <gmem.h>
-#include <gfile.h>
+#ifdef POPPLER_VERSION
+#include <dirent.h>
+#include <poppler-config.h>
+#include <goo/GooString.h>
+#include <goo/gmem.h>
+#include <goo/gfile.h>
+#define GString GooString
+#else
+#error POPPLER_VERSION should be defined.
+#endif
#include <assert.h>
#include "Object.h"
@@ -676,7 +682,7 @@ static void writeEncodings()
}
for (r = encodingList; r != 0; r = n) {
n = r->next;
- delete r->font;
+ r->font->decRefCnt();
delete r;
}
}
@@ -715,7 +721,7 @@ read_pdf_info(char *image_name, char *pa
PdfDocument *pdf_doc;
Page *page;
const PDFRectangle *pagebox;
- float pdf_version_found, pdf_version_wanted;
+ int pdf_major_version_found, pdf_minor_version_found;
// initialize
if (!isInit) {
globalParams = std::unique_ptr<GlobalParams>(new GlobalParams());
@@ -730,17 +736,18 @@ read_pdf_info(char *image_name, char *pa
// this works only for PDF 1.x -- but since any versions of PDF newer
// than 1.x will not be backwards compatible to PDF 1.x, pdfTeX will
// then have to changed drastically anyway.
- pdf_version_found = pdf_doc->doc->getPDFVersion();
- pdf_version_wanted = major_pdf_version_wanted + (minor_pdf_version_wanted * 0.1);
- if (pdf_version_found > pdf_version_wanted + 0.01) {
- char msg[] =
- "PDF inclusion: found PDF version <%.1f>, but at most version <%.1f> allowed";
+ pdf_major_version_found = pdf_doc->doc->getPDFMajorVersion();
+ pdf_minor_version_found = pdf_doc->doc->getPDFMinorVersion();
+ if ((pdf_major_version_found > major_pdf_version_wanted)
+ || (pdf_minor_version_found > minor_pdf_version_wanted)) {
+ const char *msg =
+ "PDF inclusion: found PDF version <%d.%d>, but at most version <%d.%d> allowed";
if (pdf_inclusion_errorlevel > 0) {
- pdftex_fail(msg, pdf_version_found, pdf_version_wanted);
+ pdftex_fail(msg, pdf_major_version_found, pdf_minor_version_found, major_pdf_version_wanted, minor_pdf_version_wanted);
} else if (pdf_inclusion_errorlevel < 0) {
; /* do nothing */
} else { /* = 0, give warning */
- pdftex_warn(msg, pdf_version_found, pdf_version_wanted);
+ pdftex_warn(msg, pdf_major_version_found, pdf_minor_version_found, major_pdf_version_wanted, minor_pdf_version_wanted);
}
}
epdf_num_pages = pdf_doc->doc->getCatalog()->getNumPages();
diff -up texlive-base-20210325/source/texk/web2c/pdftexdir/pdftosrc.cc.poppler-xpdf-fix texlive-base-20210325/source/texk/web2c/pdftexdir/pdftosrc.cc
--- texlive-base-20210325/source/texk/web2c/pdftexdir/pdftosrc.cc.poppler-xpdf-fix 2021-05-10 15:26:43.545060694 -0400
+++ texlive-base-20210325/source/texk/web2c/pdftexdir/pdftosrc.cc 2021-05-10 16:06:58.614896618 -0400
@@ -41,10 +41,15 @@ POPPLER_VERSION should be defined.
#include <string.h>
#include <ctype.h>
-#include <aconf.h>
-#include <GString.h>
-#include <gmem.h>
-#include <gfile.h>
+#ifdef POPPLER_VERSION
+#define GString GooString
+#include <dirent.h>
+#include <goo/GooString.h>
+#include <goo/gmem.h>
+#include <goo/gfile.h>
+#else
+#error POPPLER_VERSION should be defined.
+#endif
#include <assert.h>
#include "Object.h"
@@ -183,7 +188,7 @@ int main(int argc, char *argv[])
if (n == e->gen)
localOffset = obj2.getInt();
}
-#if defined(XPDF304)
+#if defined(POPPLER_VERSION) || defined(XPDF304)
while (str->getChar() != EOF) ;
#else /* xpdf 4.00 */
lexer->skipToEOF();

View file

@ -1,168 +0,0 @@
diff -U0 texlive-base-20210325/source/texk/mendexk/ChangeLog.archfix texlive-base-20210325/source/texk/mendexk/ChangeLog
--- texlive-base-20210325/source/texk/mendexk/ChangeLog.archfix 2021-05-27 15:01:46.888501972 -0400
+++ texlive-base-20210325/source/texk/mendexk/ChangeLog 2021-05-27 15:02:10.669627643 -0400
@@ -0,0 +1,13 @@
+2021-05-09 Karl Berry <karl@freefriends.org>
+
+ * mendex.h (page.attr): use int, not char, since we do signed
+ comparison and aarch64 apparently treats char as unsigned.
+ (index.words): use unsigned char for consistency.
+ * fwrite.c (printpage): factor out beginning/end page values.
+ * tests/rangetwo.idx,
+ * tests/rangetwo.ind,
+ * tests/rangetwo.ist: new simple test.
+ * tests/mendex.test: run the rangetwo test.
+ Report from Johannes Hielscher,
+ https://tug.org/pipermail/tlbuild/2021q1/004873.html.
+
diff -up texlive-base-20210325/source/texk/mendexk/fwrite.c.archfix texlive-base-20210325/source/texk/mendexk/fwrite.c
--- texlive-base-20210325/source/texk/mendexk/fwrite.c.archfix 2021-05-27 15:02:37.867771347 -0400
+++ texlive-base-20210325/source/texk/mendexk/fwrite.c 2021-05-27 15:07:00.875160968 -0400
@@ -326,7 +326,11 @@ static void printpage(struct index *ind,
for(j=0;j<ind[num].num;j++) {
cc=range_check(ind[num],j,lbuff);
if (cc>j) {
- if (pnumconv(ind[num].p[j].page,ind[num].p[j].attr[0])==pnumconv(ind[num].p[cc].page,ind[num].p[cc].attr[0])) {
+ int epage = pnumconv(ind[num].p[cc].page,
+ ind[num].p[cc].attr[0]);
+ int bpage = pnumconv(ind[num].p[j].page,
+ ind[num].p[j].attr[0]);
+ if (epage==bpage) {
j=cc-1;
continue;
}
@@ -337,20 +341,18 @@ static void printpage(struct index *ind,
if (strlen(ind[num].p[j].enc)>0) {
SPRINTF(buff,"%s%s%s",encap_prefix,ind[num].p[j].enc,encap_infix);
}
- if (strlen(suffix_3p)>0 && (pnumconv(ind[num].p[cc].page,ind[num].p[cc].attr[0])-pnumconv(ind[num].p[j].page,ind[num].p[j].attr[0]))==2) {
- SAPPENDF(buff,"%s",ind[num].p[j].page);
+ /* print beginning of range */
+ SAPPENDF(buff,"%s",ind[num].p[j].page);
+ if (strlen(suffix_3p)>0 && (epage-bpage)==2) {
SAPPENDF(buff,"%s",suffix_3p);
}
- else if (strlen(suffix_mp)>0 && (pnumconv(ind[num].p[cc].page,ind[num].p[cc].attr[0])-pnumconv(ind[num].p[j].page,ind[num].p[j].attr[0]))>=2) {
- SAPPENDF(buff,"%s",ind[num].p[j].page);
+ else if (strlen(suffix_mp)>0 && (epage-bpage)>=2) {
SAPPENDF(buff,"%s",suffix_mp);
}
- else if (strlen(suffix_2p)>0 && (pnumconv(ind[num].p[cc].page,ind[num].p[cc].attr[0])-pnumconv(ind[num].p[j].page,ind[num].p[j].attr[0]))==1) {
- SAPPENDF(buff,"%s",ind[num].p[j].page);
+ else if (strlen(suffix_2p)>0 && (epage-bpage)==1) {
SAPPENDF(buff,"%s",suffix_2p);
}
else {
- SAPPENDF(buff,"%s",ind[num].p[j].page);
SAPPENDF(buff,"%s",delim_r);
SAPPENDF(buff,"%s",ind[num].p[cc].page);
}
diff -up texlive-base-20210325/source/texk/mendexk/mendex.h.archfix texlive-base-20210325/source/texk/mendexk/mendex.h
--- texlive-base-20210325/source/texk/mendexk/mendex.h.archfix 2021-05-27 15:07:31.173321042 -0400
+++ texlive-base-20210325/source/texk/mendexk/mendex.h 2021-05-27 15:07:50.429422834 -0400
@@ -14,12 +14,12 @@
struct page {
char *page;
char *enc;
- char attr[3];
+ int attr[3];
};
struct index {
int num;
- char words;
+ unsigned char words;
char *org[3];
char *dic[3];
char *idx[3];
diff -up texlive-base-20210325/source/texk/mendexk/tests/mendex.test.archfix texlive-base-20210325/source/texk/mendexk/tests/mendex.test
--- texlive-base-20210325/source/texk/mendexk/tests/mendex.test.archfix 2021-05-27 15:08:12.848541283 -0400
+++ texlive-base-20210325/source/texk/mendexk/tests/mendex.test 2021-05-27 15:13:28.110189451 -0400
@@ -1,6 +1,6 @@
#! /bin/sh -vx
# $Id: mendex.test 58575 2021-03-21 08:54:52Z takuji $
-# Copyright 2017 Karl Berry <tex-live@tug.org>
+# Copyright 2017-2021 Karl Berry <tex-live@tug.org>
# Copyright 2013 Peter Breitenlohner <tex-live@tug.org>
# You may freely use, modify and/or distribute this file.
@@ -24,13 +24,21 @@ cat $srcdir/tests/uni.idx | \
>uni.ind2 2>uni.ilg2 \
&& diff $srcdir/tests/uni.ind uni.ind2 || exit 1
-# test for page_precedence
-./mendex -s $srcdir/tests/pprec0.ist $srcdir/tests/pprecA.idx -o pprecA-0.ind1 -t pprecA-0.ilg \
+# test for two-element range suffix_2p
+./mendex -s $srcdir/tests/rangetwo.ist $srcdir/tests/rangetwo.idx \
+ -o rangetwo.ind1 -t rangetwo.ilg \
+ && diff $srcdir/tests/rangetwo.ind rangetwo.ind1 || exit 1
+
+# test for page_precedence and suffix_3p
+./mendex -s $srcdir/tests/pprec0.ist $srcdir/tests/pprecA.idx \
+ -o pprecA-0.ind1 -t pprecA-0.ilg \
&& diff $srcdir/tests/pprecA-0.ind pprecA-0.ind1 || exit 1
-./mendex -s $srcdir/tests/pprec1.ist $srcdir/tests/pprecA.idx -o pprecA-1.ind1 -t pprecA-1.ilg \
+./mendex -s $srcdir/tests/pprec1.ist $srcdir/tests/pprecA.idx \
+ -o pprecA-1.ind1 -t pprecA-1.ilg \
&& diff $srcdir/tests/pprecA-1.ind pprecA-1.ind1 || exit 1
-./mendex -s $srcdir/tests/pprec2.ist $srcdir/tests/pprecA.idx -o pprecA-2.ind1 -t pprecA-2.ilg \
+./mendex -s $srcdir/tests/pprec2.ist $srcdir/tests/pprecA.idx \
+ -o pprecA-2.ind1 -t pprecA-2.ilg \
&& diff $srcdir/tests/pprecA-2.ind pprecA-2.ind1 || exit 1
diff -up texlive-base-20210325/source/texk/mendexk/tests/rangetwo.idx.archfix texlive-base-20210325/source/texk/mendexk/tests/rangetwo.idx
--- texlive-base-20210325/source/texk/mendexk/tests/rangetwo.idx.archfix 2021-05-27 15:14:09.048403077 -0400
+++ texlive-base-20210325/source/texk/mendexk/tests/rangetwo.idx 2021-05-27 15:14:03.416373688 -0400
@@ -0,0 +1,2 @@
+\indexentry{entryA}{1}
+\indexentry{entryA}{2}
diff -up texlive-base-20210325/source/texk/mendexk/tests/rangetwo.ind.archfix texlive-base-20210325/source/texk/mendexk/tests/rangetwo.ind
--- texlive-base-20210325/source/texk/mendexk/tests/rangetwo.ind.archfix 2021-05-27 15:14:30.601515549 -0400
+++ texlive-base-20210325/source/texk/mendexk/tests/rangetwo.ind 2021-05-27 15:14:59.970668807 -0400
@@ -0,0 +1,5 @@
+\begin{theindex}
+
+ \item entryA, 1[[sfx2p]]
+
+\end{theindex}
diff -up texlive-base-20210325/source/texk/mendexk/tests/rangetwo.ist.archfix texlive-base-20210325/source/texk/mendexk/tests/rangetwo.ist
--- texlive-base-20210325/source/texk/mendexk/tests/rangetwo.ist.archfix 2021-05-27 15:15:24.712797920 -0400
+++ texlive-base-20210325/source/texk/mendexk/tests/rangetwo.ist 2021-05-27 15:15:51.412937250 -0400
@@ -0,0 +1,2 @@
+suffix_2p "[[sfx2p]]"
+
diff -U0 texlive-base-20210325/source/texk/upmendex/ChangeLog.archfix texlive-base-20210325/source/texk/upmendex/ChangeLog
--- texlive-base-20210325/source/texk/upmendex/ChangeLog.archfix 2021-05-27 14:58:11.836365567 -0400
+++ texlive-base-20210325/source/texk/upmendex/ChangeLog 2021-05-27 14:59:42.613845327 -0400
@@ -0,0 +1,11 @@
+2021-05-09 Karl Berry <karl@freefriends.org>
+ * mendex.h (page.attr): use int, not char, since we do signed
+ comparison and aarch64 apparently treats char as unsigned.
+ (index.words): use unsigned char for consistency.
+
+ Same fixes as for mendex; see mendexk/ChangeLog.
+ Report from Johannes Hielscher,
+ https://tug.org/pipermail/tlbuild/2021q1/004873.html
+ and follow-up:
+ https://tug.org/pipermail/tlbuild/2021q2/004911.html
+
diff -up texlive-base-20210325/source/texk/upmendex/mendex.h.archfix texlive-base-20210325/source/texk/upmendex/mendex.h
--- texlive-base-20210325/source/texk/upmendex/mendex.h.archfix 2021-05-27 14:59:52.774899013 -0400
+++ texlive-base-20210325/source/texk/upmendex/mendex.h 2021-05-27 15:01:33.381430577 -0400
@@ -14,12 +14,12 @@
struct page {
char *page;
char *enc;
- char attr[3];
+ int attr[3];
};
struct index {
int num;
- char words;
+ unsigned char words;
UChar *dic[3];
UChar *org[3];
UChar *idx[3];

View file

@ -1,10 +0,0 @@
diff -up texlive-base-20210325/source/utils/asymptote/patches/dvipdf.no-setpdfwrite texlive-base-20210325/source/utils/asymptote/patches/dvipdf
--- texlive-base-20210325/source/utils/asymptote/patches/dvipdf.no-setpdfwrite 2021-06-21 10:05:10.392585479 -0400
+++ texlive-base-20210325/source/utils/asymptote/patches/dvipdf 2021-06-21 10:05:30.969698895 -0400
@@ -50,5 +50,5 @@ fi
# We have to include the options twice because -I only takes effect if it
# appears before other options.
-exec dvips $DVIPSOPTIONS -q -f "$infile" | $GS_EXECUTABLE $OPTIONS -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sstdout=%stderr -sOutputFile="$outfile" $OPTIONS -c .setpdfwrite -
+exec dvips $DVIPSOPTIONS -q -f "$infile" | $GS_EXECUTABLE $OPTIONS -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sstdout=%stderr -sOutputFile="$outfile" $OPTIONS -c 3000000 setvmthreshold -

View file

@ -1,34 +0,0 @@
diff -up texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc.debug texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc
--- texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc.debug 2022-01-20 10:25:58.454233201 -0500
+++ texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc 2022-01-20 12:57:04.241513707 -0500
@@ -962,21 +962,30 @@ A change
does not improve the situation.
The changes below seem to work fine.
*/
+ if (page->getGroup() != NULL) {
+ groupDict = Object(page->getGroup());
+ } else {
+ pdftex_fail("PDF inclusion: getGroup failed");
+ }
+/*
// begin modification
groupDict = pageDict->lookup("Group");
Dict *dic1 = page->getGroup();
Dict *dic2 = groupDict.getDict();
// replace dic2 in groupDict with dic1
l = dic2->getLength();
+ pdftex_warn("dic2 length is %d", l);
for (i = 0; i < l; i++) {
groupDict.dictRemove(dic2->getKey(i));
}
l = dic1->getLength();
+ pdftex_warn("dic1 length is %d", l);
for (i = 0; i < l; i++) {
groupDict.dictAdd(dic1->getKey(i),
dic1->getValNF(i).copy());
}
// end modification
+*/
pdf_printf("/Group %ld 0 R\n", (long)pdfpagegroupval);
}
}

View file

@ -1,49 +0,0 @@
diff -up texlive-base-20210325/source/texk/web2c/Makefile.in.poppler22 texlive-base-20210325/source/texk/web2c/Makefile.in
--- texlive-base-20210325/source/texk/web2c/Makefile.in.poppler22 2022-01-15 16:57:15.020632269 -0500
+++ texlive-base-20210325/source/texk/web2c/Makefile.in 2022-01-15 17:00:20.852711238 -0500
@@ -4573,7 +4573,7 @@ ttf2afm_tests = pdftexdir/ttf2afm.test
# Force Automake to use CXXLD for linking
nodist_EXTRA_pdftosrc_SOURCES = dummy.cxx
pdftosrc_CPPFLAGS = $(pdftex_cppflags)
-pdftosrc_CXXFLAGS = $(WARNING_CXXFLAGS)
+pdftosrc_CXXFLAGS = $(WARNING_CXXFLAGS) -std=c++17
pdftosrc_SOURCES = pdftexdir/pdftosrc.cc
pdftosrc_LDADD = $(pdftex_ldadd) $(LDADD)
pdftosrc_DEPENDENCIES = $(pdftex_dependencies)
@@ -18343,7 +18343,7 @@ xetex-xetex-pool.obj: xetex-pool.c
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
pdftexdir/libpdftex_a-pdftoepdf.o: pdftexdir/pdftoepdf.cc
-@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpdftex_a_CPPFLAGS) $(CPPFLAGS) $(libpdftex_a_CXXFLAGS) $(CXXFLAGS) -MT pdftexdir/libpdftex_a-pdftoepdf.o -MD -MP -MF pdftexdir/$(DEPDIR)/libpdftex_a-pdftoepdf.Tpo -c -o pdftexdir/libpdftex_a-pdftoepdf.o `test -f 'pdftexdir/pdftoepdf.cc' || echo '$(srcdir)/'`pdftexdir/pdftoepdf.cc
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpdftex_a_CPPFLAGS) $(CPPFLAGS) -std=c++17 $(libpdftex_a_CXXFLAGS) $(CXXFLAGS) -MT pdftexdir/libpdftex_a-pdftoepdf.o -MD -MP -MF pdftexdir/$(DEPDIR)/libpdftex_a-pdftoepdf.Tpo -c -o pdftexdir/libpdftex_a-pdftoepdf.o `test -f 'pdftexdir/pdftoepdf.cc' || echo '$(srcdir)/'`pdftexdir/pdftoepdf.cc
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) pdftexdir/$(DEPDIR)/libpdftex_a-pdftoepdf.Tpo pdftexdir/$(DEPDIR)/libpdftex_a-pdftoepdf.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='pdftexdir/pdftoepdf.cc' object='pdftexdir/libpdftex_a-pdftoepdf.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
diff -up texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler22 texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc
--- texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler22 2022-01-14 15:01:29.811105995 -0500
+++ texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc 2022-01-14 15:01:29.831106120 -0500
@@ -964,17 +964,17 @@ The changes below seem to work fine.
*/
// begin modification
groupDict = pageDict->lookup("Group");
- const Dict& dic1 = page->getGroup();
- const Dict& dic2 = groupDict.getDict();
+ Dict *dic1 = page->getGroup();
+ Dict *dic2 = groupDict.getDict();
// replace dic2 in groupDict with dic1
- l = dic2.getLength();
+ l = dic2->getLength();
for (i = 0; i < l; i++) {
- groupDict.dictRemove(dic2.getKey(i));
+ groupDict.dictRemove(dic2->getKey(i));
}
- l = dic1.getLength();
+ l = dic1->getLength();
for (i = 0; i < l; i++) {
- groupDict.dictAdd(dic1.getKey(i),
- dic1.getValNF(i).copy());
+ groupDict.dictAdd(dic1->getKey(i),
+ dic1->getValNF(i).copy());
}
// end modification
pdf_printf("/Group %ld 0 R\n", (long)pdfpagegroupval);

View file

@ -1,121 +0,0 @@
--- texlive-base-20210325/source/configure
+++ texlive-base-20210325/source/configure
@@ -22090,7 +22090,7 @@ $as_echo_n "checking requested system \`
int
main ()
{
-GfxFont *gfxFont; gfxFont->decRefCnt();
+GfxFont *gfxFont; gfxFont->getFlags();
;
return 0;
}
--- 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[])
{
char *p, buf[1024];
PDFDoc *doc;
- GString *fileName;
+ std::unique_ptr<GooString> fileName;
Stream *s;
Object srcStream, srcName, catalogDict;
FILE *outfile;
@@ -86,9 +86,9 @@ int main(int argc, char *argv[])
"Usage: pdftosrc <PDF-file> [<stream-object-number>]\n");
exit(1);
}
- fileName = new GString(argv[1]);
+ fileName = std::make_unique<GString>(argv[1]);
globalParams = std::unique_ptr<GlobalParams>(new GlobalParams());
- doc = new PDFDoc(fileName);
+ doc = new PDFDoc(std::move(fileName));
if (!doc->isOk()) {
fprintf(stderr, "Invalid PDF file\n");
exit(1);
@@ -126,7 +126,7 @@ int main(int argc, char *argv[])
fprintf(stderr, "Not a Stream object\n");
exit(1);
}
- sprintf(buf, "%s", fileName->c_str());
+ sprintf(buf, "%s", argv[1]);
if ((p = strrchr(buf, '.')) == 0)
p = strchr(buf, 0);
if (objgen == 0)
@@ -136,7 +136,7 @@ int main(int argc, char *argv[])
outname = buf;
} else { // objnum < 0 means we are extracting the XRef table
extract_xref_table = true;
- sprintf(buf, "%s", fileName->c_str());
+ sprintf(buf, "%s", argv[1]);
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<GfxFont> 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<GooString>(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<GfxFont> 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<GfxFont> 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;
}
}

File diff suppressed because it is too large Load diff

View file

@ -1,12 +0,0 @@
diff -up texlive-base-20220321/source/texk/kpathsea/texmf.cnf.out_of_memory texlive-base-20220321/source/texk/kpathsea/texmf.cnf
--- texlive-base-20220321/source/texk/kpathsea/texmf.cnf.out_of_memory 2022-04-24 15:50:46.472711270 -0400
+++ texlive-base-20220321/source/texk/kpathsea/texmf.cnf 2022-04-24 15:51:47.213026575 -0400
@@ -789,7 +789,7 @@ texmf_casefold_search = 1
% To increase space for boxes (as might be needed by, e.g., PiCTeX),
% increase extra_mem_bot.
%
-main_memory = 5000000 % words of inimemory available; also applies to inimf&mp
+main_memory = 6000000 % words of inimemory available; also applies to inimf&mp
extra_mem_top = 0 % extra high memory for chars, tokens, etc.
extra_mem_bot = 0 % extra low memory for boxes, glue, breakpoints, etc.

View file

@ -1,47 +0,0 @@
diff -up texlive-base-20220321/source/texk/web2c/pdftexdir/pdftoepdf.cc.header-order-fix texlive-base-20220321/source/texk/web2c/pdftexdir/pdftoepdf.cc
--- texlive-base-20220321/source/texk/web2c/pdftexdir/pdftoepdf.cc.header-order-fix 2023-01-31 12:53:39.214112015 -0500
+++ texlive-base-20220321/source/texk/web2c/pdftexdir/pdftoepdf.cc 2023-01-31 12:54:07.175413160 -0500
@@ -17,6 +17,11 @@ You should have received a copy of the G
with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+/*
+Load aconf.h first to ensure _FILE_OFFSET_BITS is factored in.
+*/
+#include <aconf.h>
+
/* Do this early in order to avoid a conflict between
MINGW32 <rpcndr.h> defining 'boolean' as 'unsigned char' and
<kpathsea/types.h> defining Pascal's boolean as 'int'.
@@ -31,7 +36,6 @@ with this program. If not, see <http://
#include <string.h>
#include <ctype.h>
-#include <aconf.h>
#include <GString.h>
#include <gmem.h>
#include <gfile.h>
diff -up texlive-base-20220321/source/texk/web2c/pdftexdir/pdftosrc.cc.header-order-fix texlive-base-20220321/source/texk/web2c/pdftexdir/pdftosrc.cc
--- texlive-base-20220321/source/texk/web2c/pdftexdir/pdftosrc.cc.header-order-fix 2023-01-31 12:41:21.483166562 -0500
+++ texlive-base-20220321/source/texk/web2c/pdftexdir/pdftosrc.cc 2023-01-31 12:53:15.185853229 -0500
@@ -16,6 +16,12 @@ GNU General Public License for more deta
You should have received a copy of the GNU General Public License along
with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+
+/*
+Load aconf.h first to ensure _FILE_OFFSET_BITS is factored in.
+*/
+#include <aconf.h>
+
#include <w2c/config.h>
#include <stdlib.h>
@@ -24,7 +30,6 @@ with this program. If not, see <http://
#include <string.h>
#include <ctype.h>
-#include <aconf.h>
#include <GString.h>
#include <gmem.h>
#include <gfile.h>

View file

@ -1,123 +0,0 @@
diff -up texlive-base-20220321/source/configure.poppler-22.08.0 texlive-base-20220321/source/configure
--- texlive-base-20220321/source/configure.poppler-22.08.0 2022-10-31 09:48:21.875540925 -0400
+++ texlive-base-20220321/source/configure 2022-10-31 09:50:13.731220862 -0400
@@ -23545,7 +23545,7 @@ printf %s "checking requested system \`x
int
main (void)
{
-GfxFont *gfxFont; gfxFont->decRefCnt();
+GfxFont *gfxFont; gfxFont->getFlags();
;
return 0;
}
diff -up texlive-base-20220321/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler-22.08.0 texlive-base-20220321/source/texk/web2c/pdftexdir/pdftoepdf.cc
--- texlive-base-20220321/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler-22.08.0 2022-10-31 09:48:21.872540907 -0400
+++ texlive-base-20220321/source/texk/web2c/pdftexdir/pdftoepdf.cc 2022-10-31 09:48:21.876540932 -0400
@@ -123,7 +123,7 @@ struct InObj {
struct UsedEncoding {
int enc_objnum;
- GfxFont *font;
+ std::shared_ptr<GfxFont> 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<GooString>(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<GfxFont> 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<GfxFont> 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 -up texlive-base-20220321/source/texk/web2c/pdftexdir/pdftosrc.cc.poppler-22.08.0 texlive-base-20220321/source/texk/web2c/pdftexdir/pdftosrc.cc
--- texlive-base-20220321/source/texk/web2c/pdftexdir/pdftosrc.cc.poppler-22.08.0 2022-10-31 09:48:21.866540870 -0400
+++ texlive-base-20220321/source/texk/web2c/pdftexdir/pdftosrc.cc 2022-10-31 09:48:21.876540932 -0400
@@ -72,7 +72,7 @@ int main(int argc, char *argv[])
{
char *p, buf[1024];
PDFDoc *doc;
- GString *fileName;
+ std::unique_ptr<GooString> fileName;
Stream *s;
Object srcStream, srcName, catalogDict;
FILE *outfile;
@@ -86,9 +86,9 @@ int main(int argc, char *argv[])
"Usage: pdftosrc <PDF-file> [<stream-object-number>]\n");
exit(1);
}
- fileName = new GString(argv[1]);
+ fileName = std::make_unique<GString>(argv[1]);
globalParams = std::unique_ptr<GlobalParams>(new GlobalParams());
- doc = new PDFDoc(fileName);
+ doc = new PDFDoc(std::move(fileName));
if (!doc->isOk()) {
fprintf(stderr, "Invalid PDF file\n");
exit(1);
@@ -126,7 +126,7 @@ int main(int argc, char *argv[])
fprintf(stderr, "Not a Stream object\n");
exit(1);
}
- sprintf(buf, "%s", fileName->c_str());
+ sprintf(buf, "%s", argv[1]);
if ((p = strrchr(buf, '.')) == 0)
p = strchr(buf, 0);
if (objgen == 0)
@@ -136,7 +136,7 @@ int main(int argc, char *argv[])
outname = buf;
} else { // objnum < 0 means we are extracting the XRef table
extract_xref_table = true;
- sprintf(buf, "%s", fileName->c_str());
+ sprintf(buf, "%s", argv[1]);
if ((p = strrchr(buf, '.')) == 0)
p = strchr(buf, 0);
sprintf(p, ".xref");

View file

@ -1,24 +0,0 @@
diff -up texlive-base-20220321/source/texk/web2c/synctexdir/synctex_parser.c.spotfix texlive-base-20220321/source/texk/web2c/synctexdir/synctex_parser.c
--- texlive-base-20220321/source/texk/web2c/synctexdir/synctex_parser.c.spotfix 2023-01-30 13:53:54.728596407 -0500
+++ texlive-base-20220321/source/texk/web2c/synctexdir/synctex_parser.c 2023-01-30 13:54:03.585695070 -0500
@@ -95,6 +95,8 @@
# endif
# endif
+#define __STDC_WANT_LIB_EXT2__ 1
+
#include <stdlib.h>
#include <stdarg.h>
#include <stdio.h>
diff -up texlive-base-20220321/source/texk/web2c/synctexdir/synctex_parser_utils.c.spotfix texlive-base-20220321/source/texk/web2c/synctexdir/synctex_parser_utils.c
--- texlive-base-20220321/source/texk/web2c/synctexdir/synctex_parser_utils.c.spotfix 2023-01-30 13:56:35.358385753 -0500
+++ texlive-base-20220321/source/texk/web2c/synctexdir/synctex_parser_utils.c 2023-01-30 13:57:11.206785083 -0500
@@ -40,6 +40,8 @@
/* In this file, we find all the functions that may depend on the operating system. */
+#define __STDC_WANT_LIB_EXT2__ 1
+
#include <synctex_parser_utils.h>
#include <stdlib.h>
#include <string.h>

View file

@ -1,12 +0,0 @@
diff -up texlive-base-20220321/source/configure.poppler-22.08.0 texlive-base-20220321/source/configure
--- texlive-base-20220321/source/configure.poppler-22.08.0 2022-10-31 09:48:21.875540925 -0400
+++ texlive-base-20220321/source/configure 2022-10-31 09:50:13.731220862 -0400
@@ -23545,7 +23545,7 @@ printf %s "checking requested system \`x
int
main (void)
{
-GfxFont *gfxFont; gfxFont->decRefCnt();
+GfxFont *gfxFont; gfxFont->getFlags();
;
return 0;
}

View file

@ -1,20 +0,0 @@
diff -up ./scripts/context/perl/mptopdf.pl.fix-scripts ./scripts/context/perl/mptopdf.pl
--- ./scripts/context/perl/mptopdf.pl.fix-scripts 2023-05-25 11:52:19.149713294 -0400
+++ ./scripts/context/perl/mptopdf.pl 2023-05-25 11:53:05.379317240 -0400
@@ -1,5 +1,4 @@
-eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' && eval 'exec perl -S $0 $argv:q'
- if 0;
+#! /usr/bin/perl -w
# MikTeX users can set environment variable TEXSYSTEM to "miktex".
diff -up ./scripts/thumbpdf/thumbpdf.pl.fix-scripts ./scripts/thumbpdf/thumbpdf.pl
--- ./scripts/thumbpdf/thumbpdf.pl.fix-scripts 2023-05-25 11:53:23.018547680 -0400
+++ ./scripts/thumbpdf/thumbpdf.pl 2023-05-25 11:53:44.086822918 -0400
@@ -1,5 +1,4 @@
-eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' && eval 'exec perl -S $0 $argv:q'
- if 0;
+#! /usr/bin/perl -w
use strict;
$^W=1; # turn warning on
#

View file

@ -1,20 +0,0 @@
--- texlive-base-20230311/source/texk/web2c/pdftexdir/pdftex.ch.orig 2023-05-02 17:26:43.000000000 +0200
+++ texlive-base-20230311/source/texk/web2c/pdftexdir/pdftex.ch 2024-01-20 21:59:58.382906926 +0100
@@ -179,7 +179,7 @@ pdf_font_type:=xmalloc_array(eight_bits,
pdf_font_attr:=xmalloc_array(str_number, font_max);
pdf_font_blink:=xmalloc_array(internal_font_number, font_max);
pdf_font_elink:=xmalloc_array(internal_font_number, font_max);
-pdf_font_has_space_char:=xmalloc_array(internal_font_number, font_max);
+pdf_font_has_space_char:=xmalloc_array(boolean, font_max);
pdf_font_stretch:=xmalloc_array(integer, font_max);
pdf_font_shrink:=xmalloc_array(integer, font_max);
pdf_font_step:=xmalloc_array(integer, font_max);
@@ -298,7 +298,7 @@ pdf_font_type:=xmalloc_array(eight_bits,
pdf_font_attr:=xmalloc_array(str_number,font_max);
pdf_font_blink:=xmalloc_array(internal_font_number,font_max);
pdf_font_elink:=xmalloc_array(internal_font_number,font_max);
-pdf_font_has_space_char:=xmalloc_array(internal_font_number,font_max);
+pdf_font_has_space_char:=xmalloc_array(boolean,font_max);
pdf_font_stretch:=xmalloc_array(integer,font_max);
pdf_font_shrink:=xmalloc_array(integer,font_max);
pdf_font_step:=xmalloc_array(integer,font_max);

View file

@ -1,60 +0,0 @@
Backuport of upstream r64941: stdlib.h to placate clang16
2022-11-05 Sam James <sam@gentoo.org>
* configure.ac (Ghostscript version): #include <stdlib.h>
to declare exit and placate clang16.
https://tug.org/pipermail/tlbuild/2022q4/005269.html
Index: Build/source/texk/dvisvgm/configure
===================================================================
--- Build/source/texk/dvisvgm/configure (revision 64940)
+++ Build/source/texk/dvisvgm/configure (revision 64941)
@@ -23415,6 +23415,7 @@
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdio.h>
+ #include <stdlib.h>
#include <ghostscript/iapi.h>
int main () {
gsapi_revision_t r;
Index: Build/source/texk/dvisvgm/configure.ac
===================================================================
--- Build/source/texk/dvisvgm/configure.ac (revision 64940)
+++ Build/source/texk/dvisvgm/configure.ac (revision 64941)
@@ -94,6 +94,7 @@
# query Ghostscript version
AC_MSG_CHECKING([Ghostscript version])
AC_RUN_IFELSE([AC_LANG_SOURCE([#include <stdio.h>
+ #include <stdlib.h>
#include <ghostscript/iapi.h>
int main () {
gsapi_revision_t r;
Index: Build/source/texk/kpathsea/configure
===================================================================
--- Build/source/texk/kpathsea/configure (revision 64940)
+++ Build/source/texk/kpathsea/configure (revision 64941)
@@ -14633,7 +14633,8 @@
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-int fork() { exit(1); }
+#include <stdlib.h>
+ int fork() { exit(1); }
int vfork() { exit(1); }
extern char *getcwd();
char path[100];
Index: Build/source/texk/kpathsea/configure.ac
===================================================================
--- Build/source/texk/kpathsea/configure.ac (revision 64940)
+++ Build/source/texk/kpathsea/configure.ac (revision 64941)
@@ -45,7 +45,8 @@
# We only need to run this if we have getcwd.
AC_CACHE_CHECK([whether getcwd uses fork or vfork],
[kb_cv_func_getcwd_forks],
- [AC_RUN_IFELSE([AC_LANG_PROGRAM([[int fork() { exit(1); }
+ [AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include <stdlib.h>
+ int fork() { exit(1); }
int vfork() { exit(1); }
extern char *getcwd();
char path[100];]],

View file

@ -1,782 +0,0 @@
Backport of upstream revision r64953:
2022-11-06 Sam James <sam@gentoo.org>
* freetype-src/builds/unix/freetype2.m4: placate clang16.
https://tug.org/pipermail/tlbuild/2022q4/005273.html
2022-11-06 Karl Berry <karl@freefriends.org>
* patch-01-do-not-export-internal-zlib: add.
* patch-04-void-main: add (see ../ChangeLog).
2022-11-06 Sam James <sam@gentoo.org>
* libgd-src/tests/xpm/bug00185.c: placate clang16.
https://tug.org/pipermail/tlbuild/2022q4/005273.html
2022-11-06 Sam James <sam@gentoo.org>
* basename.c: placate clang16.
https://tug.org/pipermail/tlbuild/2022q4/005273.html
2022-11-06 Sam James <sam@gentoo.org>
* pmx-src/libf2c/main.c: placate clang16.
https://tug.org/pipermail/tlbuild/2022q4/005273.html
Index: Build/source/libs/freetype2/TLpatches/patch-01-do-not-export-internal-zlib
===================================================================
--- Build/source/libs/freetype2/TLpatches/patch-01-do-not-export-internal-zlib (nonexistent)
+++ Build/source/libs/freetype2/TLpatches/patch-01-do-not-export-internal-zlib (revision 64953)
@@ -0,0 +1,626 @@
+diff -ur freetype-2.12.1/src/gzip/adler32.c freetype-src/src/gzip/adler32.c
+--- freetype-2.12.1/src/gzip/adler32.c Fri Apr 01 17:24:23 2022
++++ freetype-src/src/gzip/adler32.c Thu May 05 07:23:26 2022
+@@ -62,7 +62,7 @@
+ #endif
+
+ /* ========================================================================= */
+-uLong ZEXPORT adler32_z(
++static uLong ZEXPORT adler32_z(
+ uLong adler,
+ const Bytef *buf,
+ z_size_t len)
+@@ -133,7 +133,7 @@
+ }
+
+ /* ========================================================================= */
+-uLong ZEXPORT adler32(
++static uLong ZEXPORT adler32(
+ uLong adler,
+ const Bytef *buf,
+ uInt len)
+@@ -173,7 +173,7 @@
+ }
+
+ /* ========================================================================= */
+-uLong ZEXPORT adler32_combine(
++static uLong ZEXPORT adler32_combine(
+ uLong adler1,
+ uLong adler2,
+ z_off_t len2)
+@@ -181,7 +181,7 @@
+ return adler32_combine_(adler1, adler2, len2);
+ }
+
+-uLong ZEXPORT adler32_combine64(
++static uLong ZEXPORT adler32_combine64(
+ uLong adler1,
+ uLong adler2,
+ z_off64_t len2)
+diff -ur freetype-2.12.1/src/gzip/crc32.c freetype-src/src/gzip/crc32.c
+--- freetype-2.12.1/src/gzip/crc32.c Fri Apr 01 16:13:52 2022
++++ freetype-src/src/gzip/crc32.c Fri May 06 12:34:16 2022
+@@ -583,7 +583,7 @@
+ * This function can be used by asm versions of crc32(), and to force the
+ * generation of the CRC tables in a threaded application.
+ */
+-const z_crc_t FAR * ZEXPORT get_crc_table()
++static const z_crc_t FAR * ZEXPORT get_crc_table()
+ {
+ #ifdef DYNAMIC_CRC_TABLE
+ once(&made, make_crc_table);
+@@ -610,7 +610,7 @@
+ #define Z_BATCH_ZEROS 0xa10d3d0c /* computed from Z_BATCH = 3990 */
+ #define Z_BATCH_MIN 800 /* fewest words in a final batch */
+
+-unsigned long ZEXPORT crc32_z(
++static unsigned long ZEXPORT crc32_z(
+ unsigned long crc,
+ const unsigned char FAR *buf,
+ z_size_t len)
+@@ -736,7 +736,7 @@
+ #endif
+
+ /* ========================================================================= */
+-unsigned long ZEXPORT crc32_z(
++static unsigned long ZEXPORT crc32_z(
+ unsigned long crc,
+ const unsigned char FAR *buf,
+ z_size_t len)
+@@ -1060,7 +1060,7 @@
+ #endif
+
+ /* ========================================================================= */
+-unsigned long ZEXPORT crc32(
++static unsigned long ZEXPORT crc32(
+ unsigned long crc,
+ const unsigned char FAR *buf,
+ uInt len)
+@@ -1069,7 +1069,7 @@
+ }
+
+ /* ========================================================================= */
+-uLong ZEXPORT crc32_combine64(
++static uLong ZEXPORT crc32_combine64(
+ uLong crc1,
+ uLong crc2,
+ z_off64_t len2)
+@@ -1081,7 +1081,7 @@
+ }
+
+ /* ========================================================================= */
+-uLong ZEXPORT crc32_combine(
++static uLong ZEXPORT crc32_combine(
+ uLong crc1,
+ uLong crc2,
+ z_off_t len2)
+@@ -1090,7 +1090,7 @@
+ }
+
+ /* ========================================================================= */
+-uLong ZEXPORT crc32_combine_gen64(
++static uLong ZEXPORT crc32_combine_gen64(
+ z_off64_t len2)
+ {
+ #ifdef DYNAMIC_CRC_TABLE
+@@ -1100,14 +1100,14 @@
+ }
+
+ /* ========================================================================= */
+-uLong ZEXPORT crc32_combine_gen(
++static uLong ZEXPORT crc32_combine_gen(
+ z_off_t len2)
+ {
+ return crc32_combine_gen64(len2);
+ }
+
+ /* ========================================================================= */
+-uLong crc32_combine_op(
++static uLong crc32_combine_op(
+ uLong crc1,
+ uLong crc2,
+ uLong op)
+diff -ur freetype-2.12.1/src/gzip/ftgzip.c freetype-src/src/gzip/ftgzip.c
+--- freetype-2.12.1/src/gzip/ftgzip.c Thu Jan 27 16:43:19 2022
++++ freetype-src/src/gzip/ftgzip.c Fri May 06 12:01:06 2022
+@@ -80,6 +80,9 @@
+ #define HAVE_HIDDEN 1
+ #define ZEXPORT
+ #define ZEXTERN static
++#else
++#define ZEXPORT
++#define ZEXTERN static
+ #endif
+
+ #define Z_SOLO 1
+@@ -160,7 +163,7 @@
+
+ #if !defined( FT_CONFIG_OPTION_SYSTEM_ZLIB ) && !defined( USE_ZLIB_ZCALLOC )
+
+- voidpf ZLIB_INTERNAL
++ static voidpf ZLIB_INTERNAL
+ zcalloc ( voidpf opaque,
+ unsigned items,
+ unsigned size )
+@@ -169,7 +172,7 @@
+ }
+
+
+- void ZLIB_INTERNAL
++ static void ZLIB_INTERNAL
+ zcfree( voidpf opaque,
+ voidpf ptr )
+ {
+diff -ur freetype-2.12.1/src/gzip/gzguts.h freetype-src/src/gzip/gzguts.h
+--- freetype-2.12.1/src/gzip/gzguts.h Fri Apr 01 17:24:23 2022
++++ freetype-src/src/gzip/gzguts.h Sat May 07 14:12:37 2022
+@@ -12,11 +12,8 @@
+ # endif
+ #endif
+
+-#ifdef HAVE_HIDDEN
+-# define ZLIB_INTERNAL __attribute__((visibility ("hidden")))
+-#else
+-# define ZLIB_INTERNAL
+-#endif
++/* we use "static" for all platforms */
++#define ZLIB_INTERNAL
+
+ #include <stdio.h>
+ #include "zlib.h"
+@@ -203,9 +200,9 @@
+ typedef gz_state FAR *gz_statep;
+
+ /* shared functions */
+-void ZLIB_INTERNAL gz_error OF((gz_statep, int, const char *));
++static void ZLIB_INTERNAL gz_error OF((gz_statep, int, const char *));
+ #if defined UNDER_CE
+-char ZLIB_INTERNAL *gz_strwinerror OF((DWORD error));
++static char ZLIB_INTERNAL *gz_strwinerror OF((DWORD error));
+ #endif
+
+ /* GT_OFF(x), where x is an unsigned value, is true if x > maximum z_off64_t
+@@ -214,6 +211,6 @@
+ #ifdef INT_MAX
+ # define GT_OFF(x) (sizeof(int) == sizeof(z_off64_t) && (x) > INT_MAX)
+ #else
+-unsigned ZLIB_INTERNAL gz_intmax OF((void));
++static unsigned ZLIB_INTERNAL gz_intmax OF((void));
+ # define GT_OFF(x) (sizeof(int) == sizeof(z_off64_t) && (x) > gz_intmax())
+ #endif
+diff -ur freetype-2.12.1/src/gzip/infback.c freetype-src/src/gzip/infback.c
+--- freetype-2.12.1/src/gzip/infback.c Fri Apr 01 16:13:52 2022
++++ freetype-src/src/gzip/infback.c Thu May 05 07:24:06 2022
+@@ -25,7 +25,7 @@
+ windowBits is in the range 8..15, and window is a user-supplied
+ window and output buffer that is 2**windowBits bytes.
+ */
+-int ZEXPORT inflateBackInit_(
++static int ZEXPORT inflateBackInit_(
+ z_streamp strm,
+ int windowBits,
+ unsigned char FAR *window,
+@@ -247,7 +247,7 @@
+ inflateBack() can also return Z_STREAM_ERROR if the input parameters
+ are not correct, i.e. strm is Z_NULL or the state was not initialized.
+ */
+-int ZEXPORT inflateBack(
++static int ZEXPORT inflateBack(
+ z_streamp strm,
+ in_func in,
+ void FAR *in_desc,
+@@ -629,7 +629,7 @@
+ return ret;
+ }
+
+-int ZEXPORT inflateBackEnd(
++static int ZEXPORT inflateBackEnd(
+ z_streamp strm)
+ {
+ if (strm == Z_NULL || strm->state == Z_NULL || strm->zfree == (free_func)0)
+diff -ur freetype-2.12.1/src/gzip/inffast.c freetype-src/src/gzip/inffast.c
+--- freetype-2.12.1/src/gzip/inffast.c Fri Apr 01 16:13:52 2022
++++ freetype-src/src/gzip/inffast.c Fri May 06 12:01:59 2022
+@@ -47,7 +47,7 @@
+ requires strm->avail_out >= 258 for each loop to avoid checking for
+ output space.
+ */
+-void ZLIB_INTERNAL inflate_fast(
++static void ZLIB_INTERNAL inflate_fast(
+ z_streamp strm,
+ unsigned start)
+ {
+diff -ur freetype-2.12.1/src/gzip/inffast.h freetype-src/src/gzip/inffast.h
+--- freetype-2.12.1/src/gzip/inffast.h Fri Apr 01 16:13:52 2022
++++ freetype-src/src/gzip/inffast.h Fri May 06 12:25:15 2022
+@@ -8,4 +8,4 @@
+ subject to change. Applications should only use zlib.h.
+ */
+
+-void ZLIB_INTERNAL inflate_fast OF((z_streamp strm, unsigned start));
++static void ZLIB_INTERNAL inflate_fast OF((z_streamp strm, unsigned start));
+diff -ur freetype-2.12.1/src/gzip/inflate.c freetype-src/src/gzip/inflate.c
+--- freetype-2.12.1/src/gzip/inflate.c Fri Apr 01 17:25:55 2022
++++ freetype-src/src/gzip/inflate.c Thu May 05 07:24:18 2022
+@@ -118,7 +118,7 @@
+ return 0;
+ }
+
+-int ZEXPORT inflateResetKeep(
++static int ZEXPORT inflateResetKeep(
+ z_streamp strm)
+ {
+ struct inflate_state FAR *state;
+@@ -144,7 +144,7 @@
+ return Z_OK;
+ }
+
+-int ZEXPORT inflateReset(
++static int ZEXPORT inflateReset(
+ z_streamp strm)
+ {
+ struct inflate_state FAR *state;
+@@ -157,7 +157,7 @@
+ return inflateResetKeep(strm);
+ }
+
+-int ZEXPORT inflateReset2(
++static int ZEXPORT inflateReset2(
+ z_streamp strm,
+ int windowBits)
+ {
+@@ -195,7 +195,7 @@
+ return inflateReset(strm);
+ }
+
+-int ZEXPORT inflateInit2_(
++static int ZEXPORT inflateInit2_(
+ z_streamp strm,
+ int windowBits,
+ const char *version,
+@@ -239,7 +239,7 @@
+ return ret;
+ }
+
+-int ZEXPORT inflateInit_(
++static int ZEXPORT inflateInit_(
+ z_streamp strm,
+ const char *version,
+ int stream_size)
+@@ -249,7 +249,7 @@
+
+ #ifndef Z_FREETYPE
+
+-int ZEXPORT inflatePrime(
++static int ZEXPORT inflatePrime(
+ z_streamp strm,
+ int bits,
+ int value)
+@@ -626,7 +626,7 @@
+ will return Z_BUF_ERROR if it has not reached the end of the stream.
+ */
+
+-int ZEXPORT inflate(
++static int ZEXPORT inflate(
+ z_streamp strm,
+ int flush)
+ {
+@@ -1304,7 +1304,7 @@
+ return ret;
+ }
+
+-int ZEXPORT inflateEnd(
++static int ZEXPORT inflateEnd(
+ z_streamp strm)
+ {
+ struct inflate_state FAR *state;
+@@ -1320,7 +1320,7 @@
+
+ #ifndef Z_FREETYPE
+
+-int ZEXPORT inflateGetDictionary(
++static int ZEXPORT inflateGetDictionary(
+ z_streamp strm,
+ Bytef *dictionary,
+ uInt *dictLength)
+@@ -1343,7 +1343,7 @@
+ return Z_OK;
+ }
+
+-int ZEXPORT inflateSetDictionary(
++static int ZEXPORT inflateSetDictionary(
+ z_streamp strm,
+ const Bytef *dictionary,
+ uInt dictLength)
+@@ -1378,7 +1378,7 @@
+ return Z_OK;
+ }
+
+-int ZEXPORT inflateGetHeader(
++static int ZEXPORT inflateGetHeader(
+ z_streamp strm,
+ gz_headerp head)
+ {
+@@ -1429,7 +1429,7 @@
+ return next;
+ }
+
+-int ZEXPORT inflateSync(
++static int ZEXPORT inflateSync(
+ z_streamp strm)
+ {
+ unsigned len; /* number of bytes to look at or looked at */
+@@ -1489,7 +1489,7 @@
+ block. When decompressing, PPP checks that at the end of input packet,
+ inflate is waiting for these length bytes.
+ */
+-int ZEXPORT inflateSyncPoint(
++static int ZEXPORT inflateSyncPoint(
+ z_streamp strm)
+ {
+ struct inflate_state FAR *state;
+@@ -1501,7 +1501,7 @@
+
+ #ifndef Z_FREETYPE
+
+-int ZEXPORT inflateCopy(
++static int ZEXPORT inflateCopy(
+ z_streamp dest,
+ z_streamp source)
+ {
+@@ -1550,7 +1550,7 @@
+
+ #endif /* !Z_FREETYPE */
+
+-int ZEXPORT inflateUndermine(
++static int ZEXPORT inflateUndermine(
+ z_streamp strm,
+ int subvert)
+ {
+@@ -1568,7 +1568,7 @@
+ #endif
+ }
+
+-int ZEXPORT inflateValidate(
++static int ZEXPORT inflateValidate(
+ z_streamp strm,
+ int check)
+ {
+@@ -1585,7 +1585,7 @@
+
+ #ifndef Z_FREETYPE
+
+-long ZEXPORT inflateMark(
++static long ZEXPORT inflateMark(
+ z_streamp strm)
+ {
+ struct inflate_state FAR *state;
+@@ -1598,7 +1598,7 @@
+ (state->mode == MATCH ? state->was - state->length : 0));
+ }
+
+-unsigned long ZEXPORT inflateCodesUsed(
++static unsigned long ZEXPORT inflateCodesUsed(
+ z_streamp strm)
+ {
+ struct inflate_state FAR *state;
+diff -ur freetype-2.12.1/src/gzip/inftrees.c freetype-src/src/gzip/inftrees.c
+--- freetype-2.12.1/src/gzip/inftrees.c Fri Apr 01 16:13:52 2022
++++ freetype-src/src/gzip/inftrees.c Fri May 06 12:33:23 2022
+@@ -8,7 +8,7 @@
+
+ #define MAXBITS 15
+
+-const char inflate_copyright[] =
++static const char inflate_copyright[] =
+ " inflate 1.2.12 Copyright 1995-2022 Mark Adler ";
+ /*
+ If you use the zlib library in a product, an acknowledgment is welcome
+@@ -29,7 +29,7 @@
+ table index bits. It will differ if the request is greater than the
+ longest code or if it is less than the shortest code.
+ */
+-int ZLIB_INTERNAL inflate_table(
++static int ZLIB_INTERNAL inflate_table(
+ codetype type,
+ unsigned short FAR *lens,
+ unsigned codes,
+diff -ur freetype-2.12.1/src/gzip/inftrees.h freetype-src/src/gzip/inftrees.h
+--- freetype-2.12.1/src/gzip/inftrees.h Fri Apr 01 17:24:23 2022
++++ freetype-src/src/gzip/inftrees.h Fri May 06 12:25:35 2022
+@@ -60,7 +60,7 @@
+ DISTS
+ } codetype;
+
+-int ZLIB_INTERNAL inflate_table OF((codetype type, unsigned short FAR *lens,
++static int ZLIB_INTERNAL inflate_table OF((codetype type, unsigned short FAR *lens,
+ unsigned codes, code FAR * FAR *table,
+ unsigned FAR *bits, unsigned short FAR *work));
+
+diff -ur freetype-2.12.1/src/gzip/zutil.c freetype-src/src/gzip/zutil.c
+--- freetype-2.12.1/src/gzip/zutil.c Fri Apr 01 16:13:54 2022
++++ freetype-src/src/gzip/zutil.c Fri May 06 12:08:24 2022
+@@ -10,7 +10,7 @@
+ # include "gzguts.h"
+ #endif
+
+-z_const char * const z_errmsg[10] = {
++static z_const char * const z_errmsg[10] = {
+ (z_const char *)"need dictionary", /* Z_NEED_DICT 2 */
+ (z_const char *)"stream end", /* Z_STREAM_END 1 */
+ (z_const char *)"", /* Z_OK 0 */
+@@ -24,12 +24,12 @@
+ };
+
+
+-const char * ZEXPORT zlibVersion()
++static const char * ZEXPORT zlibVersion()
+ {
+ return ZLIB_VERSION;
+ }
+
+-uLong ZEXPORT zlibCompileFlags()
++static uLong ZEXPORT zlibCompileFlags()
+ {
+ uLong flags;
+
+@@ -117,9 +117,9 @@
+ # ifndef verbose
+ # define verbose 0
+ # endif
+-int ZLIB_INTERNAL z_verbose = verbose;
++static int ZLIB_INTERNAL z_verbose = verbose;
+
+-void ZLIB_INTERNAL z_error (
++static void ZLIB_INTERNAL z_error (
+ char *m)
+ {
+ fprintf(stderr, "%s\n", m);
+@@ -130,7 +130,7 @@
+ /* exported to allow conversion of error code to string for compress() and
+ * uncompress()
+ */
+-const char * ZEXPORT zError(
++static const char * ZEXPORT zError(
+ int err)
+ {
+ return ERR_MSG(err);
+@@ -146,7 +146,7 @@
+
+ #ifndef HAVE_MEMCPY
+
+-void ZLIB_INTERNAL zmemcpy(
++static void ZLIB_INTERNAL zmemcpy(
+ Bytef* dest,
+ const Bytef* source,
+ uInt len)
+@@ -157,7 +157,7 @@
+ } while (--len != 0);
+ }
+
+-int ZLIB_INTERNAL zmemcmp(
++static int ZLIB_INTERNAL zmemcmp(
+ const Bytef* s1,
+ const Bytef* s2,
+ uInt len)
+@@ -170,7 +170,7 @@
+ return 0;
+ }
+
+-void ZLIB_INTERNAL zmemzero(
++static void ZLIB_INTERNAL zmemzero(
+ Bytef* dest,
+ uInt len)
+ {
+@@ -214,7 +214,7 @@
+ * a protected system like OS/2. Use Microsoft C instead.
+ */
+
+-voidpf ZLIB_INTERNAL zcalloc (voidpf opaque, unsigned items, unsigned size)
++static voidpf ZLIB_INTERNAL zcalloc (voidpf opaque, unsigned items, unsigned size)
+ {
+ voidpf buf;
+ ulg bsize = (ulg)items*size;
+@@ -240,7 +240,7 @@
+ return buf;
+ }
+
+-void ZLIB_INTERNAL zcfree (voidpf opaque, voidpf ptr)
++static void ZLIB_INTERNAL zcfree (voidpf opaque, voidpf ptr)
+ {
+ int n;
+
+@@ -277,13 +277,13 @@
+ # define _hfree hfree
+ #endif
+
+-voidpf ZLIB_INTERNAL zcalloc (voidpf opaque, uInt items, uInt size)
++static voidpf ZLIB_INTERNAL zcalloc (voidpf opaque, uInt items, uInt size)
+ {
+ (void)opaque;
+ return _halloc((long)items, size);
+ }
+
+-void ZLIB_INTERNAL zcfree (voidpf opaque, voidpf ptr)
++static void ZLIB_INTERNAL zcfree (voidpf opaque, voidpf ptr)
+ {
+ (void)opaque;
+ _hfree(ptr);
+@@ -302,7 +302,7 @@
+ extern void free OF((voidpf ptr));
+ #endif
+
+-voidpf ZLIB_INTERNAL zcalloc (
++static voidpf ZLIB_INTERNAL zcalloc (
+ voidpf opaque,
+ unsigned items,
+ unsigned size)
+@@ -312,7 +312,7 @@
+ (voidpf)calloc(items, size);
+ }
+
+-void ZLIB_INTERNAL zcfree (
++static void ZLIB_INTERNAL zcfree (
+ voidpf opaque,
+ voidpf ptr)
+ {
+diff -ur freetype-2.12.1/src/gzip/zutil.h freetype-src/src/gzip/zutil.h
+--- freetype-2.12.1/src/gzip/zutil.h Fri Apr 01 17:24:23 2022
++++ freetype-src/src/gzip/zutil.h Sat May 07 14:13:48 2022
+@@ -13,11 +13,8 @@
+ #ifndef ZUTIL_H
+ #define ZUTIL_H
+
+-#ifdef HAVE_HIDDEN
+-# define ZLIB_INTERNAL __attribute__((visibility ("hidden")))
+-#else
+-# define ZLIB_INTERNAL
+-#endif
++/* we use "static" for all platforms */
++#define ZLIB_INTERNAL
+
+ #include "zlib.h"
+
+@@ -53,7 +50,7 @@
+ # endif
+ #endif
+
+-extern z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
++static z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
+ /* (size given to avoid silly warnings with Visual C++) */
+
+ #define ERR_MSG(err) z_errmsg[Z_NEED_DICT-(err)]
+@@ -235,16 +232,16 @@
+ # define zmemzero(dest, len) ft_memset(dest, 0, len)
+ # endif
+ #else
+- void ZLIB_INTERNAL zmemcpy OF((Bytef* dest, const Bytef* source, uInt len));
+- int ZLIB_INTERNAL zmemcmp OF((const Bytef* s1, const Bytef* s2, uInt len));
+- void ZLIB_INTERNAL zmemzero OF((Bytef* dest, uInt len));
++ static void ZLIB_INTERNAL zmemcpy OF((Bytef* dest, const Bytef* source, uInt len));
++ static int ZLIB_INTERNAL zmemcmp OF((const Bytef* s1, const Bytef* s2, uInt len));
++ static void ZLIB_INTERNAL zmemzero OF((Bytef* dest, uInt len));
+ #endif
+
+ /* Diagnostic functions */
+ #ifdef ZLIB_DEBUG
+ # include <stdio.h>
+- extern int ZLIB_INTERNAL z_verbose;
+- extern void ZLIB_INTERNAL z_error OF((char *m));
++ static int ZLIB_INTERNAL z_verbose;
++ static void ZLIB_INTERNAL z_error OF((char *m));
+ # define Assert(cond,msg) {if(!(cond)) z_error(msg);}
+ # define Trace(x) {if (z_verbose>=0) fprintf x ;}
+ # define Tracev(x) {if (z_verbose>0) fprintf x ;}
+@@ -261,9 +258,9 @@
+ #endif
+
+ #ifndef Z_SOLO
+- voidpf ZLIB_INTERNAL zcalloc OF((voidpf opaque, unsigned items,
++ static voidpf ZLIB_INTERNAL zcalloc OF((voidpf opaque, unsigned items,
+ unsigned size));
+- void ZLIB_INTERNAL zcfree OF((voidpf opaque, voidpf ptr));
++ static void ZLIB_INTERNAL zcfree OF((voidpf opaque, voidpf ptr));
+ #endif
+
+ #define ZALLOC(strm, items, size) \
Index: Build/source/libs/freetype2/TLpatches/patch-04-void-main
===================================================================
--- Build/source/libs/freetype2/TLpatches/patch-04-void-main (nonexistent)
+++ Build/source/libs/freetype2/TLpatches/patch-04-void-main (revision 64953)
@@ -0,0 +1,13 @@
+diff --git a/libs/freetype2/freetype-src/builds/unix/freetype2.m4 b/libs/freetype2/freetype-src/builds/unix/freetype2.m4
+index 0cafc8e8c..51843f5fa 100644
+--- a/libs/freetype2/freetype-src/builds/unix/freetype2.m4
++++ b/libs/freetype2/freetype-src/builds/unix/freetype2.m4
+@@ -121,7 +121,7 @@ AC_DEFUN([AC_CHECK_FT2],
+ #include <stdlib.h>
+
+ int
+-main()
++main(void)
+ {
+ FT_Library library;
+ FT_Error error;
Index: Build/source/libs/freetype2/freetype-src/builds/unix/freetype2.m4
===================================================================
--- Build/source/libs/freetype2/freetype-src/builds/unix/freetype2.m4 (revision 64952)
+++ Build/source/libs/freetype2/freetype-src/builds/unix/freetype2.m4 (revision 64953)
@@ -121,7 +121,7 @@
#include <stdlib.h>
int
-main()
+main(void)
{
FT_Library library;
FT_Error error;
Index: Build/source/libs/gd/TLpatches/patch-03-void-main
===================================================================
--- Build/source/libs/gd/TLpatches/patch-03-void-main (nonexistent)
+++ Build/source/libs/gd/TLpatches/patch-03-void-main (revision 64953)
@@ -0,0 +1,13 @@
+diff --git a/libs/gd/libgd-src/tests/xpm/bug00185.c b/libs/gd/libgd-src/tests/xpm/bug00185.c
+index 3056ed950..37659d6a4 100644
+--- a/libs/gd/libgd-src/tests/xpm/bug00185.c
++++ b/libs/gd/libgd-src/tests/xpm/bug00185.c
+@@ -5,7 +5,7 @@
+
+ /* To check memory leaks, run such as 'valgrind --leak-check=full ./bug00185' */
+ int
+-main()
++main(void)
+ {
+ gdImagePtr im;
+ char *path;
Index: Build/source/libs/gd/libgd-src/tests/xpm/bug00185.c
===================================================================
--- Build/source/libs/gd/libgd-src/tests/xpm/bug00185.c (revision 64952)
+++ Build/source/libs/gd/libgd-src/tests/xpm/bug00185.c (revision 64953)
@@ -5,7 +5,7 @@
/* To check memory leaks, run such as 'valgrind --leak-check=full ./bug00185' */
int
-main()
+main(void)
{
gdImagePtr im;
char *path;
Index: Build/source/texk/ps2pk/basename.c
===================================================================
--- Build/source/texk/ps2pk/basename.c (revision 64952)
+++ Build/source/texk/ps2pk/basename.c (revision 64953)
@@ -6,11 +6,12 @@
* AUTHOR: Piet Tutelaers
* VERSION: 1.0 (Sept. 1995)
*/
+#include <stdlib.h> /* exit() */
#include <stdio.h> /* printf() */
#include "basics.h" /* fatal() */
#include "filenames.h" /* basename() */
-main(int argc, char **argv)
+int main(int argc, char **argv)
{
if (argc < 2 || argc > 3)
fatal("Usage: basename string [suffix]\n");
Index: Build/source/utils/m-tx/mtx-src/prepmx.c
===================================================================
--- Build/source/utils/m-tx/mtx-src/prepmx.c (revision 64952)
+++ Build/source/utils/m-tx/mtx-src/prepmx.c (revision 64953)
@@ -769,7 +769,7 @@
}
-main(int argc, Char *argv[])
+int main(int argc, Char *argv[])
{ /* ---- Main program ------------------------ */
PASCAL_MAIN(argc, argv);
strcpy(this_version, version);
Index: Build/source/utils/pmx/TLpatches/patch-01-main-ret
===================================================================
--- Build/source/utils/pmx/TLpatches/patch-01-main-ret (nonexistent)
+++ Build/source/utils/pmx/TLpatches/patch-01-main-ret (revision 64953)
@@ -0,0 +1,13 @@
+diff --git a/utils/pmx/pmx-src/libf2c/main.c b/utils/pmx/pmx-src/libf2c/main.c
+index 453974904..f485a0cd0 100644
+--- a/utils/pmx/pmx-src/libf2c/main.c
++++ b/utils/pmx/pmx-src/libf2c/main.c
+@@ -106,7 +106,7 @@ char **xargv;
+ #ifdef KR_headers
+ main(argc, argv) int argc; char **argv;
+ #else
+-main(int argc, char **argv)
++int main(int argc, char **argv)
+ #endif
+ {
+ xargc = argc;
Index: Build/source/utils/pmx/pmx-src/libf2c/main.c
===================================================================
--- Build/source/utils/pmx/pmx-src/libf2c/main.c (revision 64952)
+++ Build/source/utils/pmx/pmx-src/libf2c/main.c (revision 64953)
@@ -106,7 +106,7 @@
#ifdef KR_headers
main(argc, argv) int argc; char **argv;
#else
-main(int argc, char **argv)
+int main(int argc, char **argv)
#endif
{
xargc = argc;

View file

@ -1,35 +0,0 @@
Partial backport of this upstream revision:
------------------------------------------------------------------------
r65582 | hironobu | 2023-01-19 15:15:46 +0100 (Thu, 19 Jan 2023) | 1 line
synctexdir: update from GH
Relevant Git commit:
commit 2897465154892a7737dcc90e4d6a00a1d1b3922c
Author: Germán Poo-Caamaño <gpoo@gnome.org>
Date: Sat May 30 16:15:27 2020 -0400
Fix implicit declaration of vasprintf
Fix build when compiling with `-Werror=implicit-function-declaration`.
Index: Build/source/texk/web2c/synctexdir/synctex_parser.c
===================================================================
--- Build/source/texk/web2c/synctexdir/synctex_parser.c (revision 65581)
+++ Build/source/texk/web2c/synctexdir/synctex_parser.c (revision 65582)
@@ -83,6 +83,11 @@
* First level objects are sheets and forms, containing boxes, glues, kerns...
* The third tree allows to browse leaves according to tag and line.
*/
+/* Declare _GNU_SOURCE for accessing vasprintf. For MSC compiler, vasprintf is
+ * defined in this file
+ */
+#define _GNU_SOURCE
+
# if defined(SYNCTEX_USE_LOCAL_HEADER)
# include "synctex_parser_local.h"
# else

View file

@ -1,53 +0,0 @@
Fix the setsid-after-vfork configure check to avoid implicit
declarations of wait, exit. This ensures that the outcome of the
check does not change with compilers which do not support implicit
function declarations.
Submitted upstream:
<https://tug.org/pipermail/tex-live/2023-January/048833.html>
diff -up texlive-base-20220321/source/texk/xdvik/configure.c99-4 texlive-base-20220321/source/texk/xdvik/configure
--- texlive-base-20220321/source/texk/xdvik/configure.c99-4 2023-01-31 09:04:59.026325806 +0100
+++ texlive-base-20220321/source/texk/xdvik/configure 2023-01-31 09:05:14.250169332 +0100
@@ -16406,6 +16406,9 @@ else $as_nop
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
+#ifdef HAVE_SYS_WAIT_H
+#include <sys/wait.h>
+#endif
#ifdef HAVE_VFORK_H
#include <vfork.h>
#endif
@@ -16427,7 +16430,7 @@ main (void)
while (wait(&status) != child)
;
- exit(
+ _exit(
/* Was there some problem with vforking? */
child < 0
diff -up texlive-base-20220321/source/texk/xdvik/m4/xdvi-func-setsid-in-fork.m4.c99-4 texlive-base-20220321/source/texk/xdvik/m4/xdvi-func-setsid-in-fork.m4
--- texlive-base-20220321/source/texk/xdvik/m4/xdvi-func-setsid-in-fork.m4.c99-4 2023-01-31 08:45:31.417794738 +0100
+++ texlive-base-20220321/source/texk/xdvik/m4/xdvi-func-setsid-in-fork.m4 2023-01-31 08:45:43.901652431 +0100
@@ -22,6 +22,9 @@ AC_DEFUN([XDVI_FUNC_SETSID_IN_VFORK],
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
+#ifdef HAVE_SYS_WAIT_H
+#include <sys/wait.h>
+#endif
#ifdef HAVE_VFORK_H
#include <vfork.h>
#endif]],
@@ -40,7 +43,7 @@ AC_DEFUN([XDVI_FUNC_SETSID_IN_VFORK],
while (wait(&status) != child)
;
- exit(
+ _exit(
/* Was there some problem with vforking? */
child < 0

View file

@ -1,102 +0,0 @@
diff -up texlive-base-20220321/source/texk/psutils/tests/playres.ps.libpaper2 texlive-base-20220321/source/texk/psutils/tests/playres.ps
--- texlive-base-20220321/source/texk/psutils/tests/playres.ps.libpaper2 2023-01-08 23:22:46.519324804 -0500
+++ texlive-base-20220321/source/texk/psutils/tests/playres.ps 2023-01-08 23:22:56.824405896 -0500
@@ -280,7 +280,7 @@ PStoPSmatrix setmatrix
0.704762 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
- 595.275591 0 rlineto 0 844.647799 rlineto -595.275591 0 rlineto
+ 595.275591 0 rlineto 0 844.647797 rlineto -595.275591 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 15 4 bop 330 423 a Fb(5)2834 b(5)1622 3275
@@ -293,7 +293,7 @@ PStoPSmatrix setmatrix
0.704762 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
- 595.275591 0 rlineto 0 844.647799 rlineto -595.275591 0 rlineto
+ 595.275591 0 rlineto 0 844.647797 rlineto -595.275591 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 16 5 bop 330 419 a Fb(6)2834 b(6)1622 3264
@@ -306,7 +306,7 @@ PStoPSmatrix setmatrix
0.704762 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
- 595.275591 0 rlineto 0 844.647799 rlineto -595.275591 0 rlineto
+ 595.275591 0 rlineto 0 844.647797 rlineto -595.275591 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 17 6 bop 330 419 a Fb(7)2834 b(7)1622 3266
@@ -319,7 +319,7 @@ PStoPSmatrix setmatrix
0.704762 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
- 595.275591 0 rlineto 0 844.647799 rlineto -595.275591 0 rlineto
+ 595.275591 0 rlineto 0 844.647797 rlineto -595.275591 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 18 7 bop 330 419 a Fb(8)2834 b(8)1622 3264
@@ -332,7 +332,7 @@ PStoPSmatrix setmatrix
0.704762 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
- 595.275591 0 rlineto 0 844.647799 rlineto -595.275591 0 rlineto
+ 595.275591 0 rlineto 0 844.647797 rlineto -595.275591 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 19 8 bop 330 419 a Fb(9)2834 b(9)1622 3261
@@ -345,7 +345,7 @@ PStoPSmatrix setmatrix
0.704762 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
- 595.275591 0 rlineto 0 844.647799 rlineto -595.275591 0 rlineto
+ 595.275591 0 rlineto 0 844.647797 rlineto -595.275591 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 20 9 bop 330 419 a Fb(10)2668 b(10)1415
@@ -358,7 +358,7 @@ PStoPSmatrix setmatrix
0.704762 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
- 595.275591 0 rlineto 0 844.647799 rlineto -595.275591 0 rlineto
+ 595.275591 0 rlineto 0 844.647797 rlineto -595.275591 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 21 10 bop 330 419 a Fb(11)2668 b(11)1415
@@ -371,7 +371,7 @@ PStoPSmatrix setmatrix
0.704762 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
- 595.275591 0 rlineto 0 844.647799 rlineto -595.275591 0 rlineto
+ 595.275591 0 rlineto 0 844.647797 rlineto -595.275591 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 22 11 bop 330 419 a Fb(12)2668 b(12)1415
@@ -384,7 +384,7 @@ PStoPSmatrix setmatrix
0.704762 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
- 595.275591 0 rlineto 0 844.647799 rlineto -595.275591 0 rlineto
+ 595.275591 0 rlineto 0 844.647797 rlineto -595.275591 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 23 12 bop 330 419 a Fb(13)2668 b(13)1415
@@ -397,7 +397,7 @@ PStoPSmatrix setmatrix
0.704762 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
- 595.275591 0 rlineto 0 844.647799 rlineto -595.275591 0 rlineto
+ 595.275591 0 rlineto 0 844.647797 rlineto -595.275591 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 24 13 bop 330 419 a Fb(14)2668 b(14)1415
@@ -410,7 +410,7 @@ PStoPSmatrix setmatrix
0.704762 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
- 595.275591 0 rlineto 0 844.647799 rlineto -595.275591 0 rlineto
+ 595.275591 0 rlineto 0 844.647797 rlineto -595.275591 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 25 14 bop 330 423 a Fb(15)2668 b(15)1415

File diff suppressed because it is too large Load diff

View file

@ -1,59 +0,0 @@
diff -up ./web2c/texmfcnf.lua.fedora ./web2c/texmfcnf.lua
--- ./web2c/texmfcnf.lua.fedora 2023-05-25 10:25:41.195939763 -0400
+++ ./web2c/texmfcnf.lua 2023-05-25 10:33:33.761097942 -0400
@@ -11,6 +11,7 @@ return {
comment = "ConTeXt MkIV and LMTX configuration file",
author = "Hans Hagen, PRAGMA-ADE, Hasselt NL",
target = "texlive",
+ -- modified for Fedora, based on Preining Norbert's work in Debian
content = {
@@ -52,7 +53,7 @@ return {
TEXMFVAR = "home:" .. hiddentexlivepath .. "/texmf-var",
TEXMFCONFIG = "home:" .. hiddentexlivepath .. "/texmf-config",
- TEXMFSYSVAR = "selfautoparent:texmf-var",
+ TEXMFSYSVAR = "/var/lib/texmf",
TEXMFCACHE = "$TEXMFSYSVAR;$TEXMFVAR",
-- I don't like this texmf under home and texmf-home would make more sense. One never knows
@@ -62,7 +63,7 @@ return {
-- By using prefixes we don't get expanded paths in the cache __path__ entry. This makes the
-- tex root relocatable.
- TEXMFOS = "selfautodir:",
+ -- TEXMFOS = "selfautodir:",
-- standalone:
@@ -73,14 +74,15 @@ return {
-- texlive:
- TEXMFDIST = "selfautoparent:texmf-dist",
- TEXMFSYSCONFIG = "selfautoparent:texmf-config",
+ TEXMFDIST = "/usr/share/texlive/texmf-dist",
+ TEXMFFEDORA = "/usr/share/texmf",
+ TEXMFSYSCONFIG = "/usr/share/texlive/texmf-config",
-- The texmf-local path is only used for (maybe) some additional configuration file.
- TEXMFLOCAL = "selfautoparent:texmf-local",
- TEXMFFONTS = "selfautoparent:texmf-fonts",
- TEXMFPROJECT = "selfautoparent:texmf-project",
+ TEXMFLOCAL = "/usr/share/texlive/texmf-local",
+ -- TEXMFFONTS = "selfautoparent:texmf-fonts",
+ -- TEXMFPROJECT = "selfautoparent:texmf-project",
TEXMFHOME = "home:texmf",
-- TEXMFHOME = os.name == "macosx" and "home:Library/texmf" or "home:texmf",
@@ -94,7 +96,7 @@ return {
-- texlive:
- TEXMF = "{$TEXMFCONFIG,$TEXMFHOME,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFPROJECT,!!$TEXMFFONTS,!!$TEXMFLOCAL,!!$TEXMFDIST}",
+ TEXMF = "{$TEXMFCONFIG,$TEXMFHOME,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFLOCAL,!!$TEXMFFEDORA,!!$TEXMFDIST}",
TEXFONTMAPS = ".;$TEXMF/fonts/data//;$TEXMF/fonts/map/{pdftex,dvips}//",
ENCFONTS = ".;$TEXMF/fonts/data//;$TEXMF/fonts/enc/{dvips,pdftex}//",

View file

@ -1,255 +0,0 @@
diff -up texmf-dist/scripts/pythontex/depythontex3.py.orig texmf-dist/scripts/pythontex/depythontex3.py
--- texmf-dist/scripts/pythontex/depythontex3.py.orig 2025-07-15 15:33:41.682593752 +0200
+++ texmf-dist/scripts/pythontex/depythontex3.py 2025-07-15 15:41:16.346789065 +0200
@@ -121,7 +121,7 @@ def replace_code_cmd(name, arglist, line
Usually, code from a command is also typeset with a command. This
function primarily deals with that case. In cases where code from a
- command is typeset with an environment (for example, `\inputpygments`),
+ command is typeset with an environment (for example, `\\inputpygments`),
this function performs some preprocessing and then uses
replace_code_env() to do the real work. This approach prevents the two
functions from unnecessarily duplicating each other, while still giving
@@ -161,7 +161,7 @@ def replace_code_cmd(name, arglist, line
# Make sure the introduction of an environment where a command was
# previously won't produce errors with following content; make sure
# that any following content is on a separate line
- if bool(match('[ \t]*\S', after)):
+ if bool(match(r'[ \t]*\S', after)):
after = '\n' + after
# Rather than duplicating much of replace_code_env(), just use it
return replace_code_env(name, arglist, linenum, code_replacement,
@@ -333,7 +333,7 @@ def replace_print_cmd(name, arglist, lin
break
print_replacement = r'\verb' + delim + print_replacement + delim
elif print_replacement_mode == 'verbatim':
- if bool(match('\s*?\n', after)):
+ if bool(match(r'\s*?\n', after)):
# Usually, we would end the verbatim environment with a newline.
# This is fine if there is content in `after` before the next
# newline---in fact, it's desirable, because the verbatim package
@@ -405,11 +405,11 @@ def replace_print_cmd(name, arglist, lin
# the `\input` content.
print_replacement = print_replacement.rstrip(' \t\n')
after = sub(r'^\\unskip\s+', '', after)
- elif bool(match('\S', after)):
+ elif bool(match(r'\S', after)):
# If the next character is not whitespace, we can just leave
# the `\n`, and it will yield a space.
pass
- elif bool(match('\s*$', after)):
+ elif bool(match(r'\s*$', after)):
# If the rest of the current line, and the next line, are
# whitespace, we will get the correct spacing without needing
# `\space{}`. We could leave `\n`, but it would be
@@ -421,14 +421,14 @@ def replace_print_cmd(name, arglist, lin
# it's at the end of an environment, and thus is needed to
# protect the following content
print_replacement += '\\space{}'
- after = sub('^\s+', '', after)
+ after = sub(r'^\s+', '', after)
forced_double_space_list.append((name, linenum))
else:
- if bool(match('\s+\S', after)):
+ if bool(match(r'\s+\S', after)):
# If the following line starts with whitespace, replace it
# with a newline, to protect in the event that the printed
# content ended with an end-of-environment command
- after = sub('^\s+', '\n', after)
+ after = sub(r'^\s+', '\n', after)
# Issue warnings, if warranted
# Warn about `\endinput`
if (r'\endinput' in print_replacement and
@@ -505,7 +505,7 @@ def replace_print_env(name, arglist, lin
#### The inlineverb and verb modes should work, but haven't been tested
since there are currently no environments that use them; they are only
- used by `\printpythontex`, which is a command.
+ used by `\\printpythontex`, which is a command.
'''
if print_replacement_mode == 'verb':
if print_replacement.count('\n') > 1:
@@ -519,17 +519,17 @@ def replace_print_env(name, arglist, lin
if delim not in print_replacement:
break
print_replacement = r'\verb' + delim + print_replacement + delim
- if not bool(match('[ \t]+\S', after)):
+ if not bool(match(r'[ \t]+\S', after)):
# If there is text on the same line as the end of the
# environment, we're fine (this is unusual). Otherwise,
# we need to toss the newline at the end of the environment
# and gobble leading spaces. Leading spaces need to be
# gobbled because previously they were at the beginning of a
# line, where they would have been discarded.
- if not bool(match('\s*$', after)):
- after = sub('^\s*?\n\s*', '', after)
+ if not bool(match(r'\s*$', after)):
+ after = sub(r'^\s*?\n\s*', '', after)
elif print_replacement_mode == 'verbatim':
- if bool(match('\s*?\n', after)):
+ if bool(match(r'\s*?\n', after)):
# Usually, we would end the verbatim environment with a newline.
# This is fine if there is content in `after` before the next
# newline---in fact, it's desirable, because the verbatim package
@@ -570,15 +570,15 @@ def replace_print_env(name, arglist, lin
# printed content. Later, we issue a warning in case it appears
# anywhere else.
print_replacement = print_replacement.rsplit(r'\endinput', 1)[0]
- if not bool(match('[ \t]+\S', after)):
+ if not bool(match(r'[ \t]+\S', after)):
# If there is text on the same line as the end of the
# environment, we're fine (this is unusual). Otherwise,
# we need to toss the newline at the end of the environment
# and gobble leading spaces. Leading spaces need to be
# gobbled because previously they were at the beginning of a
# line, where they would have been discarded.
- if not bool(match('\s*$', after)):
- after = sub('^\s*?\n\s*', '', after)
+ if not bool(match(r'\s*$', after)):
+ after = sub(r'^\s*?\n\s*', '', after)
elif (print_replacement.endswith('%\n') and
not print_replacement.endswith('\\%\n') and
not print_replacement.endswith('\\string%\n')):
@@ -590,15 +590,15 @@ def replace_print_env(name, arglist, lin
# warning if there is reason to think that a percent character
# was active in the last line.
print_replacement = print_replacement.rsplit(r'%', 1)[0]
- if not bool(match('[ \t]+\S', after)):
+ if not bool(match(r'[ \t]+\S', after)):
# If there is text on the same line as the end of the
# environment, we're fine (this is unusual). Otherwise,
# we need to toss the newline at the end of the environment
# and gobble leading spaces. Leading spaces need to be
# gobbled because previously they were at the beginning of a
# line, where they would have been discarded.
- if not bool(match('\s*$', after)):
- after = sub('^\s*?\n\s*', '', after)
+ if not bool(match(r'\s*$', after)):
+ after = sub(r'^\s*?\n\s*', '', after)
else:
# By default, LaTeX strips newlines and adds a space at the end
# of each line of content that is brought in by `\input`. This
@@ -611,13 +611,13 @@ def replace_print_env(name, arglist, lin
# `\unskip`
print_replacement = print_replacement.rstrip(' \t\n')
after = sub(r'^\s*\\unskip\s+', '', after)
- elif bool(match('[ \t]+\S', after)):
+ elif bool(match(r'[ \t]+\S', after)):
# If the next character after the end of the environment is
# not whitespace (usually not allowed), we can just leave
# the `\n` in printed content, and it will yield a space.
# So we need do nothing. But if there is text on that line
# we need `\space{}`.
- after = sub('^\s+', '\\space', after)
+ after = sub(r'^\s+', '\\space', after)
forced_double_space_list.append((name, linenum))
else:
# If the line at the end of the environment is blank,
@@ -1080,7 +1080,7 @@ for n, depytxline in enumerate(depytx):
else:
if obeylines:
# Take into account possible whitespace before arg
- if bool(match('[ \t]*\[', after)):
+ if bool(match(r'[ \t]*\[', after)):
after = after.split('[', 1)[1]
while ']' not in after:
texlinenum += 1
@@ -1094,11 +1094,11 @@ for n, depytxline in enumerate(depytx):
after = sub('^[ \t]*', '', after)
else:
# Allow peeking ahead a line for the argument
- if bool(match('\s*$', after)) and after.count('\n') < 2:
+ if bool(match(r'\s*$', after)) and after.count('\n') < 2:
texlinenum += 1
after += tex[texlinenum]
# Take into account possible whitespace before arg
- if bool(match('\s*\[', after)):
+ if bool(match(r'\s*\[', after)):
after = after.split('[', 1)[1]
while ']' not in after:
texlinenum += 1
@@ -1108,11 +1108,11 @@ for n, depytxline in enumerate(depytx):
optarg = None
# Account for eating whitespace afterward, if arg not found
if argindex == len(depy_args) - 1:
- if bool(match('\s*$', after)) and after.count('\n') < 2:
+ if bool(match(r'\s*$', after)) and after.count('\n') < 2:
texlinenum += 1
after += tex[texlinenum]
- if not bool(match('\s*$', after)):
- after = sub('^\s*', '', after)
+ if not bool(match(r'\s*$', after)):
+ after = sub(r'^\s*', '', after)
arglist.append(optarg)
elif arg == 'm':
# Account for possible line breaks or spaces before arg
@@ -1121,7 +1121,7 @@ for n, depytxline in enumerate(depytx):
else:
if obeylines:
# Account for possible leading whitespace
- if bool(match('[ \t\f\v]*\{', after)):
+ if bool(match(r'[ \t\f\v]*\{', after)):
after = after.split('{', 1)[1]
else:
print('* DePythonTeX error:')
@@ -1129,10 +1129,10 @@ for n, depytxline in enumerate(depytx):
sys.exit(1)
else:
# Peek ahead a line if needed
- if bool(match('\s*$', after)) and after.count('\n') < 2:
+ if bool(match(r'\s*$', after)) and after.count('\n') < 2:
texlinenum += 1
after += tex[texlinenum]
- if bool(match('\s*\{', after)):
+ if bool(match(r'\s*\{', after)):
after = after.split('{', 1)[1]
else:
print('* DePythonTeX error:')
@@ -1338,7 +1338,7 @@ for n, depytxline in enumerate(depytx):
after = tex[texlinenum]
break
after = after.split(end_environment, 1)[1]
- if bool(match('\s*\n', after)):
+ if bool(match(r'\s*\n', after)):
# If the line following `after` is whitespace, it should
# be stripped, since most environments throw away
# anything after the end of the environment
@@ -1389,7 +1389,7 @@ if preamble_additions:
# Take care of graphicspath
if args.graphicspath and settings['graphicx']:
for n, line in enumerate(texout):
- if '\\graphicspath' in line and not bool(match('\s*%', line)):
+ if '\\graphicspath' in line and not bool(match(r'\s*%', line)):
texout[n] = line.replace('\\graphicspath{', '\\graphicspath{{' + settings['outputdir'] +'/}')
break
elif line.startswith(r'\begin{document}'):
diff -up texmf-dist/scripts/pythontex/pythontex3.py.orig texmf-dist/scripts/pythontex/pythontex3.py
--- texmf-dist/scripts/pythontex/pythontex3.py.orig 2025-07-15 15:42:36.840317560 +0200
+++ texmf-dist/scripts/pythontex/pythontex3.py 2025-07-15 15:43:51.882856253 +0200
@@ -554,7 +554,7 @@ def do_upgrade_compatibility(data, old_d
It will continue to use the output directory for now. To keep your
current settings long-term and avoid seeing this message in the future,
add the following command to the preamble of your document, right after
- the "\\usepackage{pythontex}": "\setpythontexworkingdir{<outputdir>}".
+ the "\\usepackage{pythontex}": "\\setpythontexworkingdir{<outputdir>}".
If you wish to continue with the new settings instead, simply delete
the file with extension .pkl in the output directory, and run PythonTeX.
**** End PythonTeX upgrade message ****
@@ -1807,7 +1807,7 @@ def run_code(encoding, outputdir, workin
# Get the gobbleation. This is used to determine if
# other lines containing the basename are a continuation,
# or separate messages.
- errgobble = match('(\s*)', line).groups()[0]
+ errgobble = match(r'(\s*)', line).groups()[0]
if start_errgobble is None:
start_errgobble = errgobble
# Only issue a message and track down the line numer if
@@ -2072,7 +2072,7 @@ def run_code(encoding, outputdir, workin
# Get the gobbleation. This is used to determine if
# other lines containing the basename are a continuation,
# or separate messages.
- errgobble = match('(\s*)', line).groups()[0]
+ errgobble = match(r'(\s*)', line).groups()[0]
if start_errgobble is None:
start_errgobble = errgobble
# Only issue a message and track down the line numer if

294755
texlive.tlpdb Normal file

File diff suppressed because it is too large Load diff