BSD Ports

lang/ghc 9.12.4 MidnightBSD

Compiler for the functional language Haskell

System
MidnightBSD
Repository
mports
Maintainer
[email protected]
Last update
Commit
f515be3f9e
License
bsd3
Categories
lang, haskell

Description

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

* Supports the entire Haskell 2010 language plus a wide variety of extensions. * Has particularly good support for concurrency and parallelism, including support for Software Transactional Memory (STM). * Generates fast code, particularly for concurrent programs. * Works on several platforms including FreeBSD, Windows, Mac, Linux, most varieties of Unix, and several different processor architectures. * Has extensive optimisation capabilities, including inter-module optimisation. * Compiles Haskell code either directly to native code or using LLVM as a back-end. It can also generate C code as an intermediate target for porting to new 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. * Comes with several libraries, and thousands more are available on Hackage.

In the other systems

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

Install

Binary package:

mport install ghc

From mports:

cd /usr/mports/lang/ghc && make install clean

To depend on this port in another port's Makefile:

RUN_DEPENDS=	ghc>0:lang/ghc

Dependencies

As this port's Makefile names them.

Build 1

Build dependencies 1
Required by 1

Configuration

Options name: lang_ghc

OptionDefaultDescription
BOOToffUse installed GHC for bootstrapping
DOCSoffBuild and install HTML documentation
DYNAMIConAdd support for dynamic linking
GMPonUse GNU Multi-precision Library from Ports
PDFDOCSoffBuild and install PDF documentation
PROFILEonAdd support for performance profiling
USES
autoreconf compiler:c11 gmake ncurses perl5 python:build shebangfix tar:xz
Service scripts
none

Files

Manual pages 1
  • ghc(1)
pkg-plist 9184
  • bin/ghc
  • bin/ghc-
  • bin/ghc-pkg
  • bin/ghc-pkg-
  • bin/ghci
  • bin/ghci-
  • bin/haddock
  • bin/haddock-ghc-
  • bin/hp2ps
  • bin/hp2ps-ghc-
  • bin/hpc
  • bin/hpc-ghc-
  • bin/hsc2hs
  • bin/hsc2hs-ghc-
  • bin/runghc
  • bin/runghc-
  • bin/runhaskell
  • bin/runhaskell-
  • lib/ghc-%%GHC_VERSION%%/bin/ghc
  • lib/ghc-%%GHC_VERSION%%/bin/ghc-%%GHC_VERSION%%
  • lib/ghc-%%GHC_VERSION%%/bin/ghc-iserv
  • lib/ghc-%%GHC_VERSION%%/bin/ghc-iserv-dyn
  • lib/ghc-%%GHC_VERSION%%/bin/ghc-iserv-dyn-ghc-%%GHC_VERSION%%
  • lib/ghc-%%GHC_VERSION%%/bin/ghc-iserv-ghc-%%GHC_VERSION%%
  • lib/ghc-%%GHC_VERSION%%/bin/ghc-iserv-prof
  • lib/ghc-%%GHC_VERSION%%/bin/ghc-iserv-prof-ghc-%%GHC_VERSION%%
  • lib/ghc-%%GHC_VERSION%%/bin/ghc-pkg
  • lib/ghc-%%GHC_VERSION%%/bin/ghc-pkg-%%GHC_VERSION%%
  • lib/ghc-%%GHC_VERSION%%/bin/ghc-toolchain-bin
  • lib/ghc-%%GHC_VERSION%%/bin/ghc-toolchain-bin-ghc-%%GHC_VERSION%%
  • lib/ghc-%%GHC_VERSION%%/bin/haddock
  • lib/ghc-%%GHC_VERSION%%/bin/haddock-ghc-%%GHC_VERSION%%
  • lib/ghc-%%GHC_VERSION%%/bin/hp2ps
  • lib/ghc-%%GHC_VERSION%%/bin/hp2ps-ghc-%%GHC_VERSION%%
  • lib/ghc-%%GHC_VERSION%%/bin/hpc
  • lib/ghc-%%GHC_VERSION%%/bin/hpc-ghc-%%GHC_VERSION%%
  • lib/ghc-%%GHC_VERSION%%/bin/hsc2hs
  • lib/ghc-%%GHC_VERSION%%/bin/hsc2hs-ghc-%%GHC_VERSION%%
  • lib/ghc-%%GHC_VERSION%%/bin/runghc
  • lib/ghc-%%GHC_VERSION%%/bin/runghc-%%GHC_VERSION%%
  • lib/ghc-%%GHC_VERSION%%/bin/runhaskell
  • lib/ghc-%%GHC_VERSION%%/bin/runhaskell-%%GHC_VERSION%%
  • lib/ghc-%%GHC_VERSION%%/bin/unlit
  • lib/ghc-%%GHC_VERSION%%/bin/unlit-ghc-%%GHC_VERSION%%
  • lib/ghc-%%GHC_VERSION%%/lib/dyld.mjs
  • lib/ghc-%%GHC_VERSION%%/lib/ghc-interp.js
  • lib/ghc-%%GHC_VERSION%%/lib/ghc-usage.txt
  • lib/ghc-%%GHC_VERSION%%/lib/ghci-usage.txt
  • lib/ghc-%%GHC_VERSION%%/lib/html/Classic.theme/haskell_icon.gif
  • lib/ghc-%%GHC_VERSION%%/lib/html/Classic.theme/minus.gif
  • lib/ghc-%%GHC_VERSION%%/lib/html/Classic.theme/plus.gif
  • lib/ghc-%%GHC_VERSION%%/lib/html/Classic.theme/xhaddock.css
  • lib/ghc-%%GHC_VERSION%%/lib/html/Linuwial.std-theme/linuwial.css
  • lib/ghc-%%GHC_VERSION%%/lib/html/Linuwial.std-theme/synopsis.png
  • lib/ghc-%%GHC_VERSION%%/lib/html/Ocean.theme/hslogo-16.png
  • lib/ghc-%%GHC_VERSION%%/lib/html/Ocean.theme/minus.gif
  • lib/ghc-%%GHC_VERSION%%/lib/html/Ocean.theme/ocean.css
  • lib/ghc-%%GHC_VERSION%%/lib/html/Ocean.theme/plus.gif
  • lib/ghc-%%GHC_VERSION%%/lib/html/Ocean.theme/synopsis.png
  • lib/ghc-%%GHC_VERSION%%/lib/html/README.md
  • lib/ghc-%%GHC_VERSION%%/lib/html/gulpfile.js
  • lib/ghc-%%GHC_VERSION%%/lib/html/haddock-bundle.min.js
  • lib/ghc-%%GHC_VERSION%%/lib/html/highlight.js
  • lib/ghc-%%GHC_VERSION%%/lib/html/js-src/cookies.ts
  • lib/ghc-%%GHC_VERSION%%/lib/html/js-src/details-helper.tsx
  • lib/ghc-%%GHC_VERSION%%/lib/html/js-src/init.ts
  • lib/ghc-%%GHC_VERSION%%/lib/html/js-src/quick-jump.tsx
  • lib/ghc-%%GHC_VERSION%%/lib/html/js-src/style-menu.tsx
  • lib/ghc-%%GHC_VERSION%%/lib/html/package-lock.json
  • lib/ghc-%%GHC_VERSION%%/lib/html/package.json
  • lib/ghc-%%GHC_VERSION%%/lib/html/quick-jump.css
  • lib/ghc-%%GHC_VERSION%%/lib/html/quick-jump.min.js
  • lib/ghc-%%GHC_VERSION%%/lib/html/solarized.css
  • lib/ghc-%%GHC_VERSION%%/lib/html/tsconfig.json
  • lib/ghc-%%GHC_VERSION%%/lib/latex/haddock.sty
  • lib/ghc-%%GHC_VERSION%%/lib/llvm-passes
  • lib/ghc-%%GHC_VERSION%%/lib/llvm-targets
  • lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/.stamp
  • lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/Cabal--inplace.conf
  • lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/Cabal--inplace.conf.copy
  • lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/Cabal-syntax--inplace.conf
  • lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/Cabal-syntax--inplace.conf.copy
  • lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/array--inplace.conf
  • lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/array--inplace.conf.copy
  • lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/base--inplace.conf
  • lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/base--inplace.conf.copy
  • lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/binary--inplace.conf
  • lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/binary--inplace.conf.copy
  • lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/bytestring--inplace.conf
  • lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/bytestring--inplace.conf.copy
  • lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/containers--inplace.conf
  • lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/containers--inplace.conf.copy
  • lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/deepseq--inplace.conf
  • lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/deepseq--inplace.conf.copy
  • lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/directory--inplace.conf
  • lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/directory--inplace.conf.copy
  • lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/exceptions--inplace.conf
  • lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/exceptions--inplace.conf.copy
  • lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/file-io-%%FILE-IO_VERSION%%-inplace.conf
  • lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/file-io-%%FILE-IO_VERSION%%-inplace.conf.copy

The first 100 are listed.

distinfo 3
FileSizeSHA256
ghc-9.12.4-src.tar.xz3.3698416e+0702d1ee5080acf00e135b93b238f09015b06ff27254cde59669cf57c42c2bee43
ghc-9.6.7-boot-amd64-freebsd.tar.xz1.25512852e+08d55285c5998f3f040f52e159bc3b381ddd969a64670bf6630838fde2a84eb7c6
hadrian-9.12.4-boot.tar.gz2.618711e+06a3daf842aff14280661d6becd4add5f9438dffee0e7488acf5fc4ec681304909
Master sites 2
  • https://www.haskell.org/ghc/dist/9.12.4/:source
  • FREEBSD_LOCAL/arrowd/:boot

Commit history 3

DateCommitCreditsLog message
f515be3f9e Lucas Holt lang/ghc: update to 9.12.4 (#1662)
Updates lang/ghc 9.8.4 → 9.12.4, matching FreeBSD's current lang/ghc. Closes #24. ### Approach Our port was FreeBSD's 9.8.4 port (freebsd-ports 1a6b1d89f0) plus local changes. This PR takes FreeBSD's current `lang/ghc` (Makefile, pkg-plist, patches) and reapplies those local changes: - FREEBSD_LOCAL boot site, maintainer, `bsd3` license, BROKEN on 3.2 - `CONFIGURE_TARGET=${GHC_ARCH}-portbld-freebsd` and explicit `--build/--host/--target` for the bootstrap bindist (#863 clean env kept) ### MidnightBSD fixes - **Fake path doubling**: the bindist `configure` used `--prefix=${PREFIX}` (already staged in mports), so `make install DESTDIR=` doubled it. This is why the 4.0 cluster run of 9.8.4 failed in fake. Now `--prefix=${TRUE_PREFIX}`. …
a12d2f8858 Lucas Holt lang/ghc: run bootstrap bindist install with a clean environment (#863)
Fixes #857. When `lang/ghc` is built as a dependency, `do-depends.sh` invokes bmake with `-DINSTALLS_DEPENDS`, and bmake exports `-D INSTALLS_DEPENDS` in the `MAKEFLAGS` environment variable. gmake 4.4.1 parses `MAKEFLAGS` as options and rejects `-D`, so the bootstrap bindist's `gmake install` in `pre-configure` failed with `: invalid option -- D`. Building the port directly worked because `MAKEFLAGS` was empty. The existing `Mk/extensions/gmake.mk` guard (`MAKE_ENV+= MAKEFLAGS=`) only covers framework-driven make invocations. This direct call now uses `${SETENVI} ${WRK_ENV}`, matching the `binary-dist` targets later in the file and FreeBSD's port. Verification: `bmake -DINSTALLS_DEPENDS -DBATCH configure` completes, …
b09959d446 Lucas Holt lang/ghc: use FAKE_DESTDIR in docs-off cleanup
AI-Assisted-by: Claude Sonnet 4.6 <[email protected]> Signed-off-by: Lucas Holt <[email protected]>