commit:     6876b52c5c009fbb5db4e5c5c23a46551741501c
Author:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
AuthorDate: Thu May 20 13:06:58 2021 +0000
Commit:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
CommitDate: Thu May 20 13:07:12 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6876b52c

app-office/lyx: Prefer xdg-open over hardcoded tools

Closes: https://bugs.gentoo.org/579418
Package-Manager: Portage-3.0.18, Repoman-3.0.3
Signed-off-by: Pacho Ramos <pacho <AT> gentoo.org>

 app-office/lyx/files/lyx-prefer-xdg-open.patch |  60 +++++++++
 app-office/lyx/lyx-2.3.6.1-r1.ebuild           | 179 +++++++++++++++++++++++++
 2 files changed, 239 insertions(+)

diff --git a/app-office/lyx/files/lyx-prefer-xdg-open.patch 
b/app-office/lyx/files/lyx-prefer-xdg-open.patch
new file mode 100644
index 00000000000..5e12f6c2e69
--- /dev/null
+++ b/app-office/lyx/files/lyx-prefer-xdg-open.patch
@@ -0,0 +1,60 @@
+From: "Dr. Tobias Quathamer" <to...@debian.org>
+Date: Wed, 31 Jan 2018 23:27:37 +0100
+Subject: Prefer xdg-open
+
+Add xdg-open as the first choice whenever this seems to be useful.
+---
+ lib/configure.py | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/lib/configure.py b/lib/configure.py
+index 7fee68d..abc4d53 100644
+--- a/lib/configure.py
++++ b/lib/configure.py
+@@ -657,7 +657,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'],
+@@ -682,16 +682,16 @@ 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])
+     addToRC(imageformats % ((iv, ie)*10))
+     #
+     checkViewerEditor('a text editor',
+-        ['xemacs', 'gvim', 'kedit', 'kwrite', 'kate',
++        ['xdg-open', 'xemacs', 'gvim', 'kedit', 'kwrite', 'kate',
+          'nedit', 'gedit', 'geany', 'leafpad', 'mousepad', 'xed', 'notepad'],
+         rc_entry = [r'''\Format asciichess asc    "Plain text (chess output)" 
 "" ""  "%%"    ""      ""
+ \Format docbook    sgml    DocBook                B  ""       "%%"    
"document,menu=export"  ""
+@@ -745,7 +745,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"
+@@ -756,7 +756,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',
+                  'gv', 'ghostview', 'AcroRd32', 'gsview64', 'gsview32'],

diff --git a/app-office/lyx/lyx-2.3.6.1-r1.ebuild 
b/app-office/lyx/lyx-2.3.6.1-r1.ebuild
new file mode 100644
index 00000000000..d9922fde669
--- /dev/null
+++ b/app-office/lyx/lyx-2.3.6.1-r1.ebuild
@@ -0,0 +1,179 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7..9} )
+
+MY_P="${P/_}"
+inherit desktop flag-o-matic 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 ~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}"
+
+BDEPEND="
+       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"
+
+pkg_setup() {
+       python-single-r1_pkg_setup
+       font_pkg_setup
+}
+
+src_prepare() {
+       default
+       # Try first with xdg-open before hardcoded commands
+       # Patch from Debian using a similar approach to Fedora
+       eapply "${FILESDIR}"/${PN}-prefer-xdg-open.patch
+
+       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
+}

Reply via email to