Subject: [PATCH 0/5] gnu: python-vedo: Update to 2022.2.0 and sanity-check failures.
From: "Paul A. Patience" <[email-masked]>
To: [email-masked]
Cc: "Paul A. Patience" <[email-masked]>
Date: Tue, 12 Apr 2022 01:21:57 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello,

The following patch series updates python-vedo to its latest version,
and also adds support for the #:tests? flag to fenics-dolfin, fenics and
python-vedo.

Unfortunately, I can't get fenics or python-vedo to build except by
deleting the sanity-check phase, and this even before applying any of my
patches.
(I've confirmed that my patches are correct by testing the builds
without sanity-checks, so applying them shouldn't be an issue.)

The following is the sanity-check error obtained when building fenics:

starting phase `sanity-check'
validating 'fenics-dolfin' /gnu/store/lkb8mx8dk82znkzfgnx1k1mklaj9b34d-fenics-2019.1.0.post0/lib/python3.9/site-packages
...checking requirements: ERROR: fenics-dolfin==2019.1.0 ContextualVersionConflict(pybind11 2.8.1 (/gnu/store/qmxw9dqqywrlllzlidv09f2nazirjwk7-pybind11-2.8.1/lib/python3.9/site-packages), Requirement.parse('pybind11==2.2.4'), {'fenics-dolfin'})
error: in phase 'sanity-check': uncaught exception:
%exception #<&invoke-error program: "python" arguments: ("/gnu/store/35ix1m6m8a5s21j02ajhdyqxb2xkshfb-sanity-check.py" "/gnu/store/lkb8mx8dk82znkzfgnx1k1mklaj9b34d-fenics-2019.1.0.post0/lib/python3.9/site-packages") exit-status: 1 term-signal: #f stop-signal: #f>
phase `sanity-check' failed after 0.2 seconds

Note that it complains that pybind11 is not at version 2.2.4, but when
fenics was last updated (in commit 37bb0d1eafb3f08a204aed8c928cbf7cbc69cd19),
the version of pybind11 at the time was 2.3.0, so this would appear to
be either a new issue, or an issue specific to my machine (foreign distro).

The sanity-check errors from vedo are similarly bizarre -- they complain
about a missing vtk, but it is there in the propagated inputs.

With old version of python-vedo:

starting phase `sanity-check'
validating 'vedo' /gnu/store/4h10widg2y0nhvacz8mricn187qzw9dq-python-vedo-2021.0.3/lib/python3.9/site-packages
...checking requirements: ERROR: vedo==2021.0.3 DistributionNotFound(Requirement.parse('vtk'), {'vedo'})
error: in phase 'sanity-check': uncaught exception:
%exception #<&invoke-error program: "python" arguments: ("/gnu/store/35ix1m6m8a5s21j02ajhdyqxb2xkshfb-sanity-check.py" "/gnu/store/4h10widg2y0nhvacz8mricn187qzw9dq-python-vedo-2021.0.3/lib/python3.9/site-packages") exit-status: 1 term-signal: #f stop-signal: #f>
phase `sanity-check' failed after 0.2 seconds

With updated version of python-vedo (i.e., including the
python-deprecated propagated input):

starting phase `sanity-check'
validating 'vedo' /gnu/store/a6g20gkvi1l70arh2rm53x7gm30dzqcp-python-vedo-2022.2.0/lib/python3.9/site-packages
...checking requirements: ERROR: vedo==2022.2.0 DistributionNotFound(Requirement.parse('vtk<9.1.0'), {'vedo'})
error: in phase 'sanity-check': uncaught exception:
%exception #<&invoke-error program: "python" arguments: ("/gnu/store/35ix1m6m8a5s21j02ajhdyqxb2xkshfb-sanity-check.py" "/gnu/store/a6g20gkvi1l70arh2rm53x7gm30dzqcp-python-vedo-2022.2.0/lib/python3.9/site-packages") exit-status: 1 term-signal: #f stop-signal: #f>
phase `sanity-check' failed after 0.2 seconds

The latest commit of fenics (there isn't a newer release than the one
included in Guix) no longer requires a specific version of pybind11 [1],
and in addition, it seems the focus is on the dolfinx project [2] rather
than dolfin (dolfin is already considered legacy [3]), so perhaps it
would be worth updating the fenics package to the latest git commit.

That wouldn't solve the problem python-vedo's sanity-check is
encountering, though.

Any help would be appreciated.

Best regards,
Paul

[1]: https://bitbucket.org/fenics-project/dolfin/src/d29e24d19eab5200a55e43a3e18e1f38214fb5a8/python/setup.py#lines-22)
[2]: https://github.com/FEniCS/dolfinx
[3]: https://fenicsproject.org/

Paul A. Patience (5):
  gnu: fenics-dolfin: Honor #:tests? flag.
  gnu: fenics: Honor #:tests? flag.
  gnu: python-vedo: Honor #:tests? flag.
  gnu: python-vedo: Remove input labels.
  gnu: python-vedo: Update to 2022.2.0.

 gnu/packages/python-science.scm | 35 ++++++++++++++++----------------
 gnu/packages/simulation.scm     | 36 +++++++++++++++++----------------
 2 files changed, 37 insertions(+), 34 deletions(-)

--
2.35.1