Loading pkgs/development/interpreters/python/cpython/3.14/hacl-static-ldeps-for-static-modules.patch 0 → 100644 +50 −0 Original line number Diff line number Diff line From ee1b8479cff97ca7e5ed4d51d6aa24ccb47deb8b Mon Sep 17 00:00:00 2001 From: Ihar Hrachyshka <ihar.hrachyshka@gmail.com> Date: Sat, 21 Mar 2026 18:34:50 -0400 Subject: [PATCH] gh-146264: Use static HACL deps for static module builds --- .../next/Build/2026-03-21-18-51-31.gh-issue-146264.Q9Ej4m.rst | 3 +++ configure | 2 +- configure.ac | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 Misc/NEWS.d/next/Build/2026-03-21-18-51-31.gh-issue-146264.Q9Ej4m.rst diff --git a/Misc/NEWS.d/next/Build/2026-03-21-18-51-31.gh-issue-146264.Q9Ej4m.rst b/Misc/NEWS.d/next/Build/2026-03-21-18-51-31.gh-issue-146264.Q9Ej4m.rst new file mode 100644 index 00000000000..1fdafe56043 --- /dev/null +++ b/Misc/NEWS.d/next/Build/2026-03-21-18-51-31.gh-issue-146264.Q9Ej4m.rst @@ -0,0 +1,3 @@ +Fix static module builds on non-WASI targets by linking HACL dependencies as +static libraries when ``MODULE_BUILDTYPE=static``, preventing duplicate +``_Py_LibHacl_*`` symbol errors at link time. diff --git a/configure b/configure index 23f24d51c79..db5c861f601 100755 --- a/configure +++ b/configure @@ -33009,7 +33009,7 @@ fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for HACL* library linking type" >&5 printf %s "checking for HACL* library linking type... " >&6; } -if test "$ac_sys_system" = "WASI"; then +if test "$ac_sys_system" = "WASI" || test "$MODULE_BUILDTYPE" = "static"; then LIBHACL_LDEPS_LIBTYPE=STATIC { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: static" >&5 printf "%s\n" "static" >&6; } diff --git a/configure.ac b/configure.ac index 635fce3f2e6..59166d63e63 100644 --- a/configure.ac +++ b/configure.ac @@ -8171,7 +8171,7 @@ AC_SUBST([LIBHACL_BLAKE2_SIMD256_OBJS]) # HACL*-based cryptographic primitives AC_MSG_CHECKING([for HACL* library linking type]) -if test "$ac_sys_system" = "WASI"; then +if test "$ac_sys_system" = "WASI" || test "$MODULE_BUILDTYPE" = "static"; then LIBHACL_LDEPS_LIBTYPE=STATIC AC_MSG_RESULT([static]) else -- 2.53.0 pkgs/development/interpreters/python/cpython/default.nix +5 −0 Original line number Diff line number Diff line Loading @@ -427,6 +427,11 @@ stdenv.mkDerivation (finalAttrs: { # backport fix for https://github.com/python/cpython/issues/95855 ./platform-triplet-detection.patch ] ++ optionals (static && pythonAtLeast "3.14") [ # https://github.com/python/cpython/issues/146264 # https://github.com/python/cpython/pull/146265 ./3.14/hacl-static-ldeps-for-static-modules.patch ] ++ optionals (version == "3.13.10" || version == "3.14.1") [ # https://github.com/python/cpython/issues/142218 ./${lib.versions.majorMinor version}/gh-142218.patch Loading Loading
pkgs/development/interpreters/python/cpython/3.14/hacl-static-ldeps-for-static-modules.patch 0 → 100644 +50 −0 Original line number Diff line number Diff line From ee1b8479cff97ca7e5ed4d51d6aa24ccb47deb8b Mon Sep 17 00:00:00 2001 From: Ihar Hrachyshka <ihar.hrachyshka@gmail.com> Date: Sat, 21 Mar 2026 18:34:50 -0400 Subject: [PATCH] gh-146264: Use static HACL deps for static module builds --- .../next/Build/2026-03-21-18-51-31.gh-issue-146264.Q9Ej4m.rst | 3 +++ configure | 2 +- configure.ac | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 Misc/NEWS.d/next/Build/2026-03-21-18-51-31.gh-issue-146264.Q9Ej4m.rst diff --git a/Misc/NEWS.d/next/Build/2026-03-21-18-51-31.gh-issue-146264.Q9Ej4m.rst b/Misc/NEWS.d/next/Build/2026-03-21-18-51-31.gh-issue-146264.Q9Ej4m.rst new file mode 100644 index 00000000000..1fdafe56043 --- /dev/null +++ b/Misc/NEWS.d/next/Build/2026-03-21-18-51-31.gh-issue-146264.Q9Ej4m.rst @@ -0,0 +1,3 @@ +Fix static module builds on non-WASI targets by linking HACL dependencies as +static libraries when ``MODULE_BUILDTYPE=static``, preventing duplicate +``_Py_LibHacl_*`` symbol errors at link time. diff --git a/configure b/configure index 23f24d51c79..db5c861f601 100755 --- a/configure +++ b/configure @@ -33009,7 +33009,7 @@ fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for HACL* library linking type" >&5 printf %s "checking for HACL* library linking type... " >&6; } -if test "$ac_sys_system" = "WASI"; then +if test "$ac_sys_system" = "WASI" || test "$MODULE_BUILDTYPE" = "static"; then LIBHACL_LDEPS_LIBTYPE=STATIC { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: static" >&5 printf "%s\n" "static" >&6; } diff --git a/configure.ac b/configure.ac index 635fce3f2e6..59166d63e63 100644 --- a/configure.ac +++ b/configure.ac @@ -8171,7 +8171,7 @@ AC_SUBST([LIBHACL_BLAKE2_SIMD256_OBJS]) # HACL*-based cryptographic primitives AC_MSG_CHECKING([for HACL* library linking type]) -if test "$ac_sys_system" = "WASI"; then +if test "$ac_sys_system" = "WASI" || test "$MODULE_BUILDTYPE" = "static"; then LIBHACL_LDEPS_LIBTYPE=STATIC AC_MSG_RESULT([static]) else -- 2.53.0
pkgs/development/interpreters/python/cpython/default.nix +5 −0 Original line number Diff line number Diff line Loading @@ -427,6 +427,11 @@ stdenv.mkDerivation (finalAttrs: { # backport fix for https://github.com/python/cpython/issues/95855 ./platform-triplet-detection.patch ] ++ optionals (static && pythonAtLeast "3.14") [ # https://github.com/python/cpython/issues/146264 # https://github.com/python/cpython/pull/146265 ./3.14/hacl-static-ldeps-for-static-modules.patch ] ++ optionals (version == "3.13.10" || version == "3.14.1") [ # https://github.com/python/cpython/issues/142218 ./${lib.versions.majorMinor version}/gh-142218.patch Loading