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.
===> The following configuration options are available for ghc-9.12.4:
DOCS=on: 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
====> Bootsrap using installed ghc
BOOT=off: Use installed GHC for bootstrapping
===> Use 'make config' to modify these settings
*/*: Use C.UTF-8 locale
Ports 02f27a83b44d fixed the ports tree to the C locale so it would work
correctly in environments where users use a locale that isn't compatible
with the C locale, e.g. xx_YY.UTF-8 where [A-Z] includes more than just
upper case letters. USE_LOCALE was introduced to let ports use another
locale if they needed it. The C.UTF-8 locale was created later on to be
mostly compatible with the C locale.
Switch the ports tree locale to C.UTF-8 and remove USE_LOCALE. The
world has moved to Unicode so all ports either require it or know how to
build correctly in a Unicode environment.
PR: 295945
Exp-run by: antoine
lang/ghc: fix runtime on powerpc64
While the compiler binary itself built fine, it creates ELFv1 binaries
on powerpc64, because default.target is regenerated later during
the build process. Drop the current workaround and just patch
the autoconf's m4 file instead.
lang/ghc{,96}: port to powerpc64
1. In the Makefile, switch ARCH == powerpc64le to ARCH:Mpowerpc64*,
2. Add some additional ARCH == powerpc64 for switching to ELFv2, since GHC
assumes powerpc64 is ELFv1.
3. Add additional patch to disable ELFv1 code in StgCRun.c.
Bootstrap is built against 14.3-RELEASE.
PR: 295675
Approved by: arrowd@
lang/ghc: Make the BOOT option working again + more cleanups
- Tidy up some knobs
- Build Hadrian in pre-build, install bootstrap in pre-configure
- Add comments
lang/ghc: Continue with cleanups
- Remove INSTALL_TARGET as it is now the same for all GHCs and matches the
default
- Remove GHCs 8.10.7 from distinfo, these are unused now
- Remove USE_PERL5
- Stop generating build.mk, it isn't used by Hadrian build system
- Move BOOT_SCRIPT definition into the slave port
- Dedup BOOT_DIR
lang/ghc: Drop i386 support
The latest working GHC port for i386 was ghc92 until we switched to a newer
bootstrap. This change doesn't remove much, because most of Haskell ports use
GHC 94+ and weren't available for i386 anyways.
lang/ghc*: Completely stop depending on LLVM
- LLVM is needed only for arches that are missing the native codegen backend
in GHC
- Starting from GHC 9 both AArch64 and X86 are natively supported
- Leave LLVM_VERSION and LLVM_BOOT_VERSION vars for documentational purpose
PR: 287528
lang/ghc*: Remove BUILD_DEPEND on compat12x
compat12x is only needed for ghc810 and ghc92 so remove the build depend
for lang/ghc and lang/ghc94
Reviewed by: arrowd
*/*: Sunset 12.4-RELEASE/12-STABLE from ports tree
- Remove all references to defunct ARCH arm
- Remove all references to defunct ARCH sparc64
- Remove x11-drivers/xf86-video-sunffb which requires defunct sparc64
ARCH
- Remove sysutils/afbinit requires defunct sparc64 ARCH
- Remove all references to bktr driver
- Remove all references to defunct FreeBSD_12
- Remove all references to OSVERSION/OSREL corresponding to 12
- Remove conditionals in Mk/Uses/cabal.mk
- Remove sparc reference from Mk/Uses/qt-dist.mk
- Remove BROKEN_sparc64/NOT_FOR_ARCH=sparc64
- Remove BROKEN_FreeBSD_12* from:
- Remove OpenSSL patches from:
- Remove conditional flags for OSVERSION >= 1300000 to fixed flags.
Also move conditional flags for non sparc64/arm ARCH to fixed flags.
Reviewed by: brooks, jbeich, rene, salvadore
Differential Revision: https://reviews.freebsd.org/D42068
lang/ghc*: Add unconditional BUILD_DEPENDS on libgmp.
Rerolled bootstraps are now using GMP-backed Integer's, so make sure we can
run them on the build stage.
lang/ghc: Reroll Aarch64 8.10.7 bootstrap and simplify Makefile.
Also remove support for armv{6,7} due to problems in getting bootstraps.
Obtained from: kevans
lang/ghc: Pass CC and CXX to Hadrian to fix build in lang/gcc presence.
PR: 271928
Reported by: John Hein <jcfyecrayz@liamekaens.com>, Mark Evenson
<evenson.not.org@gmail.com>
lang/ghc: Remove USES=localbase and USES=iconv.
Apparently these aren't needed anymore.
Add iconv dependency to devel/stack, because it might download old GHC bindists,
which are still using ports libiconv.
lang/ghc: Starting with GHC 9.2.7 switch to the Hadrian build system.
Hadrian is a new build system for GHC which is written in Haskell and requires
bootstrapping process. Ugh. Luckily, we only prepare a source bootstrap
archive as bootstrap GHC has everything needed to build it.
Hadrian also fails to build GHC on i386 so build it the old way for now.
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above )
lang/ghc: Update to 9.2.4
Deal with Haskell ports fallout caused by the update.
While there, re-add patches necessary for lang/ghc810 that were somehow lost.
lang: remove 'Created by' lines
A big Thank You to the original contributors of these ports:
* Aaron Dalton <aaron@FreeBSD.org>
* Adam Weinberger <adamw@FreeBSD.org>
* Akinori MUSHA aka knu <knu@idaemons.org>
* Alex Dupre <ale@FreeBSD.org>
* Alexey Dokuchaev <danfe@FreeBSD.org>
* Alonso Cardenas Marquez <acm@FreeBSD.org>
* Andreas Klemm <andreas@klemm.gtn.com>
* Andrew Pantyukhin <infofarmer@FreeBSD.org>
* Andrey Zakhvatov
* Anton Berezin <tobez@FreeBSD.org>
* Anton Berezin <tobez@tobez.org>
(Only the first 15 lines of the commit message are shown above )
lang/ghc810: Add the port, slave to lang/ghc.
The need to have different GHC versions installed on the same system became
more common in the Haskell ecosystem. The devel/stack port solves this problem
by installing its own distributions into the user's HOME dir. Cabal doesn't do
that, but uses system-wide GHC installations. This slave port is intended to
help for such use cases.
This port can also be used as a fallback during major lang/ghc upgrades. At
the moment such upgrades require a lot of work to deal with Haskell packages
fallout. By switching failing ports to older GHC we can deliver lang/ghc
updates faster.
lang/ghc: Generate build.mk file from the Makefile variable.
This removes the need to keep build.mk.in in files/ and also allows to get
rid of SUB_FILES.
lang/ghc: add NO_CCACHE=yes
This fixes the following build error with ccache (probably caused
by CCACHE_DIR not propagated through the build properly):
[1 of 1] Compiling Main ( Setup.hs, Setup.o )
ccache: error: Failed to create directory /nonexistent/.ccache/6/3:
Permission denied
`clang' failed in phase `Assembler'. (Exit code: 1)
Approved by: portmgr blanket
lang/ghc: Update arm bootstrap to 8.10.7
Update arm bootstrap to 8.10.7
Pass --host to the configure script otherwise ghc thinks we are crosscompiling
(only affects armv6 and armv7)
Remove CONFIGURE_ENV, it is now handled in patch-aclocal.m4 (submitted upstream
as https://gitlab.haskell.org/ghc/ghc/-/merge_requests/6599)
Approved by: arrowd
Differential Revision: https://reviews.freebsd.org/D32155
lang/ghc: Add USES=iconv:patch,translit
We actually need iconv on the "configure" stage, but there is no such option.
The "translit" is here to force using libiconv from Ports.
Fixes: 4cb80ca6ddf3
lang/ghc: Generate PORTDOCS pkg-plist dynamically
This is the best approach for ports building its documentation with Sphinx in
html and will save time on future Sphinx updates.
Approved by: portmgr blanket
textproc/py-sphinx: Update to 3.5.2
Add patches to fix Sphinx consumers; The most common issues are related with
pkg-plist, the output files for Sphinx changes between versions, keep this
dynamically is the better approach and will save time in future Sphinx updates.
Changelog: https://github.com/sphinx-doc/sphinx/blob/v3.5.2/CHANGES
PR: 254185
Approved by: python (with hat)
Exp-run by: antoine
Number of commits found: 588 (showing only 100 on this page)