LyX-2.0.3-r1 with patch for multicol in tex2lyx.

This commit is contained in:
Kolan Sh 2012-06-20 18:08:05 +04:00
parent 2f525a6560
commit bbfa5bfbc0
4 changed files with 255 additions and 0 deletions

4
app-office/lyx/Manifest Normal file
View File

@ -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

View File

@ -0,0 +1,42 @@
From 6e53f28a0f466ff0448021c57b07a677973001e0 Mon Sep 17 00:00:00 2001
From: Kolan Sh <mecareful@gmail.com>
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

View File

@ -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

View File

@ -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? ( <dev-vcs/subversion-1.7.0 )
rcs? ( dev-vcs/rcs )
svg? ( || ( media-gfx/imagemagick[svg] media-gfx/graphicsmagick[svg] )
|| ( gnome-base/librsvg media-gfx/inkscape )
)
gnumeric? ( app-office/gnumeric )
hunspell? ( app-text/hunspell )
aspell? ( app-text/aspell )
enchant? ( app-text/enchant )"
DEPEND="${COMMONDEPEND}
sys-devel/bc
x11-proto/xproto
virtual/pkgconfig
nls? ( sys-devel/gettext )"
pkg_setup() {
python_set_active_version 2
font_pkg_setup
}
src_prepare() {
epatch "${FILESDIR}"/2.0-python.patch
epatch "${FILESDIR}"/0001-Out-of-range-in-std-vector-when-adding-dummy-cells-f.patch
echo "#!/bin/sh" > 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
}