tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

py-maturin and version requirement



In doing pkrr, I'm running into minor py-trouble.

I have DEPENDS_TARGET including bin-install.


A) The combination of pkg_chk and pkgrr doesn't handle outdated py-foo
for other than PYTHON_VERSION_DEFAULT, so py313-poetry-core didn't get
updated, and then there were PLIST errors because up-to-date poetry
declines to install things that older poetry does (which is a good fix,
but).

I resolved this by working around the failure to update which is fine.

B) py-rpds-py doesn't build because of a complain about the project toml
file syntax.   I figured out that this is because py312-maturin is old.
The plot thickens, as it wasn't replaced as mismatching.

That's because I run pkg_rolling-replace once with -uv, and that sets
mismatch and then I just use -v to repeat.   And often I "pkgin ar"
before restarting the whole process.

I now think that the issue is that  py-rpds-py includes py-maturin via
its tool.mk, which says:

  TOOL_DEPENDS+=  ${PYPKGPREFIX}-maturin-[0-9]*:../../devel/py-maturin

except that py-rpds-py needs newer:

  Running `maturin-3.12 pep517 build-wheel -i /usr/pkg/bin/python3.12 --compatibility off`
  💥 maturin failed
    Caused by: pyproject.toml at /tmp/work/devel/py-rpds-py/work/rpds_py-0.23.1/pyproject.toml is invalid
    Caused by: TOML parse error at line 11, column 17
     |
  11 | license-files = ["LICENSE"]
     |                 ^^^^^^^^^^^
  wanted string or table


Normally, you get the latest, but  due to lack of version requirement,
bin-install happily installs the old version:

  => Tool dependency py312-maturin-[0-9]*: NOT found
  => Verifying bin-install clean for ../../devel/py-maturin
  ===> Binary install for py312-maturin-[0-9]*
  => Becoming ``root'' to make su-do-bin-install (sudo)
  => Installing py312-maturin-[0-9]* from /links/packages/All
  => flags  -A  automatic yes
  py312-maturin-1.7.8 successfully installed.
  => Dropping ``root'' privileges.


After make replace in py-maturin, py-rpds-py builds ok.

Please choose, with multiple answers permitted.

  - bin-install is buggy because it should only install the version that
    would have been built

  - py-rpds-py is buggy because it requires recent maturin but doesn't
    declare that

  - py-maturin/tool.mk should require the current version because
    newfangled py-stuff is unstable and there is no argument that not
    being up-to-date is ok


But seriously, it seem like something should be fixed.

I lean to >= in py-maturin/tool.



Home | Main Index | Thread Index | Old Index