python3-pynacl: Fix reproduciblity

glob output isn't guaranteed to be in any particular order, so _sodium.*.so wasn't always reproducible.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Yoann Congal <yoann.congal@smile.fr>
Cc: Hongxu Jia <hongxu.jia@windriver.com>
This commit is contained in:
Khem Raj 2025-10-15 12:40:10 -07:00
parent 0fa645bb69
commit af989223cd
No known key found for this signature in database
GPG Key ID: BB053355919D3314
2 changed files with 40 additions and 0 deletions

View File

@ -0,0 +1,39 @@
From eccc9ea5eef13ee353de610af36fb7759b70e2e4 Mon Sep 17 00:00:00 2001
From: Colin Watson <cjwatson@debian.org>
Date: Mon, 26 Aug 2024 18:14:33 +0100
Subject: [PATCH] Build bindings reproducibly
`glob` output isn't guaranteed to be in any particular order, so
`_sodium.*.so` wasn't always reproducible.
Upstream-Status: Backport [https://github.com/pyca/pynacl/pull/836]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
src/bindings/build.py | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/src/bindings/build.py b/src/bindings/build.py
index 9634237..777237b 100644
--- a/src/bindings/build.py
+++ b/src/bindings/build.py
@@ -22,12 +22,16 @@ from cffi import FFI
__all__ = ["ffi"]
-HEADERS = glob.glob(
- os.path.join(os.path.abspath(os.path.dirname(__file__)), "*.h")
+HEADERS = sorted(
+ glob.glob(os.path.join(os.path.abspath(os.path.dirname(__file__)), "*.h"))
)
-MINIMAL_HEADERS = glob.glob(
- os.path.join(os.path.abspath(os.path.dirname(__file__)), "minimal", "*.h")
+MINIMAL_HEADERS = sorted(
+ glob.glob(
+ os.path.join(
+ os.path.abspath(os.path.dirname(__file__)), "minimal", "*.h"
+ )
+ )
)

View File

@ -4,6 +4,7 @@ HOMEPAGE = "https://github.com/pyca/pynacl"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=8cc789b082b3d97e1ccc5261f8594d3f"
SRC_URI += "file://0001-Build-bindings-reproducibly.patch"
SRC_URI[sha256sum] = "8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba"
PYPI_PACKAGE = "PyNaCl"