Ticket #49881: doxygen_flex2_6_0.diff

File doxygen_flex2_6_0.diff, 4.7 KB (added by dw@…, 8 years ago)

updated to actually include the patch to the src.

  • Portfile

    diff -bur --new-file doxygen.orig/Portfile doxygen/Portfile
    old new  
    7979    set cxx_stdlibflags -stdlib=${configure.cxx_stdlib}
    8080}
    8181
    82 patchfiles              patch-configure.diff
     82patchfiles              patch-configure.diff \
     83                        patch-flex_2_6_0.diff
    8384post-patch {
    8485    reinplace "s/echo -n/printf/g" ${worksrcpath}/configure
    8586
     
    126127                        MAN1DIR=share/man/man1
    127128
    128129variant docs description {Include the doxygen PDF documentation and LaTeX} requires {latex} {
    129     patchfiles-delete       patch-configure.diff
     130    patchfiles-delete       patch-configure.diff \
     131                            patch-flex_2_6_0.diff
    130132
    131133    configure.args-append   --docdir ${prefix}/share/doc \
    132134                            --dot ${prefix}/bin/dot
  • files/patch-flex_2_6_0.diff

    diff -bur --new-file doxygen.orig/files/patch-flex_2_6_0.diff doxygen/files/patch-flex_2_6_0.diff
    old new  
     1--- src/code.l.orig
     2+++ src/code.l
     3@@ -3695,7 +3695,7 @@ void codeFreeScanner()
     4 extern "C" { // some bogus code to keep the compiler happy
     5   void codeYYdummy() { yy_flex_realloc(0,0); }
     6 }
     7-#elif YY_FLEX_SUBMINOR_VERSION<33
     8+#elif YY_FLEX_MAJOR_VERSION<=2 && YY_FLEX_MINOR_VERSION<=5 && YY_FLEX_SUBMINOR_VERSION<33
     9 #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!"
     10 #endif
     11 
     12--- src/commentscan.l.orig
     13+++ src/commentscan.l
     14@@ -1098,7 +1098,7 @@ RCSTAG    "$"{ID}":"[^\n$]+"$"
     15                                              // but we need to know the position in the input buffer where this
     16                                              // rule matched.
     17                                              // for flex 2.5.33+ we should use YY_CURRENT_BUFFER_LVALUE
     18-#if YY_FLEX_MINOR_VERSION>=5 && YY_FLEX_SUBMINOR_VERSION>=33
     19+#if YY_FLEX_MAJOR_VERSION>=2 && (YY_FLEX_MINOR_VERSION>5 || (YY_FLEX_MINOR_VERSION==5 && YY_FLEX_SUBMINOR_VERSION>=33))
     20                                              inputPosition=prevPosition + (int)(yy_bp - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf);
     21 #else
     22                                              inputPosition=prevPosition + (int)(yy_bp - yy_current_buffer->yy_ch_buf);
     23@@ -1160,7 +1160,7 @@ RCSTAG    "$"{ID}":"[^\n$]+"$"
     24                                           g_memberGroupHeader.resize(0);
     25                                          parseMore=TRUE;
     26                                           needNewEntry = TRUE;
     27-#if YY_FLEX_MINOR_VERSION>=5 && YY_FLEX_SUBMINOR_VERSION>=33
     28+#if YY_FLEX_MAJOR_VERSION>=2 && (YY_FLEX_MINOR_VERSION>5 || (YY_FLEX_MINOR_VERSION==5 && YY_FLEX_SUBMINOR_VERSION>=33))
     29                                          inputPosition=prevPosition + (int)(yy_bp - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf) + strlen(yytext);
     30 #else
     31                                          inputPosition=prevPosition + (int)(yy_bp - yy_current_buffer->yy_ch_buf) + strlen(yytext);
     32
     33--- src/fortrancode.l.orig
     34+++ src/fortrancode.l
     35@@ -1289,7 +1289,7 @@ void parseFortranCode(CodeOutputInterfac
     36 extern "C" { // some bogus code to keep the compiler happy
     37   void fortrancodeYYdummy() { yy_flex_realloc(0,0); }
     38 }
     39-#elif YY_FLEX_SUBMINOR_VERSION<33
     40+#elif YY_FLEX_MAJOR_VERSION<=2 && YY_FLEX_MINOR_VERSION<=5 && YY_FLEX_SUBMINOR_VERSION<33
     41 #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!"
     42 #else
     43 extern "C" { // some bogus code to keep the compiler happy
     44
     45--- src/pycode.l.orig
     46+++ src/pycode.l       
     47@@ -1503,7 +1503,7 @@ void parsePythonCode(CodeOutputInterface
     48 extern "C" { // some bogus code to keep the compiler happy
     49   void pycodeYYdummy() { yy_flex_realloc(0,0); }
     50 }
     51-#elif YY_FLEX_SUBMINOR_VERSION<33
     52+#elif YY_FLEX_MAJOR_VERSION<=2 && YY_FLEX_MINOR_VERSION<=5 && YY_FLEX_SUBMINOR_VERSION<33
     53 #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)."
     54 #endif
     55 
     56--- src/vhdlcode.l
     57+++ src.a/vhdlcode.l
     58@@ -1613,7 +1613,7 @@ void codeFreeVhdlScanner()
     59 extern "C" { // some bogus code to keep the compiler happy
     60   void vhdlcodeYYdummy() { yy_flex_realloc(0,0); }
     61 }
     62-#elif YY_FLEX_SUBMINOR_VERSION<33
     63+#elif YY_FLEX_MAJOR_VERSION<=2 && YY_FLEX_MINOR_VERSION<=5 && 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