OpenMolcas

  • Open
  • quality assurance status badge
Details
5 participants
  • Andreas Enge
  • Eric Brown
  • Eric Brown
  • Sarah Morgensen
  • Ludovic Courtès
Owner
unassigned
Submitted by
Eric Brown
Severity
normal
E
E
Eric Brown wrote on 11 Sep 2018 06:23
(address . bug-guix@gnu.org)
87d0tkk6gh.fsf@fastmail.com
Dear Guix:

I am pleased to submit a patch that adds OpenMolcas to Guix. Also
included in this submission is a new variable called `openblas-ilp64'
which OpenMolcas needs to compile and run.

I would like to point out that I have already submitted the
openblas-ilp64 patch to the list for approval, and I am aware that this
submission may need to be revised to include just the program of
immediate interest.

Best regards,
Eric
L
L
Ludovic Courtès wrote on 14 Sep 2018 11:27
(name . Eric Brown)(address . brown@fastmail.com)(address . 32691@debbugs.gnu.org)
87h8isjund.fsf@gnu.org
Hi Eric,

Eric Brown <brown@fastmail.com> skribis:

Toggle quote (4 lines)
> I am pleased to submit a patch that adds OpenMolcas to Guix. Also
> included in this submission is a new variable called `openblas-ilp64'
> which OpenMolcas needs to compile and run.

Here’s a revision of the patch with several modifications: I added
comments in the patch (though they don’t explain the Python-related
changes for instance; could you add a line about these?), stripped
unnecessary additions from the patch, added it to gnu/local.mk, fixed
an issue reported by ‘guix lint’ in the description.

However, could you explain why we have #:tests? #f ? In general
disabling tests should be accompanied with a comment explaining the
reason (lack of a test suite, or “unsolvable” test failures.) If there
are test failures, we’d rather investigate than disable the tests.

Could you send an updated patch?

Thanks in advance!

Ludo’.
E
E
Eric Brown wrote on 14 Sep 2018 16:55
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 32691@debbugs.gnu.org)
87bm90uo09.fsf@fastmail.com
ludo@gnu.org (Ludovic Courtès) writes:

Toggle quote (14 lines)
> Here’s a revision of the patch with several modifications: I added
> comments in the patch (though they don’t explain the Python-related
> changes for instance; could you add a line about these?), stripped
> unnecessary additions from the patch, added it to gnu/local.mk, fixed
> an issue reported by ‘guix lint’ in the description.
>
> However, could you explain why we have #:tests? #f ? In general
> disabling tests should be accompanied with a comment explaining the
> reason (lack of a test suite, or “unsolvable” test failures.) If there
> are test failures, we’d rather investigate than disable the tests.
>
> Could you send an updated patch?
>

Hi Ludo':

Thank you for your fixes! I've attached a revised patch. I'm well beyond
my comfort zone, so I hope it applies cleanly and works.

The default location of pymolcas is a little sketchy, being placed in
the first writable location in PATH, and I believe will not be fixed
upstream:


I have added comments to the chemistry.scm file.

I have removed the out-of-source build statement and re-enabled tests,
simply by omitting those flags.

Best regards,
Eric
L
L
Ludovic Courtès wrote on 17 Sep 2018 22:58
(name . Eric Brown)(address . brown@fastmail.com)(address . 32691@debbugs.gnu.org)
875zz36du9.fsf@gnu.org
Hi Eric,

We’re almost there! :-)

Eric Brown <brown@fastmail.com> skribis:

Toggle quote (11 lines)
> Thank you for your fixes! I've attached a revised patch. I'm well beyond
> my comfort zone, so I hope it applies cleanly and works.
>
> The default location of pymolcas is a little sketchy, being placed in
> the first writable location in PATH, and I believe will not be fixed
> upstream:
>
> https://gitlab.com/Molcas/OpenMolcas/issues/70
>
> I have added comments to the chemistry.scm file.

I made small changes (moved comments about the patch at the top of the
patch; switch to ‘texlive-union’, which is much smaller than ‘texlive’),
leading to the attached patch.

It’s all good, except that the file layout really doesn’t match the
usual conventions:

Toggle snippet (27 lines)
$ find /gnu/store/6cj9n2rwsxwk582xqz2hxzlk520ghvm9-openmolcas-18.09
/gnu/store/6cj9n2rwsxwk582xqz2hxzlk520ghvm9-openmolcas-18.09
/gnu/store/6cj9n2rwsxwk582xqz2hxzlk520ghvm9-openmolcas-18.09/basis_library
/gnu/store/6cj9n2rwsxwk582xqz2hxzlk520ghvm9-openmolcas-18.09/basis_library/TZ
/gnu/store/6cj9n2rwsxwk582xqz2hxzlk520ghvm9-openmolcas-18.09/basis_library/AUG-PC-4

[...]

/gnu/store/6cj9n2rwsxwk582xqz2hxzlk520ghvm9-openmolcas-18.09/sbin
/gnu/store/6cj9n2rwsxwk582xqz2hxzlk520ghvm9-openmolcas-18.09/sbin/help_basis
/gnu/store/6cj9n2rwsxwk582xqz2hxzlk520ghvm9-openmolcas-18.09/sbin/help_doc
/gnu/store/6cj9n2rwsxwk582xqz2hxzlk520ghvm9-openmolcas-18.09/lib
/gnu/store/6cj9n2rwsxwk582xqz2hxzlk520ghvm9-openmolcas-18.09/lib/libmolcas.a
/gnu/store/6cj9n2rwsxwk582xqz2hxzlk520ghvm9-openmolcas-18.09/bin
/gnu/store/6cj9n2rwsxwk582xqz2hxzlk520ghvm9-openmolcas-18.09/bin/ffpt.exe
/gnu/store/6cj9n2rwsxwk582xqz2hxzlk520ghvm9-openmolcas-18.09/bin/loprop.exe

[...]

/gnu/store/6cj9n2rwsxwk582xqz2hxzlk520ghvm9-openmolcas-18.09/data/quater.prgm
/gnu/store/6cj9n2rwsxwk582xqz2hxzlk520ghvm9-openmolcas-18.09/data/rasscf.prgm
/gnu/store/6cj9n2rwsxwk582xqz2hxzlk520ghvm9-openmolcas-18.09/.molcasversion
/gnu/store/6cj9n2rwsxwk582xqz2hxzlk520ghvm9-openmolcas-18.09/molcas.rte
/gnu/store/6cj9n2rwsxwk582xqz2hxzlk520ghvm9-openmolcas-18.09/CONTRIBUTORS.md
/gnu/store/6cj9n2rwsxwk582xqz2hxzlk520ghvm9-openmolcas-18.09/LICENSE

Ideally basis_library/ and data/ would go under share/openmolcas, while
CONTRIBUTORS.md and LICENSE would go to share/doc/openmolcas. Also, it
would be nice to remove the ‘.exe’ extension.

Do you think you could easily fiddle with CMake to fix these and/or
report it upstream? I could apply the patch as is but I think users may
not be pleased by this. WDYT?

Thank you for your time, and sorry for the extra round trip!

Ludo’.
E
E
Eric Brown wrote on 20 Sep 2018 02:13
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 32691@debbugs.gnu.org)
87worhvxe3.fsf@fastmail.com
ludo@gnu.org (Ludovic Courtès) writes:

Toggle quote (23 lines)
> Hi Eric,
>
> We’re almost there! :-)
>
> I made small changes (moved comments about the patch at the top of the
> patch; switch to ‘texlive-union’, which is much smaller than ‘texlive’),
> leading to the attached patch.
>
> It’s all good, except that the file layout really doesn’t match the
> usual conventions:
>
> [...]
>
> Ideally basis_library/ and data/ would go under share/openmolcas, while
> CONTRIBUTORS.md and LICENSE would go to share/doc/openmolcas. Also, it
> would be nice to remove the ‘.exe’ extension.
>
> Do you think you could easily fiddle with CMake to fix these and/or
> report it upstream? I could apply the patch as is but I think users may
> not be pleased by this. WDYT?
>
> Thank you for your time, and sorry for the extra round trip!

Hi Ludo',

Thank you again. Indeed, "/" gets littered with some files that out to
go into share. This has been noted in discussions upstream.

Though we've put a bunch of work into this, I think it would be good to
pause and see if we can make some of these changes upstream, as you
suggest.

(Also I need some time to brush up on CMake -- perhaps I can contribute
some of these changes myself.)

Warm regards,
Eric
L
L
Ludovic Courtès wrote on 21 Sep 2018 13:22
(name . Eric Brown)(address . brown@fastmail.com)(address . 32691@debbugs.gnu.org)
87k1nf5c3n.fsf@gnu.org
Hi Eric,

Eric Brown <brown@fastmail.com> skribis:

Toggle quote (2 lines)
> ludo@gnu.org (Ludovic Courtès) writes:

[...]

Toggle quote (19 lines)
>> Ideally basis_library/ and data/ would go under share/openmolcas, while
>> CONTRIBUTORS.md and LICENSE would go to share/doc/openmolcas. Also, it
>> would be nice to remove the ‘.exe’ extension.
>>
>> Do you think you could easily fiddle with CMake to fix these and/or
>> report it upstream? I could apply the patch as is but I think users may
>> not be pleased by this. WDYT?
>>
>> Thank you for your time, and sorry for the extra round trip!
>
> Hi Ludo',
>
> Thank you again. Indeed, "/" gets littered with some files that out to
> go into share. This has been noted in discussions upstream.
>
> Though we've put a bunch of work into this, I think it would be good to
> pause and see if we can make some of these changes upstream, as you
> suggest.

Sounds good, let us know how it goes.

Thanks,
Ludo’.
S
S
Sarah Morgensen wrote on 13 Sep 2021 10:01
(name . Eric Brown)(address . brown@fastmail.com)(address . 32691@debbugs.gnu.org)
86tuioj44f.fsf@mgsn.dev
Hello Eric,

Eric Brown <brown@fastmail.com> writes:

Toggle quote (40 lines)
> ludo@gnu.org (Ludovic Courtès) writes:
>
>> Hi Eric,
>>
>> We’re almost there! :-)
>>
>> I made small changes (moved comments about the patch at the top of the
>> patch; switch to ‘texlive-union’, which is much smaller than ‘texlive’),
>> leading to the attached patch.
>>
>> It’s all good, except that the file layout really doesn’t match the
>> usual conventions:
>>
>> [...]
>>
>> Ideally basis_library/ and data/ would go under share/openmolcas, while
>> CONTRIBUTORS.md and LICENSE would go to share/doc/openmolcas. Also, it
>> would be nice to remove the ‘.exe’ extension.
>>
>> Do you think you could easily fiddle with CMake to fix these and/or
>> report it upstream? I could apply the patch as is but I think users may
>> not be pleased by this. WDYT?
>>
>> Thank you for your time, and sorry for the extra round trip!
>
> Hi Ludo',
>
> Thank you again. Indeed, "/" gets littered with some files that out to
> go into share. This has been noted in discussions upstream.
>
> Though we've put a bunch of work into this, I think it would be good to
> pause and see if we can make some of these changes upstream, as you
> suggest.
>
> (Also I need some time to brush up on CMake -- perhaps I can contribute
> some of these changes myself.)
>
> Warm regards,
> Eric

Thanks for all your work on this package. Did you ever make further
progress on this? Are you still interested in working on getting
OpenMolcas in Guix?

--
Sarah
E
E
Eric Brown wrote on 13 Sep 2021 14:53
(name . Sarah Morgensen)(address . iskarian@mgsn.dev)
F6F1236B-84AF-4C04-9FAE-D479F5D8F078@ericcbrown.com
Toggle quote (10 lines)
> On Sep 13, 2021, at 3:01 AM, Sarah Morgensen <iskarian@mgsn.dev> wrote:
>
>
> Thanks for all your work on this package. Did you ever make further
> progress on this? Are you still interested in working on getting
> OpenMolcas in Guix?
>
> —
> Sarah

Hi Sarah,

I have made a new port from scratch, which I am testing currently. It can be found here:

(channel
(name 'ecbrown-guix)
(introduction
(make-channel-introduction
"72e02daa4cf59a5e591387e299729f2509128b58"
(openpgp-fingerprint
"AA5F 523D FD6D 0478 8505 6A7D C1D5 F8F0 85BF 4CF3"))))

I would appreciate any help that you might provide!

Best regards,
Eric
S
S
Sarah Morgensen wrote on 25 Sep 2021 03:15
(name . Eric Brown)(address . ecbrown@ericcbrown.com)(address . 32691@debbugs.gnu.org)
86sfxtwj3r.fsf@mgsn.dev
Hi Eric,

Eric Brown <ecbrown@ericcbrown.com> writes:

Toggle quote (28 lines)
>> On Sep 13, 2021, at 3:01 AM, Sarah Morgensen <iskarian@mgsn.dev> wrote:
>>
>>
>> Thanks for all your work on this package. Did you ever make further
>> progress on this? Are you still interested in working on getting
>> OpenMolcas in Guix?
>>
>> —
>> Sarah
>
> Hi Sarah,
>
> I have made a new port from scratch, which I am testing currently. It can be found here:
>
> (channel
> (name 'ecbrown-guix)
> (url "https://ericcbrown.com/ecbrown/ecbrown-guix.git")
> (introduction
> (make-channel-introduction
> "72e02daa4cf59a5e591387e299729f2509128b58"
> (openpgp-fingerprint
> "AA5F 523D FD6D 0478 8505 6A7D C1D5 F8F0 85BF 4CF3"))))
>
> I would appreciate any help that you might provide!
>
> Best regards,
> Eric

I'm glad to see that you've continued to work on this!

I took a look at your definition and the package it builds, and I'll
start with two things:

Syntactically, you can do something like this in your extra phase:

(let* ((out (assoc-ref outputs "out"))
(share (string-append out "/share/openmolcas")))

(mkdir-p share)
(for-each
(lambda (file)
(rename-file file (string-append share "/" file)))
'("LICENSE" "data" ...))

and to symlink (like you allude to in the phase name):

(symlink target name)

Looking at the actual package, it looks like there are several ".exe"
executables (which are actually ELF and runnable on Linux?) along with
matching ".prgm" files which (it looks like) are required to load and
run the executables. Are these part of OpenMolcas itself, or are they
examples or something? It would be best if we can avoid putting
architecture-specific files (that is, executables) in "/share".

Finally, rather than propagating python inputs, we can probably use the
'wrap' phase from python-build-system. Adding that is a bit more
complex, but you can look at the 'nncp' package for an example of how
this is done (it uses gnu-build-system, but takes phases from
go-build-system).

Okay, that was three things, but what can you do? :)

--
Sarah
A
A
Andreas Enge wrote on 27 Aug 2023 10:53
Progress
(address . 32691@debbugs.gnu.org)
ZOsPJRrvgF1cRh4Y@jurong
Hello,

has there been any progress on this? Is there a way forward, or should
we close the issue?

Andreas
?