From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: app-office/lyx/files/, app-office/lyx/
Date: Sat, 7 May 2022 03:53:36 +0000 (UTC) [thread overview]
Message-ID: <1651895608.8c4c4cb2567ec797af16cbdb1e072ff6fef0c0bf.sam@gentoo> (raw)
commit: 8c4c4cb2567ec797af16cbdb1e072ff6fef0c0bf
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat May 7 03:52:40 2022 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat May 7 03:53:28 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8c4c4cb2
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 <AT> gentoo.org>
app-office/lyx/files/lyx-2.3.6.1-gcc12.patch | 22 +++
app-office/lyx/files/lyx-2.3.6.1-python.patch | 50 +++++++
app-office/lyx/lyx-2.3.6.1-r2.ebuild | 187 ++++++++++++++++++++++++++
3 files changed, 259 insertions(+)
diff --git a/app-office/lyx/files/lyx-2.3.6.1-gcc12.patch b/app-office/lyx/files/lyx-2.3.6.1-gcc12.patch
new file mode 100644
index 000000000000..b1acbdb9087d
--- /dev/null
+++ b/app-office/lyx/files/lyx-2.3.6.1-gcc12.patch
@@ -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;
diff --git a/app-office/lyx/files/lyx-2.3.6.1-python.patch b/app-office/lyx/files/lyx-2.3.6.1-python.patch
new file mode 100644
index 000000000000..666d82c06bf8
--- /dev/null
+++ b/app-office/lyx/files/lyx-2.3.6.1-python.patch
@@ -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
+ #
diff --git a/app-office/lyx/lyx-2.3.6.1-r2.ebuild b/app-office/lyx/lyx-2.3.6.1-r2.ebuild
new file mode 100644
index 000000000000..a8d622193e27
--- /dev/null
+++ b/app-office/lyx/lyx-2.3.6.1-r2.ebuild
@@ -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
+}
next reply other threads:[~2022-05-07 3:53 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-07 3:53 Sam James [this message]
-- strict thread matches above, loose matches on Subject: below --
2019-08-10 19:13 [gentoo-commits] repo/gentoo:master commit in: app-office/lyx/files/, app-office/lyx/ David Seifert
2018-03-30 18:09 Andreas Sturmlechner
2018-02-15 0:24 Andreas Sturmlechner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1651895608.8c4c4cb2567ec797af16cbdb1e072ff6fef0c0bf.sam@gentoo \
--to=sam@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox