Imported Upstream version 67.3.3 upstream/67.3.3
authorJinWang An <jinwang.an@samsung.com>
Mon, 27 Mar 2023 08:03:01 +0000 (17:03 +0900)
committerJinWang An <jinwang.an@samsung.com>
Mon, 27 Mar 2023 08:03:01 +0000 (17:03 +0900)
.bumpversion.cfg
CHANGES.rst
docs/userguide/development_mode.rst
docs/userguide/extension.rst
setup.cfg
setuptools/_distutils/ccompiler.py
setuptools/_distutils/tests/test_ccompiler.py

index e39a80ec650ee7ae9a7850b745ced71db48447f5..60d1036194673e16650fc6b881a279503f86b54b 100644 (file)
@@ -1,5 +1,5 @@
 [bumpversion]
-current_version = 67.3.2
+current_version = 67.3.3
 commit = True
 tag = True
 
index 2ea02d3caa7e4ff2fba131897b7b9282b32915e2..599345cdc91b76b96a7ecfc150e4dd6bcedd2d5d 100644 (file)
@@ -1,3 +1,12 @@
+v67.3.3
+-------
+
+
+Misc
+^^^^
+* #3820: Restore quoted ``#include`` argument to ``has_function``.
+
+
 v67.3.2
 -------
 
@@ -50,7 +59,7 @@ v67.2.0
 
 Changes
 ^^^^^^^
-* #3809: Merge with distutils@8c3c3d29, including fix for ``sysconfig.get_python_inc()`` (pypa/distutils#178), fix for segfault on MinGW (pypa/distutils#196), and better ``has_function`` support (pypa/distutils#195).
+* #3809: Merge with distutils@8c3c3d29, including fix for ``sysconfig.get_python_inc()`` (pypa/distutils#178), fix for segfault on MinGW (pypa/distutils#196), and better ``has_function`` support (pypa/distutils#195, #3648).
 
 
 v67.1.0
index 12d50fbc93bcfdb73b2492ff1d21b1dbddf4c0cc..6a4b04a7ad8cc4bd8b91850a76bdf99dfeb528bb 100644 (file)
@@ -159,6 +159,11 @@ Limitations
   whose names coincidentally match installed packages
   may take precedence in :doc:`Python's import system <python:reference/import>`.
   Users are encouraged to avoid such scenarios [#cwd]_.
+- Setuptools will try to give the right precedence to modules in an editable install.
+  However this is not always an easy task. If you have a particular order in
+  ``sys.path`` or some specific import precedence that needs to be respected,
+  the editable installation as supported by Setuptools might not be able to
+  fulfil this requirement, and therefore it might not be the right tool for your use case.
 
 .. attention::
    Editable installs are **not a perfect replacement for regular installs**
index 6f8cbbb22cdd41ecc79b9354b3311dfe9c3e7a60..e1e37b5db12a019a6406b5e5195dc29339988db7 100644 (file)
@@ -44,7 +44,7 @@ different aspect of the build. In ``setuptools``, however, these command
 objects are just a design abstraction that encapsulate logic and help to
 organise the code.
 
-You can overwrite exiting commands (or add new ones) by defining entry
+You can overwrite existing commands (or add new ones) by defining entry
 points in the ``distutils.commands`` group.  For example, if you wanted to add
 a ``foo`` command, you might add something like this to your project:
 
index 90259f3d769e231fa36ada6e75f66172a6d8964f..ecd30b92a0df5bda2c5e8cc7f0d8a78ce7621d24 100644 (file)
--- a/setup.cfg
+++ b/setup.cfg
@@ -1,6 +1,6 @@
 [metadata]
 name = setuptools
-version = 67.3.2
+version = 67.3.3
 author = Python Packaging Authority
 author_email = distutils-sig@python.org
 description = Easily download, build, install, upgrade, and uninstall Python packages
index f4a8a89760144f28cbeff505c86bdf538e65a1a8..1818fce90186134c70e8f7748365e04c88f34f1e 100644 (file)
@@ -860,7 +860,7 @@ class CCompiler:
         f = os.fdopen(fd, "w")
         try:
             for incl in includes:
-                f.write("""#include %s\n""" % incl)
+                f.write("""#include "%s"\n""" % incl)
             if not includes:
                 # Use "char func(void);" as the prototype to follow
                 # what autoconf does.  This prototype does not match
index 88497d252bc366c8470e0a237bbcfb809cfe79e7..49691d4b9b5933c0f8a0ecaa1d7e5eab31160bb0 100644 (file)
@@ -66,15 +66,15 @@ def test_has_function_prototype():
     assert compiler.has_function('exit')
     with pytest.deprecated_call(match='includes is deprecated'):
         # abort() is a valid expression with the <stdlib.h> prototype.
-        assert compiler.has_function('abort', includes=['<stdlib.h>'])
+        assert compiler.has_function('abort', includes=['stdlib.h'])
     with pytest.deprecated_call(match='includes is deprecated'):
         # But exit() is not valid with the actual prototype in scope.
-        assert not compiler.has_function('exit', includes=['<stdlib.h>'])
+        assert not compiler.has_function('exit', includes=['stdlib.h'])
     # And setuptools_does_not_exist is not declared or defined at all.
     assert not compiler.has_function('setuptools_does_not_exist')
     with pytest.deprecated_call(match='includes is deprecated'):
         assert not compiler.has_function(
-            'setuptools_does_not_exist', includes=['<stdio.h>']
+            'setuptools_does_not_exist', includes=['stdio.h']
         )