BSD Ports

lang/ghc 9.10.3p0 OpenBSD

compiler for the functional language Haskell

System
OpenBSD
Repository
OpenBSD ports
Maintainer
The OpenBSD ports mailing-list <[email protected]>
Last update
Commit
2fe6db7498
Categories
lang, devel, lang/python

Description

The Glasgow Haskell Compiler is a state-of-the-art, open source, compiler and interactive environment for the functional language Haskell. Highlights:

* GHC supports the entire Haskell 98 language plus a wide variety of extensions. * GHC works on several platforms including Windows and a few varieties of Unix, and a few different processor architectures. There are detailed instructions for porting GHC to a new platform. Which doesn't work. * GHC has extensive optimisation capabilities, including inter-module optimisation. * GHC compiles Haskell code either by using an intermediate C compiler (GCC), or by generating native code on most currently supported platforms. The interactive environment compiles Haskell to bytecode, and supports execution of mixed bytecode/compiled programs. * Profiling is supported, both by time/allocation and various kinds of heap profiling. * GHC comes with a minimal range of libraries, but a wide range of additional libraries are available as separate packages, including the full set of the Haskell Platform.

In the other systems

SystemPortVersion
OpenBSDlang/ghc9.10.3p0
FreeBSDlang/ghc9.12.4
DragonFlylang/ghc9.6.6_2
MidnightBSDlang/ghc9.12.4
HardenedBSDlang/ghc9.12.4
GhostBSDlang/ghc9.12.4

Install

Binary package:

pkg_add ghc

From the ports tree:

cd /usr/ports/lang/ghc && make install

Dependencies

Build dependencies 10
Run dependencies 3

Commit history 2

DateCommitCreditsLog message
2fe6db7498 gnezdo lang/ghc: new bootstrap for 8.0
OK kili@
20f5e9b9f0 gnezdo lang/ghc: use getexecpath(3) for executablePath on OpenBSD
getexecpath(3) is new in OpenBSD 8.0. Without it ghc-internal falls through to the argv[0] fallback and System.Environment.executablePath is Nothing. Also let ghc-boot use base's executablePath, choosing at run time so the port still builds with a bootstrap compiler whose base predates getexecpath(3), and mark openbsd as query-capable in the executablePath test. Bump REVISION for the getexecpath change System.Environment.executablePath goes from Nothing to a working query, and getExecutablePath from argv[0] to a canonicalized absolute path, so the package behaves differently and needs to be distinguishable. OK kili@