diff --git a/setup.py b/setup.py index 96563c1a5..c65bbc627 100644 --- a/setup.py +++ b/setup.py @@ -144,6 +144,10 @@ with remove_output("pybind11/include", "pybind11/share"): stderr=sys.stderr, ) + # pkgconf-pypi needs pybind11/share/pkgconfig to be importable + Path("pybind11/share/__init__.py").touch() + Path("pybind11/share/pkgconfig/__init__.py").touch() + txt = get_and_replace(setup_py, version=version, extra_cmd=extra_cmd) code = compile(txt, setup_py, "exec") exec(code, {"SDist": SDist}) diff --git a/tests/extra_python_package/test_files.py b/tests/extra_python_package/test_files.py index b01b49867..5d7299c2a 100644 --- a/tests/extra_python_package/test_files.py +++ b/tests/extra_python_package/test_files.py @@ -106,6 +106,8 @@ py_files = { "commands.py", "py.typed", "setup_helpers.py", + "share/__init__.py", + "share/pkgconfig/__init__.py", } headers = main_headers | conduit_headers | detail_headers | eigen_headers | stl_headers diff --git a/tools/setup_main.py.in b/tools/setup_main.py.in index eb7b84ed6..e04dc8204 100644 --- a/tools/setup_main.py.in +++ b/tools/setup_main.py.in @@ -18,6 +18,7 @@ setup( "pybind11.include.pybind11.detail", "pybind11.include.pybind11.eigen", "pybind11.include.pybind11.stl", + "pybind11.share", "pybind11.share.cmake.pybind11", "pybind11.share.pkgconfig", ], @@ -40,7 +41,10 @@ setup( ], "pipx.run": [ "pybind11 = pybind11.__main__:main", - ] + ], + "pkg_config": [ + "pybind11 = pybind11.share.pkgconfig", + ], }, cmdclass=cmdclass )