Subject: Re: bug#61684: can't compose 'with-patch' with 'with-source'

From: Simon Tournier <[email-masked]>
Date: Fri, 24 Feb 2023 14:43:03 +0100

Hi Maxim,

On ven., 24 févr. 2023 at 08:21, Maxim Cournoyer <[email-masked]> wrote:

>> Well, I am not convinced that enforce the ordering is a good thing
>> because as Ludo said, some HPC user exploits this control of ordering to
>> generate complex transformations.
>
> Could we gather more information about that use case?  It needs to be
> clear if we are to constrain the design (solution) by it.

Well, I do not have the details.  Just to mention two presentations
[1,2] exposing how transformations help for them.

1: <https://10years.guix.gnu.org/static/slides/07-swartvagher.pdf>
2: <https://hpc.guix.info/static/doc/atelier-reproductibilit%C3%A9-2021/marek-fel%C5%A1%C3%B6ci-org-guix.pdf>

There they intensively uses transformations.  For instance, p.4 of [2]
it reads,

        guix environment --pure --with-input=pastix-5=pastix-5-mkl \
        --with-input=mumps-scotch-openmpi=mumps-mkl-scotch-openmpi \
        --with-input=openblas=mkl --with-git-url=gcvb=$HOME/src/gcvb \
        --with-commit=gcvb=40d88ba241db4c71ac3e1fe8024fba4d906f45b1 \
        --preserve=^SLURM --ad-hoc bash coreutils inetutils findutils \
        grep sed bc openssh python python-psutil gcvb scab slurm@19 openmpi

For this specific example, the order may or not matter.  The point is
that HPC folks are intensively using transformations and, since the
order currently matters, enforcing one specific order could break their
workflow, and even could make impossible what is currently possible.

Quoting Ludo,

                                                 (this is crucial for our HPC
        users, who routinely combine a whole bunch of options; you have no idea
        how far they go once you give them the tool :-))

        <https://issues.guix.gnu.org/msgid/[email-masked]>

and I agree with « you have no idea how far they go once you give them
the tool :-)) ».

For what my opinion is worth. :-)

Cheers,
simon