changeset 4410:9b1f851080b6

qscitilla: update to 2.10.1 * src/qscintilla.mk: update version, checksum, use -std=c++11, use _qtX notation of lib names * src/qscintilla-1-fixes.patch: update patch * src/qscintilla-2-matlab-fold.patch: removed patch * src/qscintilla-3-matlab-block-comment.patch: update patch, rename => qscintilla-2-matlab-block-comment.patch * src/qscintilla-4-matlab-end-op.patch: update patch, rename => qscintilla-3-matlab-end-op.patch * dist-files.mk: add qscintilla-2-matlab-block-comment.patch, scintilla-3-matlab-end-op.patch, remove qscintilla-2-matlab-fold.patch qscintilla-4-matlab-end-op.patch qscintilla-3-matlab-block-comment.patch
author John D
date Mon, 10 Jul 2017 17:00:55 -0400
parents 60b45297db4a
children 6075fcecbc1a
files dist-files.mk src/qscintilla-1-fixes.patch src/qscintilla-2-matlab-block-comment.patch src/qscintilla-2-matlab-fold.patch src/qscintilla-3-matlab-block-comment.patch src/qscintilla-3-matlab-end-op.patch src/qscintilla-4-matlab-end-op.patch src/qscintilla.mk
diffstat 8 files changed, 124 insertions(+), 291 deletions(-) [+]
line wrap: on
line diff
--- a/dist-files.mk	Mon Jul 10 14:31:09 2017 -0400
+++ b/dist-files.mk	Mon Jul 10 17:00:55 2017 -0400
@@ -571,9 +571,8 @@
   qrupdate-1-fixes.patch \
   qrupdate.mk \
   qscintilla-1-fixes.patch \
-  qscintilla-2-matlab-fold.patch \
-  qscintilla-3-matlab-block-comment.patch \
-  qscintilla-4-matlab-end-op.patch \
+  qscintilla-2-matlab-block-comment.patch \
+  qscintilla-3-matlab-end-op.patch \
   qscintilla.mk \
   qt-1-cherrypicks.patch \
   qt-2-shared-tools-fixes.patch \
--- a/src/qscintilla-1-fixes.patch	Mon Jul 10 14:31:09 2017 -0400
+++ b/src/qscintilla-1-fixes.patch	Mon Jul 10 17:00:55 2017 -0400
@@ -1,12 +1,12 @@
-diff -ur QScintilla-gpl-2.9.2.orig/Qt4Qt5/qscintilla.pro QScintilla_gpl-2.9.2/Qt4Qt5/qscintilla.pro
---- QScintilla-gpl-2.9.2.orig/Qt4Qt5/qscintilla.pro	2016-09-09 09:27:33.180610774 -0400
-+++ QScintilla_gpl-2.9.2/Qt4Qt5/qscintilla.pro	2016-09-09 09:28:05.519426207 -0400
-@@ -24,7 +24,7 @@
+diff -ur QScintilla_gpl-2.10.1.orig/Qt4Qt5/qscintilla.pro QScintilla_gpl-2.10.1/Qt4Qt5/qscintilla.pro
+--- QScintilla_gpl-2.10.1.orig/Qt4Qt5/qscintilla.pro	2017-07-05 08:05:16.558914764 -0400
++++ QScintilla_gpl-2.10.1/Qt4Qt5/qscintilla.pro	2017-07-05 08:05:34.640424452 -0400
+@@ -23,7 +23,7 @@
+ !win32:VERSION = 13.0.0
  
  TEMPLATE = lib
- TARGET = qscintilla2
--CONFIG += qt warn_off release thread exceptions hide_symbols
+-CONFIG += qt warn_off thread exceptions hide_symbols
 +CONFIG += qt warn_off release thread exceptions
- INCLUDEPATH += . ../include ../lexlib ../src
  
- !CONFIG(staticlib) {
+ CONFIG(debug, debug|release) {
+     mac: {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/qscintilla-2-matlab-block-comment.patch	Mon Jul 10 17:00:55 2017 -0400
@@ -0,0 +1,67 @@
+diff -ur QScintilla_gpl-2.10.1.orig/lexers/LexMatlab.cpp QScintilla_gpl-2.10.1/lexers/LexMatlab.cpp
+--- QScintilla_gpl-2.10.1.orig/lexers/LexMatlab.cpp	2017-07-05 08:05:16.545914398 -0400
++++ QScintilla_gpl-2.10.1/lexers/LexMatlab.cpp	2017-07-05 08:19:56.616722104 -0400
+@@ -73,6 +73,15 @@
+ 	return 0;
+ }
+ 
++static bool IsSpaceToEOL(Sci_PositionU startPos, Accessor &styler) {
++        Sci_Position line = styler.GetLine(startPos);
++	Sci_PositionU eol_pos = styler.LineStart(line + 1) - 1;
++	for (Sci_PositionU i = startPos; i < eol_pos; i++) {
++		char ch = styler[i];
++		if(!IsASpace(ch)) return false;
++	}
++	return true;
++}
+ 
+ static void ColouriseMatlabOctaveDoc(
+             Sci_PositionU startPos, Sci_Position length, int initStyle,
+@@ -180,7 +189,7 @@
+ 			}
+ 		} else if (sc.state == SCE_MATLAB_COMMENT) {
+ 			// end or start of a nested a block comment?
+-			if( IsCommentChar(sc.ch) && sc.chNext == '}' && nonSpaceColumn == column) {
++			if( IsCommentChar(sc.ch) && sc.chNext == '}' && nonSpaceColumn == column && IsSpaceToEOL(sc.currentPos+2, styler)) {
+                            	if(commentDepth > 0) commentDepth --;
+ 
+ 				curLine = styler.GetLine(sc.currentPos);
+@@ -192,7 +201,7 @@
+ 					transpose = false;
+ 				}
+                         }
+-                        else if( IsCommentChar(sc.ch) && sc.chNext == '{' && nonSpaceColumn == column)
++                        else if( IsCommentChar(sc.ch) && sc.chNext == '{' && nonSpaceColumn == column && IsSpaceToEOL(sc.currentPos+2, styler))
+                         {
+  				commentDepth ++;
+ 
+@@ -213,9 +222,12 @@
+ 		// check start of a new state
+ 		if (sc.state == SCE_MATLAB_DEFAULT) {
+ 			if (IsCommentChar(sc.ch)) {
+-				// ncrement depth if we are a block comment
+-				if(sc.chNext == '{' && nonSpaceColumn == column)
+-					commentDepth ++;
++				// Increment depth if we are a block comment
++				if(sc.chNext == '{' && nonSpaceColumn == column) {
++					if(IsSpaceToEOL(sc.currentPos+2, styler)) {
++						commentDepth ++;
++					}
++				}
+ 				curLine = styler.GetLine(sc.currentPos);
+ 				styler.SetLineState(curLine, commentDepth);
+ 				sc.SetState(SCE_MATLAB_COMMENT);
+@@ -288,9 +300,9 @@
+ 		// a line that starts with a comment
+ 		if (style == SCE_MATLAB_COMMENT && IsComment(ch) && visibleChars == 0) {
+ 			// start/end of block comment 
+-			if (chNext == '{')
++			if (chNext == '{' && IsSpaceToEOL(i+2, styler))
+ 				levelNext ++;
+-			if (chNext == '}')
++			if (chNext == '}' && IsSpaceToEOL(i+2, styler))
+ 				levelNext --;
+ 		}
+ 		// keyword
+Only in QScintilla_gpl-2.10.1/lexers: LexMatlab.cpp.orig
+Only in QScintilla_gpl-2.10.1/lexers: LexMatlab.cpp.rej
--- a/src/qscintilla-2-matlab-fold.patch	Mon Jul 10 14:31:09 2017 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,169 +0,0 @@
-diff -ur QScintilla_gpl-2.9.3.orig/lexers/LexMatlab.cpp QScintilla_gpl-2.9.3/lexers/LexMatlab.cpp
---- QScintilla_gpl-2.9.3.orig/lexers/LexMatlab.cpp	2016-11-15 10:56:48.705675755 -0500
-+++ QScintilla_gpl-2.9.3/lexers/LexMatlab.cpp	2016-11-15 18:03:03.938533646 -0500
-@@ -15,6 +15,9 @@
-  **
-  ** Changes by John Donoghue 2014/08/01
-  **   - fix allowed transpose ' after {} operator
-+ **
-+ ** Changes by John Donoghue 2016/11/15
-+ **   - update matlab code folding
-  **/
- // Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org>
- // The License.txt file describes the conditions under which this software may be distributed.
-@@ -48,15 +51,27 @@
- static bool IsOctaveCommentChar(int c) {
- 	return (c == '%' || c == '#') ;
- }
--
--static bool IsMatlabComment(Accessor &styler, int pos, int len) {
--	return len > 0 && IsMatlabCommentChar(styler[pos]) ;
-+static inline int LowerCase(int c) {
-+	if (c >= 'A' && c <= 'Z')
-+		return 'a' + c - 'A';
-+	return c;
- }
- 
--static bool IsOctaveComment(Accessor &styler, int pos, int len) {
--	return len > 0 && IsOctaveCommentChar(styler[pos]) ;
-+static int CheckKeywordFoldPoint(char *str) {
-+	if (strcmp ("if", str) == 0 ||
-+		strcmp ("for", str) == 0 ||
-+		strcmp ("switch", str) == 0 ||
-+		strcmp ("try", str) == 0 ||
-+		strcmp ("do", str) == 0 ||
-+		strcmp ("parfor", str) == 0 ||
-+		strcmp ("function", str) == 0)
-+		return 1;
-+	if (strncmp("end", str, 3) == 0 ||
-+		strcmp("until", str) == 0)
-+		return -1;
-+	return 0;
- }
--
-+ 
- static void ColouriseMatlabOctaveDoc(
-             unsigned int startPos, int length, int initStyle,
-             WordList *keywordlists[], Accessor &styler,
-@@ -245,58 +260,83 @@
- 	ColouriseMatlabOctaveDoc(startPos, length, initStyle, keywordlists, styler, IsOctaveCommentChar, false);
- }
- 
--static void FoldMatlabOctaveDoc(unsigned int startPos, int length, int,
-+static void FoldMatlabOctaveDoc(unsigned int startPos, int length, int initStyle,
-                                 WordList *[], Accessor &styler,
--                                bool (*IsComment)(Accessor&, int, int)) {
--
--	int endPos = startPos + length;
-+                                bool (*IsComment)(int)) {
- 
--	// Backtrack to previous line in case need to fix its fold status
--	int lineCurrent = styler.GetLine(startPos);
--	if (startPos > 0) {
--		if (lineCurrent > 0) {
--			lineCurrent--;
--			startPos = styler.LineStart(lineCurrent);
-+	unsigned int endPos = startPos + length;
-+	int visibleChars = 0;
-+ 	unsigned int lineCurrent = styler.GetLine(startPos);
-+	int levelCurrent = SC_FOLDLEVELBASE;
-+	if (lineCurrent > 0)
-+		levelCurrent = styler.LevelAt(lineCurrent-1) >> 16;
-+	int levelNext = levelCurrent;
-+ 	char chNext = styler[startPos];
-+	int styleNext = styler.StyleAt(startPos);
-+	int style = initStyle;
-+	char word[100];
-+	int wordlen = 0;
-+	for (unsigned int i = startPos; i < endPos; i++) {
-+ 		char ch = chNext;
-+ 		chNext = styler.SafeGetCharAt(i + 1);
-+
-+		style = styleNext;
-+		styleNext = styler.StyleAt(i + 1);
-+		bool atEOL = (ch == '\r' && chNext != '\n') || (ch == '\n');
-+	
-+		// a line that starts with a comment
-+		if (style == SCE_MATLAB_COMMENT && IsComment(ch) && visibleChars == 0) {
-+			// start/end of block comment 
-+			if (chNext == '{')
-+				levelNext ++;
-+			if (chNext == '}')
-+				levelNext --;
- 		}
--	}
--	int spaceFlags = 0;
--	int indentCurrent = styler.IndentAmount(lineCurrent, &spaceFlags, IsComment);
--	char chNext = styler[startPos];
--	for (int i = startPos; i < endPos; i++) {
--		char ch = chNext;
--		chNext = styler.SafeGetCharAt(i + 1);
--
--		if ((ch == '\r' && chNext != '\n') || (ch == '\n') || (i == endPos)) {
--			int lev = indentCurrent;
--			int indentNext = styler.IndentAmount(lineCurrent + 1, &spaceFlags, IsComment);
--			if (!(indentCurrent & SC_FOLDLEVELWHITEFLAG)) {
--				// Only non whitespace lines can be headers
--				if ((indentCurrent & SC_FOLDLEVELNUMBERMASK) < (indentNext & SC_FOLDLEVELNUMBERMASK)) {
--					lev |= SC_FOLDLEVELHEADERFLAG;
--				} else if (indentNext & SC_FOLDLEVELWHITEFLAG) {
--					// Line after is blank so check the next - maybe should continue further?
--					int spaceFlags2 = 0;
--					int indentNext2 = styler.IndentAmount(lineCurrent + 2, &spaceFlags2, IsComment);
--					if ((indentCurrent & SC_FOLDLEVELNUMBERMASK) < (indentNext2 & SC_FOLDLEVELNUMBERMASK)) {
--						lev |= SC_FOLDLEVELHEADERFLAG;
--					}
--				}
-+		// keyword
-+		if(style == SCE_MATLAB_KEYWORD) {
-+			word[wordlen++] = static_cast<char>(LowerCase(ch));
-+			if (wordlen == 100) {  // prevent overflow
-+				word[0] = '\0';
-+				wordlen = 1;
-+			}
-+			if (styleNext !=  SCE_MATLAB_KEYWORD) {
-+				word[wordlen] = '\0';
-+				wordlen = 0;
-+	
-+				levelNext += CheckKeywordFoldPoint(word);
-+			}
-+		}
-+		if (!IsASpace(ch))
-+			visibleChars++;
-+		if (atEOL || (i == endPos-1)) {
-+			int levelUse = levelCurrent;
-+			int lev = levelUse | levelNext << 16;
-+			if (visibleChars == 0)
-+				lev |= SC_FOLDLEVELWHITEFLAG;
-+			if (levelUse < levelNext)
-+				lev |= SC_FOLDLEVELHEADERFLAG;
-+			if (lev != styler.LevelAt(lineCurrent)) {
-+				styler.SetLevel(lineCurrent, lev);
- 			}
--			indentCurrent = indentNext;
--			styler.SetLevel(lineCurrent, lev);
- 			lineCurrent++;
-+			levelCurrent = levelNext;
-+			if (atEOL && (i == static_cast<unsigned int>(styler.Length() - 1))) {
-+				// There is an empty line at end of file so give it same level and empty
-+				styler.SetLevel(lineCurrent, (levelCurrent | levelCurrent << 16) | SC_FOLDLEVELWHITEFLAG);
-+			}
-+			visibleChars = 0;
- 		}
--	}
-+ 	}
- }
- 
- static void FoldMatlabDoc(unsigned int startPos, int length, int initStyle,
-                           WordList *keywordlists[], Accessor &styler) {
--	FoldMatlabOctaveDoc(startPos, length, initStyle, keywordlists, styler, IsMatlabComment);
-+	FoldMatlabOctaveDoc(startPos, length, initStyle, keywordlists, styler, IsMatlabCommentChar);
- }
- 
- static void FoldOctaveDoc(unsigned int startPos, int length, int initStyle,
-                           WordList *keywordlists[], Accessor &styler) {
--	FoldMatlabOctaveDoc(startPos, length, initStyle, keywordlists, styler, IsOctaveComment);
-+	FoldMatlabOctaveDoc(startPos, length, initStyle, keywordlists, styler, IsOctaveCommentChar);
- }
- 
- static const char * const matlabWordListDesc[] = {
--- a/src/qscintilla-3-matlab-block-comment.patch	Mon Jul 10 14:31:09 2017 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-diff -ur QScintilla_gpl-2.9.3.orig/lexers/LexMatlab.cpp QScintilla_gpl-2.9.3/lexers/LexMatlab.cpp
---- QScintilla_gpl-2.9.3.orig/lexers/LexMatlab.cpp	2017-01-18 08:06:39.577378613 -0500
-+++ QScintilla_gpl-2.9.3/lexers/LexMatlab.cpp	2017-01-18 08:21:30.775353161 -0500
-@@ -71,6 +71,16 @@
- 		return -1;
- 	return 0;
- }
-+
-+static bool IsSpaceToEOL(unsigned int startPos, Accessor &styler) {
-+        int line = styler.GetLine(startPos);
-+	unsigned int eol_pos = styler.LineStart(line + 1) - 1;
-+	for (unsigned int i = startPos; i < eol_pos; i++) {
-+		char ch = styler[i];
-+		if(!IsASpace(ch)) return false;
-+	}
-+	return true;
-+}
-  
- static void ColouriseMatlabOctaveDoc(
-             unsigned int startPos, int length, int initStyle,
-@@ -178,7 +188,7 @@
- 			}
- 		} else if (sc.state == SCE_MATLAB_COMMENT) {
- 			// end or start of a nested a block comment?
--			if( IsCommentChar(sc.ch) && sc.chNext == '}' && nonSpaceColumn == column) {
-+			if( IsCommentChar(sc.ch) && sc.chNext == '}' && nonSpaceColumn == column && IsSpaceToEOL(sc.currentPos+2, styler)) {
-                            	if(commentDepth > 0) commentDepth --;
-  
- 				curLine = styler.GetLine(sc.currentPos);
-@@ -190,7 +200,7 @@
- 					transpose = false;
- 				}
-                         }
--                        else if( IsCommentChar(sc.ch) && sc.chNext == '{' && nonSpaceColumn == column)
-+                        else if( IsCommentChar(sc.ch) && sc.chNext == '{' && nonSpaceColumn == column && IsSpaceToEOL(sc.currentPos+2, styler))
-                         {
-  				commentDepth ++;
- 
-@@ -211,9 +221,12 @@
- 		// check start of a new state
- 		if (sc.state == SCE_MATLAB_DEFAULT) {
- 			if (IsCommentChar(sc.ch)) {
--				// ncrement depth if we are a block comment
--				if(sc.chNext == '{' && nonSpaceColumn == column)
--					commentDepth ++;
-+				// Increment depth if we are a block comment
-+				if(sc.chNext == '{' && nonSpaceColumn == column) {
-+					if(IsSpaceToEOL(sc.currentPos+2, styler)) {
-+						commentDepth ++;
-+					}
-+				}
- 				curLine = styler.GetLine(sc.currentPos);
- 				styler.SetLineState(curLine, commentDepth);
- 				sc.SetState(SCE_MATLAB_COMMENT);
-@@ -287,9 +300,9 @@
- 		// a line that starts with a comment
- 		if (style == SCE_MATLAB_COMMENT && IsComment(ch) && visibleChars == 0) {
- 			// start/end of block comment 
--			if (chNext == '{')
-+			if (chNext == '{' && IsSpaceToEOL(i+2, styler))
- 				levelNext ++;
--			if (chNext == '}')
-+			if (chNext == '}' && IsSpaceToEOL(i+2, styler))
- 				levelNext --;
- 		}
- 		// keyword
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/qscintilla-3-matlab-end-op.patch	Mon Jul 10 17:00:55 2017 -0400
@@ -0,0 +1,38 @@
+diff -ur QScintilla_gpl-2.10.1.orig/lexers/LexMatlab.cpp QScintilla_gpl-2.10.1/lexers/LexMatlab.cpp
+--- QScintilla_gpl-2.10.1.orig/lexers/LexMatlab.cpp	2017-07-05 08:21:58.527158553 -0400
++++ QScintilla_gpl-2.10.1/lexers/LexMatlab.cpp	2017-07-05 08:22:26.304941561 -0400
+@@ -97,6 +97,9 @@
+ 	// of a string
+ 	bool transpose = false;
+ 
++	// count for brackets for when 'end' could be an operator not a keyword
++	int allow_end_op = 0;
++
+ 	// approximate position of first non space character in a line
+ 	int nonSpaceColumn = -1;
+ 	// approximate column position of the current character in a line
+@@ -151,6 +154,9 @@
+ 				char s[100];
+ 				sc.GetCurrentLowered(s, sizeof(s));
+ 				if (keywords.InList(s)) {
++					if (strcmp ("end", s) == 0 && allow_end_op > 0) {
++						sc.ChangeState(SCE_MATLAB_NUMBER);
++					}
+ 					sc.SetState(SCE_MATLAB_DEFAULT);
+ 					transpose = false;
+ 				} else {
+@@ -250,6 +256,12 @@
+ 			} else if (isalpha(sc.ch)) {
+ 				sc.SetState(SCE_MATLAB_KEYWORD);
+ 			} else if (isoperator(static_cast<char>(sc.ch)) || sc.ch == '@' || sc.ch == '\\') {
++				if (sc.ch == '(' || sc.ch == '[' || sc.ch == '{') {
++					allow_end_op ++;
++				} else if ((sc.ch == ')' || sc.ch == ']' || sc.ch == '}') && (allow_end_op > 0)) {
++					allow_end_op --;
++				}
++
+ 				if (sc.ch == ')' || sc.ch == ']' || sc.ch == '}') {
+ 					transpose = true;
+ 				} else {
+Only in QScintilla_gpl-2.10.1/lexers: LexMatlab.cpp.orig
+Only in QScintilla_gpl-2.10.1/lexers: LexMatlab.cpp.rej
--- a/src/qscintilla-4-matlab-end-op.patch	Mon Jul 10 14:31:09 2017 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-diff -ur QScintilla_gpl-2.9.3.orig/lexers/LexMatlab.cpp QScintilla_gpl-2.9.3/lexers/LexMatlab.cpp
---- QScintilla_gpl-2.9.3.orig/lexers/LexMatlab.cpp	2017-06-26 15:15:10.807062925 -0400
-+++ QScintilla_gpl-2.9.3/lexers/LexMatlab.cpp	2017-06-28 11:28:33.474725694 -0400
-@@ -96,6 +96,9 @@
- 	// of a string
- 	bool transpose = false;
- 
-+	// count for brackets for when 'end' could be an operator not a keyword
-+	int allow_end_op = 0;
-+
- 	// approximate position of first non space character in a line
- 	int nonSpaceColumn = -1;
- 	// approximate column position of the current character in a line
-@@ -150,6 +153,9 @@
- 				char s[100];
- 				sc.GetCurrentLowered(s, sizeof(s));
- 				if (keywords.InList(s)) {
-+					if (strcmp ("end", s) == 0 && allow_end_op > 0) {
-+						sc.ChangeState(SCE_MATLAB_NUMBER);
-+					}
- 					sc.SetState(SCE_MATLAB_DEFAULT);
- 					transpose = false;
- 				} else {
-@@ -249,6 +255,12 @@
- 			} else if (isalpha(sc.ch)) {
- 				sc.SetState(SCE_MATLAB_KEYWORD);
- 			} else if (isoperator(static_cast<char>(sc.ch)) || sc.ch == '@' || sc.ch == '\\') {
-+				if (sc.ch == '(' || sc.ch == '[' || sc.ch == '{') {
-+					allow_end_op ++;
-+				} else if ((sc.ch == ')' || sc.ch == ']' || sc.ch == '}') && (allow_end_op > 0)) {
-+					allow_end_op --;
-+				}
-+
- 				if (sc.ch == ')' || sc.ch == ']' || sc.ch == '}') {
- 					transpose = true;
- 				} else {
-Only in QScintilla_gpl-2.9.3/lexers: .LexMatlab.cpp.swp
--- a/src/qscintilla.mk	Mon Jul 10 14:31:09 2017 -0400
+++ b/src/qscintilla.mk	Mon Jul 10 17:00:55 2017 -0400
@@ -3,8 +3,8 @@
 
 PKG             := qscintilla
 $(PKG)_IGNORE   :=
-$(PKG)_VERSION  := 2.9.3
-$(PKG)_CHECKSUM := d62c36272f47a176177613dd8260961d50d0ed64
+$(PKG)_VERSION  := 2.10.1
+$(PKG)_CHECKSUM := f12499c18d80cb59fa46df3ee76ad2c66692e818
 $(PKG)_SUBDIR   := QScintilla_gpl-$($(PKG)_VERSION)
 $(PKG)_FILE     := QScintilla_gpl-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := http://sourceforge.net/projects/pyqt/files/QScintilla2/QScintilla-$($(PKG)_VERSION)/$($(PKG)_FILE)
@@ -44,7 +44,8 @@
 endif
 
 define $(PKG)_BUILD
-    cd '$(1)/Qt4Qt5' && '$(MXE_QMAKE)' -makefile $($(PKG)_QMAKE_SPEC_OPTION) QMAKE_UIC=$(MXE_UIC) QMAKE_MOC=$(MXE_MOC)
+    cd '$(1)/Qt4Qt5' && '$(MXE_QMAKE)' -makefile $($(PKG)_QMAKE_SPEC_OPTION) QMAKE_UIC=$(MXE_UIC) \
+        QMAKE_MOC=$(MXE_MOC) QMAKE_CXXFLAGS='-std=c++11'
 
     if [ $(MXE_SYSTEM) = msvc ]; then \
         mkdir -p '$(3)' && \
@@ -59,14 +60,14 @@
 
     if [ $(MXE_SYSTEM)$(ENABLE_QT5) = mingwyes ]; then \
         $(INSTALL) -d '$($(PKG)_INSTALL_ROOT)$(HOST_PREFIX)/qt5/lib'; \
-        $(INSTALL) -m755 '$($(PKG)_INSTALL_ROOT)$(HOST_PREFIX)/qt5/lib/$(LIBRARY_PREFIX)qscintilla2$(LIBRARY_SUFFIX).dll' '$($(PKG)_INSTALL_ROOT)$(HOST_PREFIX)/qt5/bin/'; \
-        rm -f '$($(PKG)_INSTALL_ROOT)$(HOST_PREFIX)/qt5/lib/$(LIBRARY_PREFIX)qscintilla2$(LIBRARY_SUFFIX).dll'; \
-        $(INSTALL) -m755 '$($(PKG)_INSTALL_ROOT)$(HOST_PREFIX)/qt5/lib/libqscintilla2.a' '$($(PKG)_INSTALL_ROOT)$(HOST_PREFIX)/qt5/lib/libqscintilla2-qt5.a'; \
+        $(INSTALL) -m755 '$($(PKG)_INSTALL_ROOT)$(HOST_PREFIX)/qt5/lib/$(LIBRARY_PREFIX)qscintilla2_qt5$(LIBRARY_SUFFIX).dll' '$($(PKG)_INSTALL_ROOT)$(HOST_PREFIX)/qt5/bin/'; \
+        rm -f '$($(PKG)_INSTALL_ROOT)$(HOST_PREFIX)/qt5/lib/$(LIBRARY_PREFIX)qscintilla2_qt5$(LIBRARY_SUFFIX).dll'; \
     fi
     if [ $(MXE_SYSTEM)$(ENABLE_QT5) = mingwno ]; then \
         $(INSTALL) -d '$($(PKG)_INSTALL_ROOT)$(HOST_BINDIR)'; \
-        $(INSTALL) -m755 '$($(PKG)_INSTALL_ROOT)$(HOST_LIBDIR)/$(LIBRARY_PREFIX)qscintilla2$(LIBRARY_SUFFIX).dll' '$($(PKG)_INSTALL_ROOT)$(HOST_BINDIR)/'; \
-        rm -f '$($(PKG)_INSTALL_ROOT)$(HOST_LIBDIR)/$(LIBRARY_PREFIX)qscintilla2$(LIBRARY_SUFFIX).dll'; \
+        $(INSTALL) -m755 '$($(PKG)_INSTALL_ROOT)$(HOST_LIBDIR)/$(LIBRARY_PREFIX)qscintilla2_qt4$(LIBRARY_SUFFIX).dll' '$($(PKG)_INSTALL_ROOT)$(HOST_BINDIR)/'; \
+        rm -f '$($(PKG)_INSTALL_ROOT)$(HOST_LIBDIR)/$(LIBRARY_PREFIX)qscintilla2_qt4$(LIBRARY_SUFFIX).dll'; \
+	$(INSTALL) -m755 '$($(PKG)_INSTALL_ROOT)$(HOST_LIBDIR)/libqscintilla2_qt4.a' '$($(PKG)_INSTALL_ROOT)$(HOST_LIBDIR)/libqscintilla2.a'; \
     fi