88640db58e
svn path=/nixpkgs/trunk/; revision=9168
58 lines
3.0 KiB
Nix
58 lines
3.0 KiB
Nix
args: with args.lib; with args;
|
|
let
|
|
co = chooseOptionsByFlags {
|
|
inherit args;
|
|
flagDescr = {
|
|
# does without X make sense? We can try
|
|
mandatory ={ cfgOption = [ "--prefix=\$out" ]; implies = "pthreads"; };
|
|
pathcanonicalization = { cfgOption = "--enable-path-canonicalization"; }; # enable canonicalization of filenames
|
|
timer = { cfgOption = "--enable-timer"; };# enable evaluation timing (for benchmarking Hugs)
|
|
profiling = { cfgOption = "--enable-profiling"; };# enable heap profiler
|
|
stack = { cfgOption = "--enable-stack-dumps"; };#-dumps enable stack dump on stack overflow
|
|
large = { cfgOption = "--disable-large-banner"; };#-banner disable multiline startup banner
|
|
internal = { cfgOption = "--enable-internal-prims"; };#-prims experimental primitives to access Hugs's innards
|
|
debug = { cfgOption = "--enable-debug"; };# include C debugging information (for debugging Hugs)
|
|
tag = { cfgOption = "--enable-tag-checks"; };#-checks runtime tag checking (for debugging Hugs)
|
|
lint = { cfgOption = "--enable-lint"; };# enable "lint" flags (for debugging Hugs)
|
|
only98 = { cfgOption = "--enable-only98"; };# build Hugs to understand Haskell 98 only
|
|
ffi = { cfgOption = "--enable-ffi"; };# include modules that use the FFI [default=autodetect]
|
|
char = { cfgOption = "--enable-char-encoding"; blocks = "utf8"; };
|
|
#-encoding encode all character I/O using the byte encoding
|
|
#determined by the locale in effect at that time. To
|
|
#require that the UTF-8 encoding is always used, give
|
|
#the --enable-char-encoding=utf8 option.
|
|
#[default=autodetect]
|
|
utf8 = { cfgOption = "--enable-char-encoding=utf8"; blocks="char"; };
|
|
|
|
|
|
#--with-nmake produce a Makefile compatible with nmake
|
|
#--with-gui build Hugs for Windows GUI (Borland C++ only)
|
|
pthreads = { cfgOption = "--with-pthreads"; }; # build Hugs using POSIX threads C library
|
|
# I think we need this as long as not using nptl ?
|
|
|
|
};
|
|
optionals = [];
|
|
defaultFlags = ["ffi"];
|
|
};
|
|
|
|
in args.stdenv.mkDerivation {
|
|
|
|
# passing the flags in case a library using this want's to check them (*) ..
|
|
inherit (co) /* flags */ buildInputs;
|
|
|
|
configurePhase="./configure --prefix=\$out";
|
|
|
|
src = fetchurl {
|
|
url = http://cvs.haskell.org/Hugs/downloads/2006-09/hugs98-Sep2006.tar.gz;
|
|
sha256 = "3cf4d27673564cffe691bd14032369f646233f14daf2bc37c6c6df9f062b46b6";
|
|
};
|
|
|
|
name="hugs98";
|
|
|
|
meta = {
|
|
license = "as-is"; # gentoo is calling it this way..
|
|
description = "The HUGS98 Haskell <interpreter";
|
|
homepage = http://www.haskell.org/hugs;
|
|
};
|
|
}
|