Skip to content

Commit 5849e62

Browse files
committed
debug: update hacl hmac extension module setup
1 parent a3ab70d commit 5849e62

File tree

3 files changed

+38
-19
lines changed

3 files changed

+38
-19
lines changed

cpython-unix/build.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,7 @@ def simple_build(
249249
):
250250
archive = download_entry(entry, DOWNLOADS_PATH)
251251

252-
with build_environment(client, image, entry) as build_env:
252+
with build_environment(client, image) as build_env:
253253
if settings.get("needs_toolchain"):
254254
build_env.install_toolchain(
255255
BUILD,
@@ -291,7 +291,7 @@ def build_binutils(client, image, host_platform):
291291
"""Build binutils in the Docker image."""
292292
archive = download_entry("binutils", DOWNLOADS_PATH)
293293

294-
with build_environment(client, image, "binutils") as build_env:
294+
with build_environment(client, image) as build_env:
295295
install_sccache(build_env)
296296

297297
build_env.copy_file(archive)
@@ -332,7 +332,7 @@ def build_musl(client, image, host_platform: str, target_triple: str, build_opti
332332
musl = "musl-static" if static else "musl"
333333
musl_archive = download_entry(musl, DOWNLOADS_PATH)
334334

335-
with build_environment(client, image, "musl") as build_env:
335+
with build_environment(client, image) as build_env:
336336
build_env.install_toolchain(
337337
BUILD,
338338
host_platform,
@@ -362,7 +362,7 @@ def build_libedit(
362362
):
363363
libedit_archive = download_entry("libedit", DOWNLOADS_PATH)
364364

365-
with build_environment(client, image, "libedit") as build_env:
365+
with build_environment(client, image) as build_env:
366366
if settings.get("needs_toolchain"):
367367
build_env.install_toolchain(
368368
BUILD,
@@ -397,7 +397,7 @@ def build_tix(
397397
tk_archive = download_entry("tk", DOWNLOADS_PATH)
398398
tix_archive = download_entry("tix", DOWNLOADS_PATH)
399399

400-
with build_environment(client, image, "tix") as build_env:
400+
with build_environment(client, image) as build_env:
401401
if settings.get("needs_toolchain"):
402402
build_env.install_toolchain(
403403
BUILD,
@@ -444,7 +444,7 @@ def build_cpython_host(
444444
"""Build binutils in the Docker image."""
445445
archive = download_entry(entry, DOWNLOADS_PATH)
446446

447-
with build_environment(client, image, "cpython-host") as build_env:
447+
with build_environment(client, image) as build_env:
448448
python_version = DOWNLOADS[entry]["version"]
449449

450450
build_env.install_toolchain(
@@ -773,7 +773,7 @@ def build_cpython(
773773
setup_local_content = setup["setup_local"]
774774
extra_make_content = setup["make_data"]
775775

776-
with build_environment(client, image, "cpython") as build_env:
776+
with build_environment(client, image) as build_env:
777777
if settings.get("needs_toolchain"):
778778
build_env.install_toolchain(
779779
BUILD,

cpython-unix/extension-modules.yml

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -315,10 +315,18 @@ _hmac:
315315
minimum-python-version: '3.14'
316316
sources:
317317
- hmacmodule.c
318+
- _hacl/Hacl_HMAC.c
319+
- _hacl/Hacl_Streaming_HMAC.c
318320
includes:
319-
- Modules/_hacl
321+
- Modules/_hacl/
322+
- Modules/_hacl/include/
323+
- Modules/_hacl/include/krml/
320324
links:
321325
- :libHacl_Hash_Blake2.a
326+
- :libHacl_Hash_SHA1.a
327+
- :libHacl_Hash_SHA2.a
328+
- :libHacl_Hash_SHA3.a
329+
- :libHacl_Hash_MD5.a
322330

323331
_imp:
324332
config-c-only: true
@@ -371,6 +379,10 @@ _md5:
371379
sources-conditional:
372380
- source: _hacl/Hacl_Hash_MD5.c
373381
minimum-python-version: "3.12"
382+
maximum-python-version: "3.13"
383+
links-conditional:
384+
- name: :libHacl_Hash_MD5.a
385+
minimum-python-version: "3.14"
374386
defines-conditional:
375387
- define: _BSD_SOURCE
376388
minimum-python-version: "3.12"
@@ -447,6 +459,10 @@ _sha1:
447459
sources-conditional:
448460
- source: _hacl/Hacl_Hash_SHA1.c
449461
minimum-python-version: "3.12"
462+
maximum-python-version: "3.13"
463+
links-conditional:
464+
- name: :libHacl_Hash_SHA1.a
465+
minimum-python-version: "3.14"
450466
includes:
451467
- Modules/_hacl/include
452468
defines-conditional:
@@ -466,7 +482,12 @@ _sha2:
466482
minimum-python-version: "3.12"
467483
sources:
468484
- sha2module.c
469-
- _hacl/Hacl_Hash_SHA2.c
485+
sources-conditional:
486+
- source: _hacl/Hacl_Hash_SHA2.c
487+
maximum-python-version: "3.13"
488+
links-conditional:
489+
- name: :libHacl_Hash_SHA2.a
490+
minimum-python-version: "3.14"
470491
includes:
471492
- Modules/_hacl/include
472493
defines:
@@ -480,9 +501,12 @@ _sha3:
480501
maximum-python-version: "3.11"
481502
- source: sha3module.c
482503
minimum-python-version: "3.12"
483-
484504
- source: _hacl/Hacl_Hash_SHA3.c
485505
minimum-python-version: "3.12"
506+
maximum-python-version: "3.13"
507+
links-conditional:
508+
- name: :libHacl_Hash_SHA3.a
509+
minimum-python-version: "3.14"
486510
includes:
487511
- Modules/_hacl/include
488512
defines-conditional:

pythonbuild/buildenv.py

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,7 @@
77
import io
88
import os
99
import pathlib
10-
import random
1110
import shutil
12-
import string
1311
import tarfile
1412
import tempfile
1513

@@ -266,25 +264,22 @@ def find_output_files(self, base_path, pattern):
266264

267265

268266
@contextlib.contextmanager
269-
def build_environment(client, image, name):
267+
def build_environment(client, image):
270268
if client is not None:
271-
suffix = "".join(random.choices(string.ascii_uppercase + string.digits, k=8))
272269
container = client.containers.run(
273-
image, command=["/bin/sleep", "86400"], name=f"{name}-{suffix}", detach=True
270+
image, command=["/bin/sleep", "86400"], detach=True
274271
)
275272
td = None
276273
context = ContainerContext(container)
277274
else:
278275
container = None
279-
td = tempfile.TemporaryDirectory(prefix=f"{name}-", delete=False)
276+
td = tempfile.TemporaryDirectory()
280277
context = TempdirContext(td.name)
281278

282279
try:
283280
yield context
284281
finally:
285-
if os.environ.get("PYBUILD_KEEP_ENV"):
286-
pass
287-
elif container:
282+
if container:
288283
container.stop(timeout=0)
289284
container.remove()
290285
else:

0 commit comments

Comments
 (0)