Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gh-95913: Consolidate build requirements changes in 3.11 WhatsNew #98781

Merged
merged 1 commit into from
Mar 7, 2023

Conversation

CAM-Gerlach
Copy link
Member

@CAM-Gerlach CAM-Gerlach commented Oct 27, 2022

Part of #95913 , followup to PR #98588

On #98588 , @encukou suggested several significant fixes/improvements to the Build section of the What's New in Python 3,11 document that would consolidate changes that were redundant as part of the move to C11, as well as clarify some other points. Unfortunately, the PR was merged before they could be applied there, so per his direction, I've opened this to apply them now (with a few small tweaks).

Co-authored-by: Petr Viktorin <encukou@gmail.com>
@bedevere-bot bedevere-bot added awaiting review docs Documentation in the Doc dir skip news labels Oct 27, 2022
@CAM-Gerlach CAM-Gerlach added 3.11 only security fixes needs backport to 3.11 only security fixes labels Oct 27, 2022
@CAM-Gerlach CAM-Gerlach changed the title gh-95913: Combine related build requirements changes in 3.11 WhatsNew gh-95913: Consolidate build requirements changes in 3.11 WhatsNew Oct 27, 2022
@vstinner
Copy link
Member

vstinner commented Nov 3, 2022

@encukou wrote:

NaNs are part of IEEE 754, and the math functions are part of C11, so mentioning the earlier changes are redundant now.

Well, I chose to be extra explicit, since compilers have the bad habit of not implementing fully or exactly C standards. For example, see Modernizing Fedora's C code about GCC and clang which don't respect C99/C11 "for backward compatibility".

@kumaraditya303
Copy link
Contributor

Anything blocking this to be merged?

@CAM-Gerlach
Copy link
Member Author

Hey @vstinner @encukou do you think this should be changed or some of this reverted, based on the feedback above? Or should we go ahead with it?

@CAM-Gerlach
Copy link
Member Author

Hey @vstinner @encukou , further thoughts on this?

@encukou
Copy link
Member

encukou commented Mar 6, 2023

Sorry, this PR fell through the cracks for me. I'll review this week.

@CAM-Gerlach
Copy link
Member Author

Thanks @encukou . Also, it sounds like Victor is on hiatus for now and passed on reviewing this.

@encukou
Copy link
Member

encukou commented Mar 7, 2023

Well, I chose to be extra explicit, since compilers have the bad habit of not implementing fully or exactly C standards. For example, see Modernizing Fedora's C code about GCC and clang which don't respect C99/C11 "for backward compatibility".

Yeah, but that (the example at least) is about keeping old behavior in cases where C99 says something is illegal or undefined. (AFAIK, the standard mandates an error, so the implementation doesn't comply with the standard, but it's fine in the real world.)
Leaving out <math.h> (or a function from it) would be pretty hard to sell as a deliberate backwards-compatibility quirk. So in this particular case, only requiring a C11 libc should be fine.

@encukou encukou merged commit 4a3ea1f into python:main Mar 7, 2023
@miss-islington
Copy link
Contributor

Thanks @CAM-Gerlach for the PR, and @encukou for merging it 🌮🎉.. I'm working now to backport this PR to: 3.11.
🐍🍒⛏🤖

@bedevere-bot
Copy link

GH-102497 is a backport of this pull request to the 3.11 branch.

@bedevere-bot bedevere-bot removed the needs backport to 3.11 only security fixes label Mar 7, 2023
miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Mar 7, 2023
…ew (pythonGH-98781)

Apply suggestion to combine build requirements changes in 3.11 WhatsNew

(cherry picked from commit 4a3ea1f)

Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
Co-authored-by: Petr Viktorin <encukou@gmail.com>
carljm added a commit to carljm/cpython that referenced this pull request Mar 7, 2023
* main:
  pythongh-102493: fix normalization in PyErr_SetObject (python#102502)
  pythongh-87092: compiler's CFG construction moved to after codegen stage (python#102320)
  pythongh-95913: Consolidate build requirements changes in 3.11 WhatsNew (pythonGH-98781)
  Remove redundant `_ensure_future` in favor of `ensure_future` in `asyncio` (python#102398)
  pythongh-95913: Edit Faster CPython section in 3.11 WhatsNew (pythonGH-98429)
  pythongh-90110: Fix the c-analyzer Tool (python#102483)
  pythongh-101759: Update macOS installer SQLite 3.40.1 checksum (pythongh-102485)
  Remove unused import of `warnings` from `unittest.loader` (python#102479)
  Add gettext support to tools/extensions/c_annotations.py (python#101989)
carljm added a commit to carljm/cpython that referenced this pull request Mar 8, 2023
* main:
  pythongh-102493: fix normalization in PyErr_SetObject (python#102502)
  pythongh-87092: compiler's CFG construction moved to after codegen stage (python#102320)
  pythongh-95913: Consolidate build requirements changes in 3.11 WhatsNew (pythonGH-98781)
  Remove redundant `_ensure_future` in favor of `ensure_future` in `asyncio` (python#102398)
  pythongh-95913: Edit Faster CPython section in 3.11 WhatsNew (pythonGH-98429)
  pythongh-90110: Fix the c-analyzer Tool (python#102483)
  pythongh-101759: Update macOS installer SQLite 3.40.1 checksum (pythongh-102485)
  Remove unused import of `warnings` from `unittest.loader` (python#102479)
  Add gettext support to tools/extensions/c_annotations.py (python#101989)
miss-islington added a commit that referenced this pull request Mar 22, 2023
…-98781)

Apply suggestion to combine build requirements changes in 3.11 WhatsNew

(cherry picked from commit 4a3ea1f)

Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
Co-authored-by: Petr Viktorin <encukou@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3.11 only security fixes docs Documentation in the Doc dir skip news
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants