1 |
commit: 01e26b007b888ff0b0931f41531319de2a8fbb8f |
2 |
Author: Matthias Maier <tamiko <AT> gentoo <DOT> org> |
3 |
AuthorDate: Thu Dec 10 23:25:08 2015 +0000 |
4 |
Commit: Matthias Maier <tamiko <AT> gentoo <DOT> org> |
5 |
CommitDate: Thu Dec 10 23:47:18 2015 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=01e26b00 |
7 |
|
8 |
app-doc/doxygen: fix version check for sys-devel/flex-2.6.0 |
9 |
|
10 |
Apply a patch to fix doxygen's build system to successfully detect |
11 |
flex-2.6.0 as sufficiently modern version. The build system accidentally |
12 |
only compared the minor version number... |
13 |
|
14 |
Upstream: https://github.com/doxygen/doxygen/pull/413 |
15 |
|
16 |
Gentoo-Bug: 567018 |
17 |
|
18 |
Package-Manager: portage-2.2.26 |
19 |
|
20 |
app-doc/doxygen/doxygen-1.8.10-r1.ebuild | 2 +- |
21 |
.../files/doxygen-1.8.10-fix_flex_check.patch | 96 ++++++++++++++++++++++ |
22 |
2 files changed, 97 insertions(+), 1 deletion(-) |
23 |
|
24 |
diff --git a/app-doc/doxygen/doxygen-1.8.10-r1.ebuild b/app-doc/doxygen/doxygen-1.8.10-r1.ebuild |
25 |
index 4682421..54a13b3 100644 |
26 |
--- a/app-doc/doxygen/doxygen-1.8.10-r1.ebuild |
27 |
+++ b/app-doc/doxygen/doxygen-1.8.10-r1.ebuild |
28 |
@@ -101,8 +101,8 @@ src_prepare() { |
29 |
# Call dot with -Teps instead of -Tps for EPS generation - bug #282150 |
30 |
sed -i -e '/addJob("ps"/ s/"ps"/"eps"/g' src/dot.cpp || die |
31 |
|
32 |
- # prefix search tools patch, plus OSX fixes |
33 |
epatch "${FILESDIR}"/${PN}-1.8.9.1-empty-line-sigsegv.patch #454348 |
34 |
+ epatch "${FILESDIR}"/${P}-fix_flex_check.patch #567018 |
35 |
|
36 |
epatch "${FILESDIR}"/${P}-link_with_pthread.patch |
37 |
|
38 |
|
39 |
diff --git a/app-doc/doxygen/files/doxygen-1.8.10-fix_flex_check.patch b/app-doc/doxygen/files/doxygen-1.8.10-fix_flex_check.patch |
40 |
new file mode 100644 |
41 |
index 0000000..24a3b64 |
42 |
--- /dev/null |
43 |
+++ b/app-doc/doxygen/files/doxygen-1.8.10-fix_flex_check.patch |
44 |
@@ -0,0 +1,96 @@ |
45 |
+From 5fcb13572417a3b4a05217e9023c683864f35643 Mon Sep 17 00:00:00 2001 |
46 |
+From: Heiko Becker <heirecka@×××××××.org> |
47 |
+Date: Thu, 19 Nov 2015 12:00:54 +0100 |
48 |
+Subject: [PATCH] Support flex-2.6.0 |
49 |
+ |
50 |
+The version checks only considered YY_FLEX_SUBMINOR_VERSION and did not |
51 |
+take YY_FLEX_MINOR_VERSION into account, which made them fail with |
52 |
+flex-2.6.0. |
53 |
+ |
54 |
+diff --git a/src/code.l b/src/code.l |
55 |
+index 3323580..25719af 100644 |
56 |
+--- a/src/code.l |
57 |
++++ b/src/code.l |
58 |
+@@ -3700,7 +3700,7 @@ void codeFreeScanner() |
59 |
+ extern "C" { // some bogus code to keep the compiler happy |
60 |
+ void codeYYdummy() { yy_flex_realloc(0,0); } |
61 |
+ } |
62 |
+-#elif YY_FLEX_SUBMINOR_VERSION<33 |
63 |
++#elif YY_FLEX_MINOR_VERSION<6 && YY_FLEX_SUBMINOR_VERSION<33 |
64 |
+ #error "You seem to be using a version of flex newer than 2.5.4 but older than 2.5.33. These versions do NOT work with doxygen! Please use version <=2.5.4 or >=2.5.33 or expect things to be parsed wrongly!" |
65 |
+ #endif |
66 |
+ |
67 |
+diff --git a/src/commentscan.l b/src/commentscan.l |
68 |
+index cf892a0..2629857 100644 |
69 |
+--- a/src/commentscan.l |
70 |
++++ b/src/commentscan.l |
71 |
+@@ -1128,7 +1128,7 @@ RCSTAG "$"{ID}":"[^\n$]+"$" |
72 |
+ // but we need to know the position in the input buffer where this |
73 |
+ // rule matched. |
74 |
+ // for flex 2.5.33+ we should use YY_CURRENT_BUFFER_LVALUE |
75 |
+-#if YY_FLEX_MINOR_VERSION>=5 && YY_FLEX_SUBMINOR_VERSION>=33 |
76 |
++#if YY_FLEX_MINOR_VERSION>5 || YY_FLEX_MINOR_VERSION>=5 && YY_FLEX_SUBMINOR_VERSION>=33 |
77 |
+ inputPosition=prevPosition + (int)(yy_bp - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf); |
78 |
+ #else |
79 |
+ inputPosition=prevPosition + (int)(yy_bp - yy_current_buffer->yy_ch_buf); |
80 |
+@@ -1190,7 +1190,7 @@ RCSTAG "$"{ID}":"[^\n$]+"$" |
81 |
+ g_memberGroupHeader.resize(0); |
82 |
+ parseMore=TRUE; |
83 |
+ needNewEntry = TRUE; |
84 |
+-#if YY_FLEX_MINOR_VERSION>=5 && YY_FLEX_SUBMINOR_VERSION>=33 |
85 |
++#if YY_FLEX_MINOR_VERSION>5 || YY_FLEX_MINOR_VERSION>=5 && YY_FLEX_SUBMINOR_VERSION>=33 |
86 |
+ inputPosition=prevPosition + (int)(yy_bp - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf) + strlen(yytext); |
87 |
+ #else |
88 |
+ inputPosition=prevPosition + (int)(yy_bp - yy_current_buffer->yy_ch_buf) + strlen(yytext); |
89 |
+diff --git a/src/fortrancode.l b/src/fortrancode.l |
90 |
+index fb91a83..352912b 100644 |
91 |
+--- a/src/fortrancode.l |
92 |
++++ b/src/fortrancode.l |
93 |
+@@ -1306,7 +1306,7 @@ void parseFortranCode(CodeOutputInterface &od,const char *className,const QCStri |
94 |
+ extern "C" { // some bogus code to keep the compiler happy |
95 |
+ void fortrancodeYYdummy() { yy_flex_realloc(0,0); } |
96 |
+ } |
97 |
+-#elif YY_FLEX_SUBMINOR_VERSION<33 |
98 |
++#elif YY_FLEX_MINOR_VERSION<6 && YY_FLEX_SUBMINOR_VERSION<33 |
99 |
+ #error "You seem to be using a version of flex newer than 2.5.4 but older than 2.5.33. These versions do NOT work with doxygen! Please use version <=2.5.4 or >=2.5.33 or expect things to be parsed wrongly!" |
100 |
+ #else |
101 |
+ extern "C" { // some bogus code to keep the compiler happy |
102 |
+diff --git a/src/pycode.l b/src/pycode.l |
103 |
+index 3c41a69..f58f7c1 100644 |
104 |
+--- a/src/pycode.l |
105 |
++++ b/src/pycode.l |
106 |
+@@ -1503,7 +1503,7 @@ void parsePythonCode(CodeOutputInterface &od,const char * /*className*/, |
107 |
+ extern "C" { // some bogus code to keep the compiler happy |
108 |
+ void pycodeYYdummy() { yy_flex_realloc(0,0); } |
109 |
+ } |
110 |
+-#elif YY_FLEX_SUBMINOR_VERSION<33 |
111 |
++#elif YY_FLEX_MINOR_VERSION<6 && YY_FLEX_SUBMINOR_VERSION<33 |
112 |
+ #error "You seem to be using a version of flex newer than 2.5.4. These are currently incompatible with 2.5.4, and do NOT work with doxygen! Please use version 2.5.4 or expect things to be parsed wrongly! A bug report has been submitted (#732132)." |
113 |
+ #endif |
114 |
+ |
115 |
+diff --git a/src/vhdlcode.l b/src/vhdlcode.l |
116 |
+index 369ae48..6957048 100644 |
117 |
+--- a/src/vhdlcode.l |
118 |
++++ b/src/vhdlcode.l |
119 |
+@@ -1613,7 +1613,7 @@ void codeFreeVhdlScanner() |
120 |
+ extern "C" { // some bogus code to keep the compiler happy |
121 |
+ void vhdlcodeYYdummy() { yy_flex_realloc(0,0); } |
122 |
+ } |
123 |
+-#elif YY_FLEX_SUBMINOR_VERSION<33 |
124 |
++#elif YY_FLEX_MINOR_VERSION<6 && YY_FLEX_SUBMINOR_VERSION<33 |
125 |
+ #error "You seem to be using a version of flex newer than 2.5.4 but older than 2.5.33. These versions do NOT work with doxygen! Please use version <=2.5.4 or >=2.5.33 or expect things to be parsed wrongly!" |
126 |
+ #endif |
127 |
+ |
128 |
+diff --git a/src/xmlcode.l b/src/xmlcode.l |
129 |
+index 15b5d7e..2bef4a0 100644 |
130 |
+--- a/src/xmlcode.l |
131 |
++++ b/src/xmlcode.l |
132 |
+@@ -407,7 +407,7 @@ void resetXmlCodeParserState() |
133 |
+ extern "C" { // some bogus code to keep the compiler happy |
134 |
+ void xmlcodeYYdummy() { yy_flex_realloc(0,0); } |
135 |
+ } |
136 |
+-#elif YY_FLEX_SUBMINOR_VERSION<33 |
137 |
++#elif YY_FLEX_MINOR_VERSION<6 && YY_FLEX_SUBMINOR_VERSION<33 |
138 |
+ #error "You seem to be using a version of flex newer than 2.5.4. These are currently incompatible with 2.5.4, and do NOT work with doxygen! Please use version 2.5.4 or expect things to be parsed wrongly! A bug report has been submitted (#732132)." |
139 |
+ #endif |
140 |
+ |