Gentoo Archives: gentoo-commits

From: Matthias Maier <tamiko@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-doc/doxygen/, app-doc/doxygen/files/
Date: Thu, 10 Dec 2015 23:47:37
Message-Id: 1449791238.01e26b007b888ff0b0931f41531319de2a8fbb8f.tamiko@gentoo
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 +