fix build with latest poppler, by Martin von Gagern, bug #384875
authorAlexis Ballier <aballier@gentoo.org>
Wed, 5 Oct 2011 18:10:27 +0000 (18:10 +0000)
committerAlexis Ballier <aballier@gentoo.org>
Wed, 5 Oct 2011 18:10:27 +0000 (18:10 +0000)
Package-Manager: portage-2.2.0_alpha60/cvs/Linux x86_64

dev-tex/luatex/ChangeLog
dev-tex/luatex/Manifest
dev-tex/luatex/files/poppler018.patch [new file with mode: 0644]
dev-tex/luatex/luatex-0.70.1.ebuild

index c57a9d7ead7ce50734989af3ede9fb91857d99e7..465d213710468fd0ed7da0014237352e5d6116ee 100644 (file)
@@ -1,6 +1,10 @@
 # ChangeLog for dev-tex/luatex
 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-tex/luatex/ChangeLog,v 1.96 2011/10/05 17:54:26 aballier Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-tex/luatex/ChangeLog,v 1.97 2011/10/05 18:10:27 aballier Exp $
+
+  05 Oct 2011; Alexis Ballier <aballier@gentoo.org> +files/poppler018.patch,
+  luatex-0.70.1.ebuild:
+  fix build with latest poppler, by Martin von Gagern, bug #384875
 
   05 Oct 2011; Alexis Ballier <aballier@gentoo.org> -luatex-0.63.0.ebuild,
   -luatex-0.65.0.ebuild:
index cbecfd156153e47136d24e7e23934ccda2a8c8bc..5a74066169e065d5d2d8283f5b2896106f11ffed 100644 (file)
@@ -1,15 +1,16 @@
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA1
 
+AUX poppler018.patch 5041 RMD160 8f7637543f7befdf5b0fa9341976ac19d25c9878 SHA1 6aba817d4270540608cc7f014422fdf4f3d09f75 SHA256 98317c41cab055cde67fd1eefa6c79fa8ec0ac2b36d93a094abe9eb8e834221c
 DIST luatex-beta-0.70.1-doc.tar.bz2 1048489 RMD160 f2ed51ea56c6a3fbb4eb6ae22a9cebc9f578276e SHA1 933ac238422c5c1baaed265aa79071921a358d74 SHA256 4f1d24777725a606efbf5d7a59064245c46fb29b8066236c6b48fb423a595606
 DIST luatex-beta-0.70.1.tar.bz2 8181155 RMD160 dfa3710bb48ba5d73ae5e41746d7c1a3a965f619 SHA1 063bd698daab38ac6b04b45c820a15a0423aaab5 SHA256 c641a4ba1535ede6ee8e2a958d8c4b436f5979c5be6f3f51d3dec5b4df6bb6ed
-EBUILD luatex-0.70.1.ebuild 3503 RMD160 149fc6a56de963fab51ee5de015bf029ef343233 SHA1 448f0893be37b895a029df97ef691b766d1bf02a SHA256 a2b5c74ac81787d5d4a9bf571f520466783e5944eb0a58c704b7328327cf35e9
-MISC ChangeLog 11933 RMD160 6dda08d4580270b3245b08a7c68a5a8f676d99d2 SHA1 303a76b4952cbe315799567fc848e77b2c625586 SHA256 0611a9b0dab51ee7f1439d17fb3e502f049fd13245f690c533fb16c8ad445f5d
+EBUILD luatex-0.70.1.ebuild 3593 RMD160 aae85900d7440b2232cbc3e35922534a69907db3 SHA1 d77ba1be0bd66c9e34bce23962200da220198430 SHA256 814754f636045dae56b7e30297daf090fa8f32c973e49785f26474768a69221d
+MISC ChangeLog 12102 RMD160 1863feb200009b9376f31a0d0a6d7d28a9ec2fee SHA1 07ec53b531bed8e485b232f9444d468d79852f4f SHA256 e1a8c45825315924f006727a9743d89ad443ce919cd4e4cd1ca22233042f8f61
 MISC metadata.xml 336 RMD160 0ea7c1246551ffee8e6960e806a66a231e1d3cc7 SHA1 ca5b152307b89eb030607b9d4862c270d248dfa0 SHA256 126018a4822f911e52afe63656a10f2a7b0b938ea106f2a2caef00bdc18a845f
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.18 (GNU/Linux)
 
-iEYEARECAAYFAk6MmdwACgkQvFcC4BYPU0oJ5wCeJxPJ8XVDlWpoAe7QiQ0neFU2
-LBoAn05YWcwFq3i63XKGhsNSCVesx9Md
-=LjIz
+iEYEARECAAYFAk6MnZgACgkQvFcC4BYPU0op+QCgsKjIsIWsTOBo5Virx+uFoGuG
+CqsAn3gvlI7fvNGV2RjTzSrU7I61FmnI
+=Tnkm
 -----END PGP SIGNATURE-----
diff --git a/dev-tex/luatex/files/poppler018.patch b/dev-tex/luatex/files/poppler018.patch
new file mode 100644 (file)
index 0000000..d212538
--- /dev/null
@@ -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);
index b155c86ef78a4a981b686c10f3c41838e472e613..96ab8181d7561f013932a2f94a2febe7a647281d 100644 (file)
@@ -1,6 +1,6 @@
 # Copyright 1999-2011 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-tex/luatex/luatex-0.70.1.ebuild,v 1.9 2011/10/04 17:48:09 jer Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-tex/luatex/luatex-0.70.1.ebuild,v 1.10 2011/10/05 18:10:27 aballier Exp $
 
 EAPI="2"
 
@@ -30,6 +30,7 @@ PRELIBS="libs/obsdcompat"
 #kpathsea_extraconf="--disable-shared --disable-largefile"
 
 src_prepare() {
+       has_version '>=app-text/poppler-0.18.0:0' && epatch "${FILESDIR}/poppler018.patch"
        S="${S}/build-aux" elibtoolize --shallow
 }