guile: fix cross
The upstream patch fixes an include error.
Adding autoreconfHook fixes
> make -C libguile scmconfig.h
> make[1]: Entering directory '/build/guile-3.0.10/libguile'
> cd .. && /nix/store/xy4jjgw87sbgwylm5kn047d9gkbhsr9x-bash-5.2p37/bin/bash /build/guile-3.0.10/build-aux/missing automake-1.16 --gnu libguile/Makefile
> /build/guile-3.0.10/build-aux/missing: line 81: automake-1.16: command not found
> WARNING: 'automake-1.16' is missing on your system.
> You should only need it if you modified 'Makefile.am' or
> 'configure.ac' or m4 files included by 'configure.ac'.
> The 'automake' program is part of the GNU Automake package:
> <https://www.gnu.org/software/automake>
> It also requires GNU Autoconf, GNU m4 and Perl in order to run:
> <https://www.gnu.org/software/autoconf>
> <https://www.gnu.org/software/m4/>
> <https://www.perl.org/>
> make[1]: *** [Makefile:2734: Makefile.in] Error 127
> make[1]: Leaving directory '/build/guile-3.0.10/libguile'
> make: *** [Makefile:2615: libguile/scmconfig.h] Error 2
which occurs because we patch a Makefile.am .
This commit is contained in:
@@ -14,6 +14,7 @@
|
||||
libxcrypt,
|
||||
makeWrapper,
|
||||
pkg-config,
|
||||
autoreconfHook,
|
||||
pkgsBuildBuild,
|
||||
readline,
|
||||
writeScript,
|
||||
@@ -39,13 +40,19 @@ builder rec {
|
||||
];
|
||||
setOutputFlags = false; # $dev gets into the library otherwise
|
||||
|
||||
depsBuildBuild = [
|
||||
buildPackages.stdenv.cc
|
||||
] ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) pkgsBuildBuild.guile_3_0;
|
||||
depsBuildBuild =
|
||||
[
|
||||
buildPackages.stdenv.cc
|
||||
]
|
||||
++ lib.optional (
|
||||
!lib.systems.equals stdenv.hostPlatform stdenv.buildPlatform
|
||||
) pkgsBuildBuild.guile_3_0;
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
pkg-config
|
||||
];
|
||||
] ++ lib.optional (!lib.systems.equals stdenv.hostPlatform stdenv.buildPlatform) autoreconfHook;
|
||||
|
||||
buildInputs =
|
||||
[
|
||||
libffi
|
||||
@@ -72,16 +79,24 @@ builder rec {
|
||||
libxcrypt
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
# According to
|
||||
# https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/guile.scm?h=a39207f7afd977e4e4299c6f0bb34bcb6d153818#n405
|
||||
# starting with Guile 3.0.8, parallel builds can be done
|
||||
# bit-reproducibly as long as we're not cross-compiling
|
||||
enableParallelBuilding = stdenv.buildPlatform == stdenv.hostPlatform;
|
||||
enableParallelBuilding = lib.systems.equals stdenv.buildPlatform stdenv.hostPlatform;
|
||||
|
||||
patches =
|
||||
[
|
||||
./eai_system.patch
|
||||
]
|
||||
# Fix cross-compilation, can be removed at next release (as well as the autoreconfHook)
|
||||
# Include this only conditionally so we don't have to run the autoreconfHook for the native build.
|
||||
++ lib.optional (!lib.systems.equals stdenv.hostPlatform stdenv.buildPlatform) (fetchpatch {
|
||||
url = "https://cgit.git.savannah.gnu.org/cgit/guile.git/patch/?id=c117f8edc471d3362043d88959d73c6a37e7e1e9";
|
||||
hash = "sha256-GFwJiwuU8lT1fNueMOcvHh8yvA4HYHcmPml2fY/HSjw=";
|
||||
})
|
||||
++ lib.optional (coverageAnalysis != null) ./gcov-file-name.patch
|
||||
++ lib.optional stdenv.hostPlatform.isDarwin (fetchpatch {
|
||||
url = "https://gitlab.gnome.org/GNOME/gtk-osx/raw/52898977f165777ad9ef169f7d4818f2d4c9b731/patches/guile-clocktime.patch";
|
||||
|
||||
Reference in New Issue
Block a user