Ticket #44112: macports-guile-pr44112-1.diff

File macports-guile-pr44112-1.diff, 2.2 KB (added by dimitry@…, 10 years ago)

Patch to fix hanging guile instances with newer versions of clang

  • Portfile

     
    4343                rmd160  8ac185a72ad8394b14d5377549e5bbf02889faaa
    4444
    4545patchfiles      patch-srfi-60.c.diff \
     46                patch-libguile-c-tokenize.c \
    4647                patch-libguile-fports.c.diff \
     48                patch-libguile-guile-snarf.in \
    4749                patch-no-stack-checking.diff
    4850
    4951depends_lib     port:readline \
     
    5254                port:libtool \
    5355                port:gmp
    5456
    55 configure.args  CPPFLAGS="-I${prefix}/include"          \
     57configure.args  CFLAGS="-fwrapv"                        \
     58                CPPFLAGS="-I${prefix}/include"          \
    5659                LDFLAGS="-L${prefix}/lib"               \
    5760                --infodir="${prefix}/share/info"        \
    5861                --mandir="${prefix}/share/man"          \
  • files/patch-libguile-c-tokenize.c

     
     1--- libguile/c-tokenize.c       2010-12-13 20:24:04.000000000 +0100
     2+++ libguile/c-tokenize.c       2014-04-13 22:20:33.000000000 +0200
     3@@ -898,13 +898,13 @@ case 3:
     4 /* rule 3 can match eol */
     5 YY_RULE_SETUP
     6 #line 71 "./c-tokenize.lex"
     7-{ OUT(eol); }
     8+{ /*OUT(eol);*/ }
     9        YY_BREAK
     10 case 4:
     11 /* rule 4 can match eol */
     12 YY_RULE_SETUP
     13 #line 73 "./c-tokenize.lex"
     14-{ OUT(hash); IS_NOT_COOKIE; }
     15+{ /*OUT(hash);*/ IS_NOT_COOKIE; }
     16        YY_BREAK
     17 case 5:
     18 YY_RULE_SETUP
  • files/patch-libguile-guile-snarf.in

     
     1--- libguile/guile-snarf.in     2010-12-13 18:24:40.000000000 +0100
     2+++ libguile/guile-snarf.in     2014-04-13 21:05:42.000000000 +0200
     3@@ -51,7 +51,8 @@ modern_snarf ()                         
     4     ## empty file.
     5     echo "/* cpp arguments: $@ */" ;
     6     ${cpp} -DSCM_MAGIC_SNARF_INITS -DSCM_MAGIC_SNARFER "$@" > ${temp} && cpp_ok_p=true
     7-    grep "^ *\^ *\^" ${temp} | sed -e "s/^ *\^ *\^//" -e "s/\^\ *:\ *\^.*/;/"
     8+    sed -e 's/\^ *\^/\
     9+^^/g' ${temp} | grep "^.*\^ *\^" | sed -e "s/^.*\^ *\^//" -e "s/\^\ *:\ *\^.*/;/"
     10 }
     11 
     12 ## main