Loading pkgs/development/python-modules/tpm2-pytss/cross.patch 0 → 100644 +22 −0 Original line number Diff line number Diff line diff --git a/setup.py b/setup.py index 1b5f513..d660b9a 100644 --- a/setup.py +++ b/setup.py @@ -184,7 +184,8 @@ class type_generator(build_ext): f"unable to find tss2_tpm2_types.h in {pk['include_dirs']}" ) pdata = preprocess_file( - header_path, cpp_args=["-D__extension__=", "-D__attribute__(x)="] + header_path, cpp_args=["-D__extension__=", "-D__attribute__(x)="], + cpp_path="@crossPrefix@-cpp", ) parser = c_parser.CParser() ast = parser.parse(pdata, "tss2_tpm2_types.h") @@ -210,6 +211,7 @@ class type_generator(build_ext): "-D__float128=long double", "-D_FORTIFY_SOURCE=0", ], + cpp_path="@crossPrefix@-cpp", ) parser = c_parser.CParser() past = parser.parse(pdata, "tss2_policy.h") pkgs/development/python-modules/tpm2-pytss/default.nix +17 −0 Original line number Diff line number Diff line { lib , stdenv , substituteAll , buildPythonPackage , fetchPypi , pythonOlder Loading @@ -17,6 +19,9 @@ , swtpm }: let isCross = (stdenv.buildPlatform != stdenv.hostPlatform); in buildPythonPackage rec { pname = "tpm2-pytss"; version = "2.2.1"; Loading @@ -32,6 +37,18 @@ buildPythonPackage rec { patches = [ # Fix hardcoded `fapi-config.json` configuration path ./fapi-config.patch ] ++ lib.optionals isCross [ # pytss will regenerate files from headers of tpm2-tss. # Those headers are fed through a compiler via pycparser. pycparser expects `cpp` # to be in the path. # This is put in the path via stdenv when not cross-compiling, but this is absent # when cross-compiling is turned on. # This patch changes the call to pycparser.preprocess_file to provide the name # of the cross-compiling cpp (substituteAll { src = ./cross.patch; crossPrefix = stdenv.hostPlatform.config; }) ]; postPatch = '' Loading Loading
pkgs/development/python-modules/tpm2-pytss/cross.patch 0 → 100644 +22 −0 Original line number Diff line number Diff line diff --git a/setup.py b/setup.py index 1b5f513..d660b9a 100644 --- a/setup.py +++ b/setup.py @@ -184,7 +184,8 @@ class type_generator(build_ext): f"unable to find tss2_tpm2_types.h in {pk['include_dirs']}" ) pdata = preprocess_file( - header_path, cpp_args=["-D__extension__=", "-D__attribute__(x)="] + header_path, cpp_args=["-D__extension__=", "-D__attribute__(x)="], + cpp_path="@crossPrefix@-cpp", ) parser = c_parser.CParser() ast = parser.parse(pdata, "tss2_tpm2_types.h") @@ -210,6 +211,7 @@ class type_generator(build_ext): "-D__float128=long double", "-D_FORTIFY_SOURCE=0", ], + cpp_path="@crossPrefix@-cpp", ) parser = c_parser.CParser() past = parser.parse(pdata, "tss2_policy.h")
pkgs/development/python-modules/tpm2-pytss/default.nix +17 −0 Original line number Diff line number Diff line { lib , stdenv , substituteAll , buildPythonPackage , fetchPypi , pythonOlder Loading @@ -17,6 +19,9 @@ , swtpm }: let isCross = (stdenv.buildPlatform != stdenv.hostPlatform); in buildPythonPackage rec { pname = "tpm2-pytss"; version = "2.2.1"; Loading @@ -32,6 +37,18 @@ buildPythonPackage rec { patches = [ # Fix hardcoded `fapi-config.json` configuration path ./fapi-config.patch ] ++ lib.optionals isCross [ # pytss will regenerate files from headers of tpm2-tss. # Those headers are fed through a compiler via pycparser. pycparser expects `cpp` # to be in the path. # This is put in the path via stdenv when not cross-compiling, but this is absent # when cross-compiling is turned on. # This patch changes the call to pycparser.preprocess_file to provide the name # of the cross-compiling cpp (substituteAll { src = ./cross.patch; crossPrefix = stdenv.hostPlatform.config; }) ]; postPatch = '' Loading