summaryrefslogtreecommitdiffstats
path: root/pkgs/development/interpreters/guile
diff options
context:
space:
mode:
authorJohn Ericson <John.Ericson@Obsidian.Systems>2018-03-05 18:45:16 -0500
committerJohn Ericson <John.Ericson@Obsidian.Systems>2018-05-13 11:36:29 -0400
commit8415682658752910f9142165d483f861aa8d99be (patch)
tree1121c608c7e32067c57954d0c7b2d8f1ef566172 /pkgs/development/interpreters/guile
parent0fcad047b9563f5b5ec4442d5337d8fc5f802397 (diff)
guile: Fix cross more, including 1.8
(cherry picked from commit 76bc1d3fae46f28dd28cad8bc998dba74d03285e)
Diffstat (limited to 'pkgs/development/interpreters/guile')
-rw-r--r--pkgs/development/interpreters/guile/1.8.nix37
-rw-r--r--pkgs/development/interpreters/guile/2.0.nix17
-rw-r--r--pkgs/development/interpreters/guile/default.nix15
3 files changed, 41 insertions, 28 deletions
diff --git a/pkgs/development/interpreters/guile/1.8.nix b/pkgs/development/interpreters/guile/1.8.nix
index c50a5fbab077..6a2fdbdea436 100644
--- a/pkgs/development/interpreters/guile/1.8.nix
+++ b/pkgs/development/interpreters/guile/1.8.nix
@@ -1,25 +1,33 @@
-{ fetchurl, stdenv, libtool, readline, gmp
-, gawk, makeWrapper }:
+{ stdenv, buildPackages
+, buildPlatform, hostPlatform
+, fetchurl, makeWrapper, gawk, pkgconfig
+, libtool, readline, gmp
+}:
stdenv.mkDerivation rec {
name = "guile-1.8.8";
src = fetchurl {
- url = "mirror://gnu/guile/" + name + ".tar.gz";
+ url = "mirror://gnu/guile/${name}.tar.gz";
sha256 = "0l200a0v7h8bh0cwz6v7hc13ds39cgqsmfrks55b1rbj5vniyiy3";
};
- patches = [ ./cpp-4.5.patch ];
-
outputs = [ "out" "dev" "info" ];
setOutputFlags = false; # $dev gets into the library otherwise
# GCC 4.6 raises a number of set-but-unused warnings.
configureFlags = [ "--disable-error-on-warning" ];
- nativeBuildInputs = [ makeWrapper gawk ];
- propagatedBuildInputs = [ readline gmp libtool ];
- selfNativeBuildInput = true;
+ depsBuildBuild = [ buildPackages.stdenv.cc ]
+ ++ stdenv.lib.optional (hostPlatform != buildPlatform)
+ buildPackages.buildPackages.guile_1_8;
+ nativeBuildInputs = [ makeWrapper gawk pkgconfig ];
+ buildInputs = [ readline libtool ];
+
+ propagatedBuildInputs = [ gmp ];
+
+ patches = [ ./cpp-4.5.patch ];
+
postInstall = ''
wrapProgram $out/bin/guile-snarf --prefix PATH : "${gawk}/bin"
@@ -46,17 +54,16 @@ stdenv.mkDerivation rec {
setupHook = ./setup-hook.sh;
meta = {
- description = "GNU Guile, an embeddable Scheme interpreter";
+ description = "Embeddable Scheme implementation";
+ homepage = http://www.gnu.org/software/guile/;
+ license = stdenv.lib.licenses.lgpl2Plus;
+ maintainers = [ stdenv.lib.maintainers.ludo ];
+ platforms = stdenv.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.
'';
-
- homepage = http://www.gnu.org/software/guile/;
- license = stdenv.lib.licenses.lgpl2Plus;
-
- maintainers = [ stdenv.lib.maintainers.ludo ];
- platforms = stdenv.lib.platforms.unix;
};
}
diff --git a/pkgs/development/interpreters/guile/2.0.nix b/pkgs/development/interpreters/guile/2.0.nix
index ea8ff924064a..afd90397e232 100644
--- a/pkgs/development/interpreters/guile/2.0.nix
+++ b/pkgs/development/interpreters/guile/2.0.nix
@@ -1,6 +1,8 @@
-{ fetchurl, stdenv, libtool, readline, gmp, pkgconfig, boehmgc, libunistring
-, libffi, gawk, makeWrapper, fetchpatch, coverageAnalysis ? null, gnu ? null
-, hostPlatform, buildPackages
+{ stdenv, buildPackages
+, buildPlatform, hostPlatform
+, fetchpatch, fetchurl, makeWrapper, gawk, pkgconfig
+, libffi, libtool, readline, gmp, boehmgc, libunistring
+, coverageAnalysis ? null, gnu ? null
}:
# Do either a coverage analysis build or a standard build.
@@ -19,12 +21,13 @@
outputs = [ "out" "dev" "info" ];
setOutputFlags = false; # $dev gets into the library otherwise
- depsBuildBuild = [ buildPackages.stdenv.cc ];
- nativeBuildInputs = [ makeWrapper gawk pkgconfig ] ++
- stdenv.lib.optional stdenv.isCross buildPackages.buildPackages.guile_2_0;
+ depsBuildBuild = [ buildPackages.stdenv.cc ]
+ ++ stdenv.lib.optional (hostPlatform != buildPlatform)
+ buildPackages.buildPackages.guile_2_0;
+ nativeBuildInputs = [ makeWrapper gawk pkgconfig ];
buildInputs = [ readline libtool libunistring libffi ];
- propagatedBuildInputs = [ gmp boehmgc ]
+ propagatedBuildInputs = [ gmp boehmgc ]
# XXX: These ones aren't normally needed here, but since
# `libguile-2.0.la' reads `-lltdl -lunistring', adding them here will add
# the needed `-L' flags. As for why the `.la' file lacks the `-L' flags,
diff --git a/pkgs/development/interpreters/guile/default.nix b/pkgs/development/interpreters/guile/default.nix
index fc7cd2b60ead..dc6e18ae1afd 100644
--- a/pkgs/development/interpreters/guile/default.nix
+++ b/pkgs/development/interpreters/guile/default.nix
@@ -1,6 +1,8 @@
-{ fetchurl, stdenv, libtool, readline, gmp, pkgconfig, boehmgc, libunistring
-, libffi, gawk, makeWrapper, fetchpatch, coverageAnalysis ? null, gnu ? null
-, hostPlatform, buildPackages
+{ stdenv, buildPackages
+, buildPlatform, hostPlatform
+, fetchurl, makeWrapper, gawk, pkgconfig
+, libffi, libtool, readline, gmp, boehmgc, libunistring
+, coverageAnalysis ? null, gnu ? null
}:
# Do either a coverage analysis build or a standard build.
@@ -20,9 +22,10 @@
outputs = [ "out" "dev" "info" ];
setOutputFlags = false; # $dev gets into the library otherwise
- depsBuildBuild = [ buildPackages.stdenv.cc ];
- nativeBuildInputs = [ makeWrapper gawk pkgconfig ] ++
- stdenv.lib.optional stdenv.isCross buildPackages.buildPackages.guile;
+ depsBuildBuild = [ buildPackages.stdenv.cc ]
+ ++ stdenv.lib.optional (hostPlatform != buildPlatform)
+ buildPackages.buildPackages.guile;
+ nativeBuildInputs = [ makeWrapper gawk pkgconfig ];
buildInputs = [ readline libtool libunistring libffi ];
propagatedBuildInputs = [ gmp boehmgc ]