<pre style='margin:0'>
Renee Otten (reneeotten) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/be8cfe8d759397726992c9ca1c97fdb9a2ac2a14">https://github.com/macports/macports-ports/commit/be8cfe8d759397726992c9ca1c97fdb9a2ac2a14</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new be8cfe8d759 py-dulwich: build pure version on legacy systems with no rust
</span>be8cfe8d759 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit be8cfe8d759397726992c9ca1c97fdb9a2ac2a14
</span>Author: Sergey Fedorov <barracuda@macos-powerpc.org>
AuthorDate: Thu Oct 31 07:06:48 2024 +0800
<span style='display:block; white-space:pre;color:#404040;'> py-dulwich: build pure version on legacy systems with no rust
</span>---
python/py-dulwich/Portfile | 21 +++-
.../eb6e78f01a44d738ca3c801d777785910aab5000.patch | 108 +++++++++++++++++++++
python/py-dulwich/files/patch-strnlen-lion.diff | 11 +++
3 files changed, 137 insertions(+), 3 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-dulwich/Portfile b/python/py-dulwich/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index c0afaa1565e..7b1e4b217d1 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/python/py-dulwich/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-dulwich/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2,7 +2,6 @@
</span>
PortSystem 1.0
PortGroup python 1.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup rust 1.0
</span>
name py-dulwich
version 0.22.3
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -24,6 +23,8 @@ checksums ${distname}${extract.suffix} \
</span>
python.versions 38 39 310 311 312 313
<span style='display:block; white-space:pre;background:#e0ffe0;'>+set dulwich_darwin_min_ver 11
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> if {${name} ne ${subport}} {
if {${python.version} < 310} {
depends_build-append \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -32,11 +33,24 @@ if {${name} ne ${subport}} {
</span>
patchfiles patch-archflags.diff
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Backport of a fix from upstream.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Drop with next release.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patchfiles-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ eb6e78f01a44d738ca3c801d777785910aab5000.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> depends_lib-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- port:py${python.version}-setuptools-rust \
</span> port:py${python.version}-urllib3
<span style='display:block; white-space:pre;background:#ffe0e0;'>- cargo.crates \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${os.platform} eq "darwin" && ${os.major} < ${dulwich_darwin_min_ver}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ build.env-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PURE=1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PortGroup rust 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:py${python.version}-setuptools-rust
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cargo.crates \
</span> autocfg 1.4.0 ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26 \
cfg-if 1.0.0 baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd \
heck 0.5.0 2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -57,4 +71,5 @@ if {${name} ne ${subport}} {
</span> target-lexicon 0.12.16 61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1 \
unicode-ident 1.0.13 e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe \
unindent 0.2.3 c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span> }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-dulwich/files/eb6e78f01a44d738ca3c801d777785910aab5000.patch b/python/py-dulwich/files/eb6e78f01a44d738ca3c801d777785910aab5000.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..531f15c13ea
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-dulwich/files/eb6e78f01a44d738ca3c801d777785910aab5000.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,108 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 9fea5e31722b35ee66c564538fb84c96f10eee40 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Eli Schwartz <eschwartz93@gmail.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Tue, 5 Nov 2024 12:01:47 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] build: respect the "pure" argument at metadata generation
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ time
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+When a pure build is requested, no compiled extensions are produced. The
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+setuptools_rust dependency ends up imported-but-not-used. Teach
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+setuptools to avoid build-requiring it in this case.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Closes: https://github.com/jelmer/dulwich/issues/1405
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pyproject.toml | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ setup.py | 58 ++++++++++++++++++++++++++++----------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 2 files changed, 33 insertions(+), 27 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/pyproject.toml b/pyproject.toml
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 2f7c59681..aaa873223 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- pyproject.toml
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ pyproject.toml
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,5 +1,5 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [build-system]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-requires = ["setuptools>=61.2", "setuptools-rust"]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++requires = ["setuptools>=61.2"]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ build-backend = "setuptools.build_meta"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [project]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/setup.py b/setup.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 6eada1487..07381eee8 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- setup.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ setup.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6,7 +6,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import sys
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ from setuptools import setup
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-from setuptools_rust import Binding, RustExtension
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tests_require = ["fastimport"]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -18,35 +17,45 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ optional = os.environ.get("CIBUILDWHEEL", "0") != "1"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-rust_extensions = [
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- RustExtension(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "dulwich._objects",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "crates/objects/Cargo.toml",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- binding=Binding.PyO3,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- optional=optional,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- RustExtension(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "dulwich._pack",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "crates/pack/Cargo.toml",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- binding=Binding.PyO3,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- optional=optional,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- RustExtension(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "dulwich._diff_tree",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "crates/diff-tree/Cargo.toml",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- binding=Binding.PyO3,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- optional=optional,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Ideally, setuptools would just provide a way to do this
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-if "--pure" in sys.argv:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- sys.argv.remove("--pure")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if "PURE" in os.environ or "--pure" in sys.argv:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if "--pure" in sys.argv:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ sys.argv.remove("--pure")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ setup_requires = []
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rust_extensions = []
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ setup_requires = ["setuptools_rust"]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # We check for egg_info since that indicates we are running prepare_metadata_for_build_*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if "egg_info" in sys.argv:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ rust_extensions = []
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ from setuptools_rust import Binding, RustExtension
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ rust_extensions = [
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ RustExtension(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "dulwich._objects",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "crates/objects/Cargo.toml",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ binding=Binding.PyO3,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ optional=optional,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ RustExtension(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "dulwich._pack",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "crates/pack/Cargo.toml",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ binding=Binding.PyO3,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ optional=optional,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ RustExtension(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "dulwich._diff_tree",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "crates/diff-tree/Cargo.toml",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ binding=Binding.PyO3,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ optional=optional,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ setup(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ package_data={"": ["py.typed"]},
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rust_extensions=rust_extensions,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ setup_requires=setup_requires,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tests_require=tests_require,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ )
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-dulwich/files/patch-strnlen-lion.diff b/python/py-dulwich/files/patch-strnlen-lion.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..22d5b55eaa8
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-dulwich/files/patch-strnlen-lion.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- dulwich/_objects.c~ 2011-11-06 13:52:35.000000000 +1100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ dulwich/_objects.c 2011-11-06 13:52:41.000000000 +1100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -25,7 +25,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ typedef int Py_ssize_t;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if defined(__MINGW32_VERSION) || defined(__APPLE__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(__MINGW32_VERSION) || (defined(__APPLE__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1070)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size_t rep_strnlen(char *text, size_t maxlen);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size_t rep_strnlen(char *text, size_t maxlen)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span></pre><pre style='margin:0'>
</pre>