dev-python/tpm2-pytss: Respect CC when preprocessing

Closes: https://bugs.gentoo.org/902001
Signed-off-by: Christopher Byrne <salah.coronya@gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/40902
Signed-off-by: Nowa Ammerlaan <nowa@gentoo.org>
This commit is contained in:
Christopher Byrne
2025-03-06 13:15:14 -06:00
committed by Nowa Ammerlaan
parent 357e74b34b
commit a9f8de59d1
2 changed files with 102 additions and 0 deletions

View File

@@ -0,0 +1,54 @@
diff --git a/setup.py b/setup.py
index 0e6208f..eec85ad 100644
--- a/setup.py
+++ b/setup.py
@@ -20,6 +20,14 @@ from textwrap import dedent
site.ENABLE_USER_SITE = "--user" in sys.argv[1:]
+def cpp_path():
+ return os.environ.get("CC", "cc")
+
+
+def cpp_args(args=[]):
+ return ["-E"] + args
+
+
class type_generator(build_ext):
cares = set(
(
@@ -184,7 +192,9 @@ class type_generator(build_ext):
f"unable to find tss2_tpm2_types.h in {pk['include_dirs']}"
)
pdata = preprocess_file(
- header_path, cpp_args=["-std=c99", "-D__extension__=", "-D__attribute__(x)="]
+ header_path,
+ cpp_path=cpp_path(),
+ cpp_args=cpp_args(["-std=c99", "-D__extension__=", "-D__attribute__(x)="]),
)
parser = c_parser.CParser()
ast = parser.parse(pdata, "tss2_tpm2_types.h")
@@ -204,13 +214,16 @@ class type_generator(build_ext):
if policy_header_path:
pdata = preprocess_file(
policy_header_path,
- cpp_args=[
- "-std=c99",
- "-D__extension__=",
- "-D__attribute__(x)=",
- "-D__float128=long double",
- "-D_FORTIFY_SOURCE=0",
- ],
+ cpp_path=cpp_path(),
+ cpp_args=cpp_args(
+ [
+ "-std=c99",
+ "-D__extension__=",
+ "-D__attribute__(x)=",
+ "-D__float128=long double",
+ "-D_FORTIFY_SOURCE=0",
+ ]
+ ),
)
parser = c_parser.CParser()
past = parser.parse(pdata, "tss2_policy.h")

View File

@@ -0,0 +1,48 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
DESCRIPTION="Python bindings for TSS"
HOMEPAGE="
https://pypi.org/project/tpm2-pytss/
https://github.com/tpm2-software/tpm2-pytss/
"
LICENSE="BSD-2"
SLOT="0"
KEYWORDS="~amd64"
IUSE="+fapi test"
DEPEND="
app-crypt/tpm2-tss:=[fapi=]
fapi? ( >=app-crypt/tpm2-tss-3.0.3:= )
test? ( app-crypt/swtpm )
"
RDEPEND="${DEPEND}
dev-python/cffi[${PYTHON_USEDEP}]
dev-python/asn1crypto[${PYTHON_USEDEP}]
dev-python/cryptography[${PYTHON_USEDEP}]
dev-python/pycparser[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
"
BDEPEND="
dev-python/pkgconfig[${PYTHON_USEDEP}]
dev-python/setuptools-scm[${PYTHON_USEDEP}]
"
PATCHES=(
"${FILESDIR}/${PN}-2.3.0-preprocess-as-C99.patch"
"${FILESDIR}/${PN}-2.3.0-use-CC-enviromental-variable.patch"
)
export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
distutils_enable_tests pytest