texlive: update to 2018 and update poppler patches to work with 0.64

This commit is contained in:
Henrik Grimler 2018-05-01 04:07:38 +02:00 committed by Fredrik Fornwall
parent cf81ebc87f
commit 2d2c4a4014
12 changed files with 3300 additions and 3246 deletions

View File

@ -1,15 +1,13 @@
TERMUX_PKG_HOMEPAGE=https://www.tug.org/texlive/
TERMUX_PKG_DESCRIPTION="TeX Live is a distribution of the TeX typesetting system. This package contains architecture dependent binaries."
TERMUX_PKG_MAINTAINER="Henrik Grimler @Grimler91"
TERMUX_PKG_VERSION=20170524
TERMUX_PKG_REVISION=9
TERMUX_PKG_SRCURL=ftp://tug.org/historic/systems/texlive/${TERMUX_PKG_VERSION:0:4}/texlive-${TERMUX_PKG_VERSION}-source.tar.xz
TERMUX_PKG_SHA256="0161695304e941334dc0b3b5dabcf8edf46c09b7bc33eea8229b5ead7ccfb2aa"
TERMUX_PKG_VERSION=20180414
TERMUX_PKG_SRCURL=ftp://tug.org/texlive/historic/${TERMUX_PKG_VERSION:0:4}/texlive-${TERMUX_PKG_VERSION}-source.tar.xz
TERMUX_PKG_SHA256="fe0036d5f66708ad973cdc4e413c0bb9ee2385224481f7b0fb229700a0891e4e"
TERMUX_PKG_DEPENDS="freetype, libpng, libgd, libgmp, libmpfr, libicu, liblua, poppler, libgraphite, harfbuzz-icu, teckit"
TERMUX_PKG_BUILD_DEPENDS="icu-devtools"
TERMUX_PKG_BREAKS="texlive (<< 20170524-3)"
TERMUX_PKG_BREAKS="texlive (<< 20180414)"
TERMUX_PKG_REPLACES="texlive (<< 20170524-3)"
#TERMUX_PKG_CONFLICTS="texlive-bin (<< 20170524-8)"
TERMUX_PKG_RECOMMENDS="texlive"
TERMUX_PKG_NO_DEVELSPLIT=yes
@ -74,6 +72,8 @@ ac_cv_c_bigendian=no \
# These files are provided by texlive:
TERMUX_PKG_RM_AFTER_INSTALL="
bin/tlmgr
bin/man
share/texlive/texmf-dist/texconfig/tcfmgr.map
share/texlive/texmf-dist/texconfig/tcfmgr
share/texlive/texmf-dist/web2c/mktex.opt
@ -126,18 +126,6 @@ termux_step_pre_configure() {
CXXFLAGS+=" -std=c++11"
}
termux_step_post_make_install () {
# Replace tlmgr link with a small wrapper that prevents common break on "tlmgr update --self"
mv $TL_BINDIR/tlmgr $TL_BINDIR/tlmgr.ln
echo "#!$TERMUX_PREFIX/bin/sh" > $TL_BINDIR/tlmgr
echo "termux-fix-shebang $TL_ROOT/texmf-dist/scripts/texlive/tlmgr.pl" >> $TL_BINDIR/tlmgr
echo "sed -i 's%\`kpsewhich -var-value=SELFAUTOPARENT\`);%\`kpsewhich -var-value=TEXMFROOT\`);%g' $TL_ROOT/texmf-dist/scripts/texlive/tlmgr.pl" >> $TL_BINDIR/tlmgr
echo "sed -E -i '"'s@`/bin/sh@`'$TERMUX_PREFIX"/bin/sh@g' ${TL_ROOT}/tlpkg/TeXLive/TLUtils.pm" >> $TL_BINDIR/tlmgr
echo 'tlmgr.ln "$@"' >> $TL_BINDIR/tlmgr
chmod 0744 $TL_BINDIR/tlmgr
}
termux_step_create_debscripts () {
# Clean texlive's folder if needed (run on fresh install)
echo "#!$TERMUX_PREFIX/bin/bash" > preinst

View File

@ -1,17 +0,0 @@
diff -u -r ../texlive-20160523-source/texk/web2c/luatexdir/image/pdftoepdf.w ./texk/web2c/luatexdir/image/pdftoepdf.w
--- ../texlive-20160523-source/texk/web2c/luatexdir/image/pdftoepdf.w 2016-03-25 12:44:48.000000000 +0000
+++ ./texk/web2c/luatexdir/image/pdftoepdf.w 2017-04-21 23:48:03.787934684 +0000
@@ -71,7 +72,12 @@
ck = (char *) malloc(PDF_CHECKSUM_SIZE);
if (ck == NULL)
formatted_error("pdf inclusion","out of memory while processing '%s'", a);
- snprintf(ck, PDF_CHECKSUM_SIZE, "%" PRIu64 "_%" PRIu64, (uint64_t) size,(uint64_t) mtime);
+ snprintf(ck, PDF_CHECKSUM_SIZE, "%"
+ PRIu64
+ "_%"
+ PRIu64,
+ (uint64_t) size,
+ (uint64_t) mtime);
} else {
switch (fe) {
case FE_FAIL:

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,35 @@
--- ../pdftoepdf.w 2018-04-30 19:38:03.041290335 +0000
+++ ./texk/web2c/luatexdir/image/pdftoepdf.w 2018-04-30 20:27:50.631512751 +0000
@@ -472,10 +472,10 @@
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);
--- ../lepdflib.cc 2018-04-30 19:37:10.553331209 +0000
+++ ./texk/web2c/luatexdir/lua/lepdflib.cc 2018-04-30 20:40:55.079059154 +0000
@@ -674,7 +674,7 @@
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 @@
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);

View File

@ -1,5 +1,5 @@
--- ./texk/web2c/pdftexdir/pdftoepdf.cc 2016-11-25 18:09:21.000000000 +0000
+++ ../pdftoepdf.cc 2018-01-23 08:50:08.583460101 +0000
--- ./texk/web2c/pdftexdir/pdftoepdf.cc 2016-11-25 18:24:37.000000000 +0000
+++ ../pdftoepdf-newpoppler.cc 2018-04-30 18:45:14.463926082 +0000
@@ -1,5 +1,5 @@
/*
-Copyright 1996-2016 Han The Thanh, <thanh@pdftex.org>
@ -91,8 +91,9 @@
static void copyDictEntry(Object * obj, int i)
{
- PdfObject obj1;
- copyName(obj->dictGetKey(i));
+ Object obj1;
copyName(obj->dictGetKey(i));
+ copyName((char *)obj->dictGetKey(i));
pdf_puts(" ");
- obj->dictGetValNF(i, &obj1);
+ obj1 = obj->dictGetValNF(i);
@ -118,7 +119,7 @@
- procset->getTypeName());
- copyName(procset->getName());
+ procset.getTypeName());
+ copyName(procset.getName());
+ copyName((char *)procset.getName());
pdf_puts(" ");
}
pdf_puts("]\n");
@ -188,7 +189,7 @@
+ && 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.
@ -202,7 +203,7 @@
+ 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);
@ -232,8 +233,9 @@
+ if (fontRef.isRef())
copyFont(obj->dictGetKey(i), &fontRef);
- else if (fontRef->isDict()) { // some programs generate pdf with embedded font object
- copyName(obj->dictGetKey(i));
+ 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);
}
@ -253,7 +255,23 @@
int i, l, c;
Ref ref;
char *p;
@@ -601,8 +595,8 @@
@@ -571,7 +565,7 @@
} 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) {
@@ -595,14 +589,14 @@
pdf_puts(">");
}
} else if (obj->isName()) {
- copyName(obj->getName());
+ copyName((char *)obj->getName());
} else if (obj->isNull()) {
pdf_puts("null");
} else if (obj->isArray()) {
pdf_puts("[");
for (i = 0, l = obj->arrayGetLength(); i < l; ++i) {
@ -418,8 +436,8 @@
+*/
+// begin modification
+ groupDict = pageDict->lookup("Group");
+ Dict dic1 = page->getGroup();
+ Dict dic2 = groupDict.getDict();
+ 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++) {
@ -512,15 +530,8 @@
if (i < l - 1)
pdf_newline(); // add a newline after each stream except the last
}
--- ./texk/web2c/pdftexdir/pdftosrc.cc 2016-11-25 18:09:21.000000000 +0000
+++ ../pdftosrc.cc 2018-01-23 08:50:03.531537552 +0000
@@ -1,5 +1,5 @@
/*
-Copyright 1996-2014 Han The Thanh, <thanh@pdftex.org>
+Copyright 1996-2017 Han The Thanh, <thanh@pdftex.org>
This file is part of pdfTeX.
--- ./texk/web2c/pdftexdir/pdftosrc.cc 2017-10-17 04:24:27.000000000 +0000
+++ ../pdftosrc-newpoppler.cc 2018-04-30 18:45:24.223917354 +0000
@@ -16,6 +16,14 @@
You should have received a copy of the GNU General Public License along
with this program. If not, see <http://www.gnu.org/licenses/>.
@ -548,7 +559,7 @@
#endif
#include <assert.h>
@@ -86,22 +91,20 @@
@@ -86,31 +91,29 @@
objgen = atoi(argv[3]);
}
xref = doc->getXRef();
@ -575,7 +586,9 @@
if (!srcName.isString()) {
fprintf(stderr, "No SourceName found\n");
exit(1);
@@ -110,7 +113,7 @@
}
- outname = srcName.getString()->getCString();
+ outname = (char *)srcName.getString()->getCString();
// We cannot free srcName, as objname shares its string.
// srcName.free();
} else if (objnum > 0) {
@ -584,14 +597,7 @@
if (!srcStream.isStream()) {
fprintf(stderr, "Not a Stream object\n");
exit(1);
@@ -153,35 +156,34 @@
(e->type == xrefEntryFree ? "f" : "n"));
else { // e->offset is the object number of the object stream
Stream *str;
+ Lexer *lexer;
Parser *parser;
Object objStr, obj1, obj2;
int nObjects, first, n;
@@ -160,34 +163,27 @@
int localOffset = 0;
Guint firstOffset;
@ -612,10 +618,9 @@
objStr.streamReset();
- obj1.initNull();
- str = new EmbedStream(objStr.getStream(), &obj1, gTrue, first);
- parser = new Parser(xref, new Lexer(xref, str), gFalse);
+ str = new EmbedStream(objStr.getStream(), Object(objNull), gTrue, first);
+ lexer = new Lexer(xref, str);
+ parser = new Parser(xref, lexer, gFalse);
lexer = new Lexer(xref, str);
parser = new Parser(xref, lexer, gFalse);
for (n = 0; n < nObjects; ++n) {
- parser->getObj(&obj1);
- parser->getObj(&obj2);
@ -626,13 +631,17 @@
- obj1.free();
- obj2.free();
}
-#if defined(POPPLER_VERSION) || defined(XPDF304)
while (str->getChar() != EOF) ;
-#else /* xpdf 4.00 */
- lexer->skipToEOF();
-#endif
delete parser;
- objStr.free();
fprintf(outfile, "%.10lu 00000 n\n",
(long unsigned)(firstOffset + localOffset));
@@ -192,7 +194,6 @@
@@ -198,7 +194,6 @@
s->reset();
while ((c = s->getChar()) != EOF)
fputc(c, outfile);
@ -640,7 +649,7 @@
}
if (objnum == 0)
fprintf(stderr, "Source file extracted to %s\n", outname);
@@ -201,7 +202,6 @@
@@ -207,7 +202,6 @@
else
fprintf(stderr, "Cross-reference table extracted to %s\n", outname);
fclose(outfile);

View File

@ -1,15 +1,15 @@
--- ./texk/kpathsea/texmf.cnf 2017-05-03 18:13:42.000000000 +0000
+++ ../texmf.cnf 2017-11-08 22:44:36.123962327 +0000
@@ -54,7 +54,7 @@
% 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).
--- ../texmf.cnf.orig 2018-04-30 17:07:05.796733785 +0000
+++ ./texk/kpathsea/texmf.cnf 2018-04-30 17:36:18.883441637 +0000
@@ -58,7 +58,7 @@
% SELFAUTOPARENT (its grandparent = /usr/local/texlive/YYYY), and
% SELFAUTOGRANDPARENT (its great-grandparent = /usr/local/texlive).
% Sorry for the off-by-one-generation names.
-TEXMFROOT = $SELFAUTOPARENT
+TEXMFROOT = $SELFAUTODIR/share/texlive
% The main tree of distributed packages and programs:
TEXMFDIST = $TEXMFROOT/texmf-dist
@@ -64,7 +64,7 @@
@@ -68,7 +68,7 @@
TEXMFMAIN = $TEXMFDIST
% Local additions to the distribution trees.
@ -18,7 +18,7 @@
% TEXMFSYSVAR, where *-sys store cached runtime data.
TEXMFSYSVAR = $TEXMFROOT/texmf-var
@@ -516,6 +516,9 @@
@@ -524,6 +524,9 @@
$SELFAUTODIR/share/texmf-local/web2c,\
$SELFAUTODIR/share/texmf-dist/web2c,\
$SELFAUTODIR/share/texmf/web2c,\

View File

@ -1,4 +1,4 @@
--- src/texlive-20170524-extra/tlpkg/TeXLive/TLConfig.pm 2016-04-21 19:08:52.000000000 +0000
--- src/texlive-20180414-extra/tlpkg/TeXLive/TLConfig.pm 2016-04-21 19:08:52.000000000 +0000
+++ ../TLConfig.pm 2017-05-30 13:18:48.030712610 +0000
@@ -165,13 +165,13 @@
[ "b", 1, "postcode",

View File

@ -1,4 +1,4 @@
--- src/texlive-20170524-extra/tlpkg/TeXLive/TLUtils.pm 2016-05-16 00:33:33.000000000 +0000
--- src/texlive-20180414-extra/tlpkg/TeXLive/TLUtils.pm 2016-05-16 00:33:33.000000000 +0000
+++ ../TLUtils.pm 2017-05-30 14:09:38.505466432 +0000
@@ -228,7 +228,7 @@
# We cannot rely on #! in config.guess but have to call /bin/sh

View File

@ -1,18 +1,18 @@
TERMUX_PKG_HOMEPAGE=https://www.tug.org/texlive/
TERMUX_PKG_DESCRIPTION="TeX Live is a distribution of the TeX typesetting system."
TERMUX_PKG_MAINTAINER="Henrik Grimler @Grimler91"
_MAJOR_VERSION=20170524
_MAJOR_VERSION=20180414
TERMUX_PKG_VERSION=${_MAJOR_VERSION}
TERMUX_PKG_REVISION=5
TERMUX_PKG_SRCURL=("ftp://ftp.tug.org/texlive/historic/${TERMUX_PKG_VERSION:0:4}/"\
{"texlive-$_MAJOR_VERSION-texmf.tar.xz",\
"texlive-$_MAJOR_VERSION-extra.tar.xz",\
"install-tl-unx.tar.gz"})
TERMUX_PKG_SHA256=("3f63708b77f8615ec6f2f7c93259c5f584d1b89dd335a28f2362aef9e6f0c9ec"
"afe49758c26fb51c2fae2e958d3f0c447b5cc22342ba4a4278119d39f5176d7f"
"d4e07ed15dace1ea7fabe6d225ca45ba51f1cb7783e17850bc9fe3b890239d6d")
TERMUX_PKG_DEPENDS="wget, perl, xz-utils, gnupg2, texlive-bin (>= 20170524-5)"
TERMUX_PKG_CONFLICTS="texlive (<< 20170524-5)"
TERMUX_PKG_SHA256=("bae2fa05ea1858b489f8138bea855c6d65829cf595c1fb219c5d65f4fe8b1fad"
"5b4397854723405f20df7172e73a04cee2d3ab712f78b064a7f523d6ab9f0329"
"82c13110852af162c4c5ef1579fa2f4f51c2040850ec02fb7f97497da45eb446")
TERMUX_PKG_DEPENDS="perl, texlive-bin (>= 20180414)"
TERMUX_PKG_CONFLICTS="texlive (<< 20170524-5), texlive-bin (<< 20180414)"
TERMUX_PKG_RECOMMENDS="texlive-tlmgr"
TERMUX_PKG_FOLDERNAME=("texlive-$_MAJOR_VERSION-texmf"
"texlive-$_MAJOR_VERSION-extra"
"install-tl-$_MAJOR_VERSION")
@ -52,6 +52,17 @@ termux_step_make() {
cp $TERMUX_PKG_BUILDER_DIR/texlive.tlpdb $TL_ROOT/tlpkg/
perl -I$TL_ROOT/tlpkg/ $TL_ROOT/texmf-dist/scripts/texlive/mktexlsr.pl $TL_ROOT/texmf-dist
# Replace tlmgr link with a small wrapper that prevents error on "tlmgr update --self"
rm -rf $TL_BINDIR/tlmgr
ln -sf ../share/texlive/texmf-dist/scripts/texlive/tlmgr.pl $TL_BINDIR/tlmgr.ln
echo "#!$TERMUX_PREFIX/bin/sh" > $TL_BINDIR/tlmgr
echo "termux-fix-shebang $TL_ROOT/texmf-dist/scripts/texlive/tlmgr.pl" >> $TL_BINDIR/tlmgr
echo "sed -i 's%\`kpsewhich -var-value=SELFAUTOPARENT\`);%\`kpsewhich -var-value=TEXMFROOT\`);%g' $TL_ROOT/texmf-dist/scripts/texlive/tlmgr.pl" >> $TL_BINDIR/tlmgr
echo "sed -i 's%TEXMFROOT = \$SELFAUTOPARENT%TEXMFROOT = \$SELFAUTODIR/share/texlive%gb' $TL_ROOT/texmf-dist/web2c/texmf.cnf" >> $TL_BINDIR/tlmgr
echo "sed -E -i '"'s@`/bin/sh@`'$TERMUX_PREFIX"/bin/sh@g' ${TL_ROOT}/tlpkg/TeXLive/TLUtils.pm" >> $TL_BINDIR/tlmgr
echo 'tlmgr.ln "$@"' >> $TL_BINDIR/tlmgr
chmod 0744 $TL_BINDIR/tlmgr
}
termux_step_create_debscripts () {
@ -138,4 +149,7 @@ share/texlive/tlpkg/tlpostcode/xetex/conf/fonts.dtd
share/texlive/tlpkg/tlpostcode/xetex/conf/conf.d/51-local.conf
share/texlive/tlpkg/tlpostcode/xetex/cache/readme.txt
share/texlive/tlpkg/tlpostcode/ptex2pdf-tlpost.pl
share/texlive/texmf-dist/web2c/texmf.cnf"
share/texlive/texmf-dist/web2c/texmf.cnf
share/texlive/texmf-dist/scripts/texlive/fmtutil-user.sh
share/texlive/texmf-dist/scripts/texlive/rungs.tlu
share/texlive/texmf-dist/scripts/texlive/updmap-user.sh"

View File

@ -1,5 +1,5 @@
We've disabled luajittex when building the binaries, so lets prevent texlive from trying to generate formats for it.
--- src/texlive-20170524-texmf/texmf-dist/web2c/fmtutil.cnf 2016-05-15 01:17:09.000000000 +0000
--- src/texlive-20180414-texmf/texmf-dist/web2c/fmtutil.cnf 2016-05-15 01:17:09.000000000 +0000
+++ ../fmtutil.cnf 2017-05-31 05:20:32.516130878 +0000
@@ -82,7 +82,7 @@
# from luatex:

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff