Package: luatex Version: 0.70.1-1 Severity: normal Tags: patch User: [email protected] Usertags: origin-ubuntu precise ubuntu-patch
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Dear Maintainer, In http://bugs.debian.org/644447 there is some discussion about updating poppler to 0.18 in Debian. This will cause some FTBFS. We are doing the transition in Ubuntu now and want to forward patches so that they are readily available in Ubuntu once 0.18 lands there. This patch updates luatex to remove the aspects of the poppler API that are not present in 0.18 and was taken from Gentoo -see https://bugs.gentoo.org/384875 for more details. Thanks for considering the patch. - -- System Information: Debian Release: wheezy/sid APT prefers precise-updates APT policy: (500, 'precise-updates'), (500, 'precise-security'), (500, 'precise') Architecture: amd64 (x86_64) Kernel: Linux 3.2.0-2-generic (SMP w/8 CPU cores) Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iQIcBAEBCAAGBQJO3g7iAAoJEL/srsug59jDqHQQAJt+xCOXhz6ZgItQ/5r8eMPt CMLIlqd0yHvnpWxOIw0hhDoeg1aRXHvI1WbzxA+vAPQFxBfVKYThn6XpbKF/E6zR Nuv8Es2XuLOufYqjxugLI+S3Y4BEKoglUNou8nrTIbm+UhR/wB2jOzXknojis/VM e8VvfcMU5d7RJVsSkM5+rx5HAMZywGDmeESC/IE6BTviYvWJXgf4L3YV36bk+yVa 3wk5TbWO1IpaMsm9v0rpaD14u+hlucL7iyu8nJ6xH53CbTpcHHLW1uZY3d6vQ9sv G6H8u2MDJeaI4S4ireJ4Tahq/D1bmo7Gjuie/+8xyDucU1uRZeTQgr21c51vvlDF KfEzVIx/NOH9U3g0dSbOfWUDbxHWMW9u9bnsNf1VHW4N39hmm1DJNy8tK/W7DjEP mlqFIzYEhl6GiEihRfdXSb5azwshZHG5Ypf+4G7fnBcSyNU2gQTGpAd4zjsKqFri 0mYacuNcAZCugMmKJxsFM3prvgDp9yrx4DNS9bEH92nGFMsyJV9OAT6rSHUFF4V7 eiHbXy4b39t9VxHRMrdGopR91FUIPGRdze0gJ/dc7rS6MGxq8jzoHfW0t2WYA5Vp 0VxqdoP7VPKZklt1iUdOhhAt1f4Nrq0LqcWEMGR/eNzzy8eQvQxPClGyxViIKj59 2Ne4Y5c+/gt+fvmHQgDQ =71zL -----END PGP SIGNATURE-----
diff -Nru luatex-0.70.1/debian/patches/poppler-0.18.patch luatex-0.70.1/debian/patches/poppler-0.18.patch --- luatex-0.70.1/debian/patches/poppler-0.18.patch 1970-01-01 01:00:00.000000000 +0100 +++ luatex-0.70.1/debian/patches/poppler-0.18.patch 2011-12-06 12:32:29.000000000 +0000 @@ -0,0 +1,164 @@ +Description:Make luatex compile against poppler 0.18.0 (only). + API which has been removed from poppler will be removed from the LUA + bindings as well. Replacement API isn't added by this patch. +Author: Martin von Gagern +Origin: https://bugs.gentoo.org/384875 + +Index: luatex-0.70.1/source/texk/web2c/luatexdir/lua/lepdflib.cc +=================================================================== +--- luatex-0.70.1.orig/source/texk/web2c/luatexdir/lua/lepdflib.cc 2011-12-06 12:28:06.645042508 +0000 ++++ luatex-0.70.1/source/texk/web2c/luatexdir/lua/lepdflib.cc 2011-12-06 12:31:48.281621143 +0000 +@@ -89,7 +89,6 @@ + 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 @@ + 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 @@ + }; + + //********************************************************************** +-// 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 @@ + + 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 @@ + {"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 @@ + }; + + //********************************************************************** +-// 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 @@ + { + 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 -Nru luatex-0.70.1/debian/patches/series luatex-0.70.1/debian/patches/series --- luatex-0.70.1/debian/patches/series 2011-05-20 01:40:33.000000000 +0100 +++ luatex-0.70.1/debian/patches/series 2011-12-06 12:27:45.000000000 +0000 @@ -23,3 +23,4 @@ no_static_link.patch # included upstream #fix-luatex-build-with-old-libpng +poppler-0.18.patch

