Source: python-axolotl-curve25519
Version: 0.1-2
Severity: wishlist
Tags: patch upstream
User: reproducible-bui...@lists.alioth.debian.org
Usertags: fileordering
X-Debbugs-Cc: reproducible-bui...@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that python-axolotl-curve25519 could not be built reproducibly.
During build objects are linked in non-deterministic order.

The attached patch fixes this by sorting the list of source files.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/reproducible-build.patch b/debian/patches/reproducible-build.patch
new file mode 100644
index 0000000..04ed5be
--- /dev/null
+++ b/debian/patches/reproducible-build.patch
@@ -0,0 +1,14 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: Sort list of source files for deterministic linking order
+
+--- a/setup.py
++++ b/setup.py
+@@ -8,7 +8,7 @@
+ sources.extend(glob("curve/ed25519/nacl_sha512/*.c"))
+ #headers = ['curve25519-donna.h']
+ module_curve = Extension('axolotl_curve25519',
+-                    sources = sources,
++                    sources = sorted(sources),
+ #                   headers = headers,
+                     include_dirs = [
+                       'curve/ed25519/nacl_includes',
diff --git a/debian/patches/series b/debian/patches/series
index c7c612c..4174e07 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,4 @@
 fix-unsigned-char-warnings.patch
 removes-unused-variables.patch
 add-prototype.patch
+reproducible-build.patch

Attachment: signature.asc
Description: PGP signature

Reply via email to