mbox series

[bug#33059,v2,0/9] Add the FEniCS Project, v2 patches

Message ID 1542038441-5738-1-git-send-email-pgarlick@tourbillion-technology.com
Headers show
Series Add the FEniCS Project, v2 patches | expand

Message

Paul Garlick Nov. 12, 2018, 4 p.m. UTC
Hi Efraim, Hi Eric, Hi Ludo,

Thank you for your comments on the patch series for the FEniCS Project
packages.  I have been able to make changes to address all of the
suggestions with one exception, noted below.

The main differences between the original and v2 patches are:

i) python-mpi4py is now part of (gnu packages mpi)
ii) python-petsc4py is now part of (gnu packages maths)
iii) python-slepc4py is now part of (gnu packages maths)
iv) temporary directory changes use 'with-directory-excursion'
v) 'substitute*' is used in preference to 'with-atomic-file-replacement'
vi) the Guix 'catch' package is used in preference to the bundled version
vii) the 'python-fenics-dolfin' package has been renamed 'fenics'
viii) the 'fenics' package has an updated home-page and synopsis

The remaining suggestion was in the 'fenics-dolfin' package:

> +                   (string-append
> +                    "set(CTEST_CUSTOM_TESTS_IGNORE "
> +                    "demo_bcs_serial "
> +                    "demo_bcs_mpi "
> +                    "demo_eigenvalue_serial "
> +                    "demo_eigenvalue_mpi "
> +                    "demo_navier-stokes_serial "

> Could we avoid listing all the files here?

I tried a few ideas to avoid listing the demos to ignore.  These are the ones
with the 'git-lfs' links.  However, this proved to be awkward.

The source code lists the demos that cmake expects to be present.  So, one
may either make a list of demos to ignore (as in the original patch) or delete
the same members from a list to include (plus delete the subdirectories
themselves).  Simply deleting the subdirectories from the build directory does
not work.  Since they exist as Makefile targets they are re-created by the
'make demos' step.

I think the original method is preferable.  An advantage is that users may
readily access the demos if they are using Guix on a host system that has
a git-lfs package available.

Best regards,

Paul.


Paul Garlick (9):
  gnu: Add python-mpi4py.
  gnu: Add python-petsc4py.
  gnu: Add python-slepc4py.
  gnu: Add python-fenics-dijitso.
  gnu: Add python-fenics-ufl.
  gnu: Add python-fenics-fiat.
  gnu: Add python-fenics-ffc.
  gnu: Add fenics-dolfin.
  gnu: Add fenics.

 gnu/packages/maths.scm      |  72 +++++++
 gnu/packages/mpi.scm        |  42 ++++
 gnu/packages/simulation.scm | 490 +++++++++++++++++++++++++++++++++++++++++++-
 3 files changed, 603 insertions(+), 1 deletion(-)

Comments

Ludovic Courtès Nov. 14, 2018, 8:38 p.m. UTC | #1
Hello Paul and all,

Paul Garlick <pgarlick@tourbillion-technology.com> skribis:

> Hi Efraim, Hi Eric, Hi Ludo,
>
> Thank you for your comments on the patch series for the FEniCS Project
> packages.  I have been able to make changes to address all of the
> suggestions with one exception, noted below.
>
> The main differences between the original and v2 patches are:
>
> i) python-mpi4py is now part of (gnu packages mpi)
> ii) python-petsc4py is now part of (gnu packages maths)
> iii) python-slepc4py is now part of (gnu packages maths)
> iv) temporary directory changes use 'with-directory-excursion'
> v) 'substitute*' is used in preference to 'with-atomic-file-replacement'
> vi) the Guix 'catch' package is used in preference to the bundled version
> vii) the 'python-fenics-dolfin' package has been renamed 'fenics'
> viii) the 'fenics' package has an updated home-page and synopsis
>
> The remaining suggestion was in the 'fenics-dolfin' package:
>
>> +                   (string-append
>> +                    "set(CTEST_CUSTOM_TESTS_IGNORE "
>> +                    "demo_bcs_serial "
>> +                    "demo_bcs_mpi "
>> +                    "demo_eigenvalue_serial "
>> +                    "demo_eigenvalue_mpi "
>> +                    "demo_navier-stokes_serial "
>
>> Could we avoid listing all the files here?
>
> I tried a few ideas to avoid listing the demos to ignore.  These are the ones
> with the 'git-lfs' links.  However, this proved to be awkward.
>
> The source code lists the demos that cmake expects to be present.  So, one
> may either make a list of demos to ignore (as in the original patch) or delete
> the same members from a list to include (plus delete the subdirectories
> themselves).  Simply deleting the subdirectories from the build directory does
> not work.  Since they exist as Makefile targets they are re-created by the
> 'make demos' step.
>
> I think the original method is preferable.  An advantage is that users may
> readily access the demos if they are using Guix on a host system that has
> a git-lfs package available.

Thanks a lot for taking the time to address the comments we made on this
patch series.  I’ve applied the whole series on ‘master’; everything
lints and builds for me on x86_64-linux (there are new versions of the
PETSc and SLEPSc bindings available, BTW.)

Thank you!

Ludo’.