bug#52124: [PATCH 0/1] Add n2p2-lib

Message ID 87wnez654q.fsf_-_@gnu.org
State New
Headers
Series bug#52124: [PATCH 0/1] Add n2p2-lib |

Commit Message

Ludovic Courtès May 5, 2022, 9:28 p.m. UTC
  Hi,

zimoun <zimon.toutoune@gmail.com> skribis:

> From: Pierre-Antoine Bouttier <pierre-antoine.bouttier@univ-grenoble-alpes.fr>
>
> * gnu/packages/maths.scm (n2p2-lib): New variable.

The ‘install’ phase was not installing anything, so I had to adjust it.
I also fixed a couple of other issues—patch below.

Finally applied, thanks!

Ludo’.
  

Comments

Simon Tournier May 6, 2022, 8:30 a.m. UTC | #1
Hi,

On Thu, 5 May 2022 at 23:28, Ludovic Courtès <ludo@gnu.org> wrote:

> The ‘install’ phase was not installing anything, so I had to adjust it.
> I also fixed a couple of other issues—patch below.

Thanks.  Sorry to not have catched the errors beforehand.


Cheers,
simon
  

Patch

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 613b52f5aa..efa453659c 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -1855,7 +1855,7 @@  (define-public netcdf-fortran
 
 (define-public n2p2-lib
   (package
-    (name "n2p2-lib")
+    (name "n2p2")
     (version "2.1.4")
     (source (origin
               (method git-fetch)
@@ -1879,8 +1879,13 @@  (define-public n2p2-lib
                                (assoc-ref inputs "eigen") "/include/eigen3")))
              (substitute* "src/makefile.gnu"
                (("-lblas")
-                (string-append "-L"
-                               (assoc-ref inputs "openblas") "/lib -lopenblas")))))
+                (string-append "-L" (assoc-ref inputs "openblas")
+                               "/lib -lopenblas"))
+               (("-march=native")
+                ""))
+             (substitute* "src/application/makefile"
+               (("LDFLAGS=")
+                "LDFLAGS=-Wl,-rpath='$$ORIGIN/../lib' "))))
          (delete 'configure)
          (delete 'check)
          (replace 'install
@@ -1889,23 +1894,23 @@  (define-public n2p2-lib
                     (bindir (string-append out "/bin"))
                     (libdir (string-append out "/lib"))
                     (incdir (string-append out "/include")))
+               (for-each (lambda (f) (install-file f bindir))
+                         (find-files "bin" "^nnp-"))
                (for-each (lambda (f) (install-file f libdir))
-                         (find-files "../lib/" "."))
+                         (find-files "lib" "\\.so$"))
                (for-each (lambda (f) (install-file f incdir))
-                         (find-files "../include/" "."))))))))
+                         (find-files "include" "\\.h$"))))))))
     (inputs
-     `(("openmpi" ,openmpi)
-       ("gsl" ,gsl)
-       ("openblas" ,openblas)
-       ("eigen" ,eigen)))
+     (list openmpi gsl openblas eigen))
     (synopsis "Neural network potentials for chemistry and physics")
     (description "This package contains software that will allow you to use
 existing neural network potential parameterizations to predict energies and
 forces (with standalone tools but also in conjunction with the MD software
-LAMMPS). In addition it is possible to train new neural network potentials
+LAMMPS).  In addition it is possible to train new neural network potentials
 with the provided training tools.")
-    (home-page "https://compphysvienna.github.io/n2p2")
-    (license license:gpl3)))
+    (home-page "https://compphysvienna.github.io/n2p2/")
+    (properties '((tunable? . #t)))        ;to benefit from SIMD code in Eigen
+    (license license:gpl3+)))
 
 (define-public nlopt
   (package