android-notify 1.60.0__py3-none-any.whl → 1.60.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of android-notify might be problematic. Click here for more details.
- android_notify/config.py +1 -1
- {android_notify-1.60.0.dist-info → android_notify-1.60.2.dist-info}/METADATA +4 -4
- {android_notify-1.60.0.dist-info → android_notify-1.60.2.dist-info}/RECORD +375 -6
- venv/Lib/site-packages/_distutils_hack/__init__.py +239 -0
- venv/Lib/site-packages/_distutils_hack/override.py +1 -0
- venv/Lib/site-packages/pkg_resources/__init__.py +3713 -0
- venv/Lib/site-packages/pkg_resources/py.typed +0 -0
- venv/Lib/site-packages/pkg_resources/tests/__init__.py +0 -0
- venv/Lib/site-packages/pkg_resources/tests/data/my-test-package-source/setup.py +7 -0
- venv/Lib/site-packages/pkg_resources/tests/test_find_distributions.py +56 -0
- venv/Lib/site-packages/pkg_resources/tests/test_integration_zope_interface.py +54 -0
- venv/Lib/site-packages/pkg_resources/tests/test_markers.py +8 -0
- venv/Lib/site-packages/pkg_resources/tests/test_pkg_resources.py +485 -0
- venv/Lib/site-packages/pkg_resources/tests/test_resources.py +869 -0
- venv/Lib/site-packages/pkg_resources/tests/test_working_set.py +505 -0
- venv/Lib/site-packages/setuptools/__init__.py +248 -0
- venv/Lib/site-packages/setuptools/_core_metadata.py +337 -0
- venv/Lib/site-packages/setuptools/_discovery.py +33 -0
- venv/Lib/site-packages/setuptools/_distutils/__init__.py +14 -0
- venv/Lib/site-packages/setuptools/_distutils/_log.py +3 -0
- venv/Lib/site-packages/setuptools/_distutils/_macos_compat.py +12 -0
- venv/Lib/site-packages/setuptools/_distutils/_modified.py +95 -0
- venv/Lib/site-packages/setuptools/_distutils/_msvccompiler.py +16 -0
- venv/Lib/site-packages/setuptools/_distutils/archive_util.py +294 -0
- venv/Lib/site-packages/setuptools/_distutils/ccompiler.py +26 -0
- venv/Lib/site-packages/setuptools/_distutils/cmd.py +554 -0
- venv/Lib/site-packages/setuptools/_distutils/command/__init__.py +23 -0
- venv/Lib/site-packages/setuptools/_distutils/command/_framework_compat.py +54 -0
- venv/Lib/site-packages/setuptools/_distutils/command/bdist.py +167 -0
- venv/Lib/site-packages/setuptools/_distutils/command/bdist_dumb.py +141 -0
- venv/Lib/site-packages/setuptools/_distutils/command/bdist_rpm.py +598 -0
- venv/Lib/site-packages/setuptools/_distutils/command/build.py +156 -0
- venv/Lib/site-packages/setuptools/_distutils/command/build_clib.py +201 -0
- venv/Lib/site-packages/setuptools/_distutils/command/build_ext.py +812 -0
- venv/Lib/site-packages/setuptools/_distutils/command/build_py.py +407 -0
- venv/Lib/site-packages/setuptools/_distutils/command/build_scripts.py +160 -0
- venv/Lib/site-packages/setuptools/_distutils/command/check.py +152 -0
- venv/Lib/site-packages/setuptools/_distutils/command/clean.py +77 -0
- venv/Lib/site-packages/setuptools/_distutils/command/config.py +358 -0
- venv/Lib/site-packages/setuptools/_distutils/command/install.py +805 -0
- venv/Lib/site-packages/setuptools/_distutils/command/install_data.py +94 -0
- venv/Lib/site-packages/setuptools/_distutils/command/install_egg_info.py +91 -0
- venv/Lib/site-packages/setuptools/_distutils/command/install_headers.py +46 -0
- venv/Lib/site-packages/setuptools/_distutils/command/install_lib.py +238 -0
- venv/Lib/site-packages/setuptools/_distutils/command/install_scripts.py +62 -0
- venv/Lib/site-packages/setuptools/_distutils/command/sdist.py +521 -0
- venv/Lib/site-packages/setuptools/_distutils/compat/__init__.py +18 -0
- venv/Lib/site-packages/setuptools/_distutils/compat/numpy.py +2 -0
- venv/Lib/site-packages/setuptools/_distutils/compat/py39.py +66 -0
- venv/Lib/site-packages/setuptools/_distutils/compilers/C/base.py +1394 -0
- venv/Lib/site-packages/setuptools/_distutils/compilers/C/cygwin.py +340 -0
- venv/Lib/site-packages/setuptools/_distutils/compilers/C/errors.py +24 -0
- venv/Lib/site-packages/setuptools/_distutils/compilers/C/msvc.py +614 -0
- venv/Lib/site-packages/setuptools/_distutils/compilers/C/tests/test_base.py +83 -0
- venv/Lib/site-packages/setuptools/_distutils/compilers/C/tests/test_cygwin.py +76 -0
- venv/Lib/site-packages/setuptools/_distutils/compilers/C/tests/test_mingw.py +48 -0
- venv/Lib/site-packages/setuptools/_distutils/compilers/C/tests/test_msvc.py +136 -0
- venv/Lib/site-packages/setuptools/_distutils/compilers/C/tests/test_unix.py +413 -0
- venv/Lib/site-packages/setuptools/_distutils/compilers/C/unix.py +422 -0
- venv/Lib/site-packages/setuptools/_distutils/compilers/C/zos.py +230 -0
- venv/Lib/site-packages/setuptools/_distutils/core.py +289 -0
- venv/Lib/site-packages/setuptools/_distutils/cygwinccompiler.py +31 -0
- venv/Lib/site-packages/setuptools/_distutils/debug.py +5 -0
- venv/Lib/site-packages/setuptools/_distutils/dep_util.py +14 -0
- venv/Lib/site-packages/setuptools/_distutils/dir_util.py +244 -0
- venv/Lib/site-packages/setuptools/_distutils/dist.py +1386 -0
- venv/Lib/site-packages/setuptools/_distutils/errors.py +108 -0
- venv/Lib/site-packages/setuptools/_distutils/extension.py +258 -0
- venv/Lib/site-packages/setuptools/_distutils/fancy_getopt.py +471 -0
- venv/Lib/site-packages/setuptools/_distutils/file_util.py +236 -0
- venv/Lib/site-packages/setuptools/_distutils/filelist.py +431 -0
- venv/Lib/site-packages/setuptools/_distutils/log.py +56 -0
- venv/Lib/site-packages/setuptools/_distutils/spawn.py +134 -0
- venv/Lib/site-packages/setuptools/_distutils/sysconfig.py +598 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/__init__.py +42 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/compat/__init__.py +0 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/compat/py39.py +40 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/support.py +134 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_archive_util.py +353 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_bdist.py +47 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_bdist_dumb.py +78 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_bdist_rpm.py +127 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_build.py +49 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_build_clib.py +134 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_build_ext.py +628 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_build_py.py +196 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_build_scripts.py +96 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_check.py +194 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_clean.py +45 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_cmd.py +107 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_config_cmd.py +87 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_core.py +130 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_dir_util.py +139 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_dist.py +552 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_extension.py +117 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_file_util.py +95 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_filelist.py +336 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_install.py +245 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_install_data.py +74 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_install_headers.py +33 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_install_lib.py +110 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_install_scripts.py +52 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_log.py +12 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_modified.py +126 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_sdist.py +470 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_spawn.py +141 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_sysconfig.py +319 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_text_file.py +127 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_util.py +243 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_version.py +80 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_versionpredicate.py +0 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/unix_compat.py +17 -0
- venv/Lib/site-packages/setuptools/_distutils/text_file.py +286 -0
- venv/Lib/site-packages/setuptools/_distutils/unixccompiler.py +9 -0
- venv/Lib/site-packages/setuptools/_distutils/util.py +518 -0
- venv/Lib/site-packages/setuptools/_distutils/version.py +348 -0
- venv/Lib/site-packages/setuptools/_distutils/versionpredicate.py +175 -0
- venv/Lib/site-packages/setuptools/_distutils/zosccompiler.py +3 -0
- venv/Lib/site-packages/setuptools/_entry_points.py +94 -0
- venv/Lib/site-packages/setuptools/_imp.py +87 -0
- venv/Lib/site-packages/setuptools/_importlib.py +9 -0
- venv/Lib/site-packages/setuptools/_itertools.py +23 -0
- venv/Lib/site-packages/setuptools/_normalization.py +177 -0
- venv/Lib/site-packages/setuptools/_path.py +93 -0
- venv/Lib/site-packages/setuptools/_reqs.py +42 -0
- venv/Lib/site-packages/setuptools/_scripts.py +361 -0
- venv/Lib/site-packages/setuptools/_shutil.py +59 -0
- venv/Lib/site-packages/setuptools/_static.py +188 -0
- venv/Lib/site-packages/setuptools/_vendor/autocommand/__init__.py +27 -0
- venv/Lib/site-packages/setuptools/_vendor/autocommand/autoasync.py +142 -0
- venv/Lib/site-packages/setuptools/_vendor/autocommand/autocommand.py +70 -0
- venv/Lib/site-packages/setuptools/_vendor/autocommand/automain.py +59 -0
- venv/Lib/site-packages/setuptools/_vendor/autocommand/autoparse.py +333 -0
- venv/Lib/site-packages/setuptools/_vendor/autocommand/errors.py +23 -0
- venv/Lib/site-packages/setuptools/_vendor/backports/__init__.py +1 -0
- venv/Lib/site-packages/setuptools/_vendor/backports/tarfile/__init__.py +2937 -0
- venv/Lib/site-packages/setuptools/_vendor/backports/tarfile/__main__.py +5 -0
- venv/Lib/site-packages/setuptools/_vendor/backports/tarfile/compat/__init__.py +0 -0
- venv/Lib/site-packages/setuptools/_vendor/backports/tarfile/compat/py38.py +24 -0
- venv/Lib/site-packages/setuptools/_vendor/importlib_metadata/__init__.py +1083 -0
- venv/Lib/site-packages/setuptools/_vendor/importlib_metadata/_adapters.py +83 -0
- venv/Lib/site-packages/setuptools/_vendor/importlib_metadata/_collections.py +30 -0
- venv/Lib/site-packages/setuptools/_vendor/importlib_metadata/_compat.py +57 -0
- venv/Lib/site-packages/setuptools/_vendor/importlib_metadata/_functools.py +104 -0
- venv/Lib/site-packages/setuptools/_vendor/importlib_metadata/_itertools.py +73 -0
- venv/Lib/site-packages/setuptools/_vendor/importlib_metadata/_meta.py +67 -0
- venv/Lib/site-packages/setuptools/_vendor/importlib_metadata/_text.py +99 -0
- venv/Lib/site-packages/setuptools/_vendor/importlib_metadata/compat/__init__.py +0 -0
- venv/Lib/site-packages/setuptools/_vendor/importlib_metadata/compat/py311.py +22 -0
- venv/Lib/site-packages/setuptools/_vendor/importlib_metadata/compat/py39.py +36 -0
- venv/Lib/site-packages/setuptools/_vendor/importlib_metadata/diagnose.py +21 -0
- venv/Lib/site-packages/setuptools/_vendor/importlib_metadata/py.typed +0 -0
- venv/Lib/site-packages/setuptools/_vendor/inflect/__init__.py +3986 -0
- venv/Lib/site-packages/setuptools/_vendor/inflect/compat/__init__.py +0 -0
- venv/Lib/site-packages/setuptools/_vendor/inflect/compat/py38.py +7 -0
- venv/Lib/site-packages/setuptools/_vendor/inflect/py.typed +0 -0
- venv/Lib/site-packages/setuptools/_vendor/jaraco/collections/__init__.py +1091 -0
- venv/Lib/site-packages/setuptools/_vendor/jaraco/collections/py.typed +0 -0
- venv/Lib/site-packages/setuptools/_vendor/jaraco/context.py +361 -0
- venv/Lib/site-packages/setuptools/_vendor/jaraco/functools/__init__.py +633 -0
- venv/Lib/site-packages/setuptools/_vendor/jaraco/functools/__init__.pyi +125 -0
- venv/Lib/site-packages/setuptools/_vendor/jaraco/functools/py.typed +0 -0
- venv/Lib/site-packages/setuptools/_vendor/jaraco/text/__init__.py +624 -0
- venv/Lib/site-packages/setuptools/_vendor/jaraco/text/layouts.py +25 -0
- venv/Lib/site-packages/setuptools/_vendor/jaraco/text/show-newlines.py +33 -0
- venv/Lib/site-packages/setuptools/_vendor/jaraco/text/strip-prefix.py +21 -0
- venv/Lib/site-packages/setuptools/_vendor/jaraco/text/to-dvorak.py +6 -0
- venv/Lib/site-packages/setuptools/_vendor/jaraco/text/to-qwerty.py +6 -0
- venv/Lib/site-packages/setuptools/_vendor/more_itertools/__init__.py +6 -0
- venv/Lib/site-packages/setuptools/_vendor/more_itertools/__init__.pyi +2 -0
- venv/Lib/site-packages/setuptools/_vendor/more_itertools/more.py +4806 -0
- venv/Lib/site-packages/setuptools/_vendor/more_itertools/more.pyi +709 -0
- venv/Lib/site-packages/setuptools/_vendor/more_itertools/py.typed +0 -0
- venv/Lib/site-packages/setuptools/_vendor/more_itertools/recipes.py +1046 -0
- venv/Lib/site-packages/setuptools/_vendor/more_itertools/recipes.pyi +136 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/__init__.py +15 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/_elffile.py +110 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/_manylinux.py +263 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/_musllinux.py +85 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/_parser.py +354 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/_structures.py +61 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/_tokenizer.py +194 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/licenses/__init__.py +145 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/licenses/_spdx.py +759 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/markers.py +331 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/metadata.py +863 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/py.typed +0 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/requirements.py +91 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/specifiers.py +1020 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/tags.py +617 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/utils.py +163 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/version.py +582 -0
- venv/Lib/site-packages/setuptools/_vendor/platformdirs/__init__.py +627 -0
- venv/Lib/site-packages/setuptools/_vendor/platformdirs/__main__.py +55 -0
- venv/Lib/site-packages/setuptools/_vendor/platformdirs/android.py +249 -0
- venv/Lib/site-packages/setuptools/_vendor/platformdirs/api.py +292 -0
- venv/Lib/site-packages/setuptools/_vendor/platformdirs/macos.py +130 -0
- venv/Lib/site-packages/setuptools/_vendor/platformdirs/py.typed +0 -0
- venv/Lib/site-packages/setuptools/_vendor/platformdirs/unix.py +275 -0
- venv/Lib/site-packages/setuptools/_vendor/platformdirs/version.py +16 -0
- venv/Lib/site-packages/setuptools/_vendor/platformdirs/windows.py +272 -0
- venv/Lib/site-packages/setuptools/_vendor/tomli/__init__.py +11 -0
- venv/Lib/site-packages/setuptools/_vendor/tomli/_parser.py +691 -0
- venv/Lib/site-packages/setuptools/_vendor/tomli/_re.py +107 -0
- venv/Lib/site-packages/setuptools/_vendor/tomli/_types.py +10 -0
- venv/Lib/site-packages/setuptools/_vendor/tomli/py.typed +1 -0
- venv/Lib/site-packages/setuptools/_vendor/typeguard/__init__.py +48 -0
- venv/Lib/site-packages/setuptools/_vendor/typeguard/_checkers.py +993 -0
- venv/Lib/site-packages/setuptools/_vendor/typeguard/_config.py +108 -0
- venv/Lib/site-packages/setuptools/_vendor/typeguard/_decorators.py +235 -0
- venv/Lib/site-packages/setuptools/_vendor/typeguard/_exceptions.py +42 -0
- venv/Lib/site-packages/setuptools/_vendor/typeguard/_functions.py +308 -0
- venv/Lib/site-packages/setuptools/_vendor/typeguard/_importhook.py +213 -0
- venv/Lib/site-packages/setuptools/_vendor/typeguard/_memo.py +48 -0
- venv/Lib/site-packages/setuptools/_vendor/typeguard/_pytest_plugin.py +127 -0
- venv/Lib/site-packages/setuptools/_vendor/typeguard/_suppression.py +86 -0
- venv/Lib/site-packages/setuptools/_vendor/typeguard/_transformer.py +1229 -0
- venv/Lib/site-packages/setuptools/_vendor/typeguard/_union_transformer.py +55 -0
- venv/Lib/site-packages/setuptools/_vendor/typeguard/_utils.py +173 -0
- venv/Lib/site-packages/setuptools/_vendor/typeguard/py.typed +0 -0
- venv/Lib/site-packages/setuptools/_vendor/typing_extensions.py +3641 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/__init__.py +3 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/__main__.py +23 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/_bdist_wheel.py +613 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/_setuptools_logging.py +26 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/bdist_wheel.py +26 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/cli/__init__.py +155 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/cli/convert.py +332 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/cli/pack.py +85 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/cli/tags.py +139 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/cli/unpack.py +30 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/macosx_libfile.py +482 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/metadata.py +183 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/util.py +17 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/vendored/__init__.py +0 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/__init__.py +0 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/_elffile.py +108 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/_manylinux.py +260 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/_musllinux.py +83 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/_parser.py +356 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/_structures.py +61 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/_tokenizer.py +192 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/markers.py +253 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/requirements.py +90 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/specifiers.py +1011 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/tags.py +571 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/utils.py +172 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/version.py +561 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/wheelfile.py +227 -0
- venv/Lib/site-packages/setuptools/_vendor/zipp/__init__.py +501 -0
- venv/Lib/site-packages/setuptools/_vendor/zipp/compat/__init__.py +0 -0
- venv/Lib/site-packages/setuptools/_vendor/zipp/compat/py310.py +11 -0
- venv/Lib/site-packages/setuptools/_vendor/zipp/glob.py +106 -0
- venv/Lib/site-packages/setuptools/archive_util.py +219 -0
- venv/Lib/site-packages/setuptools/build_meta.py +548 -0
- venv/Lib/site-packages/setuptools/command/__init__.py +21 -0
- venv/Lib/site-packages/setuptools/command/_requirestxt.py +131 -0
- venv/Lib/site-packages/setuptools/command/alias.py +77 -0
- venv/Lib/site-packages/setuptools/command/bdist_egg.py +477 -0
- venv/Lib/site-packages/setuptools/command/bdist_rpm.py +42 -0
- venv/Lib/site-packages/setuptools/command/bdist_wheel.py +604 -0
- venv/Lib/site-packages/setuptools/command/build.py +135 -0
- venv/Lib/site-packages/setuptools/command/build_clib.py +103 -0
- venv/Lib/site-packages/setuptools/command/build_ext.py +470 -0
- venv/Lib/site-packages/setuptools/command/build_py.py +400 -0
- venv/Lib/site-packages/setuptools/command/develop.py +55 -0
- venv/Lib/site-packages/setuptools/command/dist_info.py +103 -0
- venv/Lib/site-packages/setuptools/command/easy_install.py +30 -0
- venv/Lib/site-packages/setuptools/command/editable_wheel.py +908 -0
- venv/Lib/site-packages/setuptools/command/egg_info.py +718 -0
- venv/Lib/site-packages/setuptools/command/install.py +131 -0
- venv/Lib/site-packages/setuptools/command/install_egg_info.py +58 -0
- venv/Lib/site-packages/setuptools/command/install_lib.py +137 -0
- venv/Lib/site-packages/setuptools/command/install_scripts.py +67 -0
- venv/Lib/site-packages/setuptools/command/rotate.py +65 -0
- venv/Lib/site-packages/setuptools/command/saveopts.py +21 -0
- venv/Lib/site-packages/setuptools/command/sdist.py +217 -0
- venv/Lib/site-packages/setuptools/command/setopt.py +141 -0
- venv/Lib/site-packages/setuptools/command/test.py +45 -0
- venv/Lib/site-packages/setuptools/compat/__init__.py +0 -0
- venv/Lib/site-packages/setuptools/compat/py310.py +20 -0
- venv/Lib/site-packages/setuptools/compat/py311.py +27 -0
- venv/Lib/site-packages/setuptools/compat/py312.py +13 -0
- venv/Lib/site-packages/setuptools/compat/py39.py +9 -0
- venv/Lib/site-packages/setuptools/config/__init__.py +43 -0
- venv/Lib/site-packages/setuptools/config/_apply_pyprojecttoml.py +526 -0
- venv/Lib/site-packages/setuptools/config/_validate_pyproject/__init__.py +34 -0
- venv/Lib/site-packages/setuptools/config/_validate_pyproject/error_reporting.py +336 -0
- venv/Lib/site-packages/setuptools/config/_validate_pyproject/extra_validations.py +82 -0
- venv/Lib/site-packages/setuptools/config/_validate_pyproject/fastjsonschema_exceptions.py +51 -0
- venv/Lib/site-packages/setuptools/config/_validate_pyproject/fastjsonschema_validations.py +1412 -0
- venv/Lib/site-packages/setuptools/config/_validate_pyproject/formats.py +402 -0
- venv/Lib/site-packages/setuptools/config/expand.py +452 -0
- venv/Lib/site-packages/setuptools/config/pyprojecttoml.py +468 -0
- venv/Lib/site-packages/setuptools/config/setupcfg.py +780 -0
- venv/Lib/site-packages/setuptools/depends.py +185 -0
- venv/Lib/site-packages/setuptools/discovery.py +614 -0
- venv/Lib/site-packages/setuptools/dist.py +1119 -0
- venv/Lib/site-packages/setuptools/errors.py +67 -0
- venv/Lib/site-packages/setuptools/extension.py +177 -0
- venv/Lib/site-packages/setuptools/glob.py +185 -0
- venv/Lib/site-packages/setuptools/installer.py +155 -0
- venv/Lib/site-packages/setuptools/launch.py +36 -0
- venv/Lib/site-packages/setuptools/logging.py +40 -0
- venv/Lib/site-packages/setuptools/modified.py +18 -0
- venv/Lib/site-packages/setuptools/monkey.py +126 -0
- venv/Lib/site-packages/setuptools/msvc.py +1536 -0
- venv/Lib/site-packages/setuptools/namespaces.py +106 -0
- venv/Lib/site-packages/setuptools/tests/__init__.py +13 -0
- venv/Lib/site-packages/setuptools/tests/compat/__init__.py +0 -0
- venv/Lib/site-packages/setuptools/tests/compat/py39.py +3 -0
- venv/Lib/site-packages/setuptools/tests/config/__init__.py +0 -0
- venv/Lib/site-packages/setuptools/tests/config/downloads/__init__.py +59 -0
- venv/Lib/site-packages/setuptools/tests/config/downloads/preload.py +18 -0
- venv/Lib/site-packages/setuptools/tests/config/test_apply_pyprojecttoml.py +772 -0
- venv/Lib/site-packages/setuptools/tests/config/test_expand.py +247 -0
- venv/Lib/site-packages/setuptools/tests/config/test_pyprojecttoml.py +396 -0
- venv/Lib/site-packages/setuptools/tests/config/test_pyprojecttoml_dynamic_deps.py +109 -0
- venv/Lib/site-packages/setuptools/tests/config/test_setupcfg.py +980 -0
- venv/Lib/site-packages/setuptools/tests/contexts.py +131 -0
- venv/Lib/site-packages/setuptools/tests/environment.py +95 -0
- venv/Lib/site-packages/setuptools/tests/fixtures.py +392 -0
- venv/Lib/site-packages/setuptools/tests/integration/__init__.py +0 -0
- venv/Lib/site-packages/setuptools/tests/integration/helpers.py +77 -0
- venv/Lib/site-packages/setuptools/tests/integration/test_pbr.py +20 -0
- venv/Lib/site-packages/setuptools/tests/integration/test_pip_install_sdist.py +223 -0
- venv/Lib/site-packages/setuptools/tests/mod_with_constant.py +1 -0
- venv/Lib/site-packages/setuptools/tests/namespaces.py +90 -0
- venv/Lib/site-packages/setuptools/tests/script-with-bom.py +1 -0
- venv/Lib/site-packages/setuptools/tests/test_archive_util.py +36 -0
- venv/Lib/site-packages/setuptools/tests/test_bdist_deprecations.py +28 -0
- venv/Lib/site-packages/setuptools/tests/test_bdist_egg.py +73 -0
- venv/Lib/site-packages/setuptools/tests/test_bdist_wheel.py +708 -0
- venv/Lib/site-packages/setuptools/tests/test_build.py +33 -0
- venv/Lib/site-packages/setuptools/tests/test_build_clib.py +84 -0
- venv/Lib/site-packages/setuptools/tests/test_build_ext.py +293 -0
- venv/Lib/site-packages/setuptools/tests/test_build_meta.py +959 -0
- venv/Lib/site-packages/setuptools/tests/test_build_py.py +480 -0
- venv/Lib/site-packages/setuptools/tests/test_config_discovery.py +647 -0
- venv/Lib/site-packages/setuptools/tests/test_core_metadata.py +622 -0
- venv/Lib/site-packages/setuptools/tests/test_depends.py +15 -0
- venv/Lib/site-packages/setuptools/tests/test_develop.py +112 -0
- venv/Lib/site-packages/setuptools/tests/test_dist.py +278 -0
- venv/Lib/site-packages/setuptools/tests/test_dist_info.py +147 -0
- venv/Lib/site-packages/setuptools/tests/test_distutils_adoption.py +198 -0
- venv/Lib/site-packages/setuptools/tests/test_editable_install.py +1263 -0
- venv/Lib/site-packages/setuptools/tests/test_egg_info.py +1306 -0
- venv/Lib/site-packages/setuptools/tests/test_extern.py +15 -0
- venv/Lib/site-packages/setuptools/tests/test_find_packages.py +218 -0
- venv/Lib/site-packages/setuptools/tests/test_find_py_modules.py +73 -0
- venv/Lib/site-packages/setuptools/tests/test_glob.py +45 -0
- venv/Lib/site-packages/setuptools/tests/test_install_scripts.py +89 -0
- venv/Lib/site-packages/setuptools/tests/test_logging.py +76 -0
- venv/Lib/site-packages/setuptools/tests/test_manifest.py +622 -0
- venv/Lib/site-packages/setuptools/tests/test_namespaces.py +138 -0
- venv/Lib/site-packages/setuptools/tests/test_scripts.py +12 -0
- venv/Lib/site-packages/setuptools/tests/test_sdist.py +984 -0
- venv/Lib/site-packages/setuptools/tests/test_setopt.py +40 -0
- venv/Lib/site-packages/setuptools/tests/test_setuptools.py +290 -0
- venv/Lib/site-packages/setuptools/tests/test_shutil_wrapper.py +23 -0
- venv/Lib/site-packages/setuptools/tests/test_unicode_utils.py +10 -0
- venv/Lib/site-packages/setuptools/tests/test_virtualenv.py +113 -0
- venv/Lib/site-packages/setuptools/tests/test_warnings.py +106 -0
- venv/Lib/site-packages/setuptools/tests/test_wheel.py +690 -0
- venv/Lib/site-packages/setuptools/tests/test_windows_wrappers.py +258 -0
- venv/Lib/site-packages/setuptools/tests/text.py +4 -0
- venv/Lib/site-packages/setuptools/tests/textwrap.py +6 -0
- venv/Lib/site-packages/setuptools/unicode_utils.py +102 -0
- venv/Lib/site-packages/setuptools/version.py +6 -0
- venv/Lib/site-packages/setuptools/warnings.py +110 -0
- venv/Lib/site-packages/setuptools/wheel.py +261 -0
- venv/Lib/site-packages/setuptools/windows_support.py +30 -0
- {android_notify-1.60.0.dist-info → android_notify-1.60.2.dist-info}/WHEEL +0 -0
- {android_notify-1.60.0.dist-info → android_notify-1.60.2.dist-info}/entry_points.txt +0 -0
- {android_notify-1.60.0.dist-info → android_notify-1.60.2.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
"""distutils.command.build
|
|
2
|
+
|
|
3
|
+
Implements the Distutils 'build' command."""
|
|
4
|
+
|
|
5
|
+
from __future__ import annotations
|
|
6
|
+
|
|
7
|
+
import os
|
|
8
|
+
import sys
|
|
9
|
+
import sysconfig
|
|
10
|
+
from collections.abc import Callable
|
|
11
|
+
from typing import ClassVar
|
|
12
|
+
|
|
13
|
+
from ..ccompiler import show_compilers
|
|
14
|
+
from ..core import Command
|
|
15
|
+
from ..errors import DistutilsOptionError
|
|
16
|
+
from ..util import get_platform
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class build(Command):
|
|
20
|
+
description = "build everything needed to install"
|
|
21
|
+
|
|
22
|
+
user_options = [
|
|
23
|
+
('build-base=', 'b', "base directory for build library"),
|
|
24
|
+
('build-purelib=', None, "build directory for platform-neutral distributions"),
|
|
25
|
+
('build-platlib=', None, "build directory for platform-specific distributions"),
|
|
26
|
+
(
|
|
27
|
+
'build-lib=',
|
|
28
|
+
None,
|
|
29
|
+
"build directory for all distribution (defaults to either build-purelib or build-platlib",
|
|
30
|
+
),
|
|
31
|
+
('build-scripts=', None, "build directory for scripts"),
|
|
32
|
+
('build-temp=', 't', "temporary build directory"),
|
|
33
|
+
(
|
|
34
|
+
'plat-name=',
|
|
35
|
+
'p',
|
|
36
|
+
f"platform name to build for, if supported [default: {get_platform()}]",
|
|
37
|
+
),
|
|
38
|
+
('compiler=', 'c', "specify the compiler type"),
|
|
39
|
+
('parallel=', 'j', "number of parallel build jobs"),
|
|
40
|
+
('debug', 'g', "compile extensions and libraries with debugging information"),
|
|
41
|
+
('force', 'f', "forcibly build everything (ignore file timestamps)"),
|
|
42
|
+
('executable=', 'e', "specify final destination interpreter path (build.py)"),
|
|
43
|
+
]
|
|
44
|
+
|
|
45
|
+
boolean_options: ClassVar[list[str]] = ['debug', 'force']
|
|
46
|
+
|
|
47
|
+
help_options: ClassVar[list[tuple[str, str | None, str, Callable[[], object]]]] = [
|
|
48
|
+
('help-compiler', None, "list available compilers", show_compilers),
|
|
49
|
+
]
|
|
50
|
+
|
|
51
|
+
def initialize_options(self):
|
|
52
|
+
self.build_base = 'build'
|
|
53
|
+
# these are decided only after 'build_base' has its final value
|
|
54
|
+
# (unless overridden by the user or client)
|
|
55
|
+
self.build_purelib = None
|
|
56
|
+
self.build_platlib = None
|
|
57
|
+
self.build_lib = None
|
|
58
|
+
self.build_temp = None
|
|
59
|
+
self.build_scripts = None
|
|
60
|
+
self.compiler = None
|
|
61
|
+
self.plat_name = None
|
|
62
|
+
self.debug = None
|
|
63
|
+
self.force = False
|
|
64
|
+
self.executable = None
|
|
65
|
+
self.parallel = None
|
|
66
|
+
|
|
67
|
+
def finalize_options(self) -> None: # noqa: C901
|
|
68
|
+
if self.plat_name is None:
|
|
69
|
+
self.plat_name = get_platform()
|
|
70
|
+
else:
|
|
71
|
+
# plat-name only supported for windows (other platforms are
|
|
72
|
+
# supported via ./configure flags, if at all). Avoid misleading
|
|
73
|
+
# other platforms.
|
|
74
|
+
if os.name != 'nt':
|
|
75
|
+
raise DistutilsOptionError(
|
|
76
|
+
"--plat-name only supported on Windows (try "
|
|
77
|
+
"using './configure --help' on your platform)"
|
|
78
|
+
)
|
|
79
|
+
|
|
80
|
+
plat_specifier = f".{self.plat_name}-{sys.implementation.cache_tag}"
|
|
81
|
+
|
|
82
|
+
# Python 3.13+ with --disable-gil shouldn't share build directories
|
|
83
|
+
if sysconfig.get_config_var('Py_GIL_DISABLED'):
|
|
84
|
+
plat_specifier += 't'
|
|
85
|
+
|
|
86
|
+
# Make it so Python 2.x and Python 2.x with --with-pydebug don't
|
|
87
|
+
# share the same build directories. Doing so confuses the build
|
|
88
|
+
# process for C modules
|
|
89
|
+
if hasattr(sys, 'gettotalrefcount'):
|
|
90
|
+
plat_specifier += '-pydebug'
|
|
91
|
+
|
|
92
|
+
# 'build_purelib' and 'build_platlib' just default to 'lib' and
|
|
93
|
+
# 'lib.<plat>' under the base build directory. We only use one of
|
|
94
|
+
# them for a given distribution, though --
|
|
95
|
+
if self.build_purelib is None:
|
|
96
|
+
self.build_purelib = os.path.join(self.build_base, 'lib')
|
|
97
|
+
if self.build_platlib is None:
|
|
98
|
+
self.build_platlib = os.path.join(self.build_base, 'lib' + plat_specifier)
|
|
99
|
+
|
|
100
|
+
# 'build_lib' is the actual directory that we will use for this
|
|
101
|
+
# particular module distribution -- if user didn't supply it, pick
|
|
102
|
+
# one of 'build_purelib' or 'build_platlib'.
|
|
103
|
+
if self.build_lib is None:
|
|
104
|
+
if self.distribution.has_ext_modules():
|
|
105
|
+
self.build_lib = self.build_platlib
|
|
106
|
+
else:
|
|
107
|
+
self.build_lib = self.build_purelib
|
|
108
|
+
|
|
109
|
+
# 'build_temp' -- temporary directory for compiler turds,
|
|
110
|
+
# "build/temp.<plat>"
|
|
111
|
+
if self.build_temp is None:
|
|
112
|
+
self.build_temp = os.path.join(self.build_base, 'temp' + plat_specifier)
|
|
113
|
+
if self.build_scripts is None:
|
|
114
|
+
self.build_scripts = os.path.join(
|
|
115
|
+
self.build_base,
|
|
116
|
+
f'scripts-{sys.version_info.major}.{sys.version_info.minor}',
|
|
117
|
+
)
|
|
118
|
+
|
|
119
|
+
if self.executable is None and sys.executable:
|
|
120
|
+
self.executable = os.path.normpath(sys.executable)
|
|
121
|
+
|
|
122
|
+
if isinstance(self.parallel, str):
|
|
123
|
+
try:
|
|
124
|
+
self.parallel = int(self.parallel)
|
|
125
|
+
except ValueError:
|
|
126
|
+
raise DistutilsOptionError("parallel should be an integer")
|
|
127
|
+
|
|
128
|
+
def run(self) -> None:
|
|
129
|
+
# Run all relevant sub-commands. This will be some subset of:
|
|
130
|
+
# - build_py - pure Python modules
|
|
131
|
+
# - build_clib - standalone C libraries
|
|
132
|
+
# - build_ext - Python extensions
|
|
133
|
+
# - build_scripts - (Python) scripts
|
|
134
|
+
for cmd_name in self.get_sub_commands():
|
|
135
|
+
self.run_command(cmd_name)
|
|
136
|
+
|
|
137
|
+
# -- Predicates for the sub-command list ---------------------------
|
|
138
|
+
|
|
139
|
+
def has_pure_modules(self):
|
|
140
|
+
return self.distribution.has_pure_modules()
|
|
141
|
+
|
|
142
|
+
def has_c_libraries(self):
|
|
143
|
+
return self.distribution.has_c_libraries()
|
|
144
|
+
|
|
145
|
+
def has_ext_modules(self):
|
|
146
|
+
return self.distribution.has_ext_modules()
|
|
147
|
+
|
|
148
|
+
def has_scripts(self):
|
|
149
|
+
return self.distribution.has_scripts()
|
|
150
|
+
|
|
151
|
+
sub_commands = [
|
|
152
|
+
('build_py', has_pure_modules),
|
|
153
|
+
('build_clib', has_c_libraries),
|
|
154
|
+
('build_ext', has_ext_modules),
|
|
155
|
+
('build_scripts', has_scripts),
|
|
156
|
+
]
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
"""distutils.command.build_clib
|
|
2
|
+
|
|
3
|
+
Implements the Distutils 'build_clib' command, to build a C/C++ library
|
|
4
|
+
that is included in the module distribution and needed by an extension
|
|
5
|
+
module."""
|
|
6
|
+
|
|
7
|
+
# XXX this module has *lots* of code ripped-off quite transparently from
|
|
8
|
+
# build_ext.py -- not surprisingly really, as the work required to build
|
|
9
|
+
# a static library from a collection of C source files is not really all
|
|
10
|
+
# that different from what's required to build a shared object file from
|
|
11
|
+
# a collection of C source files. Nevertheless, I haven't done the
|
|
12
|
+
# necessary refactoring to account for the overlap in code between the
|
|
13
|
+
# two modules, mainly because a number of subtle details changed in the
|
|
14
|
+
# cut 'n paste. Sigh.
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
|
|
17
|
+
import os
|
|
18
|
+
from collections.abc import Callable
|
|
19
|
+
from distutils._log import log
|
|
20
|
+
from typing import ClassVar
|
|
21
|
+
|
|
22
|
+
from ..ccompiler import new_compiler, show_compilers
|
|
23
|
+
from ..core import Command
|
|
24
|
+
from ..errors import DistutilsSetupError
|
|
25
|
+
from ..sysconfig import customize_compiler
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class build_clib(Command):
|
|
29
|
+
description = "build C/C++ libraries used by Python extensions"
|
|
30
|
+
|
|
31
|
+
user_options: ClassVar[list[tuple[str, str, str]]] = [
|
|
32
|
+
('build-clib=', 'b', "directory to build C/C++ libraries to"),
|
|
33
|
+
('build-temp=', 't', "directory to put temporary build by-products"),
|
|
34
|
+
('debug', 'g', "compile with debugging information"),
|
|
35
|
+
('force', 'f', "forcibly build everything (ignore file timestamps)"),
|
|
36
|
+
('compiler=', 'c', "specify the compiler type"),
|
|
37
|
+
]
|
|
38
|
+
|
|
39
|
+
boolean_options: ClassVar[list[str]] = ['debug', 'force']
|
|
40
|
+
|
|
41
|
+
help_options: ClassVar[list[tuple[str, str | None, str, Callable[[], object]]]] = [
|
|
42
|
+
('help-compiler', None, "list available compilers", show_compilers),
|
|
43
|
+
]
|
|
44
|
+
|
|
45
|
+
def initialize_options(self):
|
|
46
|
+
self.build_clib = None
|
|
47
|
+
self.build_temp = None
|
|
48
|
+
|
|
49
|
+
# List of libraries to build
|
|
50
|
+
self.libraries = None
|
|
51
|
+
|
|
52
|
+
# Compilation options for all libraries
|
|
53
|
+
self.include_dirs = None
|
|
54
|
+
self.define = None
|
|
55
|
+
self.undef = None
|
|
56
|
+
self.debug = None
|
|
57
|
+
self.force = False
|
|
58
|
+
self.compiler = None
|
|
59
|
+
|
|
60
|
+
def finalize_options(self) -> None:
|
|
61
|
+
# This might be confusing: both build-clib and build-temp default
|
|
62
|
+
# to build-temp as defined by the "build" command. This is because
|
|
63
|
+
# I think that C libraries are really just temporary build
|
|
64
|
+
# by-products, at least from the point of view of building Python
|
|
65
|
+
# extensions -- but I want to keep my options open.
|
|
66
|
+
self.set_undefined_options(
|
|
67
|
+
'build',
|
|
68
|
+
('build_temp', 'build_clib'),
|
|
69
|
+
('build_temp', 'build_temp'),
|
|
70
|
+
('compiler', 'compiler'),
|
|
71
|
+
('debug', 'debug'),
|
|
72
|
+
('force', 'force'),
|
|
73
|
+
)
|
|
74
|
+
|
|
75
|
+
self.libraries = self.distribution.libraries
|
|
76
|
+
if self.libraries:
|
|
77
|
+
self.check_library_list(self.libraries)
|
|
78
|
+
|
|
79
|
+
if self.include_dirs is None:
|
|
80
|
+
self.include_dirs = self.distribution.include_dirs or []
|
|
81
|
+
if isinstance(self.include_dirs, str):
|
|
82
|
+
self.include_dirs = self.include_dirs.split(os.pathsep)
|
|
83
|
+
|
|
84
|
+
# XXX same as for build_ext -- what about 'self.define' and
|
|
85
|
+
# 'self.undef' ?
|
|
86
|
+
|
|
87
|
+
def run(self) -> None:
|
|
88
|
+
if not self.libraries:
|
|
89
|
+
return
|
|
90
|
+
|
|
91
|
+
self.compiler = new_compiler(
|
|
92
|
+
compiler=self.compiler, dry_run=self.dry_run, force=self.force
|
|
93
|
+
)
|
|
94
|
+
customize_compiler(self.compiler)
|
|
95
|
+
|
|
96
|
+
if self.include_dirs is not None:
|
|
97
|
+
self.compiler.set_include_dirs(self.include_dirs)
|
|
98
|
+
if self.define is not None:
|
|
99
|
+
# 'define' option is a list of (name,value) tuples
|
|
100
|
+
for name, value in self.define:
|
|
101
|
+
self.compiler.define_macro(name, value)
|
|
102
|
+
if self.undef is not None:
|
|
103
|
+
for macro in self.undef:
|
|
104
|
+
self.compiler.undefine_macro(macro)
|
|
105
|
+
|
|
106
|
+
self.build_libraries(self.libraries)
|
|
107
|
+
|
|
108
|
+
def check_library_list(self, libraries) -> None:
|
|
109
|
+
"""Ensure that the list of libraries is valid.
|
|
110
|
+
|
|
111
|
+
`library` is presumably provided as a command option 'libraries'.
|
|
112
|
+
This method checks that it is a list of 2-tuples, where the tuples
|
|
113
|
+
are (library_name, build_info_dict).
|
|
114
|
+
|
|
115
|
+
Raise DistutilsSetupError if the structure is invalid anywhere;
|
|
116
|
+
just returns otherwise.
|
|
117
|
+
"""
|
|
118
|
+
if not isinstance(libraries, list):
|
|
119
|
+
raise DistutilsSetupError("'libraries' option must be a list of tuples")
|
|
120
|
+
|
|
121
|
+
for lib in libraries:
|
|
122
|
+
if not isinstance(lib, tuple) and len(lib) != 2:
|
|
123
|
+
raise DistutilsSetupError("each element of 'libraries' must a 2-tuple")
|
|
124
|
+
|
|
125
|
+
name, build_info = lib
|
|
126
|
+
|
|
127
|
+
if not isinstance(name, str):
|
|
128
|
+
raise DistutilsSetupError(
|
|
129
|
+
"first element of each tuple in 'libraries' "
|
|
130
|
+
"must be a string (the library name)"
|
|
131
|
+
)
|
|
132
|
+
|
|
133
|
+
if '/' in name or (os.sep != '/' and os.sep in name):
|
|
134
|
+
raise DistutilsSetupError(
|
|
135
|
+
f"bad library name '{lib[0]}': may not contain directory separators"
|
|
136
|
+
)
|
|
137
|
+
|
|
138
|
+
if not isinstance(build_info, dict):
|
|
139
|
+
raise DistutilsSetupError(
|
|
140
|
+
"second element of each tuple in 'libraries' "
|
|
141
|
+
"must be a dictionary (build info)"
|
|
142
|
+
)
|
|
143
|
+
|
|
144
|
+
def get_library_names(self):
|
|
145
|
+
# Assume the library list is valid -- 'check_library_list()' is
|
|
146
|
+
# called from 'finalize_options()', so it should be!
|
|
147
|
+
if not self.libraries:
|
|
148
|
+
return None
|
|
149
|
+
|
|
150
|
+
lib_names = []
|
|
151
|
+
for lib_name, _build_info in self.libraries:
|
|
152
|
+
lib_names.append(lib_name)
|
|
153
|
+
return lib_names
|
|
154
|
+
|
|
155
|
+
def get_source_files(self):
|
|
156
|
+
self.check_library_list(self.libraries)
|
|
157
|
+
filenames = []
|
|
158
|
+
for lib_name, build_info in self.libraries:
|
|
159
|
+
sources = build_info.get('sources')
|
|
160
|
+
if sources is None or not isinstance(sources, (list, tuple)):
|
|
161
|
+
raise DistutilsSetupError(
|
|
162
|
+
f"in 'libraries' option (library '{lib_name}'), "
|
|
163
|
+
"'sources' must be present and must be "
|
|
164
|
+
"a list of source filenames"
|
|
165
|
+
)
|
|
166
|
+
|
|
167
|
+
filenames.extend(sources)
|
|
168
|
+
return filenames
|
|
169
|
+
|
|
170
|
+
def build_libraries(self, libraries) -> None:
|
|
171
|
+
for lib_name, build_info in libraries:
|
|
172
|
+
sources = build_info.get('sources')
|
|
173
|
+
if sources is None or not isinstance(sources, (list, tuple)):
|
|
174
|
+
raise DistutilsSetupError(
|
|
175
|
+
f"in 'libraries' option (library '{lib_name}'), "
|
|
176
|
+
"'sources' must be present and must be "
|
|
177
|
+
"a list of source filenames"
|
|
178
|
+
)
|
|
179
|
+
sources = list(sources)
|
|
180
|
+
|
|
181
|
+
log.info("building '%s' library", lib_name)
|
|
182
|
+
|
|
183
|
+
# First, compile the source code to object files in the library
|
|
184
|
+
# directory. (This should probably change to putting object
|
|
185
|
+
# files in a temporary build directory.)
|
|
186
|
+
macros = build_info.get('macros')
|
|
187
|
+
include_dirs = build_info.get('include_dirs')
|
|
188
|
+
objects = self.compiler.compile(
|
|
189
|
+
sources,
|
|
190
|
+
output_dir=self.build_temp,
|
|
191
|
+
macros=macros,
|
|
192
|
+
include_dirs=include_dirs,
|
|
193
|
+
debug=self.debug,
|
|
194
|
+
)
|
|
195
|
+
|
|
196
|
+
# Now "link" the object files together into a static library.
|
|
197
|
+
# (On Unix at least, this isn't really linking -- it just
|
|
198
|
+
# builds an archive. Whatever.)
|
|
199
|
+
self.compiler.create_static_lib(
|
|
200
|
+
objects, lib_name, output_dir=self.build_clib, debug=self.debug
|
|
201
|
+
)
|