adapted from upstream dadf22c1ce1501f8fef8d6f2adbf9f2eb9dd3eca --- a/pyproject.toml 2024-05-28 20:44:03.000000000 +0200 +++ b/pyproject.toml 2024-06-18 17:12:03.000000000 +0200 @@ -1,6 +1,6 @@ [build-system] -requires = ["setuptools>=63.0", "wheel"] -build-backend = "setuptools.build_meta" +requires = ["hatchling>1.24"] +build-backend = "hatchling.build" [project] name = "pymongocrypt" @@ -49,11 +49,5 @@ [project.urls] Homepage = "https://github.com/mongodb/libmongocrypt/tree/master/bindings/python" -[tool.setuptools.dynamic] -version = {attr = "pymongocrypt.version.__version__"} - -[tool.setuptools.packages.find] -include = ["pymongocrypt"] - -[tool.setuptools.package-data] -pymongocrypt=['*.dll', '*.so', '*.dylib'] +[tool.hatch.version] +path = "pymongocrypt/version.py" --- a/setup.py 2024-05-28 20:44:03.000000000 +0200 +++ b/dev/null 2024-04-07 00:22:51.151700697 +0200 @@ -1,29 +0,0 @@ -import sys -from setuptools import setup - -# Make our Windows and macOS wheels platform specific because we embed -# libmongocrypt. On Linux we ship manylinux2010 wheels which cannot do this or -# else auditwheel raises the following error: -# RuntimeError: Invalid binary wheel, found the following shared -# library/libraries in purelib folder: -# libmongocrypt.so -# The wheel has to be platlib compliant in order to be repaired by auditwheel. -cmdclass = {} -if sys.platform in ('win32', 'darwin'): - try: - from wheel.bdist_wheel import bdist_wheel as _bdist_wheel - class bdist_wheel(_bdist_wheel): - def finalize_options(self): - _bdist_wheel.finalize_options(self) - self.root_is_pure = False - def get_tag(self): - python, abi, plat = _bdist_wheel.get_tag(self) - # Our python source is py3 compatible. - python, abi = 'py3', 'none' - return python, abi, plat - cmdclass['bdist_wheel'] = bdist_wheel - except ImportError: - # Version of wheel is too old, use None to fail a bdist_wheel attempt. - cmdclass['bdist_wheel'] = None - -setup(cmdclass=cmdclass)