aboutsummaryrefslogtreecommitdiff
path: root/lang/ghc
diff options
context:
space:
mode:
authorTobias C. Berner <tcberner@FreeBSD.org>2017-08-08 17:21:45 +0000
committerTobias C. Berner <tcberner@FreeBSD.org>2017-08-08 17:21:45 +0000
commit25bf018f0fa446ca38508d35b6b3474e88d758d3 (patch)
tree45b457da59382af32e809be042d2a1a7cad9e952 /lang/ghc
parent1c8feb1a3fd41782660f5439357efe8a9519c625 (diff)
downloadports-25bf018f0fa446ca38508d35b6b3474e88d758d3.tar.gz
ports-25bf018f0fa446ca38508d35b6b3474e88d758d3.zip
- Update The Glorious Glasgow Haskell Compiler to version 8.0.2
- Simplified port by only suporting GCC, and creating a build.mk file - Update Pandoc to 1.19.2.1 - Update git-annex to 6.20170520 - Update Darcs to 2.12.5 - Update Gtk2Hs to 0.13.2.2 - Update Agda to 2.5.2 Please note that port revisions for all the Haskell ports without version changes are bumped. See the UPDATING file for instructions. New ports (63): hs-EdisonAPI API for EdisonCore hs-EdisonCore Efficent, purely-functional data structures hs-ListLike Generic support for list-like structures hs-Only Canonical anonymous 1-tuple type hs-aeson-compat Compatibility layer for aeson hs-attoparsec-iso8601 Parsing of ISO 8601 dates hs-base-compat Compatibility with later versions of base hs-call-stack Support call stacks hs-clock Access to high-resolution clocks and timers hs-code-page Adjusting code pages on Windows hs-colour Data type for colors and transparency hs-concurrent-output Ungarble output from several threads hs-cryptohash-md5 Pure MD5 implementation hs-cryptohash-sha1 Pure SHA-1 implementation hs-cryptohash-sha256 Pure SHA-256 implementation hs-data-endian Endian-sensitive data hs-dbus Client for the D-Bus IPC system hs-disk-free-space Retrieving information about disk space usage hs-doctemplates Pandoc-style document templates hs-ed25519 Ed25519 public-key signature system hs-fdo-notify FreeDesktop.org's Desktop Notifications hs-fixed Signed 15.16 precision fixed point arithmetic hs-fmlist FoldMap lists hs-foundation Custom Prelude hs-gitrev Compile-time git revision info hs-graphviz Binding for the GraphViz library hs-hackage-security Tools for securing the Hackage package server hs-half Half-precision floating-point hs-haskell-lexer Fully compliant Haskell 98 lexer hs-http-api-data Converting types to and from HTTP API data hs-integer-logarithms Integer logarithms implementation hs-io-streams Easy-to-use primitives for I/O using streams hs-io-streams-haproxy HAProxy protocol version 1.5 support hs-magic Binding to the libmagic library hs-microlens Microlens hs-microlens-th Automated generation of lenses hs-microstache Mustache templates hs-monad-unlift Type classes for unlifting monad transformers hs-monadplus Partial maps and filters over MonadPlus hs-mono-traversable-instances Extra type classes for mono-traversable hs-mountpoints Listing currently mounted filesystems hs-newtype-generics Full replacement of newtype hs-pretty-show Working with derived Show instances hs-process-extras Read process input/output as ByteString/Text hs-psqueues Priority Search Queues hs-readable Reading data types from ByteString/Text hs-refact Data type for apply-refact hs-regex-pcre PCRE backend to accompany regex-base hs-safe-exceptions Safe, consistent, and easy exception handling hs-say Send messages to handles in a thread-safe way hs-scanner Incremental combinator parser for ByteStrings hs-skylighting Syntax highlighting library binding hs-terminal-size Get terminal window sizes without ncurses hs-text-short Data type for keeping short strings in memory hs-th-abstraction Inspecting types via Template Haskell hs-th-lift Derive Template Haskell's Lift class hs-th-lift-instances Orphan instances for commonly used types hs-tls-session-manager TLS session manager hs-typed-process Launching/interaction with external processes hs-unexceptionalio IO without non-error/synchronous exceptions hs-uri-bytestring RFC3986 compliant URI parser hs-uri-bytestring-aeson Aeson instance for URI.ByteString hs-wl-pprint-text Version of wl-pprint to use Text Updated ports (314): hs-ALUT 2.4.0.0_1 --> 2.4.0.2 hs-Agda 2.4.2.3 --> 2.5.2 hs-Agda-stdlib 0.9_1 --> 0.13 hs-BNFC 2.8 --> 2.8.1 hs-Boolean 0.2.3 --> 0.2.4 hs-DAV 1.0.7 --> 1.3.1 hs-DRBG 0.5.4 --> 0.5.5 hs-Diff 0.3.2 --> 0.3.4 hs-GLURaw 1.5.0.1 --> 2.0.0.3 hs-GLUT 2.7.0.1_1,1 --> 2.7.0.12,1 hs-Glob 0.7.5_2 --> 0.8.0 hs-HStringTemplate 0.8.3 --> 0.8.6 hs-HTTP 4000.2.20 --> 4000.3.7 hs-HUnit 1.2.5.2_7 --> 1.6.0.0 hs-HaXml 1.25.3 --> 1.25.4 hs-HsOpenSSL 0.11.1.1 --> 0.11.4.9 hs-JuicyPixels 3.2.6 --> 3.2.8.2 hs-List 0.5.2 --> 0.6.0 hs-MemoTrie 0.6.2_2 --> 0.6.8 hs-MissingH 1.3.0.1 --> 1.4.0.1 hs-MonadRandom 0.4 --> 0.5.1 hs-ObjectName 1.1.0.0 --> 1.1.0.1 hs-OpenAL 1.7.0.0 --> 1.7.0.4 hs-OpenGL 2.12.0.1,1 --> 3.0.2.0,1 hs-OpenGLRaw 2.5.1.0_1 --> 3.2.4.0 hs-QuickCheck 2.8.1 --> 2.10.0.1 hs-RSA 2.1.0.1 --> 2.3.0 hs-ReadArgs 1.2.2 --> 1.2.3 hs-STMonadTrans 0.3.3 --> 0.4.3 hs-StateVar 1.1.0.1 --> 1.1.0.4 hs-TypeCompose 0.9.10_2 --> 0.9.12 hs-activehs 0.3.1_12 --> 0.3.2 hs-activehs-base 0.3.0.2_9 --> 0.3.0.4 hs-adjunctions 4.2.1 --> 4.3 hs-aeson 0.8.0.2 --> 1.2.1.0 hs-aeson-pretty 0.7.2 --> 0.8.5 hs-alex 3.1.4 --> 3.2.1 hs-ansi-terminal 0.6.2.1 --> 0.6.3.1 hs-asn1-data 0.7.1_9 --> 0.7.2 hs-asn1-encoding 0.9.0 --> 0.9.5 hs-asn1-parse 0.9.1 --> 0.9.4 hs-asn1-types 0.3.0 --> 0.3.2 hs-async 2.0.2 --> 2.1.1.1 hs-atomic-primops 0.8 --> 0.8.0.4 hs-attoparsec 0.12.1.6 --> 0.13.1.0 hs-authenticate 1.3.2.11 --> 1.3.3.2 hs-auto-update 0.1.2.2 --> 0.1.4 hs-aws 0.12.1 --> 0.16 hs-base-orphans 0.4.4 --> 0.6 hs-basic-prelude 0.5.0 --> 0.6.1.1 hs-bifunctors 5 --> 5.4.2 hs-blaze-builder 0.4.0.1 --> 0.4.0.2 hs-blaze-html 0.8.1.0 --> 0.9.0.1 hs-blaze-markup 0.7.0.2 --> 0.8.0.0 hs-brainfuck 0.1.0.2 --> 0.1.0.3 hs-c2hs 0.28.1_1 --> 0.28.2_1 hs-cabal-install 1.22.6.0 --> 1.24.0.2 hs-cairo 0.13.1.0 --> 0.13.3.1 hs-case-insensitive 1.2.0.4 --> 1.2.0.10 hs-cassava 0.4.3.1 --> 0.5.0.0 hs-cereal 0.4.1.1 --> 0.5.4.0 hs-cgi 3001.2.2.2,1 --> 3001.3.0.2,1 hs-checkers 0.4.3 --> 0.4.7 hs-chunked-data 0.2.0 --> 0.3.0 hs-cipher-aes128 0.7.0.1 --> 0.7.0.3 hs-classy-prelude 0.12.1.1 --> 1.2.0.1 hs-classy-prelude-conduit 0.12.0.1 --> 1.2.0 hs-clientsession 0.9.1.1 --> 0.9.1.2 hs-cmark 0.4.0.1 --> 0.5.5.1 hs-cmdargs 0.10.13 --> 0.10.17 hs-comonad 4.2.7.2 --> 5.0.1 hs-conduit 1.2.5 --> 1.2.11 hs-conduit-combinators 1.0.3 --> 1.1.1 hs-conduit-extra 1.1.9.1 --> 1.1.16 hs-connection 0.2.5 --> 0.2.8 hs-constraints 0.4.1.3 --> 0.9.1 hs-contravariant 1.3.2 --> 1.4 hs-cookie 0.4.1.6 --> 0.4.2.1 hs-cpphs 1.19 --> 1.20.8 hs-criterion 1.1.0.0 --> 1.2.1.0 hs-cryptohash 0.11.6_2 --> 0.11.9 hs-cryptohash-cryptoapi 0.1.3_2 --> 0.1.4 hs-cryptonite 0.6 --> 0.24 hs-css-text 0.1.2.1_2 --> 0.1.2.2 hs-darcs 2.10.1 --> 2.12.5 hs-data-default 0.5.3_7 --> 0.7.1.1 hs-data-default-class 0.0.1_7 --> 0.1.2.0 hs-data-default-instances-base 0.0.1_7 --> 0.1.0.1 hs-data-lens 2.10.7 --> 2.11.1 hs-data-lens-template 2.1.9 --> 2.2 hs-data-pprint 0.2.4 --> 0.2.4.1 hs-deepseq-generics 0.1.1.2 --> 0.2.0.0 hs-dia-base 0.1.1.3 --> 0.1.1.4 hs-directory-tree 0.12.0_2 --> 0.12.1 hs-distributive 0.4.4_2 --> 0.5.2 hs-dlist 0.7.1.1 --> 0.8.0.3 hs-dlist-instances 0.1_2 --> 0.1.1.1 hs-dns 2.0.0 --> 2.0.10 hs-double-conversion 2.0.1.0 --> 2.0.2.0 hs-either 4.4.1 --> 4.4.1.1 hs-ekg 0.4.0.8 --> 0.4.0.13 hs-ekg-core 0.1.1.0 --> 0.1.1.1 hs-ekg-json 0.1.0.0 --> 0.1.0.5 hs-email-validate 2.1.3 --> 2.3 hs-enclosed-exceptions 1.0.1.1 --> 1.0.2 hs-entropy 0.3.7 --> 0.3.8 hs-equivalence 0.3.1 --> 0.3.2 hs-errors 2.0.0 --> 2.2.1 hs-esqueleto 2.4.1 --> 2.5.3 hs-exceptions 0.8.0.2 --> 0.8.3 hs-extra 1.4.1 --> 1.6 hs-fast-logger 2.4.1 --> 2.4.10 hs-feed 0.3.10.0 --> 0.3.12.0 hs-fgl 5.5.2.1 --> 5.5.3.1 hs-file-embed 0.0.9 --> 0.0.10 hs-filestore 0.6.1 --> 0.6.3.1 hs-free 4.12.1 --> 4.12.4 hs-gconf 0.13.0.2 --> 0.13.1.0 hs-generic-deriving 1.8.0 --> 1.11.2 hs-geniplate-mirror 0.7.1 --> 0.7.5 hs-ghc-events 0.4.4.0 --> 0.6.0 hs-gio 0.13.1.0 --> 0.13.3.1 hs-git-annex 5.20150727_1 --> 6.20170520 hs-gitit 0.11.1 --> 0.12.2.1 hs-glib 0.13.1.1 --> 0.13.4.1 hs-gnuidn 0.2.1_3 --> 0.2.2 hs-gtk 0.13.9 --> 0.14.6 hs-gtk2hs 0.13,1 --> 0.13.2.2,1 hs-gtk2hs-buildtools 0.13.0.4_1 --> 0.13.2.2 hs-gtksourceview2 0.13.1.3 --> 0.13.3.1 hs-haddock 2.16.1 --> 2.17.5 hs-haddock-api 2.16.1 --> 2.17.4 hs-haddock-library 1.2.1 --> 1.4.3 hs-happstack-server 7.4.4 --> 7.4.6.4 hs-hashable 1.2.3.3,1 --> 1.2.6.1,1 hs-hashtables 1.2.0.2 --> 1.2.1.1 hs-haskell-src-exts 1.16.0.1 --> 1.19.1 hs-hasktags 0.69.1 --> 0.69.3 hs-hedis 0.6.9 --> 0.9.8 hs-heist 0.14.1.1 --> 1.0.1.0 hs-hexpat 0.20.9 --> 0.20.13 hs-highlighting-kate 0.6 --> 0.6.4 hs-hinotify 0.3.8.1 --> 0.3.9 hs-hint 0.4.2.3 --> 0.7.0 hs-hjsmin 0.1.5.0 --> 0.2.0.2 hs-hlint 1.9.21 --> 2.0.9 hs-hoauth2 0.4.8 --> 0.5.9 hs-hoogle 4.2.41 --> 5.0.12 hs-hourglass 0.2.9 --> 0.2.10 hs-hscolour 1.23,1 --> 1.24.1,1 hs-hslogger 1.2.9 --> 1.2.10 hs-hslua 0.4.0 --> 0.5.0 hs-hspec 2.1.10 --> 2.4.4 hs-hspec-core 2.1.10 --> 2.4.4 hs-hspec-discover 2.1.10 --> 2.4.4 hs-hspec-expectations 0.7.1 --> 0.8.2 hs-html-conduit 1.2.0 --> 1.2.1.1 hs-http-client 0.4.20 --> 0.5.7.0 hs-http-client-tls 0.2.2_2 --> 0.3.5.1 hs-http-conduit 2.1.8 --> 2.2.3.1 hs-http-reverse-proxy 0.4.2 --> 0.4.4 hs-http-types 0.8.6 --> 0.9.1 hs-http2 1.0.4 --> 1.6.3 hs-hxt 9.3.1.15 --> 9.3.1.16 hs-hxt-regex-xmlschema 9.2.0.2 --> 9.2.0.3 hs-ieee754 0.7.6 --> 0.8.0 hs-iproute 1.5.0 --> 1.7.1 hs-js-jquery 1.11.3 --> 3.2.1 hs-kan-extensions 4.2.2 --> 5.0.2 hs-keys 3.10.2 --> 3.11 hs-kqueue 0.1.2.6_2 --> 0.2 hs-language-c 0.5.0 --> 0.6.1 hs-language-javascript 0.5.14.2 --> 0.6.0.10 hs-largeword 1.2.3_2 --> 1.2.5 hs-lens 4.12.3 --> 4.15.3 hs-libmpd 0.9.0.2 --> 0.9.0.6 hs-lifted-async 0.7.0.1 --> 0.9.3 hs-lifted-base 0.2.3.6 --> 0.2.3.11 hs-map-syntax 0.2 --> 0.2.0.2 hs-math-functions 0.1.5.2_2 --> 0.2.1.0 hs-memory 0.8 --> 0.14.6 hs-mime-mail 0.4.9 --> 0.4.13.1 hs-mime-types 0.1.0.6 --> 0.1.0.7 hs-mmorph 1.0.4 --> 1.1.0 hs-monad-control 1.0.0.4 --> 1.0.2.1 hs-monad-logger 0.3.13.2 --> 0.3.24 hs-monad-par 0.3.4.7 --> 0.3.4.8 hs-monadcryptorandom 0.6.1_2 --> 0.7.1 hs-monads-tf 0.1.0.2_2 --> 0.1.0.3 hs-mono-traversable 0.9.2.1 --> 1.0.2 hs-mueval 0.9.1.1.2 --> 0.9.3 hs-murmur-hash 0.1.0.8 --> 0.1.0.9 hs-mutable-containers 0.3.2 --> 0.3.3 hs-mwc-random 0.13.3.2 --> 0.13.6.0 hs-mysql 0.1.1.8 --> 0.1.4 hs-network 2.6.2.1 --> 2.6.3.2 hs-network-info 0.2.0.7 --> 0.2.0.8 hs-network-multicast 0.1.0 --> 0.2.0 hs-network-uri 2.6.0.3 --> 2.6.1.0 hs-nonce 1.0.2 --> 1.0.4 hs-oeis 0.3.6 --> 0.3.9 hs-optparse-applicative 0.11.0.2 --> 0.14.0.0 hs-pandoc 1.15.0.6_1 --> 1.19.2.1 hs-pandoc-citeproc 0.7.3.1 --> 0.10.5.1 hs-pandoc-types 1.12.4.5 --> 1.19 hs-pango 0.13.1.0 --> 0.13.3.1 hs-parallel 3.2.0.6 --> 3.2.1.1 hs-parsec 3.1.9 --> 3.1.11 hs-path-pieces 0.2.0 --> 0.2.1 hs-pcre-light 0.4.0.3 --> 0.4.0.4 hs-persistent 2.2 --> 2.7.0 hs-persistent-sqlite 2.2 --> 2.6.2 hs-persistent-template 2.1.3.4 --> 2.5.2 hs-pointed 4.2.0.2 --> 5 hs-polyparse 1.11 --> 1.12 hs-prelude-extras 0.4_2 --> 0.4.0.3 hs-primitive 0.6 --> 0.6.2.0 hs-probability 0.2.4.1_2 --> 0.2.5.1 hs-profunctors 5.1.1 --> 5.2 hs-pureMD5 2.1.2.1_10 --> 2.1.3 hs-quickcheck-io 0.1.1_2 --> 0.2.0 hs-reflection 2 --> 2.1.2 hs-regex-applicative 0.3.2.1 --> 0.3.3 hs-regex-tdfa 1.2.0_2 --> 1.2.2 hs-resourcet 1.1.6 --> 1.1.9 hs-safe 0.3.9 --> 0.3.15 hs-sandi 0.3.5 --> 0.4.0 hs-scientific 0.3.3.8 --> 0.3.5.1 hs-semigroupoids 5.0.0.3 --> 5.2 hs-semigroups 0.16.2.2 --> 0.18.3 hs-setlocale 1.0.0.4 --> 1.0.0.5 hs-shake 0.15.5 --> 0.15.11 hs-shakespeare 2.0.5 --> 2.0.13 hs-shelly 1.6.3.3 --> 1.6.8.3 hs-simple-sendfile 0.2.21 --> 0.2.25 hs-skein 1.0.9.3 --> 1.0.9.4 hs-snap 0.14.0.6 --> 1.0.0.1 hs-snap-core 0.9.7.2 --> 1.0.2.1 hs-snap-server 0.9.5.1 --> 1.0.2.2 hs-socks 0.5.4_2 --> 0.5.5 hs-split 0.2.2_7 --> 0.2.3.2 hs-statistics 0.13.2.3 --> 0.14.0.2 hs-stm 2.4.4 --> 2.4.4.1 hs-streaming-commons 0.1.12.1 --> 0.1.18 hs-svgcairo 0.13.0.3 --> 0.13.1.1 hs-syb 0.5.1 --> 0.7 hs-syb-with-class 0.6.1.6 --> 0.6.1.7 hs-tagged 0.8.1 --> 0.8.5 hs-tagsoup 0.13.3 --> 0.14.1 hs-tar 0.4.2.1 --> 0.5.0.3 hs-temporary 1.2.0.3_2 --> 1.2.1 hs-test-framework-hunit 0.3.0.1_2 --> 0.3.0.2 hs-test-framework-quickcheck2 0.3.0.3_2 --> 0.3.0.4 hs-texmath 0.8.3 --> 0.9.4.1 hs-text 1.2.1.3 --> 1.2.2.2 hs-threads 0.5.1.3 --> 0.5.1.4 hs-threadscope 0.2.7 --> 0.2.8 hs-time-locale-compat 0.1.1.0 --> 0.1.1.3 hs-timezone-olson 0.1.7 --> 0.1.8 hs-timezone-series 0.1.5.1 --> 0.1.8 hs-tls 1.3.1 --> 1.3.11 hs-torrent 10000.0.0 --> 10000.1.1 hs-transformers-compat 0.4.0.4 --> 0.5.1.4 hs-unix-compat 0.4.1.4 --> 0.4.3.1 hs-unix-time 0.3.5 --> 0.3.7 hs-unlambda 0.1.4.1 --> 0.1.4.2 hs-unordered-containers 0.2.5.1 --> 0.2.8.0 hs-uri 0.1.6.3 --> 0.1.6.4 hs-utf8-string 1 --> 1.0.1.1 hs-utility-ht 0.0.10_2 --> 0.0.14_2 hs-uuid 1.3.11 --> 1.3.13 hs-uuid-types 1.0.2 --> 1.0.3 hs-uulib 0.9.20 --> 0.9.22 hs-vault 0.3.0.4 --> 0.3.0.7 hs-vector 0.10.12.3 --> 0.12.0.1 hs-vector-binary-instances 0.2.1.0_2 --> 0.2.3.5 hs-vector-instances 3.3.1 --> 3.4 hs-vector-space 0.10.2 --> 0.10.4 hs-vector-th-unbox 0.2.1.2 --> 0.2.1.6 hs-void 0.7 --> 0.7.2 hs-vte 0.13.0.2 --> 0.13.1.1 hs-wai 3.0.3.0 --> 3.2.1.1 hs-wai-app-static 3.1.1 --> 3.1.6.1 hs-wai-extra 3.0.10 --> 3.0.20.0 hs-wai-logger 2.2.4.1 --> 2.3.0 hs-warp 3.1.3 --> 3.2.13 hs-warp-tls 3.1.1 --> 3.2.4 hs-webkit 0.13.1.3 --> 0.14.2.1 hs-wx 0.91.0.0 --> 0.92.3.0 hs-wxc 0.91.0.0 --> 0.92.3.0 hs-wxcore 0.91.0.0 --> 0.92.3.0 hs-wxdirect 0.91.0.0 --> 0.92.3.0 hs-x509 1.6.0 --> 1.6.5 hs-x509-store 1.6.0 --> 1.6.2 hs-x509-system 1.6.0 --> 1.6.4 hs-x509-validation 1.6.0 --> 1.6.5 hs-xml-conduit 1.3.1 --> 1.5.1 hs-xml-hamlet 0.4.0.11 --> 0.4.1 hs-xmlhtml 0.2.3.4 --> 0.2.4 hs-xmobar 0.24.3 --> 0.24.5 hs-xss-sanitize 0.3.5.6 --> 0.3.5.7 hs-yaml 0.8.13 --> 0.8.23.1 hs-yesod 1.4.1.5 --> 1.4.5 hs-yesod-auth 1.4.6 --> 1.4.17.2 hs-yesod-auth-hashdb 1.4.2.2 --> 1.6.1 hs-yesod-bin 1.4.13.3 --> 1.5.2.3 hs-yesod-core 1.4.13 --> 1.4.35 hs-yesod-form 1.4.4.1 --> 1.4.12 hs-yesod-persistent 1.4.0.3 --> 1.4.2 hs-yesod-static 1.5.0.2 --> 1.5.3 hs-yesod-test 1.4.3.1 --> 1.5.7 hs-zip-archive 0.2.3.7 --> 0.3.1.1 hs-zlib 0.5.4.2 --> 0.6.1.2 scroll 1.20151219 --> 1.20170122 Removed ports (5): hs-MonadCatchIO-mtl Deprecated in favor of exceptions hs-MonadCatchIO-transformers Deprecated in favor of exceptions hs-citeproc-hs Replaced by pandoc-citeproc hs-directory Part of the packages shipped with GHC hs-syb-with-class-instances-text Upstream is unmaintained This was created together with pgj@. Reviewed by: pgj, 6yearold_gmail.com Differential Revision: https://reviews.freebsd.org/D11558
Notes
Notes: svn path=/head/; revision=447548
Diffstat (limited to 'lang/ghc')
-rw-r--r--lang/ghc/Makefile277
-rw-r--r--lang/ghc/bsd.cabal.mk226
-rw-r--r--lang/ghc/bsd.cabal.options.mk16
-rw-r--r--lang/ghc/bsd.hackage.mk1081
-rw-r--r--lang/ghc/distinfo9
-rw-r--r--lang/ghc/files/build.boot.mk.in8
-rw-r--r--lang/ghc/files/build.mk.in19
-rw-r--r--lang/ghc/files/patch-aclocal.m439
-rw-r--r--lang/ghc/files/patch-configure.ac18
-rw-r--r--lang/ghc/files/patch-ghc.mk17
-rw-r--r--lang/ghc/files/patch-libraries_Cabal_Cabal_Distribution_Simple_GHC.hs4
-rw-r--r--lang/ghc/files/patch-libraries__Cabal__Cabal__Distribution__Simple__Program__Builtin.hs29
-rw-r--r--lang/ghc/pkg-plist9
13 files changed, 915 insertions, 837 deletions
diff --git a/lang/ghc/Makefile b/lang/ghc/Makefile
index 53c73a7afc82..1ab40a2ca9ac 100644
--- a/lang/ghc/Makefile
+++ b/lang/ghc/Makefile
@@ -2,8 +2,7 @@
# $FreeBSD$
PORTNAME= ghc
-PORTVERSION= 7.10.2
-PORTREVISION= 3
+PORTVERSION= ${GHC_VERSION}
CATEGORIES= lang haskell
MASTER_SITES= http://www.haskell.org/ghc/dist/${PORTVERSION}/:source \
LOCAL/pgj/:boot
@@ -17,96 +16,93 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
ONLY_FOR_ARCHS= i386 amd64
-MAKE_JOBS_NUMBER_LIMIT= 4
-NO_CCACHE= yes
-
-GHC_VERSION= ${PORTVERSION}
-HSCOLOUR_VERSION= 1.23
-LLVM_VERSION= 35
+GHC_VERSION= 8.0.2
+HSCOLOUR_VERSION= 1.24.1
DATADIR= ${PREFIX}/share/ghc-${GHC_VERSION}
EXAMPLESDIR= ${PREFIX}/share/examples/ghc-${GHC_VERSION}
-CONFLICTS= ghc-7.4.* ghc-7.6.* ghc-7.8.*
+CONFLICTS= ghc-7.4.* ghc-7.6.* ghc-7.8.* ghc-7.10.*
LIB_DEPENDS+= libgmp.so:math/gmp
-USES= autoreconf gmake iconv:translit ncurses perl5 tar:xz
+USES= autoreconf gmake iconv:translit localbase:ldflags ncurses perl5 tar:xz
USE_LOCALE= en_US.UTF-8
-USE_PERL5= build
+USE_PERL5= build
# The configure process accepts,filters and canonicalises
# the CONFIGURE_TARGET variable. You can read the files
# ${WRKSRC}/configure and ${WRKSRC}/config.sub.
-# This is better fixed in the ${WRKSRC}/mk/build.mk.
-# You can view below.
+# This is better fixed in files/build.mk.in
GNU_CONFIGURE= yes
-OPTIONS_DEFINE= PROFILE DYNAMIC LLVM DOCS
-OPTIONS_SINGLE= C_Compiler
-OPTIONS_SINGLE_C_Compiler= GCC PCLANG BCLANG
+CONFIGURE_ARGS= --with-ld=${LD} \
+ --with-gmp-includes=${LOCALBASE}/include \
+ --with-gmp-libraries=${LOCALBASE}/lib \
+ --with-iconv-includes=${LOCALBASE}/include \
+ --with-iconv-libraries=${LOCALBASE}/lib
+
+SUB_FILES= build.mk \
+ build.boot.mk
+SUB_LIST= GHC_VERSION=${GHC_VERSION} \
+ NCURSESINC="${NCURSESINC}" NCURSESLIB="${NCURSESLIB}" \
+ CFLAGS="${CFLAGS}"
+
+OPTIONS_GROUP= BOOTSTRAP
+BOOTSTRAP_DESC= Bootsrap using installed ghc
+OPTIONS_GROUP_BOOTSTRAP=BOOT BOOTH
+OPTIONS_DEFINE= DYNAMIC PROFILE DOCS
+OPTIONS_SUB= yes
-OPTIONS_DEFAULT= PROFILE DYNAMIC GCC
+OPTIONS_DEFAULT= PROFILE DYNAMIC
BOOT_DESC= Use installed GHC for bootstrapping
BOOTH_DESC= Use installed HsColour for bootstrapping
-PCLANG_DESC= Build with Clang from ports
-BCLANG_DESC= Build with Clang from base
PROFILE_DESC= Add support for performance profiling
DYNAMIC_DESC= Add support for dynamic linking
-LLVM_DESC= Add support for generating code via LLVM
DOCS_DESC= Install HTML documentation
-LOCALBASE?= /usr/local
+DYNAMIC_CONFIGURE_ARGS= --with-system-libffi \
+ --with-ffi-includes=${LOCALBASE}/include \
+ --with-ffi-libraries=${LOCALBASE}/lib
+# The version number is needed as lang/gcc installs a different version
+DYNAMIC_LIB_DEPENDS= libffi.so.6:devel/libffi
-.if exists(${LOCALBASE}/bin/ghc)
-OPTIONS_DEFINE+= BOOT
-.endif
+# Append substitutions for build.mk -- the files uses '#' as comments
+BOOT_SUB_LIST= HSC2HS=${LOCALBASE}/bin/hsc2hs
+BOOT_SUB_LIST_OFF= HSC2HS=${BOOT_HSC2HS}
-.if exists(${LOCALBASE}/bin/HsColour)
-OPTIONS_DEFINE+= BOOTH
-.endif
+DOCS_BUILD_DEPENDS+= sphinx-build:textproc/py-sphinx
-.include <bsd.port.options.mk>
+DYNAMIC_SUB_LIST= WITH_DYNAMIC=""
+DYNAMIC_SUB_LIST_OFF= WITH_DYNAMIC="\#"
-.if ${PORT_OPTIONS:MDYNAMIC}
-# The version number is needed as lang/gcc installs a different version
-LIB_DEPENDS+= libffi.so.6:devel/libffi
-.endif
+PROFILE_SUB_LIST= WITH_PROFILE=""
+PROFILE_SUB_LIST_OFF= WITH_PROFILE="\#"
-.if empty(PORT_OPTIONS:MBOOT)
+DOCS_SUB_LIST= WITH_DOCS="YES"
+DOCS_SUB_LIST_OFF= WITH_DOCS="NO"
+LOCALBASE?= /usr/local
+
+.include <bsd.port.options.mk>
+
+.if empty(PORT_OPTIONS:MBOOT)
BOOT_GHC_VERSION= 7.10.2
DISTFILES+= ghc-${BOOT_GHC_VERSION}-boot-${ARCH}-freebsd${EXTRACT_SUFX}:boot
-
.endif # MBOOT
-.if ${PORT_OPTIONS:MPCLANG}
-BUILD_DEPENDS+= ${LOCALBASE}/bin/clang${LLVM_VERSION}:lang/clang${LLVM_VERSION}
-RUN_DEPENDS+= ${LOCALBASE}/bin/clang${LLVM_VERSION}:lang/clang${LLVM_VERSION}
-CC= ${LOCALBASE}/bin/clang${LLVM_VERSION}
-CXX= ${LOCALBASE}/bin/clang++${LLVM_VERSION}
-CPP= ${LOCALBASE}/bin/clang-cpp${LLVM_VERSION}
-LDFLAGS+= -B${LOCALBASE}/bin
-CFLAGS+= -Qunused-arguments
-CONFIGURE_ARGS+= --with-clang=${CC} --with-gcc=${CC}
-USE_BINUTILS= yes
-.if empty(PORT_OPTIONS:MBOOT)
-CONFIGURE_ARGS_BOOT+= --with-clang=${CC} --with-gcc=${CC}
-.endif
-.elif ${PORT_OPTIONS:MBCLANG}
-CC= /usr/bin/clang
-CXX= /usr/bin/clang++
-CPP= /usr/bin/clang-cpp
-CFLAGS+= -Qunused-arguments
-CONFIGURE_ARGS+= --with-clang=${CC} --with-gcc=${CC}
-.else # GCC
-USE_GCC= yes
-CONFIGURE_ARGS+= --with-gcc=${CC}
+# LLVM is still not properly supported, further it does not make sense to have
+# to depend on old llvm ports that will be removed from the ports soon.
+# So for now, stick to GCC.
+# https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/Backends/LLVM/Installing
+# We should however investigate whether base's clang is enough to build ghc&co.
+# This will likely require some modifications to compiler/main/*hs
+USE_GCC= yes
+CONFIGURE_ARGS+= -with-gcc=${CC}
.if empty(PORT_OPTIONS:MBOOT)
CONFIGURE_ARGS_BOOT+= --with-gcc=${CC}
.endif
-.endif
DOCSDIR= ${PREFIX}/share/doc/${DISTNAME}
GHC_LIBDIR= ${STAGEDIR}${PREFIX}/lib/ghc-${GHC_VERSION}
@@ -114,31 +110,9 @@ GHC_LIBDIR_REL= lib/ghc-${GHC_VERSION}
PLIST_SUB+= GHC_VERSION=${GHC_VERSION} GHC_LIBDIR=${GHC_LIBDIR_REL}
-HACKAGE_SITE?= http://hackage.haskell.org/package/
-
-CONFIGURE_ARGS+= --with-ld=${LD} \
- --with-gmp-includes=${LOCALBASE}/include \
- --with-gmp-libraries=${LOCALBASE}/lib
-
-CONFIGURE_ARGS+= --with-iconv-includes=${LOCALBASE}/include \
- --with-iconv-libraries=${LOCALBASE}/lib
-
-.if ${PORT_OPTIONS:MDYNAMIC}
-CONFIGURE_ARGS+= --with-system-libffi \
- --with-ffi-includes=${LOCALBASE}/include \
- --with-ffi-libraries=${LOCALBASE}/lib
-.endif
-
-.if ${PORT_OPTIONS:MLLVM}
-BUILD_DEPENDS+= ${LOCALBASE}/bin/opt${LLVM_VERSION}:devel/llvm${LLVM_VERSION}
-RUN_DEPENDS+= ${LOCALBASE}/bin/opt${LLVM_VERSION}:devel/llvm${LLVM_VERSION}
-
-CONFIGURE_ARGS+= --with-opt=${LOCALBASE}/bin/opt${LLVM_VERSION} \
- --with-llc=${LOCALBASE}/bin/llc${LLVM_VERSION}
-.endif
+HACKAGE_SITE?= http://hackage.haskell.org/package/
.if empty(PORT_OPTIONS:MBOOT)
-
BOOT_DIR= ${WRKDIR}/ghc-${BOOT_GHC_VERSION}-boot
BOOT_GHC= ${BOOT_DIR}/bin/ghc-${BOOT_GHC_VERSION}
BOOT_GHC-PKG= ${BOOT_DIR}/bin/ghc-pkg-${BOOT_GHC_VERSION}
@@ -148,19 +122,11 @@ SLAVE_CMD= ${SETENV} PATH=${BOOT_DIR}/bin:${PATH}
CONFIGURE_ARGS_BOOT+= --prefix=${BOOT_DIR} --with-ld=${LD}
CONFIGURE_ARGS+= --with-ghc=${BOOT_GHC}
-
.else # MBOOT
-
-SLAVE_CMD= # empty
-
+SLAVE_CMD= # empty
CONFIGURE_ARGS+= --with-ghc=${LOCALBASE}/bin/ghc
-
.endif # MBOOT
-# libgmp:
-LDFLAGS+= -L${LOCALBASE}/lib
-CFLAGS+= -I${LOCALBASE}/include
-
# override TMPDIR because /tmp often doesn't have enough space
# to build some of the larger libraries.
TMPDIR= ${WRKSRC}/tmp
@@ -173,16 +139,16 @@ TMPDIR= ${WRKSRC}/tmp
.if ${PORT_OPTIONS:MDOCS}
-.if empty(PORT_OPTIONS:MBOOTH)
+. if empty(PORT_OPTIONS:MBOOTH)
MASTER_SITES+= ${HACKAGE_SITE}hscolour-${HSCOLOUR_VERSION}/:docs
DISTFILES+= hscolour-${HSCOLOUR_VERSION}.tar.gz:docs
EXTRACT_ONLY= ${_DISTFILES:C/hscolour.*$//g}
-.endif # MBOOTH
+. endif # MBOOTH
-.if empty(PORT_OPTIONS:MBOOTH)
+. if empty(PORT_OPTIONS:MBOOTH)
SLAVES_PREFIX= ${WRKDIR}/slaves_prefix
SLAVES_WRKDIRPREFIX= ${WRKDIR}/slaves_wrkdirprefix
@@ -190,87 +156,49 @@ SLAVES_WRKDIRPREFIX= ${WRKDIR}/slaves_wrkdirprefix
MAKE_ENV+= PATH=${SLAVES_PREFIX}/bin:${PATH}
CONFIGURE_ENV+= PATH=${SLAVES_PREFIX}/bin:${PATH}
-.endif # MBOOTH
+. endif # MBOOTH
-BUILD_DEPENDS+= docbook-xsl>0:textproc/docbook-xsl \
- ${LOCALBASE}/bin/xsltproc:textproc/libxslt
-.endif
+.endif # MDOCS
post-extract:
- @${ECHO} >> ${WRKSRC}/mk/build.mk "docdir = ${PREFIX}/share/doc/ghc-${GHC_VERSION}"
- @${ECHO} >> ${WRKSRC}/mk/build.mk "htmldir = ${PREFIX}/share/doc/ghc-${GHC_VERSION}"
- @${ECHO} >> ${WRKSRC}/mk/build.mk "mandir = ${PREFIX}/man"
- @${ECHO} >> ${WRKSRC}/mk/build.mk "infodir = ${PREFIX}/info"
- @${ECHO} >> ${WRKSRC}/mk/build.mk "GhcLibWays = v"
-.if ${PORT_OPTIONS:MPROFILE}
- @${ECHO} >> ${WRKSRC}/mk/build.mk "GhcLibWays += p"
-.endif
-.if ${PORT_OPTIONS:MDYNAMIC}
- @${ECHO} >> ${WRKSRC}/mk/build.mk "GhcLibWays += dyn"
-.endif
-.if ${PORT_OPTIONS:MDOCS}
- @${ECHO} >> ${WRKSRC}/mk/build.mk "XMLDocWays = html"
- @${ECHO} >> ${WRKSRC}/mk/build.mk "HADDOCK_DOCS = YES"
- @${ECHO} >> ${WRKSRC}/mk/build.mk "HSCOLOUR_SRCS = YES"
-.else
- @${ECHO} >> ${WRKSRC}/mk/build.mk "XMLDocWays ="
- @${ECHO} >> ${WRKSRC}/mk/build.mk "HADDOCK_DOCS ="
- @${ECHO} >> ${WRKSRC}/mk/build.mk "HSCOLOUR_SRCS ="
-.endif
-.if ${PORT_OPTIONS:MBOOT}
- @${ECHO} >> ${WRKSRC}/mk/build.mk "BSD_PATH_TO_HSC2HS = ${LOCALBASE}/bin/hsc2hs"
-.else
- @${ECHO} >> ${WRKSRC}/mk/build.mk "BSD_PATH_TO_HSC2HS = ${BOOT_HSC2HS}"
-.endif
- @${ECHO} >> ${WRKSRC}/mk/build.mk "SRC_HC_OPTS += -I${NCURSESINC} -L${NCURSESLIB} -I${LOCALBASE}/include -L${LOCALBASE}/lib"
-.if ${PORT_OPTIONS:MPCLANG}
- @${ECHO} >> ${WRKSRC}/mk/build.mk "SRC_HC_OPTS += -optl=-B${LOCALBASE}/bin"
-.endif
- @${ECHO} >> ${WRKSRC}/mk/build.mk "SRC_CC_OPTS += ${CFLAGS}"
- @${ECHO} >> ${WRKSRC}/mk/build.mk "EXTRA_HSC2HS_OPTS += -I${LOCALBASE}/include --lflag=-L${LOCALBASE}/lib"
- @${ECHO} >> ${WRKSRC}/mk/build.mk "EXTRA_LD_OPTS += -L${LOCALBASE}/lib"
- @${ECHO} >> ${WRKSRC}/mk/build.mk "EXTRA_CABAL_CONFIGURE_FLAGS += --extra-include-dirs=${LOCALBASE}/include"
- @${ECHO} >> ${WRKSRC}/mk/build.mk "EXTRA_CABAL_CONFIGURE_FLAGS += --extra-lib-dirs=${LOCALBASE}/lib"
- @${ECHO} >> ${WRKSRC}/mk/build.mk "libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes=${NCURSESINC} --configure-option=--with-curses-libraries=${NCURSESLIB}"
- @${ECHO} >> ${WRKSRC}/mk/build.mk "V = 0"
-.if ${PORT_OPTIONS:MBCLANG} || ${PORT_OPTIONS:MPCLANG}
- @${REINPLACE_CMD} -e 's|@SettingsCCompilerFlags@|& -Qunused-arguments|' ${WRKSRC}/settings.in
-.if empty(PORT_OPTIONS:MBOOT)
- @${REINPLACE_CMD} -e 's|@SettingsCCompilerFlags@|& -Qunused-arguments|' ${BOOT_DIR}/settings.in
-.endif
-.endif
.if empty(PORT_OPTIONS:MBOOT) && ${OPSYS} == FreeBSD && ${OSVERSION} >= 1200031
@${REINPLACE_CMD} -e 's|@SettingsCCompilerLinkFlags@|& -Wl,--wrap=readdir_r,--wrap=stat,--wrap=lstat,--wrap=fstat,--wrap=mknod|' ${BOOT_DIR}/settings.in
.endif
+# %%PORTDOCS%%%%DOCSDIR%%/html/libraries/doc-index-V.html
post-install-script:
- @${FIND} -ds ${GHC_LIBDIR} -type f -print | ${SED} -E -e \
- '/^${GHC_LIBDIR:C/\//\\\//g}\/package.conf.d\/package\.cache/d' -e \
- 's,^${STAGEDIR}${PREFIX}/?,,' >> ${TMPPLIST}
- @${FIND} -ds ${STAGEDIR}${DOCSDIR} -type f -print | ${SED} -E -e \
- '/^${STAGEDIR:C/\//\\\//g}${DOCSDIR:C/\//\\\//g}\/html\/libraries\/doc-index-[^.]+\.html/d' -e \
- '/^${STAGEDIR:C/\//\\\//g}${DOCSDIR:C/\//\\\//g}\/html\/libraries\/index[^\/.]*\.html/d' -e \
- '/^${STAGEDIR:C/\//\\\//g}${DOCSDIR:C/\//\\\//g}\/html\/libraries\/[^\/]+\.png/d' -e \
- 's,^${STAGEDIR}${PREFIX}/?,,' >> ${TMPPLIST}
+ ${FIND} -ds ${GHC_LIBDIR} -type f -print | ${SED} -E \
+ -e 's,^${STAGEDIR}${PREFIX}/?,,' \
+ -e '/^${GHC_LIBDIR:C/\//\\\//g}\/package.conf.d\/package\.cache/s|^|@comment |g' \
+ >> ${TMPPLIST}
+ ${FIND} -ds ${STAGEDIR}${DOCSDIR} -type f -print | ${SED} -E \
+ -e 's,^${STAGEDIR}${PREFIX}/?,,' \
+ -e '/^${STAGEDIR:C/\//\\\//g}${DOCSDIR:C/\//\\\//g}\/html\/libraries\/doc-index-[^.]+\.html/s|^|@comment |g' \
+ -e '/^${STAGEDIR:C/\//\\\//g}${DOCSDIR:C/\//\\\//g}\/html\/libraries\/index[^\/.]*\.html/s|^|@comment|g' \
+ -e '/^${STAGEDIR:C/\//\\\//g}${DOCSDIR:C/\//\\\//g}\/html\/libraries\/[^\/]+\.png/s|^|@comment |g' \
+ >> ${TMPPLIST}
.if ${PORT_OPTIONS:MDOCS}
# Cleanup the indexen created by gen_contents_index
- @${ECHO} "@unexec ${RM} %D/${DOCSDIR_REL}/html/libraries/doc-index-*.html" >> ${TMPPLIST}
- @${ECHO} "@unexec ${RM} %D/${DOCSDIR_REL}/html/libraries/index*.html" >> ${TMPPLIST}
- @${ECHO} "@unexec ${RM} %D/${DOCSDIR_REL}/html/libraries/*.png" >> ${TMPPLIST}
+ ${ECHO} "@postunexec ${RM} %D/${DOCSDIR_REL}/html/libraries/doc-index-*.html" >> ${TMPPLIST}
+ ${ECHO} "@postunexec ${RM} %D/${DOCSDIR_REL}/html/libraries/index*.html" >> ${TMPPLIST}
+ ${ECHO} "@postunexec ${RM} %D/${DOCSDIR_REL}/html/libraries/*.png" >> ${TMPPLIST}
.endif
- @${ECHO} '@unexec ${RM} %D/${GHC_LIBDIR_REL}/package.conf.d/package.cache' >>${TMPPLIST}
- @${ECHO} "@exec %D/bin/ghc-pkg recache" >>${TMPPLIST}
+ ${ECHO} '@postunexec ${RM} %D/${GHC_LIBDIR_REL}/package.conf.d/package.cache' >>${TMPPLIST}
+ ${ECHO} "@postexec %D/bin/ghc-pkg recache" >>${TMPPLIST}
.if ${PORT_OPTIONS:MDOCS}
- @${ECHO} '@exec ${SH} -c "cd %D/${DOCSDIR_REL}/html/libraries && ./gen_contents_index"' >> ${TMPPLIST}
+ ${ECHO} '@postexec ${SH} -c "cd %D/${DOCSDIR_REL}/html/libraries && ./gen_contents_index"' >> ${TMPPLIST}
.endif
post-patch:
- @${REINPLACE_CMD} -e 's|%%CC%%|${CC}|; \
+ ${REINPLACE_CMD} -e 's|%%CC%%|${CC}|; \
s|%%AR%%|${AR}|; \
s|%%LD%%|${LD}|' \
${WRKSRC}/libraries/Cabal/Cabal/Distribution/Simple/Program/Builtin.hs
-pre-configure:
+pre-configure: apply-slist
+ # Copy the subbed build.mk to the proper position
+ ${CP} ${WRKDIR}/build.mk ${WRKSRC}/mk/build.mk
+
@${MKDIR} ${TMPDIR}
.if empty(PORT_OPTIONS:MBOOTH) && ${OPSYS} == FreeBSD && \
${OSVERSION} >= 1200031
@@ -307,13 +235,44 @@ pre-configure:
${SLAVE_CMD} ./Setup install)
.endif
+_EXECUTABLES= ${STAGEDIR}${PREFIX}/bin/hp2ps \
+ ${GHC_LIBDIR}/bin/unlit \
+ ${GHC_LIBDIR}/bin/hpc \
+ ${GHC_LIBDIR}/bin/ghc-iserv \
+ ${GHC_LIBDIR}/bin/ghc-pkg \
+ ${GHC_LIBDIR}/bin/hsc2hs \
+ ${GHC_LIBDIR}/bin/runghc \
+ ${GHC_LIBDIR}/bin/ghc
+
+.if ${PORT_OPTIONS:MPROFILE}
+_EXECUTABLES+= ${GHC_LIBDIR}/bin/ghc-iserv-prof
+.endif
+.if ${PORT_OPTIONS:MDYNAMIC}
+_EXECUTABLES+= ${GHC_LIBDIR}/bin/ghc-iserv-dyn
+.endif
+.if ${PORT_OPTIONS:MDOCS}
+_EXECUTABLES+= ${GHC_LIBDIR}/bin/haddock
+.endif
+
post-install:
- @${RM} ${STAGEDIR}${PREFIX}/bin/haddock
+ ${RM} ${STAGEDIR}${PREFIX}/bin/haddock
.if ${PORT_OPTIONS:MDOCS}
- @${LN} -sf haddock-ghc-${GHC_VERSION} ${STAGEDIR}${PREFIX}/bin/haddock
+ ${LN} -sf haddock-ghc-${GHC_VERSION} ${STAGEDIR}${PREFIX}/bin/haddock
.endif
- @(for f in ${STAGEDIR}${PREFIX}/bin/hp2ps ${GHC_LIBDIR}/unlit \
- $$(${FIND} ${GHC_LIBDIR}/bin -type f; ${FIND} ${GHC_LIBDIR} -name '*.so'); do \
- ${STRIP_CMD} $$f; done)
+ (for f in ${_EXECUTABLES} $$(${FIND} ${GHC_LIBDIR} -name '*.so'); do \
+ ${STRIP_CMD} $$f; done)
.include <bsd.port.mk>
+
+# Create a bootstrap compiler tar ball: run this in an interactive poudriere jail
+.PHONY: create-bootstrap
+create-bootstrap:
+ @${ECHO} "TODO: https://github.com/freebsd-haskell/ports/wiki/Updating-the-Bootstrap-Compiler"
+ cd ${WRKSCR} \
+ && ${CP} ${WRKDIR}/build.boot.mk mk \
+ && setenv ${CONFIGURE_ENV} ./configure --with-iconv-includes=${LOCALBASE}/include \
+ --with-iconv-libraries=${LOCALBASE}/lib \
+ --with-gcc=${CC} \
+ --with-ld=${LD} \
+ && make binary-dist TAR_COMP=xz \\
+ && mv ghc-${GHC_VERSION}-boot-${GHC_ARCH}-unknown-freebsd.tar.xz /tmp/ghc-${GHC_VERSION}-${ARCH}-freebsd${FREEBSD_MAJOR_VERSION}-boot.tar.xz
diff --git a/lang/ghc/bsd.cabal.mk b/lang/ghc/bsd.cabal.mk
index c031e7b26d06..7cc0a1d3e7ce 100644
--- a/lang/ghc/bsd.cabal.mk
+++ b/lang/ghc/bsd.cabal.mk
@@ -1,4 +1,4 @@
-#
+
# $FreeBSD$
#
# bsd.cabal.mk -- Support for ports based on Haskell Cabal.
@@ -32,8 +32,12 @@ SETUP_CMD?= ./setup
ALEX_CMD?= ${LOCALBASE}/bin/alex
HAPPY_CMD?= ${LOCALBASE}/bin/happy
C2HS_CMD?= ${LOCALBASE}/bin/c2hs
+CPPHS_CMD?= ${LOCALBASE}/bin/cpphs
-CABAL_DIRS+= ${DATADIR} ${EXAMPLESDIR} ${CABAL_LIBDIR}/${CABAL_LIBSUBDIR} \
+# ./usr/local/lib/cabal/ghc-8.0.2/x86_64-freebsd-ghc-8.0.2/libHStransformers-compat-0.5.1.4-IuF
+CABAL_DIRS+= ${DATADIR} ${EXAMPLESDIR} \
+ ${CABAL_LIBDIR}/${CABAL_LIBSUBDIR} \
+ ${CABAL_LIBDIR}/${CABAL_ARCHSUBDIR} \
${DOCSDIR}
GHC_HADDOCK_CMD=${LOCALBASE}/bin/haddock-ghc-${GHC_VERSION}
@@ -50,10 +54,19 @@ GHC_LIB_DOCSDIR_REL= share/doc/ghc-${GHC_VERSION}/html/libraries
CABAL_LIBDIR= ${PREFIX}/lib/cabal/ghc-${GHC_VERSION}
CABAL_LIBSUBDIR= ${PACKAGE}
+CABAL_ARCH= x86_64
+.if ("${ARCH}" == "i386")
+CABAL_ARCH= i386
+.endif
+CABAL_ARCHSUBDIR= ${CABAL_ARCH}-freebsd-ghc-${GHC_VERSION}
CABAL_LIBDIR_REL= ${CABAL_LIBDIR:S,^${PREFIX}/,,}
CONFIGURE_ARGS+= --libdir=${CABAL_LIBDIR} --libsubdir=${CABAL_LIBSUBDIR}
+# Inherited via lang/ghc we need to depend on iconv and libgmp.so (stage q/a)
+USES+= iconv:translit
+LIB_DEPENDS+= libgmp.so:math/gmp
+
PLIST_SUB+= GHC_VERSION=${GHC_VERSION} \
PORTNAME=${PORTNAME} \
PORTVERSION=${PORTVERSION} \
@@ -83,35 +96,15 @@ BUILD_DEPENDS+= ghc:lang/ghc
BUILD_DEPENDS+= ghc>=${GHC_VERSION}:lang/ghc
.endif
-
-.if ${PORT_OPTIONS:MPCLANG}
-BUILD_DEPENDS+= ${LOCALBASE}/bin/clang${LLVM_VERSION}:lang/clang${LLVM_VERSION}
-RUN_DEPENDS+= ${LOCALBASE}/bin/clang${LLVM_VERSION}:lang/clang${LLVM_VERSION}
-CC= ${LOCALBASE}/bin/clang${LLVM_VERSION}
-CXX= ${LOCALBASE}/bin/clang++${LLVM_VERSION}
-CPP= ${LOCALBASE}/bin/clang-cpp${LLVM_VERSION}
-CFLAGS+= -Qunused-arguments
-LDFLAGS+= -B${LOCALBASE}/bin
-CONFIGURE_ARGS+= --ghc-option=-optl=-B${LOCALBASE}/bin
-USE_BINUTILS= yes
-.elif ${PORT_OPTIONS:MBCLANG}
-CC= /usr/bin/clang
-CXX= /usr/bin/clang++
-CPP= /usr/bin/clang-cpp
-CFLAGS+= -Qunused-arguments
-.else # GCC
+# LLVM is still not properly supported, further it does not make sense to have
+# to depend on old llvm ports that will be removed from the ports soon.
+# So for now, stick to GCC -- this might change with ghc-8.4.
+# https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/Backends/LLVM/Installing
+# We should however investigate whether base's clang is enough to build ghc&co.
USE_GCC= yes
-.endif
-CONFIGURE_ARGS+= --with-gcc=${CC} --with-ld=${LD} --with-ar=${AR}
-
-.if ${PORT_OPTIONS:MLLVM}
-CONFIGURE_ARGS+= --ghc-option=-fllvm \
- --ghc-option=-pgmlo --ghc-option=${LOCALBASE}/bin/opt${LLVM_VERSION} \
- --ghc-option=-pgmlc --ghc-option=${LOCALBASE}/bin/llc${LLVM_VERSION}
-BUILD_DEPENDS+= ${LOCALBASE}/bin/opt${LLVM_VERSION}:devel/llvm${LLVM_VERSION}
-.endif
+CONFIGURE_ARGS+= --with-gcc=${CC} --with-ld=${LD} --with-ar=${AR}
.if defined(USE_ALEX)
BUILD_DEPENDS+= ${ALEX_CMD}:devel/hs-alex
@@ -128,66 +121,72 @@ BUILD_DEPENDS+= ${C2HS_CMD}:devel/hs-c2hs
CONFIGURE_ARGS+= --with-c2hs=${C2HS_CMD}
.endif
-.if defined(EXECUTABLE)
-LIB_DEPENDS+= libgmp.so:math/gmp
-USES+= iconv
+.if defined(USE_CPPHS)
+BUILD_DEPENDS+= ${CPPHS_CMD}:devel/hs-cpphs
+CONFIGURE_ARGS+= --with-cpphs=${CPPHS_CMD}
+.endif
+.if defined(EXECUTABLE)
CONFIGURE_ARGS+= --enable-executable-stripping
.endif
.if defined(USE_CABAL)
.include "bsd.hackage.mk"
-.for cabal_package in ${USE_CABAL}
+. for cabal_package in ${USE_CABAL}
__u_h_r_package= ${cabal_package:C/[<=>].*$//g}
__u_h_r_port= ${${__u_h_r_package}_port}
__u_h_r_name= ${__u_h_r_port:C/.*\///g}
-.if empty(__u_h_r_port)
-IGNORE?= dependency fails: ${cabal_package:C/[<=>].*$//g} is not known as a port
-.endif
+. if empty(__u_h_r_port)
+IGNORE?= dependency fails: ${cabal_package} -> ${__u_h_r_package} is not known as a port
+. endif
-.if ${__u_h_r_package} == ${cabal_package}
+. if ${__u_h_r_port} != ${STAGE2_DUMMY}
+. if ${__u_h_r_package} == ${cabal_package}
__u_h_r_version:= >=0
-.else
+. else
__u_h_r_version:= ${cabal_package:C/^[^<=>]*//g}
-.endif
+. endif
dependencies:= ${dependencies} \
${HSPREFIX}${__u_h_r_package}${__u_h_r_version}:${__u_h_r_port}
-.endfor
+. else
+IGNORE?= dependency fail: ${__u_h_r_package} is part of lang/ghc
+. endif
+. endfor
BUILD_DEPENDS+= ${dependencies}
-.if !defined(STANDALONE) || ${PORT_OPTIONS:MDYNAMIC}
+. if !defined(STANDALONE) || ${PORT_OPTIONS:MDYNAMIC}
RUN_DEPENDS+= ${dependencies}
-.endif
+. endif
.endif
.if ${PORT_OPTIONS:MDOCS}
-.if !defined(XMLDOCS)
+. if !defined(XMLDOCS)
-.if defined(HADDOCK_AVAILABLE)
+. if defined(HADDOCK_AVAILABLE)
HADDOCK_OPTS= # empty
-.if ${PORT_OPTIONS:MHSCOLOUR}
+. if ${PORT_OPTIONS:MHSCOLOUR}
BUILD_DEPENDS+= HsColour:print/hs-hscolour
HSCOLOUR_DATADIR= ${LOCALBASE}/share/cabal/ghc-${GHC_VERSION}/hscolour-${HSCOLOUR_VERSION}
HADDOCK_OPTS+= --hyperlink-source --hscolour-css=${HSCOLOUR_DATADIR}/hscolour.css
-.endif # HSCOLOUR
-.endif # HADDOCK_AVAILABLE
+. endif # HSCOLOUR
+. endif # HADDOCK_AVAILABLE
-.endif
+. endif
-.if defined(XMLDOCS)
+. if defined(XMLDOCS)
BUILD_DEPENDS+= docbook-xsl>0:textproc/docbook-xsl \
${LOCALBASE}/bin/xsltproc:textproc/libxslt
USES+= gmake
-.endif # !XMLDOCS
+. endif # !XMLDOCS
.endif # DOCS
@@ -206,7 +205,7 @@ CONFIGURE_ARGS+= --disable-shared --disable-executable-dynamic
.if ${PORT_OPTIONS:MPROFILE}
CONFIGURE_ARGS+= --enable-executable-profiling --enable-library-profiling
.else
-CONFIGURE_ARGS+= --disable-executable-profiling --disable-library-profiling
+CONFIGURE_ARGS+= --disable-profiling --disable-library-profiling
.endif
.SILENT:
@@ -220,7 +219,7 @@ post-patch::
_BUILD_SETUP= ${GHC_CMD} -o ${SETUP_CMD} -package Cabal --make
.if !defined(METAPORT)
-.if !target(do-configure)
+. if !target(do-configure)
do-configure:
@${MKDIR} ${TMPDIR}
@if [ -f ${WRKSRC}/Setup.hs ]; then \
@@ -237,112 +236,115 @@ do-configure:
exit 1; \
fi
-.if ${PORT_OPTIONS:MDOCS}
-.if defined(XMLDOCS) && defined(USE_AUTOTOOLS)
+. if ${PORT_OPTIONS:MDOCS}
+. if defined(XMLDOCS) && defined(USE_AUTOTOOLS)
cd ${WRKSRC}/doc && ${AUTOCONF} && ./configure --prefix=${PREFIX}
-.endif
-.endif # DOCS
-.endif # target(do-configure)
+. endif
+. endif # DOCS
+. endif # target(do-configure)
.endif # !METAPORT
.if !defined(METAPORT)
-.if !target(do-build)
+. if !target(do-build)
do-build:
cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${SETUP_CMD} build
-.if !defined(STANDALONE)
+. if !defined(STANDALONE)
cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${SETUP_CMD} register --gen-script
-.endif
+. endif
-.if ${PORT_OPTIONS:MDOCS}
-.if defined(HADDOCK_AVAILABLE) && !defined(XMLDOCS) && !defined(STANDALONE) && ${PORT_OPTIONS:MDOCS}
+. if ${PORT_OPTIONS:MDOCS}
+. if defined(HADDOCK_AVAILABLE) && !defined(XMLDOCS) && !defined(STANDALONE) && ${PORT_OPTIONS:MDOCS}
cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${SETUP_CMD} haddock ${HADDOCK_OPTS}
-.endif # STANDALONE
-.if defined(XMLDOCS)
+. endif # STANDALONE
+. if defined(XMLDOCS)
@(cd ${WRKSRC}/doc && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} html)
-.endif # XMLDOCS
-.endif # DOCS
-.endif # target(do-build)
+. endif # XMLDOCS
+. endif # DOCS
+. endif # target(do-build)
.endif # !METAPORT
.for sect in 1 2 3 4 5 6 7 8 9
-.if defined(MAN${sect}PAGES)
-.for man in ${MAN${sect}PAGES}
+. if defined(MAN${sect}PAGES)
+. for man in ${MAN${sect}PAGES}
PLIST_FILES+= man/man${sect}/${man}.gz
-.endfor
-.endif
+. endfor
+. endif
.endfor
.if !defined(METAPORT)
-.if !target(do-install)
+. if !target(do-install)
do-install:
cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${SETUP_CMD} copy --destdir=${STAGEDIR}
-.if !defined(STANDALONE)
+. if !defined(STANDALONE)
@${MKDIR} ${STAGEDIR}${CABAL_LIBDIR}/${CABAL_LIBSUBDIR}
cd ${WRKSRC} && ${INSTALL_SCRIPT} register.sh ${STAGEDIR}${CABAL_LIBDIR}/${CABAL_LIBSUBDIR}/register.sh
-.endif
+. endif
-.if !empty(INSTALL_PORTDATA)
+. if !empty(INSTALL_PORTDATA)
@${MKDIR} ${STAGEDIR}${DATADIR}
${INSTALL_PORTDATA}
-.endif
+. endif
-.if !empty(INSTALL_PORTEXAMPLES) && ${PORT_OPTIONS:MEXAMPLES}
+. if !empty(INSTALL_PORTEXAMPLES) && ${PORT_OPTIONS:MEXAMPLES}
@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
${INSTALL_PORTEXAMPLES}
-.endif
+. endif
-.for sect in 1 2 3 4 5 6 7 8 9
-.if defined(MAN${sect}SRC)
-.for man in ${MAN${sect}PAGES}
+. for sect in 1 2 3 4 5 6 7 8 9
+. if defined(MAN${sect}SRC)
+. for man in ${MAN${sect}PAGES}
@${INSTALL_MAN} ${WRKSRC}/${MAN${sect}SRC}/${man} ${STAGEDIR}${MANPREFIX}/man/man${sect}
-.endfor
-.endif # MAN${sect}SRC
-.endfor
+. endfor
+. endif # MAN${sect}SRC
+. endfor
-.if ${PORT_OPTIONS:MDOCS}
-.if !empty(XMLDOCS)
-.for xmldoc in ${XMLDOCS}
+. if ${PORT_OPTIONS:MDOCS}
+. if !empty(XMLDOCS)
+. for xmldoc in ${XMLDOCS}
@(cd ${WRKSRC}/${xmldoc:C/:.*$//g} && ${COPYTREE_SHARE} \* ${STAGEDIR}${DOCSDIR}/${xmldoc:C/^.*://g})
-.endfor
-.endif # XMLDOCS
-.endif # DOCS
-.endif # target(do-install)
+. endfor
+. endif # XMLDOCS
+. endif # DOCS
+. endif # target(do-install)
.endif # !METAPORT
.if !target(post-install-script)
post-install-script:
-.if defined(EXECUTABLE)
-.for exe in ${EXECUTABLE}
- @${ECHO_CMD} 'bin/${exe}' >>${TMPPLIST}
-.endfor
-.endif # EXECUTABLE
- @for dir in ${CABAL_DIRS}; do if [ -d ${STAGEDIR}$${dir} ]; then ${FIND} -ds ${STAGEDIR}$${dir} \
+. if defined(EXECUTABLE)
+. for exe in ${EXECUTABLE}
+ ${ECHO_CMD} 'bin/${exe}' >>${TMPPLIST}
+. endfor
+. endif # EXECUTABLE
+ for dir in ${CABAL_DIRS}; do if [ -d ${STAGEDIR}$${dir} ]; then ${FIND} -ds ${STAGEDIR}$${dir} \
-type f -print | ${SED} -E -e 's,^${STAGEDIR}${PREFIX}/?,,' >> ${TMPPLIST}; fi ; done
+ @${ECHO} "================ CONTENTS OF TMPPLIST =================== "
+ cat ${TMPPLIST}
+ @${ECHO} "========================================================= "
.endif # target(post-install-script)
.if !defined(METAPORT)
add-plist-post: add-plist-cabal
add-plist-cabal:
-.if !defined(STANDALONE)
- @${ECHO_CMD} '@unexec ${LOCALBASE}/bin/ghc-pkg unregister --force ${PORTNAME}-${PORTVERSION}' >> ${TMPPLIST}
-.endif
-
-.if defined(HADDOCK_AVAILABLE) && ${PORT_OPTIONS:MDOCS}
- @(${ECHO_CMD} '@unexec ${RM} ${LOCALBASE}/${GHC_LIB_DOCSDIR_REL}/${PACKAGE}' ; \
- ${ECHO_CMD} '@unexec cd ${LOCALBASE}/${GHC_LIB_DOCSDIR_REL} && \
- ${RM} doc-index*.html && ./gen_contents_index') >> ${TMPPLIST}
-.endif
-
-.if !defined(STANDALONE)
- @${ECHO_CMD} '@exec ${SH} %D/${CABAL_LIBDIR_REL}/${CABAL_LIBSUBDIR}/register.sh > /dev/null' >> ${TMPPLIST}
-.endif
+. if !defined(STANDALONE)
+ @${ECHO_CMD} '@postunexec ${LOCALBASE}/bin/ghc-pkg unregister --force ${PORTNAME}-${PORTVERSION}' >> ${TMPPLIST}
+. endif
-.if defined(HADDOCK_AVAILABLE) && ${PORT_OPTIONS:MDOCS}
- @(${ECHO_CMD} '@exec ${LN} -s ${DOCSDIR}/html ${LOCALBASE}/${GHC_LIB_DOCSDIR_REL}/${PACKAGE} && \
+. if defined(HADDOCK_AVAILABLE) && ${PORT_OPTIONS:MDOCS}
+# GHC_LIB_DOCSDIR_REL= share/doc/ghc-${GHC_VERSION}/html/libraries
+ (${ECHO} '@postexec ${LN} -s ${DOCSDIR}/html ${LOCALBASE}/${GHC_LIB_DOCSDIR_REL}/${PACKAGE} && \
cd ${LOCALBASE}/${GHC_LIB_DOCSDIR_REL} && \
${RM} doc-index*.html && ./gen_contents_index') >> ${TMPPLIST}
-.endif
+ (${ECHO} '@postunexec ${RM} -r ${LOCALBASE}/${GHC_LIB_DOCSDIR_REL}/${PACKAGE}' ; \
+ ${ECHO} '@postunexec cd ${LOCALBASE}/${GHC_LIB_DOCSDIR_REL} && \
+ ${RM} doc-index*.html && ./gen_contents_index') >> ${TMPPLIST}
+# Don't install index files
+ ${ECHO} "@comment share/doc/ghc-%%GHC_VERSION%%/html/libraries/index.html" >> ${TMPPLIST}
+. endif
+
+. if !defined(STANDALONE)
+ @${ECHO_CMD} '@postexec ${SH} %D/${CABAL_LIBDIR_REL}/${CABAL_LIBSUBDIR}/register.sh > /dev/null' >> ${TMPPLIST}
+. endif
.endif # !METAPORT
diff --git a/lang/ghc/bsd.cabal.options.mk b/lang/ghc/bsd.cabal.options.mk
index 1829f6948d9e..aa64e85c9ecc 100644
--- a/lang/ghc/bsd.cabal.options.mk
+++ b/lang/ghc/bsd.cabal.options.mk
@@ -18,21 +18,13 @@ GHC_CMD?= ${LOCALBASE}/bin/ghc
HADDOCK_CMD?= ${LOCALBASE}/bin/haddock
HSCOLOUR_CMD?= ${LOCALBASE}/bin/HsColour
-GHC_VERSION?= 7.10.2
-LLVM_VERSION= 35
+GHC_VERSION?= 8.0.2
-HSCOLOUR_VERSION= 1.23
+HSCOLOUR_VERSION= 1.24.1
HSCOLOUR_DESC?= Colorize generated documentation by HsColour
DYNAMIC_DESC?= Add support for dynamic linking
PROFILE_DESC?= Add support for profiling
-LLVM_DESC?= Use the LLVM backend for code generation
-PCLANG_DESC= Build with Clang from ports
-BCLANG_DESC= Build with Clang from base
-
-OPTIONS_SINGLE+= C_Compiler
-OPTIONS_SINGLE_C_Compiler= GCC PCLANG BCLANG
-OPTIONS_DEFAULT+= GCC
.if (!exists(${GHC_CMD}) || exists(${LOCALBASE}/lib/ghc-${GHC_VERSION}/rts/libHSrts-ghc${GHC_VERSION}.so)) && !defined(IGNORE_DYNAMIC)
OPTIONS_DEFINE+= DYNAMIC
@@ -43,10 +35,6 @@ OPTIONS_DEFAULT+= DYNAMIC
OPTIONS_DEFINE+= PROFILE
.endif
-.if !defined(IGNORE_LLVM)
-OPTIONS_DEFINE+= LLVM
-.endif
-
.if ((!exists(${GHC_CMD}) || exists(${LOCALBASE}/lib/ghc-${GHC_VERSION}/html)) || exists(${HADDOCK_CMD})) && !defined(IGNORE_DOCS)
OPTIONS_DEFINE+= DOCS
HADDOCK_AVAILABLE= yes
diff --git a/lang/ghc/bsd.hackage.mk b/lang/ghc/bsd.hackage.mk
index 41d8ac475a74..4b48785a2cb9 100644
--- a/lang/ghc/bsd.hackage.mk
+++ b/lang/ghc/bsd.hackage.mk
@@ -9,493 +9,598 @@
# Maintained by: haskell@FreeBSD.org
#
+# List of packages installed by lang/ghc (stage2 packages).
+# In the future we could think of installing only ghc and base packages,
+# and using unbundles versions for the rest of these
+# ghc-8.0.2 provides: Cabal-1.24.2.0 array-0.5.1.1 base-4.9.1.0 binary-0.8.3.0
+# bytestring-0.10.8.1 containers-0.5.7.1 deepseq-1.4.2.0
+# directory-1.3.0.0 filepath-1.4.1.1 ghc-8.0.2
+# ghc-boot-8.0.2 ghc-boot-th-8.0.2 ghc-prim-0.5.0.0
+# ghci-8.0.2 haskeline-0.7.3.0 hoopl-3.10.2.1 hpc-0.6.0.3
+# integer-gmp-1.0.0.1 pretty-1.1.3.3 process-1.4.3.0
+# template-haskell-2.11.1.0 terminfo-0.4.0.2 time-1.6.0.1
+# transformers-0.5.2.0 unix-2.7.2.1 xhtml-3000.2.1
+# Note: it's important to make sure that the versions for the hs-* ports are
+# compatible with these, i.e. sometimes we cannot pick the newest one.
+GHC_STAGE2_PACKAGES= Cabal \
+ array \
+ base \
+ binary \
+ bytestring \
+ containers \
+ deepseq \
+ directory \
+ filepath \
+ ghc \
+ ghc-boot \
+ ghc-boot-th \
+ ghc-prim \
+ ghci \
+ haskeline \
+ hoopl \
+ hpc \
+ integer-gmp \
+ pretty \
+ process \
+ template-haskell \
+ terminfo \
+ time \
+ transformers \
+ unix \
+ xhtml
+STAGE2_DUMMY= lang/ghc
+.for _ghc_stage2_package in ${GHC_STAGE2_PACKAGES} ; do
+# Define dummy dependency, so that we can filter it easily and produce a warning
+# in bsd.cabal.mk it these depdencies are added to USE_CABAL.
+${_ghc_stage2_package}_port= ${STAGE2_DUMMY}
+.endfor
+
# KEEP THE LIST ALPHABETICALLY SORTED!
-abstract-deque_port= devel/hs-abstract-deque
-abstract-par_port= devel/hs-abstract-par
-activehs_port= www/hs-activehs # executable
-activehs-base_port= devel/hs-activehs-base
-adjunctions_port= math/hs-adjunctions
-aeson_port= converters/hs-aeson
-aeson-pretty_port= converters/hs-aeson-pretty # executable
-Agda_port= math/hs-Agda # executable
-alex_port= devel/hs-alex # executable
-ALUT_port= audio/hs-ALUT
-angel_port= sysutils/hs-angel # executable
-ansi-terminal_port= devel/hs-ansi-terminal
-ansi-wl-pprint_port= devel/hs-ansi-wl-pprint
-appar_port= textproc/hs-appar
-arrows_port= devel/hs-arrows
-asn1-data_port= devel/hs-asn1-data
-asn1-encoding_port= devel/hs-asn1-encoding
-asn1-parse_port= devel/hs-asn1-parse
-asn1-types_port= devel/hs-asn1-types
-async_port= devel/hs-async
-atomic-primops_port= devel/hs-atomic-primops
-attoparsec_port= textproc/hs-attoparsec
-attoparsec-enumerator_port= textproc/hs-attoparsec-enumerator
-authenticate_port= www/hs-authenticate
-auto-update_port= devel/hs-auto-update
-aws_port= net/hs-aws
-base-orphans_port= devel/hs-base-orphans
-base-unicode-symbols_port= devel/hs-base-unicode-symbols
-base16-bytestring_port= devel/hs-base16-bytestring
-base64-bytestring_port= devel/hs-base64-bytestring
-basic-prelude_port= devel/hs-basic-prelude
-bencode_port= textproc/hs-bencode
-bifunctors_port= devel/hs-bifunctors
-bio_port= science/hs-bio # executable
-bits-atomic_port= devel/hs-bits-atomic
-blaze-builder_port= devel/hs-blaze-builder
-blaze-builder-enumerator_port= devel/hs-blaze-builder-enumerator
-blaze-html_port= textproc/hs-blaze-html
-blaze-markup_port= textproc/hs-blaze-markup
-blaze-textual_port= devel/hs-blaze-textual
-bloomfilter_port= devel/hs-bloomfilter
-BNFC_port= devel/hs-BNFC # executable
-Boolean_port= devel/hs-Boolean
-BoundedChan_port= devel/hs-BoundedChan
-boxes_port= devel/hs-boxes
-brainfuck_port= lang/hs-brainfuck # executable
-bsd-sysctl_port= devel/hs-bsd-sysctl
-byteable_port= devel/hs-byteable
-byteorder_port= devel/hs-byteorder
-bytestring-csv_port= textproc/hs-bytestring-csv
-bytestring-lexing_port= devel/hs-bytestring-lexing
-bytestring-mmap_port= devel/hs-bytestring-mmap
-bytestring-nums_port= devel/hs-bytestring-nums # executable
-bytestring-show_port= devel/hs-bytestring-show
-c2hs_port= devel/hs-c2hs # executable
-cabal-install_port= devel/hs-cabal-install # executable
-cairo_port= graphics/hs-cairo
-case-insensitive_port= textproc/hs-case-insensitive
-cassava_port= textproc/hs-cassava
-categories_port= math/hs-categories
-cereal_port= devel/hs-cereal
-certificate_port= security/hs-certificate
-cgi_port= www/hs-cgi
-checkers_port= devel/hs-checkers
-chunked-data_port= devel/hs-chunked-data
-cipher-aes_port= security/hs-cipher-aes
-cipher-aes128_port= security/hs-cipher-aes128
-cipher-blowfish_port= security/hs-cipher-blowfish
-cipher-camellia_port= security/hs-cipher-camellia
-cipher-des_port= security/hs-cipher-des
-cipher-rc4_port= security/hs-cipher-rc4
-citeproc-hs_port= textproc/hs-citeproc-hs
-classy-prelude_port= devel/hs-classy-prelude
-classy-prelude-conduit_port= devel/hs-classy-prelude-conduit
-clientsession_port= security/hs-clientsession
-cmark_port= textproc/hs-cmark
-cmdargs_port= devel/hs-cmdargs
-comonad_port= math/hs-comonad
-conduit_port= devel/hs-conduit
-conduit-combinators_port= devel/hs-conduit-combinators
-conduit-extra_port= devel/hs-conduit-extra
-ConfigFile_port= devel/hs-ConfigFile
-configurator_port= devel/hs-configurator
-connection_port= net/hs-connection
-constraints_port= devel/hs-constraints
-contravariant_port= math/hs-contravariant
-convertible_port= devel/hs-convertible
-cookie_port= www/hs-cookie
-cpphs_port= devel/hs-cpphs # executable
-cprng-aes_port= security/hs-cprng-aes
-cpu_port= sysutils/hs-cpu
-criterion_port= benchmarks/hs-criterion
-Crypto_port= security/hs-Crypto
-crypto-api_port= security/hs-crypto-api
-crypto-cipher-types_port= security/hs-crypto-cipher-types
-crypto-conduit_port= security/hs-crypto-conduit
-crypto-numbers_port= security/hs-crypto-numbers
-crypto-pubkey_port= security/hs-crypto-pubkey
-crypto-pubkey-types_port= security/hs-crypto-pubkey-types
-crypto-random_port= security/hs-crypto-random
-crypto-random-api_port= security/hs-crypto-random-api
-cryptocipher_port= security/hs-cryptocipher
-cryptohash_port= security/hs-cryptohash
-cryptohash-conduit_port= security/hs-cryptohash-conduit
-cryptohash-cryptoapi_port= security/hs-cryptohash-cryptoapi
-cryptonite_port= security/hs-cryptonite
-css-text_port= www/hs-css-text
-csv_port= textproc/hs-csv
-curl_port= ftp/hs-curl # lib_depends
-darcs_port= devel/hs-darcs # executable
-data-default_port= devel/hs-data-default
-data-default-class_port= devel/hs-data-default-class
-data-default-instances-base_port= devel/hs-data-default-instances-base
-data-default-instances-containers_port= devel/hs-data-default-instances-containers
-data-default-instances-dlist_port= devel/hs-data-default-instances-dlist
-data-default-instances-old-locale_port= devel/hs-data-default-instances-old-locale
-data-hash_port= devel/hs-data-hash
-data-lens_port= math/hs-data-lens
-data-lens-template_port= math/hs-data-lens-template
-data-ordlist_port= devel/hs-data-ordlist
-data-pprint_port= devel/hs-data-pprint
-dataenc_port= converters/hs-dataenc
-date-cache_port= devel/hs-date-cache
-datetime_port= devel/hs-datetime
-DAV_port= www/hs-DAV # executable
-deepseq-generics_port= devel/hs-deepseq-generics
-dia-base_port= graphics/hs-dia-base
-dia-functions_port= graphics/hs-dia-functions
-Diff_port= textproc/hs-Diff
-digest_port= security/hs-digest
-directory_port= devel/hs-directory
-directory-tree_port= devel/hs-directory-tree
-distributive_port= math/hs-distributive
-dlist_port= devel/hs-dlist
-dlist-instances_port= devel/hs-dlist-instances
-dns_port= dns/hs-dns
-double-conversion_port= textproc/hs-double-conversion
-DRBG_port= security/hs-DRBG
-easy-file_port= devel/hs-easy-file
-edit-distance_port= devel/hs-edit-distance
-either_port= devel/hs-either
-ekg_port= sysutils/hs-ekg
-ekg-core_port= sysutils/hs-ekg-core
-ekg-json_port= sysutils/hs-ekg-json
-email-validate_port= mail/hs-email-validate
-enclosed-exceptions_port= devel/hs-enclosed-exceptions
-entropy_port= security/hs-entropy
-enumerator_port= devel/hs-enumerator
-equivalence_port= devel/hs-equivalence
-erf_port= math/hs-erf
-errors_port= devel/hs-errors
-esqueleto_port= databases/hs-esqueleto
-exceptions_port= devel/hs-exceptions
-extensible-exceptions_port= devel/hs-extensible-exceptions
-extra_port= devel/hs-extra
-fast-logger_port= devel/hs-fast-logger
-fastcgi_port= www/hs-fastcgi # lib_depends
-feed_port= textproc/hs-feed
-fgl_port= devel/hs-fgl
-file-embed_port= devel/hs-file-embed
-filemanip_port= devel/hs-filemanip
-filestore_port= devel/hs-filestore
-free_port= devel/hs-free
-fsnotify_port= devel/hs-fsnotify
-gconf_port= devel/hs-gconf
-generic-deriving_port= devel/hs-generic-deriving
-geniplate-mirror_port= devel/hs-geniplate-mirror
-ghc-events_port= devel/hs-ghc-events # executable
-ghc-mtl_port= devel/hs-ghc-mtl
-ghc-paths_port= devel/hs-ghc-paths
-gio_port= devel/hs-gio
-git-annex_port= devel/hs-git-annex # executable
-gitit_port= www/hs-gitit # executable
-glib_port= devel/hs-glib
-Glob_port= devel/hs-Glob
-GLURaw_port= x11-toolkits/hs-GLURaw
-GLUT_port= x11-toolkits/hs-GLUT
-gnuidn_port= dns/hs-gnuidn # lib_depends
-gnutls_port= security/hs-gnutls # lib_depends
-gsasl_port= net/hs-gsasl # lib_depends
-gtk_port= x11-toolkits/hs-gtk
-gtk2hs_port= x11-toolkits/hs-gtk2hs # metaport
-gtk2hs-buildtools_port= devel/hs-gtk2hs-buildtools # executable
-gtksourceview2_port= x11-toolkits/hs-gtksourceview2
-haddock_port= devel/hs-haddock # executable
-haddock-api_port= devel/hs-haddock-api
-haddock-library_port= devel/hs-haddock-library
-happstack_port= www/hs-happstack # executable
-happstack-server_port= www/hs-happstack-server
-happy_port= devel/hs-happy # executable
-hashable_port= devel/hs-hashable
-hashed-storage_port= devel/hs-hashed-storage
-hashtables_port= devel/hs-hashtables
-haskell-src_port= devel/hs-haskell-src
-haskell-src-exts_port= devel/hs-haskell-src-exts
-haskell-xmpp_port= net-im/hs-haskell-xmpp
-hasktags_port= devel/hs-hasktags # executable
-hastache_port= devel/hs-hastache
-HaXml_port= textproc/hs-HaXml # executable
-hedis_port= databases/hs-hedis
-heist_port= www/hs-heist
-hex_port= devel/hs-hex
-hexpat_port= textproc/hs-hexpat
-HGL_port= graphics/hs-HGL
-highlighting-kate_port= textproc/hs-highlighting-kate
-hinotify_port= devel/hs-hinotify # lib_depends
-hint_port= devel/hs-hint
-hjsmin_port= www/hs-hjsmin # executable
-hlibev_port= devel/hs-hlibev # lib_depends
-hlint_port= devel/hs-hlint # executable
-hoauth2_port= net/hs-hoauth2
-hoogle_port= devel/hs-hoogle # executable
-hostname_port= net/hs-hostname
-hourglass_port= devel/hs-hourglass
-hs-bibutils_port= textproc/hs-hs-bibutils
-hS3_port= www/hs-hS3 # executable
-hsb2hs_port= devel/hs-hsb2hs
-hscolour_port= print/hs-hscolour # executable
-hslogger_port= devel/hs-hslogger
-hslua_port= devel/hs-hslua
-HsOpenSSL_port= security/hs-HsOpenSSL
-hspec_port= devel/hs-hspec # executable
-hspec-core_port= devel/hs-hspec-core
-hspec-discover_port= devel/hs-hspec-discover # executable
-hspec-expectations_port= devel/hs-hspec-expectations
-HStringTemplate_port= textproc/hs-HStringTemplate
-html_port= textproc/hs-html
-html-conduit_port= textproc/hs-html-conduit
-HTTP_port= www/hs-HTTP
-http-client_port= www/hs-http-client
-http-client-tls_port= www/hs-http-client-tls
-http-conduit_port= www/hs-http-conduit
-http-date_port= www/hs-http-date
-http-reverse-proxy_port= www/hs-http-reverse-proxy
-http-server_port= www/hs-http-server
-http-types_port= www/hs-http-types
-http2_port= www/hs-http2
-HUnit_port= devel/hs-HUnit
-hxt_port= textproc/hs-hxt
-hxt-charproperties_port= textproc/hs-hxt-charproperties
-hxt-regex-xmlschema_port= textproc/hs-hxt-regex-xmlschema
-hxt-unicode_port= textproc/hs-hxt-unicode
-ieee754_port= math/hs-ieee754
-IfElse_port= devel/hs-IfElse
-iproute_port= net/hs-iproute
-js-flot_port= devel/hs-js-flot
-js-jquery_port= devel/hs-js-jquery
-json_port= converters/hs-json
-JuicyPixels_port= graphics/hs-JuicyPixels
-kan-extensions_port= math/hs-kan-extensions
-keys_port= devel/hs-keys
-kqueue_port= devel/hs-kqueue
-language-c_port= devel/hs-language-c
-language-javascript_port= devel/hs-language-javascript
-largeword_port= devel/hs-largeword
-lazysmallcheck_port= devel/hs-lazysmallcheck
-lens_port= devel/hs-lens
-lhs2tex_port= textproc/hs-lhs2tex # executable
-libmpd_port= audio/hs-libmpd
-libxml_port= textproc/hs-libxml
-libxml-sax_port= textproc/hs-libxml-sax # lib_depends
-lifted-async_port= devel/hs-lifted-async
-lifted-base_port= devel/hs-lifted-base
-List_port= devel/hs-List
-logict_port= devel/hs-logict
-maccatcher_port= net/hs-maccatcher
-map-syntax_port= devel/hs-map-syntax
-math-functions_port= math/hs-math-functions
-memory_port= devel/hs-memory
-MemoTrie_port= devel/hs-MemoTrie
-mime_port= mail/hs-mime
-mime-mail_port= mail/hs-mime-mail
-mime-types_port= mail/hs-mime-types
-MissingH_port= devel/hs-MissingH
-mmap_port= devel/hs-mmap
-mmorph_port= devel/hs-mmorph
-monad-control_port= devel/hs-monad-control
-monad-logger_port= devel/hs-monad-logger
-monad-loops_port= devel/hs-monad-loops
-monad-par_port= devel/hs-monad-par
-monad-par-extras_port= devel/hs-monad-par-extras
-MonadCatchIO-mtl_port= devel/hs-MonadCatchIO-mtl
-MonadCatchIO-transformers_port= devel/hs-MonadCatchIO-transformers
-monadcryptorandom_port= security/hs-monadcryptorandom
-MonadRandom_port= devel/hs-MonadRandom
-monads-tf_port= devel/hs-monads-tf
-mono-traversable_port= devel/hs-mono-traversable
-mtl_port= devel/hs-mtl
-mueval_port= devel/hs-mueval # executable
-multipart_port= www/hs-multipart
-murmur-hash_port= devel/hs-murmur-hash
-mutable-containers_port= devel/hs-mutable-containers
-mwc-random_port= math/hs-mwc-random
-mysql_port= databases/hs-mysql
-ncurses_port= devel/hs-ncurses # lib_depends
-network_port= net/hs-network
-network-info_port= net/hs-network-info
-network-multicast_port= net/hs-network-multicast
-network-protocol-xmpp_port= net/hs-network-protocol-xmpp
-network-uri_port= net/hs-network-uri
-newtype_port= devel/hs-newtype
-nonce_port= security/hs-nonce
-NumInstances_port= math/hs-NumInstances
-ObjectName_port= devel/hs-ObjectName
-oeis_port= www/hs-oeis
-old-locale_port= devel/hs-old-locale
-old-time_port= devel/hs-old-time
-OpenAL_port= audio/hs-OpenAL
-OpenGL_port= x11-toolkits/hs-OpenGL
-OpenGLRaw_port= x11-toolkits/hs-OpenGLRaw
-optparse-applicative_port= devel/hs-optparse-applicative
-pandoc_port= textproc/hs-pandoc # executable
-pandoc-citeproc_port= textproc/hs-pandoc-citeproc # executable
-pandoc-types_port= textproc/hs-pandoc-types
-pango_port= x11-toolkits/hs-pango
-parallel_port= devel/hs-parallel
-parsec_port= textproc/hs-parsec
-path-pieces_port= www/hs-path-pieces
-pcap_port= net/hs-pcap
-pcre-light_port= devel/hs-pcre-light # lib_depends
-pem_port= security/hs-pem
-persistent_port= databases/hs-persistent
-persistent-sqlite_port= databases/hs-persistent-sqlite
-persistent-template_port= databases/hs-persistent-template
-pointed_port= math/hs-pointed
-polyparse_port= textproc/hs-polyparse
-porte_port= ports-mgmt/hs-porte # executable
-prelude-extras_port= devel/hs-prelude-extras
-preprocessor-tools_port= devel/hs-preprocessor-tools
-prettyclass_port= devel/hs-prettyclass
-primitive_port= devel/hs-primitive
-probability_port= math/hs-probability
-profunctors_port= devel/hs-profunctors
-project-template_port= devel/hs-project-template
-PSQueue_port= devel/hs-PSQueue
-publicsuffixlist_port= net/hs-publicsuffixlist
-pureMD5_port= security/hs-pureMD5
-pwstore-fast_port= security/hs-pwstore-fast
-QuickCheck_port= devel/hs-QuickCheck
-quickcheck-io_port= devel/hs-quickcheck-io
-random_port= devel/hs-random
-ReadArgs_port= devel/hs-ReadArgs # executable
-readline_port= devel/hs-readline
-recaptcha_port= www/hs-recaptcha
-reflection_port= devel/hs-reflection
-regex-applicative_port= textproc/hs-regex-applicative
-regex-base_port= textproc/hs-regex-base
-regex-compat_port= textproc/hs-regex-compat
-regex-compat-tdfa_port= textproc/hs-regex-compat-tdfa
-regex-pcre-builtin_port= textproc/hs-regex-pcre-builtin # lib_depends
-regex-posix_port= textproc/hs-regex-posix
-regex-tdfa_port= textproc/hs-regex-tdfa
-resource-pool_port= devel/hs-resource-pool
-resourcet_port= devel/hs-resourcet
-rfc5051_port= textproc/hs-rfc5051
-RSA_port= security/hs-RSA
-safe_port= devel/hs-safe
-SafeSemaphore_port= devel/hs-SafeSemaphore
-sandi_port= converters/hs-sandi
-scientific_port= devel/hs-scientific
-scroll_port= games/hs-scroll # executable
-securemem_port= devel/hs-securemem
-semigroupoids_port= math/hs-semigroupoids
-semigroups_port= math/hs-semigroups
-sendfile_port= net/hs-sendfile
-setenv_port= devel/hs-setenv
-setlocale_port= devel/hs-setlocale
-SHA_port= security/hs-SHA # executable
-shake_port= devel/hs-shake # executable
-shakespeare_port= www/hs-shakespeare
-ShellCheck_port= devel/hs-ShellCheck # executable
-shelly_port= shells/hs-shelly
-show_port= devel/hs-show
-silently_port= devel/hs-silently
-simple-reflect_port= devel/hs-simple-reflect
-simple-sendfile_port= net/hs-simple-sendfile
-skein_port= security/hs-skein
-smallcheck_port= devel/hs-smallcheck
-snap_port= www/hs-snap # executable
-snap-core_port= www/hs-snap-core
-snap-server_port= www/hs-snap-server # lib_depends
-socks_port= net/hs-socks
-split_port= devel/hs-split
-StateVar_port= devel/hs-StateVar
-statistics_port= math/hs-statistics
-stm_port= devel/hs-stm
-stm-chans_port= devel/hs-stm-chans
-STMonadTrans_port= devel/hs-STMonadTrans
-Stream_port= devel/hs-Stream
-streaming-commons_port= devel/hs-streaming-commons
-strict_port= devel/hs-strict
-stringsearch_port= textproc/hs-stringsearch
-svgcairo_port= graphics/hs-svgcairo
-syb_port= devel/hs-syb
-syb-with-class_port= devel/hs-syb-with-class
-syb-with-class-instances-text_port= devel/hs-syb-with-class-instances-text
-system-fileio_port= devel/hs-system-fileio
-system-filepath_port= devel/hs-system-filepath
-tagged_port= devel/hs-tagged
-tagsoup_port= textproc/hs-tagsoup # executable
-tagstream-conduit_port= textproc/hs-tagstream-conduit
-tar_port= archivers/hs-tar
-temporary_port= devel/hs-temporary
-test-framework_port= devel/hs-test-framework
-test-framework-hunit_port= devel/hs-test-framework-hunit
-test-framework-quickcheck2_port= devel/hs-test-framework-quickcheck2
-texmath_port= textproc/hs-texmath # executable
-text_port= devel/hs-text
-text-icu_port= devel/hs-text-icu # lib_depends
-tf-random_port= devel/hs-tf-random
-threads_port= devel/hs-threads
-threadscope_port= devel/hs-threadscope # executable
-time-compat_port= devel/hs-time-compat
-time-locale-compat_port= devel/hs-time-locale-compat
-timezone-olson_port= devel/hs-timezone-olson
-timezone-series_port= devel/hs-timezone-series
-tls_port= security/hs-tls
-torrent_port= net-p2p/hs-torrent
-transformers-base_port= devel/hs-transformers-base
-transformers-compat_port= devel/hs-transformers-compat
-TypeCompose_port= devel/hs-TypeCompose
-unamb_port= devel/hs-unamb
-uniplate_port= devel/hs-uniplate
-unix-compat_port= devel/hs-unix-compat
-unix-time_port= devel/hs-unix-time
-unlambda_port= lang/hs-unlambda # executable
-unordered-containers_port= devel/hs-unordered-containers
-uri_port= textproc/hs-uri
-url_port= www/hs-url
-utf8-light_port= devel/hs-utf8-light
-utf8-string_port= devel/hs-utf8-string
-utility-ht_port= devel/hs-utility-ht
-uuagc_port= devel/hs-uuagc # executable
-uuagc-bootstrap_port= devel/hs-uuagc-bootstrap # executable
-uuagc-cabal_port= devel/hs-uuagc-cabal
-uuid_port= devel/hs-uuid
-uuid-types_port= devel/hs-uuid-types
-uulib_port= devel/hs-uulib
-vault_port= devel/hs-vault
-vector_port= devel/hs-vector
-vector-algorithms_port= devel/hs-vector-algorithms
-vector-binary-instances_port= devel/hs-vector-binary-instances
-vector-instances_port= devel/hs-vector-instances
-vector-space_port= math/hs-vector-space
-vector-th-unbox_port= devel/hs-vector-th-unbox
-void_port= devel/hs-void
-vte_port= x11-toolkits/hs-vte
-wai_port= www/hs-wai
-wai-app-static_port= www/hs-wai-app-static # executable
-wai-extra_port= www/hs-wai-extra
-wai-logger_port= www/hs-wai-logger
-warp_port= www/hs-warp
-warp-tls_port= www/hs-warp-tls
-webkit_port= www/hs-webkit # lib_depends
-word8_port= devel/hs-word8
-wx_port= x11-toolkits/hs-wx
-wxc_port= x11-toolkits/hs-wxc # lib_depends
-wxcore_port= x11-toolkits/hs-wxcore # lib_depends
-wxdirect_port= x11-toolkits/hs-wxdirect # executable
-X11_port= x11/hs-X11 # lib_depends
-X11-xft_port= x11/hs-X11-xft
-x509_port= security/hs-x509
-x509-store_port= security/hs-x509-store
-x509-system_port= security/hs-x509-system
-x509-validation_port= security/hs-x509-validation
-xml_port= textproc/hs-xml
-xml-conduit_port= textproc/hs-xml-conduit
-xml-hamlet_port= textproc/hs-xml-hamlet
-xml-types_port= textproc/hs-xml-types
-xmlhtml_port= textproc/hs-xmlhtml
-xmobar_port= x11/hs-xmobar # executable
-xmonad_port= x11-wm/hs-xmonad # executable
-xmonad-contrib_port= x11-wm/hs-xmonad-contrib
-xss-sanitize_port= www/hs-xss-sanitize
-yaml_port= textproc/hs-yaml # executable
-yesod_port= www/hs-yesod
-yesod-auth_port= www/hs-yesod-auth
-yesod-auth-hashdb_port= www/hs-yesod-auth-hashdb
-yesod-bin_port= www/hs-yesod-bin # executable
-yesod-core_port= www/hs-yesod-core
-yesod-form_port= www/hs-yesod-form
-yesod-persistent_port= www/hs-yesod-persistent
-yesod-static_port= www/hs-yesod-static
-yesod-test_port= www/hs-yesod-test
-zip-archive_port= archivers/hs-zip-archive
-zlib_port= archivers/hs-zlib
-zlib-bindings_port= archivers/hs-zlib-bindings
-zlib-enum_port= archivers/hs-zlib-enum
+abstract-deque_port?= devel/hs-abstract-deque
+abstract-par_port?= devel/hs-abstract-par
+activehs_port?= www/hs-activehs # executable
+activehs-base_port?= devel/hs-activehs-base
+adjunctions_port?= math/hs-adjunctions
+aeson_port?= converters/hs-aeson
+aeson-compat_port?= converters/hs-aeson-compat
+aeson-pretty_port?= converters/hs-aeson-pretty # executable
+Agda_port?= math/hs-Agda # executable
+alex_port?= devel/hs-alex # executable
+ALUT_port?= audio/hs-ALUT
+angel_port?= sysutils/hs-angel # executable
+ansi-terminal_port?= devel/hs-ansi-terminal
+ansi-wl-pprint_port?= devel/hs-ansi-wl-pprint
+appar_port?= textproc/hs-appar
+arrows_port?= devel/hs-arrows
+asn1-data_port?= devel/hs-asn1-data
+asn1-encoding_port?= devel/hs-asn1-encoding
+asn1-parse_port?= devel/hs-asn1-parse
+asn1-types_port?= devel/hs-asn1-types
+async_port?= devel/hs-async
+atomic-primops_port?= devel/hs-atomic-primops
+attoparsec_port?= textproc/hs-attoparsec
+attoparsec-enumerator_port?= textproc/hs-attoparsec-enumerator
+attoparsec-iso8601_port?= textproc/hs-attoparsec-iso8601
+authenticate_port?= www/hs-authenticate
+auto-update_port?= devel/hs-auto-update
+aws_port?= net/hs-aws
+base-compat_port?= devel/hs-base-compat
+base-orphans_port?= devel/hs-base-orphans
+base-unicode-symbols_port?= devel/hs-base-unicode-symbols
+base16-bytestring_port?= devel/hs-base16-bytestring
+base64-bytestring_port?= devel/hs-base64-bytestring
+basic-prelude_port?= devel/hs-basic-prelude
+bencode_port?= textproc/hs-bencode
+bifunctors_port?= devel/hs-bifunctors
+bio_port?= science/hs-bio # executable
+bits-atomic_port?= devel/hs-bits-atomic
+blaze-builder_port?= devel/hs-blaze-builder
+blaze-builder-enumerator_port?= devel/hs-blaze-builder-enumerator
+blaze-html_port?= textproc/hs-blaze-html
+blaze-markup_port?= textproc/hs-blaze-markup
+blaze-textual_port?= devel/hs-blaze-textual
+bloomfilter_port?= devel/hs-bloomfilter
+BNFC_port?= devel/hs-BNFC # executable
+Boolean_port?= devel/hs-Boolean
+BoundedChan_port?= devel/hs-BoundedChan
+boxes_port?= devel/hs-boxes
+brainfuck_port?= lang/hs-brainfuck # executable
+bsd-sysctl_port?= devel/hs-bsd-sysctl
+byteable_port?= devel/hs-byteable
+byteorder_port?= devel/hs-byteorder
+bytestring-csv_port?= textproc/hs-bytestring-csv
+bytestring-lexing_port?= devel/hs-bytestring-lexing
+bytestring-mmap_port?= devel/hs-bytestring-mmap
+bytestring-nums_port?= devel/hs-bytestring-nums # executable
+bytestring-show_port?= devel/hs-bytestring-show
+c2hs_port?= devel/hs-c2hs # executable
+cabal-install_port?= devel/hs-cabal-install # executable
+call-stack_port?= devel/hs-call-stack
+cairo_port?= graphics/hs-cairo
+case-insensitive_port?= textproc/hs-case-insensitive
+cassava_port?= textproc/hs-cassava
+categories_port?= math/hs-categories
+cereal_port?= devel/hs-cereal
+certificate_port?= security/hs-certificate
+cgi_port?= www/hs-cgi
+checkers_port?= devel/hs-checkers
+chunked-data_port?= devel/hs-chunked-data
+cipher-aes_port?= security/hs-cipher-aes
+cipher-aes128_port?= security/hs-cipher-aes128
+cipher-blowfish_port?= security/hs-cipher-blowfish
+cipher-camellia_port?= security/hs-cipher-camellia
+cipher-des_port?= security/hs-cipher-des
+cipher-rc4_port?= security/hs-cipher-rc4
+classy-prelude_port?= devel/hs-classy-prelude
+classy-prelude-conduit_port?= devel/hs-classy-prelude-conduit
+clientsession_port?= security/hs-clientsession
+clock_port?= devel/hs-clock
+cmark_port?= textproc/hs-cmark
+cmdargs_port?= devel/hs-cmdargs
+code-page_port?= devel/hs-code-page
+colour_port?= devel/hs-colour
+comonad_port?= math/hs-comonad
+concurrent-output_port?= devel/hs-concurrent-output
+conduit_port?= devel/hs-conduit
+conduit-combinators_port?= devel/hs-conduit-combinators
+conduit-extra_port?= devel/hs-conduit-extra
+ConfigFile_port?= devel/hs-ConfigFile
+configurator_port?= devel/hs-configurator
+connection_port?= net/hs-connection
+constraints_port?= devel/hs-constraints
+contravariant_port?= math/hs-contravariant
+convertible_port?= devel/hs-convertible
+cookie_port?= www/hs-cookie
+cpphs_port?= devel/hs-cpphs # executable
+cprng-aes_port?= security/hs-cprng-aes
+cpu_port?= sysutils/hs-cpu
+criterion_port?= benchmarks/hs-criterion
+Crypto_port?= security/hs-Crypto
+crypto-api_port?= security/hs-crypto-api
+crypto-cipher-types_port?= security/hs-crypto-cipher-types
+crypto-conduit_port?= security/hs-crypto-conduit
+crypto-numbers_port?= security/hs-crypto-numbers
+crypto-pubkey_port?= security/hs-crypto-pubkey
+crypto-pubkey-types_port?= security/hs-crypto-pubkey-types
+crypto-random_port?= security/hs-crypto-random
+crypto-random-api_port?= security/hs-crypto-random-api
+cryptocipher_port?= security/hs-cryptocipher
+cryptohash_port?= security/hs-cryptohash
+cryptohash-md5_port?= security/hs-cryptohash-md5
+cryptohash-sha1_port?= security/hs-cryptohash-sha1
+cryptohash-sha256_port?= security/hs-cryptohash-sha256
+cryptohash-conduit_port?= security/hs-cryptohash-conduit
+cryptohash-cryptoapi_port?= security/hs-cryptohash-cryptoapi
+cryptonite_port?= security/hs-cryptonite
+css-text_port?= www/hs-css-text
+csv_port?= textproc/hs-csv
+curl_port?= ftp/hs-curl # lib_depends
+darcs_port?= devel/hs-darcs # executable
+data-default_port?= devel/hs-data-default
+data-default-class_port?= devel/hs-data-default-class
+data-default-instances-base_port?= devel/hs-data-default-instances-base
+data-default-instances-containers_port?= devel/hs-data-default-instances-containers
+data-default-instances-dlist_port?= devel/hs-data-default-instances-dlist
+data-default-instances-old-locale_port?= devel/hs-data-default-instances-old-locale
+data-endian_port?= devel/hs-data-endian
+data-hash_port?= devel/hs-data-hash
+data-lens_port?= math/hs-data-lens
+data-lens-template_port?= math/hs-data-lens-template
+data-ordlist_port?= devel/hs-data-ordlist
+data-pprint_port?= devel/hs-data-pprint
+dataenc_port?= converters/hs-dataenc
+date-cache_port?= devel/hs-date-cache
+datetime_port?= devel/hs-datetime
+DAV_port?= www/hs-DAV # executable
+dbus_port?= devel/hs-dbus
+deepseq-generics_port?= devel/hs-deepseq-generics
+dia-base_port?= graphics/hs-dia-base
+dia-functions_port?= graphics/hs-dia-functions
+Diff_port?= textproc/hs-Diff
+digest_port?= security/hs-digest
+directory-tree_port?= devel/hs-directory-tree
+disk-free-space_port?= sysutils/hs-disk-free-space
+distributive_port?= math/hs-distributive
+dlist_port?= devel/hs-dlist
+dlist-instances_port?= devel/hs-dlist-instances
+dns_port?= dns/hs-dns
+doctemplates_port?= textproc/hs-doctemplates
+double-conversion_port?= textproc/hs-double-conversion
+DRBG_port?= security/hs-DRBG
+ed25519_port?= security/hs-ed25519
+easy-file_port?= devel/hs-easy-file
+EdisonAPI_port?= devel/hs-EdisonAPI
+EdisonCore_port?= devel/hs-EdisonCore
+edit-distance_port?= devel/hs-edit-distance
+either_port?= devel/hs-either
+ekg_port?= sysutils/hs-ekg
+ekg-core_port?= sysutils/hs-ekg-core
+ekg-json_port?= sysutils/hs-ekg-json
+email-validate_port?= mail/hs-email-validate
+enclosed-exceptions_port?= devel/hs-enclosed-exceptions
+entropy_port?= security/hs-entropy
+enumerator_port?= devel/hs-enumerator
+equivalence_port?= devel/hs-equivalence
+erf_port?= math/hs-erf
+errors_port?= devel/hs-errors
+esqueleto_port?= databases/hs-esqueleto
+exceptions_port?= devel/hs-exceptions
+extensible-exceptions_port?= devel/hs-extensible-exceptions
+extra_port?= devel/hs-extra
+fast-logger_port?= devel/hs-fast-logger
+fastcgi_port?= www/hs-fastcgi # lib_depends
+feed_port?= textproc/hs-feed
+fdo-notify_port?= deskutils/hs-fdo-notify
+fgl_port?= devel/hs-fgl
+file-embed_port?= devel/hs-file-embed
+filemanip_port?= devel/hs-filemanip
+filestore_port?= devel/hs-filestore
+fixed_port?= math/hs-fixed
+foundation_port?= devel/hs-foundation
+fmlist_port?= devel/hs-fmlist
+free_port?= devel/hs-free
+fsnotify_port?= devel/hs-fsnotify
+gconf_port?= devel/hs-gconf
+generic-deriving_port?= devel/hs-generic-deriving
+geniplate-mirror_port?= devel/hs-geniplate-mirror
+ghc-events_port?= devel/hs-ghc-events # executable
+ghc-mtl_port?= devel/hs-ghc-mtl
+ghc-paths_port?= devel/hs-ghc-paths
+gio_port?= devel/hs-gio
+git-annex_port?= devel/hs-git-annex # executable
+gitit_port?= www/hs-gitit # executable
+gitrev_port?= devel/hs-gitrev
+glib_port?= devel/hs-glib
+Glob_port?= devel/hs-Glob
+GLURaw_port?= x11-toolkits/hs-GLURaw
+GLUT_port?= x11-toolkits/hs-GLUT
+gnuidn_port?= dns/hs-gnuidn # lib_depends
+gnutls_port?= security/hs-gnutls # lib_depends
+graphviz_port?= graphics/hs-graphviz
+gsasl_port?= net/hs-gsasl # lib_depends
+gtk_port?= x11-toolkits/hs-gtk
+gtk2hs_port?= x11-toolkits/hs-gtk2hs # metaport
+gtk2hs-buildtools_port?= devel/hs-gtk2hs-buildtools # executable
+gtksourceview2_port?= x11-toolkits/hs-gtksourceview2
+hackage-security_port?= security/hs-hackage-security
+haddock_port?= devel/hs-haddock # executable
+haddock-api_port?= devel/hs-haddock-api
+haddock-library_port?= devel/hs-haddock-library
+half_port?= math/hs-half
+happstack_port?= www/hs-happstack # executable
+happstack-server_port?= www/hs-happstack-server
+happy_port?= devel/hs-happy # executable
+hashable_port?= devel/hs-hashable
+hashed-storage_port?= devel/hs-hashed-storage
+hashtables_port?= devel/hs-hashtables
+haskell-lexer_port?= devel/hs-haskell-lexer
+haskell-src_port?= devel/hs-haskell-src
+haskell-src-exts_port?= devel/hs-haskell-src-exts
+haskell-xmpp_port?= net-im/hs-haskell-xmpp
+hasktags_port?= devel/hs-hasktags # executable
+hastache_port?= devel/hs-hastache
+HaXml_port?= textproc/hs-HaXml # executable
+hedis_port?= databases/hs-hedis
+heist_port?= www/hs-heist
+hex_port?= devel/hs-hex
+hexpat_port?= textproc/hs-hexpat
+HGL_port?= graphics/hs-HGL
+highlighting-kate_port?= textproc/hs-highlighting-kate
+hinotify_port?= devel/hs-hinotify # lib_depends
+hint_port?= devel/hs-hint
+hjsmin_port?= www/hs-hjsmin # executable
+hlibev_port?= devel/hs-hlibev # lib_depends
+hlint_port?= devel/hs-hlint # executable
+hoauth2_port?= net/hs-hoauth2
+hoogle_port?= devel/hs-hoogle # executable
+hostname_port?= net/hs-hostname
+hourglass_port?= devel/hs-hourglass
+hs-bibutils_port?= textproc/hs-hs-bibutils
+hS3_port?= www/hs-hS3 # executable
+hsb2hs_port?= devel/hs-hsb2hs
+hscolour_port?= print/hs-hscolour # executable
+hslogger_port?= devel/hs-hslogger
+hslua_port?= devel/hs-hslua
+HsOpenSSL_port?= security/hs-HsOpenSSL
+hspec_port?= devel/hs-hspec # executable
+hspec-core_port?= devel/hs-hspec-core
+hspec-discover_port?= devel/hs-hspec-discover # executable
+hspec-expectations_port?= devel/hs-hspec-expectations
+HStringTemplate_port?= textproc/hs-HStringTemplate
+html_port?= textproc/hs-html
+html-conduit_port?= textproc/hs-html-conduit
+HTTP_port?= www/hs-HTTP
+http-api-data_port?= www/hs-http-api-data
+http-client_port?= www/hs-http-client
+http-client-tls_port?= www/hs-http-client-tls
+http-conduit_port?= www/hs-http-conduit
+http-date_port?= www/hs-http-date
+http-reverse-proxy_port?= www/hs-http-reverse-proxy
+http-server_port?= www/hs-http-server
+http-types_port?= www/hs-http-types
+http2_port?= www/hs-http2
+HUnit_port?= devel/hs-HUnit
+hxt_port?= textproc/hs-hxt
+hxt-charproperties_port?= textproc/hs-hxt-charproperties
+hxt-regex-xmlschema_port?= textproc/hs-hxt-regex-xmlschema
+hxt-unicode_port?= textproc/hs-hxt-unicode
+ieee754_port?= math/hs-ieee754
+IfElse_port?= devel/hs-IfElse
+integer-logarithms_port?= math/hs-integer-logarithms
+io-streams_port?= devel/hs-io-streams
+io-streams-haproxy_port?= devel/hs-io-streams-haproxy
+iproute_port?= net/hs-iproute
+js-flot_port?= devel/hs-js-flot
+js-jquery_port?= devel/hs-js-jquery
+json_port?= converters/hs-json
+JuicyPixels_port?= graphics/hs-JuicyPixels
+kan-extensions_port?= math/hs-kan-extensions
+keys_port?= devel/hs-keys
+kqueue_port?= devel/hs-kqueue
+language-c_port?= devel/hs-language-c
+language-javascript_port?= devel/hs-language-javascript
+largeword_port?= devel/hs-largeword
+lazysmallcheck_port?= devel/hs-lazysmallcheck
+lens_port?= devel/hs-lens
+lhs2tex_port?= textproc/hs-lhs2tex # executable
+libmpd_port?= audio/hs-libmpd
+libxml_port?= textproc/hs-libxml
+libxml-sax_port?= textproc/hs-libxml-sax # lib_depends
+lifted-async_port?= devel/hs-lifted-async
+lifted-base_port?= devel/hs-lifted-base
+List_port?= devel/hs-List
+ListLike_port?= devel/hs-ListLike
+logict_port?= devel/hs-logict
+maccatcher_port?= net/hs-maccatcher
+magic_port?= textproc/hs-magic
+map-syntax_port?= devel/hs-map-syntax
+math-functions_port?= math/hs-math-functions
+memory_port?= devel/hs-memory
+MemoTrie_port?= devel/hs-MemoTrie
+microlens_port?= devel/hs-microlens
+microlens-th_port?= devel/hs-microlens-th
+microstache_port?= devel/hs-microstache
+mime_port?= mail/hs-mime
+mime-mail_port?= mail/hs-mime-mail
+mime-types_port?= mail/hs-mime-types
+MissingH_port?= devel/hs-MissingH
+mmap_port?= devel/hs-mmap
+mmorph_port?= devel/hs-mmorph
+monad-control_port?= devel/hs-monad-control
+monad-logger_port?= devel/hs-monad-logger
+monad-loops_port?= devel/hs-monad-loops
+monad-par_port?= devel/hs-monad-par
+monad-par-extras_port?= devel/hs-monad-par-extras
+monad-unlift_port?= devel/hs-monad-unlift
+monadcryptorandom_port?= security/hs-monadcryptorandom
+monadplus_port?= devel/hs-monadplus
+MonadRandom_port?= devel/hs-MonadRandom
+monads-tf_port?= devel/hs-monads-tf
+mono-traversable_port?= devel/hs-mono-traversable
+mono-traversable-instances_port?= devel/hs-mono-traversable-instances
+mountpoints_port?= sysutils/hs-mountpoints
+mtl_port?= devel/hs-mtl
+mueval_port?= devel/hs-mueval # executable
+multipart_port?= www/hs-multipart
+murmur-hash_port?= devel/hs-murmur-hash
+mutable-containers_port?= devel/hs-mutable-containers
+mwc-random_port?= math/hs-mwc-random
+mysql_port?= databases/hs-mysql
+ncurses_port?= devel/hs-ncurses # lib_depends
+network_port?= net/hs-network
+network-info_port?= net/hs-network-info
+network-multicast_port?= net/hs-network-multicast
+network-protocol-xmpp_port?= net/hs-network-protocol-xmpp
+network-uri_port?= net/hs-network-uri
+newtype_port?= devel/hs-newtype
+newtype-generics_port?= devel/hs-newtype-generics
+nonce_port?= security/hs-nonce
+NumInstances_port?= math/hs-NumInstances
+ObjectName_port?= devel/hs-ObjectName
+oeis_port?= www/hs-oeis
+old-locale_port?= devel/hs-old-locale
+old-time_port?= devel/hs-old-time
+Only_port?= devel/hs-Only
+OpenAL_port?= audio/hs-OpenAL
+OpenGL_port?= x11-toolkits/hs-OpenGL
+OpenGLRaw_port?= x11-toolkits/hs-OpenGLRaw
+optparse-applicative_port?= devel/hs-optparse-applicative
+pandoc_port?= textproc/hs-pandoc # executable
+pandoc-citeproc_port?= textproc/hs-pandoc-citeproc # executable
+pandoc-types_port?= textproc/hs-pandoc-types
+pango_port?= x11-toolkits/hs-pango
+parallel_port?= devel/hs-parallel
+parsec_port?= textproc/hs-parsec
+path-pieces_port?= www/hs-path-pieces
+pcap_port?= net/hs-pcap
+pcre-light_port?= devel/hs-pcre-light # lib_depends
+pem_port?= security/hs-pem
+persistent_port?= databases/hs-persistent
+persistent-sqlite_port?= databases/hs-persistent-sqlite
+persistent-template_port?= databases/hs-persistent-template
+pointed_port?= math/hs-pointed
+polyparse_port?= textproc/hs-polyparse
+porte_port?= ports-mgmt/hs-porte # executable
+prelude-extras_port?= devel/hs-prelude-extras
+preprocessor-tools_port?= devel/hs-preprocessor-tools
+pretty-show_port?= textproc/hs-pretty-show
+prettyclass_port?= devel/hs-prettyclass
+primitive_port?= devel/hs-primitive
+probability_port?= math/hs-probability
+process-extras_port?= devel/hs-process-extras
+profunctors_port?= devel/hs-profunctors
+project-template_port?= devel/hs-project-template
+PSQueue_port?= devel/hs-PSQueue
+psqueues_port?= devel/hs-psqueues
+publicsuffixlist_port?= net/hs-publicsuffixlist
+pureMD5_port?= security/hs-pureMD5
+pwstore-fast_port?= security/hs-pwstore-fast
+QuickCheck_port?= devel/hs-QuickCheck
+quickcheck-io_port?= devel/hs-quickcheck-io
+random_port?= devel/hs-random
+ReadArgs_port?= devel/hs-ReadArgs # executable
+readable_port?= devel/hs-readable
+readline_port?= devel/hs-readline
+recaptcha_port?= www/hs-recaptcha
+refact_port?= devel/hs-refact
+reflection_port?= devel/hs-reflection
+regex-applicative_port?= textproc/hs-regex-applicative
+regex-base_port?= textproc/hs-regex-base
+regex-compat_port?= textproc/hs-regex-compat
+regex-compat-tdfa_port?= textproc/hs-regex-compat-tdfa
+regex-pcre_port?= textproc/hs-regex-pcre
+regex-pcre-builtin_port?= textproc/hs-regex-pcre-builtin # lib_depends
+regex-posix_port?= textproc/hs-regex-posix
+regex-tdfa_port?= textproc/hs-regex-tdfa
+resource-pool_port?= devel/hs-resource-pool
+resourcet_port?= devel/hs-resourcet
+rfc5051_port?= textproc/hs-rfc5051
+RSA_port?= security/hs-RSA
+safe_port?= devel/hs-safe
+safe-exceptions_port?= devel/hs-safe-exceptions
+SafeSemaphore_port?= devel/hs-SafeSemaphore
+sandi_port?= converters/hs-sandi
+say_port?= devel/hs-say
+scanner_port?= textproc/hs-scanner
+scientific_port?= devel/hs-scientific
+scroll_port?= games/hs-scroll # executable
+securemem_port?= devel/hs-securemem
+semigroupoids_port?= math/hs-semigroupoids
+semigroups_port?= math/hs-semigroups
+sendfile_port?= net/hs-sendfile
+setenv_port?= devel/hs-setenv
+setlocale_port?= devel/hs-setlocale
+SHA_port?= security/hs-SHA # executable
+shake_port?= devel/hs-shake # executable
+shakespeare_port?= www/hs-shakespeare
+ShellCheck_port?= devel/hs-ShellCheck # executable
+shelly_port?= shells/hs-shelly
+show_port?= devel/hs-show
+silently_port?= devel/hs-silently
+simple-reflect_port?= devel/hs-simple-reflect
+simple-sendfile_port?= net/hs-simple-sendfile
+skein_port?= security/hs-skein
+skylighting_port?= textproc/hs-skylighting
+smallcheck_port?= devel/hs-smallcheck
+snap_port?= www/hs-snap # executable
+snap-core_port?= www/hs-snap-core
+snap-server_port?= www/hs-snap-server # lib_depends
+socks_port?= net/hs-socks
+split_port?= devel/hs-split
+StateVar_port?= devel/hs-StateVar
+statistics_port?= math/hs-statistics
+stm_port?= devel/hs-stm
+stm-chans_port?= devel/hs-stm-chans
+STMonadTrans_port?= devel/hs-STMonadTrans
+Stream_port?= devel/hs-Stream
+streaming-commons_port?= devel/hs-streaming-commons
+strict_port?= devel/hs-strict
+stringsearch_port?= textproc/hs-stringsearch
+svgcairo_port?= graphics/hs-svgcairo
+syb_port?= devel/hs-syb
+syb-with-class_port?= devel/hs-syb-with-class
+system-fileio_port?= devel/hs-system-fileio
+system-filepath_port?= devel/hs-system-filepath
+tagged_port?= devel/hs-tagged
+tagsoup_port?= textproc/hs-tagsoup # executable
+tagstream-conduit_port?= textproc/hs-tagstream-conduit
+tar_port?= archivers/hs-tar
+temporary_port?= devel/hs-temporary
+terminal-size_port?= devel/hs-terminal-size
+test-framework_port?= devel/hs-test-framework
+test-framework-hunit_port?= devel/hs-test-framework-hunit
+test-framework-quickcheck2_port?= devel/hs-test-framework-quickcheck2
+texmath_port?= textproc/hs-texmath # executable
+text_port?= devel/hs-text
+text-icu_port?= devel/hs-text-icu # lib_depends
+text-short_port?= devel/hs-text-short
+tf-random_port?= devel/hs-tf-random
+th-abstraction_port?= devel/hs-th-abstraction
+th-lift_port?= devel/hs-th-lift
+th-lift-instances_port?= devel/hs-th-lift-instances
+threads_port?= devel/hs-threads
+threadscope_port?= devel/hs-threadscope # executable
+time-compat_port?= devel/hs-time-compat
+time-locale-compat_port?= devel/hs-time-locale-compat
+timezone-olson_port?= devel/hs-timezone-olson
+timezone-series_port?= devel/hs-timezone-series
+tls_port?= security/hs-tls
+tls-session-manager_port?= security/hs-tls-session-manager
+torrent_port?= net-p2p/hs-torrent
+transformers-base_port?= devel/hs-transformers-base
+transformers-compat_port?= devel/hs-transformers-compat
+TypeCompose_port?= devel/hs-TypeCompose
+typed-process_port?= devel/hs-typed-process
+unamb_port?= devel/hs-unamb
+unexceptionalio_port?= devel/hs-unexceptionalio
+uniplate_port?= devel/hs-uniplate
+unix-compat_port?= devel/hs-unix-compat
+unix-time_port?= devel/hs-unix-time
+unlambda_port?= lang/hs-unlambda # executable
+unordered-containers_port?= devel/hs-unordered-containers
+uri_port?= textproc/hs-uri
+uri-bytestring_port?= textproc/hs-uri-bytestring
+uri-bytestring-aeson_port?= textproc/hs-uri-bytestring-aeson
+url_port?= www/hs-url
+utf8-light_port?= devel/hs-utf8-light
+utf8-string_port?= devel/hs-utf8-string
+utility-ht_port?= devel/hs-utility-ht
+uuagc_port?= devel/hs-uuagc # executable
+uuagc-bootstrap_port?= devel/hs-uuagc-bootstrap # executable
+uuagc-cabal_port?= devel/hs-uuagc-cabal
+uuid_port?= devel/hs-uuid
+uuid-types_port?= devel/hs-uuid-types
+uulib_port?= devel/hs-uulib
+vault_port?= devel/hs-vault
+vector_port?= devel/hs-vector
+vector-algorithms_port?= devel/hs-vector-algorithms
+vector-binary-instances_port?= devel/hs-vector-binary-instances
+vector-instances_port?= devel/hs-vector-instances
+vector-space_port?= math/hs-vector-space
+vector-th-unbox_port?= devel/hs-vector-th-unbox
+void_port?= devel/hs-void
+vte_port?= x11-toolkits/hs-vte
+wai_port?= www/hs-wai
+wai-app-static_port?= www/hs-wai-app-static # executable
+wai-extra_port?= www/hs-wai-extra
+wai-logger_port?= www/hs-wai-logger
+warp_port?= www/hs-warp
+warp-tls_port?= www/hs-warp-tls
+webkit_port?= www/hs-webkit # lib_depends
+wl-pprint-text_port?= devel/hs-wl-pprint-text
+word8_port?= devel/hs-word8
+wx_port?= x11-toolkits/hs-wx
+wxc_port?= x11-toolkits/hs-wxc # lib_depends
+wxcore_port?= x11-toolkits/hs-wxcore # lib_depends
+wxdirect_port?= x11-toolkits/hs-wxdirect # executable
+X11_port?= x11/hs-X11 # lib_depends
+X11-xft_port?= x11/hs-X11-xft
+x509_port?= security/hs-x509
+x509-store_port?= security/hs-x509-store
+x509-system_port?= security/hs-x509-system
+x509-validation_port?= security/hs-x509-validation
+xhtml_port?= textproc/hs-xhtml
+xml_port?= textproc/hs-xml
+xml-conduit_port?= textproc/hs-xml-conduit
+xml-hamlet_port?= textproc/hs-xml-hamlet
+xml-types_port?= textproc/hs-xml-types
+xmlhtml_port?= textproc/hs-xmlhtml
+xmobar_port?= x11/hs-xmobar # executable
+xmonad_port?= x11-wm/hs-xmonad # executable
+xmonad-contrib_port?= x11-wm/hs-xmonad-contrib
+xss-sanitize_port?= www/hs-xss-sanitize
+yaml_port?= textproc/hs-yaml # executable
+yesod_port?= www/hs-yesod
+yesod-auth_port?= www/hs-yesod-auth
+yesod-auth-hashdb_port?= www/hs-yesod-auth-hashdb
+yesod-bin_port?= www/hs-yesod-bin # executable
+yesod-core_port?= www/hs-yesod-core
+yesod-form_port?= www/hs-yesod-form
+yesod-persistent_port?= www/hs-yesod-persistent
+yesod-static_port?= www/hs-yesod-static
+yesod-test_port?= www/hs-yesod-test
+zip-archive_port?= archivers/hs-zip-archive
+zlib_port?= archivers/hs-zlib
+zlib-bindings_port?= archivers/hs-zlib-bindings
+zlib-enum_port?= archivers/hs-zlib-enum
diff --git a/lang/ghc/distinfo b/lang/ghc/distinfo
index 04c2eab3129c..53d94da1c513 100644
--- a/lang/ghc/distinfo
+++ b/lang/ghc/distinfo
@@ -1,8 +1,9 @@
-SHA256 (ghc-7.10.2-src.tar.xz) = 54cd73755b784d78e2f13d5eb161bfa38d3efee9e8a56f7eb6cd9f2d6e2615f5
-SIZE (ghc-7.10.2-src.tar.xz) = 11113204
-SHA256 (hscolour-1.23.tar.gz) = 97167eaecc309eff51317d6e925881bc9f27921bd52692121f0fc5aaee1791b0
-SIZE (hscolour-1.23.tar.gz) = 26027
+TIMESTAMP = 1499672924
+SHA256 (ghc-8.0.2-src.tar.xz) = 11625453e1d0686b3fa6739988f70ecac836cadc30b9f0c8b49ef9091d6118b1
+SIZE (ghc-8.0.2-src.tar.xz) = 10687760
SHA256 (ghc-7.10.2-boot-i386-freebsd.tar.xz) = 5cadd55316fe6c1bf275d0f44f10b46342096922a15ecb9fb78c80fc293f901a
SIZE (ghc-7.10.2-boot-i386-freebsd.tar.xz) = 39858716
SHA256 (ghc-7.10.2-boot-amd64-freebsd.tar.xz) = 4af0ee0795537baa11a96fba23477f8390ccb5f45910cda119d0a16bdebaedc8
SIZE (ghc-7.10.2-boot-amd64-freebsd.tar.xz) = 49833224
+SHA256 (hscolour-1.24.1.tar.gz) = e46fe3de8ed6f96e2216b94b7608d01919bc86b15dd8d0ec7e71c0e7e5bf79c8
+SIZE (hscolour-1.24.1.tar.gz) = 28717
diff --git a/lang/ghc/files/build.boot.mk.in b/lang/ghc/files/build.boot.mk.in
new file mode 100644
index 000000000000..557732a69a03
--- /dev/null
+++ b/lang/ghc/files/build.boot.mk.in
@@ -0,0 +1,8 @@
+GhcLibWays = v
+XMLDocWays =
+HADDOCK_DOCS =
+HSCOLOUR_SRCS =
+INTEGER_LIBRARY = integer-simple
+DYNAMIC_GHC_PROGRAMS =
+BIN_DIST_NAME = ghc-%%GHC_VERSION%%-boot
+BIN_DIST_TAR = ghc-%%GHC_VERSION%%-boot.tar
diff --git a/lang/ghc/files/build.mk.in b/lang/ghc/files/build.mk.in
new file mode 100644
index 000000000000..8bbbb04ae120
--- /dev/null
+++ b/lang/ghc/files/build.mk.in
@@ -0,0 +1,19 @@
+docdir = %%PREFIX%%/share/doc/ghc-%%GHC_VERSION%%
+htmldir = %%PREFIX%%/share/doc/ghc-%%GHC_VERSION%%
+mandir = %%PREFIX%%/man
+infodir = %%PREFIX%%/info
+GhcLibWays = v
+%%WITH_PROFILE%%GhcLibWays += p
+%%WITH_DYNAMIC%%GhcLibWays += dyn
+DYNAMIC_GHC_PROGRAMS = %%WITH_DYNAMIC%%YES
+HADDOCK_DOCS = %%WITH_DOCS%%
+HSCOLOUR_SRCS = %%WITH_DOCS%%
+BSD_PATH_TO_HSC2HS = %%HSC2HS%%
+SRC_HC_OPTS += -I%%NCURSESINC%% -L%%NCURSESLIB%% -I%%LOCALBASE%%/include -L%%LOCALBASE%%/lib
+SRC_CC_OPTS += %%CFLAGS%%
+EXTRA_HSC2HS_OPTS += -I%%LOCALBASE%%/include --lflag=-L%%LOCALBASE%%/lib
+EXTRA_LD_OPTS += -L%%LOCALBASE%%/lib
+EXTRA_CABAL_CONFIGURE_FLAGS += --extra-include-dirs=%%LOCALBASE%%/include
+EXTRA_CABAL_CONFIGURE_FLAGS += --extra-lib-dirs=%%LOCALBASE%%/lib
+libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes=%%NCURSESINC%% --configure-option=--with-curses-libraries=%%NCURSESLIB%%
+V = 0
diff --git a/lang/ghc/files/patch-aclocal.m4 b/lang/ghc/files/patch-aclocal.m4
deleted file mode 100644
index 550ec1adc5ef..000000000000
--- a/lang/ghc/files/patch-aclocal.m4
+++ /dev/null
@@ -1,39 +0,0 @@
---- aclocal.m4.orig 2015-07-21 13:52:50 UTC
-+++ aclocal.m4
-@@ -1718,36 +1718,6 @@ int main(int argc, char *argv[])
- }
- alarm(1);
-
-- if (timer_create(CLOCK_PROCESS_CPUTIME_ID, &ev, &timer) != 0) {
-- fprintf(stderr,"No CLOCK_PROCESS_CPUTIME_ID timer\n");
-- exit(1);
-- }
--
-- it.it_value.tv_sec = 0;
-- it.it_value.tv_nsec = 1;
-- it.it_interval = it.it_value;
-- if (timer_settime(timer, 0, &it, NULL) != 0) {
-- fprintf(stderr,"settime problem\n");
-- exit(4);
-- }
--
-- tock = 0;
--
-- for(n = 3; n < 20000; n++){
-- for(m = 2; m <= n/2; m++){
-- if (!(n%m)) count++;
-- if (tock) goto out;
-- }
-- }
--out:
--
-- if (!tock) {
-- fprintf(stderr,"no CLOCK_PROCESS_CPUTIME_ID signal\n");
-- exit(5);
-- }
--
-- timer_delete(timer);
--
- if (timer_create(CLOCK_REALTIME, &ev, &timer) != 0) {
- fprintf(stderr,"No CLOCK_REALTIME timer\n");
- exit(2);
diff --git a/lang/ghc/files/patch-configure.ac b/lang/ghc/files/patch-configure.ac
index ddffa1650ae5..8906fbb875dd 100644
--- a/lang/ghc/files/patch-configure.ac
+++ b/lang/ghc/files/patch-configure.ac
@@ -1,6 +1,6 @@
---- configure.ac.orig 2015-07-21 19:50:11 UTC
+--- configure.ac.orig 2017-01-04 14:17:17 UTC
+++ configure.ac
-@@ -383,6 +383,9 @@ AC_SUBST([SplitObjsBroken])
+@@ -418,6 +418,9 @@ AC_SUBST([SplitObjsBroken])
dnl ** Building a cross compiler?
dnl --------------------------------------------------------------
CrossCompiling=NO
@@ -8,5 +8,17 @@
+build=`echo $build | sed -e 's/amd64-/x86_64-/g; s/-freebsd.*$/-freebsd/g'`
+
# If 'host' and 'target' differ, then this means we are building a cross-compiler.
- if test "$target" != "$host" ; then
+ if test "$TargetPlatform" != "$HostPlatform" ; then
CrossCompiling=YES
+@@ -1057,6 +1060,11 @@ if test "$ac_cv_sizeof_void_p" -eq 8 ; then
+ use_large_address_space=yes
+ elif test "$ghc_host_os" = "openbsd" ; then
+ # as of OpenBSD 5.8 (2015), OpenBSD does not support mmap with MAP_NORESERVE.
++ # The flag MAP_NORESERVE is supported for source compatibility reasons,
++ # but is completely ignored by OS mmap
++ use_large_address_space=no
++ elif test "$ghc_host_os" = "freebsd" ; then
++ # FreeBSD does not support mmap with MAP_NORESERVE,r emoved in r273250.
+ # The flag MAP_NORESERVE is supported for source compatibility reasons,
+ # but is completely ignored by OS mmap
+ use_large_address_space=no
diff --git a/lang/ghc/files/patch-ghc.mk b/lang/ghc/files/patch-ghc.mk
index 5467a7ae909b..8ffda7a16712 100644
--- a/lang/ghc/files/patch-ghc.mk
+++ b/lang/ghc/files/patch-ghc.mk
@@ -1,6 +1,6 @@
---- ./ghc.mk.orig 2014-07-10 06:27:16.000000000 +0200
-+++ ./ghc.mk 2014-07-11 10:28:11.000000000 +0200
-@@ -96,6 +96,7 @@
+--- ghc.mk.orig 2017-01-03 15:59:18 UTC
++++ ghc.mk
+@@ -96,6 +96,7 @@ endif
# Catch make if it runs away into an infinite loop
ifeq "$(MAKE_RESTARTS)" ""
else ifeq "$(MAKE_RESTARTS)" "1"
@@ -8,3 +8,14 @@
else
$(error Make has restarted itself $(MAKE_RESTARTS) times; is there a makefile bug? See http://ghc.haskell.org/trac/ghc/wiki/Building/Troubleshooting#Makehasrestarteditself3timesisthereamakefilebug for details)
endif
+@@ -465,10 +466,7 @@ PACKAGES_STAGE1 += ghc-boot
+ PACKAGES_STAGE1 += template-haskell
+ PACKAGES_STAGE1 += hoopl
+ PACKAGES_STAGE1 += transformers
+-
+-ifeq "$(HADDOCK_DOCS)" "YES"
+ PACKAGES_STAGE1 += xhtml
+-endif
+
+ ifeq "$(Windows_Target)" "NO"
+ ifneq "$(TargetOS_CPP)" "ios"
diff --git a/lang/ghc/files/patch-libraries_Cabal_Cabal_Distribution_Simple_GHC.hs b/lang/ghc/files/patch-libraries_Cabal_Cabal_Distribution_Simple_GHC.hs
index 53cf700d7ccc..c7ddc4addf4f 100644
--- a/lang/ghc/files/patch-libraries_Cabal_Cabal_Distribution_Simple_GHC.hs
+++ b/lang/ghc/files/patch-libraries_Cabal_Cabal_Distribution_Simple_GHC.hs
@@ -1,6 +1,6 @@
---- libraries/Cabal/Cabal/Distribution/Simple/GHC.hs.orig 2015-04-01 00:24:45 UTC
+--- libraries/Cabal/Cabal/Distribution/Simple/GHC.hs.orig 2017-01-03 15:59:20 UTC
+++ libraries/Cabal/Cabal/Distribution/Simple/GHC.hs
-@@ -875,7 +875,7 @@ getRPaths lbi clbi | supportRPaths hostO
+@@ -996,7 +996,7 @@ getRPaths lbi clbi | supportRPaths hostOS = do
supportRPaths Linux   = True
supportRPaths Windows = False
supportRPaths OSX   = True
diff --git a/lang/ghc/files/patch-libraries__Cabal__Cabal__Distribution__Simple__Program__Builtin.hs b/lang/ghc/files/patch-libraries__Cabal__Cabal__Distribution__Simple__Program__Builtin.hs
index 7a4425743eaa..daf5ea981ba1 100644
--- a/lang/ghc/files/patch-libraries__Cabal__Cabal__Distribution__Simple__Program__Builtin.hs
+++ b/lang/ghc/files/patch-libraries__Cabal__Cabal__Distribution__Simple__Program__Builtin.hs
@@ -1,27 +1,38 @@
---- libraries/Cabal/Cabal/Distribution/Simple/Program/Builtin.hs.orig 2015-06-19 10:36:50 UTC
+--- libraries/Cabal/Cabal/Distribution/Simple/Program/Builtin.hs.orig 2017-01-03 15:59:20 UTC
+++ libraries/Cabal/Cabal/Distribution/Simple/Program/Builtin.hs
-@@ -261,10 +261,13 @@ alexProgram = (simpleProgram "alex") {
+@@ -54,6 +54,8 @@ import Distribution.Compat.Exception
+ import Distribution.Verbosity
+ import Distribution.Version
+
++import System.FilePath (takeDirectory)
++
+ import Data.Char
+ ( isDigit )
+ import qualified Data.Map as Map
+@@ -251,11 +253,13 @@ alexProgram = (simpleProgram "alex") {
+
gccProgram :: Program
gccProgram = (simpleProgram "gcc") {
- programFindVersion = findProgramVersion "-dumpversion" id
-+ , programFindLocation = \v p -> findProgramOnSearchPath v p "%%CC%%"
- }
+- programFindVersion = findProgramVersion "-dumpversion" id
+- }
++ programFindLocation = \v p -> findProgramOnSearchPath v p "cc"
++}
arProgram :: Program
-arProgram = simpleProgram "ar"
+arProgram = (simpleProgram "ar") {
-+ programFindLocation = \_v _p -> return (Just "%%AR%%")
-+ }
++ programFindLocation = \v p -> findProgramOnSearchPath v p "ar"
++}
stripProgram :: Program
stripProgram = (simpleProgram "strip") {
-@@ -336,7 +339,9 @@ greencardProgram :: Program
+@@ -311,7 +315,9 @@ greencardProgram :: Program
greencardProgram = simpleProgram "greencard"
ldProgram :: Program
-ldProgram = simpleProgram "ld"
+ldProgram = (simpleProgram "ld") {
-+ programFindLocation = \_v _p -> return (Just "%%LD%%")
++ programFindLocation = \v p -> findProgramOnSearchPath v p "ld"
+ }
tarProgram :: Program
diff --git a/lang/ghc/pkg-plist b/lang/ghc/pkg-plist
index bddc4c6a5ce7..5f7bb8be6046 100644
--- a/lang/ghc/pkg-plist
+++ b/lang/ghc/pkg-plist
@@ -3,14 +3,15 @@ bin/ghci
bin/ghc-pkg
bin/runhaskell
bin/runghc
+%%DOCS%%bin/haddock
bin/hp2ps
bin/hpc
bin/hsc2hs
bin/ghc-%%GHC_VERSION%%
bin/ghci-%%GHC_VERSION%%
bin/ghc-pkg-%%GHC_VERSION%%
-bin/haddock-ghc-%%GHC_VERSION%%
+%%DOCS%%bin/haddock-ghc-%%GHC_VERSION%%
bin/runghc-%%GHC_VERSION%%
-%%PORTDOCS%%man/man1/ghc.1.gz
-@exec /bin/ln -sf %D/bin/haddock-ghc-%%GHC_VERSION%% %D/bin/haddock || return true
-@unexec /bin/rm -f %D/bin/haddock || return true
+%%DOCS%%man/man1/ghc.1.gz
+%%DOCS%%@postexec /bin/ln -sf %D/bin/haddock-ghc-%%GHC_VERSION%% %D/bin/haddock || return true
+%%DOCS%%@postunexec /bin/rm -f %D/bin/haddock || return true