diff options
Diffstat (limited to 'pkgs/development/interpreters/guile/1.8.nix')
-rw-r--r-- | pkgs/development/interpreters/guile/1.8.nix | 82 |
1 files changed, 52 insertions, 30 deletions
diff --git a/pkgs/development/interpreters/guile/1.8.nix b/pkgs/development/interpreters/guile/1.8.nix index 6277312acc8..c8e15be2c01 100644 --- a/pkgs/development/interpreters/guile/1.8.nix +++ b/pkgs/development/interpreters/guile/1.8.nix @@ -1,13 +1,22 @@ -{ lib, stdenv, pkgsBuildBuild, buildPackages -, fetchurl, makeWrapper, gawk, pkg-config -, libtool, readline, gmp +{ lib +, stdenv +, fetchurl +, buildPackages +, gawk +, gmp +, libtool +, makeWrapper +, pkg-config +, pkgsBuildBuild +, readline }: stdenv.mkDerivation rec { - name = "guile-1.8.8"; + pname = "guile"; + version = "1.8.8"; src = fetchurl { - url = "mirror://gnu/guile/${name}.tar.gz"; + url = "mirror://gnu/${pname}/${pname}-${version}.tar.gz"; sha256 = "0l200a0v7h8bh0cwz6v7hc13ds39cgqsmfrks55b1rbj5vniyiy3"; }; @@ -15,18 +24,28 @@ stdenv.mkDerivation rec { setOutputFlags = false; # $dev gets into the library otherwise # GCC 4.6 raises a number of set-but-unused warnings. - configureFlags = [ "--disable-error-on-warning" ] - # Guile needs patching to preset results for the configure tests about - # pthreads, which work only in native builds. - ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) - "--with-threads=no"; - - depsBuildBuild = [ buildPackages.stdenv.cc ] - ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) - pkgsBuildBuild.guile_1_8; - nativeBuildInputs = [ makeWrapper gawk pkg-config ]; - buildInputs = [ readline libtool ]; + configureFlags = [ + "--disable-error-on-warning" + ] + # Guile needs patching to preset results for the configure tests about + # pthreads, which work only in native builds. + ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) + "--with-threads=no"; + depsBuildBuild = [ + buildPackages.stdenv.cc + ] + ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) + pkgsBuildBuild.guile_1_8; + nativeBuildInputs = [ + gawk + makeWrapper + pkg-config + ]; + buildInputs = [ + libtool + readline + ]; propagatedBuildInputs = [ gmp @@ -38,7 +57,9 @@ stdenv.mkDerivation rec { ]; patches = [ + # Fix doc snarfing with GCC 4.5. ./cpp-4.5.patch + # Self explanatory ./CVE-2016-8605.patch ]; @@ -46,13 +67,12 @@ stdenv.mkDerivation rec { sed -e '/lt_dlinit/a lt_dladdsearchdir("'$out/lib'");' -i libguile/dynl.c ''; - postInstall = '' wrapProgram $out/bin/guile-snarf --prefix PATH : "${gawk}/bin" '' - # XXX: See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/18903 for - # why `--with-libunistring-prefix' and similar options coming from - # `AC_LIB_LINKFLAGS_BODY' don't work on NixOS/x86_64. + # XXX: See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/18903 for + # why `--with-libunistring-prefix' and similar options coming from + # `AC_LIB_LINKFLAGS_BODY' don't work on NixOS/x86_64. + '' sed -i "$out/lib/pkgconfig/guile"-*.pc \ -e "s|-lltdl|-L${libtool.lib}/lib -lltdl|g" @@ -65,19 +85,21 @@ stdenv.mkDerivation rec { doCheck = false; doInstallCheck = doCheck; - setupHook = ./setup-hook.sh; + setupHook = ./setup-hook-1.8.sh; - meta = { + meta = with lib; { + homepage = "https://www.gnu.org/software/guile/"; description = "Embeddable Scheme implementation"; - homepage = "https://www.gnu.org/software/guile/"; - license = lib.licenses.lgpl2Plus; - maintainers = [ lib.maintainers.ludo ]; - platforms = lib.platforms.unix; - 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. + GNU Guile is an implementation of the Scheme programming language, with + support for many SRFIs, packaged for use in a wide variety of + environments. In addition to implementing the R5RS Scheme standard and a + large subset of R6RS, Guile includes a module system, full access to POSIX + system calls, networking support, multiple threads, dynamic linking, a + foreign function call interface, and powerful string processing. ''; + license = licenses.lgpl3Plus; + maintainers = with maintainers; [ ludo ]; + platforms = platforms.all; }; } |