Unverified Commit b352e8e0 authored by Aleksana's avatar Aleksana Committed by GitHub
Browse files

guile: fix cross (#416684)

parents 6c2d2c77 a1fd80fb
Loading
Loading
Loading
Loading
+20 −5
Original line number Diff line number Diff line
@@ -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 = [
  depsBuildBuild =
    [
      buildPackages.stdenv.cc
  ] ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) pkgsBuildBuild.guile_3_0;
    ]
    ++ 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";