forked from void-linux/void-packages
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
28 changed files
with
5,865 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
# Template file for 'texlive' | ||
pkgname=texlive | ||
version=2018 | ||
revision=1 | ||
build_style=meta | ||
maintainer="Leah Neukirchen <leah@vuxu.org>" | ||
homepage="http://tug.org/texlive/" | ||
license="GPL-2" | ||
short_desc="TeX Live distribution - metapackage" | ||
depends="texlive${version}-tlmgr" | ||
provides="texlive-bin-${version}_${revision}" | ||
replaces="texlive-bin>=0" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
../texlive2018-tlmgr/update |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
TeX Live provides many executables as scripts distributed via tlmgr. | ||
These versions will be updated more frequently, so are therefore | ||
preferred. That means that this package can contain symlinks | ||
pointing to nothing. This shouldn't be a problem, but you may get a | ||
warning about a file not being found when you launch one of these | ||
programs. Just install it from tlmgr and everything should work. | ||
|
||
You can switch library versions with xbps-alternatives for: | ||
kpathsea, ptexenc, synctex, texlua52, texluajit. This is advisable | ||
when upgrading to a new yearly release. |
282 changes: 282 additions & 0 deletions
282
srcpkgs/texlive2018-exec/files/blfs-upstream_fixes-1.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,282 @@ | ||
Submitted By: Ken Moffat <ken at linuxfromscratch dot org> | ||
Date: 2018-05-02 | ||
Initial Package Version: 20180414 | ||
Upstream Status: Applied | ||
Origin: Upstream | ||
Description: Three fixes, cherry-picked from svn. | ||
|
||
r47469 Fix segfault in dvipdfm-x (XeTeX) on 1/2/4-bit transparent indexed PNGs. | ||
|
||
r47470 Support poppler-0.64.0 (this one is critical for current BLFS). | ||
|
||
r47477 Fix a ptex regression for discontinuous kinsoku table. | ||
|
||
NB most updates in current svn are for ongoing development. | ||
|
||
I have ignored r47476 (m-tx-0.63a) because the announcement at CTAN says this is | ||
a minor correction which will not be moticed on most architectures. | ||
|
||
diff -Naur a/texk/dvipdfm-x/pngimage.c b/texk/dvipdfm-x/pngimage.c | ||
--- a/texk/dvipdfm-x/pngimage.c 2018-02-17 08:41:35.000000000 +0000 | ||
+++ b/texk/dvipdfm-x/pngimage.c 2018-04-30 16:30:00.495894146 +0100 | ||
@@ -964,12 +964,16 @@ | ||
png_bytep trans; | ||
int num_trans; | ||
png_uint_32 i; | ||
+ png_byte bpc, mask, shift; | ||
|
||
if (!png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS) || | ||
!png_get_tRNS(png_ptr, info_ptr, &trans, &num_trans, NULL)) { | ||
WARN("%s: PNG does not have valid tRNS chunk but tRNS is requested.", PNG_DEBUG_STR); | ||
return NULL; | ||
} | ||
+ bpc = png_get_bit_depth(png_ptr, info_ptr); | ||
+ mask = 0xff >> (8 - bpc); | ||
+ shift = 8 - bpc; | ||
|
||
smask = pdf_new_stream(STREAM_COMPRESS); | ||
dict = pdf_stream_dict(smask); | ||
@@ -981,7 +985,8 @@ | ||
pdf_add_dict(dict, pdf_new_name("ColorSpace"), pdf_new_name("DeviceGray")); | ||
pdf_add_dict(dict, pdf_new_name("BitsPerComponent"), pdf_new_number(8)); | ||
for (i = 0; i < width*height; i++) { | ||
- png_byte idx = image_data_ptr[i]; | ||
+ /* data is packed for 1/2/4 bpc formats, msb first */ | ||
+ png_byte idx = (image_data_ptr[bpc * i / 8] >> (shift - bpc * i % 8)) & mask; | ||
smask_data_ptr[i] = (idx < num_trans) ? trans[idx] : 0xff; | ||
} | ||
pdf_add_stream(smask, (char *)smask_data_ptr, width*height); | ||
diff -Naur a/texk/web2c/luatexdir/image/pdftoepdf.w b/texk/web2c/luatexdir/image/pdftoepdf.w | ||
--- a/texk/web2c/luatexdir/image/pdftoepdf.w 2018-01-17 18:00:12.000000000 +0000 | ||
+++ b/texk/web2c/luatexdir/image/pdftoepdf.w 2018-04-30 16:29:12.201899987 +0100 | ||
@@ -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); | ||
diff -Naur a/texk/web2c/luatexdir/lua/lepdflib.cc b/texk/web2c/luatexdir/lua/lepdflib.cc | ||
--- a/texk/web2c/luatexdir/lua/lepdflib.cc 2018-02-14 14:44:38.000000000 +0000 | ||
+++ b/texk/web2c/luatexdir/lua/lepdflib.cc 2018-04-30 16:29:17.889917722 +0100 | ||
@@ -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); | ||
diff -Naur a/texk/web2c/pdftexdir/pdftoepdf-newpoppler.cc b/texk/web2c/pdftexdir/pdftoepdf-newpoppler.cc | ||
--- a/texk/web2c/pdftexdir/pdftoepdf-newpoppler.cc 2018-04-04 05:08:11.000000000 +0100 | ||
+++ b/texk/web2c/pdftexdir/pdftoepdf-newpoppler.cc 2018-04-30 16:29:35.849907790 +0100 | ||
@@ -290,7 +290,7 @@ | ||
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 @@ | ||
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 @@ | ||
&& 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 @@ | ||
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 @@ | ||
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 @@ | ||
} 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 @@ | ||
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 -Naur a/texk/web2c/pdftexdir/pdftosrc-newpoppler.cc b/texk/web2c/pdftexdir/pdftosrc-newpoppler.cc | ||
--- a/texk/web2c/pdftexdir/pdftosrc-newpoppler.cc 2017-10-17 22:52:13.000000000 +0100 | ||
+++ b/texk/web2c/pdftexdir/pdftosrc-newpoppler.cc 2018-04-30 16:29:41.360904749 +0100 | ||
@@ -109,7 +109,7 @@ | ||
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) { | ||
diff -Naur a/texk/web2c/ptexdir/ptex_version.h b/texk/web2c/ptexdir/ptex_version.h | ||
--- a/texk/web2c/ptexdir/ptex_version.h 2018-01-21 03:48:06.000000000 +0000 | ||
+++ b/texk/web2c/ptexdir/ptex_version.h 2018-04-30 16:27:55.978626503 +0100 | ||
@@ -1 +1 @@ | ||
-#define PTEX_VERSION "p3.8.0" | ||
+#define PTEX_VERSION "p3.8.1" | ||
diff -Naur a/texk/web2c/ptexdir/tests/free_ixsp.tex b/texk/web2c/ptexdir/tests/free_ixsp.tex | ||
--- a/texk/web2c/ptexdir/tests/free_ixsp.tex 1970-01-01 01:00:00.000000000 +0100 | ||
+++ b/texk/web2c/ptexdir/tests/free_ixsp.tex 2018-04-30 16:13:49.260128806 +0100 | ||
@@ -0,0 +1,53 @@ | ||
+%#!eptex -ini -etex | ||
+\let\dump\relax | ||
+\batchmode | ||
+\input plain | ||
+ | ||
+\errorstopmode | ||
+\catcode`@=11 | ||
+\newcount\@tempcnta | ||
+\newcount\@tempcntb | ||
+\newcount\@tempcntc | ||
+\mathchardef\LIM=256 | ||
+ | ||
+\def\MYCHAR#1{% | ||
+ \@tempcntc=\numexpr7*#1+"101\relax | ||
+ \@tempcnta=\@tempcntc\divide\@tempcnta 94 | ||
+ \@tempcntb=\numexpr\@tempcntc-94*\@tempcnta+1\relax | ||
+ \ifnum\@tempcntb<0\advance\@tempcntb94 \advance\@tempcnta-1\fi | ||
+ \advance\@tempcnta18 % 18区以降 | ||
+ \CNTA=\kuten\numexpr"100*\@tempcnta+\@tempcntb\relax | ||
+} | ||
+ | ||
+\newcount\CNT\newcount\CNTA | ||
+\CNT=0 | ||
+\loop | ||
+ \MYCHAR\CNT | ||
+ \message{\the\CNT.} | ||
+ \inhibitxspcode\CNTA=1\relax | ||
+ \advance\CNT1\relax | ||
+ \ifnum\CNT<\LIM | ||
+\repeat | ||
+ | ||
+\newcount\CNTB | ||
+ | ||
+\loop | ||
+ \MYCHAR\CNTB | ||
+ \global\inhibitxspcode\CNTA=3 | ||
+{% | ||
+\CNT=0 | ||
+\loop | ||
+ \MYCHAR\CNT | ||
+ \count@=\numexpr 1-\inhibitxspcode\CNTA\relax | ||
+ \ifnum\count@=0\else\ifnum\CNTB=\CNT\else | ||
+ \errmessage{<\the\CNTB, \the\CNT, \the\inhibitxspcode\CNTA>}\fi\fi | ||
+ \advance\CNT1\relax | ||
+ \ifnum\CNT<\LIM | ||
+\repeat | ||
+} | ||
+ \MYCHAR\CNTB | ||
+ \global\inhibitxspcode\CNTA=1\relax | ||
+ \advance\CNTB1\relax | ||
+ \ifnum\CNTB<\LIM | ||
+\repeat | ||
+\bye | ||
diff -Naur a/texk/web2c/ptexdir/tests/free_pena.tex b/texk/web2c/ptexdir/tests/free_pena.tex | ||
--- a/texk/web2c/ptexdir/tests/free_pena.tex 1970-01-01 01:00:00.000000000 +0100 | ||
+++ b/texk/web2c/ptexdir/tests/free_pena.tex 2018-04-30 16:15:00.829396672 +0100 | ||
@@ -0,0 +1,52 @@ | ||
+%#!eptex -ini -etex | ||
+\let\dump\relax | ||
+\batchmode | ||
+\input plain | ||
+ | ||
+\errorstopmode | ||
+\catcode`@=11 | ||
+\newcount\@tempcnta | ||
+\newcount\@tempcntb | ||
+\newcount\@tempcntc | ||
+\mathchardef\LIM=256 | ||
+ | ||
+\def\MYCHAR#1{% | ||
+ \@tempcntc=\numexpr7*#1+"101\relax | ||
+ \@tempcnta=\@tempcntc\divide\@tempcnta 94 | ||
+ \@tempcntb=\numexpr\@tempcntc-94*\@tempcnta+1\relax | ||
+ \ifnum\@tempcntb<0\advance\@tempcntb94 \advance\@tempcnta-1\fi | ||
+ \advance\@tempcnta18 % 18区以降 | ||
+ \CNTA=\kuten\numexpr"100*\@tempcnta+\@tempcntb\relax | ||
+} | ||
+ | ||
+\newcount\CNT\newcount\CNTA | ||
+\CNT=0 | ||
+\loop | ||
+ \MYCHAR\CNT | ||
+ \message{\the\CNT.} | ||
+ \prebreakpenalty\CNTA=\numexpr\CNT+1\relax | ||
+ \advance\CNT1\relax | ||
+ \ifnum\CNT<\LIM | ||
+\repeat | ||
+ | ||
+\newcount\CNTB | ||
+ | ||
+\loop | ||
+ \MYCHAR\CNTB | ||
+ \global\prebreakpenalty\CNTA=0 | ||
+{% | ||
+\CNT=0 | ||
+\loop | ||
+ \MYCHAR\CNT | ||
+ \count@=\numexpr -\CNT-1+\prebreakpenalty\CNTA\relax | ||
+ \ifnum\count@=0\else\ifnum\CNTB=\CNT\else\errmessage{<\the\CNTB, \the\CNT>}\fi\fi | ||
+ \advance\CNT1\relax | ||
+ \ifnum\CNT<\LIM | ||
+\repeat | ||
+} | ||
+ \MYCHAR\CNTB | ||
+ \global\prebreakpenalty\CNTA=\numexpr\CNTB+1\relax | ||
+ \advance\CNTB1\relax | ||
+ \ifnum\CNTB<\LIM | ||
+\repeat | ||
+\bye |
Oops, something went wrong.