From ac0adc86c6ee1f2559e4313f210b828778388999 Mon Sep 17 00:00:00 2001 From: Marek Kasik Date: Tue, 14 Aug 2018 02:34:41 +0200 Subject: [PATCH] Rebuild for poppler-0.67.0 Disable xindy temporarily (there is a cyclic dependency which prevents me from building texlive-base with new poppler) --- texlive-20180414-poppler-0.64.patch | 225 ++++++++++++++++++++++++++++ texlive-base.spec | 11 +- 2 files changed, 234 insertions(+), 2 deletions(-) create mode 100644 texlive-20180414-poppler-0.64.patch diff --git a/texlive-20180414-poppler-0.64.patch b/texlive-20180414-poppler-0.64.patch new file mode 100644 index 0000000..04aca34 --- /dev/null +++ b/texlive-20180414-poppler-0.64.patch @@ -0,0 +1,225 @@ +From b14146667f4cd6cbc5d5821c88e47096df3c78b5 Mon Sep 17 00:00:00 2001 +From: Akira Kakuto +Date: Sat, 28 Apr 2018 07:36:22 +0000 +Subject: support poppler-0.64.0 + +git-svn-id: svn://tug.org/texlive/trunk@47470 c570f23f-e606-0410-a88d-b1316a301751 +--- + Build/source/texk/web2c/luatexdir/image/pdftoepdf.w | 4 ++-- + Build/source/texk/web2c/luatexdir/lua/lepdflib.cc | 4 ++-- + Build/source/texk/web2c/pdftexdir/ChangeLog | 5 +++++ + Build/source/texk/web2c/pdftexdir/pdftoepdf-newpoppler.cc | 14 +++++++------- + Build/source/texk/web2c/pdftexdir/pdftosrc-newpoppler.cc | 2 +- + 5 files changed, 17 insertions(+), 12 deletions(-) + +diff --git a/Build/source/texk/web2c/luatexdir/image/pdftoepdf.w b/Build/source/texk/web2c/luatexdir/image/pdftoepdf.w +index 7ba2973..d697959 100644 +--- Build/source/texk/web2c/luatexdir/image/pdftoepdf.w ++++ Build/source/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/Build/source/texk/web2c/luatexdir/lua/lepdflib.cc b/Build/source/texk/web2c/luatexdir/lua/lepdflib.cc +index a16bf3b..32bcdab 100644 +--- Build/source/texk/web2c/luatexdir/lua/lepdflib.cc ++++ Build/source/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); +diff --git a/Build/source/texk/web2c/pdftexdir/ChangeLog b/Build/source/texk/web2c/pdftexdir/ChangeLog +index c022bc2..f4af035 100644 +--- Build/source/texk/web2c/pdftexdir/ChangeLog ++++ Build/source/texk/web2c/pdftexdir/ChangeLog +@@ -1,3 +1,8 @@ ++2018-04-28 Akira Kakuto ++ ++ * pdftoepdf-newpoppler.cc, pdftosrc-newpoppler.cc: ++ Support poppler 0.64.0. ++ + 2018-04-14 Karl Berry + + * TeX Live 2018 release, pdftex 1.40.19. +diff --git a/Build/source/texk/web2c/pdftexdir/pdftoepdf-newpoppler.cc b/Build/source/texk/web2c/pdftexdir/pdftoepdf-newpoppler.cc +index 10fea29..750579d 100644 +--- Build/source/texk/web2c/pdftexdir/pdftoepdf-newpoppler.cc ++++ Build/source/texk/web2c/pdftexdir/pdftoepdf-newpoppler.cc +@@ -290,7 +290,7 @@ static void copyName(char *s) + static void copyDictEntry(Object * obj, int i) + { + Object obj1; +- copyName(obj->dictGetKey(i)); ++ copyName((char *)obj->dictGetKey(i)); + pdf_puts(" "); + obj1 = obj->dictGetValNF(i); + copyObject(&obj1); +@@ -355,7 +355,7 @@ static void copyProcSet(Object * obj) + if (!procset.isName()) + pdftex_fail("PDF inclusion: invalid ProcSet entry type <%s>", + procset.getTypeName()); +- copyName(procset.getName()); ++ copyName((char *)procset.getName()); + pdf_puts(" "); + } + pdf_puts("]\n"); +@@ -418,7 +418,7 @@ static void copyFont(char *tag, Object * fontRef) + && fontdescRef.isRef() + && fontdesc.isDict() + && embeddableFont(&fontdesc) +- && (fontmap = lookup_fontmap(basefont.getName())) != NULL) { ++ && (fontmap = lookup_fontmap((char *)basefont.getName())) != NULL) { + // round /StemV value, since the PDF input is a float + // (see Font Descriptors in PDF reference), but we only store an + // integer, since we don't want to change the struct. +@@ -427,7 +427,7 @@ static void copyFont(char *tag, Object * fontRef) + charset = fontdesc.dictLookup("CharSet"); + if (!charset.isNull() && + charset.isString() && is_subsetable(fontmap)) +- epdf_mark_glyphs(fd, charset.getString()->getCString()); ++ epdf_mark_glyphs(fd, (char *)charset.getString()->getCString()); + else + embed_whole_font(fd); + addFontDesc(fontdescRef.getRef(), fd); +@@ -456,7 +456,7 @@ static void copyFontResources(Object * obj) + if (fontRef.isRef()) + copyFont(obj->dictGetKey(i), &fontRef); + else if (fontRef.isDict()) { // some programs generate pdf with embedded font object +- copyName(obj->dictGetKey(i)); ++ copyName((char *)obj->dictGetKey(i)); + pdf_puts(" "); + copyObject(&fontRef); + } +@@ -565,7 +565,7 @@ static void copyObject(Object * obj) + } else if (obj->isNum()) { + pdf_printf("%s", convertNumToPDF(obj->getNum())); + } else if (obj->isString()) { +- s = obj->getString(); ++ s = (GooString *)obj->getString(); + p = s->getCString(); + l = s->getLength(); + if (strlen(p) == (unsigned int) l) { +@@ -589,7 +589,7 @@ static void copyObject(Object * obj) + pdf_puts(">"); + } + } else if (obj->isName()) { +- copyName(obj->getName()); ++ copyName((char *)obj->getName()); + } else if (obj->isNull()) { + pdf_puts("null"); + } else if (obj->isArray()) { +diff --git a/Build/source/texk/web2c/pdftexdir/pdftosrc-newpoppler.cc b/Build/source/texk/web2c/pdftexdir/pdftosrc-newpoppler.cc +index 4e2bcad..0db154b 100644 +--- Build/source/texk/web2c/pdftexdir/pdftosrc-newpoppler.cc ++++ Build/source/texk/web2c/pdftexdir/pdftosrc-newpoppler.cc +@@ -109,7 +109,7 @@ int main(int argc, char *argv[]) + fprintf(stderr, "No SourceName found\n"); + exit(1); + } +- outname = srcName.getString()->getCString(); ++ outname = (char *)srcName.getString()->getCString(); + // We cannot free srcName, as objname shares its string. + // srcName.free(); + } else if (objnum > 0) { +--- Build/source/texk/web2c/pdftexdir/pdftosrc.cc ++++ Build/source/texk/web2c/pdftexdir/pdftosrc.cc +@@ -109,7 +109,7 @@ int main(int argc, char *argv[]) + fprintf(stderr, "No SourceName found\n"); + exit(1); + } +- outname = srcName.getString()->getCString(); ++ outname = (char *)srcName.getString()->getCString(); + // We cannot free srcName, as objname shares its string. + // srcName.free(); + } else if (objnum > 0) { +--- Build/source/texk/web2c/pdftexdir/pdftoepdf.cc ++++ Build/source/texk/web2c/pdftexdir/pdftoepdf.cc +@@ -290,7 +290,7 @@ static void copyName(char *s) + static void copyDictEntry(Object * obj, int i) + { + Object obj1; +- copyName(obj->dictGetKey(i)); ++ copyName((char *)obj->dictGetKey(i)); + pdf_puts(" "); + obj1 = obj->dictGetValNF(i); + copyObject(&obj1); +@@ -355,7 +355,7 @@ static void copyProcSet(Object * obj) + if (!procset.isName()) + pdftex_fail("PDF inclusion: invalid ProcSet entry type <%s>", + procset.getTypeName()); +- copyName(procset.getName()); ++ copyName((char *)procset.getName()); + pdf_puts(" "); + } + pdf_puts("]\n"); +@@ -418,7 +418,7 @@ static void copyFont(char *tag, Object * fontRef) + && fontdescRef.isRef() + && fontdesc.isDict() + && embeddableFont(&fontdesc) +- && (fontmap = lookup_fontmap(basefont.getName())) != NULL) { ++ && (fontmap = lookup_fontmap((char *)basefont.getName())) != NULL) { + // round /StemV value, since the PDF input is a float + // (see Font Descriptors in PDF reference), but we only store an + // integer, since we don't want to change the struct. +@@ -427,7 +427,7 @@ static void copyFont(char *tag, Object * fontRef) + charset = fontdesc.dictLookup("CharSet"); + if (!charset.isNull() && + charset.isString() && is_subsetable(fontmap)) +- epdf_mark_glyphs(fd, charset.getString()->getCString()); ++ epdf_mark_glyphs(fd, (char *)charset.getString()->getCString()); + else + embed_whole_font(fd); + addFontDesc(fontdescRef.getRef(), fd); +@@ -456,7 +456,7 @@ static void copyFontResources(Object * obj) + if (fontRef.isRef()) + copyFont(obj->dictGetKey(i), &fontRef); + else if (fontRef.isDict()) { // some programs generate pdf with embedded font object +- copyName(obj->dictGetKey(i)); ++ copyName((char *)obj->dictGetKey(i)); + pdf_puts(" "); + copyObject(&fontRef); + } +@@ -565,7 +565,7 @@ static void copyObject(Object * obj) + } else if (obj->isNum()) { + pdf_printf("%s", convertNumToPDF(obj->getNum())); + } else if (obj->isString()) { +- s = obj->getString(); ++ s = (GooString *)obj->getString(); + p = s->getCString(); + l = s->getLength(); + if (strlen(p) == (unsigned int) l) { +@@ -589,7 +589,7 @@ static void copyObject(Object * obj) + pdf_puts(">"); + } + } else if (obj->isName()) { +- copyName(obj->getName()); ++ copyName((char *)obj->getName()); + } else if (obj->isNull()) { + pdf_puts("null"); + } else if (obj->isArray()) { +-- +cgit v1.1 + diff --git a/texlive-base.spec b/texlive-base.spec index d104ac2..4352539 100644 --- a/texlive-base.spec +++ b/texlive-base.spec @@ -17,11 +17,11 @@ # Not ppc64, not s390x, not aarch64 due to lack of clisp # code SIGSEGV's on armv7hl -%global xindy_arches %{ix86} x86_64 +%global xindy_arches empty Name: %{shortname}-base Version: %{source_date} -Release: 18%{?dist} +Release: 19%{?dist} Epoch: 7 Summary: TeX formatting system # The only files in the base package are directories, cache, and license texts @@ -403,6 +403,7 @@ Patch7: texlive-20180414-new-poppler.patch Patch8: texlive-20180414-texinfo-path-fix.patch # These tests only fail on 32 bit arches with gcc8 Patch11: texlive-20180215-disable-more-failing-tests.patch +Patch12: texlive-20180414-poppler-0.64.patch # Can't do this because it causes everything else to be noarch # BuildArch: noarch @@ -6366,6 +6367,7 @@ xz -dc %{SOURCE0} | tar x %endif %patch8 -p1 -b .texinfo-fix %patch11 -p0 -b .dt +%patch12 -p1 -b .poppler-0.64 # Setup copies of the licenses for l in `unxz -c %{SOURCE3} | tar t`; do ln -s %{_texdir}/licenses/$l $l @@ -8694,6 +8696,11 @@ done <<< "$list" %doc %{_texdir}/texmf-dist/doc/latex/yplan/ %changelog +* Tue Aug 14 2018 Marek Kasik - 7:20180414-19 +- Rebuild for poppler-0.67.0 +- Disable xindy temporarily (there is a cyclic dependency which +- prevents me from building texlive-base with new poppler) + * Mon Aug 6 2018 Marek Kasik - 7:20180414-18 - Fix paths in pkgconfig files - Resolves: #1426622