hspell: fix cross-platform build issues

hspell uses a couple of binaries it generates during it's own build.
These will cause the build to fail later in cross-platform builds as
these binaries have the wrong executable format.
Using a hspell to bootstrap it's own build natively resolves this issue.
This commit is contained in:
Christian Kampka 2020-09-02 16:36:38 +02:00
parent ef55e4b525
commit 67f0a216e5
No known key found for this signature in database
GPG Key ID: B88E140DB4FE1AA5

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, perl, zlib }:
{ stdenv, fetchurl, perl, zlib, buildPackages }:
stdenv.mkDerivation rec {
name = "${passthru.pname}-${passthru.version}";
@ -16,7 +16,18 @@ stdenv.mkDerivation rec {
};
patchPhase = ''patchShebangs .'';
buildInputs = [ perl zlib ];
preBuild = stdenv.lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
make CC=${buildPackages.stdenv.cc}/bin/cc find_sizes
mv find_sizes find_sizes_build
make clean
substituteInPlace Makefile --replace "./find_sizes" "./find_sizes_build"
substituteInPlace Makefile --replace "ar cr" "${stdenv.lib.getBin stdenv.cc.bintools.bintools}/bin/${stdenv.cc.targetPrefix}ar cr"
substituteInPlace Makefile --replace "ranlib" "${stdenv.lib.getBin stdenv.cc.bintools.bintools}/bin/${stdenv.cc.targetPrefix}ranlib"
substituteInPlace Makefile --replace "STRIP=strip" "STRIP=${stdenv.lib.getBin stdenv.cc.bintools.bintools}/bin/${stdenv.cc.targetPrefix}strip"
'';
nativeBuildInputs = [ perl zlib ];
# buildInputs = [ zlib ];
meta = with stdenv.lib; {
description = "Hebrew spell checker";