Add recipe and patch for nhc98

nhc is an Haskell compiler which is easily bootstrappable from C (unlike
ghc). The downsides are:
- It's slower
- It only implements Haskell 98

It may be usable to build GHC or some other Haskell based software,
we'll see.
This commit is contained in:
Adrien Destugues
2018-07-28 15:25:54 +02:00
parent f0d6d8c107
commit 2c0dad1368
2 changed files with 1675 additions and 0 deletions

View File

@@ -0,0 +1,72 @@
SUMMARY="Standards-compliant compiler for Haskell 98"
DESCRIPTION="nhc98 is a small, easy to install, standards-compliant compiler \
for Haskell 98, the :lazy functional programming language. It is very \
portable, and aims to produce small executables that run in small amounts of \
memory. It produces medium-fast code, and compilation is itself quite fast. \
It also comes with extensive tool support for automatic compilation, foreign \
language interfacing, heap and time profiling, tracing, and debugging. (Some \
of its advanced kinds of heap profiles are not found in any other Haskell \
compiler.)"
HOMEPAGE="https://www.haskell.org/nhc98/"
COPYRIGHT="1991-1998 Niklas Röjemo
1991-1997 Thomas Hallgren
1991-2007 David Wakeling
1996-2007 Jan Sparud, Colin Runciman, Phil Hassall, Olaf Chitil, and \
Thomas Nordin, their respective institutions, or funding bodies
1996-2010 Malcolm Wallace
2000 Andy Gill
1999 MicroStart Inc
Lennart Augustsson
Sigbjorn Finne
University of Glasgow
"
LICENSE="nhc98"
SOURCE_URI="http://www.haskell.org/nhc98/nhc98src-$portVersion.tar.gz"
PATCHES="nhc98-$portVersion.patchset"
CHECKSUM_SHA256="14c5c16c336d0bb15e6e3d1baad8a2bca93c0538a129fb18df1d47d1f4eb6f3a"
REVISION="1"
ARCHITECTURES="x86_gcc2 ?x86 !x86_64"
PROVIDES="
nhc98$secondaryArchSuffix = $portVersion
cmd:cabal_parse
cmd:cpphs
cmd:greencard_nhc98
cmd:harch
cmd:hi
cmd:hmake
cmd:hmake_config
cmd:hood
cmd:hp2graph
cmd:nhc98
cmd:nhc98_pkg
cmd:runhs
cmd:tprofprel
"
REQUIRES="
haiku$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
"
BUILD_PREREQUIRES="
cmd:diff
cmd:make
cmd:gcc$secondaryArchSuffix
cmd:xargs
"
BUILD()
{
# Not an autotools configure
./configure --prefix=$prefix --incdir=$includeDir --mandir=$manDir --docdir=$docDir \
--ccoption= --ldoption= --endian=-DLOW_BYTE_FIRST
make # jobArgs is ignored, will do a parallel build anyways
}
INSTALL()
{
make install
}

File diff suppressed because it is too large Load Diff