<pre style='margin:0'>
Dan Villiom Podlaski Christiansen (danchr) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/0f7c62a0200e1add72f13d4af9806f055f24c4f9">https://github.com/macports/macports-ports/commit/0f7c62a0200e1add72f13d4af9806f055f24c4f9</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 0f7c62a0200 mercurial: fix issues in port
</span>0f7c62a0200 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 0f7c62a0200e1add72f13d4af9806f055f24c4f9
</span>Author: Dan Villiom Podlaski Christiansen <danchr@macports.org>
AuthorDate: Wed May 14 14:40:43 2025 +0200

<span style='display:block; white-space:pre;color:#404040;'>    mercurial: fix issues in port
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    This reinstates the experimental Rust extensions as a separate port,
</span><span style='display:block; white-space:pre;color:#404040;'>    configures Mercurial to optionally load them, and reintroduces the
</span><span style='display:block; white-space:pre;color:#404040;'>    manual pages, which still require GNU Make to build.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Fixes: https://trac.macports.org/ticket/72455
</span>---
 devel/mercurial/Portfile               | 187 +++++++++++++++++++++------------
 devel/mercurial/files/allow_rust.diff  |  28 +++++
 devel/mercurial/files/hg.diff          |   4 +-
 devel/mercurial/files/makefile.diff    |   4 +-
 devel/mercurial/files/rust_darwin.diff |  29 +++++
 devel/mercurial/files/setup_py.diff    |   4 +-
 6 files changed, 182 insertions(+), 74 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/mercurial/Portfile b/devel/mercurial/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 170ee3cd962..3edcfb31c21 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/mercurial/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/mercurial/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,11 +1,12 @@
</span> # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
 
 PortSystem          1.0
<span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           compiler_blacklist_versions 1.0
</span> PortGroup           python 1.0
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset rust]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${subport} eq "mercurial-rustext"} {
</span>     # see https://trac.macports.org/ticket/63834
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    PortGroup       rust 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    PortGroup       cargo 1.0
</span> }
 
 name                mercurial
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -14,7 +15,7 @@ name                mercurial
</span> # also, please remember that the rust variant needs love too:
 # cargo2port rust/Cargo.lock | pbcopy
 version             7.0.2
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            3
</span> categories          devel python
 license             GPL-2+
 maintainers         {danchr @danchr}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -43,101 +44,151 @@ checksums           ${distname}${extract.suffix}  \
</span>                     size    8981974
 
 python.default_version 313
<span style='display:block; white-space:pre;background:#ffe0e0;'>-python.pep517       no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+python.pep517       yes
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# https://trac.macports.org/ticket/65938
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler.blacklist-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${name} eq ${subport}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # https://trac.macports.org/ticket/65938
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    compiler.blacklist-append \
</span>                     *gcc-4.0 *gcc-4.2 {clang < 421}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_build-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    bin:${prefix}/bin/make:gmake \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    bin:${prefix}/bin/gmake:gmake \
</span>                     port:gettext \
                     port:py${python.version}-setuptools \
                     port:py${python.version}-setuptools_scm \
                     port:py${python.version}-docutils
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_run         path:share/curl/curl-ca-bundle.crt:curl-ca-bundle \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_run     \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    path:share/curl/curl-ca-bundle.crt:curl-ca-bundle \
</span>                     port:py${python.version}-re2 \
                     port:py${python.version}-gnureadline
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-patch.pre_args-replace  -p0 -p1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles          setup_py.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patch.pre_args-replace  -p0 -p1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles      setup_py.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    allow_rust.diff \
</span>                     hg.diff \
                     makefile.diff
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-build.env-append    PYTHON=${python.bin} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.env-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    PYTHON=${python.bin} \
</span>                     COMPILERFLAG=-j${build.jobs} \
                     HGPATH=${prefix}/bin/hg \
                     HGEXTDIR=${python.pkgd}/hgext
<span style='display:block; white-space:pre;background:#ffe0e0;'>-destroot.env-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    destroot.env-append \
</span>                     PYTHON=${python.bin} \
                     COMPILERFLAG=-j${build.jobs} \
                     HGPATH=${prefix}/bin/hg \
                     HGEXTDIR=${python.pkgd}/hgext
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-post-patch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    reinplace "s/@BUILD_JOBS@/${build.jobs}/" ${worksrcpath}/setup.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace "s/@BUILD_JOBS@/${build.jobs}/" ${worksrcpath}/setup.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# https://trac.macports.org/ticket/71405
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[string match *gcc* ${configure.compiler}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    build.cmd-prepend \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # https://trac.macports.org/ticket/71405
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[string match *gcc* ${configure.compiler}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        build.cmd-prepend \
</span>                     CFLAGS=-Wno-error=incompatible-pointer-types
<span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-post-destroot {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    reinplace "1s,.*,#!${python.bin}," ${destroot}${python.prefix}/bin/hg
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # configure ssl certificates
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -d -m 755 ${destroot}${prefix}/etc/mercurial
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -d -m 755 ${destroot}${prefix}/etc/mercurial/hgrc.d
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -d -m 755 ${destroot}${prefix}/share/doc/mercurial
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m 644 ${filespath}/hgrc \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${destroot}${prefix}/etc/mercurial/hgrc.default
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    reinplace "s|%%PREFIX%%|${prefix}|g" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${destroot}${prefix}/etc/mercurial/hgrc.default
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # install html docs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m 644 -W ${worksrcpath}/doc hg.1.html hgrc.5.html hgignore.5.html \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${destroot}${prefix}/share/doc/mercurial
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # install contrib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -d -m 755 ${destroot}${prefix}/share/mercurial
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    file copy ${worksrcpath}/contrib ${destroot}${prefix}/share/mercurial/contrib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    file copy ${worksrcpath}/tests/run-tests.py ${destroot}${prefix}/share/mercurial/contrib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # exclude some cruft and nested packages
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    file delete -force \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${destroot}${prefix}/share/mercurial/contrib/automation \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${destroot}${prefix}/share/mercurial/contrib/chg \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${destroot}${prefix}/share/mercurial/contrib/fuzz \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${destroot}${prefix}/share/mercurial/contrib/packaging \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${destroot}${prefix}/share/mercurial/contrib/plan9 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${destroot}${prefix}/share/mercurial/contrib/python-zstandard \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${destroot}${prefix}/share/mercurial/contrib/win32 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${destroot}${python.pkgd}/hgext3rd
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # copy hgweb.cgi hgwebdir.cgi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    file copy ${worksrcpath}/hgweb.cgi ${destroot}${prefix}/share/mercurial/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # copy hgk, the visual history browser
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    file copy ${worksrcpath}/contrib/hgk ${destroot}${prefix}/bin/hgk
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # copy completions, etc.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    foreach f [glob ${destroot}${python.prefix}/share/*] {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        file rename $f ${destroot}${prefix}/share/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    post-build {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # build manual pages
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        system -W "${worksrcpath}/doc" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            "gmake -j ${build.jobs} all PYTHON=${python.bin}"
</span>     }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-post-activate {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {![file exists ${prefix}/etc/mercurial/hgrc]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        copy ${prefix}/etc/mercurial/hgrc.default ${prefix}/etc/mercurial/hgrc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace "1s,.*,#!${python.bin}," ${destroot}${python.prefix}/bin/hg
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # install manual pages
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        system -W "${worksrcpath}/doc"  \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            "gmake -j ${build.jobs} install PYTHON=${python.bin} DESTDIR=${destroot} PREFIX=${prefix}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # configure ssl certificates
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        xinstall -d -m 755 ${destroot}${prefix}/etc/mercurial
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        xinstall -d -m 755 ${destroot}${prefix}/etc/mercurial/hgrc.d
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        xinstall -d -m 755 ${destroot}${prefix}/share/doc/mercurial
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        xinstall -m 644 ${filespath}/hgrc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${destroot}${prefix}/etc/mercurial/hgrc.default
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace "s|%%PREFIX%%|${prefix}|g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${destroot}${prefix}/etc/mercurial/hgrc.default
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # install html docs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        xinstall -m 644 -W ${worksrcpath}/doc hg.1.html hgrc.5.html hgignore.5.html \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${destroot}${prefix}/share/doc/mercurial
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # install contrib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        xinstall -d -m 755 ${destroot}${prefix}/share/mercurial
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file copy ${worksrcpath}/contrib ${destroot}${prefix}/share/mercurial/contrib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file copy ${worksrcpath}/tests/run-tests.py ${destroot}${prefix}/share/mercurial/contrib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # exclude some cruft and nested packages
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file delete -force \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${destroot}${prefix}/share/mercurial/contrib/automation \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${destroot}${prefix}/share/mercurial/contrib/chg \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${destroot}${prefix}/share/mercurial/contrib/fuzz \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${destroot}${prefix}/share/mercurial/contrib/packaging \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${destroot}${prefix}/share/mercurial/contrib/plan9 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${destroot}${prefix}/share/mercurial/contrib/python-zstandard \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${destroot}${prefix}/share/mercurial/contrib/win32 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${destroot}${python.pkgd}/hgext3rd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # copy hgweb.cgi hgwebdir.cgi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file copy ${worksrcpath}/hgweb.cgi ${destroot}${prefix}/share/mercurial/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # copy hgk, the visual history browser
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file copy ${worksrcpath}/contrib/hgk ${destroot}${prefix}/bin/hgk
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # copy completions, etc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        foreach f [glob ${destroot}${python.prefix}/share/*] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            file rename $f ${destroot}${prefix}/share/
</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;'>+    post-activate {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {![file exists ${prefix}/etc/mercurial/hgrc]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            copy ${prefix}/etc/mercurial/hgrc.default ${prefix}/etc/mercurial/hgrc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variant rust description {Enable experimental Rust optimizations} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    build.env-append HGWITHRUSTEXT=cpython CARGO_BUILD_TARGET=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    destroot.env-append HGWITHRUSTEXT=cpython CARGO_BUILD_TARGET=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+subport mercurial-rustext {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    description \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        Experimental Rust optimizations for Mercurial
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    long_description ${description}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_run \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        port:mercurial
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.dir       ${worksrcpath}/rust
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.env-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        PYTHON_SYS_EXECUTABLE=${python.bin} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        PYTHONEXECUTABLE=${python.bin} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        PYTHON=${python.bin} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        PYO3_PYTHON=${python.bin}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patch.pre_args-replace  -p0 -p1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles      rust_darwin.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set targetpath \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${worksrcpath}/rust/target/[cargo.rust_platform]/release
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set suffix \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            [exec \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 ${python.bin} -c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 "import sysconfig; print(sysconfig.get_config_var(\"EXT_SUFFIX\"))" \
</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;'>+        xinstall -d ${destroot}${python.pkgd}/mercurial ${prefix}/bin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        xinstall \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${targetpath}/librusthg.dylib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${destroot}${python.pkgd}/mercurial/rustext${suffix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        xinstall \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${targetpath}/librusthgpyo3.dylib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${destroot}${python.pkgd}/mercurial/pyo3_rustext${suffix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        xinstall \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${targetpath}/rhg \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${destroot}${prefix}/bin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span> 
     cargo.crates \
     adler2                           2.0.0  512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627 \
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/mercurial/files/allow_rust.diff b/devel/mercurial/files/allow_rust.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..4091f060235
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/mercurial/files/allow_rust.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,28 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# HG changeset patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Date 1747228504 -7200
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#      Wed May 14 15:15:04 2025 +0200
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Branch stable
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Node ID 2f32cc33c8c68d1a20bd8427e293433e5d15b8cd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Parent  809a4c4725436a6f3755e58cb864faed4264ad25
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# EXP-Topic patches
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+allow_rust
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</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;'>+--- a/setup.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/setup.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -495,13 +495,7 @@ class hgbuildpy(build_py):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     def run(self):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         rust = self.distribution.rust
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        if self.distribution.pure:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            modulepolicy = 'py'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        elif self.build_lib == '.':
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            # in-place build should run without rebuilding and Rust extensions
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            modulepolicy = 'rust+c-allow' if rust else 'allow'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        else:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            modulepolicy = 'rust+c' if rust else 'c'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        modulepolicy = 'rust+c-allow'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         content = b''.join(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             [
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/mercurial/files/hg.diff b/devel/mercurial/files/hg.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index e2728cb79a1..8a58eaa565b 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/mercurial/files/hg.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/mercurial/files/hg.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3,8 +3,8 @@
</span> # Date 1678122146 -3600
 #      Mon Mar 06 18:02:26 2023 +0100
 # Branch stable
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Node ID e6286ab9d66a0661fe5a34444be9621181f54530
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Parent  010a86744bfc6ede2e3ed3ecef3faee0de804f47
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Node ID 6299de7640978d4ac095f8f2f39e531ef5b06409
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Parent  a498a90c2455a9da9b71cf208274572152b9826e
</span> # EXP-Topic patches
 hg
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/mercurial/files/makefile.diff b/devel/mercurial/files/makefile.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index 3be15604726..e6e9e2a753c 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/mercurial/files/makefile.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/mercurial/files/makefile.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3,8 +3,8 @@
</span> # Date 1678122147 -3600
 #      Mon Mar 06 18:02:27 2023 +0100
 # Branch stable
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Node ID 6008a4450ee3d85a2aa88eaae601984cd10441fe
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Parent  e6286ab9d66a0661fe5a34444be9621181f54530
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Node ID c499b1c999728ea3d078dee36b83508bbebe003d
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Parent  6299de7640978d4ac095f8f2f39e531ef5b06409
</span> # EXP-Topic patches
 makefile
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/mercurial/files/rust_darwin.diff b/devel/mercurial/files/rust_darwin.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..e6082d0c97b
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/mercurial/files/rust_darwin.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,29 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# HG changeset patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Date 1747225899 -7200
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#      Wed May 14 14:31:39 2025 +0200
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Branch stable
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Node ID 809a4c4725436a6f3755e58cb864faed4264ad25
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Parent  8c0474a25ff0c788b147ce6381ffbb2435c1c4c2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# EXP-Topic patches
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+rust_darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/rust/.cargo/config.toml b/rust/.cargo/config.toml
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/rust/.cargo/config.toml
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/rust/.cargo/config.toml
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -5,3 +5,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # (which would be loaded first).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [target.'cfg(target_os = "windows")']
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rustflags = ["-Ctarget-feature=+crt-static"]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++[target.x86_64-apple-darwin]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++rustflags = [
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  "-C", "link-arg=-undefined",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  "-C", "link-arg=dynamic_lookup",
</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;'>++[target.aarch64-apple-darwin]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++rustflags = [
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  "-C", "link-arg=-undefined",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  "-C", "link-arg=dynamic_lookup",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++]
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/mercurial/files/setup_py.diff b/devel/mercurial/files/setup_py.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index f3538e50f79..3461cc3ea84 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/mercurial/files/setup_py.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/mercurial/files/setup_py.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3,8 +3,8 @@
</span> # Date 1678122149 -3600
 #      Mon Mar 06 18:02:29 2023 +0100
 # Branch stable
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Node ID 45f995017b191ad504ac6dced4f694b39e0747e7
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Parent  6008a4450ee3d85a2aa88eaae601984cd10441fe
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Node ID 8c0474a25ff0c788b147ce6381ffbb2435c1c4c2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Parent  c499b1c999728ea3d078dee36b83508bbebe003d
</span> # EXP-Topic patches
 setup_py
 
</pre><pre style='margin:0'>

</pre>