Subject: Re: [bug#28045] [PATCH] gnu: Add openfoam

From: Eric Bavier <[email-masked]>
Date: Fri, 8 Sep 2017 11:34:58 -0400 (EDT)

----- Original Message -----
> Hi Ludo,
> 
> 
> > Does it address the use case you have in mind?
> 
> Yes, I think that both the multiple-profile solution and the 'ad-hoc'
> environment will work for Guix/OpenFOAM.
> 
> The traditional method of installing multiple OpenFOAM versions is to
> install to a common $FOAM_INST_DIR directory.  However, as you point
> out, this is not strictly necessary and does not provide any
> advantage
> in the Guix system.
> 
> So, continuing the 'middle road' line of thought, the 'install-dir'
> variable would be modified to add a '/lib' element:
> 
> -                                %output "/OpenFOAM-" ,version)))
> +                                %output "/OpenFOAM-" ,version
> "/lib")))
> 
> You suggest adding a link between bin and lib/OpenFOAM-
> 4.1/platforms/linux64GccDPInt32Opt/bin.  What would be the best way
> to
> add this to the package definition?
> 
> There could also be a link between lib and lib/OpenFOAM-
> 4.1/platforms/linux64GccDPInt32Opt/lib.
> 
> The links would allow the runpaths to be validated.  So;
> 
> -       #:validate-runpath? #f ; '#:elf-directories' is not
> recognised
> here
> 
> The FOAM_INST_DIR variable would need to be updated:
> 
> -            (files '(".")))))
>  +          (files '("./lib")))))
> 
> WDYT?> 

It seems to me that if using Guix's profiles and environments, we could entirely do without OpenFOAM's installation directories and simply install into a standard bin/lib structure.  Just install libraries into (string-append %output "/lib") and the binaries into (string-append %output "/bin").

`~Eric