From 8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 14 Jul 2018 21:03:06 +0100 Subject: gentoo resync : 14.07.2018 --- dev-tex/luatex/Manifest | 15 + dev-tex/luatex/files/includes.patch | 25 ++ dev-tex/luatex/files/kpathsea2012.patch | 28 ++ dev-tex/luatex/files/poppler018.patch | 160 +++++++++ dev-tex/luatex/files/poppler020.patch | 75 ++++ dev-tex/luatex/files/poppler022.patch | 388 +++++++++++++++++++++ dev-tex/luatex/files/poppler026-backport.patch | 99 ++++++ dev-tex/luatex/files/poppler026.patch | 143 ++++++++ .../luatex/files/remove-zlib-version-check.patch | 23 ++ dev-tex/luatex/luatex-0.70.1-r2.ebuild | 121 +++++++ dev-tex/luatex/luatex-0.76.0.ebuild | 104 ++++++ dev-tex/luatex/metadata.xml | 13 + 12 files changed, 1194 insertions(+) create mode 100644 dev-tex/luatex/Manifest create mode 100644 dev-tex/luatex/files/includes.patch create mode 100644 dev-tex/luatex/files/kpathsea2012.patch create mode 100644 dev-tex/luatex/files/poppler018.patch create mode 100644 dev-tex/luatex/files/poppler020.patch create mode 100644 dev-tex/luatex/files/poppler022.patch create mode 100644 dev-tex/luatex/files/poppler026-backport.patch create mode 100644 dev-tex/luatex/files/poppler026.patch create mode 100644 dev-tex/luatex/files/remove-zlib-version-check.patch create mode 100644 dev-tex/luatex/luatex-0.70.1-r2.ebuild create mode 100644 dev-tex/luatex/luatex-0.76.0.ebuild create mode 100644 dev-tex/luatex/metadata.xml (limited to 'dev-tex/luatex') diff --git a/dev-tex/luatex/Manifest b/dev-tex/luatex/Manifest new file mode 100644 index 000000000000..63efaac996d1 --- /dev/null +++ b/dev-tex/luatex/Manifest @@ -0,0 +1,15 @@ +AUX includes.patch 923 BLAKE2B b0b4602086c2eff9c17fff7d98ff4431b19e3345bac5ebc6d5ea46a517b3f9bced7ed8f17df2b51ad22c72f32be17be3d222f2d5f9d8228f957ebe2e47bd45eb SHA512 e1f45331e341130d74c5327e67fb8ec34741fc5edeca94dbc1a2d034e9362ce933294c80538db0f89030f293b157f7626f9c90b27cb72b9a85c7d9dbe6bac287 +AUX kpathsea2012.patch 944 BLAKE2B dfe4148cb2dfbec3d39d7132ed9018323dfcda80ec820384a2bd3fe35455863281839bdd642f0a7cae4f4dabb351e90f0553ded89eb1af471af6523b8326b8ec SHA512 d72bce55c2494622fd15703f483c058245c96c8b2aa03d6fa02b112be827ddfe8a0013ee0c3710bb3e1313b631bf436f70ce99d383f11f4d2b51915752c59960 +AUX poppler018.patch 5041 BLAKE2B 18af2742f61cfe542c6c14c379c2766610ad5b686900459b4a4e35e0e0011b8776803ff72a5e3cd90a435a2434047fca2a6a9e3b109b11b7fd1c3e1da6b3a36d SHA512 e8b1660cb6674a8d2f68f29022d0ea33ca00795c8360a9656c5ad84776c86d3ab0a3c0895632957c5ed93fcab96e11e6bc7eb1a03df518122fcc3fa574b095ee +AUX poppler020.patch 2909 BLAKE2B d4482cb205907713c211ab4dbbe514f9fb25ea70a93e834999fd38bd28ba2a199015c63fbe7467c35c04e7125954b9127db79227d3f4731cf723262836b51146 SHA512 9517efce4ede9b792f27647ec4ed95d447572a9cbb3ee58e089b658ccc55bbb6a7843768b5962a4535ed77ab364e73f4fd1248e92a5a480ce30429303664f385 +AUX poppler022.patch 12617 BLAKE2B 6a06484880a818bb9eb28363b37ce7e07920719cc625c711e14cb1f780347c4bc48808c3adebaf710d0278bcb8e64e9d12c236a903fac0f1884a3021af2d461a SHA512 998c948bc02014bf1e79e9c8ee2c7681568b827c467f15eed0ec90342d65f43ec36b9acaf7cdf51404234eab14337122d330adc647ce97b3c299a2c368bf9a9a +AUX poppler026-backport.patch 3914 BLAKE2B 8c98f7307e0b8b102d91dc52fb5952ae319b4621d3fe87c094f7965c6556bd29fb2808c5542ec0840cbd4f21a372c44a8fa08e9c3123d68879918850a2e7181c SHA512 fbeae638e8cb0f75b3ced8c2db813d47dd8701665861f6c0ec3c25f21de842f8978a2dccf54531b8f446dd6b4bb39f2e6c90d72f52ffedbc0404ae7c45432569 +AUX poppler026.patch 5169 BLAKE2B 43bba25d42867eee6f80cbd1bb4a7c7339195b2f07ffc23a38c4e83cbc22eedafe77a88083abc3f2db793093e6a2fe0a0aecffc27a7351a7770229bb20682ae8 SHA512 427a6fe39dfd79dcc9ee726b0eb7a70633815d17d6ab336e8ec564676c357f32c679866f4088043d6fd5bcae61763509995a255b65accd3de73fb38c5ecd362c +AUX remove-zlib-version-check.patch 938 BLAKE2B 47a949d5907bb59ea4b39af9442ebfe00adbeffa9b937e5a00161970ad205c410675ea74f485784ef4e057f9a31df03ee313cf4afe417d099a91b3f5c273acb0 SHA512 1d19fb396af846a2ffa9ab7ffcf20d363956921cec92d6b03e499e26bac3802a8ca874b982c25ef99a560af48f0d85b0a36ac5786f7c3129abba3b8d9e38c780 +DIST luatex-beta-0.70.1-doc.tar.bz2 1048489 BLAKE2B 199419361348fcb4ff5c591e00adde11787153094ccc4990bdf102a6ddc5a72bca34f87e6391ea3156c43d34f5fb20e5fc7fc26a79351d36bca7bf11bf67dac0 SHA512 eb4de91a80a6afccf5cca5cb05d5c1378a60ec35763e5ef5e9dbadaa2a276758a446e01d66e76a78e91442274778c10c73458b513af903e7221d90beb644afa9 +DIST luatex-beta-0.70.1.tar.bz2 8181155 BLAKE2B ef053914eb2a5c25324bcc406df48b82ff92e8dc88fee929ba760489fadfa9896bd2cb98fd0c7f3092e7efc000a16a10d95aa5d41ca78d0f9bc18af8f19b6f50 SHA512 e04a9b96f349bf9036ef4c01746dee96ebf245cd4da6b719f546223e05cb98fb844e20878a64f80f42c77e220fac01ee2d97ad56939c1fb3af44faab53c603cb +DIST luatex-beta-0.76.0-doc.tar.bz2 995143 BLAKE2B b3819dc821e637c24bfd5add91466b15e46f4752422b7801cb1bde0bb92a6976ba2219c95b24df7f28cf1cad93ddceb4d30c3ffa513367dfca69379b68caea34 SHA512 cd64e1fea3f631c7c6e268d01285f96966325fd16971d8840eef178ccc11b001b40ae5cfcc6c7c3bb026a3f04c04a16b90813f0b6818383bb80686a89ea48596 +DIST luatex-beta-0.76.0-source.tar.bz2 11748576 BLAKE2B 5ff71ee5a2357d1c48b745b55892bb6b8e96917b8dc778d334f80843d8e2ee829cdb9a7a57b3abd5c99202fec5278b680874e72975d774b7134eaf15b9617de6 SHA512 71ea789a95d419bf177f7f9f8d24d00a9d5639665feadac93cc30c86531e4942d29d848ef39ca3698de3efb1b8da9eb19890b1a06b45664641c7e47a79dd80b0 +EBUILD luatex-0.70.1-r2.ebuild 3844 BLAKE2B 0e21b7a4fa45824c1ae067ff991a16bd4a622a3b870aac1874da73b5f066f9d037d1511b1ea1b911f1d4b2aecd765f327b84a60de90851fb82688a7cc687de40 SHA512 20724ce7a5356b3f5e59b877f90cf869a3317a75258e478165991b1d9d19b3383be213010e8209c6b44569f07727468289c8bab3382549b20fdc48e222d550fa +EBUILD luatex-0.76.0.ebuild 3146 BLAKE2B c4e89c44cf2ecb69b032ca4f6e8bbb4ba0e041f1aefacde463ea31fc78a260442c4a73f30d301bc010de1b0ed2185de39396d4c4db07318c64918d326b478e90 SHA512 93242ff299584ad55ca0008568495047fa88057872f7a9b2d70db6f3f880740e7aa6d105c069253b00182f4bf4516d61d19dbf5a60696789318588d8d48e6446 +MISC metadata.xml 425 BLAKE2B e7887c2453db4e82d38b824cc946629dfee23c440f2b6d9982fd1b58cd43d601ff62f2ee0513078bf2f979a06c511576de1ac6c2d620c6dcfd6ef2dd125fb732 SHA512 9442b997ff504c7aef4e129b3c3fbc5212e6b7838b53059cfd16764bff66b025d39e6c9565f932295118393b8b648a489066d85e6bdb5e09380ec02a384addd9 diff --git a/dev-tex/luatex/files/includes.patch b/dev-tex/luatex/files/includes.patch new file mode 100644 index 000000000000..f93c7312b315 --- /dev/null +++ b/dev-tex/luatex/files/includes.patch @@ -0,0 +1,25 @@ +Index: source/texk/web2c/luatexdir/image/pdftoepdf.w +=================================================================== +--- source.orig/texk/web2c/luatexdir/image/pdftoepdf.w ++++ source/texk/web2c/luatexdir/image/pdftoepdf.w +@@ -26,6 +26,8 @@ static const char _svn_version[] = + // define DEBUG + #define __STDC_FORMAT_MACROS /* for PRId64 etc. */ + ++#include ++#include + #include "image/epdf.h" + + // This file is mostly C and not very much C++; it's just used to interface +Index: source/texk/web2c/luatexdir/image/writejp2.w +=================================================================== +--- source.orig/texk/web2c/luatexdir/image/writejp2.w ++++ source/texk/web2c/luatexdir/image/writejp2.w +@@ -30,6 +30,7 @@ ISO/IEC 15444-1, Second edition, 2004-09 + @c + #include + #include ++#include + #include "ptexlib.h" + #include "image/image.h" + #include "image/writejp2.h" diff --git a/dev-tex/luatex/files/kpathsea2012.patch b/dev-tex/luatex/files/kpathsea2012.patch new file mode 100644 index 000000000000..80c356d9de80 --- /dev/null +++ b/dev-tex/luatex/files/kpathsea2012.patch @@ -0,0 +1,28 @@ +From TeX Live svn rev 23421. +Remove unnecessary headers. Fixes build with kpathsea from TeX Live 2012. + + +Index: source/texk/web2c/luatexdir/luatex.c +=================================================================== +--- source/texk/web2c/luatexdir/luatex.c (revision 23420) ++++ source/texk/web2c/luatexdir/luatex.c (revision 23421) +@@ -32,7 +32,6 @@ + #include + #include + #include +-#include + #ifdef WIN32 + #include + #endif +Index: source/texk/web2c/lib/texmfmp.c +=================================================================== +--- source/texk/web2c/lib/texmfmp.c (revision 23420) ++++ source/texk/web2c/lib/texmfmp.c (revision 23421) +@@ -17,7 +17,6 @@ + #include + #include + #include +-#include + #ifdef WIN32 + #include + #endif diff --git a/dev-tex/luatex/files/poppler018.patch b/dev-tex/luatex/files/poppler018.patch new file mode 100644 index 000000000000..d21253853db7 --- /dev/null +++ b/dev-tex/luatex/files/poppler018.patch @@ -0,0 +1,160 @@ +by Martin von Gagern +https://bugs.gentoo.org/show_bug.cgi?id=384875 +http://thread.gmane.org/gmane.comp.tex.luatex/2630 + +--- luatex-beta-0.70.1/source/texk/web2c/luatexdir/lua/lepdflib.cc ++++ luatex-beta-0.70.1/source/texk/web2c/luatexdir/lua/lepdflib.cc +@@ -89,7 +89,6 @@ new_poppler_userdata(AnnotBorder); + new_poppler_userdata(Annots); + new_poppler_userdata(Array); + new_poppler_userdata(Catalog); +-new_poppler_userdata(EmbFile); + new_poppler_userdata(Dict); + //new_poppler_userdata(GooString); + new_poppler_userdata(LinkDest); +@@ -393,7 +392,7 @@ static int m_Annot__gc(lua_State * L) + printf("\n===== Annot GC ===== uin=<%p>\n", uin); + #endif + if (uin->atype == ALLOC_LEPDF) +- delete(Annot *) uin->d; ++ ((Annot *) uin->d)->decRefCnt(); + return 0; + } + +@@ -408,34 +407,6 @@ static const struct luaL_Reg Annot_m[] = + }; + + //********************************************************************** +-// AnnotBorderStyle +- +-m_poppler_get_DOUBLE(AnnotBorderStyle, getWidth); +- +-m_poppler__tostring(AnnotBorderStyle); +- +-static int m_Annots__gc(lua_State * L) +-{ +- udstruct *uin; +- uin = (udstruct *) luaL_checkudata(L, 1, M_Annots); +- if (uin->pd != NULL && uin->pd->pc != uin->pc) +- pdfdoc_changed_error(L); +-#ifdef DEBUG +- printf("\n===== Annots GC ===== uin=<%p>\n", uin); +-#endif +- if (uin->atype == ALLOC_LEPDF) +- delete(Annots *) uin->d; +- return 0; +-} +- +-static const struct luaL_Reg AnnotBorderStyle_m[] = { +- {"getWidth", m_AnnotBorderStyle_getWidth}, +- {"__tostring", m_AnnotBorderStyle__tostring}, +- {"__gc", m_Annots__gc}, +- {NULL, NULL} // sentinel +-}; +- +-//********************************************************************** + // Annots + + m_poppler_get_INT(Annots, getNumAnnots); +@@ -683,31 +654,6 @@ static int m_Catalog_findDest(lua_State + + m_poppler_get_poppler(Catalog, Object, getDests); + m_poppler_get_INT(Catalog, numEmbeddedFiles); +- +-static int m_Catalog_embeddedFile(lua_State * L) +-{ +- EmbFile *ef; +- int i, len; +- udstruct *uin, *uout; +- uin = (udstruct *) luaL_checkudata(L, 1, M_Catalog); +- if (uin->pd != NULL && uin->pd->pc != uin->pc) +- pdfdoc_changed_error(L); +- i = luaL_checkint(L, 2); +- len = ((Catalog *) uin->d)->numEmbeddedFiles(); +- if (i > 0 && i <= len) { +- ef = ((Catalog *) uin->d)->embeddedFile(i - 1); +- if (ef != NULL) { +- uout = new_EmbFile_userdata(L); +- uout->d = ef; +- uout->pc = uin->pc; +- uout->pd = uin->pd; +- } else +- lua_pushnil(L); +- } else +- lua_pushnil(L); +- return 1; +-} +- + m_poppler_get_INT(Catalog, numJS); + + static int m_Catalog_getJS(lua_State * L) +@@ -749,7 +695,6 @@ static const struct luaL_Reg Catalog_m[] + {"findDest", m_Catalog_findDest}, + {"getDests", m_Catalog_getDests}, + {"numEmbeddedFiles", m_Catalog_numEmbeddedFiles}, +- {"embeddedFile", m_Catalog_embeddedFile}, + {"numJS", m_Catalog_numJS}, + {"getJS", m_Catalog_getJS}, + {"getOutline", m_Catalog_getOutline}, +@@ -759,49 +704,6 @@ static const struct luaL_Reg Catalog_m[] + }; + + //********************************************************************** +-// EmbFile +- +-m_poppler_get_GOOSTRING(EmbFile, name); +-m_poppler_get_GOOSTRING(EmbFile, description); +-m_poppler_get_INT(EmbFile, size); +-m_poppler_get_GOOSTRING(EmbFile, modDate); +-m_poppler_get_GOOSTRING(EmbFile, createDate); +-m_poppler_get_GOOSTRING(EmbFile, checksum); +-m_poppler_get_GOOSTRING(EmbFile, mimeType); +- +-static int m_EmbFile_streamObject(lua_State * L) +-{ +- udstruct *uin, *uout; +- uin = (udstruct *) luaL_checkudata(L, 1, M_EmbFile); +- if (uin->pd != NULL && uin->pd->pc != uin->pc) +- pdfdoc_changed_error(L); +- uout = new_Object_userdata(L); +- uout->d = new Object(); // automatic init to type "none" +- ((EmbFile *) uin->d)->streamObject().copy((Object *) uout->d); +- uout->pc = uin->pc; +- uout->pd = uin->pd; +- return 1; +-} +- +-m_poppler_get_BOOL(EmbFile, isOk); +- +-m_poppler__tostring(EmbFile); +- +-static const struct luaL_Reg EmbFile_m[] = { +- {"name", m_EmbFile_name}, +- {"description", m_EmbFile_description}, +- {"size", m_EmbFile_size}, +- {"modDate", m_EmbFile_modDate}, +- {"createDate", m_EmbFile_createDate}, +- {"checksum", m_EmbFile_checksum}, +- {"mimeType", m_EmbFile_mimeType}, +- {"streamObject", m_EmbFile_streamObject}, +- {"isOk", m_EmbFile_isOk}, +- {"__tostring", m_EmbFile__tostring}, +- {NULL, NULL} // sentinel +-}; +- +-//********************************************************************** + // Dict + + static int m_Dict_incRef(lua_State * L) +@@ -2683,11 +2585,9 @@ int luaopen_epdf(lua_State * L) + { + register_meta(Annot); + // TODO register_meta(AnnotBorder); +- register_meta(AnnotBorderStyle); + register_meta(Annots); + register_meta(Array); + register_meta(Catalog); +- register_meta(EmbFile); + register_meta(Dict); + register_meta(GooString); + register_meta(LinkDest); diff --git a/dev-tex/luatex/files/poppler020.patch b/dev-tex/luatex/files/poppler020.patch new file mode 100644 index 000000000000..d3db830d3430 --- /dev/null +++ b/dev-tex/luatex/files/poppler020.patch @@ -0,0 +1,75 @@ +https://bugs.gentoo.org/show_bug.cgi?id=416545 +build with poppler-0.20 by Rafał Mużyło + +--- source/texk/web2c/luatexdir/lua/lepdflib.cc 2012-05-18 16:23:53.000000000 +0200 ++++ source/texk/web2c/luatexdir/lua/lepdflib.cc 2012-05-18 17:43:12.959843483 +0200 +@@ -151,7 +151,7 @@ static int l_new_Annot(lua_State * L) + pdfdoc_changed_error(L); + uout = new_Annot_userdata(L); + uout->d = +- new Annot((XRef *) uxref->d, (Dict *) udict->d, (Catalog *) ucatalog->d, ++ new Annot(udict->pd->doc, (Dict *) udict->d, + (Object *) uref->d); + uout->atype = ALLOC_LEPDF; + uout->pc = uxref->pc; +@@ -173,7 +173,7 @@ static int l_new_Annots(lua_State * L) + pdfdoc_changed_error(L); + uout = new_Annots_userdata(L); + uout->d = +- new Annots((XRef *) uxref->d, (Catalog *) ucatalog->d, ++ new Annots(uannotsobj->pd->doc, + (Object *) uannotsobj->d); + uout->atype = ALLOC_LEPDF; + uout->pc = uxref->pc; +@@ -363,7 +363,7 @@ static int m_##type##__tostring(lua_Stat + // Annot + + m_poppler_get_BOOL(Annot, isOk); +-m_poppler_get_OBJECT(Annot, getAppearance); ++m_poppler_get_OBJECT(Annot, getAppearanceResDict); + m_poppler_get_poppler(Annot, AnnotBorder, getBorder); + + static int m_Annot_match(lua_State * L) +@@ -398,7 +398,7 @@ static int m_Annot__gc(lua_State * L) + + static const struct luaL_Reg Annot_m[] = { + {"isOk", m_Annot_isOk}, +- {"getAppearance", m_Annot_getAppearance}, ++ {"getAppearanceResDict", m_Annot_getAppearanceResDict}, + {"getBorder", m_Annot_getBorder}, + {"match", m_Annot_match}, + {"__tostring", m_Annot__tostring}, +@@ -1249,7 +1249,7 @@ static int m_Object_getType(lua_State * + + static int m_Object_getTypeName(lua_State * L) + { +- char *s; ++ const char *s; + udstruct *uin; + uin = (udstruct *) luaL_checkudata(L, 1, M_Object); + if (uin->pd != NULL && uin->pd->pc != uin->pc) +@@ -1936,7 +1936,7 @@ static int m_Page_getLinks(lua_State * L + if ((uin->pd != NULL && uin->pd->pc != uin->pc) + || (ucat->pd != NULL && ucat->pd->pc != ucat->pd->pc)) + pdfdoc_changed_error(L); +- links = ((Page *) uin->d)->getLinks((Catalog *) ucat->d); ++ links = ((Page *) uin->d)->getLinks(); + if (links != NULL) { + uout = new_Links_userdata(L); + uout->d = links; +@@ -2531,7 +2531,6 @@ m_poppler_get_INT(XRef, getNumObjects); + m_poppler_get_INT(XRef, getRootNum); + m_poppler_get_INT(XRef, getRootGen); + // getStreamEnd +-m_poppler_get_INT(XRef, getSize); + // getEntry + m_poppler_get_poppler(XRef, Object, getTrailerDict); + +@@ -2558,7 +2557,6 @@ static const struct luaL_Reg XRef_m[] = + {"getRootNum", m_XRef_getRootNum}, + {"getRootGen", m_XRef_getRootGen}, + // +- {"getSize", m_XRef_getSize}, + {"getTrailerDict", m_XRef_getTrailerDict}, + {"__tostring", m_XRef__tostring}, + {NULL, NULL} // sentinel diff --git a/dev-tex/luatex/files/poppler022.patch b/dev-tex/luatex/files/poppler022.patch new file mode 100644 index 000000000000..223cbcb27456 --- /dev/null +++ b/dev-tex/luatex/files/poppler022.patch @@ -0,0 +1,388 @@ +Patch updating lepdflib.cc to upstream revision 4415, which basically removes +part of the exported interface and thereby circumvents the changes in +poppler-0.20 -> 0.22. Experimental, rebased on our existing Gentoo patches +poppler-0.18.patch and poppler-0.20.patch. Here to solve bug 449538. + +diff -ruN luatex-beta-0.70.1.gentoo/source/texk/web2c/luatexdir/lua/lepdflib.cc +luatex-beta-0.70.1/source/texk/web2c/luatexdir/lua/lepdflib.cc +--- luatex-beta-0.70.1.gentoo/source/texk/web2c/luatexdir/lua/lepdflib.cc 2013-03-10 13:31:22.000000000 +0100 ++++ luatex-beta-0.70.1/source/texk/web2c/luatexdir/lua/lepdflib.cc 2013-03-10 13:47:24.000000000 +0100 +@@ -1,7 +1,7 @@ + /* lepdflib.cc + +- Copyright 2009-2011 Taco Hoekwater +- Copyright 2009-2011 Hartmut Henkel ++ Copyright 2009-2012 Taco Hoekwater ++ Copyright 2009-2012 Hartmut Henkel + + This file is part of LuaTeX. + +@@ -49,15 +49,13 @@ + //********************************************************************** + + #define M_Annot "Annot" +-#define M_AnnotBorder "AnnotBorder" +-#define M_AnnotBorderStyle "AnnotBorderStyle" + #define M_Annots "Annots" + #define M_Array "Array" + #define M_Catalog "Catalog" +-#define M_EmbFile "EmbFile" + #define M_Dict "Dict" + #define M_GooString "GooString" + #define M_LinkDest "LinkDest" ++#define M_Link "Link" + #define M_Links "Links" + #define M_Object "Object" + #define M_Page "Page" +@@ -65,8 +63,8 @@ + #define M_PDFRectangle "PDFRectangle" + #define M_Ref "Ref" + #define M_Stream "Stream" +-#define M_XRef "XRef" + #define M_XRefEntry "XRefEntry" ++#define M_XRef "XRef" + + //********************************************************************** + +@@ -84,13 +82,9 @@ + new_poppler_userdata(PDFDoc); + + new_poppler_userdata(Annot); +-new_poppler_userdata(AnnotBorder); +-//new_poppler_userdata(AnnotBorderStyle); +-new_poppler_userdata(Annots); + new_poppler_userdata(Array); + new_poppler_userdata(Catalog); + new_poppler_userdata(Dict); +-//new_poppler_userdata(GooString); + new_poppler_userdata(LinkDest); + new_poppler_userdata(Links); + new_poppler_userdata(Object); +@@ -99,7 +93,6 @@ + new_poppler_userdata(Ref); + new_poppler_userdata(Stream); + new_poppler_userdata(XRef); +-//new_poppler_userdata(XRefEntry); + + //********************************************************************** + +@@ -134,53 +127,6 @@ + return 1; // doc path + } + +-static int l_new_Annot(lua_State * L) +-{ +- udstruct *uxref, *udict, *ucatalog, *uref, *uout; +- uxref = (udstruct *) luaL_checkudata(L, 1, M_XRef); +- udict = (udstruct *) luaL_checkudata(L, 2, M_Dict); +- ucatalog = (udstruct *) luaL_checkudata(L, 3, M_Catalog); +- uref = (udstruct *) luaL_checkudata(L, 4, M_Ref); +- if (uxref->pd != ucatalog->pd || uxref->pd != udict->pd +- || uxref->pd != uref->pd) +- pdfdoc_differs_error(L); +- if ((uxref->pd != NULL && uxref->pd->pc != uxref->pc) || +- (ucatalog->pd != NULL && ucatalog->pd->pc != ucatalog->pc) || +- (udict->pd != NULL && udict->pd->pc != udict->pc) || +- (uref->pd != NULL && uref->pd->pc != uref->pc)) +- pdfdoc_changed_error(L); +- uout = new_Annot_userdata(L); +- uout->d = +- new Annot(udict->pd->doc, (Dict *) udict->d, +- (Object *) uref->d); +- uout->atype = ALLOC_LEPDF; +- uout->pc = uxref->pc; +- uout->pd = uxref->pd; +- return 1; +-} +- +-static int l_new_Annots(lua_State * L) +-{ +- udstruct *uxref, *ucatalog, *uannotsobj, *uout; +- uxref = (udstruct *) luaL_checkudata(L, 1, M_XRef); +- ucatalog = (udstruct *) luaL_checkudata(L, 2, M_Catalog); +- uannotsobj = (udstruct *) luaL_checkudata(L, 3, M_Object); +- if (uxref->pd != ucatalog->pd || uxref->pd != uannotsobj->pd) +- pdfdoc_differs_error(L); +- if ((uxref->pd != NULL && uxref->pd->pc != uxref->pc) +- || (ucatalog->pd != NULL && ucatalog->pd->pc != ucatalog->pc) +- || (uannotsobj->pd != NULL && uannotsobj->pd->pc != uannotsobj->pc)) +- pdfdoc_changed_error(L); +- uout = new_Annots_userdata(L); +- uout->d = +- new Annots(uannotsobj->pd->doc, +- (Object *) uannotsobj->d); +- uout->atype = ALLOC_LEPDF; +- uout->pc = uxref->pc; +- uout->pd = uxref->pd; +- return 1; +-} +- + static int l_new_Array(lua_State * L) + { + udstruct *uxref, *uout; +@@ -235,8 +181,6 @@ + + static const struct luaL_Reg epdflib[] = { + {"open", l_open_PDFDoc}, +- {"Annot", l_new_Annot}, +- {"Annots", l_new_Annots}, + {"Array", l_new_Array}, + {"Dict", l_new_Dict}, + {"Object", l_new_Object}, +@@ -359,12 +303,26 @@ + return 1; \ + } + ++#define m_poppler_check_string(in, function) \ ++static int m_##in##_##function(lua_State * L) \ ++{ \ ++ const char *s; \ ++ udstruct *uin; \ ++ uin = (udstruct *) luaL_checkudata(L, 1, M_##in); \ ++ if (uin->pd != NULL && uin->pd->pc != uin->pc) \ ++ pdfdoc_changed_error(L); \ ++ s = luaL_checkstring(L, 2); \ ++ if (((in *) uin->d)->function((char *) s)) \ ++ lua_pushboolean(L, 1); \ ++ else \ ++ lua_pushboolean(L, 0); \ ++ return 1; \ ++} ++ + //********************************************************************** + // Annot + + m_poppler_get_BOOL(Annot, isOk); +-m_poppler_get_OBJECT(Annot, getAppearanceResDict); +-m_poppler_get_poppler(Annot, AnnotBorder, getBorder); + + static int m_Annot_match(lua_State * L) + { +@@ -398,8 +356,6 @@ + + static const struct luaL_Reg Annot_m[] = { + {"isOk", m_Annot_isOk}, +- {"getAppearanceResDict", m_Annot_getAppearanceResDict}, +- {"getBorder", m_Annot_getBorder}, + {"match", m_Annot_match}, + {"__tostring", m_Annot__tostring}, + {"__gc", m_Annot__gc}, +@@ -654,6 +610,7 @@ + + m_poppler_get_poppler(Catalog, Object, getDests); + m_poppler_get_INT(Catalog, numEmbeddedFiles); ++ + m_poppler_get_INT(Catalog, numJS); + + static int m_Catalog_getJS(lua_State * L) +@@ -770,20 +727,7 @@ + return 0; + } + +-static int m_Dict_is(lua_State * L) +-{ +- const char *s; +- udstruct *uin; +- uin = (udstruct *) luaL_checkudata(L, 1, M_Dict); +- if (uin->pd != NULL && uin->pd->pc != uin->pc) +- pdfdoc_changed_error(L); +- s = luaL_checkstring(L, 2); +- if (((Dict *) uin->d)->is((char *) s)) +- lua_pushboolean(L, 1); +- else +- lua_pushboolean(L, 0); +- return 1; +-} ++m_poppler_check_string(Dict, is); + + static int m_Dict_lookup(lua_State * L) + { +@@ -894,6 +838,8 @@ + return 1; + } + ++m_poppler_check_string(Dict, hasKey); ++ + m_poppler__tostring(Dict); + + static const struct luaL_Reg Dict_m[] = { +@@ -910,6 +856,7 @@ + {"getKey", m_Dict_getKey}, + {"getVal", m_Dict_getVal}, + {"getValNF", m_Dict_getValNF}, ++ {"hasKey", m_Dict_hasKey}, + {"__tostring", m_Dict__tostring}, + {NULL, NULL} // sentinel + }; +@@ -1017,9 +964,13 @@ + //********************************************************************** + // Links + ++m_poppler_get_INT(Links, getNumLinks); ++ + m_poppler__tostring(Links); + + static const struct luaL_Reg Links_m[] = { ++ {"getNumLinks", m_Links_getNumLinks}, ++ //{"getLink", m_Links_getLink}, + {"__tostring", m_Links__tostring}, + {NULL, NULL} // sentinel + }; +@@ -1925,28 +1876,6 @@ + m_poppler_get_poppler(Page, Dict, getResourceDict); + m_poppler_get_OBJECT(Page, getAnnots); + +-static int m_Page_getLinks(lua_State * L) +-{ +- Links *links; +- udstruct *uin, *ucat, *uout; +- uin = (udstruct *) luaL_checkudata(L, 1, M_Page); +- ucat = (udstruct *) luaL_checkudata(L, 2, M_Catalog); +- if (uin->pd != NULL && ucat->pd != NULL && uin->pd != ucat->pd) +- pdfdoc_differs_error(L); +- if ((uin->pd != NULL && uin->pd->pc != uin->pc) +- || (ucat->pd != NULL && ucat->pd->pc != ucat->pd->pc)) +- pdfdoc_changed_error(L); +- links = ((Page *) uin->d)->getLinks(); +- if (links != NULL) { +- uout = new_Links_userdata(L); +- uout->d = links; +- uout->pc = uin->pc; +- uout->pd = uin->pd; +- } else +- lua_pushnil(L); +- return 1; +-} +- + m_poppler_get_OBJECT(Page, getContents); + + m_poppler__tostring(Page); +@@ -1973,7 +1902,6 @@ + {"getSeparationInfo", m_Page_getSeparationInfo}, + {"getResourceDict", m_Page_getResourceDict}, + {"getAnnots", m_Page_getAnnots}, +- {"getLinks", m_Page_getLinks}, + {"getContents", m_Page_getContents}, + {"__tostring", m_Page__tostring}, + {NULL, NULL} // sentinel +@@ -2158,19 +2086,23 @@ + + static int m_PDFDoc_getLinks(lua_State * L) + { +- int i; ++ int i, pages; + Links *links; + udstruct *uin, *uout; + uin = (udstruct *) luaL_checkudata(L, 1, M_PDFDoc); + if (uin->pd != NULL && uin->pd->pc != uin->pc) + pdfdoc_changed_error(L); + i = luaL_checkint(L, 2); +- links = ((PdfDocument *) uin->d)->doc->getLinks(i); +- if (links != NULL) { +- uout = new_Links_userdata(L); +- uout->d = links; +- uout->pc = uin->pc; +- uout->pd = uin->pd; ++ pages = ((PdfDocument *) uin->d)->doc->getNumPages(); ++ if (i > 0 && i <= pages) { ++ links = ((PdfDocument *) uin->d)->doc->getLinks(i); ++ if (links != NULL) { ++ uout = new_Links_userdata(L); ++ uout->d = links; ++ uout->pc = uin->pc; ++ uout->pd = uin->pd; ++ } else ++ lua_pushnil(L); + } else + lua_pushnil(L); + return 1; +@@ -2249,6 +2181,8 @@ + m_PDFDoc_INT(getPDFMajorVersion); + m_PDFDoc_INT(getPDFMinorVersion); + ++m_poppler__tostring(PDFDoc); ++ + static int m_PDFDoc__gc(lua_State * L) + { + udstruct *uin; +@@ -2292,6 +2226,7 @@ + {"getDocInfoNF", m_PDFDoc_getDocInfoNF}, + {"getPDFMajorVersion", m_PDFDoc_getPDFMajorVersion}, + {"getPDFMinorVersion", m_PDFDoc_getPDFMinorVersion}, ++ {"__tostring", m_PDFDoc__tostring}, + {"__gc", m_PDFDoc__gc}, // finalizer + {NULL, NULL} // sentinel + }; +@@ -2437,11 +2372,6 @@ + "Flate", "JBIG2", "JPX", "Weird", NULL + }; + +-#if 0 +-static const char *StreamColorSpaceModeNames[] = +- { "CSNone", "CSDeviceGray", "CSDeviceRGB", "CSDeviceCMYK", NULL }; +-#endif +- + m_poppler_get_INT(Stream, getKind); + + static int m_Stream_getKindName(lua_State * L) +@@ -2527,11 +2457,26 @@ + m_poppler_get_OBJECT(XRef, getDocInfo); + m_poppler_get_OBJECT(XRef, getDocInfoNF); + m_poppler_get_INT(XRef, getNumObjects); +-// getLastXRefPos + m_poppler_get_INT(XRef, getRootNum); + m_poppler_get_INT(XRef, getRootGen); + // getStreamEnd +-// getEntry ++ ++static int m_XRef_getNumEntry(lua_State * L) ++{ ++ int i, offset; ++ udstruct *uin; ++ uin = (udstruct *) luaL_checkudata(L, 1, M_XRef); ++ if (uin->pd != NULL && uin->pd->pc != uin->pc) ++ pdfdoc_changed_error(L); ++ offset = luaL_checkint(L, 2); ++ i = ((XRef *) uin->d)->getNumEntry(offset); ++ if (i >= 0) ++ lua_pushinteger(L, i); ++ else ++ lua_pushnil(L); ++ return 1; ++} ++ + m_poppler_get_poppler(XRef, Object, getTrailerDict); + + m_poppler__tostring(XRef); +@@ -2553,10 +2498,10 @@ + {"getDocInfo", m_XRef_getDocInfo}, + {"getDocInfoNF", m_XRef_getDocInfoNF}, + {"getNumObjects", m_XRef_getNumObjects}, +- // + {"getRootNum", m_XRef_getRootNum}, + {"getRootGen", m_XRef_getRootGen}, +- // ++ // {"getStreamEnd", m_XRef_getStreamEnd}, ++ {"getNumEntry", m_XRef_getNumEntry}, + {"getTrailerDict", m_XRef_getTrailerDict}, + {"__tostring", m_XRef__tostring}, + {NULL, NULL} // sentinel +@@ -2565,7 +2510,10 @@ + //********************************************************************** + // XRefEntry + ++m_poppler__tostring(XRefEntry); ++ + static const struct luaL_Reg XRefEntry_m[] = { ++ {"__tostring", m_XRefEntry__tostring}, + {NULL, NULL} // sentinel + }; + +@@ -2582,7 +2530,6 @@ + int luaopen_epdf(lua_State * L) + { + register_meta(Annot); +- // TODO register_meta(AnnotBorder); + register_meta(Annots); + register_meta(Array); + register_meta(Catalog); diff --git a/dev-tex/luatex/files/poppler026-backport.patch b/dev-tex/luatex/files/poppler026-backport.patch new file mode 100644 index 000000000000..ee151a30b47f --- /dev/null +++ b/dev-tex/luatex/files/poppler026-backport.patch @@ -0,0 +1,99 @@ +diff -ruN luatex-beta-0.70.1.patched.orig/source/texk/web2c/luatexdir/image/epdf.h luatex-beta-0.70.1.patched/source/texk/web2c/luatexdir/image/epdf.h +--- luatex-beta-0.70.1.patched.orig/source/texk/web2c/luatexdir/image/epdf.h 2011-05-19 07:38:37.000000000 +0200 ++++ luatex-beta-0.70.1.patched/source/texk/web2c/luatexdir/image/epdf.h 2014-10-11 12:17:00.028331243 +0200 +@@ -33,6 +33,7 @@ + # include + # include + # include ++# include + # include + # include + # include +diff -ruN luatex-beta-0.70.1.patched.orig/source/texk/web2c/luatexdir/lua/lepdflib.cc luatex-beta-0.70.1.patched/source/texk/web2c/luatexdir/lua/lepdflib.cc +--- luatex-beta-0.70.1.patched.orig/source/texk/web2c/luatexdir/lua/lepdflib.cc 2014-10-11 12:24:52.509357663 +0200 ++++ luatex-beta-0.70.1.patched/source/texk/web2c/luatexdir/lua/lepdflib.cc 2014-10-11 12:42:03.665415321 +0200 +@@ -48,23 +48,24 @@ + + //********************************************************************** + +-#define M_Annot "Annot" +-#define M_Annots "Annots" +-#define M_Array "Array" +-#define M_Catalog "Catalog" +-#define M_Dict "Dict" +-#define M_GooString "GooString" +-#define M_LinkDest "LinkDest" +-#define M_Link "Link" +-#define M_Links "Links" +-#define M_Object "Object" +-#define M_Page "Page" +-#define M_PDFDoc "PDFDoc" +-#define M_PDFRectangle "PDFRectangle" +-#define M_Ref "Ref" +-#define M_Stream "Stream" +-#define M_XRefEntry "XRefEntry" +-#define M_XRef "XRef" ++#define M_Annot "epdf.Annot" /* ls-hh: epdf.* gives better protection in registry */ ++#define M_Annots "epdf.Annots" ++#define M_Array "epdf.Array" ++#define M_Catalog "epdf.Catalog" ++#define M_Dict "epdf.Dict" ++#define M_GooString "epdf.GooString" ++#define M_LinkDest "epdf.LinkDest" ++#define M_Link "epdf.Link" ++#define M_Links "epdf.Links" ++#define M_Object "epdf.Object" ++#define M_Page "epdf.Page" ++#define M_PDFDoc "epdf.PDFDoc" ++#define M_PDFRectangle "epdf.PDFRectangle" ++#define M_Ref "epdf.Ref" ++#define M_Stream "epdf.Stream" ++#define M_StructTreeRoot "epdf.StructTreeRoot" ++#define M_XRef "epdf.XRef" ++#define M_XRefEntry "epdf.XRefEntry" + + //********************************************************************** + +@@ -92,6 +93,7 @@ + new_poppler_userdata(PDFRectangle); + new_poppler_userdata(Ref); + new_poppler_userdata(Stream); ++new_poppler_userdata(StructTreeRoot); + new_poppler_userdata(XRef); + + //********************************************************************** +@@ -565,7 +567,11 @@ + + m_poppler_get_GOOSTRING(Catalog, getBaseURI); + m_poppler_get_GOOSTRING(Catalog, readMetadata); ++#ifdef GETSTRUCTTREEROOT_RETURNS_OBJECT + m_poppler_get_poppler(Catalog, Object, getStructTreeRoot); ++#else ++m_poppler_get_poppler(Catalog, StructTreeRoot, getStructTreeRoot); ++#endif + + static int m_Catalog_findPage(lua_State * L) + { +@@ -2048,14 +2054,22 @@ + + static int m_PDFDoc_getStructTreeRoot(lua_State * L) + { ++#ifdef GETSTRUCTTREEROOT_RETURNS_OBJECT + Object *obj; ++#else ++ StructTreeRoot *obj; ++#endif + udstruct *uin, *uout; + uin = (udstruct *) luaL_checkudata(L, 1, M_PDFDoc); + 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(); ++#ifdef GETSTRUCTTREEROOT_RETURNS_OBJECT + uout = new_Object_userdata(L); ++#else ++ uout = new_StructTreeRoot_userdata(L); ++#endif + uout->d = obj; + uout->pc = uin->pc; + uout->pd = uin->pd; diff --git a/dev-tex/luatex/files/poppler026.patch b/dev-tex/luatex/files/poppler026.patch new file mode 100644 index 000000000000..f7b5ba35b488 --- /dev/null +++ b/dev-tex/luatex/files/poppler026.patch @@ -0,0 +1,143 @@ +Source: NetBSD CVS +http://mail-index.netbsd.org/pkgsrc-bugs/2014/04/29/msg053974.html +http://cvsweb.de.netbsd.org/cgi-bin/cvsweb.cgi/pkgsrc/print/luatex/patches/ + + +diff -ruN luatex-beta-0.76.0.orig/source/texk/web2c/luatexdir/image/epdf.h luatex-beta-0.76.0/source/texk/web2c/luatexdir/image/epdf.h +--- luatex-beta-0.76.0.orig/source/texk/web2c/luatexdir/image/epdf.h 2013-04-05 12:58:37.000000000 +0200 ++++ luatex-beta-0.76.0/source/texk/web2c/luatexdir/image/epdf.h 2014-05-01 01:39:39.838462783 +0200 +@@ -37,6 +37,7 @@ + # include + # include + # include ++# include + # include + # include + # include +diff -ruN luatex-beta-0.76.0.orig/source/texk/web2c/luatexdir/lua/lepdflib.cc luatex-beta-0.76.0/source/texk/web2c/luatexdir/lua/lepdflib.cc +--- luatex-beta-0.76.0.orig/source/texk/web2c/luatexdir/lua/lepdflib.cc 2013-04-05 12:58:37.000000000 +0200 ++++ luatex-beta-0.76.0/source/texk/web2c/luatexdir/lua/lepdflib.cc 2014-05-01 01:40:15.698461067 +0200 +@@ -48,25 +48,26 @@ + + //********************************************************************** + +-#define M_Annot "Annot" +-#define M_Annots "Annots" +-#define M_Array "Array" +-#define M_Catalog "Catalog" +-#define M_Dict "Dict" +-#define M_EmbFile "EmbFile" +-#define M_FileSpec "FileSpec" +-#define M_GooString "GooString" +-#define M_LinkDest "LinkDest" +-#define M_Link "Link" +-#define M_Links "Links" +-#define M_Object "Object" +-#define M_Page "Page" +-#define M_PDFDoc "PDFDoc" +-#define M_PDFRectangle "PDFRectangle" +-#define M_Ref "Ref" +-#define M_Stream "Stream" +-#define M_XRefEntry "XRefEntry" +-#define M_XRef "XRef" ++#define M_Annot "epdf.Annot" /* ls-hh: epdf.* gives better protection in registry */ ++#define M_Annots "epdf.Annots" ++#define M_Array "epdf.Array" ++#define M_Catalog "epdf.Catalog" ++#define M_Dict "epdf.Dict" ++#define M_EmbFile "epdf.EmbFile" ++#define M_FileSpec "epdf.FileSpec" ++#define M_GooString "epdf.GooString" ++#define M_LinkDest "epdf.LinkDest" ++#define M_Link "epdf.Link" ++#define M_Links "epdf.Links" ++#define M_Object "epdf.Object" ++#define M_Page "epdf.Page" ++#define M_PDFDoc "epdf.PDFDoc" ++#define M_PDFRectangle "epdf.PDFRectangle" ++#define M_Ref "epdf.Ref" ++#define M_Stream "epdf.Stream" ++#define M_StructTreeRoot "epdf.StructTreeRoot" ++#define M_XRefEntry "epdf.XRefEntry" ++#define M_XRef "epdf.XRef" + + //********************************************************************** + +@@ -96,6 +97,7 @@ + new_poppler_userdata(PDFRectangle); + new_poppler_userdata(Ref); + new_poppler_userdata(Stream); ++new_poppler_userdata(StructTreeRoot); + new_poppler_userdata(XRef); + + //********************************************************************** +@@ -573,7 +575,11 @@ + + m_poppler_get_GOOSTRING(Catalog, getBaseURI); + m_poppler_get_GOOSTRING(Catalog, readMetadata); ++#ifdef GETSTRUCTTREEROOT_RETURNS_OBJECT + m_poppler_get_poppler(Catalog, Object, getStructTreeRoot); ++#else ++m_poppler_get_poppler(Catalog, StructTreeRoot, getStructTreeRoot); ++#endif + + static int m_Catalog_findPage(lua_State * L) + { +@@ -2146,14 +2152,22 @@ + + static int m_PDFDoc_getStructTreeRoot(lua_State * L) + { ++#ifdef GETSTRUCTTREEROOT_RETURNS_OBJECT + Object *obj; ++#else ++ StructTreeRoot *obj; ++#endif + udstruct *uin, *uout; + uin = (udstruct *) luaL_checkudata(L, 1, M_PDFDoc); + 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(); ++#ifdef GETSTRUCTTREEROOT_RETURNS_OBJECT + uout = new_Object_userdata(L); ++#else ++ uout = new_StructTreeRoot_userdata(L); ++#endif + uout->d = obj; + uout->pc = uin->pc; + uout->pd = uin->pd; +@@ -2617,6 +2631,15 @@ + + //********************************************************************** + ++#ifdef LuajitTeX ++#define setfuncs_meta(type) \ ++ luaL_newmetatable(L, M_##type); \ ++ lua_pushvalue(L, -1); \ ++ lua_setfield(L, -2, "__index"); \ ++ lua_pushstring(L, "no user access"); \ ++ lua_setfield(L, -2, "__metatable"); \ ++ luaL_register(L, NULL, type##_m) ++#else + #define setfuncs_meta(type) \ + luaL_newmetatable(L, M_##type); \ + lua_pushvalue(L, -1); \ +@@ -2624,6 +2647,7 @@ + lua_pushstring(L, "no user access"); \ + lua_setfield(L, -2, "__metatable"); \ + luaL_setfuncs(L, type##_m, 0) ++#endif + + int luaopen_epdf(lua_State * L) + { +@@ -2646,6 +2670,10 @@ + setfuncs_meta(XRef); + setfuncs_meta(XRefEntry); + ++#ifdef LuajitTeX ++ luaL_register(L, "epdf", epdflib_f); ++#else + luaL_newlib(L, epdflib_f); ++#endif + return 1; + } diff --git a/dev-tex/luatex/files/remove-zlib-version-check.patch b/dev-tex/luatex/files/remove-zlib-version-check.patch new file mode 100644 index 000000000000..985085012511 --- /dev/null +++ b/dev-tex/luatex/files/remove-zlib-version-check.patch @@ -0,0 +1,23 @@ +Let soname dictate the ABI and do not check for minor/micro which requires +needless rebuilds after every zlib update. By Ulrich Müller. + +https://bugs.gentoo.org/show_bug.cgi?id=310487 +http://www.ntg.nl/pipermail/dev-luatex/2012-July/004534.html + +--- luatex-beta-0.70.1-orig/source/texk/web2c/luatexdir/luazlib/lzlib.c ++++ luatex-beta-0.70.1/source/texk/web2c/luatexdir/luazlib/lzlib.c +@@ -549,14 +549,6 @@ + + /* ====================================================================== */ + +- /* make sure header and library version are consistent */ +- const char* version = zlibVersion(); +- if (strncmp(version, ZLIB_VERSION, 5)) +- { +- lua_pushfstring(L, "zlib library version does not match - header: %s, library: %s", ZLIB_VERSION, version); +- lua_error(L); +- } +- + /* create new metatable for zlib compression structures */ + luaL_newmetatable(L, ZSTREAMMETA); + lua_pushliteral(L, "__index"); diff --git a/dev-tex/luatex/luatex-0.70.1-r2.ebuild b/dev-tex/luatex/luatex-0.70.1-r2.ebuild new file mode 100644 index 000000000000..25e6fa0dc263 --- /dev/null +++ b/dev-tex/luatex/luatex-0.70.1-r2.ebuild @@ -0,0 +1,121 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit libtool eutils flag-o-matic texlive-common + +DESCRIPTION="An extended version of pdfTeX using Lua as an embedded scripting language" +HOMEPAGE="http://www.luatex.org/" +SRC_URI="http://foundry.supelec.fr/gf/download/frsrelease/392/1730/${PN}-beta-${PV}.tar.bz2 + http://foundry.supelec.fr/gf/download/frsrelease/392/1732/${PN}-beta-${PV}-doc.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="doc" + +RDEPEND="dev-libs/zziplib + >=media-libs/libpng-1.4 + app-text/poppler:=[xpdf-headers(+)] + sys-libs/zlib + >=dev-libs/kpathsea-6.0.1_p20110627" +DEPEND="${RDEPEND} + virtual/pkgconfig" + +S="${WORKDIR}/${PN}-beta-${PV}/source" +PRELIBS="libs/obsdcompat" +#texk/kpathsea" +#kpathsea_extraconf="--disable-shared --disable-largefile" + +src_prepare() { + has_version '>=app-text/poppler-0.18.0:0' && epatch "${FILESDIR}/poppler018.patch" + has_version '>=app-text/poppler-0.20.0:0' && epatch "${FILESDIR}/poppler020.patch" + has_version '>=app-text/poppler-0.22.0:0' && epatch "${FILESDIR}/poppler022.patch" + has_version '>=app-text/poppler-0.26.0:0' && epatch "${FILESDIR}/poppler026-backport.patch" + has_version '>=app-text/poppler-0.57.0:0' && append-cxxflags -std=c++11 # bug 627538 + epatch "${FILESDIR}/kpathsea2012.patch" \ + "${FILESDIR}/remove-zlib-version-check.patch" + S="${S}/build-aux" elibtoolize --shallow +} + +src_configure() { + # Too many regexps use A-Z a-z constructs, what causes problems with locales + # that don't have the same alphabetical order than ascii. Bug #244619 + # So we set LC_ALL to C in order to avoid problems. + export LC_ALL=C + + local myconf + myconf="" + #has_version '>=app-text/texlive-core-2009' && myconf="--with-system-kpathsea" + + cd "${S}/texk/web2c" + econf \ + --disable-cxx-runtime-hack \ + --disable-all-pkgs \ + --disable-mp \ + --disable-ptex \ + --disable-tex \ + --disable-mf \ + --disable-largefile \ + --disable-ipc \ + --disable-shared \ + --enable-luatex \ + --enable-dump-share \ + --without-mf-x-toolkit \ + --without-x \ + --with-system-kpathsea \ + --with-kpathsea-includes="${EPREFIX}"/usr/include \ + --with-system-gd \ + --with-system-libpng \ + --with-system-teckit \ + --with-system-zlib \ + --with-system-t1lib \ + --with-system-xpdf \ + --with-system-poppler \ + --with-system-zziplib \ + --disable-multiplatform + + for i in ${PRELIBS} ; do + einfo "Configuring $i" + local j=$(basename $i)_extraconf + local myconf + eval myconf=\${$j} + cd "${S}/${i}" + econf ${myconf} + done +} + +src_compile() { + texk/web2c/luatexdir/getluatexsvnversion.sh || die + for i in ${PRELIBS} ; do + cd "${S}/${i}" + emake || die "failed to build ${i}" + done + cd "${WORKDIR}/${PN}-beta-${PV}/source/texk/web2c" + emake luatex || die "failed to build luatex" +} + +src_install() { + cd "${WORKDIR}/${PN}-beta-${PV}/source/texk/web2c" + emake DESTDIR="${D}" bin_PROGRAMS="luatex" SUBDIRS="" nodist_man_MANS="" \ + install-exec-am || die + + dodoc "${WORKDIR}/${PN}-beta-${PV}/README" || die + doman "${WORKDIR}/texmf/doc/man/man1/"*.1 || die + if use doc ; then + dodoc "${WORKDIR}/${PN}-beta-${PV}/manual/"*.pdf || die + dodoc "${WORKDIR}/texmf/doc/man/man1/"*.pdf || die + fi +} + +pkg_postinst() { + if ! has_version '>=dev-texlive/texlive-basic-2008' ; then + elog "Note that this package does not install many files, mainly just the" + elog "${PN} executable, which needs other files in order to be" + elog "useful. Please consider installing a recent TeX distribution such as" + elog "TeX Live 2008 or later to take advantage of the full power of" + elog "${PN} ." + fi + efmtutil-sys +} diff --git a/dev-tex/luatex/luatex-0.76.0.ebuild b/dev-tex/luatex/luatex-0.76.0.ebuild new file mode 100644 index 000000000000..a49a9f40bbaa --- /dev/null +++ b/dev-tex/luatex/luatex-0.76.0.ebuild @@ -0,0 +1,104 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit libtool eutils flag-o-matic texlive-common + +MY_P=${PN}-beta-${PV} +DESCRIPTION="An extended version of pdfTeX using Lua as an embedded scripting language" +HOMEPAGE="http://www.luatex.org/" +SRC_URI=" + http://foundry.supelec.fr/frs/download.php/file/15745/${MY_P}-source.tar.bz2 + http://foundry.supelec.fr/frs/download.php/file/15747/${MY_P}-doc.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="doc" + +RDEPEND="dev-libs/zziplib + >=media-libs/libpng-1.4:0= + >=x11-libs/cairo-1.12 + >x11-libs/pixman-0.18 + app-text/poppler:=[xpdf-headers(+)] + sys-libs/zlib + >=dev-libs/kpathsea-6.1.0_p20120701" +DEPEND="${RDEPEND} + virtual/pkgconfig" + +S="${WORKDIR}/${MY_P}/source" + +src_prepare() { + has_version '>=app-text/poppler-0.26.0:0' && epatch "${FILESDIR}/poppler026.patch" + has_version '>=app-text/poppler-0.57.0:0' && append-cxxflags -std=c++11 # bug 627538 + epatch "${FILESDIR}/remove-zlib-version-check.patch" \ + "${FILESDIR}/includes.patch" + S="${S}/build-aux" elibtoolize --shallow +} + +src_configure() { + # Too many regexps use A-Z a-z constructs, what causes problems with locales + # that don't have the same alphabetical order than ascii. Bug #244619 + # So we set LC_ALL to C in order to avoid problems. + export LC_ALL=C + + cd "${S}/texk/web2c" + econf \ + --disable-cxx-runtime-hack \ + --disable-all-pkgs \ + --disable-mp \ + --disable-ptex \ + --disable-tex \ + --disable-mf \ + --disable-largefile \ + --disable-ipc \ + --disable-shared \ + --enable-luatex \ + --enable-dump-share \ + --without-mf-x-toolkit \ + --without-x \ + --with-system-kpathsea \ + --with-kpathsea-includes="${EPREFIX}"/usr/include \ + --with-system-cairo \ + --with-system-pixman \ + --with-system-gd \ + --with-system-libpng \ + --with-system-teckit \ + --with-system-zlib \ + --with-system-t1lib \ + --with-system-xpdf \ + --with-system-poppler \ + --with-system-zziplib \ + --with-system-ptexenc \ + --disable-multiplatform +} + +src_compile() { + texk/web2c/luatexdir/getluatexsvnversion.sh || die + cd "${WORKDIR}/${MY_P}/source/texk/web2c" + emake luatex +} + +src_install() { + cd "${WORKDIR}/${MY_P}/source/texk/web2c" + emake DESTDIR="${D}" bin_PROGRAMS="luatex" SUBDIRS="" nodist_man_MANS="" \ + install-exec-am + + dodoc "${WORKDIR}/${MY_P}/README" luatexdir/NEWS + cp source/texk/web2c/man + cp man/luatex.man "${T}/luatex.1" + doman "${T}/luatex.1" + use doc && dodoc "${WORKDIR}/${MY_P}/manual/"*.pdf +} + +pkg_postinst() { + if ! has_version '>=dev-texlive/texlive-basic-2008' ; then + elog "Note that this package does not install many files, mainly just the" + elog "${PN} executable, which needs other files in order to be" + elog "useful. Please consider installing a recent TeX distribution such as" + elog "TeX Live 2008 or later to take advantage of the full power of" + elog "${PN} ." + fi + efmtutil-sys +} diff --git a/dev-tex/luatex/metadata.xml b/dev-tex/luatex/metadata.xml new file mode 100644 index 000000000000..c4cc7073d3f4 --- /dev/null +++ b/dev-tex/luatex/metadata.xml @@ -0,0 +1,13 @@ + + + + + tex@gentoo.org + Gentoo TeX Project + + +An experimental pdfTeX extension that is to eventually +become its successor. It is developed by a subset of the +current pdfTeX team. + + -- cgit v1.2.3