From 89d5856ca8cfd1ec284a473ab300aa5f4191dc8d Mon Sep 17 00:00:00 2001 From: Kevin Mihelich Date: Thu, 20 Jun 2019 23:11:38 +0000 Subject: [PATCH] extra/texlive-bin to 2019.51075-1 --- extra/texlive-bin/PKGBUILD | 46 +-- extra/texlive-bin/freetype-pkgconfig.patch | 22 -- extra/texlive-bin/luatex-poppler-fixes.patch | 352 ------------------ extra/texlive-bin/pdftex-poppler0.76.patch | 94 ++++- .../texlive-bin/synctex-missing-header.patch | 12 - extra/texlive-bin/xetex-poppler-fixes.patch | 40 -- 6 files changed, 93 insertions(+), 473 deletions(-) delete mode 100644 extra/texlive-bin/freetype-pkgconfig.patch delete mode 100644 extra/texlive-bin/luatex-poppler-fixes.patch delete mode 100644 extra/texlive-bin/synctex-missing-header.patch delete mode 100644 extra/texlive-bin/xetex-poppler-fixes.patch diff --git a/extra/texlive-bin/PKGBUILD b/extra/texlive-bin/PKGBUILD index 65b462257..140620be1 100644 --- a/extra/texlive-bin/PKGBUILD +++ b/extra/texlive-bin/PKGBUILD @@ -8,8 +8,8 @@ # drop clisp and ffcall makedepends pkgname=('texlive-bin' 'libsynctex') -pkgver=2018.48691 -pkgrel=9 +pkgver=2019.51075 +pkgrel=1 license=('GPL') arch=('x86_64') makedepends=('git' 'cairo' 'pixman' 'graphite' 't1lib' 'gd' 'poppler' @@ -17,49 +17,20 @@ makedepends=('git' 'cairo' 'pixman' 'graphite' 't1lib' 'gd' 'poppler' 'icu' 'harfbuzz' 'harfbuzz-icu' 'gmp' 'mpfr' 'potrace' 'libpaper' 'perl') url='http://tug.org/texlive/' -_commit=f68b0992e13a2e155d71beb3e016ea4139023224 # texlive-2018.2 +_commit=74c2495978a4a84ffae10252c0fd244f1140228e # texlive-2019.2 r51075 source=("git+https://github.com/Tex-Live/texlive-source.git#commit=${_commit}" - "pdftex-poppler0.76.patch" - "luatex-poppler-fixes.patch" - "xetex-poppler-fixes.patch" - "freetype-pkgconfig.patch" - "synctex-missing-header.patch") + "pdftex-poppler0.76.patch") sha256sums=('SKIP' - '0b4070f489edef771f308687d9e99cb54e8a442f0229767c6fda5515045cd797' - '6daa9fb9991f34406a0620a7f9185776ce1ac601a9c66a537c4b90ce97c1ffc6' - '7deb8bd50640b0f4ff9b4c11985fe6153906384b62cb9b5a3c4b52397fb941ca' - 'bed44f4ccda369410e90eac527cf44b8c1afda7d987ae521b4fd5edb425eef3e' - 'b6c81eb091b5910226e0359768edd178680debee56b63ab0a3753c3429c28ab0') + '5da9f5356ca14d950c222108b431baaf5c27667460ffab9597b29ef11b426c0f') prepare() { cd "$srcdir/texlive-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 - # luatex switched from poppler to pplib in newer versions so - # upstream fixes aren't available; hopefully this is correct - patch -Np1 -i "${srcdir}/luatex-poppler-fixes.patch" - find texk/web2c/luatexdir -type f -exec sed -i \ - -e 's|gTrue|true|g' \ - -e 's|gFalse|false|g' \ - -e 's|GBool|bool|g' \ - -e 's|getCString|c_str|g' \ - -e 's|Guint|unsigned int|g' \ - -e 's|Guchar|unsigned char|g' \ - {} + - # xetex poppler compatibility - patch -Np1 -i "${srcdir}/xetex-poppler-fixes.patch" # pdftex poppler compatibility (upstream patches) - patch -Np1 -i "${srcdir}/pdftex-poppler0.76.patch" + patch -Np1 -i "$srcdir/pdftex-poppler0.76.patch" cp -pv texk/web2c/pdftexdir/pdftoepdf{-poppler0.76.0,}.cc cp -pv texk/web2c/pdftexdir/pdftosrc{-poppler0.76.0,}.cc } @@ -220,8 +191,10 @@ checkcites checklistings chkweb cjk-gs-integrate +cluttex context contextjit +ctanbib ctanify ctanupload ctan-o-mat @@ -302,6 +275,7 @@ pdfjoin pdflatexpicscale pdfnup pdfpun +pdftex-quiet pdfxup pfarrei pkfix @@ -346,6 +320,7 @@ updmap-user vpl2ovp vpl2vpl xhlatex +xindex " _games_scripts="rubikrotation" _humanities_scripts="diadia" @@ -372,6 +347,7 @@ ps4pdf splitindex svn-multi vpe +webquiz wordcount yplan" _music_scripts="lily-glyph-commands lily-image-commands lily-rebuild-pdfs diff --git a/extra/texlive-bin/freetype-pkgconfig.patch b/extra/texlive-bin/freetype-pkgconfig.patch deleted file mode 100644 index 323a7b1c9..000000000 --- a/extra/texlive-bin/freetype-pkgconfig.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- 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/extra/texlive-bin/luatex-poppler-fixes.patch b/extra/texlive-bin/luatex-poppler-fixes.patch deleted file mode 100644 index c45917ae7..000000000 --- a/extra/texlive-bin/luatex-poppler-fixes.patch +++ /dev/null @@ -1,352 +0,0 @@ -From 69c061f2071d5826fee7940ce7f83ae4a1c8fc2e Mon Sep 17 00:00:00 2001 -From: Akira Kakuto -Date: Sat, 28 Apr 2018 07:36:22 +0000 -Subject: [PATCH] support poppler-0.64.0 - -git-svn-id: svn://tug.org/texlive/trunk/Build/source@47470 c570f23f-e606-0410-a88d-b1316a301751 ---- - texk/web2c/luatexdir/image/pdftoepdf.w | 4 ++-- - texk/web2c/luatexdir/lua/lepdflib.cc | 4 ++-- - texk/web2c/pdftexdir/ChangeLog | 5 +++++ - texk/web2c/pdftexdir/pdftoepdf-newpoppler.cc | 14 +++++++------- - texk/web2c/pdftexdir/pdftosrc-newpoppler.cc | 2 +- - 5 files changed, 17 insertions(+), 12 deletions(-) - -diff --git a/texk/web2c/luatexdir/image/pdftoepdf.w b/texk/web2c/luatexdir/image/pdftoepdf.w -index 7ba29731c..d69795926 100644 ---- a/texk/web2c/luatexdir/image/pdftoepdf.w -+++ b/texk/web2c/luatexdir/image/pdftoepdf.w -@@ -472,10 +472,10 @@ static void copyObject(PDF pdf, PdfDocument * pdf_doc, Object * obj) - break; - */ - case objString: -- copyString(pdf, obj->getString()); -+ copyString(pdf, (GooString *)obj->getString()); - break; - case objName: -- copyName(pdf, obj->getName()); -+ copyName(pdf, (char *)obj->getName()); - break; - case objNull: - pdf_add_null(pdf); -diff --git a/texk/web2c/luatexdir/lua/lepdflib.cc b/texk/web2c/luatexdir/lua/lepdflib.cc -index a16bf3bd4..32bcdab01 100644 ---- a/texk/web2c/luatexdir/lua/lepdflib.cc -+++ b/texk/web2c/luatexdir/lua/lepdflib.cc -@@ -674,7 +674,7 @@ static int m_##in##_##function(lua_State * L) \ - uin = (udstruct *) luaL_checkudata(L, 1, M_##in); \ - if (uin->pd != NULL && uin->pd->pc != uin->pc) \ - pdfdoc_changed_error(L); \ -- gs = ((in *) uin->d)->function(); \ -+ gs = (GooString *)((in *) uin->d)->function(); \ - if (gs != NULL) \ - lua_pushlstring(L, gs->getCString(), gs->getLength()); \ - else \ -@@ -1813,7 +1813,7 @@ static int m_Object_getString(lua_State * L) - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); - if (((Object *) uin->d)->isString()) { -- gs = ((Object *) uin->d)->getString(); -+ gs = (GooString *)((Object *) uin->d)->getString(); - lua_pushlstring(L, gs->getCString(), gs->getLength()); - } else - lua_pushnil(L); - -Luatex poppler 0.70 const fixes - -diff -upr source.orig/texk/web2c/luatexdir/image/pdftoepdf.w source/texk/web2c/luatexdir/image/pdftoepdf.w ---- source.orig/texk/web2c/luatexdir/image/pdftoepdf.w 2018-10-28 14:14:32.961111369 +0200 -+++ source/texk/web2c/luatexdir/image/pdftoepdf.w 2018-10-28 14:24:21.735889333 +0200 -@@ -363,7 +363,7 @@ void copyReal(PDF pdf, double d) - - static void copyString(PDF pdf, GooString * string) - { -- char *p; -+ const char *p; - unsigned char c; - size_t i, l; - p = string->getCString(); -@@ -393,7 +393,7 @@ static void copyString(PDF pdf, GooStrin - pdf->cave = true; - } - --static void copyName(PDF pdf, char *s) -+static void copyName(PDF pdf, const char *s) - { - pdf_out(pdf, '/'); - for (; *s != 0; s++) { -@@ -475,7 +475,7 @@ static void copyObject(PDF pdf, PdfDocum - copyString(pdf, (GooString *)obj->getString()); - break; - case objName: -- copyName(pdf, (char *)obj->getName()); -+ copyName(pdf, obj->getName()); - break; - case objNull: - pdf_add_null(pdf); -@@ -531,22 +531,22 @@ static PDFRectangle *get_pagebox(Page * - { - switch (pagebox_spec) { - case PDF_BOX_SPEC_MEDIA: -- return page->getMediaBox(); -+ return (PDFRectangle *) page->getMediaBox(); - break; - case PDF_BOX_SPEC_CROP: -- return page->getCropBox(); -+ return (PDFRectangle *) page->getCropBox(); - break; - case PDF_BOX_SPEC_BLEED: -- return page->getBleedBox(); -+ return (PDFRectangle *) page->getBleedBox(); - break; - case PDF_BOX_SPEC_TRIM: -- return page->getTrimBox(); -+ return (PDFRectangle *) page->getTrimBox(); - break; - case PDF_BOX_SPEC_ART: -- return page->getArtBox(); -+ return (PDFRectangle *) page->getArtBox(); - break; - default: -- return page->getMediaBox(); -+ return (PDFRectangle *) page->getMediaBox(); - break; - } - } -diff -upr source.orig/texk/web2c/luatexdir/lua/lepdflib.cc source/texk/web2c/luatexdir/lua/lepdflib.cc ---- source.orig/texk/web2c/luatexdir/lua/lepdflib.cc 2018-10-28 14:14:32.961111369 +0200 -+++ source/texk/web2c/luatexdir/lua/lepdflib.cc 2018-10-28 14:19:28.093424519 +0200 -@@ -596,7 +596,7 @@ static int m_##in##_##function(lua_State - uin = (udstruct *) luaL_checkudata(L, 1, M_##in); \ - if (uin->pd != NULL && uin->pd->pc != uin->pc) \ - pdfdoc_changed_error(L); \ -- o = ((in *) uin->d)->function(); \ -+ o = (out *) ((in *) uin->d)->function(); \ - if (o != NULL) { \ - uout = new_##out##_userdata(L); \ - uout->d = o; \ -@@ -1125,12 +1125,12 @@ m_poppler_get_INT(Dict, getLength); - - static int m_Dict_add(lua_State * L) - { -- char *s; -+ const char *s; - udstruct *uin, *uobj; - uin = (udstruct *) luaL_checkudata(L, 1, M_Dict); - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); -- s = copyString(luaL_checkstring(L, 2)); -+ s = luaL_checkstring(L, 2); - uobj = (udstruct *) luaL_checkudata(L, 3, M_Object); - ((Dict *) uin->d)->add(s, std::move(*((Object *) uobj->d))); - return 0; -@@ -2051,7 +2051,7 @@ static int m_Object_dictAdd(lua_State * - pdfdoc_changed_error(L); - if (!((Object *) uin->d)->isDict()) - luaL_error(L, "Object is not a Dict"); -- ((Object *) uin->d)->dictAdd(copyString(s), std::move(*((Object *) uobj->d))); -+ ((Object *) uin->d)->dictAdd(s, std::move(*((Object *) uobj->d))); - return 0; - } - -@@ -2470,7 +2470,7 @@ static int m_PDFDoc_getFileName(lua_Stat - uin = (udstruct *) luaL_checkudata(L, 1, M_PDFDoc); - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); -- gs = ((PdfDocument *) uin->d)->doc->getFileName(); -+ gs = (GooString *) ((PdfDocument *) uin->d)->doc->getFileName(); - if (gs != NULL) - lua_pushlstring(L, gs->getCString(), gs->getLength()); - else -@@ -2559,7 +2559,7 @@ static int m_PDFDoc_readMetadata(lua_Sta - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); - if (((PdfDocument *) uin->d)->doc->getCatalog()->isOk()) { -- gs = ((PdfDocument *) uin->d)->doc->readMetadata(); -+ gs = (GooString *) ((PdfDocument *) uin->d)->doc->readMetadata(); - if (gs != NULL) - lua_pushlstring(L, gs->getCString(), gs->getLength()); - else -@@ -2577,7 +2577,7 @@ static int m_PDFDoc_getStructTreeRoot(lu - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); - if (((PdfDocument *) uin->d)->doc->getCatalog()->isOk()) { -- obj = ((PdfDocument *) uin->d)->doc->getStructTreeRoot(); -+ obj = (StructTreeRoot *) ((PdfDocument *) uin->d)->doc->getStructTreeRoot(); - uout = new_StructTreeRoot_userdata(L); - uout->d = obj; - uout->pc = uin->pc; - -Luatex fixes for poppler 0.71 - ---- source/texk/web2c/luatexdir/lua/lepdflib.cc.orig 2018-11-01 22:46:43.868534355 +0000 -+++ source/texk/web2c/luatexdir/lua/lepdflib.cc 2018-11-01 22:48:17.358815525 +0000 -@@ -240,7 +240,7 @@ - if (uobj->pd != NULL && uobj->pd->pc != uobj->pc) - pdfdoc_changed_error(L); - uout = new_Attribute_userdata(L); -- uout->d = new Attribute(n, nlen, (Object *)uobj->d); -+ uout->d = new Attribute((GooString)n, (Object *)uobj->d); - uout->atype = ALLOC_LEPDF; - uout->pc = uobj->pc; - uout->pd = uobj->pd; - ---- source/texk/web2c/luatexdir/lua/lepdflib.cc.orig 2019-03-22 11:02:34.966605737 +0000 -+++ source/texk/web2c/luatexdir/lua/lepdflib.cc 2019-03-22 11:09:27.894599672 +0000 -@@ -496,7 +496,7 @@ - double numA = lua_tonumber(L,1); - double genA = lua_tonumber(L,2); - if ( ((numA)==(int)(numA)) && ((genA)==(int)(genA)) ){ -- uout->d = new Object((int)(numA), (int)(genA)); -+ uout->d = new Object({(int)(numA), (int)(genA)}); - uout->atype = ALLOC_LEPDF; - uout->pc = 0; - uout->pd = NULL; -@@ -889,7 +889,7 @@ - if (i > 0 && i <= len) { - uout = new_Object_userdata(L); - uout->d = new Object(); -- *((Object *) uout->d) = ((Array *) uin->d)->getNF(i - 1); -+ *((Object *) uout->d) = ((Array *) uin->d)->getNF(i - 1).copy(); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -1190,7 +1190,7 @@ - s = luaL_checkstring(L, 2); - uout = new_Object_userdata(L); - uout->d = new Object(); -- *((Object *) uout->d) = ((Dict *) uin->d)->lookupNF(s); -+ *((Object *) uout->d) = ((Dict *) uin->d)->lookupNF(s).copy(); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -1263,7 +1263,7 @@ - if (i > 0 && i <= len) { - uout = new_Object_userdata(L); - uout->d = new Object(); -- *((Object *) uout->d) = ((Dict *) uin->d)->getValNF(i - 1); -+ *((Object *) uout->d) = ((Dict *) uin->d)->getValNF(i - 1).copy(); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -1653,7 +1653,7 @@ - pdfdoc_changed_error(L); - num = luaL_checkint(L, 2); - gen = luaL_checkint(L, 3); -- *((Object *) uin->d) = Object(num, gen); -+ *((Object *) uin->d) = Object({num, gen}); - return 0; - } - -@@ -2011,7 +2011,7 @@ - if (i > 0 && i <= len) { - uout = new_Object_userdata(L); - uout->d = new Object(); -- *((Object *) uout->d) = ((Object *) uin->d)->arrayGetNF(i - 1); -+ *((Object *) uout->d) = ((Object *) uin->d)->arrayGetNF(i - 1).copy(); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -2104,7 +2104,7 @@ - if (((Object *) uin->d)->isDict()) { - uout = new_Object_userdata(L); - uout->d = new Object(); -- *((Object *) uout->d) = ((Object *) uin->d)->dictLookupNF(s); -+ *((Object *) uout->d) = ((Object *) uin->d)->dictLookupNF(s).copy(); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -2169,7 +2169,7 @@ - if (i > 0 && i <= len) { - uout = new_Object_userdata(L); - uout->d = new Object(); -- *((Object *) uout->d) = ((Object *) uin->d)->dictGetValNF(i - 1); -+ *((Object *) uout->d) = ((Object *) uin->d)->dictGetValNF(i - 1).copy(); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; ---- texlive-source/texk/web2c/luatexdir/image/pdftoepdf.w.orig 2019-03-22 19:17:32.861362965 +0000 -+++ texlive-source/texk/web2c/luatexdir/image/pdftoepdf.w 2019-03-22 19:20:22.906973305 +0000 -@@ -412,7 +412,7 @@ - Object obj1; - pdf_begin_array(pdf); - for (i = 0, l = array->getLength(); i < l; ++i) { -- obj1 = array->getNF(i); -+ obj1 = array->getNF(i).copy(); - copyObject(pdf, pdf_doc, &obj1); - } - pdf_end_array(pdf); -@@ -425,7 +425,7 @@ - pdf_begin_dict(pdf); - for (i = 0, l = dict->getLength(); i < l; ++i) { - copyName(pdf, dict->getKey(i)); -- obj1 = dict->getValNF(i); -+ obj1 = dict->getValNF(i).copy(); - copyObject(pdf, pdf_doc, &obj1); - } - pdf_end_dict(pdf); -@@ -788,12 +788,12 @@ - Now all relevant parts of the Page dictionary are copied. Metadata validity - check is needed(as a stream it must be indirect). - */ -- obj1 = pageDict->lookupNF("Metadata"); -+ obj1 = pageDict->lookupNF("Metadata").copy(); - if (!obj1.isNull() && !obj1.isRef()) - formatted_warning("pdf inclusion","/Metadata must be indirect object"); - /* copy selected items in Page dictionary */ - for (i = 0; pagedictkeys[i] != NULL; i++) { -- obj1 = pageDict->lookupNF(pagedictkeys[i]); -+ obj1 = pageDict->lookupNF(pagedictkeys[i]).copy(); - if (!obj1.isNull()) { - pdf_add_name(pdf, pagedictkeys[i]); - /* preserves indirection */ -@@ -806,13 +806,13 @@ - PDF file, climbing up the tree until the Resources are found. - (This fixes a problem with Scribus 1.3.3.14.) - */ -- obj1 = pageDict->lookupNF("Resources"); -+ obj1 = pageDict->lookupNF("Resources").copy(); - if (obj1.isNull()) { - op1 = &pagesobj1; - op2 = &pagesobj2; - *op1 = pageDict->lookup("Parent"); - while (op1->isDict()) { -- obj1 = op1->dictLookupNF("Resources"); -+ obj1 = op1->dictLookupNF("Resources").copy(); - if (!obj1.isNull()) { - pdf_add_name(pdf, "Resources"); - copyObject(pdf, pdf_doc, &obj1); ---- texlive-source/texk/web2c/luatexdir/lua/lepdflib.cc.orig 2019-04-24 09:41:05.090522664 +0000 -+++ texlive-source/texk/web2c/luatexdir/lua/lepdflib.cc 2019-04-24 09:43:37.119184926 +0000 -@@ -994,7 +994,8 @@ - pdfdoc_changed_error(L); - num = luaL_checkint(L, 2); - gen = luaL_checkint(L, 3); -- i = ((Catalog *) uin->d)->findPage(num, gen); -+ Ref numgen = {num, gen}; -+ i = ((Catalog *) uin->d)->findPage(numgen); - if (i > 0) - lua_pushinteger(L, i); - else -@@ -2596,8 +2597,9 @@ - pdfdoc_changed_error(L); - num = luaL_checkint(L, 2); - gen = luaL_checkint(L, 3); -+ Ref numgen = {num, gen}; - if (((PdfDocument *) uin->d)->doc->getCatalog()->isOk()) { -- i = ((PdfDocument *) uin->d)->doc->findPage(num, gen); -+ i = ((PdfDocument *) uin->d)->doc->findPage(numgen); - if (i > 0) - lua_pushinteger(L, i); - else ---- texlive-source/texk/web2c/luatexdir/image/pdftoepdf.w.orig 2019-04-24 09:56:38.406498975 +0000 -+++ texlive-source/texk/web2c/luatexdir/image/pdftoepdf.w 2019-04-24 09:56:57.020081327 +0000 -@@ -630,7 +630,7 @@ - if (link == NULL || !link->isOk()) - formatted_error("pdf inclusion","invalid destination '%s'",img_pagename(idict)); - Ref ref = link->getPageRef(); -- img_pagenum(idict) = catalog->findPage(ref.num, ref.gen); -+ img_pagenum(idict) = catalog->findPage(ref); - if (img_pagenum(idict) == 0) - formatted_error("pdf inclusion","destination is not a page '%s'",img_pagename(idict)); - delete link; diff --git a/extra/texlive-bin/pdftex-poppler0.76.patch b/extra/texlive-bin/pdftex-poppler0.76.patch index 3997cd5c2..784fe0c93 100644 --- a/extra/texlive-bin/pdftex-poppler0.76.patch +++ b/extra/texlive-bin/pdftex-poppler0.76.patch @@ -1,15 +1,74 @@ -commit 67290f70d8143b18f24ffd6a1827def9bdc21108 +commit 473d82b2e33621d51f5c961baf8b42cdb4c955eb Author: Akira Kakuto -Date: Thu Dec 6 23:31:33 2018 +0000 +Date: Fri May 3 04:05:07 2019 +0000 - support system poppler 0.72.0 + support system poppler 0.76.[01] - git-svn-id: svn://tug.org/texlive/trunk/Build/source@49336 c570f23f-e606-0410-a88d-b1316a301751 - + git-svn-id: svn://tug.org/texlive/trunk/Build/source@50960 c570f23f-e606-0410-a88d-b1316a301751 +diff --git a/texk/web2c/pdftexdir/ChangeLog b/texk/web2c/pdftexdir/ChangeLog +index 8af394342..0a43b927c 100644 +--- a/texk/web2c/pdftexdir/ChangeLog ++++ b/texk/web2c/pdftexdir/ChangeLog +@@ -1,3 +1,8 @@ ++2019-05-03 Akira Kakuto ++ ++ * pdftosrc-poppler0.76.0.cc, pdftoepdf-poppler0.76.0.cc: ++ Added to support system poppler 0.76.[01]. ++ + 2019-04-07 Karl Berry + + * TeX Live 2019. +diff --git a/texk/web2c/pdftexdir/NEWS b/texk/web2c/pdftexdir/NEWS +index c21898395..ddc933be4 100644 +--- a/texk/web2c/pdftexdir/NEWS ++++ b/texk/web2c/pdftexdir/NEWS +@@ -28,13 +28,15 @@ pdfTeX 3.14159265-2.6-1.40.19 (TeX Live 2018) (April 14, 2018) + Provide new files: + pdftosrc-newpoppler.cc for poppler-0.59.0 upto poppler-0.70.1. + pdftosrc-poppler0.71.0 for poppler-0.71.0. +- pdftosrc-poppler0.72.0 for poppler-0.72.0 and newer. ++ pdftosrc-poppler0.72.0 for poppler-0.72.0 upto poppler-0.75.0. ++ pdftosrc-poppler0.76.0 for poppler-0.76.0 and newer. + pdftoepdf-poppler0.68.0.cc for poppler-0.59.0 upto poppler-0.68.0. + pdftoepdf-poppler0.69.0.cc for poppler-0.69.0. + pdftoepdf-poppler0.70.0.cc for poppler-0.70.0 and poppler-0.70.1. + pdftoepdf-poppler0.71.0.cc for poppler-0.71.0. + pdftoepdf-poppler0.72.0.cc for poppler-0.72.0 upto poppler-0.74.0. +- pdftoepdf-poppler0.75.0.cc for poppler-0.75.0 and newer. ++ pdftoepdf-poppler0.75.0.cc for poppler-0.75.0. ++ pdftoepdf-poppler0.76.0.cc for poppler-0.76.0 and newer. + Note that pdftosrc-*.cc and pdftoepdf-*.cc should be + renamed as pdftosrc.cc, and pdftoepdf.cc, respectively, before + compilation. +diff --git a/texk/web2c/pdftexdir/pdftoepdf-poppler0.72.0.cc b/texk/web2c/pdftexdir/pdftoepdf-poppler0.72.0.cc +index 630d3366d..6617cfe8b 100644 +--- a/texk/web2c/pdftexdir/pdftoepdf-poppler0.72.0.cc ++++ b/texk/web2c/pdftexdir/pdftoepdf-poppler0.72.0.cc +@@ -23,6 +23,7 @@ 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.72.0 or newer versions. ++It is tested upto the poppler 0.74.0. + POPPLER_VERSION should be defined. + */ + +diff --git a/texk/web2c/pdftexdir/pdftoepdf-poppler0.75.0.cc b/texk/web2c/pdftexdir/pdftoepdf-poppler0.75.0.cc +index 13c3bd5ef..30f8fed58 100644 +--- a/texk/web2c/pdftexdir/pdftoepdf-poppler0.75.0.cc ++++ b/texk/web2c/pdftexdir/pdftoepdf-poppler0.75.0.cc +@@ -22,7 +22,7 @@ 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.75.0 or newer versions. ++The poppler should be 0.75.0. + POPPLER_VERSION should be defined. + */ + diff --git a/texk/web2c/pdftexdir/pdftoepdf-poppler0.76.0.cc b/texk/web2c/pdftexdir/pdftoepdf-poppler0.76.0.cc new file mode 100644 -index 000000000..630d3366d +index 000000000..e7614aa5c --- /dev/null +++ b/texk/web2c/pdftexdir/pdftoepdf-poppler0.76.0.cc @@ -0,0 +1,1113 @@ @@ -37,7 +96,7 @@ index 000000000..630d3366d +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.72.0 or newer versions. ++The poppler should be 0.76.0 or newer versions. +POPPLER_VERSION should be defined. +*/ + @@ -880,7 +939,7 @@ index 000000000..630d3366d + pdf_printf("/%s.PageNumber %i\n", pdfkeyprefix, (int) epdf_selected_page); + } + if ((suppress_ptex_info & MASK_SUPPRESS_PTEX_INFODICT) == 0) { -+ info = pdf_doc->doc->getDocInfoNF(); ++ info = pdf_doc->doc->getDocInfoNF().copy(); + if (info.isRef()) { + // the info dict must be indirect (PDF Ref p. 61) + pdf_printf("/%s.InfoDict ", pdfkeyprefix); @@ -1126,12 +1185,24 @@ index 000000000..630d3366d + delete globalParams; + } +} +diff --git a/texk/web2c/pdftexdir/pdftosrc-poppler0.72.0.cc b/texk/web2c/pdftexdir/pdftosrc-poppler0.72.0.cc +index d4e247ef6..34bad9ccf 100644 +--- a/texk/web2c/pdftexdir/pdftosrc-poppler0.72.0.cc ++++ b/texk/web2c/pdftexdir/pdftosrc-poppler0.72.0.cc +@@ -21,6 +21,7 @@ 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.72.0 or newer versions. ++It is tested upto the poppler 0.75.0. + POPPLER_VERSION should be defined. + */ + diff --git a/texk/web2c/pdftexdir/pdftosrc-poppler0.76.0.cc b/texk/web2c/pdftexdir/pdftosrc-poppler0.76.0.cc new file mode 100644 -index 000000000..6089e68d9 +index 000000000..3599b5318 --- /dev/null +++ b/texk/web2c/pdftexdir/pdftosrc-poppler0.76.0.cc -@@ -0,0 +1,207 @@ +@@ -0,0 +1,206 @@ +/* +Copyright 1996-2017 Han The Thanh, + @@ -1154,7 +1225,7 @@ index 000000000..6089e68d9 +/* +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.72.0 or newer versions. ++by Arch Linux. The poppler should be 0.76.0 or newer versions. +POPPLER_VERSION should be defined. +*/ + @@ -1308,7 +1379,6 @@ index 000000000..6089e68d9 + // 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, str, false); + for (n = 0; n < nObjects; ++n) { + obj1 = parser->getObj(); diff --git a/extra/texlive-bin/synctex-missing-header.patch b/extra/texlive-bin/synctex-missing-header.patch deleted file mode 100644 index 5e4ca7bbe..000000000 --- a/extra/texlive-bin/synctex-missing-header.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- 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/extra/texlive-bin/xetex-poppler-fixes.patch b/extra/texlive-bin/xetex-poppler-fixes.patch deleted file mode 100644 index ff5014052..000000000 --- a/extra/texlive-bin/xetex-poppler-fixes.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 729755bcb60695221cb368202822fc3181197ef7 Mon Sep 17 00:00:00 2001 -From: Akira Kakuto -Date: Mon, 22 Oct 2018 04:01:42 +0000 -Subject: [PATCH] cast types to support new poppler - -git-svn-id: svn://tug.org/texlive/trunk/Build/source@48969 c570f23f-e606-0410-a88d-b1316a301751 ---- - texk/web2c/xetexdir/ChangeLog | 4 ++++ - texk/web2c/xetexdir/pdfimage.cpp | 10 +++++----- - 2 files changed, 9 insertions(+), 5 deletions(-) - -diff --git a/texk/web2c/xetexdir/pdfimage.cpp b/texk/web2c/xetexdir/pdfimage.cpp -index fc3e32693..8a38f1ee5 100644 ---- a/texk/web2c/xetexdir/pdfimage.cpp -+++ b/texk/web2c/xetexdir/pdfimage.cpp -@@ -82,19 +82,19 @@ pdf_get_rect(char* filename, int page_num, int pdf_box, realrect* box) - switch (pdf_box) { - default: - case pdfbox_crop: -- r = page->getCropBox(); -+ r = (PDFRectangle *)page->getCropBox(); - break; - case pdfbox_media: -- r = page->getMediaBox(); -+ r = (PDFRectangle *)page->getMediaBox(); - break; - case pdfbox_bleed: -- r = page->getBleedBox(); -+ r = (PDFRectangle *)page->getBleedBox(); - break; - case pdfbox_trim: -- r = page->getTrimBox(); -+ r = (PDFRectangle *)page->getTrimBox(); - break; - case pdfbox_art: -- r = page->getArtBox(); -+ r = (PDFRectangle *)page->getArtBox(); - break; - } -