Date: Sat, 04 Dec 2021 22:05:11 +0000 From: bugzilla-noreply@freebsd.org To: python@FreeBSD.org Subject: [Bug 259981] devel/py-setuptools_scm: Fix incorrect *_DEPENDS, causing devel/py-pyparsing (and others) Fails to configure: The 'packaging>=20.0' distribution was not found Message-ID: <bug-259981-21822-EYVD7KGW5e@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-259981-21822@https.bugs.freebsd.org/bugzilla/> References: <bug-259981-21822@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D259981 --- Comment #6 from Stefan E=C3=9Fer <se@FreeBSD.org> --- I can confirm that py-setuptools_scm installed prevents building of other Python ports, if py-packaging or py-pyparsing are not available. But I do not see any issue when updating these ports with portmaster. I have tested all permutations of port names in the following command: # portmaster devel/py-pyparsing devel/py-packaging devel/py-setuptools_scm And in all cases the re-installation succeeded (as would have a port upgrad= e): =3D=3D=3D>>> The following actions were performed: Re-installation of py38-pyparsing-3.0.6 Re-installation of py38-packaging-21.3 Re-installation of py38-setuptools_scm-6.3.2 The dependency checks performed by portmaster are somewhat different from t= hose performed by a plain make, since portmaster plans all updates before starti= ng the first one. But the updates are then performed in the same way as by a plain "make all deinstall install" in the port directory. Portmaster considers RUN_DEPENDS to actually mean that, i.e. a dependency t= hat has to be provided to run the program built by the port. This is different = from a plain "make", since that performs builds and installations of RUN_TIME dependencies before starting the "stage" phase. But this difference is irrelevant for this PR. A solution to this issue might be to treat a missing py-pyparsing or py-packaging in the same way as if py-setuptools_scm was not installed. The huge majority of Python ports does not depend on py-setuptools_scm - specifically py-packaging and py-pyparsing do not depend on it. (Of more th= an 7000 devel/py-* ports less than 70 directly depend on py-setuptools_scm.) But if py-setuptools_scm *is* installed, a missing py-pyparsing oder py-packages does suddenly become a configure dependency, since py-setuptools_scm is (unnecessarily) invoked, but fails due to the missing run-time dependency. Thus, a missing py-pyparsing or py-packaging should not cause py-setuptools= _scm to fail in such a way, that setup.py is stopped. For ports that do not dire= ctly depend on py-setuptools_scm, such a failure should be ignored. --=20 You are receiving this mail because: You are on the CC list for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-259981-21822-EYVD7KGW5e>