Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 3 Jan 2025 13:02:41 +0100
From:      Piotr Smyrak <ps.ports@smyrak.com>
To:        FreeBSD Ports ML <freebsd-ports@freebsd.org>
Cc:        Xavier Humbert <xavier@groumpf.org>
Subject:   Re: Why does it take so long to build some Python ports
Message-ID:  <20250103130241.00fa8099@daleth.home>
In-Reply-To: <6a3ab2e1-9d33-4a3e-9fd5-c1d86a91ec46@groumpf.org>
References:  <6a3ab2e1-9d33-4a3e-9fd5-c1d86a91ec46@groumpf.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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
>=20
> Ex :
>=20
> running egg_info
> writing src/charset_normalizer.egg-info/PKG-INFO
> writing dependency_links to=20
> src/charset_normalizer.egg-info/dependency_links.txt
> writing entry points to
> src/charset_normalizer.egg-info/entry_points.txt writing requirements
> to src/charset_normalizer.egg-info/requires.txt writing top-level
> names to src/charset_normalizer.egg-info/top_level.txt
>=20
> *pstree -w *shows :
>=20
> | |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 \-+- 64353 root /usr/local/bin/python3.11 -m build=20
> --no-isolation --wheel
> | |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 \-+- 64468 root /usr/local/bin/python3.11=20
> /usr/local/lib/python3.11/site-packages/pyproject_hooks/_in_process/_in_p=
rocess.py=20
> build_wheel /tmp/tmptnbyl41r
> | |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 \--- 64471 root git archive --prefix
> /usr/ports/ HEAD
>=20
> What is the purpose of *git archive* ?

There is no invocation of "git archive" in /usr/ports/Mk/Uses/py*
Python port mechanism, in fact neither in the whole subtree of
/usr/ports/Mk. Which means this is not ports that make use of it, but
rather upstream tooling.

I suspect what you are observing is actually a code if the
py-setuptools-scm package:

Name           : py311-setuptools-scm
Version        : 8.0.4
Origin         : devel/py-setuptools-scm
WWW            : https://github.com/pypa/setuptools_scm
Comment        : Setuptools plugin to manage your versions by scm tags
Description    :
Handles managing your python package versions in scm metadata instead of
declaring them as the version argument or in a scm managed file.

HTH,
--=20
 Piotr Smyrak



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20250103130241.00fa8099>