From 01c59e91b3010a26d252c31439aea61d2922f52a Mon Sep 17 00:00:00 2001 From: Pavel Sanda Date: Wed, 21 Feb 2018 17:24:52 +0100 Subject: lyx live 2.3 patch, not for wider use, it counts on qt4. --- app-office/lyx/Manifest | 5 + app-office/lyx/files/1.6.7-python.patch | 26 ---- app-office/lyx/files/2.0-python.patch | 26 ---- app-office/lyx/files/2.0.3-python.patch | 29 ---- app-office/lyx/files/2.0.patches | 262 -------------------------------- app-office/lyx/files/2.1-python.patch | 29 ---- app-office/lyx/files/2.3-python.patch | 30 ++++ app-office/lyx/files/2.3.patches | 161 ++++++++++++++++++++ app-office/lyx/files/legacy.patch | 33 ++++ app-office/lyx/lyx-2.3.99.ebuild | 189 +++++++++++++++++++++++ 10 files changed, 418 insertions(+), 372 deletions(-) create mode 100644 app-office/lyx/Manifest delete mode 100644 app-office/lyx/files/1.6.7-python.patch delete mode 100644 app-office/lyx/files/2.0-python.patch delete mode 100644 app-office/lyx/files/2.0.3-python.patch delete mode 100644 app-office/lyx/files/2.0.patches delete mode 100644 app-office/lyx/files/2.1-python.patch create mode 100644 app-office/lyx/files/2.3-python.patch create mode 100644 app-office/lyx/files/2.3.patches create mode 100644 app-office/lyx/files/legacy.patch create mode 100644 app-office/lyx/lyx-2.3.99.ebuild diff --git a/app-office/lyx/Manifest b/app-office/lyx/Manifest new file mode 100644 index 0000000..c7f8b07 --- /dev/null +++ b/app-office/lyx/Manifest @@ -0,0 +1,5 @@ +AUX 2.0.patches 9724 SHA256 9bf26943ce4f27b4cdbfa924f3097aa1bfba6e23a10d8db494148066e9bf8a39 SHA512 99bdb8204d2f2d40adbb6280e8273b6d974ad6db5575388bedb6ed913a2afa17f693c6f35d600cc7d35d637f3426dcc485237be3548f47055588a5c199fb66db WHIRLPOOL b5c1555147329388d4bb1911712a38256c518a4d17cadba3911d125313a607e9eabd5b2f81c4831b6b9b8ae38c05ce0d9c37305b31286a0773fa3288e7c37a08 +AUX 2.3-python.patch 1049 SHA256 8f5531e99d769700b28b097950455aff9921d1c07c2815ff5a4d50dd0017f41e SHA512 8f2fda91c4c35ffdf3325fc6613df1c5ecd87ced88e4d690aef5c7085edda1b66c0ae704e266521627f7a82eb8b4e2f35fed0f14b37feb367422ef1c5693e31d WHIRLPOOL 91091414fb74e3ef2cf7b08ae4a22b4ca39f9e8c2474a96bd1d195bdc2995d44e550a90f01c5a42d32ee4606becf3b177ef2d85611d48e936f3fff6b9fbc33ab +AUX 2.3.patches 5517 SHA256 8e3ad2051ec00870a561aad9e9ce9f2710e3545f964024902df3442761dfa9ae SHA512 95c9b281d718de3a98b0193fbe6ad23f83ab69ef5f5fef0efe27afdc369745f4153cb2be592579ef42fa02950af3a34d89b0640e08cf4cfc3b33f2436acecd3e WHIRLPOOL 0fdbdd4cac7acc84321423f7b07ad0742abc2a09c7def84425af8d69750b88158de823a77eeca1d21499f76794b06b0b487eb96babcfa03eecd41e91de014218 +AUX legacy.patch 1491 SHA256 e70cd461962a16094dfacf09717b41c4ff45cb063dfa6cd93a1f4cc5b112b3ab SHA512 c2a02a20f10a24e2c06ce0a1958b62809ec0149f05c875ddff223f2ee12f15e8991ff93f7f7b7672b68d7b2ff27f9320fc181a4a96b1e8ad412fa7948b832e8f WHIRLPOOL c655336edda332a7e6ec55fa6ec3edc3cd7840af451671340893a56d02367bcb155a56eed8fc6d02fa0caa6e73b1ca47e2af278ba8e501c77cd32f5f148fbd44 +EBUILD lyx-2.3.99.ebuild 4430 SHA256 8f26c4f68a416fb40a07f7bfe7ec51bb0c6d779795efc7aa39f46d0fbdcf0289 SHA512 d1453ef5df9c5fcd653f7099a30a1639e749690d84b628c1b74dce60b3130738f8f09b3496992aa21507aa054e49205878f405d1c22fc3629d584166dc0016c8 WHIRLPOOL 42044e88847f08519f1392644e67e623a5b6b41dd90865139ec828b2e718a13154e8dff2ab4c9cfe6b87ef1fcbba70a54678703c98416445c7ed93b2c6555bba diff --git a/app-office/lyx/files/1.6.7-python.patch b/app-office/lyx/files/1.6.7-python.patch deleted file mode 100644 index 3717cc8..0000000 --- a/app-office/lyx/files/1.6.7-python.patch +++ /dev/null @@ -1,26 +0,0 @@ -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 6984d2c..e6f17ff 100644 ---- a/src/support/os.cpp -+++ b/src/support/os.cpp -@@ -26,7 +26,7 @@ string const python() - { - // Use the -tt switch so that mixed tab/whitespace indentation is - // an error -- static string const command("python -tt"); -+ static string const command("python2 -tt"); - return command; - } - diff --git a/app-office/lyx/files/2.0-python.patch b/app-office/lyx/files/2.0-python.patch deleted file mode 100644 index e12f66a..0000000 --- a/app-office/lyx/files/2.0-python.patch +++ /dev/null @@ -1,26 +0,0 @@ -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 diff --git a/app-office/lyx/files/2.0.3-python.patch b/app-office/lyx/files/2.0.3-python.patch deleted file mode 100644 index 5fb2165..0000000 --- a/app-office/lyx/files/2.0.3-python.patch +++ /dev/null @@ -1,29 +0,0 @@ -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 8f60c68..2f1cb91 100644 ---- a/src/support/os.cpp -+++ b/src/support/os.cpp -@@ -63,9 +63,9 @@ int timeout_min() - string const python(bool reset) - { - // Check whether the first python in PATH is the right one. -- static string command = python2("python -tt"); -+ static string command = python2("python2 -tt"); - if (reset) { -- command = python2("python -tt"); -+ command = python2("python2 -tt"); - } - - if (command.empty()) { diff --git a/app-office/lyx/files/2.0.patches b/app-office/lyx/files/2.0.patches deleted file mode 100644 index ac040ab..0000000 --- a/app-office/lyx/files/2.0.patches +++ /dev/null @@ -1,262 +0,0 @@ -diff --git a/src/Format.cpp b/src/Format.cpp -index 050af14..7d495b7 100644 ---- a/src/Format.cpp -+++ b/src/Format.cpp -@@ -260,6 +260,27 @@ void Formats::setEditor(string const & name, string const & command) - } - - -+bool Formats::viewURL(docstring const & url) { -+ Format const * format = getFormat("html"); -+ if (!format) -+ return false; -+ -+ string command = libScriptSearch(format->viewer()); -+ -+ if (!contains(command, token_from_format)) -+ command += ' ' + token_from_format; -+ command = subst(command, token_from_format, quoteName(to_utf8(url))); -+ -+ LYXERR(Debug::FILES, "Executing command: " << command); -+ -+ Systemcall one; -+ one.startscript(Systemcall::DontWait, command); -+ -+ // we can't report any sort of error, since we aren't waiting -+ return true; -+} -+ -+ - bool Formats::view(Buffer const & buffer, FileName const & filename, - string const & format_name) const - { -diff --git a/src/Format.h b/src/Format.h -index 445c11b..3737f4c 100644 ---- a/src/Format.h -+++ b/src/Format.h -@@ -143,6 +143,8 @@ public: - void setViewer(std::string const & name, std::string const & command); - /// - void setEditor(std::string const & name, std::string const & command); -+ /// Currently used by hyperlink insets and GuiCitation -+ bool viewURL(docstring const & url); - /// View the given file. Buffer used for DVI's paper orientation. - bool view(Buffer const & buffer, support::FileName const & filename, - std::string const & format_name) const; -diff --git a/src/insets/InsetHyperlink.cpp b/src/insets/InsetHyperlink.cpp -index 42dd691..7a293ff 100644 ---- a/src/insets/InsetHyperlink.cpp -+++ b/src/insets/InsetHyperlink.cpp -@@ -100,7 +100,10 @@ bool InsetHyperlink::getStatus(Cursor & cur, FuncRequest const & cmd, - - void InsetHyperlink::viewTarget() const - { -- if (getParam("type") == "file:") { -+ if (getParam("type").empty()) -+ formats.viewURL(getParam("target")); -+ -+ else if (getParam("type") == "file:") { - FileName url = makeAbsPath(to_utf8(getParam("target")), buffer().filePath()); - string const format = formats.getFormatFromFile(url); - formats.view(buffer(), url, format); -diff --git a/lib/ui/stdcontext.inc b/lib/ui/stdcontext.inc -index a8cf62e..8086b7f 100644 ---- a/lib/ui/stdcontext.inc -+++ b/lib/ui/stdcontext.inc -@@ -601,6 +601,8 @@ Menuset - # - Menu "context-hyperlink" - Item "Settings...|S" "inset-settings" -+ Separator -+ Item "Open Target...|O" "inset-edit" - End - - End -diff --git a/lib/ui/stdmenus.inc b/lib/ui/stdmenus.inc -index 88d84d2..f2cb35a 100644 ---- a/lib/ui/stdmenus.inc -+++ b/lib/ui/stdmenus.inc -@@ -384,6 +384,7 @@ Menuset - Item "Breakable Slash|a" "specialchar-insert slash" - Item "Menu Separator|M" "specialchar-insert menu-separator" - Item "Phonetic Symbols|P" "command-sequence math-insert \text\textipa ; char-forward ;" -+ Item "Visible Space|V" "unicode-insert 0x2423" - End - - Menu "insert_formatting" -diff --git a/lib/scripts/legacy_lyxpreview2ppm.py b/lib/scripts/legacy_lyxpreview2ppm.py -index be242cc..3125006 100644 ---- a/lib/scripts/legacy_lyxpreview2ppm.py -+++ b/lib/scripts/legacy_lyxpreview2ppm.py -@@ -172,11 +172,18 @@ def legacy_latex_file(latex_file, fg_color, bg_color, bg_color_gr): - use_preview_dvi_re = re.compile("(\s*\\\\usepackage\[[^]]+)(dvips\]{preview})") - use_preview_pdf_re = re.compile("(\s*\\\\usepackage\[[^]]+)(pdftex\]{preview})") - -+ do_not_color_pictures_re = re.compile("(\\includegraphics)") -+ - tmp = mkstemp() - - success = 0 - try: - for line in open(latex_file, 'r').readlines(): -+ match = do_not_color_pictures_re.search(line) -+ if match != None: -+ tmp.write("\colorbox{white}{" + line + "}\n") -+ continue -+ - match = use_preview_dvi_re.match(line) - if match == None: - match = use_preview_pdf_re.match(line) -@@ -192,7 +199,7 @@ def legacy_latex_file(latex_file, fg_color, bg_color, bg_color_gr): - - success = 1 - tmp.write("%stightpage,%s\n" \ -- " \\AtBeginDocument{\\AtBeginDvi{%%\n" \ -+ " \\usepackage{color}\n\\AtBeginDocument{\\AtBeginDvi{%%\n" \ - " \\special{!userdict begin/bop-hook{//bop-hook exec\n" \ - " <%s%s>{255 div}forall setrgbcolor\n" \ - " clippath fill setrgbcolor}bind def end}}}\n" \ -Index: stdinsets.inc -=================================================================== ---- a/lib/layouts/stdinsets.inc (revision 28602) -+++ a/lib/layouts/stdinsets.inc (working copy) -@@ -166,7 +166,7 @@ - Family typewriter - EndFont - LabelFont -- Color foreground -+ Color latex - Size Small - EndFont - BgColor listingsbg -diff --git a/lib/ui/default.ui b/lib/ui/default.ui -index 03efe16..32e9efc 100644 ---- a/lib/ui/default.ui -+++ b/lib/ui/default.ui -@@ -46,13 +46,13 @@ Include "stdtoolbars.inc" - # - Toolbars - "standard" "on,top" -- "view/update" "on,top" -+ "view/update" "off,top" - "extra" "on,top,samerow" - "review" "auto,review,top" -- "vcs" "off,top" -+ "vcs" "on,top" - "table" "auto,table,bottom" - "math_panels" "auto,math,bottom" - "math" "auto,math,bottom" - "mathmacrotemplate" "auto,mathmacrotemplate,bottom" -- "minibuffer" "off,bottom" -+ "minibuffer" "on,bottom" - End -Index: lib/ui/stdtoolbars.inc -=================================================================== ---- a/lib/ui/stdtoolbars.inc (revision 29259) -+++ b/lib/ui/stdtoolbars.inc (working copy) -@@ -91,6 +91,8 @@ - Item "Increase depth" "depth-increment" - Item "Decrease depth" "depth-decrement" - Separator -+ Item "Align center" "paragraph-params \align center" -+ Separator - Item "Insert figure float" "float-insert figure" - Item "Insert table float" "float-insert table" - Item "Insert label" "label-insert" -diff --git a/src/frontends/qt4/GuiView.cpp b/src/frontends/qt4/GuiView.cpp -index ea08213..e29cc7f 100644 ---- a/src/frontends/qt4/GuiView.cpp -+++ b/src/frontends/qt4/GuiView.cpp -@@ -1623,9 +1623,7 @@ bool GuiView::getStatus(FuncRequest const & cmd, FuncStatus & flag) - - case LFUN_BUFFER_RELOAD: - enable = doc_buffer && !doc_buffer->isUnnamed() -- && doc_buffer->fileName().exists() -- && (!doc_buffer->isClean() -- || doc_buffer->isExternallyModified(Buffer::timestamp_method)); -+ && doc_buffer->fileName().exists(); - break; - - case LFUN_BUFFER_CHILD_OPEN: -Index: src/frontends/qt4/GuiApplication.cpp -=================================================================== ---- a/src/frontends/qt4/GuiApplication.cpp (revision 31877) -+++ b/src/frontends/qt4/GuiApplication.cpp (working copy) -@@ -708,7 +708,8 @@ - QString app_name = "LyX"; - QCoreApplication::setOrganizationName(app_name); - QCoreApplication::setOrganizationDomain("lyx.org"); -- QCoreApplication::setApplicationName(lyx_package); -+ //make portage build LyX.conf without interefence to devel tweaks... -+ QCoreApplication::setApplicationName("LyX"); - - // Install translator for GUI elements. - installTranslator(&d->qt_trans_); -diff --git a/src/frontends/qt4/GuiCompleter.cpp b/src/frontends/qt4/GuiCompleter.cpp -index 89a889d..ac5088f 100644 ---- a/src/frontends/qt4/GuiCompleter.cpp -+++ b/src/frontends/qt4/GuiCompleter.cpp -@@ -165,7 +165,7 @@ GuiCompleter::GuiCompleter(GuiWorkArea * gui, QObject * parent) - model_ = new GuiCompletionModel(this, 0); - setModel(model_); - setCompletionMode(QCompleter::PopupCompletion); -- setCaseSensitivity(Qt::CaseSensitive); -+ setCaseSensitivity(Qt::CaseInsensitive); - setWidget(gui_); - - // create the popup -diff --git a/src/mathed/InsetMathHull.cpp b/src/mathed/InsetMathHull.cpp -index 04c5b82..a127b0e 100644 ---- a/src/mathed/InsetMathHull.cpp -+++ b/src/mathed/InsetMathHull.cpp -@@ -29,6 +29,7 @@ - #include "Encoding.h" - #include "Exporter.h" - #include "FuncRequest.h" -+#include "LyX.h" - #include "FuncStatus.h" - #include "Language.h" - #include "LaTeXFeatures.h" -@@ -1277,6 +1278,7 @@ void InsetMathHull::doDispatch(Cursor & cur, FuncRequest & cmd) - break; - - case LFUN_BREAK_PARAGRAPH: -+ lyx::dispatch(FuncRequest(LFUN_MATH_EXTERN, "maxima")); - // just swallow this - break; - -diff --git a/src/rowpainter.cpp b/src/rowpainter.cpp -index bcbf6da..0173a8d 100644 ---- a/src/rowpainter.cpp -+++ b/src/rowpainter.cpp -@@ -888,8 +888,8 @@ void RowPainter::paintText() - - // If we reach the end of a change or if the author changes, paint it. - // We also don't paint across things like tables -- if (change_running.changed() && (highly_editable_inset -- || !change.changed() || !change_running.isSimilarTo(change))) { -+ if (change_running.changed() && ( -+ !change.changed() || !change_running.isSimilarTo(change))) { - // Calculate 1/3 height of the buffer's default font - FontMetrics const & fm - = theFontMetrics(pi_.base.bv->buffer().params().getFont()); -diff --git a/src/frontends/qt4/GuiKeySymbol.cpp b/src/frontends/qt4/GuiKeySymbol.cpp -index b318430..5ec58c4 100644 ---- a/src/frontends/qt4/GuiKeySymbol.cpp -+++ b/src/frontends/qt4/GuiKeySymbol.cpp -@@ -341,6 +341,7 @@ static int string_to_qkey(std::string const & str) - if (str == "yacute") return Qt::Key_Yacute; - if (str == "thorn") return Qt::Key_THORN; - if (str == "ydiaeresis") return Qt::Key_ydiaeresis; -+ if (str == "Dead_Caron") return Qt::Key_Dead_Caron; - - // FIXME, correct for all these ? - if (str == "Super_L") return Qt::Key_Super_L; -@@ -559,6 +560,7 @@ static std::string const qkey_to_string(int lkey) - case Qt::Key_ssharp: return "ssharp"; - case Qt::Key_ydiaeresis: return "ydiaeresis"; - case Qt::Key_Bar: return "bar"; -+ case Qt::Key_Dead_Caron: return "Dead_Caron"; - - // FIXME: these ones I don't know the names of ... help ! - // what's here is basically guesses ... diff --git a/app-office/lyx/files/2.1-python.patch b/app-office/lyx/files/2.1-python.patch deleted file mode 100644 index 5fb2165..0000000 --- a/app-office/lyx/files/2.1-python.patch +++ /dev/null @@ -1,29 +0,0 @@ -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 8f60c68..2f1cb91 100644 ---- a/src/support/os.cpp -+++ b/src/support/os.cpp -@@ -63,9 +63,9 @@ int timeout_min() - string const python(bool reset) - { - // Check whether the first python in PATH is the right one. -- static string command = python2("python -tt"); -+ static string command = python2("python2 -tt"); - if (reset) { -- command = python2("python -tt"); -+ command = python2("python2 -tt"); - } - - if (command.empty()) { diff --git a/app-office/lyx/files/2.3-python.patch b/app-office/lyx/files/2.3-python.patch new file mode 100644 index 0000000..e41c260 --- /dev/null +++ b/app-office/lyx/files/2.3-python.patch @@ -0,0 +1,30 @@ +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 8eea49370a..d7a0f81aa3 100644 +--- a/src/support/os.cpp ++++ b/src/support/os.cpp +@@ -65,10 +65,10 @@ int timeout_min() + string const python(bool reset) + { + // Check whether the first python in PATH is the right one. +- static string command = python23("python -tt"); ++ static string command = python23("python2 -tt"); + // FIXME THREAD + if (reset) { +- command = python23("python -tt"); ++ command = python23("python2 -tt"); + } + + if (command.empty()) { diff --git a/app-office/lyx/files/2.3.patches b/app-office/lyx/files/2.3.patches new file mode 100644 index 0000000..26beade --- /dev/null +++ b/app-office/lyx/files/2.3.patches @@ -0,0 +1,161 @@ +diff --git a/src/Format.cpp b/src/Format.cpp +index 050af14..7d495b7 100644 +--- a/src/Format.cpp ++++ b/src/Format.cpp +@@ -260,6 +260,27 @@ void Formats::setEditor(string const & name, string const & command) + } + + ++bool Formats::viewURL(docstring const & url) { ++ Format const * format = getFormat("html"); ++ if (!format) ++ return false; ++ ++ string command = libScriptSearch(format->viewer()); ++ ++ if (!contains(command, token_from_format)) ++ command += ' ' + token_from_format; ++ command = subst(command, token_from_format, quoteName(to_utf8(url))); ++ ++ LYXERR(Debug::FILES, "Executing command: " << command); ++ ++ Systemcall one; ++ one.startscript(Systemcall::DontWait, command); ++ ++ // we can't report any sort of error, since we aren't waiting ++ return true; ++} ++ ++ + bool Formats::view(Buffer const & buffer, FileName const & filename, + string const & format_name) const + { +diff --git a/src/Format.h b/src/Format.h +index 445c11b..3737f4c 100644 +--- a/src/Format.h ++++ b/src/Format.h +@@ -143,6 +143,8 @@ public: + void setViewer(std::string const & name, std::string const & command); + /// + void setEditor(std::string const & name, std::string const & command); ++ /// Currently used by hyperlink insets and GuiCitation ++ bool viewURL(docstring const & url); + /// View the given file. Buffer used for DVI's paper orientation. + bool view(Buffer const & buffer, support::FileName const & filename, + std::string const & format_name) const; +diff --git a/src/insets/InsetHyperlink.cpp b/src/insets/InsetHyperlink.cpp +index 42dd691..7a293ff 100644 +--- a/src/insets/InsetHyperlink.cpp ++++ b/src/insets/InsetHyperlink.cpp +@@ -100,7 +100,10 @@ bool InsetHyperlink::getStatus(Cursor & cur, FuncRequest const & cmd, + + void InsetHyperlink::viewTarget() const + { +- if (getParam("type") == "file:") { ++ if (getParam("type").empty()) ++ formats.viewURL(getParam("target")); ++ ++ else if (getParam("type") == "file:") { + FileName url = makeAbsPath(to_utf8(getParam("target")), buffer().filePath()); + string const format = formats.getFormatFromFile(url); + formats.view(buffer(), url, format); +diff --git a/lib/ui/stdcontext.inc b/lib/ui/stdcontext.inc +index a8cf62e..8086b7f 100644 +--- a/lib/ui/stdcontext.inc ++++ b/lib/ui/stdcontext.inc +@@ -601,6 +601,8 @@ Menuset + # + Menu "context-hyperlink" + Item "Settings...|S" "inset-settings" ++ Separator ++ Item "Open Target...|O" "inset-edit" + End + + End +Index: stdinsets.inc +=================================================================== +--- a/lib/layouts/stdinsets.inc (revision 28602) ++++ a/lib/layouts/stdinsets.inc (working copy) +@@ -166,7 +166,7 @@ + Family typewriter + EndFont + LabelFont +- Color foreground ++ Color latex + Size Small + EndFont + BgColor listingsbg +Index: lib/ui/stdtoolbars.inc +=================================================================== +--- a/lib/ui/stdtoolbars.inc (revision 29259) ++++ b/lib/ui/stdtoolbars.inc (working copy) +@@ -91,6 +91,8 @@ + Item "Increase depth" "depth-increment" + Item "Decrease depth" "depth-decrement" + Separator ++ Item "Align center" "paragraph-params \align center" ++ Separator + Item "Insert figure float" "float-insert figure" + Item "Insert table float" "float-insert table" + Item "Insert label" "label-insert" +diff --git a/src/frontends/qt4/GuiCompleter.cpp b/src/frontends/qt4/GuiCompleter.cpp +index 89a889d..ac5088f 100644 +--- a/src/frontends/qt4/GuiCompleter.cpp ++++ b/src/frontends/qt4/GuiCompleter.cpp +@@ -165,7 +165,7 @@ GuiCompleter::GuiCompleter(GuiWorkArea * gui, QObject * parent) + model_ = new GuiCompletionModel(this, 0); + setModel(model_); + setCompletionMode(QCompleter::PopupCompletion); +- setCaseSensitivity(Qt::CaseSensitive); ++ setCaseSensitivity(Qt::CaseInsensitive); + setWidget(gui_); + + // create the popup +diff --git a/lib/ui/default.ui b/lib/ui/default.ui +index 4a1e154aab..94964d6a53 100644 +--- a/lib/ui/default.ui ++++ b/lib/ui/default.ui +@@ -48,15 +48,15 @@ Include "stdtoolbars.inc" + # + Toolbars + "standard" "on,top" +- "view/update" "on,top" ++ "view/update" "off,top" + "extra" "on,top,samerow" + "review" "auto,review,top" +- "vcs" "off,top" ++ "vcs" "on,top" + "table" "auto,table,bottom" + "math_panels" "auto,math,bottom" + "math" "auto,math,bottom" + "mathmacrotemplate" "auto,mathmacrotemplate,bottom" + "ipa" "auto,ipa,bottom" +- "minibuffer" "auto,minibuffer,bottom" ++ "minibuffer" "on,bottom" + "documentation" "off,top" + End +diff --git a/lib/ui/stdmenus.inc b/lib/ui/stdmenus.inc +index 37c1067c98..fc09c121b2 100644 +--- a/lib/ui/stdmenus.inc ++++ b/lib/ui/stdmenus.inc +@@ -414,6 +414,7 @@ Menuset + Item "Visible Space|V" "space-insert visible" + Item "Menu Separator|M" "specialchar-insert menu-separator" + Item "Phonetic Symbols|P" "ipa-insert" ++ Item "Visible Space|V" "unicode-insert 0x2423" + Submenu "Logos|L" "insert_logos" + End + +diff --git a/src/frontends/qt4/GuiApplication.cpp b/src/frontends/qt4/GuiApplication.cpp +index 323e654a41..fc339e44d2 100644 +--- a/src/frontends/qt4/GuiApplication.cpp ++++ b/src/frontends/qt4/GuiApplication.cpp +@@ -1022,7 +1022,7 @@ GuiApplication::GuiApplication(int & argc, char ** argv) + QString app_name = "LyX"; + QCoreApplication::setOrganizationName(app_name); + QCoreApplication::setOrganizationDomain("lyx.org"); +- QCoreApplication::setApplicationName(lyx_package); ++ QCoreApplication::setApplicationName("LyX"); + #if QT_VERSION >= 0x050000 + QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); + #endif diff --git a/app-office/lyx/files/legacy.patch b/app-office/lyx/files/legacy.patch new file mode 100644 index 0000000..d546851 --- /dev/null +++ b/app-office/lyx/files/legacy.patch @@ -0,0 +1,33 @@ +diff --git a/lib/scripts/legacy_lyxpreview2ppm.py b/lib/scripts/legacy_lyxpreview2ppm.py +index be242cc..3125006 100644 +--- a/lib/scripts/legacy_lyxpreview2ppm.py ++++ b/lib/scripts/legacy_lyxpreview2ppm.py +@@ -172,11 +172,18 @@ def legacy_latex_file(latex_file, fg_color, bg_color, bg_color_gr): + use_preview_dvi_re = re.compile("(\s*\\\\usepackage\[[^]]+)(dvips\]{preview})") + use_preview_pdf_re = re.compile("(\s*\\\\usepackage\[[^]]+)(pdftex\]{preview})") + ++ do_not_color_pictures_re = re.compile("(\\includegraphics)") ++ + tmp = mkstemp() + + success = 0 + try: + for line in open(latex_file, 'r').readlines(): ++ match = do_not_color_pictures_re.search(line) ++ if match != None: ++ tmp.write("\colorbox{white}{" + line + "}\n") ++ continue ++ + match = use_preview_dvi_re.match(line) + if match == None: + match = use_preview_pdf_re.match(line) +@@ -192,7 +199,7 @@ def legacy_latex_file(latex_file, fg_color, bg_color, bg_color_gr): + + success = 1 + tmp.write("%stightpage,%s\n" \ +- " \\AtBeginDocument{\\AtBeginDvi{%%\n" \ ++ " \\usepackage{color}\n\\AtBeginDocument{\\AtBeginDvi{%%\n" \ + " \\special{!userdict begin/bop-hook{//bop-hook exec\n" \ + " <%s%s>{255 div}forall setrgbcolor\n" \ + " clippath fill setrgbcolor}bind def end}}}\n" \ + diff --git a/app-office/lyx/lyx-2.3.99.ebuild b/app-office/lyx/lyx-2.3.99.ebuild new file mode 100644 index 0000000..e801033 --- /dev/null +++ b/app-office/lyx/lyx-2.3.99.ebuild @@ -0,0 +1,189 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 ) +inherit gnome2-utils xdg-utils flag-o-matic font python-single-r1 qmake-utils toolchain-funcs multilib desktop git-r3 + +MY_P="${P/_}" +EGIT_REPO_URI="git://git.lyx.org/lyx" +#EGIT_BRANCH="2.3.x" +EGIT_BRANCH="2.3.2-staging" + +S="${WORKDIR}/${MY_P}" +FONT_S="${S}/lib/fonts" +FONT_SUFFIX="ttf" +DESCRIPTION="WYSIWYM frontend for LaTeX, DocBook, etc." +HOMEPAGE="https://www.lyx.org/" +#SRC_URI="ftp://ftp.lyx.org/pub/lyx/stable/2.2.x/${MY_P}.tar.xz +# ftp://ftp.lyx.org/pub/lyx/devel/lyx-2.2/${MY_P}/${MY_P}.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="alpha amd64 ~hppa ia64 ppc ppc64 ~sparc x86 ~x64-macos ~x86-macos" +IUSE="aspell cups debug docbook dia dot enchant gnumeric html +hunspell +latex monolithic-build nls -qt5 rcs rtf subversion svg l10n_he" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RDEPEND="${PYTHON_DEPS} + dev-libs/boost:= + dev-texlive/texlive-fontsextra + sys-apps/file + sys-libs/zlib + virtual/imagemagick-tools[png,svg?] + aspell? ( app-text/aspell ) + cups? ( net-print/cups ) + dia? ( app-office/dia ) + docbook? ( app-text/sgmltools-lite ) + dot? ( media-gfx/graphviz ) + enchant? ( app-text/enchant ) + gnumeric? ( app-office/gnumeric ) + html? ( dev-tex/html2latex ) + hunspell? ( app-text/hunspell ) + latex? ( + app-text/dvipng + app-text/ghostscript-gpl + app-text/noweb + app-text/ps2eps + app-text/texlive + dev-tex/chktex + dev-tex/dvipost + dev-texlive/texlive-fontsrecommended + dev-texlive/texlive-latexextra + dev-texlive/texlive-pictures + || ( dev-texlive/texlive-mathscience dev-texlive/texlive-science ) + || ( dev-texlive/texlive-plaingeneric dev-texlive/texlive-genericextra ) + || ( + dev-tex/hevea + dev-tex/latex2html + dev-tex/tex4ht[java] + dev-tex/tth + ) + ) + l10n_he? ( dev-tex/culmus-latex ) + !qt5? ( + dev-qt/qtcore:4 + dev-qt/qtgui:4 + ) + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtsvg:5 + dev-qt/qtwidgets:5 + ) + rcs? ( dev-vcs/rcs ) + rtf? ( + app-text/unrtf + dev-tex/html2latex + dev-tex/latex2rtf + ) + subversion? ( dev-vcs/subversion ) + svg? ( || ( gnome-base/librsvg media-gfx/inkscape ) ) +" +DEPEND="${RDEPEND} + virtual/pkgconfig + nls? ( sys-devel/gettext ) + !qt5? ( dev-qt/qtsvg:4 ) + qt5? ( + dev-qt/qtconcurrent:5 + dev-qt/qtx11extras:5 + ) +" + +DOCS=( ANNOUNCE NEWS README RELEASE-NOTES UPGRADING ) + +PATCHES=( "${FILESDIR}"/2.3-python.patch "${FILESDIR}"/2.3.patches ) + +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() { + ./autogen.sh + 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) \ + --disable-stdlib-debug \ + --without-included-boost \ + --with-packaging=posix +} + +src_install() { + default + + if use l10n_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 + fi + + newicon -s 32 "${S}/development/Win32/packaging/icons/lyx_32x32.png" ${PN}.png + doicon -s 48 "${S}/lib/images/lyx.png" + doicon -s scalable "${S}/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_preinst() { + gnome2_icon_savelist +} + +pkg_postinst() { + font_pkg_postinst + gnome2_icon_cache_update + xdg_desktop_database_update + + # fix for bug 91108 + if use latex ; then + texhash + 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() { + gnome2_icon_cache_update + xdg_desktop_database_update + + if use latex ; then + texhash + fi +} -- cgit v1.2.3-65-gdbad