Subject: [bug#77537] [PATCH 0/2] gnu: netcdf-cxx4: Move netcdf to the propagated-inputs

From: Andreas Enge <[email-masked]>
Date: Mon, 7 Apr 2025 12:43:28 +0200

Hello Luca,

Am Fri, Apr 04, 2025 at 06:28:54PM +0200 schrieb Luca Cirrottola:
> Similarly, since "hdf5-parallel-openmpi" includes mpi.h in the hdf5.h
> header file, then "openmpi" should be a propagated input of
> "hdf5-parallel-openmpi".

normally this would be a reason, but here I am not totally sure.
Should it not be possible to replace openmpi by mpich, say? So the users
would be required to add any MPI library, not necessarily openmpi, to
their profile. Or is this just theory and not practice? (If I were right,
then the package might as well be renamed to "hdf5-mpi".)

I am asking because propagation should be avoided as much as possible,
since it may lead to conflicts in profiles.

If we decide to propagate, we would need a longer commit message in the
GNU/Guix style, something like:
    gnu: hdf5-parallel-openmpi: Propagate openmpi.

    * gnu/packages/maths.scm (hdf5-parallel-openmpi)[inputs]: Move hdf5 from
    here...
    [propagated-inputs]: ...to here.

> since "netcdf-cxx4" is a C++ interface to the C library "netcdf", I think the
> latter should be a propagated input.

There would be no problem with the library ("ldd libnetcdf-cxx4.so"
shows that the absolute path to the libnetcdf library is there), but
the include file requires netcdf.h. So here I agree; the reason should
be given in a comment in the packages.

I have adapted the commit message and pushed this second patch.

Thanks,

Andreas