dtc: make python bindings optional

dtc's build system does not support cross-compilation of its
swig-generated python bindings.
This commit is contained in:
Nick Spinale 2019-09-11 13:07:31 +00:00
parent 101947774c
commit 35f39ac48c

@ -1,4 +1,6 @@
{ stdenv, fetchgit, flex, bison, pkgconfig, python2, swig, which }:
{ stdenv, lib, fetchgit, flex, bison, pkgconfig, which
, pythonSupport ? stdenv.buildPlatform == stdenv.hostPlatform, python2, swig
}:
stdenv.mkDerivation rec {
pname = "dtc";
@ -10,16 +12,17 @@ stdenv.mkDerivation rec {
sha256 = "075gj8bbahfdb8dlif3d2dpzjrkyf3bwbcmx96zpwhlgs0da8jxh";
};
nativeBuildInputs = [ flex bison pkgconfig swig which ];
buildInputs = [ python2 ];
nativeBuildInputs = [ flex bison pkgconfig which ] ++ lib.optionals pythonSupport [ python2 swig ];
buildInputs = lib.optionals pythonSupport [ python2 ];
postPatch = ''
patchShebangs pylibfdt/
'';
makeFlags = lib.optionals (!pythonSupport) [ "NO_PYTHON=1" ];
installFlags = [ "INSTALL=install" "PREFIX=$(out)" "SETUP_PREFIX=$(out)" ];
meta = with stdenv.lib; {
meta = with lib; {
description = "Device Tree Compiler";
homepage = https://git.kernel.org/cgit/utils/dtc/dtc.git;
license = licenses.gpl2; # dtc itself is GPLv2, libfdt is dual GPL/BSD