Skip to content

Commit 612565b

Browse files
committed
PEP600: add manylinux2014 compatibility
Add a link to PEP 599 Add a mention to manylinux2014 aliases
1 parent 27c75f6 commit 612565b

File tree

1 file changed

+26
-8
lines changed

1 file changed

+26
-8
lines changed

pep-0600.rst

Lines changed: 26 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -68,11 +68,11 @@ wheels, and the manylinux approach has achieved substantial uptake
6868
among both package maintainers and end-users. But any manylinux PEP
6969
needs some way to address these complexities.
7070

71-
In previous manylinux PEPs (:pep:`513`, :pep:`571`), we've done this
72-
by attempting to write down in the PEP the exact set of libraries,
73-
symbol versions, Python configuration, etc. that we believed would
74-
lead to wheels that work on all mainstream glibc-based Linux systems.
75-
But this created several problems:
71+
In previous manylinux PEPs (:pep:`513`, :pep:`571`, , :pep:`599`),
72+
we've done this by attempting to write down in the PEP the exact set
73+
of libraries, symbol versions, Python configuration, etc. that we
74+
believed would lead to wheels that work on all mainstream glibc-based
75+
Linux systems. But this created several problems:
7676

7777
First, PEPs are generally supposed to be normative references: if
7878
software doesn't match the PEP, then we fix the software. But in this
@@ -248,6 +248,13 @@ tags:
248248
- ``manylinux1_i686`` is now an alias for ``manylinux_2_5_i686``
249249
- ``manylinux2010_x86_64`` is now an alias for ``manylinux_2_12_x86_64``
250250
- ``manylinux2010_i686`` is now an alias for ``manylinux_2_12_i686``
251+
- ``manylinux2014_x86_64`` is now an alias for ``manylinux_2_17_x86_64``
252+
- ``manylinux2014_i686`` is now an alias for ``manylinux_2_17_i686``
253+
- ``manylinux2014_aarch64`` is now an alias for ``manylinux_2_17_aarch64``
254+
- ``manylinux2014_armv7l`` is now an alias for ``manylinux_2_17_armv7l``
255+
- ``manylinux2014_ppc64`` is now an alias for ``manylinux_2_17_ppc64``
256+
- ``manylinux2014_ppc64le`` is now an alias for ``manylinux_2_17_ppc64le``
257+
- ``manylinux2014_s390x`` is now an alias for ``manylinux_2_17_s390x``
251258

252259
This redefinition is largely a no-op, but does affect a few things:
253260

@@ -299,11 +306,14 @@ the default logic should be used.
299306

300307
For compatibility with previous specifications, if the tag is
301308
``manylinux1`` or ``manylinux_2_5`` exactly, then we also check the
302-
module for a boolean attribute ``manylinux1_compatible``, and if the
309+
module for a boolean attribute ``manylinux1_compatible``, if the
303310
tag version is ``manylinux2010`` or ``manylinux_2_12`` exactly, then
304311
we also check the module for a boolean attribute
305-
``manylinux2010_compatible``. If both the new and old attributes are
306-
defined, then ``manylinux_compatible`` takes precedence.
312+
``manylinux2010_compatible``, and if the tag version is
313+
``manylinux2014`` or ``manylinux_2_17`` exactly, then we also check
314+
the module for a boolean attribute ``manylinux2014_compatible``. If
315+
both the new and old attributes are defined, then
316+
``manylinux_compatible`` takes precedence.
307317

308318
Here's some example code. You don't have to actually use this code,
309319
but you can use it for reference if you have questions about the exact
@@ -314,6 +324,13 @@ semantics::
314324
"manylinux1_i686": "manylinux_2_5_i686",
315325
"manylinux2010_x86_64": "manylinux_2_12_x86_64",
316326
"manylinux2010_i686": "manylinux_2_12_i686",
327+
"manylinux2014_x86_64": "manylinux_2_17_x86_64",
328+
"manylinux2014_i686": "manylinux_2_17_i686",
329+
"manylinux2014_aarch64": "manylinux_2_17_aarch64",
330+
"manylinux2014_armv7l": "manylinux_2_17_armv7l",
331+
"manylinux2014_ppc64": "manylinux_2_17_ppc64",
332+
"manylinux2014_ppc64le": "manylinux_2_17_ppc64le",
333+
"manylinux2014_s390x": "manylinux_2_17_s390x",
317334
}
318335

319336
def manylinux_tag_is_compatible_with_this_system(tag):
@@ -368,6 +385,7 @@ matches the following regexes:
368385

369386
- ``manylinux1_(x86_64|i686)``
370387
- ``manylinux2010_(x86_64|i686)``
388+
- ``manylinux2014_(x86_64|i686|aarch64|armv7l|ppc64|ppc64le|s390x)``
371389
- ``manylinux_[0-9]+_[0-9]+_(.*)``
372390

373391
Package indexes may impose additional requirements; for example, they

0 commit comments

Comments
 (0)