From 76bc1d3fae46f28dd28cad8bc998dba74d03285e Mon Sep 17 00:00:00 2001 From: John Ericson Date: Mon, 5 Mar 2018 18:45:16 -0500 Subject: [PATCH] guile: Fix cross more, including 1.8 --- pkgs/development/interpreters/guile/1.8.nix | 37 +++++++++++-------- pkgs/development/interpreters/guile/2.0.nix | 17 +++++---- .../interpreters/guile/default.nix | 15 +++++--- 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 ]