summaryrefslogtreecommitdiff
path: root/dev-tex/luatex/files/poppler022.patch
diff options
context:
space:
mode:
Diffstat (limited to 'dev-tex/luatex/files/poppler022.patch')
-rw-r--r--dev-tex/luatex/files/poppler022.patch388
1 files changed, 0 insertions, 388 deletions
diff --git a/dev-tex/luatex/files/poppler022.patch b/dev-tex/luatex/files/poppler022.patch
deleted file mode 100644
index 75d07b751893..000000000000
--- a/dev-tex/luatex/files/poppler022.patch
+++ /dev/null
@@ -1,388 +0,0 @@
-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
---- a/texk/web2c/luatexdir/lua/lepdflib.cc 2013-03-10 13:31:22.000000000 +0100
-+++ b/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 <taco@luatex.org>
-- Copyright 2009-2011 Hartmut Henkel <hartmut@luatex.org>
-+ Copyright 2009-2012 Taco Hoekwater <taco@luatex.org>
-+ Copyright 2009-2012 Hartmut Henkel <hartmut@luatex.org>
-
- 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);