[131199] trunk/dports

cal at macports.org cal at macports.org
Tue Jan 6 11:48:29 PST 2015


Revision: 131199
          https://trac.macports.org/changeset/131199
Author:   cal at macports.org
Date:     2015-01-06 11:48:29 -0800 (Tue, 06 Jan 2015)
Log Message:
-----------
haskell-platform: update to 2014.2.0.0, closes #44891, includes GHC 7.8.3 built with clang and newer bootstrap GHC, requires revbump of all haskell ports (to follow)

Obsoletes the hs-transformers and hs-xhtml ports, since these packages are installed by the GHC port now.

Modified Paths:
--------------
    trunk/dports/devel/haskell-platform/Portfile
    trunk/dports/devel/hs-transformers/Portfile
    trunk/dports/devel/hs-xhtml/Portfile
    trunk/dports/lang/ghc/Portfile
    trunk/dports/lang/ghc-bootstrap/Portfile

Added Paths:
-----------
    trunk/dports/devel/hs-transformers/
    trunk/dports/devel/hs-xhtml/
    trunk/dports/lang/ghc/files/patch-configure-disable-docs.diff
    trunk/dports/lang/ghc/files/patch-configure-workaround-bsdsed-incompatibility.diff
    trunk/dports/lang/ghc/files/patch-unix_lib_osx_sandbox_compatibility.diff
    trunk/dports/lang/ghc-bootstrap/files/
    trunk/dports/lang/ghc-bootstrap/files/clang-wrapper

Removed Paths:
-------------
    trunk/dports/lang/ghc/files/patch-configure-disable-docbook-ps-and-pdf.diff
    trunk/dports/lang/ghc/files/patch-includes_HsFFI.h.diff
    trunk/dports/lang/ghc/files/patch-utils__mkdirhier__mkdirhier.sh.diff

Modified: trunk/dports/devel/haskell-platform/Portfile
===================================================================
--- trunk/dports/devel/haskell-platform/Portfile	2015-01-06 19:41:11 UTC (rev 131198)
+++ trunk/dports/devel/haskell-platform/Portfile	2015-01-06 19:48:29 UTC (rev 131199)
@@ -6,7 +6,7 @@
 name            haskell-platform
 
 if {$subport == $name} {
-    version         2013.2.0.0
+    version         2014.2.0.0
     categories      devel haskell
     maintainers     cal openmaintainer
     description     \
@@ -79,7 +79,7 @@
             ${block}
         }
 
-        if {\${subport} == \${name}} {
+        if {\${subport} eq \${name}} {
             depends_run-append  port:hs-[string tolower ${pkgname}]
         }
     "
@@ -117,7 +117,7 @@
             ${block}
         }
 
-        if {\${subport} == \${name}} {
+        if {\${subport} eq \${name}} {
             depends_run-append  port:hs-[string tolower ${pkgname}]
         }
     "
@@ -128,9 +128,9 @@
 # Additional Platform Libraries #
 #################################
 
-haskell_platform_port async 2.0.1.4 1 {
-    checksums               rmd160  8a28038e3193ee6de2212afb42f25fc444a2ef1d \
-                            sha256  41ddfe012d98f3ef101651fb529753bca5bb4c804f03f9cfafc5d0cbe50224c2
+haskell_platform_port async 2.0.1.5 0 {
+    checksums               rmd160  0ec360bc373c4ca0b3c7617ec611f2414804e9cd \
+                            sha256  cd13ac558f4f63e567100805770648e89307a3210852b17038c9be4fcc3aa83c
 
     depends_lib-append      port:hs-stm
 
@@ -148,7 +148,7 @@
         automatically killed when their parent dies (see withAsync).
 }
 
-haskell_platform_port attoparsec 0.10.4.0 2 {
+haskell_platform_port attoparsec 0.10.4.0 3 {
     checksums               rmd160  1fc9845e60fb0cddc9ffa8838c446b3046cd3522 \
                             sha256  b6b84e0dbd1c3beec1dedea578ac2f4d62afbe66b383582b7b3349406866d346
 
@@ -161,9 +161,9 @@
         formats.
 }
 
-haskell_platform_port case-insensitive 1.0.0.1 1 {
-    checksums               rmd160  890cc0d0c3d8e0470956f7bce2da70c3adf8e90c \
-                            sha256  b58f62516779580a41cdc67a979c509125adf139b8f50d415495f58d4b42e8fa
+haskell_platform_port case-insensitive 1.1.0.3 0 {
+    checksums               rmd160  351ebf0ae84c4c580b910dbd3ed0828b309874c7 \
+                            sha256  7b255fe63155d53ab84b248ab5ba9306fd4bec47a6198e3275cf9cb41c4d263b
 
     depends_lib-append      port:hs-hashable \
                             port:hs-text
@@ -176,32 +176,19 @@
         insensitive to cases.
 }
 
-haskell_platform_port cgi 3001.1.7.5 1 {
-    checksums               rmd160  76823f125e750f648d967f833a5c6a11814d8b56 \
-                            sha256  5126e2eaa53cd5de59572981c00aedae5790882afda67545228eb29fe76faffd
+haskell_platform_port fgl 5.5.0.1 0 {
+    checksums               rmd160  c6c1f89db51d8d3ce6687dab13109c7f40c9c10c \
+                            sha256  aa61664ba38db3e54124b702b1ee92a72a569c981b759e48cfb567078b038763
 
-    depends_lib-append      port:hs-mtl \
-                            port:hs-parsec \
-                            port:hs-network \
-                            port:hs-xhtml
-
-    description             A library for writing CGI programs
-    long_description        This is a Haskell library for writing CGI programs.
-}
-
-haskell_platform_port fgl 5.4.2.4 3 {
-    checksums               rmd160  e2b9e0d1d43e69b250719a34c6de9344b38264bf \
-                            sha256  ce98ccb83e2d271a7b3266426a0762a0e902252f07ec09b7bef50c67d0110266
-
     depends_lib-append      port:hs-mtl
 
     description             Martin Erwig's Functional Graph Library
     long_description        ${description}
 }
 
-haskell_platform_port GLUT 2.4.0.0 1 {
-    checksums               rmd160  b1f4449f2bacbbbf51ffd5146c1f7ccafd6d0348 \
-                            sha256  100df2d724dfad26b0c8d47b17d4cef9dcbc12a75cce7a096046c27485b4cbbc
+haskell_platform_port GLUT 2.5.1.1 0 {
+    checksums               rmd160  b6e4bad4109307a614c3ba93aa1f3f8857ae45dc \
+                            sha256  4a8177e154ead5a7bcc110f8fe408f9cf720783dde024ac1936cd95b659b2d59
 
     depends_lib-append      port:hs-opengl
 
@@ -211,9 +198,9 @@
         independent toolkit for writing OpenGL programs.
 }
 
-haskell_platform_port GLURaw 1.3.0.0 1 {
-    checksums               rmd160  2aa60cb5a779ee858a9e1bcadfe3b2bfccfbd167 \
-                            sha256  e03905710043eb2e9878e5fc75f969c4f120321bc6a7709cde3a9890be3c08ea
+haskell_platform_port GLURaw 1.4.0.1 0 {
+    checksums               rmd160  1fa7a906c6f99d9540b200de038a2a734e576cea \
+                            sha256  9655644beb54ff8fac68f2e0fd8a8e9a1e8409272e2e4c963ccce9bcd60e0ecc
 
     depends_lib-append      port:hs-openglraw
 
@@ -224,9 +211,9 @@
         a nicer interface.
 }
 
-haskell_platform_port hashable 1.1.2.5 1 {
-    checksums               rmd160  93b4faee93a046445458e9f9c67820b458242aac \
-                            sha256  3fb5d430c9289ebada4991a76fd78f028aaaf17957dc666ddc7b89c98a54713d
+haskell_platform_port hashable 1.2.2.0 0 {
+    checksums               rmd160  33f9040f2afcb93d6475d8872aef4c164a4cff5e \
+                            sha256  033a90b0369af59bf922d0c2af8d73a18432b46b0a47607f436d38f873a88e21
 
     depends_lib-append      port:hs-text
 
@@ -238,9 +225,9 @@
         a way to combine hash values.
 }
 
-haskell_platform_port haskell-src 1.0.1.5 3 {
-    checksums               rmd160  32a53bab9f1e150565cbed0c926816e4089dd966 \
-                            sha256  9f3726902247cc955d085997254bb58c16cc337ee83de5ccfb17dcbcb488c3ab
+haskell_platform_port haskell-src 1.0.1.6 0 {
+    checksums               rmd160  649a0f9f116cb90f03411a9e8d53b17409c38134 \
+                            sha256  c7c556366025d9895d1110ecfa30a29e29d7d0a8cb447716fe601e4ff5da4cef
 
     depends_lib-append      port:hs-syb
 
@@ -252,7 +239,7 @@
         of this package are to parse or generate Haskell 98 code.
 }
 
-haskell_platform_port html 1.0.1.2 4 {
+haskell_platform_port html 1.0.1.2 5 {
     checksums               rmd160  55d95a42c297c9c4b0b0c3bbd077a5ed59e48878 \
                             sha256  0c35495ea33d65e69c69bc7441ec8e1af69fbb43433c2aa3406c0a13a3ab3061
 
@@ -261,9 +248,9 @@
         This package contains a combinator library for constructing HTML documents.
 }
 
-haskell_platform_port HTTP 4000.2.8 4 {
-    checksums               rmd160  844041fdfb257c19cf35be24976925bc9c0c43c6 \
-                            sha256  086a2aa771a31845b190e2f9651ab4d8e85116aa463de5bc5e0204c1e5e70c5c
+haskell_platform_port HTTP 4000.2.10 0 {
+    checksums               rmd160  b1e3a1aec27c3e09fe1f93f93ab717cc4e576504 \
+                            sha256  efde6d9f2e8cd7b72068579f0a75449703c0fa7aee76dfc0f3af175295a127d1
 
     depends_lib-append      port:hs-network \
                             port:hs-mtl \
@@ -278,7 +265,7 @@
         the implementation is all written in Haskell.
 }
 
-haskell_platform_port HUnit 1.2.5.2 1 {
+haskell_platform_port HUnit 1.2.5.2 2 {
     checksums               rmd160  f6ac9ac12c152609174ea80a3a0c694210c81594 \
                             sha256  0af5ad34dba27de48b94ce6d5f7ee3aa6af6183bdc4a3967b811e28520369a41
 
@@ -288,12 +275,10 @@
         tool for Java, see: http://www.junit.org.
 }
 
-haskell_platform_port mtl 2.1.2 3 {
-    checksums               rmd160  aa5c576c124b602a605cf3931ac42c1c1eb27cda \
-                            sha256  8c775764333420a4391823f9cb9b640306a262552280ea9bbdd2ca11194a8bef
+haskell_platform_port mtl 2.1.3.1 0 {
+    checksums               rmd160  f6432fb7e64d66eff69f02ccca9fc30ac5dce502 \
+                            sha256  77af766957fb49361fe63446f272a698bddb13398669edc363022e5c2517f6f6
 
-    depends_lib-append      port:hs-transformers
-
     description             Monad classes, using functional dependencies
     long_description        \
         Monad classes using functional dependencies, with instances for various \
@@ -302,9 +287,9 @@
         School of Functional Programming, 1995
 }
 
-haskell_platform_port network 2.4.1.2 2 {
-    checksums               rmd160  27461d006ac9580d55a0f1377774c1ac9c20a024 \
-                            sha256  b04dc56542428bc92f11263f500b3ad82e6a0787805601472d59af7e769bfe38
+haskell_platform_port network 2.4.2.3 0 {
+    checksums               rmd160  38f20be22e51a902a00416bad1e63480316e8348 \
+                            sha256  801b9c652dae626bf4a96175162b1290e7fe7ff20d802d62434d5ae1d363c16d
 
     depends_lib-append      port:hs-parsec
 
@@ -312,22 +297,23 @@
     long_description        ${description}
 }
 
-haskell_platform_port OpenGL 2.8.0.0 1 {
-    checksums               rmd160  3be0a47aea270ce184da50007dd729814ef99aaa \
-                            sha256  ce753d8db75b5096e030422765193c4975779b42bfffa467408a40d8c43965f1
+haskell_platform_port OpenGL 2.9.2.0 0 {
+    checksums               rmd160  b238630bd16d37485c58835a643d965ac6c61ef2 \
+                            sha256  1758f6cacc9ea8f0d410fd0abc1a19f2a50dffdb62736d66d4e62b20619545e9
 
     depends_lib-append      port:hs-gluraw \
-                            port:hs-openglraw
+                            port:hs-openglraw \
+                            port:hs-text
 
     description             A binding for the OpenGL graphics system
     long_description        \
-        A Haskell binding for the OpenGL graphics system (GL, version 3.2) and \
-        its accompanying utility library (GLU, version 1.3).
+        A Haskell binding for the OpenGL graphics system (GL, version 4.4) and \
+        its accompanying utility library (GLU, version 1.3). 
 }
 
-haskell_platform_port OpenGLRaw 1.3.0.0 1 {
-    checksums               rmd160  09c08ce9f45acdabdef46e397e72814f5a86e71b \
-                            sha256  6228ca9ac967350fcb6abac25b8027660ad8599914a60ef0fd10919a6d2cd745
+haskell_platform_port OpenGLRaw 1.5.0.0 0 {
+    checksums               rmd160  6ede61cb59090ede7d3ec1df41311a8e14496080 \
+                            sha256  852aa5229722269d70daed3c04b95e9dc7b7013efd62ebc4f2873a81768b9a12
 
     description             A raw binding for the OpenGL graphics system
     long_description        \
@@ -343,17 +329,17 @@
         thrown.
 }
 
-haskell_platform_port parallel 3.2.0.3 2 {
-    checksums               rmd160  a358225292a80bb4223e6ea2f6e0d502e41cab02 \
-                            sha256  163a40ef3c6258c623abe690a9837c9de2bf7fe87d3fac7d0758229d7efb6dcd
+haskell_platform_port parallel 3.2.0.4 0 {
+    checksums               rmd160  4bc31de0b3dd63ca8d24c967f32a2ee40f0a2d64 \
+                            sha256  8cdb637fc04e4dd62f9deb0fe3c191b8068526009960f297f54dc9cf5616146d
 
     description             Parallel programming library
     long_description        This package provides a library for parallel programming.
 }
 
-haskell_platform_port parsec 3.1.3 4 {
-    checksums               rmd160  b1b407b27f5642142bfa619b31abd7a8cafe11ce \
-                            sha256  9f14bb4da77eb9b0e4dbe8112559ed49409b0af8e9aef5d08941dd97e37fc4a8
+haskell_platform_port parsec 3.1.5 0 {
+    checksums               rmd160  4d27dffd266c38cc3266ea17b792e00f180b3968 \
+                            sha256  c572245d72bc3aff3491ce4f89215fcaa1e01c5e7b280d4c105a87db31793cb8
 
     depends_lib-append      port:hs-mtl \
                             port:hs-text
@@ -367,7 +353,15 @@
         monads, and it is also parametric in the input stream type.
 }
 
-haskell_platform_port QuickCheck 2.6 1 {
+haskell_platform_port primitive 0.5.2.1 0 {
+    checksums               rmd160  b456047baa641acc897a871cc2212f9f3a2c576f \
+                            sha256  0e516b81c2ef2c96d47dc40561663cc2cbfece0f135948e77e9b53025ff1c3ee
+
+    description             Primitive memory-related operations
+    long_description        This package provides various primitive memory-related operations.
+}
+
+haskell_platform_port QuickCheck 2.6 2 {
     checksums               rmd160  94bab2dcefdd7a6eddd5af7211db1babf39e0df8 \
                             sha256  8001c00a1892714d914e5007ba72cdd428c1ea4c6b8418c6cb5e7809753d970d
 
@@ -381,7 +375,7 @@
         that the properties hold in a large number of randomly generated cases.
 }
 
-haskell_platform_port random 1.0.1.1 3 {
+haskell_platform_port random 1.0.1.1 4 {
     checksums               rmd160  a13a4d7fefd15611cf863f11caf212efede320c3 \
                             sha256  df7c3b405de0ac27a2ee8fdc8dad87cb42e8eac01fef53861e43bc47c8111559
           
@@ -391,7 +385,7 @@
         the ability to split random number generators.
 }
 
-haskell_platform_port regex-base 0.93.2 3 {
+haskell_platform_port regex-base 0.93.2 4 {
     checksums               rmd160  c009e193dd453666c7c3b585a25f3a8add7ec6b6 \
                             sha256  20dc5713a16f3d5e2e6d056b4beb9cfdc4368cd09fd56f47414c847705243278
 
@@ -401,7 +395,7 @@
     long_description        Interface API for regex-posix,pcre,parsec,tdfa,dfa
 }
 
-haskell_platform_port regex-compat 0.95.1 3 {
+haskell_platform_port regex-compat 0.95.1 4 {
     checksums               rmd160  b2fe02ca3c4e9027b2d433c8a265b19a85c8bd17 \
                             sha256  d57cb1a5a4d66753b18eaa37a1621246f660472243b001894f970037548d953b
 
@@ -412,7 +406,7 @@
     long_description        One module layer over regex-posix to replace Text.Regex
 }
 
-haskell_platform_port regex-posix 0.95.2 2 {
+haskell_platform_port regex-posix 0.95.2 3 {
     checksums               rmd160  7ee59eb760bb8c0c7fe17e17d90eb0623b9fd5bb \
                             sha256  56019921cd4a4c9682b81ec614236fea816ba8ed8785a1640cd66d8b24fc703e
 
@@ -422,7 +416,7 @@
     long_description        The posix regex backend for regex-base
 }
 
-haskell_platform_port split 0.2.2 1 {
+haskell_platform_port split 0.2.2 2 {
     checksums               rmd160  7d4fe221283836386807f0e73a90df1255061f6f \
                             sha256  f9cf9e571357f227aed5be9a78f5bbf78ef55c99df2edf7fdc659acc1f904375
 
@@ -432,7 +426,7 @@
         the "split" function found in several mainstream languages.
 }
 
-haskell_platform_port stm 2.4.2 1 {
+haskell_platform_port stm 2.4.2 2 {
     checksums               rmd160  7d49257f7e2de7cf18e02dc3ceeb4619d7980dd8 \
                             sha256  c8ee3cd64c266133902619cfff2d04e5f66206f91dbce8dd1182037fbe4858db
 
@@ -440,9 +434,9 @@
     long_description        A modular composable concurrency abstraction.
 }
 
-haskell_platform_port syb 0.4.0 3 {
-    checksums               rmd160  7814875c994d34b0dd11e378c3d16e009a843d4d \
-                            sha256  f201089aa7e74b6cbca7fc73a259596b2a9628e31a9b54e801844ad68447bff3
+haskell_platform_port syb 0.4.1 0 {
+    checksums               rmd160  4ed2329f3c915adb91fb5b1f6b3735e219d1fdd6 \
+                            sha256  aa32cb3d9a0cbcfb24ac1c5d567886e8908dd017fd009ffd446bff86732670d2
 
     description             Scrap Your Boilerplate
     long_description        \
@@ -454,9 +448,9 @@
         a variety of traversals.
 }
 
-haskell_platform_port text 0.11.3.1 1 {
-    checksums               rmd160  544b6be80db9432dd4c149f81a2c0603e2e67205 \
-                            sha256  76aad4a647cad7099b5a693eb9a4bc5263f7751392d8d1f87b14c78e2069559f
+haskell_platform_port text 1.1.0.0 0 {
+    checksums               rmd160  b57efc9cbf277cd914a9e148129e42ae861771b8 \
+                            sha256  80f1ada824f0e3886bb49dc7fd128707ca1a34e06bbf4419873b1677c4d7ba92
 
     description             An efficient packed Unicode text type
     long_description        \
@@ -464,23 +458,10 @@
         with a powerful loop fusion optimization framework.
 }
 
-haskell_platform_port transformers 0.3.0.0 3 {
-    checksums               rmd160  110bd7eb44609d8db44d85f8367db323576545dc \
-                            sha256  e5aa0c1ec97ad98c389e78f59aca25ab028980a7068a3e585e39564662739591
+haskell_platform_port unordered-containers 0.2.4.0 0 {
+    checksums               rmd160  0d62b6b8f95e65890e07934413cd1377ed1e85e5 \
+                            sha256  34eaeb0c96d84169aca7085cf21f89bedb4bdb4de2ac78358a087faeea93cdf4
 
-     description            Concrete functor and monad transformers
-     long_description       \
-        A portable library of functor and monad transformers, inspired by the \
-        paper \"Functional Programming with Overloading and Higher-Order \
-        Polymorphism\", by Mark P Jones, in Advanced School of Functional \
-        Programming, 1995 \
-        (http://web.cecs.pdx.edu/~mpj/pubs/springschool.html).
-}
-
-haskell_platform_port unordered-containers 0.2.3.0 2 {
-    checksums               rmd160  91b7d7c2138de34b3b690efe294d90022e04d8b3 \
-                            sha256  edb6a442ef9fcf4ce59f66871d51df5c012345fce95970127e75b62e5396efef
-
     depends_lib-append      port:hs-hashable
 
     description             Efficient hashing-based container types
@@ -490,9 +471,9 @@
         quantities and high speed.
 }
 
-haskell_platform_port vector 0.10.0.1 3 {
-    checksums               rmd160  e00adaf6b4a9634df2feb1a805f4adf51d1870ae \
-                            sha256  ece945058b01a77c5fff31e89bbea76ac619677041c41286a2da5e8b515508af
+haskell_platform_port vector 0.10.9.1 0 {
+    checksums               rmd160  885ba057a05219ae6a35170539c68996d2074668 \
+                            sha256  205656e9741aad406e427e988dbf1665bf5dbdf3e9d574e309c274be4e06bde5
 
     depends_lib-append      port:hs-primitive
 
@@ -502,17 +483,7 @@
         immutable), with a powerful loop optimisation framework.
 }
 
-haskell_platform_port xhtml 3000.2.1 3 {
-    checksums               rmd160  72e1095df0a8111ea696749d219df4ea78da1b4f \
-                            sha256  33020782170c1c083bc59fc3bfcb72cec2db223e02d1181c07ae23b9fa7fdcd8
-
-    description             An XHTML combinator library
-    long_description        \
-        This package provides combinators for producing XHTML 1.0, including the \
-        Strict, Transitional and Frameset variants.
-}
-
-haskell_platform_port zlib 0.5.4.1 2 {
+haskell_platform_port zlib 0.5.4.1 3 {
     checksums               rmd160  9ed49e79e239604958a9c385cca75747fafc2713 \
                             sha256  cca365e4c52c90be41a5754943134da5ce6c60bb52fa00c128fd118e0505a550
 
@@ -530,14 +501,15 @@
 # Programs and Tools #
 ######################
 
-haskell_platform_tool cabal-install 1.16.0.2 1 {
-    checksums               rmd160  2e19f5086cbf7f4ea9c17bf804ec6da886cd2f51 \
-                            sha256  66dfacc9f33e668e56904072cadb8a36bd9d6522ba5464c6a36a5de7e65c5698
+haskell_platform_tool cabal-install 1.18.0.5 0 {
+    checksums               rmd160  f07279510e03678ad5e3720d9e01707681f874ea \
+                            sha256  477df8ef73916e8bc23c727280a1700939131a3e2809a057668c883b0b521782
 
     depends_lib-append      port:hs-http \
                             port:hs-mtl \
                             port:hs-network \
                             port:hs-random \
+                            port:hs-stm \
                             port:hs-zlib
 
     description             The command-line interface for Cabal and Hackage
@@ -547,33 +519,43 @@
         installation of Haskell libraries and programs.
 }
 
-haskell_platform_tool alex 3.0.5 2 {
-    checksums               rmd160  3f543c6af966f6200f84f408022d62beaefb875f \
-                            sha256  c3326417a0538e355e5ad1871ab931b9c8145391e8b2ff79668eb643d9b99659
+haskell_platform_tool alex 3.1.3 0 {
+    checksums               rmd160  2325ccfc770264c517d2dfa38cece9376d4e252d \
+                            sha256  8d41a6e72a016155f00c846f7146ab4b27fe9640668a4b592d6a9b856f970a92
 
     depends_lib-append      port:hs-quickcheck
 
-    description             A lexical analyser generator for Haskell
+    description             A tool for generating lexical analysers in Haskell
     long_description        \
-        Alex is a tool for generating lexical analysers in Haskell, given \
-        a description of the tokens to be recognised in the form of regular \
-        expressions. It is similar to the tool lex or flex for C/C++.
+        Alex is a tool for generating lexical analysers in Haskell. It takes \
+        a description of tokens based on regular expressions and generates \
+        a Haskell module containing code for scanning text efficiently. It is \
+        similar to the tool lex or flex for C/C++.
 }
 
-haskell_platform_tool happy 1.18.10 3 {
-    checksums               rmd160  3c113721ccacbe33bfbc25287bfe9bf74cc365f7 \
-                            sha256  c1c920f77906740252e261e2baec5b7519e584344d6080aa5a9cc0b677b9064b
+haskell_platform_tool happy 1.19.4 0 {
+    checksums               rmd160  8ec09c4743d85ae493354e49df07f0ee423267cf \
+                            sha256  6be499f66c61f8c48cbbbcb70515eb8e62c2bfa08adcc8c9474e7ae343a6936d
 
     depends_lib-append      port:hs-mtl
-    description             \
-        Happy is a parser generator system for Haskell, similar to the tool `yacc' \
-        for C. Like `yacc', it takes a file containing an annotated BNF \
-        specification of a grammar and produces a Haskell module containing \
-        a parser for the grammar.
-    long_description        ${description} \
-        Happy is flexible: you can have several Happy parsers in the same program, \
-        and several entry points to a single grammar. Happy can work in conjunction \
-        with a lexical analyser supplied by the user (either hand-written or \
-        generated by another program), or it can parse a stream of characters \
-        directly (but this isn't practical in most cases).
+    description             A parser generator for Haskell
+    long_description        \
+        Happy is a parser generator for Haskell. Given a grammar specification \
+        in BNF, Happy generates Haskell code to parse the grammar. Happy works \
+        in a similar way to the yacc tool for C.
 }
+
+haskell_platform_tool hscolour 1.20.3 0 {
+    checksums               rmd160  2d875ecdb910a5955a5ec049935a74c60edbc4cc \
+                            sha256  3adb816fba3ecdf9f1ee5fb23feb0611b0762f7e8c2a282c2def5cc2f5483d96
+
+    license                 GPL-2+
+
+    description             Colourise Haskell code
+    long_description        \
+        hscolour is a small Haskell script to colourise Haskell code. It \
+        currently has six output formats: ANSI terminal codes (optionally \
+        XTerm-256colour codes), HTML 3.2 with font tags, HTML 4.01 with CSS, \
+        HTML 4.01 with CSS and mouseover annotations, XHTML 1.0 with inline CSS \
+        styling, LaTeX, and mIRC chat codes.
+}

Modified: trunk/dports/devel/hs-transformers/Portfile
===================================================================
--- trunk/dports/devel/hs-platform-transformers/Portfile	2015-01-05 13:08:40 UTC (rev 131056)
+++ trunk/dports/devel/hs-transformers/Portfile	2015-01-06 19:48:29 UTC (rev 131199)
@@ -3,10 +3,10 @@
 
 PortSystem              1.0
 
-name                    hs-platform-transformers
+name                    hs-transformers
 version                 0.3.0.0
-revision                1
+revision                4
 license                 Permissive
 categories              devel haskell
-replaced_by             hs-transformers
+replaced_by             ghc
 PortGroup               obsolete 1.0

Modified: trunk/dports/devel/hs-xhtml/Portfile
===================================================================
--- trunk/dports/devel/hs-platform-transformers/Portfile	2015-01-05 13:08:40 UTC (rev 131056)
+++ trunk/dports/devel/hs-xhtml/Portfile	2015-01-06 19:48:29 UTC (rev 131199)
@@ -3,10 +3,10 @@
 
 PortSystem              1.0
 
-name                    hs-platform-transformers
-version                 0.3.0.0
-revision                1
+name                    hs-xhtml
+version                 3000.2.1
+revision                4
 license                 Permissive
 categories              devel haskell
-replaced_by             hs-transformers
+replaced_by             ghc
 PortGroup               obsolete 1.0

Modified: trunk/dports/lang/ghc/Portfile
===================================================================
--- trunk/dports/lang/ghc/Portfile	2015-01-06 19:41:11 UTC (rev 131198)
+++ trunk/dports/lang/ghc/Portfile	2015-01-06 19:48:29 UTC (rev 131199)
@@ -5,11 +5,9 @@
 PortGroup           active_variants 1.1
 
 name                ghc
-set canonicalname   ghc
 # Do not update GHC separate from Haskell Platform.
 # When updating GHC, make sure to revbump all Haskell ports.
-version             7.6.3
-revision            4
+version             7.8.3
 categories          lang haskell
 maintainers         gmail.com:kitchen.andy cal openmaintainer
 license             BSD
@@ -29,98 +27,50 @@
         GHC comes with a generational garbage collector,    \
         and a space and time profiler.
 
-homepage        http://haskell.org/${canonicalname}
+homepage        http://haskell.org/${name}
 master_sites    ${homepage}/dist/${version}/
-distname        ${canonicalname}-${version}-src
-worksrcdir      ${canonicalname}-${version}
+distname        ${name}-${version}-src
+worksrcdir      ${name}-${version}
 
 use_bzip2       yes
 
-distfiles       ${canonicalname}-${version}-src${extract.suffix} \
-                ${canonicalname}-${version}-testsuite${extract.suffix}
+distfiles       ${name}-${version}-src${extract.suffix} \
+                ${name}-${version}-testsuite${extract.suffix}
 
-checksums       ghc-7.6.3-src.tar.bz2 \
-                rmd160  82a673ed38b7cf9a59afeb01057625fc761a822b \
-                sha256  bd43823d31f6b5d0b2ca7b74151a8f98336ab0800be85f45bb591c9c26aac998 \
-                ghc-7.6.3-testsuite.tar.bz2 \
-                rmd160  e1d7536b1b0799a6c069eb89be41ceb56692b68d \
-                sha256  870d8f50a1b569b0f93d0c7c6b80225280841988f1d779aafe847bcf02d76256
+checksums       ghc-7.8.3-src.tar.bz2 \
+                rmd160  464d31d924a8c1e23e94b3cae810c4e41dad4b75 \
+                sha256  2358826f8424bf571dcc313bd882422fe108a340d6e37db4339ff6d5d6ac3f37 \
+                ghc-7.8.3-testsuite.tar.bz2 \
+                rmd160  abc39b71e2f3926b80c681428c447f39599d7d83 \
+                sha256  9cfef874adf5b895701ae52e507f07049a64246af120ac15200e7bf612521122
 
 depends_build   port:ghc-bootstrap \
                 port:libxslt
 
 depends_lib     port:gmp           \
                 port:ncurses       \
-                port:libiconv
+                port:libiconv      \
+                port:llvm-3.5
 
-patchfiles      patch-configure-disable-docbook-ps-and-pdf.diff \
-                patch-utils__mkdirhier__mkdirhier.sh.diff \
-                patch-includes_HsFFI.h.diff
+patchfiles      patch-configure-workaround-bsdsed-incompatibility.diff \
+                patch-configure-disable-docs.diff \
+                patch-unix_lib_osx_sandbox_compatibility.diff
 
-
 livecheck.type  none
 test.run        yes
-use_parallel_build no
 
-# -- BEGIN gcc variants
-
-variant gcc43 conflicts gcc44 gcc45 gcc46 gcc47 gcc48 gcc49 description {Compile with gcc 4.3} {
-    configure.compiler      macports-gcc-4.3
-    configure.args-append   --with-gcc=${configure.cc}
-    require_active_variants ghc-bootstrap gcc43
-}
-
-variant gcc44 conflicts gcc43 gcc45 gcc46 gcc47 gcc48 gcc49 description {Compile with gcc 4.4} {
-    configure.compiler      macports-gcc-4.4
-    configure.args-append   --with-gcc=${configure.cc}
-    require_active_variants ghc-bootstrap gcc44
-}
-
-variant gcc45 conflicts gcc43 gcc44 gcc46 gcc47 gcc48 gcc49 description {Compile with gcc 4.5} {
-    configure.compiler      macports-gcc-4.5
-    configure.args-append   --with-gcc=${configure.cc}
-    require_active_variants ghc-bootstrap gcc45
-}
-
-variant gcc46 conflicts gcc43 gcc44 gcc45 gcc47 gcc48 gcc49 description {Compile with gcc 4.6} {
-    configure.compiler      macports-gcc-4.6
-    configure.args-append   --with-gcc=${configure.cc}
-    require_active_variants ghc-bootstrap gcc46
-}
-
-variant gcc47 conflicts gcc43 gcc44 gcc45 gcc46 gcc48 gcc49 description {Compile with gcc 4.7} {
-    configure.compiler      macports-gcc-4.7
-    configure.args-append   --with-gcc=${configure.cc}
-    require_active_variants ghc-bootstrap gcc47
-}
-
-variant gcc48 conflicts gcc43 gcc44 gcc45 gcc46 gcc47 gcc49 description {Compile with gcc 4.8} {
-    configure.compiler      macports-gcc-4.8
-    configure.args-append   --with-gcc=${configure.cc}
-    require_active_variants ghc-bootstrap gcc48
-}
-
-variant gcc49 conflicts gcc43 gcc44 gcc45 gcc46 gcc47 gcc48 description {Compile with gcc 4.9} {
-    configure.compiler      macports-gcc-4.9
-    configure.args-append   --with-gcc=${configure.cc}
-    require_active_variants ghc-bootstrap gcc49
-}
-
-if {![variant_isset gcc43] && ![variant_isset gcc44] &&
-    ![variant_isset gcc45] && ![variant_isset gcc46] &&
-    ![variant_isset gcc47] && ![variant_isset gcc49]} {
-    default_variants +gcc48
-}
-
-# -- END gcc variants
-
 set bootstraproot ${prefix}/share/ghc-bootstrap
+set llvmPrefix  ${prefix}/libexec/llvm-3.5
 configure.args  --with-ghc=${bootstraproot}/bin/ghc     \
                 --with-iconv-includes=${prefix}/include \
                 --with-iconv-libraries=${prefix}/lib    \
                 --with-gmp-includes=${prefix}/include   \
-                --with-gmp-libraries=${prefix}/lib
+                --with-gmp-libraries=${prefix}/lib      \
+                --with-gcc="${configure.cc}"            \
+                --with-llc=${llvmPrefix}/bin/llc        \
+                --with-opt=${llvmPrefix}/bin/opt
 
+
 # OK so because the bootstrap binary has been prebuilt for libraries
 # in /usr/lib we search these before macports stuff to prevent
 # link errors, ghc _should_ actually compile itself in stage2
@@ -128,85 +78,40 @@
 compiler.cpath /usr/include
 compiler.library_path /usr/lib
 
-post-destroot {
-    set prefixlib ${prefix}/lib/${worksrcdir}
-    set destlib   ${destroot}/${prefixlib}
-    set libver    ${canonicalname}${version}
+build.args      VERBOSE=1
+destroot.args   VERBOSE=1
 
-    variable libs [ list                               \
-                    libHSrts-${libver}.dylib           \
-                    libHSrts_debug-${libver}.dylib     \
-                    libHSrts_thr-${libver}.dylib       \
-                    libHSrts_thr_debug-${libver}.dylib ]
-
-    system "install_name_tool -id ${prefixlib}/libffi.dylib ${destlib}/libffi.dylib"
-
-    foreach lib $libs {
-      regexp -line {[^[:space:]]*/libffi.*\.dylib} [exec otool -L ${destlib}/${lib}] oldlib
-      system "install_name_tool -change ${oldlib} ${prefixlib}/libffi.dylib ${destlib}/$lib"
-    }
-}
-
 pre-activate {
-    # Legacy port deactivation hack added 2012-12-08
-    if {![catch {set platform_ghc_installed [lindex [registry_active hs-platform-ghc] 0]}]} {
-        # hs-platform-ghc is installed and active
-        # force deactivation
-        registry_deactivate_composite hs-platform-ghc "" [list ports_nodepcheck 1]
-    }
+    set obsoletes [list]
+
+    # Legacy port deactivation hack added 2012-12-08, hs-platform-ghc no longer exists
+    lappend obsoletes hs-platform-ghc
     # Legacy port deactivation hack added 2013-08-11, hs-process is provided by base
-    if {![catch {set hs_process_installed [lindex [registry_active hs-process] 0]}]} {
-        # hs-process is installed and active
-        # force deactivation
-        registry_deactivate_composite hs-process "" [list ports_nodepcheck 1]
-    }
+    lappend obsoletes hs-process
     # Legacy port deactivation hack added 2013-08-14, hs-template-haskell is provided by base
-    if {![catch {set hs_template_haskell_installed [lindex [registry_active hs-template-haskell] 0]}]} {
-        # hs-template-haskell is installed and active
-        # force deactivation
-        registry_deactivate_composite hs-template-haskell "" [list ports_nodepcheck 1]
+    lappend obsoletes hs-template-haskell
+    # Legacy port deactivation hack added 2015-01-05, hs-transformers and hs-xhtml are provided by base
+    lappend obsoletes hs-transformers
+    lappend obsoletes hs-xhtml
+
+    foreach obsolete $obsoletes {
+        if {![catch {set obsolete_installed [lindex [registry_active $obsolete] 0]}]} {
+            # $obsolete is installed and active
+            # force deactivation
+            registry_deactivate_composite $obsolete "" [list ports_nodepcheck 1]
+        }
     }
 }
 
 post-activate {
     set libprefix "${prefix}/lib/${name}-${version}"
-    # delete old ${prefix}/lib/ghc-${version} directories
-    foreach fullpath [glob -directory ${prefix}/lib ghc-*] {
-        if {$fullpath ne $libprefix} {
-            ui_debug "Cleaning up remnant GHC library directory ${fullpath}"
-            delete $fullpath
-        }
-    }
+    ## delete old ${prefix}/lib/ghc-${version} directories
+    #foreach fullpath [glob -directory ${prefix}/lib ghc-*] {
+    #    if {$fullpath ne $libprefix} {
+    #        ui_info "Cleaning up remnant GHC library directory ${fullpath}"
+    #        delete $fullpath
+    #    }
+    #}
 
-    set packageconfd "${libprefix}/package.conf.d"
-    set deletefiles [list]
-
-    # files that were not correctly unregistered due to --force missing in the
-    # haskell portgroup, leaving package registrations of packages that still
-    # had dependents in place
-
-    # added 2013-12-14
-    lappend deletefiles "${packageconfd}/Cabal-1.16.0.3-*.conf"
-    lappend deletefiles "${packageconfd}/cereal-0.3.5.2-*.conf"
-    lappend deletefiles "${packageconfd}/cpphs-1.16-*.conf"
-    lappend deletefiles "${packageconfd}/entropy-0.2.2.2-*.conf"
-    lappend deletefiles "${packageconfd}/highlighting-kate-0.5.3.9-*.conf"
-    lappend deletefiles "${packageconfd}/language-c-0.3.2.1-*.conf"
-    lappend deletefiles "${packageconfd}/nats-0.1-*.conf"
-    lappend deletefiles "${packageconfd}/primitive-0.5.0.1-*.conf"
-    lappend deletefiles "${packageconfd}/semigroups-0.11-*.conf"
-    lappend deletefiles "${packageconfd}/semigroups-0.9.2-*.conf"
-    lappend deletefiles "${packageconfd}/template-haskell-2.8.0.0-10af654f73a6befd48e3430f5bf44c21.conf"
-    lappend deletefiles "${packageconfd}/uniplate-1.6.10-*.conf"
-
-    fs-traverse file $packageconfd {
-        foreach pattern $deletefiles {
-            if {[string match $pattern $file]} {
-                ui_debug "Removing remnant package registration file ${file}" 
-                delete $file
-            }
-        }
-    }
-
     catch {system "${prefix}/bin/ghc-pkg -v recache"}
 }

Deleted: trunk/dports/lang/ghc/files/patch-configure-disable-docbook-ps-and-pdf.diff
===================================================================
--- trunk/dports/lang/ghc/files/patch-configure-disable-docbook-ps-and-pdf.diff	2015-01-06 19:41:11 UTC (rev 131198)
+++ trunk/dports/lang/ghc/files/patch-configure-disable-docbook-ps-and-pdf.diff	2015-01-06 19:48:29 UTC (rev 131199)
@@ -1,11 +0,0 @@
---- configure.orig	2013-04-19 00:47:00.000000000 +0200
-+++ configure	2013-06-05 21:52:52.000000000 +0200
-@@ -10983,6 +10983,8 @@
-     BUILD_DOCBOOK_PS=YES
-     BUILD_DOCBOOK_PDF=YES
- fi
-+BUILD_DOCBOOK_PS=NO
-+BUILD_DOCBOOK_PDF=NO
- 
- 
- 

Added: trunk/dports/lang/ghc/files/patch-configure-disable-docs.diff
===================================================================
--- trunk/dports/lang/ghc/files/patch-configure-disable-docs.diff	                        (rev 0)
+++ trunk/dports/lang/ghc/files/patch-configure-disable-docs.diff	2015-01-06 19:48:29 UTC (rev 131199)
@@ -0,0 +1,12 @@
+--- configure.orig	2014-09-17 23:12:43.000000000 +0200
++++ configure	2014-09-17 23:13:29.000000000 +0200
+@@ -11943,6 +11943,9 @@
+     BUILD_DOCBOOK_PS=YES
+     BUILD_DOCBOOK_PDF=YES
+ fi
++BUILD_DOCBOOK_HTML=NO
++BUILD_DOCBOOK_PS=NO
++BUILD_DOCBOOK_PDF=NO
+ 
+ 
+ 

Added: trunk/dports/lang/ghc/files/patch-configure-workaround-bsdsed-incompatibility.diff
===================================================================
--- trunk/dports/lang/ghc/files/patch-configure-workaround-bsdsed-incompatibility.diff	                        (rev 0)
+++ trunk/dports/lang/ghc/files/patch-configure-workaround-bsdsed-incompatibility.diff	2015-01-06 19:48:29 UTC (rev 131199)
@@ -0,0 +1,11 @@
+--- configure.orig	2014-09-17 22:40:16.000000000 +0200
++++ configure	2014-09-17 22:40:40.000000000 +0200
+@@ -4075,7 +4075,7 @@
+ $as_echo "$as_me: Building in-tree ghc-pwd" >&6;}
+                 rm -rf utils/ghc-pwd/dist-boot
+     mkdir  utils/ghc-pwd/dist-boot
+-                GHC_LDFLAGS=`echo $LDFLAGS | sed 's/\(^\| \)\([^ ]\)/\1-optl\2/g'`
++                GHC_LDFLAGS= # this breaks our build with BSD sed, and we don't need the LDFLAGS here
+         if ! "$WithGhc" $GHC_LDFLAGS -v0 -no-user-$GHC_PACKAGE_DB_FLAG -hidir utils/ghc-pwd/dist-boot -odir utils/ghc-pwd/dist-boot -stubdir utils/ghc-pwd/dist-boot --make utils/ghc-pwd/Main.hs -o utils/ghc-pwd/dist-boot/ghc-pwd
+     then
+         as_fn_error $? "Building ghc-pwd failed" "$LINENO" 5

Deleted: trunk/dports/lang/ghc/files/patch-includes_HsFFI.h.diff
===================================================================
--- trunk/dports/lang/ghc/files/patch-includes_HsFFI.h.diff	2015-01-06 19:41:11 UTC (rev 131198)
+++ trunk/dports/lang/ghc/files/patch-includes_HsFFI.h.diff	2015-01-06 19:48:29 UTC (rev 131199)
@@ -1,31 +0,0 @@
-diff --git includes/HsFFI.h includes/HsFFI.h
-index 652fbea..a21811e 100644
---- includes/HsFFI.h
-+++ includes/HsFFI.h
-@@ -21,7 +21,7 @@ extern "C" {
- #include "stg/Types.h"
-
- /* get limits for integral types */
--#ifdef HAVE_STDINT_H
-+#if defined HAVE_STDINT_H && !defined USE_INTTYPES_H_FOR_RTS_PROBES_D
- /* ISO C 99 says:
-  * "C++ implementations should define these macros only when
-  * __STDC_LIMIT_MACROS is defined before <stdint.h> is included."
-diff --git rts/RtsProbes.d rts/RtsProbes.d
-index 13f40f8..226f881 100644
---- rts/RtsProbes.d
-+++ rts/RtsProbes.d
-@@ -6,6 +6,12 @@
-  *
-  * ---------------------------------------------------------------------------*/
-
-+#ifdef __APPLE__ && __MACH__
-+# if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_9
-+#  define USE_INTTYPES_H_FOR_RTS_PROBES_D
-+# endif
-+#endif
-+
- #include "HsFFI.h"
- #include "rts/EventLogFormat.h"
-
-

Added: trunk/dports/lang/ghc/files/patch-unix_lib_osx_sandbox_compatibility.diff
===================================================================
--- trunk/dports/lang/ghc/files/patch-unix_lib_osx_sandbox_compatibility.diff	                        (rev 0)
+++ trunk/dports/lang/ghc/files/patch-unix_lib_osx_sandbox_compatibility.diff	2015-01-06 19:48:29 UTC (rev 131199)
@@ -0,0 +1,28 @@
+--- libraries/unix/System/Posix/Files.hsc.orig	2014-09-21 17:58:47.000000000 +0200
++++ libraries/unix/System/Posix/Files.hsc	2014-09-21 17:59:31.000000000 +0200
+@@ -152,7 +152,8 @@
+     if (r == 0)
+         then return True
+         else do err <- getErrno
+-                if (err == eACCES || err == eROFS || err == eTXTBSY)
++                if (err == eACCES || err == eROFS || err == eTXTBSY ||
++                    err == ePERM)
+                    then return False
+                    else throwErrnoPath "fileAccess" name
+ 
+--- libraries/unix/System/Posix/Files/ByteString.hsc.orig	2014-09-21 17:58:54.000000000 +0200
++++ libraries/unix/System/Posix/Files/ByteString.hsc	2014-09-21 18:02:27.000000000 +0200
+@@ -158,9 +158,10 @@
+     if (r == 0)
+ 	then return True
+ 	else do err <- getErrno
+-	        if (err == eACCES)
+-		   then return False
+-		   else throwErrnoPath "fileAccess" name
++                if (err == eACCES || err == eROFS || err == eTXTBSY ||
++                    err == ePERM)
++                   then return False
++                   else throwErrnoPath "fileAccess" name
+ 
+ 
+ -- | @getFileStatus path@ calls gets the @FileStatus@ information (user ID,

Deleted: trunk/dports/lang/ghc/files/patch-utils__mkdirhier__mkdirhier.sh.diff
===================================================================
--- trunk/dports/lang/ghc/files/patch-utils__mkdirhier__mkdirhier.sh.diff	2015-01-06 19:41:11 UTC (rev 131198)
+++ trunk/dports/lang/ghc/files/patch-utils__mkdirhier__mkdirhier.sh.diff	2015-01-06 19:48:29 UTC (rev 131199)
@@ -1,8 +0,0 @@
---- utils/mkdirhier/mkdirhier.sh.orig	2013-11-14 21:57:42.000000000 +0100
-+++ utils/mkdirhier/mkdirhier.sh	2013-11-14 21:57:49.000000000 +0100
-@@ -1,4 +1,4 @@
- #!/bin/sh
- 
--mkdir -p ${1+"$@"}
-+mkdir -p ${1+"./$@"}
- 

Modified: trunk/dports/lang/ghc-bootstrap/Portfile
===================================================================
--- trunk/dports/lang/ghc-bootstrap/Portfile	2015-01-06 19:41:11 UTC (rev 131198)
+++ trunk/dports/lang/ghc-bootstrap/Portfile	2015-01-06 19:48:29 UTC (rev 131199)
@@ -5,8 +5,8 @@
 
 name                ghc-bootstrap
 set canonicalname   ghc
-version             7.0.4
-revision            1
+# Note: 7.6.3 doesn't have a i386 darwin version at http://www.haskell.org/ghc/dist/7.6.3
+version             7.6.2
 categories          lang haskell
 maintainers         gmail.com:kitchen.andy cal openmaintainer
 license             BSD
@@ -27,51 +27,19 @@
 use_bzip2           yes
 
 checksums           ${canonicalname}-${version}-i386-apple-darwin${extract.suffix} \
-                        rmd160  ed4cb136a30455e57ca4526d89b019fe4ce638f3 \
-                        sha256  c316fcd59166f1075675d7365b06cca973aec6623254a4a7fb28e74c352c4462 \
+                        rmd160  232b3aa4ed9e2ff09d520f4ae02fa572a671178a \
+                        sha256  c1da502fa7d99f3d87370c65d705a7e8ee4c900fdb62df6f71696c5432047059 \
                     ${canonicalname}-${version}-x86_64-apple-darwin${extract.suffix} \
-                        rmd160  14f4c6a044eaa3d04f1645324f9255eebff9a49d \
-                        sha256  74580b919b5205007901d15da88635e4b2dcc887086fb16d238eeb7011a255d4
+                        rmd160  b0870a4a292fae7248f9b0be485affa4a5a76a2d \
+                        sha256  eb0dd19bd5a6eede332d58de219437b9c2b186c72a1fc0c60fa1095b0c2d2789
 
-# -- BEGIN gcc variants
-
-variant gcc43 conflicts gcc44 gcc45 gcc46 gcc47 gcc48 gcc49 description {Compile with gcc 4.3} {
-    configure.compiler      macports-gcc-4.3
+post-extract {
+    # Copy clang-wrapper for re-inplace during configure
+    xinstall -m 644 ${filespath}/clang-wrapper ${workpath}/clang-wrapper
 }
 
-variant gcc44 conflicts gcc43 gcc45 gcc46 gcc47 gcc48 gcc49 description {Compile with gcc 4.4} {
-    configure.compiler      macports-gcc-4.4
-}
-
-variant gcc45 conflicts gcc43 gcc44 gcc46 gcc47 gcc48 gcc49 description {Compile with gcc 4.5} {
-    configure.compiler      macports-gcc-4.5
-}
-
-variant gcc46 conflicts gcc43 gcc44 gcc45 gcc47 gcc48 gcc49 description {Compile with gcc 4.6} {
-    configure.compiler      macports-gcc-4.6
-}
-
-variant gcc47 conflicts gcc43 gcc44 gcc45 gcc46 gcc48 gcc49 description {Compile with gcc 4.7} {
-    configure.compiler      macports-gcc-4.7
-}
-
-variant gcc48 conflicts gcc43 gcc44 gcc45 gcc46 gcc47 gcc49 description {Compile with gcc 4.8} {
-    configure.compiler      macports-gcc-4.8
-}
-
-variant gcc49 conflicts gcc43 gcc44 gcc45 gcc46 gcc47 gcc48 description {Compile with gcc 4.9} {
-    configure.compiler      macports-gcc-4.9
-}
-
-if {![variant_isset gcc43] && ![variant_isset gcc44] &&
-    ![variant_isset gcc45] && ![variant_isset gcc46] &&
-    ![variant_isset gcc47] && ![variant_isset gcc49]} {
-    default_variants +gcc48
-}
-
-# -- END gcc variants
-
 configure.pre_args  --prefix=${prefix}/share/ghc-bootstrap
+configure.args      --with-gcc=${configure.cc}
 
 pre-configure {
     # OK so because this binary has been prebuilt for libraries
@@ -79,24 +47,36 @@
     # weird things don't happen
     configure.ldflags  -L/usr/lib
     configure.cppflags -I/usr/include
+
+    # patch clang-wrapper and make sure it is used by patching settings.in
+    reinplace "s#@clang@#${configure.cc}#g" ${workpath}/clang-wrapper
+    reinplace "s#@SettingsCCompilerCommand@#${prefix}/share/ghc-bootstrap/libexec/clang-wrapper#g" ${worksrcpath}/settings.in
 }
 
 build {}
 
 post-destroot {
-    # Delete dylibs; they aren't used by the bootstrap ghc and are incorrectly
-    # linked against /usr/local, causing rev-upgrade to complain.
-    # This problem might only be reproducible in i386; the x86_64 version
-    # apparently doesn't ship any dylibs.
+    # install clang-wrapper to libexec
+    xinstall -d -m 755 ${destroot}${prefix}/share/ghc-bootstrap/libexec
+    xinstall -m 755 ${workpath}/clang-wrapper ${destroot}${prefix}/share/ghc-bootstrap/libexec
+
+    # Delete all .dylib files, because their load commands would have to be
+    # fixed or rev-upgrade complains and tries to rebuild the port. However, we
+    # cannot correctly fix all .dylibs, because the have not been built with
+    # -headerpad_max_install_names. Deleting them fixes the problem and GHC
+    # still seems to compile correctly.
+
+    # We also delete all the .html files, because we really don't need the
+    # documentation in a bootstrap port.
+
     fs-traverse f ${destroot}${prefix} {
         if {[file isfile ${f}]} {
-            if {[file extension ${f}] == ".dylib"} {
+            set ext [file extension ${f}]
+            if {${ext} eq ".html" || ${ext} eq ".dylib"} {
                 delete ${f}
             }
         }
     }
 }
 
-# TODO don't install documentation
-
 livecheck.type      none

Added: trunk/dports/lang/ghc-bootstrap/files/clang-wrapper
===================================================================
--- trunk/dports/lang/ghc-bootstrap/files/clang-wrapper	                        (rev 0)
+++ trunk/dports/lang/ghc-bootstrap/files/clang-wrapper	2015-01-06 19:48:29 UTC (rev 131199)
@@ -0,0 +1,73 @@
+#!/usr/bin/python
+# vim:ts=4:sts=4:sw=4:et:tw=120
+# Explicitly using /usr/bin/python, not /usr/bin/env python here.
+
+##########
+# README #
+##########
+# This script wraps clang for GHC. GHC won't compile with clang's preprocessor unless the flags
+#   -Wno-invalid-pp-token -Wno-unicode -Wno-trigraphs
+# are passed (in addition to -E -undef -traditional, which are already passed in by GHC). Furthermore, if a compilation
+# language is passed and it is C (i.e., -x c), it is replaced with -x assembler-with-cpp.
+#
+# There is a popular script fulfilling the same purpose on Github, but the script does not specify a license and can
+# thus not be re-distributed and used in MacPorts. To avoid the same problem with this script further down the road:
+#
+###########
+# LICENSE #
+###########
+#
+# SPDX-License-Identifier: BSD-2-Clause
+#
+# Copyright (c) 2014, Clemens Lang <cal at macports.org>
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
+# following conditions are met:
+#
+# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following
+#    disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following
+#    disclaimer in the documentation and/or other materials provided with the distribution.
+#
+#    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+#    INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+#    DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+#    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+#    SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+#    WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+#    USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+import sys
+import os
+
+# To be reinplaced on installation, should hold the absolute path to clang
+__clang_path = '@clang@'
+
+# The set of flags to be added in preprocessor mode
+__clang_cpp_flags = ['-Wno-invalid-pp-token', '-Wno-unicode', '-Wno-trigraphs']
+
+def filterLanguageFlag(args):
+    lastArgWasLanguage = False
+    # Start at 1, because index 0 is the program basename, and we don't want to check that for -x
+    for idx in range(1, len(args)):
+        if lastArgWasLanguage and args[idx].lower() == 'c':
+            args[idx] = 'assembler-with-cpp'
+        lastArgWasLanguage = args[idx] == '-x'
+    return args
+
+# copy argv for modification
+args = sys.argv[:]
+
+# Don't check for -E, -undef, -traditional in sys.argv[0]
+# But check for the presence of all -E, -undef, and -traditional in the other flags
+if all(needle in sys.argv[1:] for needle in ['-E', '-undef', '-traditional']):
+    # We're in preprocessor mode, replace "-x c" with "-x assembler-with-cpp" and append __clang_cpp_flags
+    args = filterLanguageFlag(args)
+    args.extend(__clang_cpp_flags) 
+
+# Replace args[0] with the real path to clang and exec that instead
+args[0] = __clang_path
+#print >> sys.stderr, "Executing: %s" % repr(args)
+os.execv(args[0], args)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20150106/4659720f/attachment-0001.html>


More information about the macports-changes mailing list