mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 17:09:10 -07:00
app-office/lyx: fix build with GCC 12
Also, add Python 3.10 (add a patch from Fedora too). Closes: https://bugs.gentoo.org/841743 Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
22
app-office/lyx/files/lyx-2.3.6.1-gcc12.patch
Normal file
22
app-office/lyx/files/lyx-2.3.6.1-gcc12.patch
Normal file
@@ -0,0 +1,22 @@
|
||||
https://src.fedoraproject.org/rpms/lyx/raw/rawhide/f/lyx-2.3.6-fix-gcc12.patch
|
||||
https://bugs.gentoo.org/841743
|
||||
--- a/src/insets/InsetListings.cpp
|
||||
+++ b/src/insets/InsetListings.cpp
|
||||
@@ -44,6 +44,7 @@
|
||||
|
||||
#include "support/regex.h"
|
||||
|
||||
+#include <cstring>
|
||||
#include <sstream>
|
||||
|
||||
using namespace std;
|
||||
--- a/src/lyxfind.cpp
|
||||
+++ b/src/lyxfind.cpp
|
||||
@@ -52,6 +52,7 @@
|
||||
#include "support/lstrings.h"
|
||||
|
||||
#include "support/regex.h"
|
||||
+#include <iterator>
|
||||
|
||||
using namespace std;
|
||||
using namespace lyx::support;
|
||||
50
app-office/lyx/files/lyx-2.3.6.1-python.patch
Normal file
50
app-office/lyx/files/lyx-2.3.6.1-python.patch
Normal file
@@ -0,0 +1,50 @@
|
||||
https://src.fedoraproject.org/rpms/lyx/raw/054d18eb79a8ec3d4480ab4449b3c62b12770d2d/f/lyx-2.3.6-layout2layout.patch
|
||||
--- a/lib/scripts/layout2layout.py
|
||||
+++ b/lib/scripts/layout2layout.py
|
||||
@@ -256,7 +256,7 @@
|
||||
|
||||
def trim_bom(line):
|
||||
" Remove byte order mark."
|
||||
- if line[0:3] == "\357\273\277":
|
||||
+ if line[0:3] == b"\357\273\277":
|
||||
return line[3:]
|
||||
else:
|
||||
return line
|
||||
@@ -345,8 +345,8 @@
|
||||
# for categories
|
||||
re_Declaration = re.compile(b'^#\\s*\\Declare\\w+Class.*$')
|
||||
re_ExtractCategory = re.compile(b'^(#\\s*\\Declare\\w+Class(?:\\[[^]]*?\\])?){([^(]+?)\\s+\\(([^)]+?)\\)\\s*}\\s*$')
|
||||
- ConvDict = {"article": "Articles", "book" : "Books", "letter" : "Letters", "report": "Reports", \
|
||||
- "presentation" : "Presentations", "curriculum vitae" : "Curricula Vitae", "handout" : "Handouts"}
|
||||
+ ConvDict = {b"article": b"Articles", b"book" : b"Books", b"letter" : b"Letters", b"report": b"Reports", \
|
||||
+ b"presentation" : b"Presentations", b"curriculum vitae" : b"Curricula Vitae", b"handout" : b"Handouts"}
|
||||
# Arguments
|
||||
re_OptArgs = re.compile(b'^(\\s*)OptionalArgs(\\s+)(\\d+)\\D*$', re.IGNORECASE)
|
||||
re_ReqArgs = re.compile(b'^(\\s*)RequiredArgs(\\s+)(\\d+)\\D*$', re.IGNORECASE)
|
||||
@@ -485,7 +485,7 @@
|
||||
continue
|
||||
col = match.group(2)
|
||||
if col == "collapsable":
|
||||
- lines[i] = match.group(1) + "collapsible"
|
||||
+ lines[i] = match.group(1) + b"collapsible"
|
||||
i += 1
|
||||
continue
|
||||
|
||||
@@ -703,7 +703,7 @@
|
||||
# Insert the required number of arguments at the end of the style definition
|
||||
match = re_End.match(lines[i])
|
||||
if match:
|
||||
- newarg = ['']
|
||||
+ newarg = [b'']
|
||||
# First the optionals (this is the required order pre 2.1)
|
||||
if opts > 0:
|
||||
if opts == 1:
|
||||
@@ -1153,7 +1153,7 @@
|
||||
if latextype == b"item_environment" and label.lower() == b"counter_enumi":
|
||||
lines[labeltype_line] = re_LabelType.sub(b'\\1\\2\\3Enumerate', lines[labeltype_line])
|
||||
# Don't add the LabelCounter line later
|
||||
- counter = ""
|
||||
+ counter = b""
|
||||
|
||||
# Replace
|
||||
#
|
||||
187
app-office/lyx/lyx-2.3.6.1-r2.ebuild
Normal file
187
app-office/lyx/lyx-2.3.6.1-r2.ebuild
Normal file
@@ -0,0 +1,187 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
|
||||
MY_P="${P/_}"
|
||||
inherit desktop font python-single-r1 qmake-utils toolchain-funcs xdg-utils
|
||||
|
||||
DESCRIPTION="WYSIWYM frontend for LaTeX, DocBook, etc"
|
||||
HOMEPAGE="https://www.lyx.org/"
|
||||
SRC_URI="ftp://ftp.lyx.org/pub/lyx/stable/2.3.x/${MY_P}.tar.xz
|
||||
ftp://ftp.lyx.org/pub/lyx/devel/lyx-2.3/${MY_P}/${MY_P}.tar.xz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
|
||||
IUSE="aspell cups debug dia dot enchant gnumeric html +hunspell +latex monolithic-build nls rcs rtf svg l10n_he"
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
|
||||
# bc needed http://comments.gmane.org/gmane.editors.lyx.devel/137498 and bug #787839
|
||||
BDEPEND="
|
||||
sys-devel/bc
|
||||
virtual/pkgconfig
|
||||
nls? ( sys-devel/gettext )
|
||||
"
|
||||
RDEPEND="${PYTHON_DEPS}
|
||||
app-text/mythes
|
||||
dev-libs/boost:=
|
||||
dev-qt/qtcore:5
|
||||
dev-qt/qtgui:5
|
||||
dev-qt/qtsvg:5
|
||||
dev-qt/qtwidgets:5
|
||||
dev-qt/qtx11extras:5
|
||||
dev-texlive/texlive-fontsextra
|
||||
sys-apps/file
|
||||
sys-libs/zlib
|
||||
virtual/imagemagick-tools[png,svg?]
|
||||
|
||||
x11-misc/xdg-utils
|
||||
|
||||
aspell? ( app-text/aspell )
|
||||
cups? ( net-print/cups )
|
||||
dia? ( app-office/dia )
|
||||
dot? ( media-gfx/graphviz )
|
||||
enchant? ( app-text/enchant:2 )
|
||||
gnumeric? ( app-office/gnumeric )
|
||||
html? ( dev-tex/html2latex )
|
||||
hunspell? ( app-text/hunspell )
|
||||
l10n_he? ( dev-tex/culmus-latex )
|
||||
latex? (
|
||||
app-text/dvipng
|
||||
app-text/ghostscript-gpl
|
||||
app-text/ps2eps
|
||||
app-text/texlive
|
||||
dev-texlive/texlive-fontsrecommended
|
||||
dev-texlive/texlive-latexextra
|
||||
dev-texlive/texlive-mathscience
|
||||
dev-texlive/texlive-pictures
|
||||
dev-texlive/texlive-plaingeneric
|
||||
|| (
|
||||
dev-tex/hevea
|
||||
dev-tex/latex2html
|
||||
dev-tex/tex4ht[java]
|
||||
dev-tex/tth
|
||||
)
|
||||
)
|
||||
rcs? ( dev-vcs/rcs )
|
||||
rtf? (
|
||||
app-text/unrtf
|
||||
dev-tex/html2latex
|
||||
dev-tex/latex2rtf
|
||||
)
|
||||
svg? ( || ( gnome-base/librsvg media-gfx/inkscape ) )
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
dev-qt/qtconcurrent:5
|
||||
"
|
||||
|
||||
DOCS=( ANNOUNCE NEWS README RELEASE-NOTES UPGRADING )
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
FONT_S="${S}/lib/fonts"
|
||||
FONT_SUFFIX="ttf"
|
||||
|
||||
PATCHES=(
|
||||
# Try first with xdg-open before hardcoded commands
|
||||
# Patch from Debian using a similar approach to Fedora
|
||||
"${FILESDIR}"/${PN}-prefer-xdg-open.patch
|
||||
|
||||
"${FILESDIR}"/${P}-python.patch
|
||||
"${FILESDIR}"/${P}-gcc12.patch
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
python-single-r1_pkg_setup
|
||||
font_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
sed "s:python -tt:${EPYTHON} -tt:g" -i lib/configure.py || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
tc-export CXX
|
||||
#bug 221921
|
||||
export VARTEXFONTS="${T}"/fonts
|
||||
|
||||
econf \
|
||||
$(use_with aspell) \
|
||||
$(use_enable debug) \
|
||||
$(use_with enchant) \
|
||||
$(use_with hunspell) \
|
||||
$(use_enable monolithic-build) \
|
||||
$(use_enable nls) \
|
||||
--enable-qt5 \
|
||||
--with-qt-dir=$(qt5_get_libdir)/qt5 \
|
||||
--disable-stdlib-debug \
|
||||
--without-included-boost \
|
||||
--with-packaging=posix
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
if use l10n_he ; then
|
||||
echo "\bind_file cua" > "${T}"/hebrew.bind || die
|
||||
echo "\bind \"F12\" \"language hebrew\"" >> "${T}"/hebrew.bind || die
|
||||
|
||||
insinto /usr/share/lyx/bind
|
||||
doins "${T}"/hebrew.bind
|
||||
fi
|
||||
|
||||
newicon -s 32 "development/Win32/packaging/icons/lyx_32x32.png" ${PN}.png
|
||||
doicon -s 48 "lib/images/lyx.png"
|
||||
doicon -s scalable "lib/images/lyx.svg"
|
||||
|
||||
# fix for bug 91108
|
||||
if use latex ; then
|
||||
dosym ../../../lyx/tex /usr/share/texmf-site/tex/latex/lyx
|
||||
fi
|
||||
|
||||
# fonts needed for proper math display, see also bug #15629
|
||||
font_src_install
|
||||
|
||||
python_fix_shebang "${ED}"/usr/share/${PN}
|
||||
|
||||
if use hunspell ; then
|
||||
dosym ../myspell /usr/share/lyx/dicts
|
||||
dosym ../myspell /usr/share/lyx/thes
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
font_pkg_postinst
|
||||
xdg_icon_cache_update
|
||||
xdg_desktop_database_update
|
||||
|
||||
# fix for bug 91108
|
||||
if use latex ; then
|
||||
texhash || die
|
||||
fi
|
||||
|
||||
# instructions for RTL support. See also bug 168331.
|
||||
if use l10n_he || has he ${LINGUAS} || has ar ${LINGUAS} ; 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() {
|
||||
xdg_icon_cache_update
|
||||
xdg_desktop_database_update
|
||||
|
||||
if use latex ; then
|
||||
texhash || die
|
||||
fi
|
||||
}
|
||||
Reference in New Issue
Block a user