From c44024306e8f25f4847f67acdc4c2201728e8d00 Mon Sep 17 00:00:00 2001 From: Isaac David Date: Sat, 21 Jul 2018 21:40:20 -0500 Subject: update texlive packages --- libre/texlive-bin/PKGBUILD | 61 ++- libre/texlive-bin/freetype-pkgconfig.patch | 22 + libre/texlive-bin/luatex-gcc7.patch | 32 -- libre/texlive-bin/pdftex-poppler-0.59.patch | 652 ----------------------- libre/texlive-bin/synctex-missing-header.patch | 12 + libre/texlive-bin/texlive-poppler-0.59.patch | 632 ---------------------- libre/texlive-bin/texlive-poppler-0.64.patch | 12 +- libre/texlive-core/Changelog | 376 +++++++++++++ libre/texlive-core/PKGBUILD | 14 +- libre/texlive-core/texmf.cnf | 30 +- libre/texlive-fontsextra/PKGBUILD | 13 +- libre/texlive-fontsextra/texlive-fontsextra.maps | 1 + libre/texlive-latexextra/PKGBUILD | 13 +- 13 files changed, 499 insertions(+), 1371 deletions(-) create mode 100644 libre/texlive-bin/freetype-pkgconfig.patch delete mode 100644 libre/texlive-bin/luatex-gcc7.patch delete mode 100644 libre/texlive-bin/pdftex-poppler-0.59.patch create mode 100644 libre/texlive-bin/synctex-missing-header.patch delete mode 100644 libre/texlive-bin/texlive-poppler-0.59.patch create mode 100644 libre/texlive-core/Changelog (limited to 'libre') diff --git a/libre/texlive-bin/PKGBUILD b/libre/texlive-bin/PKGBUILD index ca3d2d5b1..d7615abac 100644 --- a/libre/texlive-bin/PKGBUILD +++ b/libre/texlive-bin/PKGBUILD @@ -8,11 +8,13 @@ # parabola changes and rationale: # - rebranded to parabola +# - versioned dependencies to mitigate breakage from Arch's .so bumps +# - diable xindy on armv7h pkgname=('texlive-bin') -pkgver=2017.44590 -pkgrel=14 -pkgrel+=.parabola2 +pkgver=2018.47465 +pkgrel=2 +pkgrel+=.parabola1 license=('GPL') arch=('x86_64') arch+=('i686' 'armv7h') @@ -20,43 +22,40 @@ makedepends=('cairo' 'pixman' 'graphite' 't1lib' 'gd' 'poppler' 'libsigsegv' 'zziplib' 'libpng' 'libjpeg' 'freetype2' 'icu' 'harfbuzz' 'harfbuzz-icu' 'gmp' 'mpfr' 'potrace' 'libpaper' 'perl' 'clisp' 'ffcall') -case "$CARCH" in - i686) - makedepends+=('poppler=0.63.0' 'icu>=61' 'icu<62') ;; - armv7h|x86_64) - makedepends+=('poppler=0.64.0' 'icu>=61' 'icu<62') ;; -esac +makedepends+=('poppler=0.64.0' 'icu>=61' 'icu<62') url='http://tug.org/texlive/' source=("https://sources.archlinux.org/other/texlive/texlive-bin-source-${pkgver}.tar.xz" - "luatex-gcc7.patch" - "texlive-poppler-0.59.patch" - "pdftex-poppler-0.59.patch" - "texlive-poppler-0.64.patch") -sha256sums=('4645b4d55fc500ba9be7156a6a330afb44fbf7fda40dfd73fe9cb16d207f2038' - 'ee97f3e07e235dee4ad6d0c3e85c2260914c965e94d5ffbf481fa506df5f01ec' - 'a5204f110f261de989fc21f93a4b5485876ea2d28773bcdc4817b548fd865024' - 'c7246156104f8e57e80b6fc3a9c9efec7542cd067a525fb51279a15056de4426' - '02c75172cd25c54acf3d998bf79ef6915e611c9dbb2821638f3289dc87d7479a') + "texlive-poppler-0.64.patch" + "freetype-pkgconfig.patch" + "synctex-missing-header.patch") +sha256sums=('06d7a1c939cf7d6035850cefca1d01898ae51a879e20db684a202fd507a0cae5' + '1c444526e3967f82d68a003526b332e0401db7825e22b5542e6cd04f0e688310' + 'bed44f4ccda369410e90eac527cf44b8c1afda7d987ae521b4fd5edb425eef3e' + 'b6c81eb091b5910226e0359768edd178680debee56b63ab0a3753c3429c28ab0') prepare() { cd "$srcdir/source" + # Synctex "make install" misses synctex_version.h + patch -Np1 -i "${srcdir}/synctex-missing-header.patch" + + # Freetype2 2.9.1 package no longer has freetype-config + patch -Np1 -i "${srcdir}/freetype-pkgconfig.patch" + ./reautoconf + # t4ht expects to be un /usr/share/texmf/bin/t4ht (FS#27251) sed -i s/SELFAUTOPARENT/TEXMFROOT/ texk/tex4htk/t4ht.c ## prevent compiling Xdvi with libXp sed -i~ 's|-lXp ||' texk/xdvik/configure - # Luatex crashes when compiled with GCC7.1 - patch -Np0 -i "${srcdir}/luatex-gcc7.patch" + # Poppler 0.64 now returns const char* in getCString() + patch -Np1 -i "${srcdir}/texlive-poppler-0.64.patch" # Poppler 0.58 introduces API changes by hiding internal object # management. - patch -Np1 -i "${srcdir}/texlive-poppler-0.59.patch" - patch -Np1 -i "${srcdir}/pdftex-poppler-0.59.patch" - - # Poppler 0.64 now returns const char* in getCString() - patch -Np1 -i "${srcdir}/texlive-poppler-0.64.patch" + cp -pv texk/web2c/pdftexdir/pdftoepdf{-newpoppler.cc,.cc} + cp -pv texk/web2c/pdftexdir/pdftosrc{-newpoppler.cc,.cc} } build() { @@ -187,10 +186,13 @@ package_texlive-bin() { # remove dangling symlinks _bibtexextra_scripts=" bbl2bib +bib2gls bibdoiadd bibexport bibmradd +biburl2doi bibzbladd +convertgls2bib listbib ltx2crossrefxml multibibliography @@ -216,6 +218,7 @@ context contextjit ctanify ctanupload +ctan-o-mat de-macro depythontex deweb @@ -223,6 +226,7 @@ dosepsbin dtxgen dvi2fax dviasm +dviinfox dvired e2pall epstopdf @@ -241,6 +245,7 @@ httexi htxelatex htxetex installfont-tl +jfmutil kpsepath kpsetool kpsewhere @@ -249,6 +254,7 @@ latex-git-log latex-papersize latex2man latex2nemeth +latexdef latexdiff latexdiff-vc latexfileversion @@ -326,6 +332,8 @@ texosquery texosquery-jre5 texosquery-jre8 thumbpdf +tlcockpit +tlshell typeoutfileinfo updmap updmap-sys @@ -353,6 +361,7 @@ kanji-config-updmap-user _latexextra_scripts=" authorindex exceltex +l3build makedtx makeglossaries makeglossaries-lite @@ -362,6 +371,7 @@ ps4pdf splitindex svn-multi vpe +wordcount yplan" _music_scripts="lily-glyph-commands lily-image-commands lily-rebuild-pdfs m-tx musixtex musixflx pmxchords" @@ -403,3 +413,4 @@ pn2pdf" rm -f "$pkgdir"/usr/lib/pkgconfig/synctex.pc rm -f "$pkgdir"/usr/share/man/man*/synctex.* } + diff --git a/libre/texlive-bin/freetype-pkgconfig.patch b/libre/texlive-bin/freetype-pkgconfig.patch new file mode 100644 index 000000000..323a7b1c9 --- /dev/null +++ b/libre/texlive-bin/freetype-pkgconfig.patch @@ -0,0 +1,22 @@ +--- source/m4/kpse-freetype2-flags.m4.orig 2015-06-16 01:27:13.292945838 +0200 ++++ source/m4/kpse-freetype2-flags.m4 2018-05-26 23:51:50.567080501 +0200 +@@ -21,17 +21,9 @@ + + # KPSE_FREETYPE2_OPTIONS([WITH-SYSTEM]) + # ------------------------------------- +-AC_DEFUN([KPSE_FREETYPE2_OPTIONS], [_KPSE_LIB_OPTIONS([freetype2], [$1], [freetype-config])]) ++AC_DEFUN([KPSE_FREETYPE2_OPTIONS], [_KPSE_LIB_OPTIONS([freetype2], [$1], [pkg-config])]) + + # KPSE_FREETYPE2_SYSTEM_FLAGS + # --------------------------- + AC_DEFUN([KPSE_FREETYPE2_SYSTEM_FLAGS], [dnl +-AC_REQUIRE([AC_CANONICAL_HOST])[]dnl +-AC_CHECK_TOOL([FT2_CONFIG], [freetype-config], [false])[]dnl +-if $FT2_CONFIG --ftversion >/dev/null 2>&1; then +- FREETYPE2_INCLUDES=`$FT2_CONFIG --cflags` +- FREETYPE2_LIBS=`$FT2_CONFIG --libs` +-elif test "x$need_freetype2:$with_system_freetype2" = xyes:yes; then +- AC_MSG_ERROR([did not find freetype-config required for system freetype2 library]) +-fi +-]) # KPSE_FREETYPE2_SYSTEM_FLAGS ++_KPSE_PKG_CONFIG_FLAGS([freetype2], [freetype2], [])]) diff --git a/libre/texlive-bin/luatex-gcc7.patch b/libre/texlive-bin/luatex-gcc7.patch deleted file mode 100644 index 7bbf55732..000000000 --- a/libre/texlive-bin/luatex-gcc7.patch +++ /dev/null @@ -1,32 +0,0 @@ -Author: Dr. Werner Fink - ---- - texk/web2c/luatexdir/luaffi/ctype.c | 4 ++++ - texk/web2c/luatexdir/luaffi/ffi.h | 2 +- - 2 files changed, 5 insertions(+), 1 deletion(-) - ---- texk/web2c/luatexdir/luaffi/ctype.c -+++ texk/web2c/luatexdir/luaffi/ctype.c 2017-05-31 13:08:25.421741873 +0000 -@@ -245,6 +245,10 @@ void* to_cdata(lua_State* L, int idx, st - - lua_pop(L, 1); /* mt */ - cd = (struct cdata*) lua_touserdata(L, idx); -+ if (!cd) { -+ lua_pushnil(L); -+ return NULL; -+ } - *ct = cd->type; - lua_getuservalue(L, idx); - ---- texk/web2c/luatexdir/luaffi/ffi.h -+++ texk/web2c/luatexdir/luaffi/ffi.h 2017-06-01 09:12:45.128442092 +0000 -@@ -370,7 +370,7 @@ __declspec(align(16)) - #endif - struct cdata { - const struct ctype type --#ifdef __GNUC__ -+#if 0 /* def __GNUC__ */ - __attribute__ ((aligned(16))) - #endif - ; - diff --git a/libre/texlive-bin/pdftex-poppler-0.59.patch b/libre/texlive-bin/pdftex-poppler-0.59.patch deleted file mode 100644 index 5ed132649..000000000 --- a/libre/texlive-bin/pdftex-poppler-0.59.patch +++ /dev/null @@ -1,652 +0,0 @@ -r45555 | kakuto | 2017-10-17 23:52:13 +0200 (Tue, 17 Oct 2017) | 1 line - -pdftexdir: remove unused lines in new files ------------------------------------------------------------------------- -r45553 | kakuto | 2017-10-17 06:44:29 +0200 (Tue, 17 Oct 2017) | 1 line - -pdftexdir: add new files to support poppler 0.59.0 or newer ones (typo) ------------------------------------------------------------------------- -r45552 | kakuto | 2017-10-17 06:34:41 +0200 (Tue, 17 Oct 2017) | 1 line - -pdftexdir: add new files to support poppler 0.59.0 or new ones (typo) ------------------------------------------------------------------------- -r45551 | kakuto | 2017-10-17 06:24:27 +0200 (Tue, 17 Oct 2017) | 1 line - -pdftexdir: add new files to support poppler 0.59.0 or newer ones - -diff -u source/texk/web2c/pdftexdir/pdftoepdf.cc source/texk/web2c/pdftexdir.newpoppler/pdftoepdf.cc ---- source/texk/web2c/pdftexdir/pdftoepdf.cc 2017-05-08 07:50:08.141501111 +0200 -+++ source/texk/web2c/pdftexdir.newpoppler/pdftoepdf.cc 2018-01-19 21:56:11.841887257 +0100 -@@ -1,5 +1,5 @@ - /* --Copyright 1996-2016 Han The Thanh, -+Copyright 1996-2017 Han The Thanh, - - This file is part of pdfTeX. - -@@ -17,6 +17,15 @@ - with this program. If not, see . - */ - -+/* -+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 defining 'boolean' as 'unsigned char' and - defining Pascal's boolean as 'int'. -@@ -39,10 +48,7 @@ - #include - #define GString GooString - #else --#include --#include --#include --#include -+#error POPPLER_VERSION should be defined. - #endif - #include - -@@ -84,31 +90,6 @@ - #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 @@ - 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 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 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 @@ - - #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 @@ - } - // 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 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 void copyObject(Object * obj) - { -- PdfObject obj1; -+ Object obj1; - int i, l, c; - Ref ref; - char *p; -@@ -601,8 +595,8 @@ - } 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 @@ - 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 @@ - 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 @@ - pdf_puts("\n"); - pdfendobj(); - } -- obj1.free(); - } - } - } -@@ -685,7 +676,7 @@ - #ifdef POPPLER_VERSION - r->font->decRefCnt(); - #else -- delete r->font; -+#error POPPLER_VERSION should be defined. - #endif - delete r; - } -@@ -728,7 +719,7 @@ - #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 @@ - } - } - #else -- pdf_version_found = pdf_doc->doc->getPDFVersion(); -- pdf_version_wanted = 1 + (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 @@ - 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 @@ - 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 @@ - 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 @@ - 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 @@ - } - - // 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 @@ - 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 @@ - 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 @@ - } - - // 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 @@ - - // 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 -u source/texk/web2c/pdftexdir/pdftosrc.cc source/texk/web2c/pdftexdir.newpoppler/pdftosrc.cc ---- source/texk/web2c/pdftexdir/pdftosrc.cc 2018-01-19 21:56:11.841887257 +0100 -+++ source/texk/web2c/pdftexdir.newpoppler/pdftosrc.cc 2018-01-19 21:56:11.841887257 +0100 -@@ -16,6 +16,14 @@ - You should have received a copy of the GNU General Public License along - with this program. If not, see . - */ -+ -+/* -+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 - - #include -@@ -32,10 +40,7 @@ - #include - #include - #else --#include --#include --#include --#include -+#error POPPLER_VERSION should be defined. - #endif - #include - -@@ -86,22 +91,20 @@ - 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 @@ - // 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); -@@ -159,29 +162,26 @@ - 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); - parser = new Parser(xref, new Lexer(xref, str), 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(); - } - while (str->getChar() != EOF) ; - delete parser; -- objStr.free(); - - fprintf(outfile, "%.10lu 00000 n\n", - (long unsigned)(firstOffset + localOffset)); -@@ -192,7 +192,6 @@ - s->reset(); - while ((c = s->getChar()) != EOF) - fputc(c, outfile); -- srcStream.free(); - } - if (objnum == 0) - fprintf(stderr, "Source file extracted to %s\n", outname); -@@ -201,7 +200,6 @@ - else - fprintf(stderr, "Cross-reference table extracted to %s\n", outname); - fclose(outfile); -- catalogDict.free(); - delete doc; - delete globalParams; - } diff --git a/libre/texlive-bin/synctex-missing-header.patch b/libre/texlive-bin/synctex-missing-header.patch new file mode 100644 index 000000000..5e4ca7bbe --- /dev/null +++ b/libre/texlive-bin/synctex-missing-header.patch @@ -0,0 +1,12 @@ +--- source.orig/texk/web2c/synctexdir/am/synctex.am 2016-05-08 19:08:26.231570952 +0200 ++++ source/texk/web2c/synctexdir/am/synctex.am 2018-05-27 00:14:26.011125669 +0200 +@@ -55,7 +55,8 @@ + if SYNCTEX + syncinclude_HEADERS = \ + synctexdir/synctex_parser.h \ +- synctexdir/synctex_parser_utils.h ++ synctexdir/synctex_parser_utils.h \ ++ synctexdir/synctex_version.h + + pkgconfig_DATA = synctexdir/synctex.pc + endif SYNCTEX diff --git a/libre/texlive-bin/texlive-poppler-0.59.patch b/libre/texlive-bin/texlive-poppler-0.59.patch deleted file mode 100644 index 5a154ad24..000000000 --- a/libre/texlive-bin/texlive-poppler-0.59.patch +++ /dev/null @@ -1,632 +0,0 @@ -diff -ur source.orig/texk/web2c/luatexdir/image/pdftoepdf.w source/texk/web2c/luatexdir/image/pdftoepdf.w ---- source.orig/texk/web2c/luatexdir/image/pdftoepdf.w 2017-05-08 22:39:36.639375783 +0200 -+++ source/texk/web2c/luatexdir/image/pdftoepdf.w 2017-09-19 11:23:36.586768739 +0200 -@@ -224,7 +224,7 @@ - free(checksum); - } - if (pdf_doc->doc == NULL) { -- docmemstream = new MemStream( docstream,0,streamsize, obj.initNull() ); -+ docmemstream = new MemStream( docstream,0,streamsize, Object(objNull) ); - doc = new PDFDoc(docmemstream); /* takes ownership of docmemstream */ - pdf_doc->pc++; - if (!doc->isOk() || !doc->okToPrint()) { -@@ -408,9 +408,8 @@ - Object obj1; - pdf_begin_array(pdf); - for (i = 0, l = array->getLength(); i < l; ++i) { -- array->getNF(i, &obj1); -+ obj1 = array->getNF(i); - copyObject(pdf, pdf_doc, &obj1); -- obj1.free(); - } - pdf_end_array(pdf); - } -@@ -422,9 +421,8 @@ - pdf_begin_dict(pdf); - for (i = 0, l = dict->getLength(); i < l; ++i) { - copyName(pdf, dict->getKey(i)); -- dict->getValNF(i, &obj1); -+ obj1 = dict->getValNF(i); - copyObject(pdf, pdf_doc, &obj1); -- obj1.free(); - } - pdf_end_dict(pdf); - } -@@ -510,13 +508,12 @@ - PDFDoc *doc = pdf_doc->doc; - xref = doc->getXRef(); - for (r = pdf_doc->inObjList; r != NULL;) { -- xref->fetch(r->ref.num, r->ref.gen, &obj1); -+ obj1 = xref->fetch(r->ref.num, r->ref.gen); - if (obj1.isStream()) - pdf_begin_obj(pdf, r->num, OBJSTM_NEVER); - else - pdf_begin_obj(pdf, r->num, 2); - copyObject(pdf, pdf_doc, &obj1); -- obj1.free(); - pdf_end_obj(pdf); - n = r->next; - delete r; -@@ -740,7 +737,7 @@ - catalog = doc->getCatalog(); - page = catalog->getPage(img_pagenum(idict)); - pageref = catalog->getPageRef(img_pagenum(idict)); -- doc->getXRef()->fetch(pageref->num, pageref->gen, &pageobj); -+ pageobj = doc->getXRef()->fetch(pageref->num, pageref->gen); - pageDict = pageobj.getDict(); - /* write the Page header */ - pdf_begin_obj(pdf, img_objnum(idict), OBJSTM_NEVER); -@@ -757,12 +754,11 @@ - pdf_dict_add_int(pdf, "PTEX.PageNumber", (int) img_pagenum(idict)); - } - if ((suppress_optional_info & 8) == 0) { -- doc->getDocInfoNF(&obj1); -+ obj1 = doc->getDocInfoNF(); - if (obj1.isRef()) { - /* the info dict must be indirect (PDF Ref p. 61) */ - pdf_dict_add_ref(pdf, "PTEX.InfoDict", addInObj(pdf, pdf_doc, obj1.getRef())); - } -- obj1.free(); - } - if (img_is_bbox(idict)) { - bbox[0] = sp2bp(img_bbox(idict)[0]); -@@ -788,19 +784,17 @@ - Now all relevant parts of the Page dictionary are copied. Metadata validity - check is needed(as a stream it must be indirect). - */ -- pageDict->lookupNF("Metadata", &obj1); -+ obj1 = pageDict->lookupNF("Metadata"); - if (!obj1.isNull() && !obj1.isRef()) - formatted_warning("pdf inclusion","/Metadata must be indirect object"); -- obj1.free(); - /* copy selected items in Page dictionary */ - for (i = 0; pagedictkeys[i] != NULL; i++) { -- pageDict->lookupNF(pagedictkeys[i], &obj1); -+ obj1 = pageDict->lookupNF(pagedictkeys[i]); - if (!obj1.isNull()) { - pdf_add_name(pdf, pagedictkeys[i]); - /* preserves indirection */ - copyObject(pdf, pdf_doc, &obj1); - } -- obj1.free(); - } - /* - If there are no Resources in the Page dict of the embedded page, -@@ -808,32 +802,28 @@ - PDF file, climbing up the tree until the Resources are found. - (This fixes a problem with Scribus 1.3.3.14.) - */ -- pageDict->lookupNF("Resources", &obj1); -+ obj1 = pageDict->lookupNF("Resources"); - if (obj1.isNull()) { - op1 = &pagesobj1; - op2 = &pagesobj2; -- pageDict->lookup("Parent", op1); -+ *op1 = pageDict->lookup("Parent"); - while (op1->isDict()) { -- obj1.free(); -- op1->dictLookupNF("Resources", &obj1); -+ obj1 = op1->dictLookupNF("Resources"); - if (!obj1.isNull()) { - pdf_add_name(pdf, "Resources"); - copyObject(pdf, pdf_doc, &obj1); - break; - } -- op1->dictLookup("Parent", op2); -+ *op2 = op1->dictLookup("Parent"); - optmp = op1; - op1 = op2; - op2 = optmp; -- op2->free(); - }; - if (!op1->isDict()) - formatted_warning("pdf inclusion","Page /Resources missing"); -- op1->free(); - } -- obj1.free(); - /* Write the Page contents. */ -- page->getContents(&contents); -+ contents = page->getContents(); - if (contents.isStream()) { - /* - Variant A: get stream and recompress under control of \pdfcompresslevel -@@ -844,27 +834,23 @@ - - Variant B: copy stream without recompressing - */ -- contents.streamGetDict()->lookup("F", &obj1); -+ obj1 = contents.streamGetDict()->lookup("F"); - if (!obj1.isNull()) { - normal_error("pdf inclusion","unsupported external stream"); - } -- obj1.free(); -- contents.streamGetDict()->lookup("Length", &obj1); -+ obj1 = contents.streamGetDict()->lookup("Length"); - pdf_add_name(pdf, "Length"); - copyObject(pdf, pdf_doc, &obj1); -- obj1.free(); -- contents.streamGetDict()->lookup("Filter", &obj1); -+ obj1 = contents.streamGetDict()->lookup("Filter"); - if (!obj1.isNull()) { - pdf_add_name(pdf, "Filter"); - copyObject(pdf, pdf_doc, &obj1); -- obj1.free(); -- contents.streamGetDict()->lookup("DecodeParms", &obj1); -+ obj1 = contents.streamGetDict()->lookup("DecodeParms"); - if (!obj1.isNull()) { - pdf_add_name(pdf, "DecodeParms"); - copyObject(pdf, pdf_doc, &obj1); - } - } -- obj1.free(); - pdf_end_dict(pdf); - pdf_begin_stream(pdf); - copyStreamStream(pdf, contents.getStream()->getUndecodedStream()); -@@ -875,8 +861,8 @@ - pdf_end_dict(pdf); - pdf_begin_stream(pdf); - for (i = 0, l = contents.arrayGetLength(); i < l; ++i) { -- copyStreamStream(pdf, (contents.arrayGet(i, &obj1))->getStream()); -- obj1.free(); -+ obj1 = contents.arrayGet(i); -+ copyStreamStream(pdf, obj1.getStream()); - if (i < (l - 1)) { - /* - Put a space between streams to be on the safe side (streams -@@ -897,8 +883,6 @@ - } - /* write out all indirect objects */ - writeRefs(pdf, pdf_doc); -- contents.free(); -- pageobj.free(); - /* - unrefPdfDocument() must come after contents.free() and pageobj.free()! - TH: The next line makes repeated pdf inclusion unacceptably slow -diff -ur source.orig/texk/web2c/luatexdir/lua/lepdflib.cc source/texk/web2c/luatexdir/lua/lepdflib.cc ---- source.orig/texk/web2c/luatexdir/lua/lepdflib.cc 2017-05-08 22:39:36.689375107 +0200 -+++ source/texk/web2c/luatexdir/lua/lepdflib.cc 2017-09-19 09:48:19.658021769 +0200 -@@ -538,7 +538,7 @@ - pdfdoc_changed_error(L); \ - uout = new_Object_userdata(L); \ - uout->d = new Object(); \ -- ((in *) uin->d)->function((Object *) uout->d); \ -+ *((Object *)uout->d) = ((in *) uin->d)->function(); \ - uout->atype = ALLOC_LEPDF; \ - uout->pc = uin->pc; \ - uout->pd = uin->pd; \ -@@ -668,13 +668,11 @@ - - static int m_Array_incRef(lua_State * L) - { -- int i; - udstruct *uin; - uin = (udstruct *) luaL_checkudata(L, 1, M_Array); - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); -- i = ((Array *) uin->d)->incRef(); -- lua_pushinteger(L, i); -+ lua_pushinteger(L, 1); - return 1; - } - -@@ -685,8 +683,7 @@ - uin = (udstruct *) luaL_checkudata(L, 1, M_Array); - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); -- i = ((Array *) uin->d)->decRef(); -- lua_pushinteger(L, i); -+ lua_pushinteger(L, 1); - return 1; - } - -@@ -702,7 +699,7 @@ - if ((uin->pd != NULL && uin->pd->pc != uin->pc) - || (uobj->pd != NULL && uobj->pd->pc != uobj->pc)) - pdfdoc_changed_error(L); -- ((Array *) uin->d)->add(((Object *) uobj->d)); -+ ((Array *) uin->d)->add(std::move(*((Object *) uobj->d))); - return 0; - } - -@@ -718,7 +715,7 @@ - if (i > 0 && i <= len) { - uout = new_Object_userdata(L); - uout->d = new Object(); -- ((Array *) uin->d)->get(i - 1, (Object *) uout->d); -+ *((Object *) uout->d) = ((Array *) uin->d)->get(i - 1); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -739,7 +736,7 @@ - if (i > 0 && i <= len) { - uout = new_Object_userdata(L); - uout->d = new Object(); -- ((Array *) uin->d)->getNF(i - 1, (Object *) uout->d); -+ *((Object *) uout->d) = ((Array *) uin->d)->getNF(i - 1); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -953,25 +950,21 @@ - - static int m_Dict_incRef(lua_State * L) - { -- int i; - udstruct *uin; - uin = (udstruct *) luaL_checkudata(L, 1, M_Dict); - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); -- i = ((Dict *) uin->d)->incRef(); -- lua_pushinteger(L, i); -+ lua_pushinteger(L, 1); - return 1; - } - - static int m_Dict_decRef(lua_State * L) - { -- int i; - udstruct *uin; - uin = (udstruct *) luaL_checkudata(L, 1, M_Dict); - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); -- i = ((Dict *) uin->d)->decRef(); -- lua_pushinteger(L, i); -+ lua_pushinteger(L, 1); - return 1; - } - -@@ -986,7 +979,7 @@ - pdfdoc_changed_error(L); - s = copyString(luaL_checkstring(L, 2)); - uobj = (udstruct *) luaL_checkudata(L, 3, M_Object); -- ((Dict *) uin->d)->add(s, ((Object *) uobj->d)); -+ ((Dict *) uin->d)->add(s, std::move(*((Object *) uobj->d))); - return 0; - } - -@@ -999,7 +992,7 @@ - pdfdoc_changed_error(L); - s = luaL_checkstring(L, 2); - uobj = (udstruct *) luaL_checkudata(L, 3, M_Object); -- ((Dict *) uin->d)->set(s, ((Object *) uobj->d)); -+ ((Dict *) uin->d)->set(s, std::move(*((Object *) uobj->d))); - return 0; - } - -@@ -1027,7 +1020,7 @@ - s = luaL_checkstring(L, 2); - uout = new_Object_userdata(L); - uout->d = new Object(); -- ((Dict *) uin->d)->lookup(s, (Object *) uout->d); -+ *((Object *) uout->d) = ((Dict *) uin->d)->lookup(s); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -1044,7 +1037,7 @@ - s = luaL_checkstring(L, 2); - uout = new_Object_userdata(L); - uout->d = new Object(); -- ((Dict *) uin->d)->lookupNF(s, (Object *) uout->d); -+ *((Object *) uout->d) = ((Dict *) uin->d)->lookupNF(s); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -1096,7 +1089,7 @@ - if (i > 0 && i <= len) { - uout = new_Object_userdata(L); - uout->d = new Object(); -- ((Dict *) uin->d)->getVal(i - 1, (Object *) uout->d); -+ *((Object *) uout->d) = ((Dict *) uin->d)->getVal(i - 1); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -1117,7 +1110,7 @@ - if (i > 0 && i <= len) { - uout = new_Object_userdata(L); - uout->d = new Object(); -- ((Dict *) uin->d)->getValNF(i - 1, (Object *) uout->d); -+ *((Object *) uout->d) = ((Dict *) uin->d)->getValNF(i - 1); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -1381,9 +1374,9 @@ - pdfdoc_changed_error(L); - luaL_checktype(L, 2, LUA_TBOOLEAN); - if (lua_toboolean(L, 2) != 0) -- ((Object *) uin->d)->initBool(gTrue); -+ *((Object *) uin->d) = Object(gTrue); - else -- ((Object *) uin->d)->initBool(gFalse); -+ *((Object *) uin->d) = Object(gFalse); - return 0; - } - -@@ -1395,7 +1388,7 @@ - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); - i = luaL_checkint(L, 2); -- ((Object *) uin->d)->initInt(i); -+ *((Object *) uin->d) = Object(i); - return 0; - } - -@@ -1407,7 +1400,7 @@ - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); - d = luaL_checknumber(L, 2); -- ((Object *) uin->d)->initReal(d); -+ *((Object *) uin->d) = Object(d); - return 0; - } - -@@ -1422,7 +1415,7 @@ - pdfdoc_changed_error(L); - s = luaL_checklstring(L, 2, &len); - gs = new GooString(s, len); -- ((Object *) uin->d)->initString(gs); -+ *((Object *) uin->d) = Object(gs); - return 0; - } - -@@ -1434,7 +1427,7 @@ - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); - s = luaL_checkstring(L, 2); -- ((Object *) uin->d)->initName(s); -+ *((Object *) uin->d) = Object(objName, s); - return 0; - } - -@@ -1444,13 +1437,14 @@ - uin = (udstruct *) luaL_checkudata(L, 1, M_Object); - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); -- ((Object *) uin->d)->initNull(); -+ *((Object *) uin->d) = Object(objNull); - return 0; - } - - static int m_Object_initArray(lua_State * L) - { - udstruct *uin, *uxref; -+ Array *a; - uin = (udstruct *) luaL_checkudata(L, 1, M_Object); - uxref = (udstruct *) luaL_checkudata(L, 2, M_XRef); - if (uin->pd != NULL && uxref->pd != NULL && uin->pd != uxref->pd) -@@ -1458,7 +1452,8 @@ - if ((uin->pd != NULL && uin->pd->pc != uin->pc) - || (uxref->pd != NULL && uxref->pd->pc != uxref->pc)) - pdfdoc_changed_error(L); -- ((Object *) uin->d)->initArray((XRef *) uxref->d); -+ a = new Array((XRef *) uxref->d); -+ *((Object *) uin->d) = Object(a); - return 0; - } - -@@ -1469,6 +1464,7 @@ - static int m_Object_initDict(lua_State * L) - { - udstruct *uin, *uxref; -+ Dict *d; - uin = (udstruct *) luaL_checkudata(L, 1, M_Object); - uxref = (udstruct *) luaL_checkudata(L, 2, M_XRef); - if (uin->pd != NULL && uxref->pd != NULL && uin->pd != uxref->pd) -@@ -1476,7 +1472,8 @@ - if ((uin->pd != NULL && uin->pd->pc != uin->pc) - || (uxref->pd != NULL && uxref->pd->pc != uxref->pc)) - pdfdoc_changed_error(L); -- ((Object *) uin->d)->initDict((XRef *) uxref->d); -+ d = new Dict((XRef *) uxref->d); -+ *((Object *) uin->d) = Object(d); - return 0; - } - -@@ -1490,7 +1487,7 @@ - if ((uin->pd != NULL && uin->pd->pc != uin->pc) - || (ustream->pd != NULL && ustream->pd->pc != ustream->pc)) - pdfdoc_changed_error(L); -- ((Object *) uin->d)->initStream((Stream *) ustream->d); -+ *((Object *) uin->d) = Object((Stream *) ustream->d); - return 0; - } - -@@ -1503,7 +1500,7 @@ - pdfdoc_changed_error(L); - num = luaL_checkint(L, 2); - gen = luaL_checkint(L, 3); -- ((Object *) uin->d)->initRef(num, gen); -+ *((Object *) uin->d) = Object(num, gen); - return 0; - } - -@@ -1515,7 +1512,7 @@ - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); - s = luaL_checkstring(L, 2); -- ((Object *) uin->d)->initCmd(CHARP_CAST s); -+ *((Object *) uin->d) = Object(objCmd, CHARP_CAST s); - return 0; - } - -@@ -1525,7 +1522,7 @@ - uin = (udstruct *) luaL_checkudata(L, 1, M_Object); - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); -- ((Object *) uin->d)->initError(); -+ *((Object *) uin->d) = Object(objError); - return 0; - } - -@@ -1535,7 +1532,7 @@ - uin = (udstruct *) luaL_checkudata(L, 1, M_Object); - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); -- ((Object *) uin->d)->initEOF(); -+ *((Object *) uin->d) = Object(objEOF); - return 0; - } - -@@ -1551,7 +1548,7 @@ - pdfdoc_changed_error(L); - uout = new_Object_userdata(L); - uout->d = new Object(); -- ((Object *) uin->d)->fetch((XRef *) uxref->d, (Object *) uout->d); -+ *((Object *) uout->d) = ((Object *) uin->d)->fetch((XRef *) uxref->d); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -1816,7 +1813,7 @@ - pdfdoc_changed_error(L); - if (!((Object *) uin->d)->isArray()) - luaL_error(L, "Object is not an Array"); -- ((Object *) uin->d)->arrayAdd((Object *) uobj->d); -+ ((Object *) uin->d)->arrayAdd(std::move(*((Object *) uobj->d))); - return 0; - } - -@@ -1833,7 +1830,7 @@ - if (i > 0 && i <= len) { - uout = new_Object_userdata(L); - uout->d = new Object(); -- ((Object *) uin->d)->arrayGet(i - 1, (Object *) uout->d); -+ *((Object *) uout->d) = ((Object *) uin->d)->arrayGet(i - 1); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -1857,7 +1854,7 @@ - if (i > 0 && i <= len) { - uout = new_Object_userdata(L); - uout->d = new Object(); -- ((Object *) uin->d)->arrayGetNF(i - 1, (Object *) uout->d); -+ *((Object *) uout->d) = ((Object *) uin->d)->arrayGetNF(i - 1); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -1897,7 +1894,7 @@ - pdfdoc_changed_error(L); - if (!((Object *) uin->d)->isDict()) - luaL_error(L, "Object is not a Dict"); -- ((Object *) uin->d)->dictAdd(copyString(s), (Object *) uobj->d); -+ ((Object *) uin->d)->dictAdd(copyString(s), std::move(*((Object *) uobj->d))); - return 0; - } - -@@ -1915,7 +1912,7 @@ - pdfdoc_changed_error(L); - if (!((Object *) uin->d)->isDict()) - luaL_error(L, "Object is not a Dict"); -- ((Object *) uin->d)->dictSet(s, (Object *) uobj->d); -+ ((Object *) uin->d)->dictSet(s, std::move(*((Object *) uobj->d))); - return 0; - } - -@@ -1930,7 +1927,7 @@ - if (((Object *) uin->d)->isDict()) { - uout = new_Object_userdata(L); - uout->d = new Object(); -- ((Object *) uin->d)->dictLookup(s, (Object *) uout->d); -+ *((Object *) uout->d) = ((Object *) uin->d)->dictLookup(s); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -1950,7 +1947,7 @@ - if (((Object *) uin->d)->isDict()) { - uout = new_Object_userdata(L); - uout->d = new Object(); -- ((Object *) uin->d)->dictLookupNF(s, (Object *) uout->d); -+ *((Object *) uout->d) = ((Object *) uin->d)->dictLookupNF(s); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -1991,7 +1988,7 @@ - if (i > 0 && i <= len) { - uout = new_Object_userdata(L); - uout->d = new Object(); -- ((Object *) uin->d)->dictGetVal(i - 1, (Object *) uout->d); -+ *((Object *) uout->d) = ((Object *) uin->d)->dictGetVal(i - 1); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -2015,7 +2012,7 @@ - if (i > 0 && i <= len) { - uout = new_Object_userdata(L); - uout->d = new Object(); -- ((Object *) uin->d)->dictGetValNF(i - 1, (Object *) uout->d); -+ *((Object *) uout->d) = ((Object *) uin->d)->dictGetValNF(i - 1); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -2243,7 +2240,7 @@ - m_poppler_get_poppler(Page, Dict, getPieceInfo); - m_poppler_get_poppler(Page, Dict, getSeparationInfo); - m_poppler_get_poppler(Page, Dict, getResourceDict); --m_poppler_get_OBJECT(Page, getAnnots); -+m_poppler_get_OBJECT(Page, getAnnotsObject); - - m_poppler_get_OBJECT(Page, getContents); - -@@ -2270,7 +2267,7 @@ - {"getPieceInfo", m_Page_getPieceInfo}, - {"getSeparationInfo", m_Page_getSeparationInfo}, - {"getResourceDict", m_Page_getResourceDict}, -- {"getAnnots", m_Page_getAnnots}, -+ {"getAnnots", m_Page_getAnnotsObject}, - {"getContents", m_Page_getContents}, - {"__tostring", m_Page__tostring}, - {NULL, NULL} // sentinel -@@ -2520,7 +2517,7 @@ - if (((PdfDocument *) uin->d)->doc->getXRef()->isOk()) { - uout = new_Object_userdata(L); - uout->d = new Object(); -- ((PdfDocument *) uin->d)->doc->getDocInfo((Object *) uout->d); -+ *((Object *) uout->d) = ((PdfDocument *) uin->d)->doc->getDocInfo(); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -2538,7 +2535,7 @@ - if (((PdfDocument *) uin->d)->doc->getXRef()->isOk()) { - uout = new_Object_userdata(L); - uout->d = new Object(); -- ((PdfDocument *) uin->d)->doc->getDocInfoNF((Object *) uout->d); -+ *((Object *) uout->d) = ((PdfDocument *) uin->d)->doc->getDocInfoNF(); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -2841,7 +2838,7 @@ - uout = new_Object_userdata(L); - uout->d = new Object(); - origin = (Object *) (((Attribute *) uin->d)->getValue()); -- origin->copy ( ((Object *)uout->d) ); -+ *((Object *) uout->d) = origin->copy(); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -3320,7 +3317,7 @@ - parent = root->findParentElement(i-1); - if (parent != NULL) { - uout = new_StructElement_userdata(L); -- uout->d = new StructElement( *parent ); -+ uout->d = (StructElement *) parent; - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -3370,7 +3367,7 @@ - gen = luaL_checkint(L, 3); - uout = new_Object_userdata(L); - uout->d = new Object(); -- ((XRef *) uin->d)->fetch(num, gen, (Object *) uout->d); -+ *((Object *) uout->d) = ((XRef *) uin->d)->fetch(num, gen); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -diff -ur source.orig/texk/web2c/luatexdir/lua/lpdfscannerlib.cc source/texk/web2c/luatexdir/lua/lpdfscannerlib.cc ---- source.orig/texk/web2c/luatexdir/lua/lpdfscannerlib.cc 2017-05-08 22:39:36.692708395 +0200 -+++ source/texk/web2c/luatexdir/lua/lpdfscannerlib.cc 2017-09-19 09:48:19.658021769 +0200 -@@ -634,7 +634,7 @@ - int i; - for (i=0;iget(i, val); -+ *val = arrayref->get(i); - if (val->isStream()) { - ObjectList *rover = self->_streams; - ObjectList *item = (ObjectList *)priv_xmalloc (sizeof(ObjectList)); diff --git a/libre/texlive-bin/texlive-poppler-0.64.patch b/libre/texlive-bin/texlive-poppler-0.64.patch index d3a5280be..a05524634 100644 --- a/libre/texlive-bin/texlive-poppler-0.64.patch +++ b/libre/texlive-bin/texlive-poppler-0.64.patch @@ -43,9 +43,9 @@ diff -ur source/texk/web2c/luatexdir/lua/lepdflib.cc source.new/texk/web2c/luate udstruct *uin; uin = (udstruct *) luaL_checkudata(L, 1, M_Object); if (uin->pd != NULL && uin->pd->pc != uin->pc) -diff -ur source/texk/web2c/pdftexdir/pdftoepdf.cc source.new/texk/web2c/pdftexdir/pdftoepdf.cc ---- source/texk/web2c/pdftexdir/pdftoepdf.cc 2018-04-23 21:27:36.254598208 +0200 -+++ source.new/texk/web2c/pdftexdir/pdftoepdf.cc 2018-04-23 21:17:36.475663912 +0200 +diff -ur source/texk/web2c/pdftexdir/pdftoepdf-newpoppler.cc source.new/texk/web2c/pdftexdir/pdftoepdf-newpoppler.cc +--- source/texk/web2c/pdftexdir/pdftoepdf-newpoppler.cc 2018-04-23 21:27:36.254598208 +0200 ++++ source.new/texk/web2c/pdftexdir/pdftoepdf-newpoppler.cc 2018-04-23 21:17:36.475663912 +0200 @@ -275,7 +275,7 @@ static void copyObject(Object *); @@ -84,9 +84,9 @@ diff -ur source/texk/web2c/pdftexdir/pdftoepdf.cc source.new/texk/web2c/pdftexdi if (obj->isBool()) { pdf_printf("%s", obj->getBool()? "true" : "false"); } else if (obj->isInt()) { -diff -ur source/texk/web2c/pdftexdir/pdftosrc.cc source.new/texk/web2c/pdftexdir/pdftosrc.cc ---- source/texk/web2c/pdftexdir/pdftosrc.cc 2018-04-23 21:27:36.254598208 +0200 -+++ source.new/texk/web2c/pdftexdir/pdftosrc.cc 2018-04-23 08:42:06.762986242 +0200 +diff -ur source/texk/web2c/pdftexdir/pdftosrc-newpoppler.cc source.new/texk/web2c/pdftexdir/pdftosrc-newpoppler.cc +--- source/texk/web2c/pdftexdir/pdftosrc-newpoppler.cc 2018-04-23 21:27:36.254598208 +0200 ++++ source.new/texk/web2c/pdftexdir/pdftosrc-newpoppler.cc 2018-04-23 08:42:06.762986242 +0200 @@ -68,7 +68,7 @@ Stream *s; Object srcStream, srcName, catalogDict; diff --git a/libre/texlive-core/Changelog b/libre/texlive-core/Changelog new file mode 100644 index 000000000..9300833dd --- /dev/null +++ b/libre/texlive-core/Changelog @@ -0,0 +1,376 @@ +texlive-core 2012.28273 + +- new package a2ping +- new package adhocfilelist +- new package basque-book +- upgrade package beamer 26788 -> 28273 +- upgrade package bibleref-french 25516 -> 27098 +- upgrade package bidi 26822 -> 28144 +- new package bropd +- upgrade package chickenize 26702 -> 27720 +- upgrade package context-filter 26471 -> 27157 +- upgrade package context-gantt 25712 -> 27472 +- upgrade package context-gnuplot 26852 -> 27837 +- upgrade package context-letter 26753 -> 27787 +- upgrade package context-rst 24199 -> 27236 +- upgrade package context-simplefonts 25094 -> 27171 +- upgrade package context-vim 26873 -> 27374 +- upgrade package dvips 26765 -> 28191 +- upgrade package findhyph 26313 -> 28254 +- upgrade package fontinst 26689 -> 27335 +- upgrade package fontools 25995 -> 28093 +- upgrade package genmisc 20683 -> 27208 +- upgrade package helvetic 21993 -> 28007 +- upgrade package hyperref 26331 -> 28213 +- upgrade package interpreter 24740 -> 27232 +- upgrade package isomath 21296 -> 27654 +- upgrade package koma-script 26455 -> 27255 +- upgrade package l3experimental 26109 -> 27900 +- upgrade package l3kernel 26111 -> 27898 +- upgrade package l3packages 26110 -> 27899 +- upgrade package latex 23639 -> 27907 +- upgrade package latexmk 26313 -> 28264 +- new package latexpand +- upgrade package lm 23165 -> 28119 +- new package lm-math +- new package lua-check-hyphen +- new package lua2dox +- upgrade package lualatex-math 24009 -> 28101 +- new package luaxml +- upgrade package mf2pt1 25811 -> 27032 +- upgrade package mpgraphics 22142 -> 27230 +- new package odsfile +- upgrade package pdfcrop 26313 -> 28175 +- upgrade package pdfpages 25883 -> 27574 +- new package pdftex +- new package pdftools +- new package pstools +- new package ptext +- upgrade package rec-thy 20909 -> 27225 +- upgrade package sty2dtx 26313 -> 28206 +- upgrade package tetex 26892 -> 28191 +- upgrade package tex-gyre-math 26838 -> 28081 +- upgrade package texdoc 26780 -> 27321 +- upgrade package texinfo 26886 -> 28224 +- upgrade package typeoutfileinfo 26313 -> 27846 +- new package ucharclasses +- upgrade package unicode-math 26720 -> 27257 +- upgrade package xecjk 26553 -> 28115 +- upgrade package xepersian 26823 -> 28145 +- upgrade package xkeyval 15878 -> 27995 +- upgrade package ytableau 21264 -> 27430 +- deleted package luapersian + +texlive-core 2012.26892 + +- TEXLive 2012 release. + +texlive-core 2011.24722 + +- upgrade package amscls 22145 -> 23392 +- upgrade package amsmath 22147 -> 23390 +- upgrade package babel 22149 -> 23397 +- upgrade package beamer 19443 -> 24067 +- upgrade package bibleref-french 22077 -> 24267 +- upgrade package bidi 22125 -> 24680 +- upgrade package caption 16715 -> 24571 +- upgrade package cmarrows 15878 -> 24378 +- upgrade package context 23169 -> 24174 +- upgrade package context-filter 23170 -> 24389 +- upgrade package context-french 23167 -> 24582 +- new package context-gantt +- upgrade package context-gnuplot 23167 -> 24028 +- upgrade package context-letter 23167 -> 24045 +- upgrade package context-rst 23167 -> 24199 +- upgrade package context-simplefonts 23167 -> 23369 +- upgrade package context-simpleslides 23167 -> 24165 +- upgrade package context-typescripts 23167 -> 24492 +- upgrade package context-vim 23167 -> 24359 +- upgrade package cslatex 22650 -> 23409 +- upgrade package ctable 22269 -> 23834 +- new package ctanify +- new package ctanupload +- upgrade package dehyph-exptl 18640 -> 23403 +- new package dhua +- upgrade package dvips 23089 -> 24563 +- upgrade package emp 15878 -> 23483 +- new package facture +- new package fontbook +- upgrade package fontname 23088 -> 24661 +- upgrade package fontools 20048 -> 23329 +- upgrade package fontspec 21527 -> 24114 +- upgrade package frontespizio 21648 -> 24054 +- upgrade package graphics 22151 -> 23395 +- upgrade package hatching 18486 -> 23818 +- upgrade package hyperref 22110 -> 24686 +- upgrade package hyph-utf8 23085 -> 24089 +- new package impnattypo +- upgrade package index 15878 -> 24099 +Upgrading package texlive-core from 23170 to 24722 +- upgrade package amscls 22145 -> 23392 +- upgrade package amsmath 22147 -> 23390 +- upgrade package babel 22149 -> 23397 +- upgrade package beamer 19443 -> 24067 +- upgrade package bibleref-french 22077 -> 24267 +- upgrade package bidi 22125 -> 24680 +- upgrade package caption 16715 -> 24571 +- upgrade package cmarrows 15878 -> 24378 +- upgrade package context 23169 -> 24174 +- upgrade package context-filter 23170 -> 24389 +- upgrade package context-french 23167 -> 24582 +- new package context-gantt +- upgrade package context-gnuplot 23167 -> 24028 +- upgrade package context-letter 23167 -> 24045 +- upgrade package context-rst 23167 -> 24199 +- upgrade package context-simplefonts 23167 -> 23369 +- upgrade package context-simpleslides 23167 -> 24165 +- upgrade package context-typescripts 23167 -> 24492 +- upgrade package context-vim 23167 -> 24359 +- upgrade package cslatex 22650 -> 23409 +- upgrade package ctable 22269 -> 23834 +- new package ctanify +- new package ctanupload +- upgrade package dehyph-exptl 18640 -> 23403 +- new package dhua +- upgrade package dvips 23089 -> 24563 +- upgrade package emp 15878 -> 23483 +- new package facture +- new package fontbook +- upgrade package fontname 23088 -> 24661 +- upgrade package fontools 20048 -> 23329 +- upgrade package fontspec 21527 -> 24114 +- upgrade package frontespizio 21648 -> 24054 +- upgrade package graphics 22151 -> 23395 +- upgrade package hatching 18486 -> 23818 +- upgrade package hyperref 22110 -> 24686 +- upgrade package hyph-utf8 23085 -> 24089 +- new package impnattypo +- upgrade package index 15878 -> 24099 +- new package interpreter +- upgrade package ionumbers 15878 -> 23380 +- upgrade package koma-script 21983 -> 23235 +- new package l3experimental +- new package l3kernel +- new package l3packages +- upgrade package latex 22152 -> 23639 +- upgrade package latexmk 22466 -> 24722 +- new package luabibentry +- new package luaindex +- upgrade package lualatex-math 22339 -> 24009 +- new package luapersian +- upgrade package marvosym 22202 -> 23630 +- new package match_parens +- new package mf2pt1 +- upgrade package mh 21405 -> 23333 +- upgrade package misc 17497 -> 23699 +- new package mpcolornames +- upgrade package ms 16596 -> 24467 +- upgrade package pdfcrop 19781 -> 23499 +- upgrade package pdfpages 21680 -> 23319 +- upgrade package polyglossia 19698 -> 24291 +- upgrade package powerdot 22510 -> 24587 +- new package przechlewski-book +- upgrade package psnfss 22153 -> 23394 +- new package showhyphens +- upgrade package statex2 20307 -> 23961 +- upgrade package tabvar 21678 -> 23278 +- upgrade package texcount 18835 -> 23293 +- upgrade package texdef 22049 -> 23260 +- upgrade package texdoc 23089 -> 24354 +- upgrade package texinfo 22646 -> 24108 +- new package texliveonfly +- upgrade package thumbpdf 23089 -> 23503 +- upgrade package tools 22154 -> 24253 +- upgrade package unicode-math 21391 -> 24022 +- upgrade package xecjk 22487 -> 23994 +- new package xecolor +- upgrade package xepersian 21397 -> 24687 +- upgrade package xetex 18937 -> 24091 +- upgrade package xetex-itrans 20757 -> 24105 +- upgrade package xunicode 20553 -> 23897 +- deleted package expl3 +- deleted package xecolour +- deleted package xetex-devanagari +- deleted package xpackages + +texlive-core 2011.23170 + +- upgrade package amstex 22650 -> 23089 +- upgrade package bibtex 22198 -> 23089 +- upgrade package context 22719 -> 23169 +- upgrade package context-account 16837 -> 23167 +- upgrade package context-algorithmic 15878 -> 23167 +- upgrade package context-bnf 15878 -> 23167 +- upgrade package context-chromato 15878 -> 23167 +- upgrade package context-construction-plan 15878 -> 23167 +- upgrade package context-degrade 15878 -> 23167 +- upgrade package context-filter 21636 -> 23170 +- upgrade package context-fixme 16141 -> 23167 +- upgrade package context-french 15878 -> 23167 +- upgrade package context-fullpage 21201 -> 23167 +- upgrade package context-games 15878 -> 23167 +- upgrade package context-gnuplot 21379 -> 23167 +- upgrade package context-letter 21349 -> 23167 +- upgrade package context-lettrine 15878 -> 23167 +- upgrade package context-lilypond 17445 -> 23167 +- upgrade package context-mathsets 21969 -> 23167 +- upgrade package context-rst 22387 -> 23167 +- upgrade package context-ruby 16847 -> 23167 +- upgrade package context-simplefonts 21854 -> 23167 +- upgrade package context-simpleslides 16975 -> 23167 +- upgrade package context-typearea 15878 -> 23167 +- upgrade package context-typescripts 21034 -> 23167 +- upgrade package context-vim 21637 -> 23167 +- upgrade package cweb 22198 -> 23089 +- upgrade package dvips 22534 -> 23089 +- upgrade package fontinst 18835 -> 23089 +- upgrade package fontname 21489 -> 23088 +- upgrade package hyph-utf8 21077 -> 23085 +- upgrade package latexconfig 21697 -> 22998 +- upgrade package lm 18651 -> 23165 +- upgrade package luamplib 20881 -> 23137 +- upgrade package makeindex 21345 -> 23089 +- upgrade package metafont 22646 -> 23089 +- upgrade package metapost 22680 -> 23089 +- upgrade package mfware 22534 -> 23089 +- upgrade package mptopdf 22719 -> 23089 +- upgrade package pkfix-helper 20168 -> 22981 +- new package texdoc +- upgrade package thumbpdf 19315 -> 23089 +- upgrade package ttfutils 22534 -> 23089 + +texlive-core 2011.22722 + +- upgrade package amstex 22089 -> 22650 +- upgrade package bibtex 22089 -> 22198 +- upgrade package bundledoc 18835 -> 22307 +- upgrade package context 21345 -> 22719 +- new package context-rst +- upgrade package cslatex 18835 -> 22650 +- upgrade package csplain 18835 -> 22650 +- upgrade package ctable 22095 -> 22269 +- upgrade package cweb 22089 -> 22198 +- upgrade package dvips 22035 -> 22534 +- upgrade package etex 22089 -> 22198 +- upgrade package euro 15878 -> 22191 +- upgrade package expl3 21634 -> 22236 +- upgrade package ifluatex 22124 -> 22180 +- upgrade package jmn 15878 -> 22719 +- upgrade package latexmk 22132 -> 22466 +- upgrade package lithuanian 15878 -> 22722 +- upgrade package luacode 20372 -> 22605 +- new package lualatex-math +- upgrade package luaotfload 21450 -> 22165 +- upgrade package luatexbase 20476 -> 22560 +- upgrade package marvosym 15878 -> 22202 +- upgrade package metafont 22089 -> 22646 +- upgrade package metapost 22106 -> 22680 +- upgrade package mex 18835 -> 22650 +- upgrade package mfware 22089 -> 22534 +- upgrade package mptopdf 18835 -> 22719 +- upgrade package oberdiek 22124 -> 22180 +- upgrade package pdftex-def 21241 -> 22653 +- upgrade package pgf 20236 -> 22614 +- upgrade package pkfix 18835 -> 22168 +- upgrade package powerdot 20970 -> 22510 +- upgrade package texinfo 21803 -> 22646 +- upgrade package ttfutils 18835 -> 22534 +- upgrade package unisugar 21552 -> 22357 +- upgrade package xecjk 21117 -> 22487 +- new package xetex-devanagari +- upgrade package xpackages 21184 -> 22347 +- deleted package eurofont +- deleted package eurosans +- deleted package harvardkyoto + +texlive-core 2010.22154-1 + +- upgrade package amscls 20248 -> 22145 +- upgrade package amsmath 20250 -> 22147 +- upgrade package amstex 18835 -> 22089 +- upgrade package avantgar 15878 -> 21993 +- upgrade package babel 20253 -> 22149 +- new package bibleref-french +- new package bibleref-german +- upgrade package bibtex 20729 -> 22089 +- upgrade package bidi 20057 -> 22125 +- upgrade package bookman 15878 -> 21993 +- upgrade package context 20438 -> 21345 +- upgrade package context-filter 20288 -> 21636 +- upgrade package context-fullpage 18021 -> 21201 +- upgrade package context-gnuplot 15878 -> 21379 +- upgrade package context-letter 20359 -> 21349 +- upgrade package context-mathsets 15878 -> 21969 +- upgrade package context-simplefonts 20103 -> 21854 +- upgrade package context-typescripts 19977 -> 21034 +- upgrade package context-vim 15878 -> 21637 +- upgrade package courier 20926 -> 21993 +- upgrade package ctable 20274 -> 22095 +- upgrade package cweb 18835 -> 22089 +- upgrade package drv 20511 -> 21499 +- upgrade package dvips 20950 -> 22035 +- upgrade package epsf 17190 -> 21461 +- upgrade package eso-pic 20020 -> 21515 +- upgrade package etex 16381 -> 22089 +- upgrade package expl3 20793 -> 21634 +- new package fixlatvian +- upgrade package fontname 20190 -> 21489 +- upgrade package fontspec 20472 -> 21527 +- upgrade package fragmaster 18835 -> 21460 +- upgrade package frontespizio 19139 -> 21648 +- new package gmp +- upgrade package graphics 20255 -> 22151 +- upgrade package helvetic 20926 -> 21993 +- upgrade package hyperref 20783 -> 22110 +- upgrade package hyph-utf8 19815 -> 21077 +- upgrade package ifluatex 18100 -> 22124 +- upgrade package isomath 19786 -> 21296 +- upgrade package koma-script 19797 -> 21983 +- upgrade package latex 20256 -> 22152 +- upgrade package latexconfig 20663 -> 21697 +- upgrade package latexmk 20887 -> 22132 +- upgrade package ltxmisc 20350 -> 21927 +- upgrade package lualibs 19328 -> 21149 +- upgrade package luaotfload 20475 -> 21450 +- upgrade package makeindex 18835 -> 21345 +- upgrade package memoir 19810 -> 21638 +- upgrade package metafont 18835 -> 22089 +- upgrade package metapost 18835 -> 22106 +- upgrade package mfpic 18920 -> 21800 +- upgrade package mfware 18835 -> 22089 +- upgrade package mh 19794 -> 21405 +- upgrade package mkjobtexmf 20859 -> 21345 +- upgrade package mp3d 15878 -> 21771 +- new package mpgraphics +- upgrade package ncntrsbk 15878 -> 21993 +- upgrade package oberdiek 18100 -> 22124 +- upgrade package oubraces 17175 -> 21833 +- upgrade package palatino 15878 -> 21993 +- upgrade package path 19866 -> 22045 +- upgrade package pdfpages 20796 -> 21680 +- upgrade package pdftex-def 20593 -> 21241 +- upgrade package powerdot 20649 -> 20970 +- upgrade package psnfss 20257 -> 22153 +- upgrade package ruhyphen 18394 -> 21081 +- upgrade package setspace 15878 -> 21104 +- upgrade package stmaryrd 15878 -> 22027 +- new package sty2dtx +- upgrade package symbol 15878 -> 21570 +- upgrade package tabvar 19619 -> 21678 +- new package texdef +- upgrade package texinfo 20918 -> 21803 +- upgrade package times 20926 -> 21993 +- upgrade package tools 20258 -> 22154 +- upgrade package ukrhyph 18396 -> 21081 +- upgrade package ulem 20083 -> 21840 +- upgrade package unicode-math 19934 -> 21391 +- new package unisugar +- upgrade package xecjk 18848 -> 21117 +- upgrade package xepersian 20681 -> 21397 +- upgrade package xpackages 20954 -> 21184 +- upgrade package ytableau 20357 -> 21264 +- upgrade package zapfchan 15878 -> 21993 +- upgrade package zapfding 15878 -> 21570 +- deleted package circle +- deleted package citeref + diff --git a/libre/texlive-core/PKGBUILD b/libre/texlive-core/PKGBUILD index 19c38f378..a38788c0f 100644 --- a/libre/texlive-core/PKGBUILD +++ b/libre/texlive-core/PKGBUILD @@ -6,8 +6,8 @@ _pkgname=texlive-core-libre pkgname=texlive-core -pkgver=2017.46770 -_revnr=${pkgver#2017.} +pkgver=2018.47471 +_revnr=${pkgver#2018.} pkgrel=1.parabola1 pkgdesc="TeX Live core distribution, without nonfree add-on packages (Parabola rebranded)" license=('GPL') @@ -38,7 +38,7 @@ replaces=('tetex' 'texlive-latex3' 'pdfjam' 'texlive-core-libre') url='http://tug.org/texlive/' mksource=("https://sources.archlinux.org/other/texlive/$pkgname-$pkgver-src.zip") -mksha256sums=('0812a3c845f1f6b4170bed4232bb65a80e915facd474766a10b71c22fb052da8') +mksha256sums=('212da3e889b4a991a1bd1a8e9e647a93dc31fc8027b4245708d06ccb348abcf9') noextract=("$pkgname-$pkgver-src.zip") source=("https://repo.parabola.nu/other/$_pkgname/$_pkgname-$pkgver-src.tar.xz"{,.sig} "$pkgname.maps" @@ -64,7 +64,7 @@ backup=(etc/texmf/web2c/texmf.cnf \ etc/texmf/web2c/fmtutil.cnf \ etc/texmf/web2c/mktex.cnf \ etc/texmf/xdvi/XDvi) -sha256sums=('fe9f2fa24e98c26d45a2d528d37d64d8e0b1be1a98a1738e2e62c2b3db1b3b4f' +sha256sums=('f4fcaa0cd974570b5314efb4f46290f993303b7518ffec32099f961111cd2a0b' 'SKIP' '275253728d884b2b75e01840b0824c1fe5afbdda91fafeacd33deb6cd92341a3' '009ab6be9e4fa18709fc74d26a3777372f4b5af9313421ff0546ba94a9d5ff13' @@ -74,10 +74,11 @@ sha256sums=('fe9f2fa24e98c26d45a2d528d37d64d8e0b1be1a98a1738e2e62c2b3db1b3b4f' 'ee6e76192a5ad880a2152cd7900b86c8465239fb228045a2f8360b0d7a449f4a' '1f2c67e3cab02398980008f3095257ade3bb79f188cf0815a2671af3080e21af' 'f96e9f815fa0a4b85e677f2a9215d9106b8abe46eceb3f3e36a6c76eda3e4a85' - '59236d61760bf89142a347d6d5b3e59c5daec4e430d12d25cc1d5c6528688f75' + 'df669d731c0cb14d7702c0bd9228d35a2da2c941a684313ec11c9ed00ae1fb25' '0b6c3ee516608ce04d7133db52cadfa1be5d885b3f82bb39dc5897b213847e0d' '5e79c40cf3ab93348fc89e97890198601767ea2c8fea89ea76088c17a2b35962') -validpgpkeys=('1B8C5E87702444D3D825CC8086ED62396D5DBA58') # Omar Vega Ramos +validpgpkeys=('1B8C5E87702444D3D825CC8086ED62396D5DBA58' # Omar Vega Ramos + '38D33EF29A7691134357648733466E12EC7BA943') # Isaac David mksource() { mkdir $pkgname-$pkgver @@ -380,4 +381,5 @@ xindy/xindy.pl ln -s epstopdf ${pkgdir}/usr/bin/repstopdf ln -s pdfcrop ${pkgdir}/usr/bin/rpdfcrop ln -s luaotfload-tool ${pkgdir}/usr/bin/mkluatexfontdb + ln -s texdef ${pkgdir}/usr/bin/latexdef } diff --git a/libre/texlive-core/texmf.cnf b/libre/texlive-core/texmf.cnf index 695bfed93..2408b1713 100644 --- a/libre/texlive-core/texmf.cnf +++ b/libre/texlive-core/texmf.cnf @@ -4,8 +4,8 @@ % If you modify this original file, YOUR CHANGES WILL BE LOST when it is % updated. Instead, put your changes -- and only your changes, not an % entire copy! -- in ../../texmf.cnf. That is, if this file is -% installed in /some/path/to/texlive/2017/texmf-dist/web2c/texmf.cnf, -% add your custom settings to /some/path/to/texlive/2017/texmf.cnf. +% installed in /some/path/to/texlive/2018/texmf-dist/web2c/texmf.cnf, +% add your custom settings to /some/path/to/texlive/2018/texmf.cnf. % % What follows is a super-summary of what this .cnf file can % contain. Please read the Kpathsea manual for more information. @@ -48,12 +48,16 @@ % This is the parent directory of our several trees, i.e., % /usr/local/texlive/YYYY in the original TeX Live distribution. % -% All trees must be organized according to the TeX Directory Structure -% (http://tug.org/tds), or files may not be found. +% The path definitions here assume the directories are organized +% according to the TeX Directory Structure (http://tug.org/tds). % % Redistributors will probably want $SELFAUTODIR/share, i.e., /usr/share. -% Kpathsea sets SELFAUTOLOC (the directory with the binary), -% SELFAUTODIR (its parent), and SELFAUTOPARENT (its grandparent). +% Kpathsea sets (in kpathsea/progname.c): +% SELFAUTOLOC (directory of the binary=/usr/local/texlive/YYYY/bin/i386-linux), +% SELFAUTODIR (its parent = /usr/local/texlive/YYYY/bin), +% SELFAUTOPARENT (its grandparent = /usr/local/texlive/YYYY), and +% SELFAUTOGRANDPARENT (its great-grandparent = /usr/local/texlive). +% Sorry for the off-by-one-generation names. TEXMFROOT = $SELFAUTODIR/share % The main tree of distributed packages and programs: @@ -244,6 +248,10 @@ TEX.upmpost = euptex BIBINPUTS.pbibtex = .;$TEXMF/{pbibtex,bibtex}/bib// BSTINPUTS.pbibtex = .;$TEXMF/{pbibtex,bibtex}/bst// +% upBibTeX bibliographies and style files. +BIBINPUTS.upbibtex = .;$TEXMF/{upbibtex,pbibtex,bibtex}/bib// +BSTINPUTS.upbibtex = .;$TEXMF/{upbibtex,pbibtex,bibtex}/bst// + % ConTeXt. TEXINPUTS.context = .;$TEXMF/tex/{context,plain,generic,}// @@ -681,6 +689,13 @@ TEX.pmpost = eptex % given as command line option or environment variable. BIBTEX_CSFILE = 88591lat.csf +% This variable is specific to Unix, to fall back to case-insensitive +% search in non-system directories if there is no exact match. It is +% enabled by default in texmf.cnf, but not enabled by default at +% compile-time. +% +texmf_casefold_search = 1 + % This variable is specific to Windows. It must be set to 0 or 1. The % default is 0. Setting it to 1 tells the Windows script wrappers to % use an already installed Perl interpreter if one is found on the @@ -796,6 +811,7 @@ max_strings.bibtex = 100000 max_strings.bibtex8 = 100000 max_strings.bibtexu = 100000 max_strings.pbibtex = 100000 +max_strings.upbibtex = 100000 % GFtype only. line_length.gftype = 500 @@ -803,5 +819,5 @@ max_rows.gftype = 8191 max_cols.gftype = 8191 % Guess input encoding (SJIS vs. Unicode, etc.) in pTeX and friends? -% Default is 0, to not guess. +% Default is 1, to guess. Used on Windows only. guess_input_kanji_encoding = 1 diff --git a/libre/texlive-fontsextra/PKGBUILD b/libre/texlive-fontsextra/PKGBUILD index c4ef0679d..169e1965e 100644 --- a/libre/texlive-fontsextra/PKGBUILD +++ b/libre/texlive-fontsextra/PKGBUILD @@ -6,8 +6,8 @@ _pkgname=texlive-fontsextra-libre pkgname=texlive-fontsextra -pkgver=2017.45939 -_revnr=${pkgver#2017.} +pkgver=2018.47288 +_revnr=${pkgver#2018.} pkgrel=1.parabola1 pkgdesc="TeX Live - all sorts of extra fonts, without nonfree add-on packages" license=('GPL') @@ -18,14 +18,15 @@ replaces=('texlive-fontsextra-libre') conflicts=('texlive-fontsextra-libre') url='http://tug.org/texlive/' mksource=("https://sources.archlinux.org/other/texlive/$pkgname-$pkgver-src.zip") -mksha256sums=('a7069dc354b593c25279b02f1ec0f6a0a48956d1d38d4fb06dba49e1331ca70b') +mksha256sums=('8b8a671f00b6c702377ed0937a99296c580dfa277e1754afac209c3c2afa1af9') noextract=("$pkgname-$pkgver-src.zip") source=("https://repo.parabola.nu/other/$_pkgname/$_pkgname-$pkgver-src.tar.xz"{,.sig} "$pkgname.maps") options=('!emptydirs') -sha256sums=('ccce5359eea2cb28ff3f991ac77979427df410677fd989e58fad7e69fb5f0445' 'SKIP' - '64c3d0af62b7204866c7bb9cbf983c5a21121bb0eab3003202f935a6c79433cf') -validpgpkeys=('1B8C5E87702444D3D825CC8086ED62396D5DBA58') # Omar Vega Ramos +sha256sums=('c1ea6818d7c7268befbf930ca7c05a05059ce9e053023496bc68680df0e5e90a' 'SKIP' + '052f84118b8e21370949e114a524020ecf1289a95384d7827cae05ba17c91401') +validpgpkeys=('1B8C5E87702444D3D825CC8086ED62396D5DBA58' # Omar Vega Ramos + '38D33EF29A7691134357648733466E12EC7BA943') # Isaac David mksource() { mkdir $pkgname-$pkgver diff --git a/libre/texlive-fontsextra/texlive-fontsextra.maps b/libre/texlive-fontsextra/texlive-fontsextra.maps index d10caa586..91a10f058 100644 --- a/libre/texlive-fontsextra/texlive-fontsextra.maps +++ b/libre/texlive-fontsextra/texlive-fontsextra.maps @@ -82,6 +82,7 @@ Map clm.map Map cm-lgc.map Map cmexb.map Map cmin.map +Map cmsrb.map Map comfortaa.map Map crimson.map Map cyklop.map diff --git a/libre/texlive-latexextra/PKGBUILD b/libre/texlive-latexextra/PKGBUILD index 84cb5a8c1..49a55174d 100644 --- a/libre/texlive-latexextra/PKGBUILD +++ b/libre/texlive-latexextra/PKGBUILD @@ -6,8 +6,8 @@ _pkgname=texlive-latexextra-libre pkgname=texlive-latexextra -pkgver=2017.45733 -_revnr=${pkgver#2017.} +pkgver=2018.47410 +_revnr=${pkgver#2018.} pkgrel=1.parabola1 pkgdesc="TeX Live - Large collection of add-on packages for LaTeX, without nonfree add-on packages" license=('GPL') @@ -25,14 +25,15 @@ replaces=('texlive-latexextra-libre') conflicts=('texlive-latexextra-libre') url='http://tug.org/texlive/' mksource=("https://sources.archlinux.org/other/texlive/$pkgname-$pkgver-src.zip") -mksha256sums=('20360e1a799c237653caa1d66e4a3811b58520421633611c96ff812be93f6c36') +mksha256sums=('ddb3546483ed925f965a7440377fe8cd8e82fd1b213dbda66afb1b1eb4bc77ad') noextract=("$pkgname-$pkgver-src.zip") source=("https://repo.parabola.nu/other/$_pkgname/$_pkgname-$pkgver-src.tar.xz"{,.sig} "$pkgname.maps") options=('!emptydirs') -sha256sums=('1f45474f0e74abb91af7004a468880c28a49a1b848b91d04441bf66eb0564923' 'SKIP' +sha256sums=('e11ed6c4b1cda44d7a1e9cfadb7d9116eff7b4c44585750a342c31c3ca095e00' 'SKIP' 'd53750a03a52472a1c7c5ba5142959ba382a5d69215471691c0b12c3663950ce') -validpgpkeys=('1B8C5E87702444D3D825CC8086ED62396D5DBA58') # Omar Vega Ramos +validpgpkeys=('1B8C5E87702444D3D825CC8086ED62396D5DBA58' # Omar Vega Ramos + '38D33EF29A7691134357648733466E12EC7BA943') # Isaac David mksource() { mkdir $pkgname-$pkgver @@ -85,12 +86,14 @@ authorindex/authorindex exceltex/exceltex glossaries/makeglossaries glossaries/makeglossaries-lite.lua +l3build/l3build.lua makedtx/makedtx.pl pax/pdfannotextractor.pl perltex/perltex.pl splitindex/splitindex.pl svn-multi/svn-multi.pl vpe/vpe.pl +wordcount/wordcount.sh yplan/yplan " install -m755 -d "$pkgdir"/usr/bin -- cgit v1.2.3