kde-frameworks/syntax-highlighting: Fix build and plaintext highlighting
authorAndreas Sturmlechner <asturm@gentoo.org>
Wed, 23 Aug 2017 18:53:58 +0000 (20:53 +0200)
committerAndreas Sturmlechner <asturm@gentoo.org>
Wed, 23 Aug 2017 19:30:57 +0000 (21:30 +0200)
KDE-bug: 383848, 383632
Package-Manager: Portage-2.3.8, Repoman-2.3.3

kde-frameworks/syntax-highlighting/files/syntax-highlighting-5.37.0-powershell.patch [new file with mode: 0644]
kde-frameworks/syntax-highlighting/files/syntax-highlighting-5.37.0-regexp.patch [new file with mode: 0644]
kde-frameworks/syntax-highlighting/syntax-highlighting-5.37.0-r1.ebuild [new file with mode: 0644]

diff --git a/kde-frameworks/syntax-highlighting/files/syntax-highlighting-5.37.0-powershell.patch b/kde-frameworks/syntax-highlighting/files/syntax-highlighting-5.37.0-powershell.patch
new file mode 100644 (file)
index 0000000..5da7999
--- /dev/null
@@ -0,0 +1,40 @@
+From 26daf7ee5b4a4534d918ed7d9e66d64cb30b0c26 Mon Sep 17 00:00:00 2001
+From: Till Schfer <till2.schaefer@tu-dortmund.de>
+Date: Tue, 22 Aug 2017 18:47:04 +0200
+Subject: fix: plaintext is highlighted as powershell
+
+Summary: see [[ https://bugs.kde.org/show_bug.cgi?id=383848 | Bug 383848 ]]
+
+Reviewers: #framework_syntax_hightlighting, vkrause
+
+Reviewed By: #framework_syntax_hightlighting, vkrause
+
+Subscribers: dhaumann, #framework_syntax_hightlighting
+
+Tags: #frameworks
+
+Differential Revision: https://phabricator.kde.org/D7464
+---
+ data/syntax/powershell.xml | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/data/syntax/powershell.xml b/data/syntax/powershell.xml
+index 3a38846..2b73cfe 100644
+--- a/data/syntax/powershell.xml
++++ b/data/syntax/powershell.xml
+@@ -1,11 +1,10 @@
+ <!DOCTYPE language SYSTEM "language.dtd">
+ <language
+   name="PowerShell"
+-  version="1"
++  version="2"
+   kateversion="5.0"
+   extensions="*.ps1;*.ps1m;*.ps1d"
+   section="Scripts"
+-  mimetype="text/plain"
+   author="Motoki Kashihara (motoki8791@gmail.com); Michael Lombardi (Michael.T.Lombardi@outlook.com)"
+   casesensitive="0"
+   license="LGPLv2+">
+-- 
+cgit v0.11.2
+
diff --git a/kde-frameworks/syntax-highlighting/files/syntax-highlighting-5.37.0-regexp.patch b/kde-frameworks/syntax-highlighting/files/syntax-highlighting-5.37.0-regexp.patch
new file mode 100644 (file)
index 0000000..f0a87e6
--- /dev/null
@@ -0,0 +1,86 @@
+From ad077e4045e650e1708b6c81d33a14f4a9c99a5d Mon Sep 17 00:00:00 2001
+From: Heiko Becker <heirecka@exherbo.org>
+Date: Wed, 23 Aug 2017 12:28:52 +0200
+Subject: Escape hyphen in rest.xml regular expressions
+
+Summary:
+The unescaped hyphen caused a build failure with pcre2-10.30 due to a broken
+regex: 'syntax-highlighting/data/syntax/rest.xml" line 27 broken regex:
+"^\\s*\\.\\. [w-_\\.]+::(\\s|$)" problem: "range out of order in character
+class" at offset 12'.
+
+The pcre2pattern documentation says this:
+
+"Perl treats a hyphen as a literal if it appears before or after a POSIX class
+(see below) or before or after a character type escape such as as \d or \H.
+However, unless the hyphen is the last character in the class, Perl outputs a
+warning in its warning mode, as this is most likely a user error. As PCRE2 has
+no facility for warning, an error is given in these cases."
+
+Test Plan:
+cmake && make && make test works fine pcre2-10.30, quick look at
+http://docutils.sourceforge.net/FAQ.txt in kate seems fine.
+
+Reviewers: #framework_syntax_hightlighting, kfunk
+
+Subscribers: #frameworks
+
+Tags: #frameworks
+
+BUG: 383632
+
+Differential Revision: https://phabricator.kde.org/D7478
+---
+ data/syntax/rest.xml | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/data/syntax/rest.xml b/data/syntax/rest.xml
+index 1363965..ccfd08a 100644
+--- a/data/syntax/rest.xml
++++ b/data/syntax/rest.xml
+@@ -11,7 +11,7 @@
+   Copyright 2010 Matt Williams (matt@milliams.com)
+   Copyright 2014 Matthew Woehlke (mw_triad@users.sourceforge.net)
+   -->
+-<language name="reStructuredText" extensions="*.rst" section="Markup" mimetype="text/x-rst" version="2" kateversion="2.4" casesensitive="1">
++<language name="reStructuredText" extensions="*.rst" section="Markup" mimetype="text/x-rst" version="3" kateversion="2.4" casesensitive="1">
+   <highlighting>
+@@ -24,11 +24,11 @@
+         <RegExpr attribute="Citation" context="#stay" String="^\s*\.\. \[[&SimpleReferenceNameChars;]+\]\s" minimal="true" column="0"/>
+         <RegExpr attribute="HyperlinkTarget" context="#stay" String="^\s*(\.\. (__:|_[&SimpleReferenceNameChars; ]+:(\s|$))|__ )" minimal="true" column="0"/>
+         <RegExpr attribute="Code" String="^\s*\.\. code-block::" context="CodeBlock" column="0"/>
+-        <RegExpr attribute="Directive" context="#stay" String="^\s*\.\. [\w-_\.]+::(\s|$)" minimal="true" column="0"/>
++        <RegExpr attribute="Directive" context="#stay" String="^\s*\.\. [\w\-_\.]+::(\s|$)" minimal="true" column="0"/>
+         <RegExpr attribute="Code" String="::$" context="CodeBlock" />
+         <RegExpr attribute="SubstitutionDefinition" context="#stay" String="^\s*\.\. \|[&SimpleReferenceNameChars; ]+\|\s+[&SimpleReferenceNameChars;]+::\s" minimal="true" column="0"/>
+         <RegExpr attribute="Field" String=":(?=([^:]*\\:)*[^:]*:(\s|$))" context="Field" firstNonSpace="true"/>
+-        <RegExpr attribute="Comment" context="Comment" String="^(\s*)\.\.\s(?![\w-_\.]+::(\s|$))" column="0"/>
++        <RegExpr attribute="Comment" context="Comment" String="^(\s*)\.\.\s(?![\w\-_\.]+::(\s|$))" column="0"/>
+       </context>
+       <context name="InlineMarkup" attribute="Normal" lineEndContext="#stay">
+@@ -38,8 +38,8 @@
+         <RegExpr attribute="FootnoteReference" context="#stay" String="&inlinestart;\[[&SimpleReferenceNameChars;]+\]_&inlineend;" minimal="true"/>
+         <RegExpr attribute="HyperlinkReference" context="#stay" String="&inlinestart;`[^\s].*`_&inlineend;" minimal="true"/>
+         <RegExpr attribute="HyperlinkReference" context="#stay" String="&inlinestart;\w+_&inlineend;" minimal="true"/>
+-        <RegExpr attribute="InterpretedText" context="TrailingRole" String="&inlinestart;`[^\s].*`(?=:[\w-_\.\+]+:)" minimal="true"/>
+-        <RegExpr attribute="Role" String=":[\w-_\.\+]+:(?=`)" context="Role"/>
++        <RegExpr attribute="InterpretedText" context="TrailingRole" String="&inlinestart;`[^\s].*`(?=:[\w\-_\.\+]+:)" minimal="true"/>
++        <RegExpr attribute="Role" String=":[\w\-_\.\+]+:(?=`)" context="Role"/>
+       </context>
+       <context name="Field" attribute="Field" lineEndContext="#stay">
+@@ -56,7 +56,7 @@
+         <DetectChar attribute="InterpretedText" char="`" context="#pop!InterpretedText" />
+       </context>
+       <context name="TrailingRole" attribute="Role" lineEndContext="#pop">
+-        <RegExpr attribute="Role" String=":[\w-_\.\+]+:" context="#pop"/>
++        <RegExpr attribute="Role" String=":[\w\-_\.\+]+:" context="#pop"/>
+       </context>
+       <context name="Comment" attribute="Comment" lineEndContext="#stay" dynamic="true">
+         <RegExpr attribute="Code" String="^%1   " context="#stay" column="0" dynamic="true"/>
+-- 
+cgit v0.11.2
+
diff --git a/kde-frameworks/syntax-highlighting/syntax-highlighting-5.37.0-r1.ebuild b/kde-frameworks/syntax-highlighting/syntax-highlighting-5.37.0-r1.ebuild
new file mode 100644 (file)
index 0000000..f97fb59
--- /dev/null
@@ -0,0 +1,32 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+KDE_TEST="forceoptional"
+inherit kde5
+
+DESCRIPTION="Framework for syntax highlighting"
+LICENSE="LGPL-2+ LGPL-2.1+"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="nls"
+
+RDEPEND="
+       $(add_qt_dep qtgui)
+       $(add_qt_dep qtnetwork)
+       $(add_qt_dep qtxmlpatterns)
+"
+DEPEND="${RDEPEND}
+       dev-lang/perl
+       nls? ( $(add_qt_dep linguist-tools) )
+"
+
+PATCHES=(
+       "${FILESDIR}/${P}-powershell.patch"
+       "${FILESDIR}/${P}-regexp.patch"
+)
+
+src_install() {
+       kde5_src_install
+       dobin "${BUILD_DIR}"/src/indexer/katehighlightingindexer
+}