zstd: don't build contrib when cross-compiling
Tests and `./gen_html` from contrib need to run on host architecture. Disable them when doing cross-compiliation.
This commit is contained in:
parent
babb761ac6
commit
03e499425d
1 changed files with 7 additions and 3 deletions
|
@ -3,6 +3,9 @@
|
|||
, file
|
||||
, legacySupport ? false
|
||||
, static ? stdenv.hostPlatform.isStatic
|
||||
# these need to be ran on the host, thus disable when cross-compiling
|
||||
, buildContrib ? stdenv.hostPlatform == stdenv.buildPlatform
|
||||
, doCheck ? stdenv.hostPlatform == stdenv.buildPlatform
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
@ -40,7 +43,7 @@ stdenv.mkDerivation rec {
|
|||
(name: value: "-DZSTD_${name}:BOOL=${if value then "ON" else "OFF"}") {
|
||||
BUILD_SHARED = !static;
|
||||
BUILD_STATIC = static;
|
||||
BUILD_CONTRIB = true;
|
||||
BUILD_CONTRIB = buildContrib;
|
||||
PROGRAMS_LINK_SHARED = !static;
|
||||
LEGACY_SUPPORT = legacySupport;
|
||||
BUILD_TESTS = doCheck;
|
||||
|
@ -53,7 +56,7 @@ stdenv.mkDerivation rec {
|
|||
'';
|
||||
|
||||
checkInputs = [ file ];
|
||||
doCheck = stdenv.hostPlatform == stdenv.buildPlatform;
|
||||
inherit doCheck;
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
# Patch shebangs for playTests
|
||||
|
@ -64,7 +67,6 @@ stdenv.mkDerivation rec {
|
|||
|
||||
preInstall = ''
|
||||
mkdir -p $bin/bin
|
||||
cp contrib/pzstd/pzstd $bin/bin/pzstd
|
||||
substituteInPlace ../programs/zstdgrep \
|
||||
--replace ":-grep" ":-${gnugrep}/bin/grep" \
|
||||
--replace ":-zstdcat" ":-$bin/bin/zstdcat"
|
||||
|
@ -73,6 +75,8 @@ stdenv.mkDerivation rec {
|
|||
--replace "zstdcat" "$bin/bin/zstdcat"
|
||||
'' + lib.optionalString stdenv.isDarwin ''
|
||||
install_name_tool -change @rpath/libzstd.1.dylib $out/lib/libzstd.1.dylib $bin/bin/pzstd
|
||||
'' + lib.optionalString buildContrib ''
|
||||
cp contrib/pzstd/pzstd $bin/bin/pzstd
|
||||
'';
|
||||
|
||||
outputs = [ "bin" "dev" ]
|
||||
|
|
Loading…
Reference in a new issue