diff mbox series

[bug#40691,v2,1/1] gnu: Add gromacs.

Message ID 36e8a145-1ca8-c380-9864-dbf8b1fd53cb@gmail.com
State Accepted
Headers show
Series gnu: Add gromacs. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch fail View Laminar job

Commit Message

Vincent Legoll April 20, 2020, 10:15 p.m. UTC
Hello,

On 20/04/2020 00:19, Ludovic Courtès wrote:
> Could you add a comment explaining the reason for this flag?

Done, it'to build test executables.

>> problems reported by cmake:
>>
>> -- Found Doxygen:
>> /gnu/store/k6albjaxkybsgshqyw6g44f5hz75l7q6-doxygen-1.8.15/bin/doxygen
>> (found version "1.8.15") found components:  doxygen missing
>> components:  dot
> 
> Perhaps add ‘graphviz’ as a native input?

Yep, that fixed it

>> -- Could NOT find Sphinx: Found unsuitable version "-real 2.3.1", but
>> required is at least "1.6.1" (found
>> /gnu/store/anyhb84x3mvyp11sbhmdnicbsa42m3x0-python-sphinx-2.3.1/bin/sphinx-build)
> 
> Oh, looks like it’s looking at argv[0] and the script is wrapped.  :-/
> Can you somehow for CMake to think it’s fine, either with a flag or by
> skipping the relevant check in ‘CMakeLists.txt’?

Done, passing the version to cmake & adding pygments to inputs made it
pass.

Thanks for the help

How's the attached v2 ?

Comments

Ludovic Courtès April 22, 2020, 3:38 p.m. UTC | #1
Hi Vincent,

Vincent Legoll <vincent.legoll@gmail.com> skribis:

> From 650247f97a56f2967d068ee8b1911fae6412ce4d Mon Sep 17 00:00:00 2001
> From: Vincent Legoll <vincent.legoll@gmail.com>
> Date: Sat, 18 Apr 2020 00:14:56 +0200
> Subject: [PATCH] gnu: Add gromacs.
>
> * gnu/packages/bioinformatics.scm (gromacs): New variable.

This v2 looks alright to me, but I got this test failure on x86_64:

--8<---------------cut here---------------start------------->8---
      Start 13: HardwareUnitTests
13/52 Test #13: HardwareUnitTests ...................***Failed    0.04 sec
[==========] Running 5 tests from 2 test cases.
[----------] Global test environment set-up.
[----------] 1 test from CpuInfoTest
[ RUN      ] CpuInfoTest.SupportLevel
[       OK ] CpuInfoTest.SupportLevel (0 ms)
[----------] 1 test from CpuInfoTest (0 ms total)

[----------] 4 tests from HardwareTopologyTest
[ RUN      ] HardwareTopologyTest.Execute
[       OK ] HardwareTopologyTest.Execute (6 ms)
[ RUN      ] HardwareTopologyTest.HwlocExecute
/tmp/guix-build-gromacs-2020.1.drv-0/gromacs-2020.1/src/gromacs/hardware/tests/hardwaretopology.cpp:88: Failure
Expected: (hwTop.supportLevel()) >= (gmx::HardwareTopology::SupportLevel::Basic), actual: 4-byte object <01-00 00-00> vs 4-byte object <02-00 00-00>
Cannot determine basic hardware topology from hwloc. GROMACS will still

work, but it might affect your performance for large nodes.
Please mail gmx-developers@gromacs.org so we can try to fix it.
[  FAILED  ] HardwareTopologyTest.HwlocExecute (5 ms)
[ RUN      ] HardwareTopologyTest.ProcessorSelfconsistency
[       OK ] HardwareTopologyTest.ProcessorSelfconsistency (6 ms)
[ RUN      ] HardwareTopologyTest.NumaCacheSelfconsistency
[       OK ] HardwareTopologyTest.NumaCacheSelfconsistency (5 ms)
[----------] 4 tests from HardwareTopologyTest (22 ms total)

[----------] Global test environment tear-down
[==========] 5 tests from 2 test cases ran. (22 ms total)
[  PASSED  ] 4 tests.
[  FAILED  ] 1 test, listed below:
[  FAILED  ] HardwareTopologyTest.HwlocExecute

 1 FAILED TEST

[…]

The following tests FAILED:
         13 - HardwareUnitTests (Failed)
Errors while running CTest
make: *** [Makefile:99: test] Error 8
--8<---------------cut here---------------end--------------->8---

Could you check what the test is doing?

It may be reasonable to just skip it.

Thanks,
Ludo’.
diff mbox series

Patch

From 650247f97a56f2967d068ee8b1911fae6412ce4d Mon Sep 17 00:00:00 2001
From: Vincent Legoll <vincent.legoll@gmail.com>
Date: Sat, 18 Apr 2020 00:14:56 +0200
Subject: [PATCH] gnu: Add gromacs.

* gnu/packages/bioinformatics.scm (gromacs): New variable.
---
 gnu/packages/bioinformatics.scm | 47 +++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index b9be0c1918..1b643e29c8 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -17,6 +17,7 @@ 
 ;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
 ;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
 ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
+;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -79,6 +80,7 @@ 
   #:use-module (gnu packages golang)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages graph)
+  #:use-module (gnu packages graphviz)
   #:use-module (gnu packages groff)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages guile)
@@ -785,6 +787,51 @@  input/output delimiter.  When the new functionality is not used, bioawk is
 intended to behave exactly the same as the original BWK awk.")
     (license license:x11)))
 
+(define-public gromacs
+  (package
+    (name "gromacs")
+    (version "2020.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://ftp.gromacs.org/pub/gromacs/gromacs-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "1kwrk3i1dxp8abhqqsl049lh361n4910h0415g052f8shdc6arp1"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:configure-flags
+       (list "-DGMX_DEVELOPER_BUILD=on" ; Needed to run tests
+             ;; Workaround for cmake/FindSphinx.cmake version parsing that does
+             ;; not understand the guix-wrapped `sphinx-build --version' answer
+             (string-append "-DSPHINX_EXECUTABLE_VERSION="
+                            ,(package-version python-sphinx)))))
+    (native-inputs
+     `(("doxygen" ,doxygen)
+       ("graphviz" ,graphviz)
+       ("python" ,python)
+       ("python-pygments" ,python-pygments)
+       ("python-sphinx" ,python-sphinx)))
+    (inputs
+     `(("fftwf" ,fftwf)
+       ("hwloc" ,hwloc-2 "lib")
+       ("imagemagick" ,imagemagick)
+       ("lapack" ,lapack)
+       ("openblas" ,openblas)
+       ("openmpi" ,openmpi)
+       ("perl" ,perl)))
+    (home-page "http://www.gromacs.org/")
+    (synopsis "Molecular dynamics software package")
+    (description "GROMACS is a versatile package to perform molecular dynamics,
+i.e. simulate the Newtonian equations of motion for systems with hundreds to
+millions of particles.  It is primarily designed for biochemical molecules like
+proteins, lipids and nucleic acids that have a lot of complicated bonded
+interactions, but since GROMACS is extremely fast at calculating the nonbonded
+interactions (that usually dominate simulations) many groups are also using it
+for research on non-biological systems, e.g. polymers.  GROMACS supports all the
+usual algorithms you expect from a modern molecular dynamics implementation.")
+    (license license:lgpl2.1+)))
+
 (define-public python-pybedtools
   (package
     (name "python-pybedtools")
-- 
2.26.0