From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 08 04:23:19 2017 Received: (at 28045) by debbugs.gnu.org; 8 Sep 2017 08:23:19 +0000 Received: from localhost ([127.0.0.1]:55224 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dqEZL-000893-Co for submit@debbugs.gnu.org; Fri, 08 Sep 2017 04:23:19 -0400 Received: from eggs.gnu.org ([208.118.235.92]:37046) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dqEZK-00088r-Cj for 28045@debbugs.gnu.org; Fri, 08 Sep 2017 04:23:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dqEZA-0007n0-FX for 28045@debbugs.gnu.org; Fri, 08 Sep 2017 04:23:13 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:42656) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dqEZA-0007mu-BR; Fri, 08 Sep 2017 04:23:08 -0400 Received: from [193.50.110.231] (port=57820 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1dqEZ9-0007aD-EK; Fri, 08 Sep 2017 04:23:07 -0400 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Paul Garlick Subject: Re: [PATCH] gnu: Add openfoam References: <1504105724.3260.10.camel@tourbillion-technology.com> <20170906212801.4311-1-pgarlick@tourbillion-technology.com> <87r2viwwkp.fsf@gnu.org> <1504818378.3116.38.camel@tourbillion-technology.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 22 Fructidor an 225 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-unknown-linux-gnu Date: Fri, 08 Sep 2017 10:23:05 +0200 In-Reply-To: <1504818378.3116.38.camel@tourbillion-technology.com> (Paul Garlick's message of "Thu, 07 Sep 2017 22:06:18 +0100") Message-ID: <87y3ppk39y.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 28045 Cc: 28045@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Hi Paul, Paul Garlick skribis: >> Would it be possible to follow a layout closer to what we usually do: > > There are some advantages of keeping the standard OpenFOAM layout, > different though it is. =C2=A0Firstly, if it the layout remains upstream's > responsibility it makes the Guix maintenance task simpler. =C2=A0Secondly, > OpenFOAM users will immediately recognise the standard structure. OK, makes sense. >> Or perhaps there=E2=80=99s a middle ground we could find? =C2=A0 > > Possibly but we would need to think of a way to avoid version clashes. > =C2=A0 > > One objective in packaging OpenFOAM for Guix is to allow users to have > multiple versions of OpenFOAM installed at once. =C2=A0This is a common [...] > Could we achieve this versatility using a Guix-like layout? =C2=A0A possi= ble > problem might be executable files in version B clashing with executable > files of the same name in version A, if they both share the > $GUIX_PROFILE/bin directory. If we provide a bin/ directory, then trying to install two different versions in the same profile will lead to a clash (and anyway, Guix raises an error when trying to install two different packages that have the same name in the same profile). However, Guix supports multiple profiles, so one can always do: guix package -i openfoam@1.2 -p old-openfoam guix package -i openfoam@2.0 -p new-openfoam ./old-openfoam/bin/openfoam ./new-openfoam/bin/openfoam Or, alternatively: $ guix environment --ad-hoc openfoam@3.4 [env]$ $GUIX_PROFILE/bin/=E2=80=A6 Does it address the use case you have in mind? That=E2=80=99s how we deal with conflicting package version requirements in= the vast majority of cases. There are also some packages for which upstream=E2=80=99s build system explicitly supports =E2=80=9Cparallel insta= llation=E2=80=9D of different versions (Guile, Python, GLib, etc.). Thanks, Ludo=E2=80=99.