Compare commits

..

1 commit

Author SHA1 Message Date
Than Ngo
f000b96b2a fix bz#1798119 - buffer overflow in TexOpen() function, CVE-2019-19601 2020-02-05 13:13:05 +01:00
47 changed files with 314924 additions and 47038 deletions

63
.gitignore vendored
View file

@ -375,66 +375,3 @@
/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

611
sources
View file

@ -1,90 +1,162 @@
SHA512 (a2ping.doc.tar.xz) = 7a7b6474819b2715c131485472963b463163378d4ae4ac586f17a130b3327c6dda1f4132f4f2379388a8a493fb2374abfff6b7ad87513cbe9d04993572692aeb
SHA512 (a2ping.tar.xz) = 4008c18f93a7d378c8da20bad7c1fdf19c3e6befccdcc804326168854fcd35bb89fe414b30a26dbddeaf81a11c0d404bf5b5459bd3d8adce49dc30279e3bd420
SHA512 (a2ping.doc.tar.xz) = daeefb01a0197e3b7751614cb84e2926f670d36b7e8a389bfbbe39cbd941c4d10ef5112593bfb88e11fa15f7f7bb07f2538c7d0a68cefe1482bbdaf02d475512
SHA512 (a2ping.tar.xz) = 983084ca3d70eff729d81d5d52a74e1bf1f95e384916bc81d17be81290f70c1da5ac891c1665a2451975f36fd56ea0036e1d0dc46b2e98b61ddc660ac044c23c
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 (afm2pl.tar.xz) = daff35d38fc35b83fc270c3d304e2383ce43b277e3e70645f957157d6e57cfaf4ce6a9191504404a9a0a681ff2167f361612cedf920f79e243c8afb9a9f3ecb7
SHA512 (aleph.doc.tar.xz) = 8fa6b630a6567afd7f0789182dc382df21cd1557d556f0b9854e2628ca369c578aced877af0b6ef55fef3f12d0b46a30f3b3c92e8e53cee3d02554f35ed4891d
SHA512 (aleph.tar.xz) = 844257e47e80ae4cbd243dc2363ebd6524b97ebc87e02a3a14b8a650d28ba268acef6ea3ccb6eeaa22c12169981410970cd72aa57fd80f00881cc98fdd9004c7
SHA512 (amstex.doc.tar.xz) = 59a785a7e23e5530b40f45676dc5a0d75fde350d31bb5e6398015e7c9db2a672576d3a91dcb1c928103ce85dd6538f81ce86d8d78dfb2be196f044397a892296
SHA512 (amstex.tar.xz) = 0be8ae28c39851cb48882041016146d88507109945b6e474fc7758254b7c3a5c1861093861e69f82c4646f7bef369c2b4d212e3bea9e3175cc687032d1476782
SHA512 (arara.doc.tar.xz) = b4654d62b725c493e175d9d70c459b05be8a365fb389d5f20c2bd920671f03130586305d225676a3524a5835b87066223deed62db6dbe0ff8fea76f2caac5ce3
SHA512 (arara.tar.xz) = 9a999610563bbafd4dcf95591d90aac65a0ba2b0e4da7d5f58c694896dd01b1be5c06d2693d9fd69576e3b32e4becaf9bc046ecbd045394a5dc7e2db5c86a02e
SHA512 (authorindex.doc.tar.xz) = 486b02109152e02ac0e288424c8aaeabaf735105bf83177f7ab9117d2043d723234f4e4b414c63518ceeb6ae3003bc894c9e461f79e25f44727d43a212442686
SHA512 (authorindex.tar.xz) = f8083a9d2b23ac0c232a1ecaa862d1cc06a341ac3835b5242f6374122c41c36ad446cdd0e2d1290edc9c13b05f81c51b68f085de18cde03a832277ebf2db28c5
SHA512 (autosp.doc.tar.xz) = 4294deb8baced1bfda951bd924aff17afd59eec309889ff87a1d4504b97f5d4f25dc704471600d0636d2846a4334506831e4638e753bb85922d4cc9108e14f94
SHA512 (axodraw2.doc.tar.xz) = 1a3aaf2768d6f7a0eaf6d76b77e6980b4ced669b32800860855166fa790d16ce11a1a9d7c29d8bfdf0d7202f11683ecd964be9f2f6e4eb8a9f3319c1a955158d
SHA512 (axodraw2.tar.xz) = fbedd0c3df9707de542812844e958066be9ba6bd22de58105f9249780d4083d00438c97d92a9de4e79fa1ba1dc290870aa7c159c9d7750db68e34b0463a125c7
SHA512 (bib2gls.doc.tar.xz) = 892a57451f2a9f0083388a22951f04ff2610c2754e66d2e9f1e48470023e4d5e2c3c74c51dccb8a32ba80bf3398be7707a7de74102d63737d94dfe11dc0f1306
SHA512 (bib2gls.tar.xz) = d96ac64723c13e4d17780ddddcf526840796cc329358cc1672ad12aed53d64fb09a828d5c0501e398fed365193784ddcc74bb944df8a924385e63a1bdca938da
SHA512 (bibexport.doc.tar.xz) = ec96364b4a9f7ab446c6b0104646e82cab1c9015e0d3dfac6a795e58e02dd3920737207d16089c5470ac32f76a61be949efa6899ca935322c0062f71f3477b16
SHA512 (bibexport.tar.xz) = 75f9cb374e0aee1b049e977e3ee1a855ae8f908a6c6191589ce9d9fc28a8358fedf93faa416b1020e157a8ec7a3980673d00e052a100c88724e86050ea5eb487
SHA512 (bibtex8.doc.tar.xz) = bf6b13a5ca1e467c5435b51e6c5c6c4549eb456ae91fcac1c756ca09c165fafd488de6a4d2462057ef6ec7b3ea0b0518bd732556159ced0936494c5ebd4aad22
SHA512 (bibtex8.tar.xz) = 9d8ebea38bad048488251baf4ec7f939eec9c75df17dba576e510c09da6288a9cd2967c6c1dd5f7a472de51e38030801ff192874fd7d038a1f81e063614675d7
SHA512 (bibtex.doc.tar.xz) = 4974d5cc9b6702558a9df37d48ed1c00cf12b1ac54c38954c2ff000dcf11a832b2f1267ca1bc009768cc18adccc0fd7bc7bf0e8ebd351f11caaa5f58b63f6585
SHA512 (bibtex.tar.xz) = 2657225efc1d8f9954d1be9d9b866a626cb252cf596a78a7573ab5b43272e8646a4dd5c59f87275bd6280a2e614bb450c000da6cd9db6b2666f551943ccba8ef
SHA512 (bibtexu.doc.tar.xz) = 317a7806774db23017870f67b66730a77ff3944467bd9575bc6fb9f6a64c8e273bd3e337af218e1b4a156cd4e040bf6c152711d2e8bcd4bcfcb94c4746cd6b06
SHA512 (bundledoc.doc.tar.xz) = 384a9519a3aaa328444dfb569e86d037ca283d2d24529057bcbd1dccb41a3ba7bda027c01bc986b0932da77198ca13e9d7c4f4859d898a284577796255baa9c9
SHA512 (bundledoc.tar.xz) = fd342f56a110ed29a4562057910c9bde89a3a70dc619381005dd38610736f9dd43a3c2c25dbdaf557b648e3d126d943418969dacfa26e6627fe8f9f767a9004d
SHA512 (cachepic.doc.tar.xz) = 93108475f74b2356cea79a8403729df7c24e95871680b0b53f9316a7b158aa973ce108632a121198459352968bfdfd79f265d4aa301ecd00ce55cf56db5f976c
SHA512 (cachepic.tar.xz) = a0405befc4ed9217cedc4abc78c355b869bb803fa4be32245198ba4aa8151884ace023b3465db3b4757c923d0425fd1d186e25facd7c29d05d5072668a9f0e3d
SHA512 (checkcites.doc.tar.xz) = 56e2279cf3c522dbb86bb95e3a86ba7782bf422616568c806c97dbcd43437f75749771b50c2e53b7e247536ef9691157f00334d5f85b890ce588a5fdd01fe81e
SHA512 (checkcites.tar.xz) = 30cc60a17fadb14921a2134f60a70947727a8da100a47da50342f24b2071749a4a207994b0053a7d20e00a0eed0b9c985d8ce9f9a7e7ac874bd684a319b03847
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 (chktex.doc.tar.xz) = 6c879a78bc9aef8b851c07f54e3e1974628b0533a843046fad4e82013c32da6f1bcf585547816ac3f3b97fb4425af61e8b7b2b6e3ac1ca177e667a9b26ec17ae
SHA512 (chktex.tar.xz) = 528392dde236fd4dc9cca54239e7b1d19103fa5789a1c0f541a74472ccea52548fceb13e10a629e389f94ac5c16006246edb3ca584b1681b9e22346edc720715
SHA512 (cjk-gs-integrate.doc.tar.xz) = 5a678f4c5d27801e300acf07eb2885f9dee948c8ba3e533b8ae3a5f76502351c769395e2483055cfb65d52e541d9f9062c7adc00a53de0130b62abdeb1cf58d1
SHA512 (cjk-gs-integrate.tar.xz) = 3f18c476551f6152fb3ee6084c4bca190bf5821cdd484230652cf75190347f97a1f811b050763bac3c866e96cd09b3f20e1e1fe0a7d7aaa96bafe772840715a3
SHA512 (cjkutils.tar.xz) = 0c6e2eef5022fcdedee3d3eeadd87a885e663f92274a4f671c039197b6fd886605c4d71b052669dc8665737f38f2ba02d070f75610384ed53d4e96d66d696457
SHA512 (context.doc.tar.xz) = b172eed71f2917ca16b4ce18b24d28e51ea48a1281fa8e34a5e104363656c1492c7a79339f3d0f7475ffc1f7ea13b647513f3af519afa684231dd7df3ea3b488
SHA512 (context.tar.xz) = 1c525a6a7fe325dddb9588d3720e806ac762eefc90848e4457fc4d3cd60c64cf7b6e5c9388a1f22b22c526e84cca512140511bec9ca5ddad99bf7b968ac49c03
SHA512 (convbkmk.doc.tar.xz) = 937d436cb9387eac601883ced516fa40f60e606bb4bae0be62e1ded2a31754a1d00461a34ad533cce1cc48f4d11e880233eaac128d80841e0b22f18801e86506
SHA512 (convbkmk.tar.xz) = 01bb9621459bac7eecc99b1d9aa59de420ba805b2e0ecdb2a89f5c86fa4a3021d957b4ddc69617ea406e77865d68e40c657979c488fc51f4676d084cfe6181cd
SHA512 (csplain.tar.xz) = c4dbe1721fc2281cba7e426f6c75d35671cfeddf77a947f147a33c651090bc90528583445736bc2933c2d3986424e1b3ac4984e93cfae5f0ad1cfe41902f63cb
SHA512 (crossrefware.doc.tar.xz) = cef9694f4e984ee077902852143e2c88bb533739c6b53c010eae74c32b486faf7806010beecee49bfce07d5f35270bd312852f6d5701860073854a5fec949125
SHA512 (crossrefware.tar.xz) = 351f123bab2b83614b660959e86573845e32b6ac894ddabf24484cc3bbb68d71fef1e543b4d14a3684804f8b4b8e4a5123c8acc46fd813048320ab50f245475a
SHA512 (cslatex.tar.xz) = d0a3ebaea7659e4f1b53aef42b9a8361e215083fd7d669b0a119ba744ddfb1afc79d5b25d7fa94082085dadf1d7d7da5981e485246c28c4708b82c40e0ad00dd
SHA512 (csplain.tar.xz) = 90023501aa0187ae8701d9b8ee27e5990ba00685b68acef563d9c605293f1664a7ec6be6d9e88c14e264d9d5c808e7f9be10890180d1f08599c4cd7a75128487
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 (ctan-o-mat.doc.tar.xz) = 256db0c0908710b1aaaaa8b78506503e8ff1f6e12d039c6604540d1c11c69a1cd2451c59e1797693b024fbedacd5c5de46013eb738ec3e873d6579b4ecee558f
SHA512 (ctan-o-mat.tar.xz) = b15624363438e7d2ab0c060a99dd95cad7b062df03a3efc5f270071d19ed3cd32bc3ce27ceb5b98fdf5b96d956f44225aa53e6ad59e984635b18ea410a807d10
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 (ctie.doc.tar.xz) = 83bb53248ce262bc8310faa8c0e057dac72c7c682e295fb9888acff237249a66a69d66b99d79033f5a1d8611ef582dd2121f8c28be9800ebcce775bf3adecf63
SHA512 (cweb.doc.tar.xz) = 1acb8eb3dfa5d563369baccf3615c06c61f03ae70e18988fe4d4637bc97290f04288a9d15c548d48c65aba0dd3b0b23faa9c1a7f7aa093ed37035fab569c8d4f
SHA512 (cweb.tar.xz) = 274b81a9a12de63e62c72878971c517427fe3dbd9a5ab10d89676326ecf23caefaa961504cb0e9a609224c519a3a6983346212fa67e759dbbf18c2c74de4c61e
SHA512 (cyrillic-bin.doc.tar.xz) = bfd4da4e4ba7c0d47e929a31b0fb52f5690b54fda797dd0df71864d411baffee9eb8c99b83942129802799ad95fbaf710b0f4da6be2e8fe003fc24fe97d9322d
SHA512 (cyrillic-bin.tar.xz) = f218abc7a05b5247ac3e7c6488c94ad775f7d238d4caa96d7537156052acf8c51cdd2131f55411050f7f8d725e163aa37e16a6af7147e0522be3db7115dcd207
SHA512 (cyrillic.doc.tar.xz) = fa2a5ca9c0952b80150e0d2b37f9472981ba3ce45e8ea5cba399551c6cf5a309d8329702494eefa759ca6423fc7df523cdce47eb9e9ecd12a5b15c1ba322ac48
SHA512 (cyrillic.tar.xz) = 447f8628641df193b258559435567e5e7f912de6a87688e68676ab683512f09661b2098707fa6ff9544972bdf3a58d81caf946811d3ff8516782062b1a10545c
SHA512 (de-macro.doc.tar.xz) = 05793930357ad58a57e221696d836895f02dec82cc93b9aa7ea302978bee24410d4b382ff72407faa67f4133c75a84fb2454957de446beca05606776c6581ade
SHA512 (de-macro.tar.xz) = 5ce9beff85d65654173557af668ff15af6989d9fa6d341fe9c26149d0715ed7cf57bf5b2a59b6cf99e8ec14e4ebb6816e9972268516a0b2a78ee13c6423b3599
SHA512 (detex.doc.tar.xz) = 60a69f4447b51dc7c2b8a15d2027a30dfb47fea82713617f0d4699109711fdf507ed6d2b7dd950ae8afd89b838903db4f94ea5b91755cb1f53feeb433939f5b4
SHA512 (detex.tar.xz) = cd2e97f09a80642c52b2ea02b8bc9f81651de23ede8c5425a6f37400191d68a6f1c25ef451d4048a2b2cb4b263fb8bab91ef5649d8102396c98a5d4761db1d7e
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 (dtl.doc.tar.xz) = b0e1d2c3728b859bc010efc5d31c50b10c7f9a045530f99278228fd4a4bae5563d58852dc995e9f4430d64512f7b0ec0c868c6f86259127bdf524c6f66bbec86
SHA512 (dtl.tar.xz) = 796f01b568969124edc40662db5d8699a815b72d9eafea640c9499b7cd907e4cd36ab42c87ade466c51fcb18a47de3363f5c6068f4c678243c7633343705f35d
SHA512 (dtxgen.doc.tar.xz) = a6f57e26b579a34aa61a76ac3e3539c53ee47427a02e39bb39ab4ead1e28135106c0b7a88a9de2211fefc6f5df84a0f1b5b797e3efdcf54d73426eef23cd0a3a
SHA512 (dtxgen.tar.xz) = e4d1bf82d1a64eafb67f3f0ff570b1b7eb8b45e869891482ba5e37ebb33312e2aabd22f433d1401e3f02e12b1ba9814c543899c52f7fbf8d191ac78d4856f2a3
SHA512 (dvi2tty.doc.tar.xz) = 31cd9e13e873269f27e7e40b681a56022e7c0d776179fedb3c9396bcd9743b9e2b5f3043d6d2858858593aac49e40c16bb27d676f77ded984f4b803dfd9b07eb
SHA512 (dvi2tty.tar.xz) = 41399ea5ec5d9e32cd032caf70009181bef98b28e29ffee84414914ca436a49bb59caa7e5523ae3c76cb8ede89d89ab74af79dd6ecc89cdf9f0d65605668e9c2
SHA512 (dviasm.doc.tar.xz) = 49d49f53bbba34659a96d587d899af7a1d4eb4841d3b5132ca8647efeb27bf6590f7bbac42bc5d5becca356f7bfcd4fb244f6ce9282539fc9aae4bc99a633ecc
SHA512 (dviasm.tar.xz) = f8f24627f416053ed4a53008eb6f4b83a6f7114793e361956c3a968efdfe06c11c233e24e14568ccffec612d1ef63daf8f6644333f68d202b816cafee1da98b2
SHA512 (dvicopy.doc.tar.xz) = a85e3cf8ee5e500264ffaffddf8ebe6642373f29fcca42c346654f304f34b9389f2e190014eacd215ca0d78debe44859e05696789b9f703fd6eaefc9bebd4ff7
SHA512 (dvicopy.tar.xz) = 34e16ff93daa924658b433affc70fdab01bd8d6c1d537cf1787389b8de34e7348aaa91a39ba3f3671d25d216420421a5ca73cff5de254fbf25a8433e20fda322
SHA512 (dvidvi.doc.tar.xz) = 831daec5b770f866c15440a384d1352824ead05faaacb8ae991e2d9bc1b115d599e5260cc9d7db6f0752ca7a16f21b0c52b5fff58ed1b23f30ffbfae59387c13
SHA512 (dvidvi.tar.xz) = 0b21ec8ae0741fe0b9cbe53fd97c4ef20cd4330bae769424b2fbd2998293b05419008ebcc7ab74bc17f166a30a66cad980f5692ab32aa1621ad4a771d20d720a
SHA512 (dviinfox.doc.tar.xz) = f5f84a2df36ee93ccc0a8acb687fa4fdc6441ee6b0c76fe4330cb28ff2e5106014df5f367d5f2821c10864ff16988837099114ce331afe8a303e0f9102d92193
SHA512 (dviinfox.tar.xz) = 33b37192832362c170575d1770b0e8da105ab0f9197ee52ff86a9dedfdac718fd7f3ca87d6f3f2075803fcffbc2f3739b806b1088bd7e2a21beca53292d918f0
SHA512 (dviljk.doc.tar.xz) = fa77f151e69f8baccbd01f8beb29c0143283892d42f5b0213909c7d434688a4e4c5e121ef9b8b73d93ebb211ca03a454ce309efd447a7d351968cbe9066b5ae8
SHA512 (dviljk.tar.xz) = 9c94578a0e4a43663cf1d3e05447d51ee84b892bb78ac105321b471e21417dd636bf8746d04c0decce06293f8ae8d8f60e0127b52796310a9c9dfc512158ab4c
SHA512 (dvipdfmx.doc.tar.xz) = 332955e7a57969de8647845f0d7a36bae6bb2fe8bc431533198c7225d5bf67ea18228a2c71bc88581fc3e72fcaef366002ea58b4ab54f3f8591ff7a3d4888f1a
SHA512 (dvipdfmx.tar.xz) = eded65e852efd5caa8cad6227894b5d76b190baed17678a0a89a90ec14ad0853abe0b8bf09d2b989af05b05c47dd1167ccacfb18aacbfd70915a483152904fc0
SHA512 (dvipng.doc.tar.xz) = 752961d28935c2399badb3e31af65c76eeb5a9cddb0de44f5d9907b8800567bf9fd8019fe8c39cc335dc9a60487aacd4de196611fe1f289cd0c424fd1d6c180e
SHA512 (dvipng.tar.xz) = 3716cc269d2f869527f6f4d5cc9ea92844c6d67e8eb56d80874540f37b89d6f8a391fb5c3fe0c194088f4ee7301396605c22d2990322ff441e1d1872a58eca78
SHA512 (dvipos.doc.tar.xz) = 0e4548fc7abe4aa8f54a1b1a17d4582e1cb6e9f0aecd9812a1e2337ab1aa9995b4f3c4e2417f3eed248a9d40a5ba2c314aab273fda3ff5dafda3d9ca23307b77
SHA512 (dvipos.tar.xz) = ea771c689b519ab7167a0e363af501db771e7883c0b82fe0ded3661b57fcf31b932cb268b08b7e1f2f4ea3a7f85a7bc1efca83272f7eaf163354166a0b9a5a93
SHA512 (dvips.doc.tar.xz) = fcc91e88fd3536244d878458a90d31ad3b9ec9efbc08d09d8b23f13d3887ca575e17663b2e21451abf88de389f7fc3937ce3ab49bc9e6ea94ab77c66ba179a00
SHA512 (dvips.tar.xz) = ee10b8c1b67997d1c781fe2c3e5ce7826c111a2b6f4078330b566bf5525ad2a1cb2b89c4efa8d877ae1557fb319941ed09db30b229a62b6d3ff6f6a784e48df5
SHA512 (dvisvgm.doc.tar.xz) = 2e44abd6925358d1dc594296ac2c13f146b4c8bd9b5d7dfd3dce92f5bf00e88712cc0f3a0da915578d39a8e1243c84b936cd624aec424f7d1661e9a7fe2b5635
SHA512 (dvisvgm.tar.xz) = 9497809c9788b1bec8afe64d67828b7035545eafa92fc6e3be62e9ced5a2428db6ff169d0919fd929a30872d0c70359d679d0d32b3a741dd9070bf6bc2901556
SHA512 (ebong.doc.tar.xz) = 82fd3ee7c02b22bd42c38349a50fc61e78050040877f28b4f9e88f89ead962732b7e20f1999133074488b26d9609a36afc563d8e6cc5958829af22d2e3e44008
SHA512 (ebong.tar.xz) = c16699e17aec0c6b8148b8ea224a3b2a0dc4fe1982e0b8dc5105f3a07075d99a07e743b55cb3ee23451a80d84e9887ca10c810c639b36a30c8ff275a27d9dcbc
SHA512 (eplain.doc.tar.xz) = d906efdebf758ea2176317727e2fc896c8ddf0630474c3f808228d17ce0d335fec3db0036539b4051d8ce4149ff6ab3a295ae8ff8963638b950352872a30e39b
SHA512 (eplain.tar.xz) = 0eefdc4aebe99e2296d27e4c81a5112fa3b896b8352ef225e94bae464bb72517c47f07cfe1a9beccfdb7c1200d8547b9157bda729881cea07de9c9897fdd3224
SHA512 (epspdf.doc.tar.xz) = f2c5ed08890388bc064af0bfe31f540c126b9bab4a5b262a5e44f6cbb4e4511ed43ef0fdd2945b01bfb1ff4aba15aaa7e7fa373f7cf93827fa352226a423d8dd
SHA512 (epspdf.tar.xz) = a8d2e4cdf1b3e4439ce8c96b18cc7182bf29f745b8a35942623575951ddf179964536f72ec58a357e7544d861bcf624d7b35ed3a0932d758e011e56633aba078
SHA512 (epstopdf.doc.tar.xz) = 7fef59ad3bc72b2e3fc10021216b88b8d5465f42503d9938031c3d40d93fbaf637094fdfc87b19ccc1da4d9a28c9890beccee7c30b915a513a909edbac6e0a25
SHA512 (epstopdf.tar.xz) = 6412bb97554b271cf5412dbccd316f3d69d7bcf2f524a5d6d1a75f69cfa11a981fc4ab063b6ea8302c2a0236ff93c59f1ee2f8f2b7f33dc466324080fc5016f4
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 (fontinst.doc.tar.xz) = e7774b46ac38bc2dd86ec8091ce4df364cf377b3864fac5d67ec0299e789ec10a171f8239c98f12775c750d023f69104a25b03f7bbc7dba15a2d1a7da3e70929
SHA512 (fontinst.tar.xz) = af57d72185dbfb0e169231b2dc0d7117722a5c1b4db7a9b2054d4848d1e5288e5dd5b6f0f0153f2e9dc87a13915fa77cf9286fce6d5afed7b541eb9e48024d98
SHA512 (fontools.doc.tar.xz) = e0a3600d286b9a7c3a5b4f44ed2f8d9cfa62ba5c080e57d8209e15b074e655266fd86aba45099563a3e969241e8139573ef52bada8e93a2b393a74f0a86f1612
SHA512 (fontools.tar.xz) = 9b1189cf8113c620f561415ab324ab8d3e633ec089094ca749baea783bbae7de16340f2fc456da58d9dcd3987577fb84af63c0022fec1562cc1d7e1489796244
SHA512 (fontware.doc.tar.xz) = 9ab42743fef5a65eaaa0ab186bdef895f8e7e3d95688fecdac8f7b59e064fc20f2b31bf5ef1b9b6676f3bf901867b06c25792ad07b2a13192e7290b5fbef33dd
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 (glossaries.doc.tar.xz) = a259caa8c339a20ccc59f7490f82c24cdafd605972a61468dad248e2b8bf4c7270a3a9e0a6777c8e36bb5bda0df6e115474a86cce0bb7346a2b2f0abb16c3bfc
SHA512 (glossaries.tar.xz) = 06c91a244d1ff817358b23c60980c5810cb1a5f96ff2b5cba4c4d3268d55affdd77f6cb0ab2cdbfe4ca40384c09a7df4225d1adf4980c954836ce51dff67bfbf
SHA512 (glyphlist.tar.xz) = d4b606f0aafd19d642be4e18c6ae4a6fc2051f0359bd5f15cec2b398b097e204bb9fdfd0b0925f3b697658c671e598e7b2711a85d0ae13d21af1d00040cd2354
SHA512 (gregoriotex.doc.tar.xz) = 66e5170d2084c01b2a9cff2ec344322e1b76942d7424ca75306e7163ffa592806240ae0f1dab176053753dc3dcd2ea7f0db9aa9afd5d7dca8200e593b2158193
SHA512 (gregoriotex.tar.xz) = b27e105c26022f7a9d04d4990f83ed6a73cb92fcfde1698c4be81faedfbfd67730d4957db1ce5b865820cf714072c842b85fc698dfe6cda0bdba100b3d4d60fb
SHA512 (gsftopk.doc.tar.xz) = 7d9fc4dc5c3b4cbc05939332e7286be712a51f74b408df2e6cd9f1c52f81b01104e4f41074c55f74ecd003276f2b9fa2285e875a27c20e16936e78ffedc6a4f5
SHA512 (gsftopk.tar.xz) = d05802963d499c4dc0979a58bfb56a1c04e006b25b7eac4cdeb7659ac6f31a0380e476e933586f4169846f88d727742ae5494cdbcb29995439a4cca5be4c7332
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 (jadetex.doc.tar.xz) = 00014ee9e648cd179c8435c1eb90c804f8904ed890ab1c3f93ce8a8e04785a493682b4191c1790a1c0945761fa193b6c6f759e852e43445e896b0c97870247d4
SHA512 (jadetex.tar.xz) = 7a284d9eb0639b64299b59a3b29cf939786590ee7eb289a7f67793ac10b8945272116015d7ac8732870eca5a2751e17e9d69946664620cd8617d056f505ab85a
SHA512 (jfmutil.doc.tar.xz) = 20de3ee13d4f214a0576fc05833a074f345ede24c589a3711319b14baa33ad7e961b1d083105ee9c8b8262f59af76b1dfd821a4cd903a25054f26499c84139ad
SHA512 (jfmutil.tar.xz) = af6f5a94b795af993a189276825388da3f0592563fdfde1b3f66ab1763a375ed691c51c2f4dbcd5496be7131de68f7069c7c6a748be2836a374d75b876312c01
SHA512 (kotex-utils.doc.tar.xz) = a46c5d09d119fa2fe8b9acea87a37776536e3216b776af6b7037fc5b0a522af5c1a58baf081e60f06c9a4054e8ac2372458c276c779038a030dc92efdfa3aef6
SHA512 (kotex-utils.tar.xz) = 569e9677ef0f346e5a53f4cc84302a8ddf2b4ad85708f4ab8ba7d076ebf339ec60998a41fa92fa815167e9bfc37085ebfd921dd13a60b017a0574e4a5d205802
SHA512 (kpathsea.doc.tar.xz) = bd13bb8a5740df0abda5d5f546138504bf3b6bd54caa95e5f1758cc540af4bbbd055e3868c494f65e9bebe108038205d8537fcffbc821a8f17bc51119e5d479c
SHA512 (kpathsea.tar.xz) = 12676ea4b26af792c1abc2a3189c103357b6af4994d3131d8d98e507af24f5d9666bfe4d8abba0ec984eec1ba8c99ab7a6d35813c8e053c79c82a7baa88c973d
SHA512 (l3build.doc.tar.xz) = 737be43fff2f777333d0c75bc24d86d17936c027595a13a531292d3ae9834c606f95bdb495419493c10b83f71148e8abacc89eb8ee4be84510e7b69648d11d35
SHA512 (l3build.tar.xz) = 08e95f4a371e4d672ead485efa28305b17df53ef49a2d7238852d870068616cd503d1dc435816f7d16d6446361ae10eab19d168fb91a16248d4eed608a9d7b2f
SHA512 (lacheck.doc.tar.xz) = 59202286440ad95fc96576f6915843adfb2b3f0092509175c759c690069e36c0ce1ae66ef46c1dc1b9c33e42e7819b1f3490b45d3c3933233201d3e86eeb5746
SHA512 (latex2man.doc.tar.xz) = 214685e6982c7a9c694d74a73d37c58f3947d7304637d2ed44fc616cece6026e5d02763f26e280ab21212d18a962c31b4ac5315fa840f10bf1efcfb782f4dd2a
SHA512 (latex2man.tar.xz) = 9ce1870958d7de7625fe73dfb735488d2512b048c8c06fed3f87255db0914080675017d24c88a97ec71ddb9cfe6f5769ea378f099d8787e447837a1ff5167436
SHA512 (latex2nemeth.doc.tar.xz) = a674eac6b80811890433c613f7ec9c6fc4667791c5b4692606e88d3e38ee59a3b68951e5f19b26d2b9f9de3b79002d17f4c539fdcfce37b82c3dfea5cb811086
SHA512 (latex2nemeth.tar.xz) = ee82b11dfd3ede3b926a034ce8a7f46ae2bdd065f648fc0375a62392a8be605e391c64726eea03efc439b7a01fcd3cecfd70106335c72927e45c70ef0c8aa48f
SHA512 (latexdiff.doc.tar.xz) = 665d2029e8fa0eb6c1fbf3f9d99d6ae92e43e422bc59da6cc64b5119f3ffc46c6310acf8a95861ff3bc4d5ab6ac5fe78290c0454f9bcb4ffe2e815872f6b8c55
SHA512 (latexdiff.tar.xz) = 64b3c9906ade859568f67b235192ff29b70cd4ba94006a86cd1f7872d88ec7cf274fe89a5d292737d86295d7f92ff9be7be46936192eef2e5f99aabd116e9479
SHA512 (latex.doc.tar.xz) = 1acba8ad2cca66c7f3009ec5c5f99f8d109f98418a3649d8bbdb8749e7394d113ff67c85ffe5b3e991cb49eec3c42507eaf56f2bec204f6b9c100d4bc148f49b
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 (latex-git-log.doc.tar.xz) = 34c96eaa3950f9577ddf63fb42aac51080f8e92c55f02b217d2b680353f97b1fa6bcdd59158fa9e81d48dbe63d35859b52285912ceac4b523a8ae34ec894a1ac
SHA512 (latex-git-log.tar.xz) = 7277bd2160cfbab8daa88144b384cd03647192d516114d692af232906a39ea44ae5721ff0b935e7dd6425ec5514851220787827b819af71ae3f0c57b29d0d924
SHA512 (latexindent.doc.tar.xz) = 89d85ccc7faf8890b09c9e4818a07f706c0be9b39b035bbcdaf278016a78222cfaae0292d92b13f27febaf8d4c0d1e5078295bbaf08f3d17219c495c05c1ac69
SHA512 (latexindent.tar.xz) = e8f6f5dd0cab6f203014a57d455996794acb84a18e690acad00f1740264b28da6e4a6f8aa0b1525c44fab01c9bd8bb9292a8bf9cacc5cd049a06c11bff57df78
SHA512 (latexpand.doc.tar.xz) = faf4b269446a008ba77d37d8f51ab123171a3cc56d59dc6fae9c5274833e97276c24392064f6f95e8e8eb5b88717d1c4433a915208cd81788364d382aae200c5
SHA512 (latexpand.tar.xz) = 9248c63fa16b9f9ccfb0243bdc6d56bb80b9887e26d8f1cae53092ecef94f046f554d8c5b9ed6cacf7202dd5be212472f8bddf9eb740f4ce54e521c9baaf75dd
SHA512 (latex-papersize.doc.tar.xz) = 662d7a890978bb772a79db7a1d406ce6958970f6cdec352f78347d9ad8df47734ddae444370fa9e93582d4030568cd516ca32125b2d1e0f60aac3ce1c9b930e9
SHA512 (latex-papersize.tar.xz) = cc3c6b563e16f70cab0ec113068d7f870a266c090ef518c06b4e3eced8e8fd9cb7aaa3544ef362ffd4af7f1d033a104daa48d47416061c3a73ba8329cc9a0fbb
SHA512 (latex.tar.xz) = 9a457a0f8eacc9fd46aec1cd8b2636b497f88445f0790c308e94fbfefab111ba3db9ee82c17250fb75d44492d1f064f85bfc2fb239b71912b764f8bb113ad8fb
SHA512 (lcdftypetools.doc.tar.xz) = 2093330ede2753b383d57454c9fade7b89915985be4168677081ad2841ec1735c9d5ebefaeb3d53f49721d81f39d55ea01a42a0188ff79a986fed7530f3220e9
SHA512 (lilyglyphs.doc.tar.xz) = 8c834cb3ca5bff9538218112523537417bc41b05e34f6f6a1670c3f6eb573cc223ec8be121c7df79ebc746afe427520eef6d1ab0f4e569339b542ee67a6549fa
SHA512 (lilyglyphs.tar.xz) = 8d0d8b994628731e23b1a579a141cee66043838bf254306af91f9edfe2848379492baddddd1018b7a8b7c5fc7de33f4895884412b21d1b6825856f19b7da4a57
SHA512 (listbib.doc.tar.xz) = 0ec0970f591fd3a840c27730d41f0b817f631727c9c7219880b45209c21fe0d3aa616eb6eb94bc7016a9acabfe9c50846d872d3b36a104e1f4eb74dd003a16d3
SHA512 (listbib.tar.xz) = e71bda783acbb8ab6ccab3d8af535034caf0eea919bbd175685fe50585970b87613e0df5ed076967aca395cd8c7f1317e805fb1cf765897b03d6cc131d3d98b8
SHA512 (listings-ext.doc.tar.xz) = 82491f81dfc89950d085f7cc41dabdf7b895b23c8a69f80c1b4f4c420fe8f036ac181b56e3ab60496910d0f1165ce19b2f94c5e268dc1d59e352ab6747e3bee5
@ -93,333 +165,210 @@ SHA512 (lollipop.doc.tar.xz) = 206dee2be733e3ac04b5b259862b60fb3641fc44ea182da60
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 (ltximg.doc.tar.xz) = 2c5af9f2b1a843f5e27f96759cdca8d92dec87013cdfadceeafacbf77eed00e2db9dc286ecc7316cc6838fb85f59c399457490529426fb2ef7daf02f393fb622
SHA512 (ltximg.tar.xz) = 388b4826e49a57071f5dc8718d02d9f62f1c4f85368ee9e2f3f435fecd80c698cd3acde79d0dc9edcdda46e1cb2386e6efefc12a25b79f6ed73c0b5e5ce1dca6
SHA512 (lua2dox.doc.tar.xz) = 96746e4d0401cb0bb9cfdf7a44d2935d4e257dafb0f5099faf647aec0b385745518f160bfad8ae54a1ec018e0afcf4a7dc998cf9b7f310e0ba867bd2e6213960
SHA512 (lua2dox.tar.xz) = 24b6cf17ee55a9699077aac82263e442f1ba3e7843742baf425a4d4c514cb2f4b1ea8a4af9165997559560f2ed060ef818d3a57f71a79d6238ed29ccd263d787
SHA512 (luaotfload.doc.tar.xz) = 13572f48194166542ae11820591c5fa6ce86d7a0f9766c14f74a22350627155a15fccd55406bab0a3b0b1c0fe2b635164919793544fe55e8d14e83d098af7445
SHA512 (luaotfload.tar.xz) = 11c6779e01431f0629042066d2cf8cd5d1328c842a332a269e1928900947c497345e799bf38490a8451903c96591dfa61dd41aee55f932c4fc42809ef5fddd63
SHA512 (luatex.doc.tar.xz) = 5084702c17f70541fb6def483908cdf9f60cde4c142501aad47498547acba117580284f00c502f7feba0d27dc8e5939d9d8c92e11f498ee03ad654b4be9d8ae0
SHA512 (luatex.tar.xz) = 4706ab295a8cc72b6fbafa92132bbef82be4241f2b6b04a20230f763ae52e1a3be112b951d0537ef1c0fd64acb81be6726e71151b45332e90d70b05f3f8c2ccd
SHA512 (lwarp.doc.tar.xz) = 1fb6f6ae26007beee446aca7b198bc766c33dde3ad4c104a6e1586741c1250a97e0dd280ac3e09e8947822712d00a67ce836210baf189341b10cc81fca43eb5c
SHA512 (lwarp.tar.xz) = 7127a0597e5651a6c5ba4c95c36d8610081765eded09dbffdbb7e10a650f8eda557e9b988358117c481064cb2d7f17f43833031bead0104de61e0cd1975282e1
SHA512 (lyluatex.doc.tar.xz) = 4dc273f44f5258ff04f1efbcfbf65e70fe9215c8c5d66bb08bb78a63cf995d40fb17d17918a59b1e7c880d15f99031e27472c7afdd73fed0b5a8b90bc28d76e6
SHA512 (lyluatex.tar.xz) = fb715d0c668827823f5e0ba715613a113972be222814ef7c51ba9bd80fb63481d94e8bd8b493d26ab5c3ddfad419e4ff131f1833ebfd812673f6c4f52b3a82ba
SHA512 (make4ht.doc.tar.xz) = 15ef078e220d054f40e149f8f0012ed90d65c9b6b4103dec0684d5c4852c3c9571154075307d05995359706bc7808bba1fb92edd547e1184e4b6af3eefc28ed2
SHA512 (make4ht.tar.xz) = 3ec2a5d5dd5dd32072a77b2c6dc83e54bf1d8aac3b5a4e7570fdbd7ccff98016fe131e54344d1a06d96a7651d3fb9aab4e45f048159cbf58bd20f8dfd4cb96ca
SHA512 (makedtx.doc.tar.xz) = 913f6f02ff478ab5edeed4792846ee6bc06d28c16fd3d7396d394f4a964d6f39a12c8163d66a50a5bf53add151317184b09a712dfd32f9ff783bda7f520c7eef
SHA512 (makedtx.tar.xz) = e083fa791975cef84b2e2ba3472984e354d5ced50ae7fb96dd8239cfffd379e7a25fdab80abcb721e63dfb10d9557bce69e97c5624d1635f894bcd26e22b5f4d
SHA512 (makeindex.doc.tar.xz) = 40b9ee1ebf7dba9a4bb4bb3077cdb1e88b07f276a9d0ae9c2817bd76a2f742ec9237d1b6d9658694fc5fc4e8f82591194862637bd83ea8e106c0541591d343ee
SHA512 (makeindex.tar.xz) = 5967ba4123fd4c708ce841d29211fdb66c28518f4b418903be0ddf2a49964f706af96b250eec814c547e0703460c1273ce72a7acf3ea9fe28cc1c7073af29d3c
SHA512 (makeindex.doc.tar.xz) = 6decf2c8d770fe0cb18c87929f877afac8f2e5baf64cc85c82e575fa0722ed9dc89fb49f08aedff17f26101dc3e7ae42ca6d4a1f2864ec2906c46a960efaf90b
SHA512 (makeindex.tar.xz) = 6ddccdfd89e0f362b312c981da16e7e2771035ad03135f7c49998ec7d2b4f7990cc8d3094d2a703277aa1be1d43b332906169d1a6699eee8730a5d6451d9a2e6
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 (metafont.doc.tar.xz) = 119568cd01c06d8772495ff725f3056d648b844b58591216e8f35caf0f80b5d5908ef796c725eb7d917b04ca734fbff1ec0a4ad1e554ecb6a5d243a829644beb
SHA512 (metafont.tar.xz) = 7a1a5d0090a538bda4abe8f994a6891f46a8c276f45f26b0be0901102fdb55103a86848a153d3b0a980d08321471cea3f4249595aa4dc6398875d1d14cef8e96
SHA512 (metapost.doc.tar.xz) = f3fe9809c525cccbc3b1dcb3ed5ca7d93390486b85da13d1d005495ed74343c4445f1d3492b2a7b2383c2e96483ed9fca4d37fde1218e752536fcad5a616cfe9
SHA512 (metapost.tar.xz) = 1e3aea7c28d13658b40187358303d63cfdd40bf9bf324fbd7e873ae7e68038ba953fa28e9fcb1cf73b3034d9f60394f281490ad15aee77d2f0779698f7751ada
SHA512 (mex.doc.tar.xz) = 0409918335f2b6fbaba3bab7027d91b2959c13927445bf64aab60a14b033c1e50d27c19878a65a56e8245ac025a881300e0f5e47ab0662e70e5872109097077b
SHA512 (mex.tar.xz) = 192ff9559722639d535d91d58d161594506374548a4414ff1508750e35b0b3e755e0c6c87559899e216901d62bc88cb28dfbe0725ca5a51325135f4251e1f110
SHA512 (mf2pt1.doc.tar.xz) = 8e672808d60133e8a06bfd7350b1f9f5a4b1e706e565382b015f8eb9dbdb6da246b12815388f445fec87e63305381717d817c1eaae7762fd7b8043c89e1f2401
SHA512 (mf2pt1.tar.xz) = 87a90bdf45883da1291d8ef5a21e6f7fa51480f9933b92ad4a87384037de991ce36b47c238f822d466238f4bca6aa41a123c76a34f9f6efc2e43a2104f85182e
SHA512 (mflua.tar.xz) = a12e8a56228f0e3c49ef08a47c989135028ce6a99db714eee1304feaa31ae10ca5f030291ac56e9a344b54626247a521a909a18a35038333dbdce6553019e31f
SHA512 (mfware.doc.tar.xz) = f22a628dfe7d1566efa13502f38ac399e17bd90fd274a0fe4fba98de25bd24b6a3526bc0124e24277979ca42af8c01898f71e9bd9e1027a899b12c74c6ac205e
SHA512 (mfware.tar.xz) = 9379a31291d572743dd3d8f82e32e7057d686ef12d321e1f4c179df1d9d64116a61c7741b2be5b08a0f396e69b6c567e40cfb66141dae7a95ae3910366214a37
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 (mltex.doc.tar.xz) = 4a4f957ea1d27c25a4a5ca5a3aaaa7be0d65513741112512dcf65c4326c81ee090f371a6f8787629a8a7075344d8f8150da006004945a5075bfaee095e1ecb95
SHA512 (mltex.tar.xz) = 61f3712c0422eca9663cba6159a98ee20fc902e8c2afcebe700239958a97f948e8d02af04a5aec779751cd13f9d000128b4d6acb4b6d00f95164775693bd7f37
SHA512 (mptopdf.doc.tar.xz) = 54e02a9a9e18daaceefb63163b227fdea123b0a7250cf2f9a55b839a7df6dc347586259af501ff60b630fb008cb26b046d1823fdb5799cb5bb988d1cbace0acf
SHA512 (mptopdf.tar.xz) = 342104203d04c1bfad2d70a5908e51dc8c2e7f340e1454c629f07041ed26d0974c37b208506db8273b7e2462e517ff3455e687d9c0386a711672a32144cda6df
SHA512 (m-tx.doc.tar.xz) = c1470ffebb9b86958bdb68cf50e1fe18847e11cf1c28feca36ba0de68ce0fa72daa80c1df9312319d9cb5a42bfb250e7aa3a1e2ec8e093780b170b4d6d1b619c
SHA512 (m-tx.tar.xz) = 055839d04921e71aa0a83309485ba2506feaf2d3bcb919073cb011bdff8ba1f623c2c7af6fc4008badf8faad17e41dc4aa55f9aa47b0065af65fd2fb5dd6ae89
SHA512 (multibibliography.doc.tar.xz) = 3e13c8c60ab8091a363b63a63259e53e3c5076feb224a6f426e55a351141f007ea8bf7526b0f80684c83e4e97b43f5f05217e254f978e8b69665c736efbe8512
SHA512 (multibibliography.tar.xz) = faa2e16b8bdb9309e2f16cdb2c717b59c8ecd5d73e4819d72ee3226a80fe0c0ff6b4d686d0f1d009601e0d6dea140cd4812c2f4cb94f37b5bd9cc1bd19137965
SHA512 (musixtex.doc.tar.xz) = 29e7bbfda630825726d716ec45e4112b7d35e180a5d9294a5d1f7a1c8a8c544a8f9020021d17a1db74068ec23ed0c744593f74426fe465182d139d3e9e70e829
SHA512 (musixtex.tar.xz) = 2793fe7e110e97df26dc0a681b24cd738eadbc6bf322b438141b66718b561af3d1c7cb029e465827151be5242d620a3182aa304467f3e8e7c58f457310881c0f
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 (oberdiek.doc.tar.xz) = 9b3f8275b9c08ca0ba26ecbe52601ff7cdd11ac3d0045102c3f7b99aa076082994e55cb837d42d230dbccf60d88b4a223220c589fa97fc8f195328ecee492f08
SHA512 (oberdiek.tar.xz) = 8f6cc905af9c85af76e09e6639cfdaceeef43f0e6d79f66a43860bf47046615150ba05bf67e1cbe1e833b3807dafdb571f2ce4b80b5c358d247cc63bec73f7b5
SHA512 (omegaware.doc.tar.xz) = 5eef2e7061a6b44086cb8c9a2e4230db2abbf7b1d9cea678264900f9b2c8da056dda07db004b26031ec6d79192b11ce0cb139a3080dd84421bd527cb92f144a3
SHA512 (patgen.doc.tar.xz) = 136e6c23505593788da8343f4dffccee77ffcf9fa63382871507db47c3ff23d6c25d0cefc985f67e4ee137840aa3af8f1738a5b2dac5272e568e73b18b71a5e2
SHA512 (patgen.tar.xz) = 524ea5aa09feba7ef5efd47e35d8d94703be4e191bb081d0b13007e853e88729c6029451e58a7237ad5ddf524c4d0798421316c38d1d9374ed7cd05f2744f761
SHA512 (pax.doc.tar.xz) = e4a2c6b4220bb498bbc1f74ab8fdfcb65d261ef944a43a86f9007bfd0073c9c6aca08fb136c8b1516d78fd3a37bb00388afc95874778fe453e75f0ea615ef1bb
SHA512 (pax.tar.xz) = 3fa85993a3cee32753a6b965a2e7a97cccda36f2c32941e8650026d90a8a69c93ba1f762f802f15999b3c32e327e1a98d970217613a660cc5fac68cf3afabd6a
SHA512 (pdfbook2.doc.tar.xz) = b6b58cce91ec59d43e5aa868d5f1a692e76ef84f57c2399dd0d25b7ad9a94c2e23b376cb49a9d1c33a084362095e018a177c95bb3b752c5ab4840d054b241b51
SHA512 (pdfbook2.tar.xz) = ecee1f160c1898110bffda10fd1a329b66b8689d7fb967254eb9dabf8bf7d71ad94399fcf3ec6f01db08309c3b4803789ce768e347ca70bd9a81e2c49a6f1f78
SHA512 (pdfcrop.doc.tar.xz) = 5deb207030892f9e351d511bba20e65e957b5db17df6af60022c3f069cba127be6e9bdc1e94600b6f36af8f35697b041ac5aa529ef7997f57264b1dcbf76ce2e
SHA512 (pdfcrop.tar.xz) = eba7fd5c529e1b3a29d00ee679c24748050f1a6005391de4bdb6e6fd537cd447b01e6569e0eaa87251d49e14f548dfc80d5e33f037862a4e978905af37e9e186
SHA512 (pdfjam.doc.tar.xz) = 5814b6464efd3ec226fb2feefd07d7c7f0ed3aeeaa341c25bebb5e998b438eb7b86d9234982ab1f9ec8b99cbad6fbe3f2eb85239b37070f9ca557e698deaf96d
SHA512 (pdfjam.tar.xz) = 16cb97f7af45b0df2d8190eb8127e6e8837bc3971765f449c038a3afeb053c68fb127f087efbd2735b8958b529eaf3adca62df07a7deed5a90cf78947e9e817b
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 (pdftex.doc.tar.xz) = bb9a4ab19719fdf345146877fa91d3bae835e02b35b1dec6b288b85ea96f0492682bd4b627bf044fbc49824b6b7059a4daedf0c99055ab1ceb21cbbd86154762
SHA512 (pdftex.tar.xz) = 47b862d6ca260ee389a308a2027259c48d3b6a478c718684c7554aeb2f193142f348a668fb426d49790cc4046659ce42fc0bce099ea4c65863daa129de4fffb7
SHA512 (pdftools.doc.tar.xz) = 3f95883d9405bcec282468f42f8718bf9c510d98c41510aa643ce0b70eb7557f67b75def0dc0e1f862f79d586f0f49959b4c826f8c468ca9460fdd69d3d4ceb5
SHA512 (pdftools.tar.xz) = ba9ae7b0bbe512465357405e87f3d523235c2398d4a94e8d0c8191e37db06bfabd6676f3fb9f603397e5682f9dd4f9b1b4cad03fce89448a9f0b254f8a7f2b46
SHA512 (pdfxup.doc.tar.xz) = 3888fce668affc7efa7e9d88c890f72c94b49dd88ea3c05af956943dc015e89ad930e2de3a67e023c7e1be2cd1c7911e5df29dbc273e3c2b219eb5377c165956
SHA512 (pdfxup.tar.xz) = 4086f58241799139e980c97c1aae786566bb7801932334d78e89dfc5f8e718b6b9fd3eada32ae006b9aeb74d8b2644071a1b1e60db7dda3b4b4942947d727fca
SHA512 (pedigree-perl.doc.tar.xz) = 1e645090b3cb78b95bfed3398923c6e4cd39637238e7849bb1d05623307f82115fca87ceb6bac2aa89beb68371d7acd438099675ca33295839e413905b4ae150
SHA512 (pedigree-perl.tar.xz) = 9adc918e1156b2a14bc144b96b5d3fe2b1272a5c9924e30c67236c564c1a065f06ea075249df21f19ce13b9cc03a885402e120d6b8f40f912d8c6ef4b98fc1f3
SHA512 (perltex.doc.tar.xz) = 3232ab27e1f2b9aedb952c8e55363cce9757914193c5574cf794bc2e34712a558ca9f7d52c23e689214509a7924debf64d79c6c6780afd23182d744f56b73215
SHA512 (perltex.tar.xz) = 10dee3548d1f55eea022a63116cf11a8b08f4278d3bd5cd29c4a930911faf283394fa690883c6bf826b3070fb0a55c77f6f22a4c1fb872f211794a7036f0e2ce
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-helper.doc.tar.xz) = 146bc49beeb779c4815737cffe1bad30c28e7e44409a3e7036ab82c58f6f1b7e0ea3498f1a19cfd312390bcbc31c72d9f61a92501d87690a61cdc7c66c2fd2ae
SHA512 (pkfix-helper.tar.xz) = 4828927668f21f465ab672b92e6e3934e81e60bd9b3bc1f28a65b2c4dd26d2ce244258ac1b7d8846c0bfbb653a2fe009875ddfcc0383b34249e775f675497478
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 (pmx.doc.tar.xz) = 37405b45aabf5bb6027b7849bc23f263f2ab9ffec515c3d7a2073bd7030580898b1c2171c760a9da40dcf0cd4cde890e235dde572b22e69e6a273b7bec4ebeb3
SHA512 (pmx.tar.xz) = d8c20ad86fa90531b0bfb1e7af06492e31a4b3a46331fd36d60bf46275103672b61a419eb671a3c89f098e0c74a580df313d75001e52b27b148bf322c7df1593
SHA512 (ps2pk.doc.tar.xz) = 58bc80926df5d9a75f8994f147d4d7472ee495ad0ecd22bfce2b7e79665108bd44f1b25eac6c26a047b9e572a259f10148abf35f2dd6410346d951cef222628c
SHA512 (ps2pk.tar.xz) = cdaf699808804ddbc6e7a4c58db7332e6bcb2402aab67ab617c031ab6b3ef40ecb7211b446788aa0f1eb7a69a32d2e7802ef03e9adfa062cbbde002a909f8dd9
SHA512 (pst2pdf.doc.tar.xz) = 79cd5a76de8c3cd53b96adb498ed30afb5a8f9b8cf35009fd4e1c487b7d381dad81f46d03e85b1896ca712b02cf31732a7b9b84d4e7f75b0a7d7b6e0032ad559
SHA512 (pst2pdf.tar.xz) = ece2fc7c670d6c6895d364cf316facc5898c83569640f0c261ee89dbe3b302e5c6190e95c6eb08b132d213cbaddefbb1e589f1e6979a9540454ef442ec94bfad
SHA512 (pstools.tar.xz) = bb0046118a269ca8781bc5dd539e1dbb7b068bcda185d8d52f9ccc441ae07c96197078b204054fec079fce0d707e86a5b094db07dcf8c894e1b56fdee2db28ba
SHA512 (pst-pdf.doc.tar.xz) = bd6e6b3c7ee31cafb5c6f6064abb6b6f4a197c10f4ea184fe028fab874a1a5b6bbf39719a1a620fcc9fec23e52ea15c6abfd4b66f79c788755f1ba8eb65ef778
SHA512 (pst-pdf.tar.xz) = 537812f3811e9a62a2c9667438ea380c3219b1cd8a96ae2225e0ded063f1f1ad572a699d4f9d5d11f2c667fc560d94f17b275293198c5eb4035dcc3d3cb92242
SHA512 (ptex2pdf.doc.tar.xz) = ba07bede383c322ab541cda888c620d1ce7313dc65807e0d1728d53bb1ee8ad46a15a5fa1b88c93d796cce2eb6b8c4b534fa8d5c9089e83d0a721a3b222c0727
SHA512 (ptex2pdf.tar.xz) = 2528b9b182dccd3bb79fee2ce030874554d2ae674d78e481580bbbf03e38d12e1d7ee35b1e7d5fe887ea285851751bcbc2bf3d5cb462430b842ded4fb3a7b0bc
SHA512 (ptex.doc.tar.xz) = e09ce7a08be8a176e591cd69b1bdce5bf37d59537109ca820e9f4e60bdcb4cec32a58cee75ee36c61ab7a512eb2475df7f2afd570eeca53c33b2be94ac2ec88c
SHA512 (ptex-fontmaps.doc.tar.xz) = c5e0f4b4ac9c657b83c27ced5bf3d4eccf993db6518fbb750e8a0b91752b40193a947a3ac2c53a82270be2f8ea736711b5a60e59f29c424bb3ca612038be8972
SHA512 (ptex-fontmaps.tar.xz) = 8951d9e1bc4b2f2e4ac7bc5cb3b56ddd3924684c65edb35ff680e72ede7aa3f15b92a1cad39d8e6652cf76abaa51e72115aface47068031c6b24fc82c5e6531c
SHA512 (ptex.tar.xz) = 7e03619011e2095fe76674e39f6220d938a9673a34bf6cf35cf262a60d8eb140a5f978f8f04b6031a1fdb56e81edbc6c4ace82cea9fbbae2e9839b0b8d0e0612
SHA512 (purifyeps.doc.tar.xz) = 3f9fadfb35596835b250cab98b0d1e3c6d537cfac5878e0b9788aeb5cc7ef455ce3d44f7d0f03e9002796a162d374f6aa8f9bce5bd4c3f0e8937040de0b82a8d
SHA512 (purifyeps.tar.xz) = 79d99ef7ebc462c7c65d03f23cc85b9f136df2b0c9d647fc0672584fa57bfb7447f6db0e6d6b11bfc738cfe8c8658f45fe0b4059ff00f355e4b21d44f0d4102a
SHA512 (pythontex.doc.tar.xz) = 3ec2fe0f095384734575c2c9fd1bc9d485b628485c8ee75cd8fb9ebd6d1f56edbec6f378c7c9e1d5ba9c10c4bbcc3934ddb957dc47a258ac81ca89b5ce3a2e92
SHA512 (pythontex.tar.xz) = 2e67beb9974eb9a567726d8a68f7d565aeca97d20484ef6e36312100411eef9d9de937297399a98f367a756f6679314cc1a25201ff11936b8a61f8f1f148830b
SHA512 (pygmentex.doc.tar.xz) = effc3db243edd25d4aecf7c2de6eeeaa18ff085f6304bc390ee0276c07d7672d17202d8832a012e9fedcf3bbd16771aaf78a4262366744f5a27266693fb0e87d
SHA512 (pygmentex.tar.xz) = d6e6327d0bce32aafb4be5a30eae63ab0418506367a4a18305f2fa45156b27911bf2cb945289323839c82bfacd6d8d3a588a302bff1cfc29911cf7d761d83cc9
SHA512 (pythontex.doc.tar.xz) = 4a79de9023f8b12a22ff6ab14295e580118ba749a465884fce3f43a2bdfa8c3f7a4e131223f191863f2f3b3049f2b6d83d7c52bfcd3e4b3d90698591c61a8e6c
SHA512 (pythontex.tar.xz) = a5ab9d196f7916cd856907e002ba3a67240f99739132444306b657bcd1f22d305d9246c766fa3fc1f4706ff3a1d23abfa6e7334ea2dfb5dfbc9c772bbfbb6025
SHA512 (rubik.doc.tar.xz) = 33d5c8210600cb4ce7b1313d1046f6644f0a6648f7ee9676d4d628d042f6501b5e92f2b56a31fbad6f637dc93a460a568be9e1335bd52bcea825f5772b2a9d51
SHA512 (rubik.tar.xz) = 67931287ea126947b5b2d567ba355d44ce094b2b527288ce32329de4a73434be9a43cd520e6c24ef570a46a16c0edcf12212f46228ee1bcd2b8a8be7f9db3a7c
SHA512 (seetexk.doc.tar.xz) = 1b36ac131e25541123a7d18e9a5e3cb1fccab04ffca1b0d1e5a036a26de99fb05e6745d43cac6dc76a295eac5503f90eafdb2b40f96c88836123b5b599a47e2e
SHA512 (seetexk.tar.xz) = 1f217550f7455a82dd1771556045e10a39138eebddc90f4d38a274d56d9072501d94476c6045012f3c5cda43aea71924268fd222895079b225d893df3b78fa97
SHA512 (seetexk.doc.tar.xz) = 39504cee7a077e16d10b2d4d1f393b1b90e7c21c7452f761dde1117f4b8668962b1baeac4b834b71b481fd170059e4e60f2d529e523e40503d26704ff15a7dcf
SHA512 (seetexk.tar.xz) = b3dea76f239ec78da4eb15d4bea4dd1171c3193e9d9e82a1ecc5d5ed747e421a7a3dc96e422839772d2f825e862b8a71befbacb7cd816405d707f654c7e5a32c
SHA512 (splitindex.doc.tar.xz) = c8dd92e955fcccf71b412d9750fff7b6f214e929ddf194a6496a79a146f4837af3d773ed3f2303546727cc4a8fb9d5366dd75b64d3877e6121ce20315f71997a
SHA512 (splitindex.tar.xz) = 858033eadfa82b4e40a388356f64002370a5f4fc2c95565eae90c68373f708a3c9827fc4e0ba8094659382aba4e5925cba86632733b15d85ea6a82f73ace8737
SHA512 (srcredact.doc.tar.xz) = dba9916acf75e800af1e581b4276e82bfe4c421a500a400773354766b37849568c1f19752a75983374ca41f793903f9776423888215f00376db1e0f5f3b3dbbc
SHA512 (srcredact.tar.xz) = 9e11ed88fbbfc0130f43fdecd8fb0b3eecbdf50eb33bdca57bd34c860cdfe84dcd560371efba4cb261e65aaf4577306f478d1c43ed89152e7e21fd627eb7328d
SHA512 (sty2dtx.doc.tar.xz) = 1abba13831a0cd4b93f9665f242b96d32e764c39ccdb917f655922fe2a4b00385d6a78c77c151e212082eace3b9c9447705681416b5cb2eed9f794d7eb30c905
SHA512 (sty2dtx.tar.xz) = 05e17abf8322e70f275308e983a244e178883aa36571640d513962e813a2bfeb88264c0ae9ccab956f9bd016923d1727c14a7a26bb58b257c7d05600a540da1c
SHA512 (svn-multi.doc.tar.xz) = 8e54c597bec50dc541abe4e1be7ceeca9575c5e9f3e201bc66eaeab11ea529cfe3724389aa2d4938f6272c93213dd20a7ea89cc9c954f882ce916c6d610bafb1
SHA512 (svn-multi.tar.xz) = f1367560fd6eb6247097d5e5901a56a01a90941f584797f6a5e3388cd9ebb5e33ae98a8cba69cccb4b42feb01a29d8507de8e814be8ca2516ba24ce6a0d929e5
SHA512 (synctex.doc.tar.xz) = 3a61c57a78772d6f8441db824f489c7dbd5b547760b43dce500ba9ec07780a839d0c6db7f90921846985ce4400bccbec2435e6d4d8bc2952fe1dcbeb9a23c91f
SHA512 (synctex.tar.xz) = 9fb5f8c3729115a91a51efb3645f39809b07ef9eb842d2ded1d64cdfe558c0bfec6234827dd87b38c40bb167225a88c6ff09e3d7bd49b50db7561981105bd6a2
SHA512 (tetex.doc.tar.xz) = 1b049d99c487f66cdf0b05a0371d7cfdeff99e6fef86fc33b20fc31af6c40fe2280a082ea7572a6463498e5bada30d6587134a3fc9026fe9f8a18dee45fbad65
SHA512 (tetex.tar.xz) = 4c51b762a71c161923e98af99bc9c695bf9ba46bb6f8aef2da1da0aabb65db48836fadbc964f0bd5eb25fc51fbd1e48214eadf63b7b1175683b6bd03a389aae7
SHA512 (tex4ebook.doc.tar.xz) = 586d3ce7642a0f06e358e0cb3d3dc577396a638d7e7c9f333a118716bf4dee8c18991d1736ac7169ba32c22b9aa10b887a8ae77ae5a4f40c800f2f1aca958abd
SHA512 (tex4ebook.tar.xz) = 946317be3532db3e60b1fcf2c027f616c00526da55562ab3b682c01306277059edaf14138902d1e21eab53cfb9bf293c636598cffddb9f1980b287b2fba081d9
SHA512 (tex4ht.doc.tar.xz) = e300f87b730dfa7811f57353aa539759b5844e430e0572cc5ae7fc630008bd154296af0f48167a9c743308ade8edf2659a52e29cbdd233009803382a9547e9af
SHA512 (tex4ht.tar.xz) = 40cea4513db85fa255db433e8a79b926ccd5633f76db7f2c3cfd3c7b235101a19491bb1c89158da8b65a9bd5a1647b333a475489aeaf6874e649c9365d5874b1
SHA512 (texcount.doc.tar.xz) = 5141bdf4378cf87a19933945d6742427f4467dc73d92f4a470e34474232dbb2f60c4d8db065f812481520f1aa2f8a90d7e97dfc83f0f089d10386847f64f4d94
SHA512 (texcount.tar.xz) = 82f51346d9474270af6374cc1619ca005206b1bd729ce1559b8b66e361b184a192c7fbe085216a3a64e656197756593f7d76e52437ac562fd33bf09504b0f58f
SHA512 (texdef.doc.tar.xz) = a4727d57bb5b56106a9baf4aabbabd16cc8a8ac08358c28263abe9c40b76a6d692d0e819c23c7b8e946e97fd3f7574a498a6f43207c04e7544a0383b3681f54e
SHA512 (texdef.tar.xz) = 7c5defeb9cf9d5fbe92f8433265543e6d7024e9f7fdc768582ec51a5880745c54cf8576f1b7455e32d51429e2faf122c0775ead117be97510f4b2d8123b04d71
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 (texdirflatten.doc.tar.xz) = 972fc69b705b2f6289358199cedc91ec386da9212048f7f7a84e43eeadc943f7f42ade8d7faa9f58d1685d2bb10408e274b2461032927042371feb86b4ef6b43
SHA512 (texdirflatten.tar.xz) = e4f03e9a434e1ab8ea1b69ca0ed2dffe1f8cdb2c853a733e275bee74ed4b17b84b72cd8cc7d1820f595e1c2282a38b9bfc7f7b7a9e003fdace6488390a1b97ba
SHA512 (texdoc.doc.tar.xz) = 133abc048e8cbfa84bd2788fe0942bc48d4d2844bec525c010a3590afa62b22ca77518ebbfd26e78c825152ec0eea0a8e1513d15931332656b8fec702b0b7479
SHA512 (tex.doc.tar.xz) = a911ebce516a15f736e210d67c42f5237243c5509d74d8725ab0aa36bcc1c4898a25ce3519a756e3b8b654c68e10887698da3c5bc466d36b27ce2bffae876eb0
SHA512 (texdoc.tar.xz) = 2c12bf48d03d456e95d6bc31ad6d46f77c0dfebde73fd8a87e2128c7267327377b8d8d7d9b04ecf7295eaad16eccf1df5bab6f9050df7113c62bfbbffc0d00be
SHA512 (texdoctk.doc.tar.xz) = f8f08bbc68488fd75a2291ea1556a8c1166357ba225ac0b0205f2b9e8ee1b23957f41c1a577540028b74f12647578c6fcc2219a07afb6d3a1f63affbfe383c19
SHA512 (texdoctk.tar.xz) = d6799beb8f8615c82dc8f66971bcfcb62e763672d707a284d2293164861cd861b47a691fadbda9dca736ce820e4c90adcf1358b04f4db38121459415101efbce
SHA512 (texfot.doc.tar.xz) = c0645e3061ec11cb0f27840391fd762eb18f407f173dc10da98190bcc33b2c64ecb7aac11fb7c79df7861273ce8710881bacfd976e635b3870f29a662a19caac
SHA512 (texfot.tar.xz) = 19b496131b7d68e77e7370a28cf05ab5edd2540027a927750237be0956c8e0fe9773017db5501f1ed31e213b1978aa217973d22ded0315b59cea453f59519bfe
SHA512 (texlive-20180414-source.tar.xz) = ecac9b8203d2747be7ba7f82d68096d859fb35713276106d7049035dd3a8cfca07f8a8648982f0317b3812f8480db7326714de32f95998e3e6f73571de2aa140
SHA512 (texlive-20190410-source.tar.xz) = 7759d8e668e53c0c73e48907096da9d8fb6384dd9c3342ddfb05e17d077054c5351d35256cf4e63a6da502de2f09f521979bede7209cdd5bd8ae80eba0efed2e
SHA512 (texlive-en.doc.tar.xz) = 26a2b59b28884d7df22a64b553ddf55e7e139de95a685bdb94382dc386c5b9afa29d9cf2f8ecfaa6fe8d92374ed7319c8b75109859016e9a14d25dad17af8ac7
SHA512 (texlive.infra.doc.tar.xz) = 48145aac20d15c3a830058d513d852e06aec6324d04e185f4f1820fdc26d8caf733481ad973c3393026f061f33bed92c3ebc67108886bf0bec417210b4c26104
SHA512 (texlive.infra.tar.xz) = 4550aca83dffc9acd90a538671a13f82acfe3270b6f42ab3e3485ce67b45da539521ef075d3212f1dd8a637f2fef597388edb87a2cb1c57c763369b3acae6cba
SHA512 (texlive-licenses.tar.xz) = 83fbc56f1795ca3771e901230d38063cb53d0eefd8afc04f16ec2044aa93db0cffff2d97addbf7e2c6623cb468878320e0051cc2525f941830da6e3f628ef4bd
SHA512 (texliveonfly.doc.tar.xz) = f89f82a59f726b226101275b1aeaec00b99ea1302ee5ff8c021e4696b4abad39d1a95b544a4bc45483440591e1266cfba4d5c3c3bbc769f193671a46aa7458b2
SHA512 (texliveonfly.tar.xz) = e02a1214775f209c0698e62fb7f0ae91c9ad14024c076dd6a5ca73fad4c92ebbf9bbb0f281869cb0c073538c66edae2af23245f1bd0e1f939c80841269625af6
SHA512 (texlive-scripts.doc.tar.xz) = d74f7ed8382145779090bd0a6091c284725a0c902c20432113eea47e29e81aeaa87df6157664c75d25fa18afd61280be147b770bd7e296536e28d9efe5a9bdcd
SHA512 (texlive-scripts.tar.xz) = 5b213cbe064521c52c6417ab5dc7808dbf4f6a67d20808f730ce34e575389dff57e8ba17c6bd52d45dbb730d03b9935958952be753c4606d2176870e1e3284b0
SHA512 (texloganalyser.doc.tar.xz) = 1cccf82314d9afc841044aabbb5f06933f6bbdfcdb46c22909ce18c2736d40c532944405232633f61893f0f56de24233d520edd64d4cc89baeca5c01ffd0f9ea
SHA512 (texloganalyser.tar.xz) = cbc18031b9b9ecfb6088b82b99eb72ad70fce92e4b103230a06ffeda0a50871715405a0aad18a7495ba1b80f16913cbadc4b8d1a7d2ebaa77d5cbd00e1682c93
SHA512 (texosquery.doc.tar.xz) = 2b7cf8dad61829b96a2f17f1063baabd21087ea2526c8d8a6408b4c2e63c8f44be3f318be6d1e198661efe683afbff7055c678e7229a13d3b01e200565caea9d
SHA512 (texosquery.tar.xz) = bfe5cbc793a81a9ce3c98ddc94fd217c3b235614394d2f329db4f98ae29ded1757bba5d98997118a2c78cfdf6d774146a7ac6a716b2bce91c876b0387e1aeba2
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 (tex.tar.xz) = 26b0f40fa859af1c76df5adae0d249255cf39c867051eabd703d1d4f56e37fa5c7a7506769b99470c1dd29f716926bbbffa6d9ce888b95f7c17b0765f1716d42
SHA512 (texware.doc.tar.xz) = a8ef6e6a062140ca6ab3311b7e57f452bbbb0eddebe36d02cd8122141320814508438d764a97d351febf9f65a5539b03774f611e9bfdcb5abdc5fa989fc5a848
SHA512 (texware.tar.xz) = cc66e87d459fb04070b0c43c16f3412ea22e3cf8a2748efb8a87fb0417bf0b9caa32a38147a9dd068d7ad0d25e320dc78ac54d9004cf5adef337ed0a90e52923
SHA512 (thumbpdf.doc.tar.xz) = fa2a7cbf80f7b76e63aff8ce5584e698e9f88a0d5a902895afa22a100202fb30bc857f5a1b88e190ff2dbf5ca9cf2338f6ca96a7b80a6d3e6e549040fc3ece7d
SHA512 (thumbpdf.tar.xz) = f3eaaa9ad4287d58ab89b98e1889f99dbabd82153f99921a9249b2cfb741c0cc45bfdd1903590c66bf0b63c77490017c36f552e34d7d15290cbc5904e57a3bc8
SHA512 (tie.doc.tar.xz) = 24f07d9954fe0385abec8487d4c488df551453e13e8f638e32899722d62dc91b23df9d4494f9bc13662d57fed6e8dfd4d71835ef79832b59f075f9023797e858
SHA512 (tie.tar.xz) = 970a855d2d025b3ac30a4e1631986568459bae84727b661ffc8e0982656bc66eb940b59e2b9c3ee6430e3abd5f7d8b0ce4ff828127bd2f9420e0139f1860527b
SHA512 (tpic2pdftex.doc.tar.xz) = b2734d86215332e7898e611ee12880c559b095468881c9ec1f15696a182afaa2f056c46ebdcf4cd69427e9716ed70b1cf50f72384d9f698e644e8b2fe9d3a1a6
SHA512 (tpic2pdftex.tar.xz) = 3a0bfba17911731b52960646914da0050a6928b2b433c84140ccbe63835d816f018cea4b16a8513b447c7490fcfd610cbf7a48c8cb0d5dc67ee925c238361b14
SHA512 (ttfutils.doc.tar.xz) = 27f3dc442a1892a903d5ebab16c82b0221efddd0def20b817ad1b33975d960219424ec1e6a408dc774e377aee99e905f6a850ce4a30ad1ed302acf442f09461d
SHA512 (ttfutils.tar.xz) = cb133e9067cc3b2d99dc2910d3722fd87d53bf38e664fdc80cbdd7ff1787047f0e71bbc60018802cae34cc5d6eeaeaddd0cac6ae23f980d0eb7316f6c342ce38
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 (uplatex.doc.tar.xz) = 50219b6fff4bb8d3b7fce501bdfae9a5035f2f027687d81643e1ffd2933cecc3c9ec65196bf3400f259a39edc72de6d4f0367e4c6178101e3d1e75e699f97343
SHA512 (uptex.doc.tar.xz) = 8d962e3bcda4d49fe6aadf89d0dcdaa9541fe01e50fc16cf9ebe3066b7df9f7bb2db85c3c6fef228125c8817a7ceaf2a2774313e75e98bd1b0aa429ed0f4558e
SHA512 (urlbst.doc.tar.xz) = 75f3282c52d57f743c75dc8022c80a5c138ad9c0947ab23085459b360366fc28b27395a8ade1bab442620c4f0892f3cf99298b6fbccd33d96af713a48db0f360
SHA512 (urlbst.tar.xz) = 84a2ad97ff9be1cdf9ba3f31c2cb3147a4625b5a569325bf8d766b6f008b6488e9d798ccdc9259c82e0c762e1df55b58051a9feb09b2d5c7d734ab2ea5c2c560
SHA512 (velthuis.doc.tar.xz) = d4d2f9692b173350419bff2f3e9ba2528ff21b467e93e63b991dda294bd562d4b0b25b5187d8348963d114bb4d28925ee74b20222e0946400cdd4a0b2b6194fe
SHA512 (velthuis.tar.xz) = 9c4a81758b71d4ee815bfbb1d0336d50d6da4b71e5d7aab6d5797a259b165b2d9559afb30484f9c3582002d7d9c536f5479828490504e74ddd56719403757255
SHA512 (vlna.doc.tar.xz) = e9b2676f12fba6415749cf72aa0d8c34c328941f722e2a11d2372220dc615acc0b5ffaaff57abb24a8dd0747894990bce912bf8f423519aaf8390b6f03061835
SHA512 (vpe.doc.tar.xz) = 3c60c736fa03de82bfa5bb86f40420e7f7eb59f6943a94790361bd1d64076ec97843404d1cc508074a903f83392892c6dddd1dc912162928b286e65c24a46037
SHA512 (vpe.tar.xz) = 5fd5180edb830cc2f309652ad6a86e3ce1900dd0b150b72b3115f2e0f51aed4023b3f7af8c86befd1b1317829907b35ce583b50fe5cd1fa50f15863046e806d5
SHA512 (webquiz.doc.tar.xz) = 58faed1d21c5f0abe004d5aff0ef6f754012722dace25948e236c940f3e9f3a49d4f661d6692afa0bbd0a654424017e84611c32cdd99a0ef60e510c4b2fa01e9
SHA512 (webquiz.tar.xz) = 04ce66027089c2be815380a10540e6c12040d33a33b1de9c6a98985e82a65e87f58a19b6cbf2b0ad7bc8e0a1e500bd21a80e2adbe3ff395ec4be1ecdd5b5adf0
SHA512 (web.doc.tar.xz) = 5647beef7b99a3a552b8f55d12ef669481e8ba3e01beefb014fb8e3cae6e8f419862131379b506ab8197e1717d563c34fa81d69db3c6db8107e6167447d87322
SHA512 (web.tar.xz) = 0d2d771e8452d67278adec061e1df8cfc06f3af729ea5ae7849acd5fe1b628167b18d86b1037484dbb6b20d5f703bba7ba9fb255788becc53ce22fd87f39ca7b
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 (xdvi.doc.tar.xz) = 17ccc4f97a55f146d6aacd63e2ef3e2411aa221363f0490b484cdc88910ecd0d94bd016db18fdedc78eec4001658f25de736acbae20eaf8f95c9cd576861f015
SHA512 (xdvi.tar.xz) = 9e05dcd35557d4655b8e78c8d8f64db1bd5fd37cea1dfaf163fc8ec2076d09c18f03c9fbf4314effa53048f660f86deb7adcde35b13aa7412d92f941ece0b550
SHA512 (xetex.doc.tar.xz) = 37cc86382c4ac1443db72ffabd4a3440b0e14cfc50f5ab632976cfc4a6aa4c14bfbadccc07dd8062f226a08c58cc41437590e6ceb10b0d201d8b14a21fa9a510
SHA512 (xetex.tar.xz) = 657b122433e14d4489a7344b1ce8079e4439d67abb5cad25c7241685b5ad01110f75dba60d18752624172cd05b7acbbb5ad0cf82b850ab4f39056963b8081780
SHA512 (xindy.doc.tar.xz) = 9e6c10388a7a707695e2965c3e3b851f939a68997cf880560a4a05ca3a167febeee9f1a7803cff1927bf7aecf0d6baac65bc4827c367f9c2d086d17d5947d64c
SHA512 (xindy.tar.xz) = b9127f03d8917543f0b1caaa24344aef0356818d7414e390ad45d5de3420271a81509ded3636c3475b577d6781be6e24c94f3d444f6190bed9039dd720274787
SHA512 (xmltex.doc.tar.xz) = 7c80b6fed3eb28735f19071d7fe0a61672355f6a2d2111c9f8eb8766387762b6d2cb343a5e0b601b6adde1c362c7407c9d1206e4fcc4457d5f4ca66f52d4ba3f
SHA512 (xmltex.tar.xz) = ff49080eda4d8f0133fd1f0b2a9be88d3017dea9faf6e2b4397b82c38424289e81b23fee7b3489b43a3741eb3218afba2c76749a2aacbc163f6891e04975ba02
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 (dviout-util.doc.tar.xz) = 916faf1b17e02ec011a6ace727f17807ae72b64126c3a29337b06554aeac3fb86bb5bc0ea36c5f82523843be1f051e56cf9cde9370b40170295d911cd91eb6da
SHA512 (cluttex.tar.xz) = 8363e6529dae0ec0b81c20180160bb1f794568520d68cd30f2287a6a5a4a22ddfb351ca0ede17c725ebac833d686f978e685921f6b8ac90316727d05b70801e8
SHA512 (cluttex.doc.tar.xz) = 5d49da59c17079981b59d820f60b658e36be0d3c1e57a29551ecdc3ec5d5948b0ee7b29c9a1eee44767cd858169e36b5e66a752359bf6fcb2a0c0e28ca15584f
SHA512 (ctanbib.doc.tar.xz) = f6295d3ab3a466e911878c7d44b4d2dee532fdd735297ad6142704f9d094826d80f0184827e2e4a459a82d6197a434175d4f6b49661503edf183cf9ede3061c6
SHA512 (ctanbib.tar.xz) = 2c1d7db662cf674cc2a3554550857c05294fe1bf6fa772b9be185ee2780cbee3f6369c0c8b5041a5fd2247c4e73e44732044e62e8a9ffe814c7d50683ba9ad59
SHA512 (pdftex-quiet.doc.tar.xz) = e13392cfefaed2c154c086ffcf85e21725e4230ce78d10e07dcb0a1c8b3685bef2572c5f5e249c56120320f2b0167cd5055ade50625a296446a197c0ba4b85cc
SHA512 (pdftex-quiet.tar.xz) = 7b33e37a4b33060abee48ccf825cacecdee552d641da48dae47e3615fa0ab91ea9912b52fbd5c5ba6cdaa9c0d2cc7baa7c48a80bebb6d1887e5c633dacb4d104
SHA512 (webquiz.tar.xz) = 725ff4b81203704a5cbf066c48d25a959031f89eed094da4d6a9b07ad059d977b2026b5e6a1e704999cf3b1b8eeaefcb5713f099f016f9cf17206ec1c1183dac
SHA512 (webquiz.doc.tar.xz) = 6b25d04e4cff7db299c4f13ceb55525fa3a4ff2d094960fbe8171b3822ce2917d6d868e62ed3a1d2083d78b2ddb839ec211b5ba00a6fd894c29ab2d3a6ca7cb8
SHA512 (xindex.tar.xz) = f27035d661cff83820f8600bcac21d2e51b373de7e7007bbd7d4411b8b5974a68dd293adf8f75a5966eeda922584a912fe3b3fefbae23854430044bd7acdab07
SHA512 (xindex.doc.tar.xz) = e6088d0f269fc025395ec711a54218ccaee15184b24f3eff0de773a5032d8da170d43b47b8d7768167e2f9fe1e6018114b65b9919f44cff629bd6d667e26f92d

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,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,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

312823
texlive.tlpdb Normal file

File diff suppressed because it is too large Load diff