summaryrefslogtreecommitdiffstats
path: root/Lib/distutils
Commit message (Collapse)AuthorAgeFilesLines
* bpo-41282: Fix distutils.utils.byte_compile() DeprecationWarning (GH-25406)Victor Stinner2021-04-162-3/+7
| | | | | * byte_compile() of distutils.utils no longer logs a DeprecationWarning * test_distutils no longer logs a DeprecationWarning
* bpo-41282: (PEP 632) Load install schemes from sysconfig (GH-24549)Lumír 'Frenzy' Balhar2021-04-141-32/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With this patch, `distutils.command.install.INSTALL_SCHEMES` are loaded from `sysconfig._INSTALL_SCHEMES`. The distutils module is deprecated and will be removed in 3.12 (PEP 632). This change makes the `sysconfig._INSTALL_SCHEMES` the single point of truth for install schemes while keeping `distutils.command.install.INSTALL_SCHEMES` exactly the same. If we, during the transition to the sysconfig, change something, this makes sure that it also propagates to distutils until the module gets removed. Moreover, as discussed [on Discourse], Linux distros need to patch distutils/sysconfig to make sure the packages will land in proper locations. This patch makes it easier because it leaves only one location where install schemes are defined which is much easier to patch/adjust. [on Discourse]: https://discuss.python.org/t/pep-632-deprecate-distutils-module/5134 The implementation is slightly different than the plan but I think it's the easiest way how to do it and it also makes the downstream patch simple, flexible and easy to maintain. It's also necessary to implement this before setuptools starts bundling the distutils module so the default install schemes stay in the standard library. The removed code from sysconfig does not seem to have any negative effect because, honestly, it seems that nothing actually uses the install schemes from sysconfig at all. There were many big changes in these modules where they were trying to include packaging in stdlib and then reverted that. Also, the test of distutils install command does not count with the different locations which is good evidence that the reason to have this piece of code is no longer valid. https://bugs.python.org/issue41282
* Revert "bpo-42405: fix C extensions build on Windows ARM64 (GH-23399)" (#24753)Jason R. Coombs2021-03-041-22/+1
| | | This reverts commit cb7bc7640935f6b05e9d2acfe4b33d496e8f8666.
* bpo-42405: fix C extensions build on Windows ARM64 (GH-23399)Adrian Vladu2021-03-041-1/+22
| | | | | | | | | | | | | | | | | | | | | | | The following changes are required: * add a new platform win-arm64 * replace the emulated compiler executable paths * bump the linker base addressed as ARM64 requires more memory this change might not be needed (investigation required) On Windows 10 ARM64, VS compiler paths look like this: C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\bin\HostX86\ARM64\cl.exe Note that the cl.exe for ARM64 is an x32 binary, which can run emulated on Windows 10 ARM64 (it has builtin emulation for x32). The rc.exe and mc.exe paths have to also be changed, as the initial discovery has to be fixed. Work in progress to remove the hardcoded bits and to change the path query fixes to the proper location. Automerge-Triggered-By: GH:jaraco
* bpo-41282: distutils: Fix stacklevel for DeprecationWarning (GH-24657)Inada Naoki2021-03-021-1/+1
| | | DeprecationWarning is emit for `import distutils`, not for `distutils` itself.
* Fix a typo in a deprecation warning (GH-24423)Zackery Spytz2021-02-051-1/+1
|
* bpo-42504: Ensure that get_config_var('MACOSX_DEPLOYMENT_TARGET') is a ↵Ronald Oussoren2021-02-012-4/+4
| | | | | string (GH-24341) * bpo-42504: Ensure that get_config_var('MACOSX_DEPLOYMENT_TARGET') is a string
* bpo-41282: Add deprecation warning and docs for distutils (PEP 632) (GH-24355)Steve Dower2021-01-291-0/+6
|
* bpo-42802: Remove distutils bdist_wininst command (GH-24043)Victor Stinner2021-01-0815-429/+4
| | | | | | | | | | The distutils bdist_wininst command deprecated in Python 3.8 has been removed. The distutils bidst_wheel command is now recommended to distribute binary packages on Windows. * Remove Lib/distutils/command/bdist_wininst.py * Remove PC/bdist_wininst/ project * Remove Lib/distutils/command/wininst-*.exe programs * Remove all references to bdist_wininst
* bpo-31904: Fix site and sysconfig modules for VxWorks RTOS (GH-21821)pxinwr2020-12-202-8/+13
|
* bpo-42504: fix for MACOSX_DEPLOYMENT_TARGET=11 (GH-23556)FX Coudert2020-12-032-5/+9
| | | | macOS releases numbering has changed as of macOS 11 Big Sur. Previously, major releases were of the form 10.x, 10.x+1, 10.x+2, etc; as of Big Sur, they are now x, x+1, etc, so, for example, 10.15, 10.15.1, ..., 10.15.7, 11, 11.0.1, 11.1, ..., 12, 12.1, etc. Allow Python to build with single-digit deployment target values. Patch provided by FX Coudert.
* bpo-41116: Ensure system supplied libraries are found on macOS 11 (GH-23301)Ronald Oussoren2020-11-221-1/+1
| | | | | | On macOS system provided libraries are in a shared library cache and not at their usual location. This PR teaches distutils to search in the SDK, even if there was no "-sysroot" argument in the compiler flags.
* bpo-41100: Support macOS 11 and Apple Silicon (GH-22855)Ronald Oussoren2020-11-081-1/+1
| | | | | | | | | | | Co-authored-by: Lawrence D’Anna <lawrence_danna@apple.com> * Add support for macOS 11 and Apple Silicon (aka arm64) As a side effect of this work use the system copy of libffi on macOS, and remove the vendored copy * Support building on recent versions of macOS while deploying to older versions This allows building installers on macOS 11 while still supporting macOS 10.9.
* bpo-41207 In distutils.spawn, rewrite FileNotFound (GH-21359)Jason R. Coombs2020-07-072-3/+14
| | | Automerge-Triggered-By: @jaraco
* bpo-40275: Use new test.support helper submodules in tests (GH-21317)Hai Shi2020-07-064-19/+19
|
* bpo-40275: Use new test.support helper submodules in tests (GH-21151)Hai Shi2020-06-2512-16/+31
| | | | | | | | | | | | | Use new test.support helper submodules in tests: * distutils tests * test_buffer * test_compile * test_filecmp * test_fileinput * test_readline * test_smtpnet * test_structmembers * test_tools
* bpo-41043: Escape literal part of the path for glob(). (GH-20994)Serhiy Storchaka2020-06-201-3/+3
|
* bpo-41003: Fix test_copyreg when numpy is installed (GH-20935)Victor Stinner2020-06-171-7/+6
| | | | | | | | Fix test_copyreg when numpy is installed: test.pickletester now saves/restores warnings.filters when importing numpy, to ignore filters installed by numpy. Add the save_restore_warnings_filters() function to the test.support.warnings_helper module.
* bpo-40698: Improve distutils upload hash digests (GH-20260)Christian Heimes2020-05-202-5/+41
| | | | | | | - Fix upload test on systems that blocks MD5 - Add SHA2-256 and Blake2b-256 digests based on new Warehous and twine specs. Signed-off-by: Christian Heimes <christian@python.org>
* bpo-40055: test_distutils leaves warnings filters unchanged (GH-20095)Victor Stinner2020-05-151-0/+6
| | | | | distutils.tests now saves/restores warnings filters to leave them unchanged. Importing tests imports docutils which imports pkg_resources which adds a warnings filter.
* bpo-40443: Remove unused imports in distutils (GH-19802)Victor Stinner2020-04-3011-17/+6
|
* bpo-40443: Remove unused imports in tests (GH-19804)Victor Stinner2020-04-304-5/+2
|
* bpo-38360: macOS: support alternate form of -isysroot flag (GH-16480)Joshua Root2020-04-221-1/+1
| | | | | | | It is possible to use either '-isysroot /some/path' (with a space) or '-isysroot/some/path' (no space in between). Support both forms in places where special handling of -isysroot is done, rather than just the first form. Co-authored-by: Ned Deily <nad@python.org>
* bpo-40112: distutils test_search_cpp: Fix logic to determine if C compiler ↵Michael Felt2020-04-031-2/+1
| | | | is xlc on AIX (GH-19225)
* bpo-1294959: Add sys.platlibdir attribute (GH-18381)Victor Stinner2020-03-103-5/+14
| | | | | | | | | | | | | Add --with-platlibdir option to the configure script: name of the platform-specific library directory, stored in the new sys.platlitdir attribute. It is used to build the path of platform-specific dynamic libraries and the path of the standard library. It is equal to "lib" on most platforms. On Fedora and SuSE, it is equal to "lib64" on 64-bit systems. Co-Authored-By: Jan Matějek <jmatejek@suse.com> Co-Authored-By: Matěj Cepl <mcepl@cepl.eu> Co-Authored-By: Charalampos Stratakis <cstratak@redhat.com>
* bpo-39763: distutils.spawn now uses subprocess (GH-18743)Victor Stinner2020-03-042-117/+22
| | | | | | | | Reimplement distutils.spawn.spawn() function with the subprocess module. setup.py now uses a basic implementation of the subprocess module if the subprocess module is not available: before required C extension modules are built.
* bpo-38597: Never statically link extension initialization code on Windows ↵Steve Dower2020-03-032-104/+7
| | | | (GH-18724)
* bpo-39586: Deprecate distutils bdist_msi command (GH-18415)Hugo van Kemenade2020-02-102-3/+12
|
* bpo-39555: Fix distutils test to handle _d suffix on Windows debug build ↵Steve Dower2020-02-061-2/+2
| | | | (GH-18357)
* bpo-39432: Implement PEP-489 algorithm for non-ascii "PyInit_*" symbol names ↵Stefan Behnel2020-02-042-1/+22
| | | | | | | | | in distutils (GH-18150) Make it export the correct init symbol also on Windows. https://bugs.python.org/issue39432
* bpo-38914 Do not require email field in setup.py. (GH-17388)Jürgen Gmach2019-12-231-5/+8
| | | | | | | | | | | | | | | | | | When checking `setup.py` and when the `author` field was provided, but the `author_email` field was missing, erroneously a warning message was displayed that the `author_email` field is required. The specs do not require the `author_email`field: https://packaging.python.org/specifications/core-metadata/#author The same is valid for `maintainer` and `maintainer_email`. The warning message has been adjusted. modified: Doc/distutils/examples.rst modified: Lib/distutils/command/check.py https://bugs.python.org/issue38914
* bpo-38021: Modify AIX platform_tag so it covers PEP 425 needs (GH-17303)Michael Felt2019-12-151-1/+2
| | | | | | | | Provides a richer platform tag for AIX that we expect to be sufficient for PEP 425 binary distribution identification. Any backports to earlier Python versions will be handled via setuptools. Patch by Michael Felt.
* bpo-38839: Fix some unused functions in tests (GH-17189)Adam Johnson2019-11-191-2/+0
|
* bpo-38088: Fixes distutils not finding vcruntime140.dll with only v142 ↵Steve Dower2019-09-101-1/+1
| | | | toolset installed (GH-15849)
* closes bpo-37965: Fix compiler warning of distutils CCompiler.test_function. ↵Anonymous Maarten2019-08-281-1/+2
| | | | | | | | | | | | (GH-15560) https://bugs.python.org/issue37965 https://bugs.python.org/issue37965 Automerge-Triggered-By: @benjaminp
* bpo-37795: Capture DeprecationWarnings in the test suite (GH-15184)Pablo Galindo2019-08-081-1/+5
|
* bpo-37685: Fixed __eq__, __lt__ etc implementations in some classes. (GH-14952)Serhiy Storchaka2019-08-082-0/+20
| | | | They now return NotImplemented for unsupported type of the other operand.
* bpo-36302: Sort list of sources (GH-12341)Bernhard M. Wiedemann2019-08-011-1/+2
| | | | | | | | | | | | | | | | | | When building packages (e.g. for openSUSE Linux) (random) filesystem order of input files influences ordering of functions in the output .so files. Thus without the patch, builds (in disposable VMs) would usually differ. Without this patch, all callers have to be patched individually https://github.com/dugsong/libdnet/pull/42 https://github.com/sass/libsass-python/pull/212 https://github.com/tahoe-lafs/pycryptopp/pull/41 https://github.com/yt-project/yt/pull/2206 https://github.com/pyproj4/pyproj/pull/142 https://github.com/pytries/datrie/pull/49 https://github.com/Roche/pyreadstat/pull/37 but that is an infinite effort. See https://reproducible-builds.org/ for why this matters.
* bpo-37481: Deprecate distutils bdist_wininst command (GH-14553)Victor Stinner2019-07-052-3/+12
| | | | The distutils bdist_wininst command is now deprecated, use bdist_wheel (wheel packages) instead.
* bpo-37421: Fix test_distutils.test_build_ext() (GH-14564)Victor Stinner2019-07-032-23/+33
| | | | | test_distutils.test_build_ext() is now able to remove the temporary directory on Windows: don't import the newly built C extension ("xx") in the current process, but test it in a separated process.
* bpo-10945: Drop support for bdist_wininst on non-Windows systems (GH-14506)Miro Hrončok2019-07-011-0/+3
| | | | | | | | | | | bdist_wininst depends on MBCS codec, unavailable on non-Windows, and bdist_wininst have not worked since at least Python 3.2, possibly never on Python 3. Here we document that bdist_wininst is only supported on Windows, and we mark it unsupported otherwise to skip tests. Distributors of Python 3 can now safely drop the bdist_wininst .exe files without the need to skip bdist_wininst related tests.
* bpo-37201: fix test_distutils failures for Windows ARM64 (GH-13902)Paul Monson2019-06-123-0/+8
|
* bpo-11122: fix hardcoded path checking for rpmbuild in bdist_rpm.py (GH-10594)Marcin Niemira2019-06-081-4/+1
|
* Fix typos in docs and docstrings (GH-13745)Xtreak2019-06-021-1/+1
|
* bpo-21536: On Cygwin, C extensions must be linked with libpython (GH-13549)E. M. Bray2019-05-241-12/+24
| | | | | | | | | | It is also possible to link against a library or executable with a statically linked libpython, but not both with the same DLL. In fact building a statically linked python is currently broken on Cygwin for other (related) reasons. The same problem applies to other POSIX-like layers over Windows (MinGW, MSYS) but Python's build system does not seem to attempt to support those platforms at the moment.
* bpo-21536: On Android, C extensions are linked to libpython (GH-12989)xdegaye2019-04-291-0/+15
|
* bpo-35920: Windows 10 ARM32 platform support (GH-11774)Paul Monson2019-04-254-6/+29
|
* bpo-21536: C extensions are no longer linked to libpython (GH-12946)Victor Stinner2019-04-251-17/+2
| | | | | | | | | | | | | | On Unix, C extensions are no longer linked to libpython. It is now possible to load a C extension built using a shared library Python with a statically linked Python. When Python is embedded, libpython must not be loaded with RTLD_LOCAL, but RTLD_GLOBAL instead. Previously, using RTLD_LOCAL, it was already not possible to load C extensions which were not linked to libpython, like C extensions of the standard library built by the "*shared*" section of Modules/Setup. distutils, python-config and python-config.py have been modified.
* bpo-28552: Fix distutils.sysconfig for empty sys.executable (GH-12875)Victor Stinner2019-04-252-2/+7
| | | | | | | bpo-28552, bpo-7774: Fix distutils.sysconfig if sys.executable is None or an empty string: use os.getcwd() to initialize project_base. Fix also the distutils build command: don't use sys.executable if it's evaluated as false (None or empty string).
* bpo-35755: Don't say "to mimick Unix which command behavior" (GH-12861)Victor Stinner2019-04-171-1/+1
|