Skip to content

Instantly share code, notes, and snippets.

@fare
Created May 15, 2017 01:03
Show Gist options
  • Save fare/92104d8ce4960e6383d3388e39314484 to your computer and use it in GitHub Desktop.
Save fare/92104d8ce4960e6383d3388e39314484 to your computer and use it in GitHub Desktop.
Nix support for gerbil
# pkgs/development/compilers/gerbil/default.nix
# Note: this supposes Gambit was compiled with
# "--enable-single-host"
# "--enable-shared"
# "--enable-absolute-shared-libs"
# "--enable-c-opt=-O6" "--enable-gcc-opts" "--enable-inline-jumps"
# "--enable-thread-system=posix" "--enable-dynamic-tls"
# "--enable-openssl"
{ stdenv, fetchurl, fetchgit, gambit, openssl, zlib, coreutils, rsync }:
stdenv.mkDerivation rec {
name = "gerbil-${version}";
version = "0.7";
#src = fetchurl {
# url = "https://github.com/vyzo/gerbil/archive/v${version}.tar.gz";
# sha256 = "0asrnvyrlwjjgbw3ck6wrs73l0dk1csnps8lbal47lllhgvlh354";
#};
src = fetchgit {
url = "git://github.com/vyzo/gerbil.git";
rev = "ea7b0b06c0a6ed16e3217ca436b590476dd7c16a";
sha256 = "1jawgqnd4lvgfl4qb7sz4rf6mrxzl2mcqxwhkncmdys8kg8b9xqr";
};
# src = /home/fare/src/scheme/gerbil ;
buildInputs = [ gambit openssl zlib coreutils rsync ];
patchPhase = ''
for f in src/gerbil/gxc src/gerbil/runtime/build.scm src/std/build-deps-gen.ss src/std/build.ss src/std/run-tests.ss src/std/web/fastcgi-test.ss src/std/web/rack-test.ss; do
substituteInPlace "$f" --replace '#!/usr/bin/env' '#!${coreutils}/bin/env'
done
'';
buildPhase = ''
( cd src && sh build.sh )
'';
installPhase = ''
( mkdir -p $out/ && cp -a bin lib etc doc $out/ )
'';
dontStrip = true;
meta = {
description = "Gerbil";
homepage = "https://github.com/vyzo/gerbil";
license = stdenv.lib.licenses.lgpl2;
platforms = stdenv.lib.platforms.linux;
maintainers = with stdenv.lib.maintainers; [ fare ];
};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment