From bbfa5bfbc04beab09087fc154c0e8eb86a75db59 Mon Sep 17 00:00:00 2001 From: Kolan Sh Date: Wed, 20 Jun 2012 18:08:05 +0400 Subject: [PATCH] LyX-2.0.3-r1 with patch for multicol in tex2lyx. --- app-office/lyx/Manifest | 4 + ...std-vector-when-adding-dummy-cells-f.patch | 42 ++++ app-office/lyx/files/2.0-python.patch | 26 +++ app-office/lyx/lyx-2.0.3-r1.ebuild | 183 ++++++++++++++++++ 4 files changed, 255 insertions(+) create mode 100644 app-office/lyx/Manifest create mode 100644 app-office/lyx/files/0001-Out-of-range-in-std-vector-when-adding-dummy-cells-f.patch create mode 100644 app-office/lyx/files/2.0-python.patch create mode 100644 app-office/lyx/lyx-2.0.3-r1.ebuild diff --git a/app-office/lyx/Manifest b/app-office/lyx/Manifest new file mode 100644 index 00000000..25ec598b --- /dev/null +++ b/app-office/lyx/Manifest @@ -0,0 +1,4 @@ +AUX 0001-Out-of-range-in-std-vector-when-adding-dummy-cells-f.patch 1519 RMD160 3c1a435d60463b5c1cb8a09fe8e04230136c3b20 SHA1 28f3a2a054c3ab3032d7cc5c6792f48090963aaa SHA256 a46a7263b309fb992e325b085c22cf30d796dff92eff4c9e6d10fcfe9ae61e4c +AUX 2.0-python.patch 1036 RMD160 1fdf43487cb67e61b02387834402e9618de87082 SHA1 834ac9383503078c6e9d54610056704b7c9d23c0 SHA256 954f96dab553024fb128924c7ba3d70a91946f6909d203ee0902d6ec8740ded8 +DIST lyx-2.0.3.tar.xz 10265532 RMD160 fcb3a09626fb5dc49ae25654b5f98e9989d5ff00 SHA1 109dae0ef22a7d8944964b32ee380ad170b0665f SHA256 4e1c993754acfb14d5e0f2bd2521fb6686d08e0656ec6e5fde0406c285a05ac8 +EBUILD lyx-2.0.3-r1.ebuild 4646 RMD160 e373d2e1aff178732308f91d47c59f633a0ef60b SHA1 a890fc2d704e277f4ee93e9ef1e30418e557e904 SHA256 c1bd6cf618f669f119fff13f3c722a0d61e2ca733ef1064f2ca04d334b961b4d diff --git a/app-office/lyx/files/0001-Out-of-range-in-std-vector-when-adding-dummy-cells-f.patch b/app-office/lyx/files/0001-Out-of-range-in-std-vector-when-adding-dummy-cells-f.patch new file mode 100644 index 00000000..c59d60ce --- /dev/null +++ b/app-office/lyx/files/0001-Out-of-range-in-std-vector-when-adding-dummy-cells-f.patch @@ -0,0 +1,42 @@ +From 6e53f28a0f466ff0448021c57b07a677973001e0 Mon Sep 17 00:00:00 2001 +From: Kolan Sh +Date: Wed, 20 Jun 2012 17:01:35 +0400 +Subject: [PATCH] Out of range in std::vector when adding dummy cells for multicol. + On systems with glibc you can see message like that. + *** glibc detected *** tex2lyx: free(): invalid next size (fast): 0x00000000012f5340 *** + Simple test with LaTeX code for reproducing error: + \begin{longtable}{c|c} + \multicolumn{3}{c}{a}\\ + \end{longtable} + This commit should fix the error. + +--- + src/tex2lyx/table.cpp | 11 ++++++++++- + 1 files changed, 10 insertions(+), 1 deletions(-) + +diff --git a/src/tex2lyx/table.cpp b/src/tex2lyx/table.cpp +index dddf71d..a66f842 100644 +--- a/src/tex2lyx/table.cpp ++++ b/src/tex2lyx/table.cpp +@@ -994,8 +994,17 @@ void handle_tabular(Parser & p, ostream & os, bool is_long_tabular, + cellinfo[row][col].content += os.str(); + + // add dummy cells for multicol +- for (size_t i = 0; i < ncells - 1 && col < colinfo.size(); ++i) { ++ for (size_t i = 0; i + 1 < ncells; ++i) { + ++col; ++ if (col >= colinfo.size ()) { ++ cerr << "The cell '" ++ << cells[cell] ++ << "' with the number of dummy cells outside" ++ << " the boundaries of the table with fewer columns." ++ << " All other cells in this row will be ignored!" ++ << endl; ++ break; ++ } + cellinfo[row][col].multi = CELL_PART_OF_MULTICOLUMN; + cellinfo[row][col].align = 'c'; + } +-- +1.7.3.4 + diff --git a/app-office/lyx/files/2.0-python.patch b/app-office/lyx/files/2.0-python.patch new file mode 100644 index 00000000..e12f66a6 --- /dev/null +++ b/app-office/lyx/files/2.0-python.patch @@ -0,0 +1,26 @@ +diff --git a/src/graphics/GraphicsConverter.cpp b/src/graphics/GraphicsConverter.cpp +index 97c4f68..8f05e62 100644 +--- a/src/graphics/GraphicsConverter.cpp ++++ b/src/graphics/GraphicsConverter.cpp +@@ -262,7 +262,7 @@ static void build_script(FileName const & from_file, + LYXERR(Debug::GRAPHICS, "build_script ... "); + typedef Graph::EdgePath EdgePath; + +- script << "#!/usr/bin/env python\n" ++ script << "#!/usr/bin/env python2\n" + "# -*- coding: utf-8 -*-\n" + "import os, shutil, sys\n\n" + "def unlinkNoThrow(file):\n" +diff --git a/src/support/os.cpp b/src/support/os.cpp +index f36331c..02f5a93 100644 +--- a/src/support/os.cpp ++++ b/src/support/os.cpp +@@ -57,7 +57,7 @@ static string const python2(string const & binary, bool verbose = false) + string const python() + { + // Check whether the first python in PATH is the right one. +- static string command = python2("python -tt"); ++ static string command = python2("python2 -tt"); + + if (command.empty()) { + // It was not, so check whether we can find it elsewhere in diff --git a/app-office/lyx/lyx-2.0.3-r1.ebuild b/app-office/lyx/lyx-2.0.3-r1.ebuild new file mode 100644 index 00000000..be098186 --- /dev/null +++ b/app-office/lyx/lyx-2.0.3-r1.ebuild @@ -0,0 +1,183 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-office/lyx/lyx-2.0.3.ebuild,v 1.13 2012/06/14 07:15:34 yngwin Exp $ + +EAPI=3 + +PYTHON_DEPEND="2" + +inherit gnome2-utils qt4-r2 eutils flag-o-matic font python toolchain-funcs + +MY_P="${P/_}" + +S="${WORKDIR}/${MY_P}" +FONT_S="${S}/lib/fonts" +FONT_SUFFIX="ttf" +DESCRIPTION="WYSIWYM frontend for LaTeX, DocBook, etc." +HOMEPAGE="http://www.lyx.org/" +SRC_URI="ftp://ftp.lyx.org/pub/lyx/stable/2.0.x/${P}.tar.xz" +#SRC_URI="ftp://ftp.lyx.org/pub/lyx/devel/lyx-2.0/rc3/${MY_P}.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="alpha amd64 hppa ~ia64 ppc ~ppc64 sparc x86 ~x64-macos ~x86-macos" +IUSE="cups debug nls +latex xetex luatex monolithic-build html rtf dot docbook dia subversion rcs svg gnumeric +hunspell aspell enchant" + +LANGS="ar ca cs de da el en es eu fi fr gl he hu ia id it ja nb nn pl pt ro ru sk sr sv tr uk zh_CN zh_TW" + +for X in ${LANGS}; do + IUSE="${IUSE} linguas_${X}" +done + +COMMONDEPEND="x11-libs/qt-gui:4 + x11-libs/qt-core:4 + dev-libs/libxml2 + media-libs/fontconfig + media-libs/freetype + >=dev-libs/boost-1.34" + +RDEPEND="${COMMONDEPEND} + dev-texlive/texlive-fontsextra + || ( media-gfx/imagemagick[png] media-gfx/graphicsmagick[png] ) + cups? ( net-print/cups ) + latex? ( + virtual/latex-base + app-text/ghostscript-gpl + app-text/noweb + app-text/dvipng + dev-tex/dvipost + dev-tex/chktex + app-text/ps2eps + dev-texlive/texlive-latexextra + dev-texlive/texlive-pictures + dev-texlive/texlive-science + dev-texlive/texlive-genericextra + dev-texlive/texlive-fontsrecommended + || ( + dev-tex/latex2html + dev-tex/tth + dev-tex/hevea + dev-tex/tex4ht + ) + ) + xetex? ( dev-texlive/texlive-xetex ) + luatex? ( >=dev-texlive/texlive-luatex-2010 ) + html? ( dev-tex/html2latex ) + rtf? ( + dev-tex/latex2rtf + app-text/unrtf + dev-tex/html2latex + ) + linguas_he? ( dev-tex/culmus-latex ) + docbook? ( app-text/sgmltools-lite ) + dot? ( media-gfx/graphviz ) + dia? ( app-office/dia ) + subversion? ( config/py-compile + sed "s:python -tt:$(PYTHON) -tt:g" -i lib/configure.py || die +} + +src_configure() { + tc-export CXX + #bug 221921 + export VARTEXFONTS=${T}/fonts + + econf \ + $(use_enable nls) \ + $(use_enable debug) \ + $(use_enable monolithic-build) \ + $(use_with hunspell) \ + $(use_with aspell) \ + $(use_with enchant) \ + --without-included-boost \ + --disable-stdlib-debug \ + --with-packaging=posix +} + +src_install() { + emake DESTDIR="${D}" install || die "emake install failed" + + dodoc ANNOUNCE NEWS README RELEASE-NOTES UPGRADING "${FONT_S}"/*.txt || die + + if use linguas_he ; then + echo "\bind_file cua" > "${T}"/hebrew.bind + echo "\bind \"F12\" \"language hebrew\"" >> "${T}"/hebrew.bind + + insinto /usr/share/lyx/bind + doins "${T}"/hebrew.bind || die + fi + + newicon -s 32 "$S/development/Win32/packaging/icons/lyx_32x32.png" ${PN}.png + make_desktop_entry ${PN} "LyX" "${PN}" "Office" "MimeType=application/x-lyx;" + + # fix for bug 91108 + if use latex ; then + dosym ../../../lyx/tex /usr/share/texmf/tex/latex/lyx || die + fi + + # fonts needed for proper math display, see also bug #15629 + font_src_install + + python_convert_shebangs -r 2 "${ED}"/usr/share/${PN} + + if use hunspell ; then + dosym /usr/share/myspell /usr/share/lyx/dicts + dosym /usr/share/myspell /usr/share/lyx/thes + fi +} + +pkg_preinst() { + gnome2_icon_savelist +} + +pkg_postinst() { + font_pkg_postinst + gnome2_icon_cache_update + + # fix for bug 91108 + if use latex ; then + texhash + fi + + # instructions for RTL support. See also bug 168331. + if use linguas_he || use linguas_ar; then + elog + elog "Enabling RTL support in LyX:" + elog "If you intend to use a RTL language (such as Hebrew or Arabic)" + elog "You must enable RTL support in LyX. To do so start LyX and go to" + elog "Tools->Preferences->Language settings->Language" + elog "and make sure the \"Right-to-left language support\" is checked" + elog + fi +} + +pkg_postrm() { + gnome2_icon_cache_update + + if use latex ; then + texhash + fi +}