52
52
PYTHON_ABI_MAJ_MIN = "" .join (PYTHON_MAJ_MIN )
53
53
PYTHON_ABI_FLAGS = "m" if sys .version_info .minor < 8 else ""
54
54
PYTHON_ABI = f"cp{ PYTHON_ABI_MAJ_MIN } -cp{ PYTHON_ABI_MAJ_MIN } { PYTHON_ABI_FLAGS } "
55
- MANYLINUX_PYTHON_IMAGE_ID = f'python:{ "." .join (PYTHON_MAJ_MIN )} -slim-bullseye'
55
+ PYTHON_IMAGE_TAG = "." .join (PYTHON_MAJ_MIN ) + (
56
+ "-rc" if PYTHON_MAJ_MIN == ["3" , "12" ] else ""
57
+ )
58
+ MANYLINUX_PYTHON_IMAGE_ID = f"python:{ PYTHON_IMAGE_TAG } -slim-bullseye"
56
59
MUSLLINUX_IMAGES = {
57
60
"musllinux_1_1" : f"quay.io/pypa/musllinux_1_1_{ PLATFORM } :latest" ,
58
61
}
59
- MUSLLINUX_PYTHON_IMAGE_ID = f' python:{ "." . join ( PYTHON_MAJ_MIN ) } -alpine'
62
+ MUSLLINUX_PYTHON_IMAGE_ID = f" python:{ PYTHON_IMAGE_TAG } -alpine"
60
63
DEVTOOLSET = {
61
64
"manylinux_2_5" : "devtoolset-2" ,
62
65
"manylinux_2_12" : "devtoolset-8" ,
82
85
"39" : "1.21.4" ,
83
86
"310" : "1.21.4" ,
84
87
"311" : "1.23.4" ,
88
+ "312" : "1.26.0" ,
85
89
}
86
90
NUMPY_VERSION = NUMPY_VERSION_MAP [PYTHON_ABI_MAJ_MIN ]
87
91
ORIGINAL_NUMPY_WHEEL = f"numpy-{ NUMPY_VERSION } -{ PYTHON_ABI } -linux_{ PLATFORM } .whl"
@@ -206,6 +210,8 @@ def build_numpy(container, policy, output_dir):
206
210
elif policy .startswith ("manylinux_2_28_" ):
207
211
docker_exec (container , "dnf install -y openblas-devel" )
208
212
else :
213
+ if tuple (int (part ) for part in NUMPY_VERSION .split ("." )[:2 ]) >= (1 , 26 ):
214
+ pytest .skip ("numpy>=1.26 requires openblas" )
209
215
docker_exec (container , "yum install -y atlas atlas-devel" )
210
216
211
217
if op .exists (op .join (WHEEL_CACHE_FOLDER , policy , ORIGINAL_NUMPY_WHEEL )):
@@ -222,7 +228,7 @@ def build_numpy(container, policy, output_dir):
222
228
223
229
docker_exec (
224
230
container ,
225
- f"pip wheel -w /io --no-binary=:all: numpy=={ NUMPY_VERSION } " ,
231
+ f"pip wheel -w /io --no-binary=numpy numpy=={ NUMPY_VERSION } " ,
226
232
)
227
233
os .makedirs (op .join (WHEEL_CACHE_FOLDER , policy ), exist_ok = True )
228
234
shutil .copy2 (
@@ -297,6 +303,8 @@ def test_build_repair_numpy(
297
303
else :
298
304
docker_exec (docker_python , "apt-get update -yqq" )
299
305
docker_exec (docker_python , "apt-get install -y gfortran" )
306
+ if tuple (int (part ) for part in NUMPY_VERSION .split ("." )[:2 ]) >= (1 , 26 ):
307
+ docker_exec (docker_python , "pip install meson ninja" )
300
308
docker_exec (
301
309
docker_python ,
302
310
"python -m numpy.f2py -c /auditwheel_src/tests/integration/foo.f90 -m foo" ,
0 commit comments