clang-only base systems too [1]
- Allow to use GCC 4.6 and later (requested by: gerald)
- Add USE_NCURSES, so now it can pick up ports ncurses when installed
- Fix COMMENT to comply with the Porter's Handbook
PR: ports/161356 [1]
Submitted by: David Marker <dmarker@freedave.net> (reworked by: ashish) [1]
Obtained from: FreeBSD Haskell
rely on gcc. The patch uses the new USE_GCC=any code in Mk/bsd.gcc.mk to
accomplish this.
The ports chosen were ports that blocked 2 or more ports from building with
clang. (There are several hundred other ports that still fail to build with
clang, even with this patch. This is merely one step along the way.)
Those interested in fixing these ports with clang, and have clang as their
default compiler, can simply set FORCE_BASE_CC_FOR_TESTING=yes.
For those who have gcc as their default compiler, this change is believed
to cause no change.
Hat: portmgr
Tested with: multiple runs on amd64-8-exp-bcm and 9-exp-clang, with various
combinations of patch/no-patch and flag settings.
to djb's `daemontools` or the Ruby project `god`. It's goals are to keep
a set of services running, and to facilitate the easy configuration and
restart of those services.
WWW: http://github.com/jamwt/Angel
Obtained from: FreeBSD Haskell
balances mismatched tags, so that there shouldn't be any parse failures.
It does not handle a full HTML document rendering, such as adding missing
html and head tags.
WWW: https://github.com/snoyberg/xml
Obtained from: FreeBSD Haskell
parse unstructured and malformed HTML from the web. It also provides an
Enumeratee which can parse streamline html, which means it consumes constant
memory. You can start from the `tests/Tests.hs` module to see what it can
do.
WWW: http://github.com/yihuang/tagstream-conduit
Obtained from: FreeBSD Haskell
Ruby library RSpec. However, Hspec is just a framework for running
HUnit and QuickCheck tests. Compared to other options, it provides a
much nicer syntax that makes tests very easy to read.
WWW: http://hspec.github.com/
Obtained from: FreeBSD Haskell
devel/hs-binary: this package became part of lang/ghc.
devel/hs-convertible-text: this package is obsolete.
devel/hs-control-monad-attempt: this package is obsolete.
devel/hs-data-object: this package is obsolete.
devel/hs-data-object-yaml: this package is obsolete.
devel/hs-deepseq: this package became part of lang/ghc.
devel/hs-ghc-paths-docs: not needed any more.
devel/hs-haddock-docs: not needed any more.
devel/hs-mtl-docs: not needed any more.
devel/hs-pool: this package is obsolete.
devel/hs-transformers-docs: not needed any more.
print/hs-hscolour-docs: not needed any more.
textproc/hs-xhtml-docs: not needed any more.
textproc/hs-xml-enumerator: this package is obsolete.
www/hs-happstack-data: this package is obsolete.
www/hs-happstack-ixset: this package is obsolete.
www/hs-happstack-state: this package is obsolete.
www/hs-happstack-util: this package is obsolete.
www/hs-http-enumerator: this package is obsolete.
Obtained from: FreeBSD Haskell
Please note that port revision for all the Haskell ports without version changes
are also bumped. Other per-port updates are coming soon (in separate commits)!
In addition to that, separate -docs ports are no longer needed so they are
now removed.
Thanks ashish@ for the assistance.
Obtained from: FreeBSD Haskell
on top of wxWidgets, a comprehensive C++ library that is portable across
all major GUI platforms, including GTK, Windows, X11, and MacOS X. This
version works with wxWidgets 2.9 only. Distributed under the WXWINDOWS
LIBRARY LICENSE. Please see LICENSE file, but note that this is essentially
LGPL with an exception allowing binary distribution of proprietary software.
This is the same license as wxWidgets itself uses.
WWW: http://haskell.org/haskellwiki/WxHaskell
Obtained from: FreeBSD Haskell
connection. It also provides higher-level functions which allow you to
avoid direct usage of enumerators.
WWW: http://www.yesodweb.com/book/http-conduit
Obtained from: FreeBSD Haskell
based on the datatypes found in the xml-types package. This package is
broken up into the following modules:
* Text.XML: DOM-based parsing and rendering. This is the most commonly
used module.
* Text.XML.Cursor: A wrapper around Text.XML which allows bidirectional
traversing of the DOM, similar to XPath.
* Text.XML.Unresolved: A slight modification to Text.XML which does not
require all entities to be resolved at parsing. The datatypes are
slightly more complicated here, and therefore this module is only
recommended when you need to deal directly with raw entities.
* Text.XML.Stream.Parse: Streaming parser, including some streaming
parser combinators.
* Text.XML.Stream.Render: Streaming renderer.
WWW: http://github.com/snoyberg/xml
Obtained from: FreeBSD Haskell
Tango math library; approximate and exact equality comparisons for general
types.
WWW: http://github.com/patperry/hs-ieee754
Obtained from: FreeBSD Haskell
like having first-class access to the storage space behind IORefs. The
data structure is analogous to a bank vault, where you can access different
bank boxes with different keys; hence the name. Also provided is a "locker"
type, representing a store for a single element.
WWW: https://github.com/HeinrichApfelmus/vault
Obtained from: FreeBSD Haskell
library are quite limited. The unixutils package contains some good ones,
but they aren't portable to Windows. This library just repackages the
Cabal implementations of its own temporary file and folder functions so
that you can use them without linking against Cabal or depending on it
being installed.
WWW: http://www.github.com/batterseapower/temporary
Obtained from: FreeBSD Haskell
an alternative to enumerators/iterators, hoping to address the same
issues with different trade-offs based on real-world experience with
enumerators.
WWW: http://github.com/snoyberg/conduit
Obtained from: FreeBSD Haskell
suitable for low-level shared-memory synchronization. The implementation
is using GCC's builtin atomic operations (available in GCC >= 4) in C
wrappers called through the FFI.
WWW: http://hackage.haskell.org/package/bits-atomic
Obtained from: FreeBSD Haskell
provided by the 'parallel' package. A Par monad allows the simple
description of parallel computations, and can be used to add parallelism
to pure Haskell code. The basic API is straightforward: a Par monad
supports forking and simple communication in terms of IVars. This module
is an interface module only. It provides a number of type clasess, but
not an implementation. The type classes separate different levels of Par
functionality.
WWW: https://github.com/simonmar/monad-par
Obtained from: FreeBSD Haskell
There exists a feature space for queues that extends between:
* simple, single-ended, non-concurrent, bounded queues
* double-ended, threadsafe, growable queues
... with important points inbetween (such as the queues used for
work-stealing). This package includes an interface for Deques that
allows the programmer to use a single API for all of the above, while
using the type-system to select an efficient implementation given the
requirements (using type families). This package also includes a simple
reference implementation based on 'IORef' and "Data.Sequence".
WWW: http://hackage.haskell.org/package/abstract-deque
Obtained from: FreeBSD Haskell
exposed in Data.IORef. This package fills that gap until such a time as
Data.IORef obsoletes it. Further, in addition to exposing native Haskell
CAS operations, this package contains "mockups" that imititate the same
functionality using either atomicModifyIORef and unsafe pointer equality
(in Data.CAS.Fake) or using foreign functions (Data.CAS.Foreign).
These alternatives are useful for debugging. Note that the foreign option
does not operate on IORefs and so is directly interchangeable with `Data.CAS`
and `Data.CAS.Fake` only if the interface in `Data.CAS.Class` is used.
WWW: http://hackage.haskell.org/package/IORefCAS
Obtained from: FreeBSD Haskell
generated by the Glasgow Haskell Compiler (GHC).
The ThreadScope program allows us to debug the parallel performance of
Haskell programs. Using Threadscope we can check to see that work is
well balanced across the available processors and spot performance
issues relating to garbage collection or poor load balancing.
WWW: http://hackage.haskell.org/package/threadscope
Obtained from: FreeBSD Haskell
on top of wxWidgets - a comprehensive C++ library that is portable
across all major GUI platforms; including GTK, Windows, X11, and MacOS
X. This version works with wxWidgets 2.8 and 2.9.
WWW: http://haskell.org/haskellwiki/WxHaskell
Obtained from: FreeBSD Haskell
on top of wxWidgets, a comprehensive C++ library that is portable across
all major GUI platforms, including GTK, Windows, X11, and MacOS X. This
version works with wxWidgets 2.8 only. Distributed under the WXWINDOWS
LIBRARY LICENSE. Please see LICENSE file, but note that this is
essentially LGPL with an exception allowing binary distribution of
proprietary software. This is the same license as wxWidgets itself
uses.
WWW: http://haskell.org/haskellwiki/WxHaskell
Obtained from: FreeBSD Haskell
on top of wxWidgets, a comprehensive C++ library that is portable across
all major GUI platforms, including GTK, Windows, X11, and MacOS X. This
version works with wxWidgets 2.8 only.
WWW: http://haskell.org/haskellwiki/WxHaskell
Obtained from: FreeBSD Haskell
generate RSA and DSA keys, read and write PEM files, generate message
digests, sign and verify messages, encrypt and decrypt messages. It has
also some capabilities of creating SSL clients and servers.
WWW: https://github.com/phonohawk/HsOpenSSL
Obtained from: FreeBSD Haskell
It also affords space efficient code, highly concurrent loads, and
portability to many deployment backends (via the wai package), from CGI
to stand-alone serving. Yesod also focuses on developer productivity.
Yesod integrates well with tools for all your basic web development (wai,
persistent, and shakespeare/hamlet).
WWW: http://www.yesodweb.com/
Obtained from: FreeBSD Haskell
application that have strong compile-time guarantees of correctness. It
also affords space efficient code and portability to many deployment
backends, from CGI to stand-alone serving.
WWW: http://www.yesodweb.com/
Obtained from: FreeBSD Haskell
simple variable interpolation. Shakespeare templates can be used inline
with a quasi-quoter or in an external file. Shakespeare interpolates
variables according to the type being inserted. In this case, the
variable type needs a ToText instance.
WWW: http://www.yesodweb.com/book/templates
Obtained from: FreeBSD Haskell
simple variable interpolation. Shakespeare templates can be used inline
with a quasi-quoter or in an external file. Shakespeare interpolates
variables according to the type being inserted. In this case, the
variable type needs a ToJavascript instance.
There is also shakespeare-coffeescript for coffeescript templates.
Coffescript is a language that compiles down to javascript. It expects
a coffeescript compiler in your path, and variable should be a ToCoffee
instance.
WWW: http://www.yesodweb.com/book/templates
Obtained from: FreeBSD Haskell
translated content. It has a simple syntax for translators, while
allowing the ful power of Haskell for applying complex grammar rules.
WWW: http://www.yesodweb.com/book/i18n
Obtained from: FreeBSD Haskell
simple variable interpolation. Shakespeare templates can be used inline
with a quasi-quoter or in an external file. Shakespeare interpolates
variables according to the type being inserted. In this case, the
variable type needs a ToCss instance.
This package contains 2 CSS template languages. The Cassius language
uses whitespace to avoid the need for closing brackets and semi-colons.
Lucius does not care about whitespace and is a strict superset of CSS.
There are also some significant conveniences added for CSS.
WWW: http://www.yesodweb.com/book/templates
Obtained from: FreeBSD Haskell
messages, functions for automatically composing these into bytestrings,
and the ability to send bytestrings via the sendmail executable. You
can also use any other library you wish to send via different methods,
eg directly to SMTP.
WWW: http://github.com/snoyberg/mime-mail
Obtained from: FreeBSD Haskell
via Quasi-Quoting, and generating extremely efficient output code. The
syntax is white-space sensitive, and it helps you avoid cross-site
scripting issues and 404 errors.
WWW: http://www.yesodweb.com/book/templates
Obtained from: FreeBSD Haskell
simple variable interpolation. Shakespeare templates can be used inline
with a quasi-quoter or in an external file. Shakespeare interpolates
variables according to the type being inserted.
WWW: http://www.yesodweb.com/book/templates
Obtained from: FreeBSD Haskell
Parsing and emitting is handled by the yaml package, which in turn uses
the libyaml C library.
WWW: http://github.com/snoyberg/data-object-yaml
Obtained from: FreeBSD Haskell
This package includes the full libyaml C library version 0.1.2 by Kirill
Simonov in the package so you don't need to worry about any non-Haskell
dependencies.
WWW: http://github.com/snoyberg/yaml/
Obtained from: FreeBSD Haskell
providing a representation in a separate repository, other libraries can
share a single representation of these structures.
WWW: http://github.com/snoyberg/data-object/tree/master
Obtained from: FreeBSD Haskell
distinguish between conversions which are guaranteed to succeed and
those which might fail. It uses the attempt package, which in turn uses
the failure package, so that this package is fully compatible with the
failure framework.
This package currently contains all of the typeclasses and instances for
convertible. However, as these features are ported to the convertible
package, this package will be left with only the instances for
converting to and from text types (String, ByteString (lazy and strict)
and Text (lazy and strict).
Be aware that conversions to and from bytestrings assume UTF-8 encoding.
If a different encoding is desired, you can use a newtype wrapper and
declare an instance of ConvertAttempt or ConvertSuccess on it.
WWW: http://github.com/snoyberg/convertible/tree/text
Obtained from: FreeBSD Haskell
based on the datatypes found in the xml-types package. This package is
broken up into the following modules:
* Text.XML: DOM-based parsing and rendering. This is the most commonly
used module.
* Text.XML.Cursor: A wrapper around Text.XML which allows bidirectional
traversing of the DOM, similar to XPath.
* Text.XML.Unresolved: A slight modification to Text.XML which does not
require all entities to be resolved at parsing. The datatypes are
slightly more complicated here, and therefore this module is only
recommended when you need to deal directly with raw entities.
* Text.XML.Stream.Parse: Streaming parser, including some streaming
parser combinators.
* Text.XML.Stream.Render: Streaming renderer.
WWW: http://github.com/snoyberg/xml
Obtained from: FreeBSD Haskell
connection. It also provides higher-level functions which allow you to
avoid direct usage of enumerators.
WWW: http://github.com/snoyberg/http-enumerator
Obtained from: FreeBSD Haskell
client.
This provides a high-level implementation of a sensitive security
protocol, eliminating a common set of security issues through the use of
the advanced type system, high level constructions and common Haskell
features.
Currently implement the SSL3.0, TLS1.0, TLS1.1 and TLS1.2 protocol, with
only RSA supported for Key Exchange.
WWW: http://github.com/vincenthz/hs-tls
Obtained from: FreeBSD Haskell
and unencrypted private key are supported, but will include PGP
certificate and pkcs8 private keys.
WWW: http://github.com/vincenthz/hs-certificate
Obtained from: FreeBSD Haskell
arbitrarily-sized ByteStrings. While the implementations work, they are
not necessarily the fastest ones on the planet. Particularly key
generation. The algorithms included are based of RFC 3447, or the
Public-Key Cryptography Standard for RSA, version 2.1 (a.k.a, PKCS#1
v2.1).
WWW: http://hackage.haskell.org/package/RSA
Obtained from: FreeBSD Haskell
and uploaded files can be modified either directly via the VCS's
command-line tools or through the wiki's web interface. Pandoc is used
for markup processing, so pages may be written in (extended) markdown,
reStructuredText, LaTeX, HTML, or literate Haskell, and exported in ten
different formats, including LaTeX, ConTeXt, DocBook, RTF, OpenOffice
ODT, and MediaWiki markup.
Notable features include:
* plugins: dynamically loaded page transformations written in Haskell.
* conversion of TeX math to MathML for display in web browsers.
* syntax highlighting of source code files and code snippets.
* Atom feeds (site-wide and per-page).
* a library, Network.Gitit, that makes it simple to include a gitit
wiki in any happstack application.
WWW: http://gitit.net/
Obtained from: FreeBSD Haskell
file store, and modules that instatiate this interface. Currently Git,
Darcs, and Mercurial modules are provided, and other VCSs or databases
could be added.
WWW: http://johnmacfarlane.net/repos/filestore
Obtained from: FreeBSD Haskell
ConfigFile module works with configuration files in a standard format
that is easy for the user to edit, easy for the programmer to work with,
yet remains powerful and flexible. It is inspired by, and compatible
with, Python's ConfigParser module. It uses files that resemble Windows
.INI-style files, but with numerous improvements.
ConfigFile provides simple calls to both read and write config files.
It is possible to make a config file parsable by this module, the Unix
shell, and make.
WWW: http://software.complete.org/configfile
Obtained from: FreeBSD Haskell
where it left off. Happstack-State spares you the need to deal with all
the marshalling, consistency, and configuration headache that you would
have if you used an external DBMS for this purpose. Its component model
makes it easy to compose big applications from smaller reliable parts.
Use event subscription to trigger IO actions and support comet-style or
irc-bot applications.
WWW: http://happstack.com/
Obtained from: FreeBSD Haskell
routing requests, handling query parameters, generating responses,
working with cookies, serving files, and more.
WWW: http://happstack.com/
Obtained from: FreeBSD Haskell
easy to use template-haskell function. Spare yourself the need to
write, run, and maintain code that marshalls your data to/from an
external relational database just for efficient queries. The
happstack-ixset relies on generics and TH to spare you the boilerplate
normally required for such tasks.
WWW: http://happstack.com/
Obtained from: FreeBSD Haskell
* Deriving instances for your datatypes.
* Producing default values of Haskell datatypes.
* Normalizing values of Haskell datatypes.
* Marshalling Haskell values to and from XML.
* Marshalling Haskell values to and from HTML forms.
WWW: http://happstack.com/
Obtained from: FreeBSD Haskell
MonadBase into which generic control operations such as catch can be
lifted from IO or any other base monad. Instances are based on monad
transformers in MonadTransControl, which includes all standard monad
transformers in the transformers library except ContT.
WWW: https://github.com/basvandijk/monad-control/
Obtained from: FreeBSD Haskell
and types in the base package. All symbols are documented with their
actual definition and information regarding their Unicode code point.
They should be completely interchangeable with their definitions.
For further Unicode goodness you can enable the UnicodeSyntax language
extension. This extension enables Unicode characters to be used to
stand for certain ASCII character sequences.
WWW: http://haskell.org/haskellwiki/Unicode-symbols
Obtained from: FreeBSD Haskell
GHC in the ports tree has been updated to version 7.0.4 and the port revision
for all the Haskell ports without version changes are bumped. Other per-port
updates are coming soon.
This update also incorporates some improvements for bsd.cabal.mk that makes
working with Haskell ports even easier.
Thanks ashish@ for the help!
Obtained from: FreeBSD Haskell
package uses bindings to the optimized C implementation of Skein. There
is a high-level interface provided to some of the Skein use cases, and a
low-level interface when Skein has to be used in a different way.
Currently Skein is supported as cryptographic hash function as Skein as
a message authentication code (Skein-MAC).
[1] http://www.skein-hash.info/
WWW: http://patch-tag.com/r/felipe/skein
Obtained from: FreeBSD Haskell
slow hash function. This library uses PBKDF1-SHA256, and handles all the
details. It uses the cryptohash package for speed; if you need a pure
Haskell library, pwstore-purehaskell has the exact same API, but uses
only pure Haskell. It is about 25 times slower than this package, but
still quite usable.
WWW: https://github.com/PeterScott/pwstore
Obtained from: FreeBSD Haskell
(urandom on Linux, CryptAPI on Windows, patches welcome). Users looking
for cryptographically strong (number-theoretically sound) PRNGs should
see the DRBG package too!
WWW: http://trac.haskell.org/crypto-api/wiki
Obtained from: FreeBSD Haskell
pure APIs, with performance close to the fastest implementations available
in others languages.
The implementations are made in C with a haskell FFI wrapper that hide the
C implementation.
WWW: http://github.com/vincenthz/hs-cryptohash
Obtained from: FreeBSD Haskell
RNG, property tests and known-answer tests (KATs) for common algorithms, and a
basic benchmark infrastructure. Maintainers of hash and cipher implementations
are encouraged to add instances for the classes defined in Crypto.Classes.
Crypto users are similarly encouraged to use the interfaces defined in the
Classes module. Any concepts or functions of general use to more than one
cryptographic algorithm (ex: padding) is within scope of this package.
WWW: http://trac.haskell.org/crypto-api/wiki
Obtained from: FreeBSD Haskell