Re: Error compiling textproc/py-rich

From: Matthew Seaman <matthew_at_FreeBSD.org>
Date: Sat, 03 Jun 2023 16:17:25 UTC
On 03/06/2023 16:07, Xavier Humbert wrote:
> Hi,
> 
> I'm unable to compile textproc/py-rich :
> 
>> [root@numenor py-rich]# make all
>> ===>  Building for py39-rich-13.4.1
>> * Getting build dependencies for wheel...
>>
>> Traceback (most recent call last):
>>   File 
>> "/usr/local/lib/python3.9/site-packages/pyproject_hooks/_impl.py", 
>> line 321, in _call_hook
>>     raise BackendUnavailable(data.get('traceback', ''))
>> pyproject_hooks._impl.BackendUnavailable: Traceback (most recent call 
>> last):
>>   File 
>> "/usr/local/lib/python3.9/site-packages/pyproject_hooks/_in_process/_in_process.py", line 77, in _build_backend
>>     obj = import_module(mod_path)
>>   File "/usr/local/lib/python3.9/importlib/__init__.py", line 127, in 
>> import_module
>>     return _bootstrap._gcd_import(name[level:], package, level)
>>   File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
>>   File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
>>   File "<frozen importlib._bootstrap>", line 972, in 
>> _find_and_load_unlocked
>>   File "<frozen importlib._bootstrap>", line 228, in 
>> _call_with_frames_removed
>>   File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
>>   File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
>>   File "<frozen importlib._bootstrap>", line 972, in 
>> _find_and_load_unlocked
>>   File "<frozen importlib._bootstrap>", line 228, in 
>> _call_with_frames_removed
>>   File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
>>   File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
>>   File "<frozen importlib._bootstrap>", line 984, in 
>> _find_and_load_unlocked
>> ModuleNotFoundError: No module named 'poetry.core'
>>
>> _*ERROR Backend 'poetry.core.masonry.api' is not available.*_
>> *** Error code 1
>>
> I have these ports installed :
> 
> [root@numenor py-rich]# pkg info \*poetry\*
> py39-poetry-1.3.2_2
> py39-poetry-core-1.4.0_2
> py39-poetry-plugin-export-1.3.1
> 

I'm the maintainer for testproc/py-rich.  I'm afraid I can't reproduce 
what you're seeing.  It builds perfectly well for me, either in 
poudriere or just from the command line:

```
pkg:~...ports/textproc/py-rich:% make -V BUILD_DEPENDS
py310-poetry-core>=1.0.0:devel/py-poetry-core@py310 
/usr/local/bin/python3.10:lang/python310 
py310-build>=0:devel/py-build@py310 
py310-installer>=0:devel/py-installer@py310
pkg:~...ports/textproc/py-rich:% sudo pkg install -A py310-poetry-core 
py310-build py310-installer
Updating infracaninophile repository catalogue...
infracaninophile repository is up to date.
All repositories are up to date.
The following 6 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
	py310-build: 0.10.0_2
	py310-installer: 0.7.0
	py310-packaging: 23.1
	py310-poetry-core: 1.4.0_2
	py310-pyproject_hooks: 1.0.0_2
	py310-tomli: 2.0.1_2

Number of packages to be installed: 6

The process will require 7 MiB more space.
1 MiB to be downloaded.

Proceed with this action? [y/N]: y
[...]
pkg:~...ports/textproc/py-rich:% make
===>  License MIT accepted by the user
===>   py310-rich-13.4.1 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by py310-rich-13.4.1 for building
===>  Extracting for py310-rich-13.4.1
=> SHA256 Checksum OK for Textualize-rich-v13.4.1_GH0.tar.gz.
===>  Patching for py310-rich-13.4.1
===>   py310-rich-13.4.1 depends on package: py310-poetry-core>=1.0.0 - 
found
===>   py310-rich-13.4.1 depends on file: /usr/local/bin/python3.10 - found
===>   py310-rich-13.4.1 depends on package: py310-build>=0 - found
===>   py310-rich-13.4.1 depends on package: py310-installer>=0 - found
===>  Configuring for py310-rich-13.4.1
===>  Building for py310-rich-13.4.1
* Getting build dependencies for wheel...
* Building wheel...
Successfully built rich-13.4.1-py3-none-any.whl
===>  Staging for py310-rich-13.4.1
[...]
```

My poudriere builds cover FreeBSD 12.4 and 13.1 and all supported 
versions of python in the tree.

Are you sure that poetry-core is correctly installed?   Try `pkg delete 
-f py39-poetry-core ; pkg install -A py39-poetry-core`

	Cheers,

	Matthew