28b6fb61e6
This is done for the sake of Yosemite, which does not have gcc, and yet this change is also compatible with Linux.
54 lines
1.7 KiB
Nix
54 lines
1.7 KiB
Nix
{ fetchurl, stdenv, gmp }:
|
|
|
|
stdenv.mkDerivation rec {
|
|
name = "bigloo-${version}";
|
|
version = "4.1a-2";
|
|
|
|
src = fetchurl {
|
|
url = "ftp://ftp-sop.inria.fr/indes/fp/Bigloo/bigloo${version}.tar.gz";
|
|
sha256 = "09yrz8r0jpj7bda39fdxzrrdyhi851nlfajsyf0b6jxanz6ygcjx";
|
|
};
|
|
|
|
buildInputs = [ gmp ];
|
|
|
|
preConfigure =
|
|
# Help libgc's configure.
|
|
'' export CXXCPP="$CXX -E"
|
|
'';
|
|
|
|
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* \
|
|
comptime/Cc/cc.scm gc/install-*
|
|
|
|
# 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
|
|
'';
|
|
|
|
checkTarget = "test";
|
|
|
|
meta = {
|
|
description = "Efficient Scheme compiler";
|
|
homepage = http://www-sop.inria.fr/indes/fp/Bigloo/;
|
|
license = stdenv.lib.licenses.gpl2Plus;
|
|
platforms = stdenv.lib.platforms.unix;
|
|
maintainers = with stdenv.lib.maintainers; [ ludo thoughtpolice ];
|
|
|
|
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.
|
|
'';
|
|
};
|
|
}
|