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
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
${LOCALBASE}/lib/libgmp.so: math/gmp
Build dependencies 1
Required by 1
Configuration
Options name: lang_ghc
| Option | Default | Description |
|---|---|---|
| BOOT | off | Use installed GHC for bootstrapping |
| DOCS | off | Build and install HTML documentation |
| DYNAMIC | on | Add support for dynamic linking |
| GMP | on | Use GNU Multi-precision Library from Ports |
| PDFDOCS | off | Build and install PDF documentation |
| PROFILE | on | Add 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
| File | Size | SHA256 |
|---|---|---|
| ghc-9.12.4-src.tar.xz | 3.3698416e+07 | 02d1ee5080acf00e135b93b238f09015b06ff27254cde59669cf57c42c2bee43 |
| ghc-9.6.7-boot-amd64-freebsd.tar.xz | 1.25512852e+08 | d55285c5998f3f040f52e159bc3b381ddd969a64670bf6630838fde2a84eb7c6 |
| hadrian-9.12.4-boot.tar.gz | 2.618711e+06 | a3daf842aff14280661d6becd4add5f9438dffee0e7488acf5fc4ec681304909 |
Master sites 2
- https://www.haskell.org/ghc/dist/9.12.4/:source
- FREEBSD_LOCAL/arrowd/:boot
Commit history 3
| Date | Commit | Credits | Log 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]> |