commit:     d9cb7d4a49d6e58896eedba2cd4f5595cb6241b8
Author:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
AuthorDate: Fri Apr  5 13:25:45 2024 +0000
Commit:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
CommitDate: Fri Apr  5 13:29:00 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d9cb7d4a

app-office/lyx: add 2.4.0_rc4

Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>

 app-office/lyx/Manifest                            |   1 +
 app-office/lyx/files/lyx-2.4.0-fix-hunspell.patch  |  21 +++
 .../lyx/files/lyx-2.4.0-prefer-xdg-open.patch      |  54 +++++++
 app-office/lyx/lyx-2.4.0_rc4.ebuild                | 179 +++++++++++++++++++++
 4 files changed, 255 insertions(+)

diff --git a/app-office/lyx/Manifest b/app-office/lyx/Manifest
index 22336031684e..e21550afef7a 100644
--- a/app-office/lyx/Manifest
+++ b/app-office/lyx/Manifest
@@ -1 +1,2 @@
 DIST lyx-2.3.7-1.tar.xz 16158416 BLAKE2B 
6041280ab0cd4dfa3c10e8ae01253ff657b4ac9ffe4cf61a3a2459b7aef152a7daf8ae306a09aaece799b6e7b6b15bc1aff62ab0f5d46508fbd79fd3e0b1c45b
 SHA512 
b8aaefb68993032354fea3c6fd87d6da161395c92b5def4ecf92a7d6873ec59e01cdfb45c51ae1aaa62aa54db8e100b00ff9c2c9e0f1307c2f46860cd8c6eefe
+DIST lyx-2.4.0~RC4.tar.xz 17785100 BLAKE2B 
15d3785934045e9e3f39426d7a48ae4b200b64f28dc953b69c9b1b6f7c3e6cfe163aeaaaccbea9bb3b89c321a95f3162bab5869a290e4d4be2658bc39d6b2d46
 SHA512 
fa131ed3323a273529a59266b693381c0123400b7207733398992c99b424831a2918d019353ee0f2e6cce24b47042039f1abdbfe1ceeb28e56e35da4bf9e8c96

diff --git a/app-office/lyx/files/lyx-2.4.0-fix-hunspell.patch 
b/app-office/lyx/files/lyx-2.4.0-fix-hunspell.patch
new file mode 100644
index 000000000000..265049b46631
--- /dev/null
+++ b/app-office/lyx/files/lyx-2.4.0-fix-hunspell.patch
@@ -0,0 +1,21 @@
+From: Arthur Zamarin <arthur...@gentoo.org>
+Date: Fri, 5 Apr 2024 15:40:57 +0300
+Subject: fix find hunspell using pkg-config
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -884,6 +884,14 @@ if(NOT LYX_EXTERNAL_HUNSPELL)
+     message(STATUS "  * Hunspell:")
+     message(STATUS "     - include: ${HUNSPELL_INCLUDE_DIR}")
+     message(STATUS "     - library: ${HUNSPELL_LIBRARY}")
++elseif(LYX_HUNSPELL)
++      find_package(PkgConfig)
++      pkg_check_modules(HUNSPELL hunspell)
++      set(HUNSPELL_INCLUDE_DIR ${HUNSPELL_INCLUDE_DIRS})
++      set(HUNSPELL_LIBRARY ${HUNSPELL_LIBRARIES})
++    message(STATUS "  * Hunspell:")
++    message(STATUS "     - include: ${HUNSPELL_INCLUDE_DIR}")
++    message(STATUS "     - library: ${HUNSPELL_LIBRARY}")
+ endif()
+
+ foreach(_spell "ASPELL" "ENCHANT" "HUNSPELL")

diff --git a/app-office/lyx/files/lyx-2.4.0-prefer-xdg-open.patch 
b/app-office/lyx/files/lyx-2.4.0-prefer-xdg-open.patch
new file mode 100644
index 000000000000..b5a8ef5ced6b
--- /dev/null
+++ b/app-office/lyx/files/lyx-2.4.0-prefer-xdg-open.patch
@@ -0,0 +1,54 @@
+From: Arthur Zamarin <arthur...@gentoo.org>
+Date: Fri, 5 Apr 2024 16:05:46 +0300
+Add xdg-open as the first choice whenever this seems to  be useful
+
+--- a/lib/configure.py
++++ b/lib/configure.py
+@@ -716,7 +716,7 @@ def checkModule(module):
+       return False
+
+
+-texteditors = ['xemacs', 'gvim', 'kedit', 'kwrite', 'kate',
++texteditors = ['xdg-open', 'xemacs', 'gvim', 'kedit', 'kwrite', 'kate',
+                'nedit', 'gedit', 'geany', 'leafpad', 'mousepad',
+                'xed', 'notepad', 'WinEdt', 'WinShell', 'PSPad']
+
+@@ -731,7 +731,7 @@ def checkFormatEntries(dtl_tools):
+     checkViewerEditor('a Dia viewer and editor', ['dia'],
+         rc_entry = [r'\Format dia        dia     DIA                    "" 
"%%"       "%%"    "vector,zipped=native", "application/x-dia-diagram"'])
+     #
+-    checkViewerEditor('an OpenDocument drawing viewer and editor', 
['libreoffice', 'lodraw', 'ooffice', 'oodraw', 'soffice'],
++    checkViewerEditor('an OpenDocument drawing viewer and editor', 
['xdg-open', 'libreoffice', 'lodraw', 'ooffice', 'oodraw', 'soffice'],
+         rc_entry = [r'\Format odg        "odg, sxd" "OpenDocument drawing"   
"" "%%"  "%%"    "vector,zipped=native"  
"application/vnd.oasis.opendocument.graphics"'])
+     #
+     checkViewerEditor('a Grace viewer and editor', ['xmgrace'],
+@@ -756,9 +756,9 @@ def checkFormatEntries(dtl_tools):
+ \Format xbm        xbm     XBM                    "" "%s"     "%s"    ""      
"image/x-xbitmap"
+ \Format xpm        xpm     XPM                    "" "%s"     "%s"    ""      
"image/x-xpixmap"'''
+     path, iv = checkViewerNoRC('a raster image viewer',
+-        ['xv', 'gwenview', 'kview',
++        ['xdg-open', 'xv', 'gwenview', 'kview',
+          'eog', 'xviewer', 'ristretto', 'gpicview', 'lximage-qt',
+-         'xdg-open', 'gimp-remote', 'gimp'],
++         'gimp-remote', 'gimp'],
+         rc_entry = [imageformats])
+     path, ie = checkEditorNoRC('a raster image editor',
+         ['gimp-remote', 'gimp'], rc_entry = [imageformats])
+@@ -815,7 +815,7 @@ def checkFormatEntries(dtl_tools):
+     #checkProg('a Postscript interpreter', ['gs'],
+     #  rc_entry = [ r'\ps_command "%%"' ])
+     checkViewer('a Postscript previewer',
+-                ['kghostview', 'okular', 'qpdfview --unique',
++                ['xdg-open', 'kghostview', 'okular', 'qpdfview --unique',
+                  'evince', 'xreader',
+                  'gv', 'ghostview -swap', 'gsview64', 'gsview32'],
+         rc_entry = [r'''\Format eps        eps     EPS                    "" 
"%%"     ""      "vector"        "image/x-eps"
+@@ -826,7 +826,7 @@ def checkFormatEntries(dtl_tools):
+     # maybe use "bestApplication()" from 
https://github.com/jleclanche/python-mime
+     # the MIME type is set for pdf6, because that one needs to be 
autodetectable by libmime
+     checkViewer('a PDF previewer',
+-                ['pdfview', 'kpdf', 'okular', 'qpdfview --unique',
++                ['xdg-open', 'pdfview', 'kpdf', 'okular', 'qpdfview --unique',
+                  'evince', 'xreader', 'kghostview', 'xpdf', 'SumatraPDF',
+                  'acrobat', 'acroread', 'mupdf', 'Skim.app',
+                  'gv', 'ghostview', 'AcroRd32', 'gsview64', 'gsview32'],

diff --git a/app-office/lyx/lyx-2.4.0_rc4.ebuild 
b/app-office/lyx/lyx-2.4.0_rc4.ebuild
new file mode 100644
index 000000000000..a6fa023c9aa8
--- /dev/null
+++ b/app-office/lyx/lyx-2.4.0_rc4.ebuild
@@ -0,0 +1,179 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit desktop font optfeature python-single-r1 cmake xdg
+
+DESCRIPTION="WYSIWYM (What You See Is What You Mean) document processor based 
on LaTeX"
+HOMEPAGE="https://www.lyx.org/";
+SRC_URI="http://ftp.lyx.org/pub/lyx/devel/lyx-$(ver_cut 
1-2)/${P/_rc/~RC}.tar.xz"
+S=${WORKDIR}/${P/_rc/~RC}
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+IUSE="aspell cups debug dia dot enchant gnumeric html +hunspell +latex 
monolithic-build nls rcs rtf svg l10n_he"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${PYTHON_DEPS}
+       app-text/mythes
+       dev-libs/boost:=
+       sys-apps/file
+       sys-libs/zlib:=
+       virtual/imagemagick-tools[png,svg?]
+       x11-misc/xdg-utils
+
+       dev-qt/qtbase:6[concurrent,dbus,gui,widgets]
+       dev-qt/qt5compat:6
+       dev-qt/qtsvg:6
+
+       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
+               dev-texlive/texlive-langarabic
+       )
+       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/latex2html
+                       dev-tex/hevea
+                       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}"
+# bc needed http://comments.gmane.org/gmane.editors.lyx.devel/137498 and bug 
#787839
+BDEPEND="
+       app-alternatives/bc
+       virtual/pkgconfig
+       dev-qt/qttools[linguist]
+       nls? ( sys-devel/gettext )
+"
+
+DOCS=( ANNOUNCE NEWS README RELEASE-NOTES UPGRADING )
+
+FONT_S="${S}/lib/fonts"
+FONT_SUFFIX="ttf"
+
+PATCHES=(
+       "${FILESDIR}"/lyx-2.4.0-fix-hunspell.patch
+       # Try first with xdg-open before hardcoded commands
+       # Patch from Debian using a similar approach to Fedora
+       "${FILESDIR}"/lyx-2.4.0-prefer-xdg-open.patch
+)
+
+pkg_setup() {
+       python-single-r1_pkg_setup
+       font_pkg_setup
+}
+
+src_prepare() {
+       sed "s:python -tt:${EPYTHON} -tt:g" -i lib/configure.py || die
+       cmake_src_prepare
+}
+
+src_configure() {
+       #bug 221921
+       export VARTEXFONTS="${T}"/fonts
+
+       local mycmakeargs=(
+               -DLYX_INSTALL=ON
+               -DLYX_USE_QT=QT6
+               -DLYX_INSTALL_PREFIX="${EPREFIX}/usr"
+
+               -DLYX_NLS=$(usex nls)
+               -DLYX_ASPELL=$(usex aspell)
+               -DLYX_ENCHANT=$(usex enchant)
+               -DLYX_HUNSPELL=$(usex hunspell)
+
+               # external dependencies
+               -DLYX_EXTERNAL_Z=ON
+               -DLYX_EXTERNAL_ICONV=ON
+               -DLYX_EXTERNAL_HUNSPELL=ON
+               -DLYX_EXTERNAL_MYTHES=ON
+               -DLYX_EXTERNAL_BOOST=ON
+               -DLYX_PROGRAM_SUFFIX=OFF
+
+               # debug control
+               -DLYX_NO_OPTIMIZE=OFF
+               -DLYX_RELEASE=$(usex !debug)
+               -DLYX_DEBUG=$(usex debug)
+               -DLYX_DEBUG_GLIBC=$(usex debug)
+               -DLYX_STDLIB_DEBUG=$(usex debug)
+       )
+
+       cmake_src_configure
+}
+
+src_install() {
+       cmake_src_install
+
+       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 -r /usr/share/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_pkg_postinst
+
+       # fix for bug 91108
+       if use latex ; then
+               texhash || die
+       fi
+
+       optfeature "handling more fonts" dev-texlive/texlive-fontsextra
+}
+
+pkg_postrm() {
+       font_pkg_postrm
+       xdg_pkg_postrm
+
+       if use latex ; then
+               texhash || die
+       fi
+}

Reply via email to