diff options
Diffstat (limited to 'pkgs/development/interpreters/guile/1.8.nix')
-rw-r--r-- | pkgs/development/interpreters/guile/1.8.nix | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/pkgs/development/interpreters/guile/1.8.nix b/pkgs/development/interpreters/guile/1.8.nix new file mode 100644 index 000000000000..7cb5d3e53642 --- /dev/null +++ b/pkgs/development/interpreters/guile/1.8.nix @@ -0,0 +1,55 @@ +{ fetchurl, stdenv, libtool, readline, gmp +, gawk, makeWrapper }: + +stdenv.mkDerivation rec { + name = "guile-1.8.8"; + + src = fetchurl { + url = "mirror://gnu/guile/" + name + ".tar.gz"; + sha256 = "0l200a0v7h8bh0cwz6v7hc13ds39cgqsmfrks55b1rbj5vniyiy3"; + }; + + patches = [ ./cpp-4.5.patch ]; + + buildNativeInputs = [ makeWrapper gawk ]; + propagatedBuildInputs = [ readline gmp libtool ]; + selfBuildNativeInput = true; + + postInstall = '' + wrapProgram $out/bin/guile-snarf --prefix PATH : "${gawk}/bin" + ''; + + preBuild = '' + sed -e '/lt_dlinit/a lt_dladdsearchdir("'$out/lib'");' -i libguile/dynl.c + ''; + + # Guile needs patching to preset results for the configure tests + # about pthreads, which work only in native builds. + preConfigure = '' + if test -n "$crossConfig"; then + configureFlags="--with-threads=no $configureFlags" + fi + ''; + + # One test fails. + # ERROR: file: "libtest-asmobs", message: "file not found" + # This is fixed here: + # <http://git.savannah.gnu.org/cgit/guile.git/commit/?h=branch_release-1-8&id=a0aa1e5b69d6ef0311aeea8e4b9a94eae18a1aaf>. + doCheck = false; + + setupHook = ./setup-hook.sh; + + meta = { + description = "GNU Guile, an embeddable Scheme interpreter"; + longDescription = '' + GNU Guile is an interpreter for the Scheme programming language, + packaged as a library that can be embedded into programs to make + them extensible. It supports many SRFIs. + ''; + + homepage = http://www.gnu.org/software/guile/; + license = "LGPLv2+"; + + maintainers = [ stdenv.lib.maintainers.ludo ]; + }; +} |