Open
Description
To facilitate cleaner updates of the externally-maintained libmpdec
required by the _decimal
module, we should migrate away from the bundled copy in Modules/_decimal/libmpdec
and towards an "external" in cpython-source-deps
for Windows and --with-system-libmpdec
by default elsewhere.
My tentative plan is as follows:
- In 3.13:
- Add
mpdecimal-2.5.1
andmpdecimal-4.0.0
tocpython-source-deps
: - Switch Windows build to
mpdecimal-2.5.1
external (gh-115119: Switch Windows build to mpdecimal external #115182) - gh-115119: Detect _decimal dependencies using pkg-config #115406
- Update deps and build instructions wrt. libmpdecimal devguide#1313
- gh-115119: Update macOS installer to build with libmpdec 4.0.0 #118382
- gh-115119: Update Windows installer to mpdecimal 4.0.0 #118506
- Update macOS build to
mpdecimal-4.0.0
- gh-115119: Default to --with-system-libmpdec=yes #118539
- gh-115119: Bump CI to use Ubuntu 22.04 #118631
-
Post#118539
: amend Ubuntu CI to use system installed mpdecimal - Update the docs; see Unvendor
libmpdec
sources #115119 (comment) - gh-115119: Fall back to bundled libmpdec if system libmpdec is not found #119196
- Add
- In 3.14:
- Remove the implicit fallback to the bundled copy
- Keep support for explicit
--without-system-libmpdec
(with warning)
- In 3.15:
- Remove
--with[out]-system-libmpdec
configure
options andModules/_decimal/libmpdec/
- Remove
Linked PRs
- gh-115119: Switch Windows build to mpdecimal external #115182
- gh-115119: Detect _decimal dependencies using pkg-config #115406
- gh-115119: Update macOS installer to build with libmpdec 4.0.0 #118382
- gh-115119: Update Windows installer to mpdecimal 4.0.0 #118506
- gh-115119: Default to --with-system-libmpdec=yes #118539
- gh-115119: Bump CI to use Ubuntu 22.04 #118631
- [3.12] gh-115119: Bump CI to use Ubuntu 22.04 (#118631) #118634
- gh-115119: Fall back to bundled libmpdec if system libmpdec is not found #119196
- [3.13] gh-115119: Fall back to bundled libmpdec if system libmpdec is not found (GH-119196) #119217
- gh-115119: Removed bundled copy of the libmpdec #133964
- gh-115119: defer removal of bundled libmpdec to 3.16 #133997
- gh-115119: removed implicit fallback to the bundled libmpdec #134078
Metadata
Metadata
Assignees
Labels
The build process and cross-buildThe build process and cross-buildC modules in the Modules dirC modules in the Modules dir