summary refs log tree commit diff
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)
downloadnixpkgs-8415682658752910f9142165d483f861aa8d99be.tar
nixpkgs-8415682658752910f9142165d483f861aa8d99be.tar.gz
nixpkgs-8415682658752910f9142165d483f861aa8d99be.tar.bz2
nixpkgs-8415682658752910f9142165d483f861aa8d99be.tar.lz
nixpkgs-8415682658752910f9142165d483f861aa8d99be.tar.xz
nixpkgs-8415682658752910f9142165d483f861aa8d99be.tar.zst
nixpkgs-8415682658752910f9142165d483f861aa8d99be.zip
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 c50a5fbab07..6a2fdbdea43 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 ea8ff924064..afd90397e23 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 fc7cd2b60ea..dc6e18ae1af 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 ]