Merge pull request #36399 from obsidiansystems/no-stdenv-cross-adapter

guile: Fix cross more, including 1.8
This commit is contained in:
John Ericson 2018-03-06 19:58:34 -05:00 committed by GitHub
commit b5cf1d2e50
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 41 additions and 28 deletions

View file

@ -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;
};
}

View file

@ -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,

View file

@ -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 ]