Re: Why does it take so long to build some Python ports

From: Chris Torek <chris.torek_at_gmail.com>
Date: Sat, 04 Jan 2025 13:21:18 UTC
> On Fri, 3 Jan 2025 08:41:08 +0100
> Xavier Humbert <xavier@groumpf.org> wrote:
> > Some, but not all python ports spend a long time in building eggs
[example that runs `git archive` on /usr/ports]

On Fri, Jan 3, 2025 at 4:02 AM Piotr Smyrak <ps.ports@smyrak.com> wrote:
> I suspect what you are observing is actually [setuptools misbehaving]

This appears to be the correct answer.

/usr/local/lib/python3.11/site-packages/setuptools_scm/_file_finders/git.py
runs `git rev-parse HEAD` to detect whether there is a Git repository,
and if so, eventually runs `git archive` on it to find version information.
This interacts badly with the port build process. Fortunately there is
already a fix:

    commit deb79782a9b87c64d06441e4bf67e46bf19c45c3
    Author: Robert Clausecker <fuz@FreeBSD.org>
    Date:   Sat Nov 30 14:35:18 2024 +0100

in the ports tree sets GIT_CEILING_DIRS to prevent this problem.
Presumably you're installing from a ports tree that does not yet
have this fix in it.

See also https://reviews.freebsd.org/D47850 -- and if you do have
this commit, let us know that something isn't working here.

Chris