Add Bigloo, a fast Scheme compiler.
svn path=/nixpkgs/trunk/; revision=11458
This commit is contained in:
parent
a693c53ec4
commit
4a4e9a87f5
@ -1,126 +1,44 @@
|
|||||||
args:
|
{ fetchurl, stdenv }:
|
||||||
( args.mkDerivationByConfiguration {
|
|
||||||
flagConfig = {
|
|
||||||
mandatory = { buildInputs = "gnumake"; };
|
|
||||||
/*
|
|
||||||
Bigloo compiler:
|
|
||||||
--native=yes|no [default yes]
|
|
||||||
--jvm=yes|no|force [default no]
|
|
||||||
--dotnet=yes|no|force [default no]
|
|
||||||
--customgc=yes|no [default yes]
|
|
||||||
--bee=partial|full [default partial]
|
|
||||||
|
|
||||||
API:
|
stdenv.mkDerivation rec {
|
||||||
--enable-[calendar|fthread|mail|multimedia|pkgcomp|pkglib|pthread|sqlite|srfi1|ssl|web]
|
name = "bigloo3.0c-4";
|
||||||
--disable-[calendar|fthread|mail|multimedia|pkgcomp|pkglib|pthread|sqlite|srfi1|ssl|web]
|
|
||||||
|
|
||||||
Path:
|
src = fetchurl {
|
||||||
--prefix=dir (sets bin, lib, zip, man, info and doc dirs)
|
url = "ftp://ftp-sop.inria.fr/mimosa/fp/Bigloo/${name}.tar.gz";
|
||||||
--bindir=file
|
sha256 = "0avcdgfw7g4myqrhcdi3k46qv01p0rmvmpqz4qmim9ccdjrvcyq4";
|
||||||
--libdir=file
|
|
||||||
--gcdir=dir (directory for non custom gc library)
|
|
||||||
--fildir=file
|
|
||||||
--zipdir=file
|
|
||||||
--dlldir=file
|
|
||||||
--mandir=file
|
|
||||||
--infodir=file
|
|
||||||
--docdir=file
|
|
||||||
--tmpdir=file (Bigloo tmp dir)
|
|
||||||
--tmp=file (Installation tmp dir)
|
|
||||||
--lispdir=file
|
|
||||||
|
|
||||||
Tools and compilers:
|
|
||||||
--bigloo=comp [default bigloo]
|
|
||||||
--cc=comp [default gcc]
|
|
||||||
--ld=comp [default gcc]
|
|
||||||
--as=asm
|
|
||||||
--cflags=compilation flags
|
|
||||||
--lflags=compiler link flags
|
|
||||||
--coflags=optimization_flags
|
|
||||||
--cpicflags=pic_flags
|
|
||||||
--ldlibs=ld_libs
|
|
||||||
--ldcomplibs=ld_compiler_libs
|
|
||||||
--ldflags=ld_flags
|
|
||||||
--emacs=file
|
|
||||||
--xemacs=file (deprecated, use "--emacs" option)
|
|
||||||
--indent=file
|
|
||||||
--icc (configure for icc)
|
|
||||||
|
|
||||||
Host configuration:
|
|
||||||
--arch=[i586|i686|athlon|athlon-tbird|athlon-mp|athlon-xp|k6-2|k6-3|pentium3|pentium4] (configure for specified hardware)
|
|
||||||
--a.out=file
|
|
||||||
--a.bat=file
|
|
||||||
--dirname=file-or-command
|
|
||||||
--force-posixos=operating-system
|
|
||||||
--os-win32
|
|
||||||
--os-macosx (tune for MacOSX)
|
|
||||||
--no-os-macosx (disable MacOSX auto configuration)
|
|
||||||
--cygwin-dos-path=[dos path]
|
|
||||||
--cygwin-dos-jvm=yes|no [default yes]
|
|
||||||
--no-share (disable shared libraries support)
|
|
||||||
--no-ldpreload
|
|
||||||
--sharedbde=yes|no [default no] (link Bde tools against shared libraries)
|
|
||||||
--sharedcompiler=yes|no [default no] (link Bigloo against shared libraries)
|
|
||||||
|
|
||||||
JVM configuration:
|
|
||||||
--java=file
|
|
||||||
--javac=file
|
|
||||||
--javaprefix=dir
|
|
||||||
--javashell=shell [should be sh or msdos (default sh)]
|
|
||||||
--native-default-backend
|
|
||||||
--jvm-default-backend
|
|
||||||
|
|
||||||
.NET configuration:
|
|
||||||
--pnet (configure for GNU pnet)
|
|
||||||
--mono (configure for Ximian Mono)
|
|
||||||
--dotnetldstyle=style [should be pnet, mono]
|
|
||||||
--dotnetcsccstyle=style [should be pnet, mono]
|
|
||||||
--dotnetclrstyle=style [should be pnet, mono]
|
|
||||||
--dotnetcscc=file
|
|
||||||
--dotnetld=file
|
|
||||||
--dotnetclr=file
|
|
||||||
--dotnetclropt=options
|
|
||||||
--dotnetshell=shell [should be sh or msdos (default sh)]
|
|
||||||
--dotnetasm=asm [optional]
|
|
||||||
|
|
||||||
Misc:
|
|
||||||
--finalization=yes|no [default no]
|
|
||||||
--benchmark=yes|no [default no] (must use --arch too)
|
|
||||||
--stack-check=no
|
|
||||||
|
|
||||||
Configuration settings:
|
|
||||||
--bigloo.h[=file]
|
|
||||||
--bigloo_gc.h[=file]
|
|
||||||
--bigloo_config.h[=file]
|
|
||||||
--bigloo_config.jvm[=file]
|
|
||||||
--Makefile.config=file
|
|
||||||
--configure.log=file
|
|
||||||
--no-summary
|
|
||||||
--bootconfig
|
|
||||||
--bootdir=dir
|
|
||||||
--configureinfo=yes|no [default no]
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
extraAttrs = co : rec {
|
|
||||||
# Thanks to Manuel Serrano for giving me support
|
|
||||||
name = "bigloo3.0d-alpha21Feb08";
|
|
||||||
|
|
||||||
# take care, modifying generated C-Code (altering string and length of string)
|
|
||||||
src = args.fetchurl {
|
|
||||||
url = "ftp://ftp-sop.inria.fr/mimosa/fp/Bigloo/${name}.tar.gz";
|
|
||||||
sha256 = "1l1qzkia7ah2l8ziig1743h1h41hs1ia8pnip9cjnf87j533yjn9";
|
|
||||||
};
|
|
||||||
|
|
||||||
postUnpack = "sed -e 's=/bin/mv/=mv=g' -e 's=/bin/rm=rm=g' -i */configure";
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "scheme -> C / Java compiler (.net experimental)";
|
|
||||||
homepage = http://www-sop.inria.fr/mimosa/fp/Bigloo/;
|
|
||||||
# you can choose one of the following licenses:
|
|
||||||
license = ["GPL"];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
} ) args
|
|
||||||
|
patchPhase = ''
|
||||||
|
# Fix absolute paths.
|
||||||
|
sed -e 's=/bin/mv=mv=g' -e 's=/bin/rm=rm=g' \
|
||||||
|
-e 's=/tmp=$TMPDIR=g' -i configure autoconf/* \
|
||||||
|
[Mm]akefile* */[Mm]akefile* */*/[Mm]akefile* \
|
||||||
|
*/*/*/[Mm]akefile* */*/*/*/[Mm]akefile* \
|
||||||
|
*/*/*/*/*/[Mm]akefile* \
|
||||||
|
comptime/Cc/cc.scm
|
||||||
|
|
||||||
|
# Make sure we don't change string lengths in the generated
|
||||||
|
# C files.
|
||||||
|
sed -e 's=/bin/rm= rm=g' -e 's=/bin/mv= mv=g' \
|
||||||
|
-i comptime/Cc/cc.c
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Bigloo, an efficient Scheme compiler";
|
||||||
|
|
||||||
|
longDescription = ''
|
||||||
|
Bigloo is a Scheme implementation devoted to one goal: enabling
|
||||||
|
Scheme based programming style where C(++) is usually
|
||||||
|
required. Bigloo attempts to make Scheme practical by offering
|
||||||
|
features usually presented by traditional programming languages
|
||||||
|
but not offered by Scheme and functional programming. Bigloo
|
||||||
|
compiles Scheme modules. It delivers small and fast stand alone
|
||||||
|
binary executables. Bigloo enables full connections between
|
||||||
|
Scheme and C programs, between Scheme and Java programs, and
|
||||||
|
between Scheme and C# programs.
|
||||||
|
'';
|
||||||
|
|
||||||
|
homepage = http://www-sop.inria.fr/mimosa/fp/Bigloo/;
|
||||||
|
license = "GPLv2+";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
@ -1183,8 +1183,7 @@ let pkgs = rec {
|
|||||||
};
|
};
|
||||||
|
|
||||||
bigloo = import ../development/compilers/bigloo {
|
bigloo = import ../development/compilers/bigloo {
|
||||||
inherit fetchurl mkDerivationByConfiguration lib gnumake;
|
inherit fetchurl stdenv;
|
||||||
stdenv = overrideGCC stdenv gcc34;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
dylan = import ../development/compilers/gwydion-dylan {
|
dylan = import ../development/compilers/gwydion-dylan {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user