Index: head/devel/hs-c2hs/Makefile =================================================================== --- head/devel/hs-c2hs/Makefile +++ head/devel/hs-c2hs/Makefile @@ -3,6 +3,7 @@ PORTNAME= c2hs PORTVERSION= 0.28.1 +PORTREVISION= 1 CATEGORIES= devel haskell MAINTAINER= haskell@FreeBSD.org Index: head/devel/hs-c2hs/files/patch-src_C2HS_Config.hs =================================================================== --- head/devel/hs-c2hs/files/patch-src_C2HS_Config.hs +++ head/devel/hs-c2hs/files/patch-src_C2HS_Config.hs @@ -0,0 +1,30 @@ +Hide the scary c11 features from c2hs, which does not understand them: + +gtk2hsC2hs: Error in C header file. +/usr/include/sys/_types.h:104: (column 61) [FATAL] + >>> Syntax error! + The symbol `long' does not fit here. +*** Error code 1 + +--- src/C2HS/Config.hs.orig 2017-03-21 18:33:51 UTC ++++ src/C2HS/Config.hs +@@ -56,14 +56,17 @@ cpp = case os of + -- understood at least on Linux, FreeBSD, and Solaris and seems to make a + -- difference over the default language setting on FreeBSD + -- ++-- * Pass -std=c99 as c2hs get's confused by the c11 parts in the FreeBSD ++-- system headers. ++-- + -- * @-P@ would suppress @#line@ directives + -- + cppopts :: [String] + cppopts = case (os,cpp) of + -- why is gcc different between all these platforms? + ("openbsd","cpp") -> ["-xc"] +- (_,"cpp") -> ["-x", "c"] +- (_,"gcc") -> ["-E", "-x", "c"] ++ (_,"cpp") -> ["-x", "c", "-std=c99"] ++ (_,"gcc") -> ["-E", "-x", "c", "-std=c99"] + _ -> [] + + -- | C2HS Library file name Index: head/devel/hs-gtk2hs-buildtools/Makefile =================================================================== --- head/devel/hs-gtk2hs-buildtools/Makefile +++ head/devel/hs-gtk2hs-buildtools/Makefile @@ -2,6 +2,7 @@ PORTNAME= gtk2hs-buildtools PORTVERSION= 0.13.0.4 +PORTREVISION= 1 CATEGORIES= devel haskell MAINTAINER= haskell@FreeBSD.org Index: head/devel/hs-gtk2hs-buildtools/files/patch-c2hs__c__CAST.hs =================================================================== --- head/devel/hs-gtk2hs-buildtools/files/patch-c2hs__c__CAST.hs +++ head/devel/hs-gtk2hs-buildtools/files/patch-c2hs__c__CAST.hs @@ -1,6 +1,6 @@ ---- ./c2hs/c/CAST.hs.orig 2012-11-12 00:26:43.000000000 +0100 -+++ ./c2hs/c/CAST.hs 2013-05-28 11:02:33.000000000 +0200 -@@ -1125,6 +1125,9 @@ +--- c2hs/c/CAST.hs.orig 2017-03-21 18:15:30 UTC ++++ c2hs/c/CAST.hs +@@ -1125,6 +1125,9 @@ instance Binary CStorageSpec where put_ bh (CTypedef ae) = do putByte bh 4 put_ bh ae @@ -10,7 +10,7 @@ get bh = do h <- getByte bh case h of -@@ -1143,6 +1146,9 @@ +@@ -1143,6 +1146,9 @@ instance Binary CStorageSpec where 4 -> do ae <- get bh return (CTypedef ae) Index: head/devel/hs-gtk2hs-buildtools/files/patch-c2hs_toplevel_C2HSConfig.hs =================================================================== --- head/devel/hs-gtk2hs-buildtools/files/patch-c2hs_toplevel_C2HSConfig.hs +++ head/devel/hs-gtk2hs-buildtools/files/patch-c2hs_toplevel_C2HSConfig.hs @@ -0,0 +1,29 @@ +Hide the scary c11 features from c2hs, which does not understand them: + +c2hs: C header contains errors: +/usr/include/sys/_types.h:104: (column 61) [ERROR] >>> Syntax error ! + The symbol `long' does not fit here. +*** Error code 1 + +--- c2hs/toplevel/C2HSConfig.hs.orig 2017-03-21 18:17:37 UTC ++++ c2hs/toplevel/C2HSConfig.hs +@@ -64,14 +64,17 @@ cpp = case os of + -- * `-x c' forces CPP to regard the input as C code; this option seems to be + -- understood at least on Linux, FreeBSD, and Solaris and seems to make a + -- difference over the default language setting on FreeBSD ++-- ++-- * Pass -std=c99 as c2hs get's confused by the c11 parts in the FreeBSD ++-- system headers. + -- + -- * `-P' would suppress `#line' directives + -- + cppopts :: [String] + cppopts = case (os,cpp) of + ("openbsd","cpp") -> ["-xc", "-w"] +- (_,"cpp") -> ["-x", "c", "-w"] +- (_,"gcc") -> ["-E", "-x", "c", "-w"] ++ (_,"cpp") -> ["-x", "c", "-w", "-std=c99"] ++ (_,"gcc") -> ["-E", "-x", "c", "-w", "-std=c99"] + _ -> [] + + -- C preprocessor option for including only definitions (EXPORTED) Index: head/devel/hs-ncurses/Makefile =================================================================== --- head/devel/hs-ncurses/Makefile +++ head/devel/hs-ncurses/Makefile @@ -3,6 +3,7 @@ PORTNAME= ncurses PORTVERSION= 0.2.16 +PORTREVISION= 1 CATEGORIES= devel haskell MAINTAINER= haskell@FreeBSD.org Index: head/devel/hs-ncurses/files/patch-ncurses.cabal =================================================================== --- head/devel/hs-ncurses/files/patch-ncurses.cabal +++ head/devel/hs-ncurses/files/patch-ncurses.cabal @@ -1,10 +0,0 @@ ---- ncurses.cabal.orig 2017-02-13 14:30:05 UTC -+++ ncurses.cabal -@@ -103,6 +103,7 @@ library - -- platforms where the linker doesn't automatically follow dependencies. - if os(darwin) || os(freebsd) || flag(force-narrow-library) - cc-options: -DHSNCURSES_NARROW_HEADER -+ cpp-options: -std=c99 - if os(darwin) || flag(force-narrow-library) - extra-libraries: panel ncurses pthread - else