python3-maturin: upgrade 1.7.4 -> 1.7.8

0001-build_context-improve-wheel-reproducibility-by-sorti.patch
removed since it's included in 1.7.8

Changelog:
==========
- Fix aarch64 Windows cross compilation
- [pre-commit.ci] pre-commit autoupdate
- Fix aarch64 Windows cross compilation
- fix abi3 interpreter discovery on Windows
- fix: remove extra indent in generated CI
- Upgrade cargo-xwin to unify rustls versions
- Normalize python source directory path
- Enable fat LTO for maturin release workflow
- Use different binding dirs for different uniffi modules
- Update minimal Python minor version for pyo3 0.23
- Limit minimal PyPy version based on bindings crate version
- Remove hard coded pip show in fix_direct_url
- Do not use xwin to compile on Windows when MSVC compiler can build for the target
- fix abi3 interpreter discovery on Windows
- allow -i 3.13t
- propagate abiflags to wheel name on Windows
- Add free-threaded wheel build to generate-ci by default
- Bump metadata version to 2.4 to fix license bug
- allow -i 3.13t
- propagate abiflags to wheel name on Windows
- Add free-threaded wheel build to generate-ci by default
- Auto detect Python 3.13
- feat: add skip attestation option to maturin ci github
- generate-ci: use macos-13 runner for x86_64 build job
- Improve wheel reproducibility by sorting libs
- Fix inverted workspace inclusions
- Fix broken links to PyO3 building docs
- Update goblin to 0.9
- Don't resolve python interpreter when building sdist only
- include timestamps in the suggested log format
- Add support for GNU/Hurd
- Fix __init__ exports when using multiple UniFFI bindings
- Add free-threaded Python support

(From OE-Core rev: f4accbf8704f690c5a50b05af815d61b75e8a2ce)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Wang Mingyu
2024-12-23 17:10:55 +08:00
committed by Richard Purdie
parent 6db1cd6a23
commit 62605b1259
3 changed files with 83 additions and 117 deletions

View File

@@ -1,55 +0,0 @@
From 672dca922397016720eae2a3f0fb79613971c56e Mon Sep 17 00:00:00 2001
From: Yoann Congal <yoann.congal@smile.fr>
Date: Thu, 17 Oct 2024 22:17:20 +0200
Subject: [PATCH] build_context: improve wheel reproducibility by sorting libs
(#2261)
OE-core note: Upstream does not have a commit message for this. Bellow
is the message I've sent:
> While tracking a reproducibility issue from maturin's output, we found
> that the .so file in the output .whl were not ordered the same
> every time.
>
> Order of the external libraries in the .whl comes down to the order
> `soname_map` is iterated. But, `std::HashMap` does not provide a stable
> order and that create an unstable order in the wheel.
>
> Switch to `std::BTreeMap` which keeps keys sorted and is iterable
> in a stable order.
>
> This can be tested by building current python3-cryptography :
> SOURCE_DATE_EPOCH=1728915855 maturin build
>
> Before this commit, the above give two possible outputs (~50% each), the
> difference is in the order of libssl and libcrypto.
>
> After this commit, the output is reproducible.
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Upstream-Status: Backport [https://github.com/PyO3/maturin/commit/61d54809776e1ca79ff8cc92387d70796d50c16e]
---
src/build_context.rs | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/build_context.rs b/src/build_context.rs
index a98d233..09ca090 100644
--- a/src/build_context.rs
+++ b/src/build_context.rs
@@ -24,7 +24,7 @@ use normpath::PathExt;
use pep508_rs::Requirement;
use platform_info::*;
use sha2::{Digest, Sha256};
-use std::collections::{HashMap, HashSet};
+use std::collections::{BTreeMap, HashSet};
use std::env;
use std::fmt::{Display, Formatter};
use std::io;
@@ -396,7 +396,7 @@ impl BuildContext {
writer.add_directory(&libs_dir)?;
let temp_dir = tempfile::tempdir()?;
- let mut soname_map = HashMap::new();
+ let mut soname_map = BTreeMap::new();
let mut libs_copied = HashSet::new();
for lib in ext_libs.iter().flatten() {
let lib_path = lib.realpath.clone().with_context(|| {