Repository: easybuilders/easybuild-easyconfigs

Issue:
Fix OpenFOAM-v1812-cleanup.patch (develop branch)
There is an error in `OpenFOAM-v1812-cleanup.patch` file (develop branch) : https://github.com/easybuilders/easybuild-easyconfigs/blob/develop/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v1812-cleanup.patch

In order to build ParaView plugins to use paraFoam, we have to replace :
`+#ParaView_VERSION=$EBVERSIONPARAVIEW`
by :
`+ParaView_VERSION=$EBVERSIONPARAVIEW`

```
$ diff -Nru OpenFOAM-v1812-cleanup.patch_20190124 OpenFOAM-v1812-cleanup.patch
--- OpenFOAM-v1812-cleanup.patch_20190124	2019-01-22 13:10:01.000000000 +0100
+++ OpenFOAM-v1812-cleanup.patch	2019-01-24 07:25:18.000000000 +0100
@@ -249,7 +249,7 @@
  
 -ParaView_VERSION=5.6.0
 +##Easybuild## settings
-+#ParaView_VERSION=$EBVERSIONPARAVIEW
++ParaView_VERSION=$EBVERSIONPARAVIEW
  ParaView_QT=qt-system
  cmake_version=cmake-system
  
```



Discussion:

Resolving patch:
diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -1,5 +1,5 @@
 ##
-# Copyright 2012-2018 Ghent University
+# Copyright 2012-2019 Ghent University
 #
 # This file is part of EasyBuild,
 # originally created by the HPC team of Ghent University (http://ugent.be/hpc/en),
@@ -47,7 +47,7 @@
 # recent setuptools versions will *TRANSFORM* something like 'X.Y.Zdev' into 'X.Y.Z.dev0', with a warning like
 #   UserWarning: Normalizing '2.4.0dev' to '2.4.0.dev0'
 # This causes problems further up the dependency chain...
-VERSION = '3.8.0'
+VERSION = '3.8.1'
 
 API_VERSION = VERSION.split('.')[0]
 EB_VERSION = '.'.join(VERSION.split('.')[0:2])


Test patch:
diff --git a/easybuild/easyconfigs/a/Amber/Amber-18_test_cuda.patch b/easybuild/easyconfigs/a/Amber/Amber-18_test_cuda.patch
new file mode 100644
--- /dev/null
+++ b/easybuild/easyconfigs/a/Amber/Amber-18_test_cuda.patch
@@ -0,0 +1,14 @@
+diff -ru amber18.orig/Makefile amber18/Makefile
+--- amber18.orig/Makefile	2018-03-26 04:46:35.000000000 +0200
++++ amber18/Makefile	2018-10-30 10:34:35.482737196 +0100
+@@ -96,6 +96,10 @@
+ 	fi ;\
+ 	)
+ 
++test.cuda: is_amberhome_defined
++        # For backwards compatibility in the easyblock
++	-(cd test && $(MAKE) test.cuda.serial)
++
+ test.cuda_serial: is_amberhome_defined
+ 	-(cd test && $(MAKE) test.cuda.serial)
+ 
diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2019_fix_omp_num_threads_and_google_test_death_style_in_tests.patch b/easybuild/easyconfigs/g/GROMACS/GROMACS-2019_fix_omp_num_threads_and_google_test_death_style_in_tests.patch
new file mode 100644
--- /dev/null
+++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2019_fix_omp_num_threads_and_google_test_death_style_in_tests.patch
@@ -0,0 +1,20 @@
+Fix test execution to explicitly set OMP_NUM_THREADS when needed.
+Also make sure google death test uses threadsafe mode.
+
+Åke Sandgren, 2019-01-02
+diff -ru gromacs-2019.orig/src/testutils/TestMacros.cmake gromacs-2019/src/testutils/TestMacros.cmake
+--- gromacs-2019.orig/src/testutils/TestMacros.cmake	2018-11-13 04:49:55.000000000 +0100
++++ gromacs-2019/src/testutils/TestMacros.cmake	2019-01-02 15:39:56.010980145 +0100
+@@ -153,8 +153,11 @@
+                 list(APPEND _cmd -ntmpi ${ARG_MPI_RANKS})
+             endif()
+         endif()
++        if (ARG_OPENMP_THREADS)
++            set(_cmd "env" "OMP_NUM_THREADS=${ARG_OPENMP_THREADS}" ${_cmd})
++        endif()
+         add_test(NAME ${NAME}
+-                 COMMAND ${_cmd} --gtest_output=xml:${_xml_path})
++                 COMMAND ${_cmd} --gtest_death_test_style=threadsafe --gtest_output=xml:${_xml_path})
+         set_tests_properties(${NAME} PROPERTIES LABELS "${_labels}")
+         set_tests_properties(${NAME} PROPERTIES TIMEOUT ${_timeout})
+         add_dependencies(tests ${EXENAME})
diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2019_increase_test_timeout_for_GPU.patch b/easybuild/easyconfigs/g/GROMACS/GROMACS-2019_increase_test_timeout_for_GPU.patch
new file mode 100644
--- /dev/null
+++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2019_increase_test_timeout_for_GPU.patch
@@ -0,0 +1,15 @@
+Increase timeout for tests, needed when running tests on GPU.
+
+Åke Sandgren, 2019-01-03
+diff -ru gromacs-2019.orig/src/testutils/TestMacros.cmake gromacs-2019/src/testutils/TestMacros.cmake
+--- gromacs-2019.orig/src/testutils/TestMacros.cmake	2018-11-13 04:49:55.000000000 +0100
++++ gromacs-2019/src/testutils/TestMacros.cmake	2019-01-03 09:02:54.150589575 +0100
+@@ -123,7 +123,7 @@
+             elseif (${CMAKE_BUILD_TYPE} STREQUAL TSAN)
+                 set(_timeout 300)
+             else()
+-                set(_timeout 120)
++                set(_timeout 240)
+             endif()
+             gmx_get_test_prefix_cmd(_prefix_cmd IGNORE_LEAKS)
+         elseif (ARG_SLOW_TEST)
diff --git a/test/__init__.py b/test/__init__.py
--- a/test/__init__.py
+++ b/test/__init__.py
@@ -1,5 +1,5 @@
 ##
-# Copyright 2009-2018 Ghent University
+# Copyright 2009-2019 Ghent University
 #
 # This file is part of EasyBuild,
 # originally created by the HPC team of Ghent University (http://ugent.be/hpc/en),
diff --git a/test/easyconfigs/easyconfigs.py b/test/easyconfigs/easyconfigs.py
--- a/test/easyconfigs/easyconfigs.py
+++ b/test/easyconfigs/easyconfigs.py
@@ -1,5 +1,5 @@
 ##
-# Copyright 2013-2018 Ghent University
+# Copyright 2013-2019 Ghent University
 #
 # This file is part of EasyBuild,
 # originally created by the HPC team of Ghent University (http://ugent.be/hpc/en),
@@ -237,6 +237,8 @@ def check_dep_vars(dep, dep_vars):
             old_dep_versions = {
                 # libxc (CP2K & ABINIT require libxc 2.x or 3.x)
                 'libxc': r'[23]\.',
+                # OPERA requires SAMtools 0.x
+                'SAMtools': r'0\.',
             }
             if dep in old_dep_versions and len(dep_vars) > 1:
                 for key in dep_vars.keys():
diff --git a/test/easyconfigs/styletests.py b/test/easyconfigs/styletests.py
--- a/test/easyconfigs/styletests.py
+++ b/test/easyconfigs/styletests.py
@@ -1,5 +1,5 @@
 ##
-# Copyright 2016-2018 Ghent University
+# Copyright 2016-2019 Ghent University
 #
 # This file is part of EasyBuild,
 # originally created by the HPC team of Ghent University (http://ugent.be/hpc/en),
diff --git a/test/easyconfigs/suite.py b/test/easyconfigs/suite.py
--- a/test/easyconfigs/suite.py
+++ b/test/easyconfigs/suite.py
@@ -1,6 +1,6 @@
 #!/usr/bin/python
 ##
-# Copyright 2012-2018 Ghent University
+# Copyright 2012-2019 Ghent University
 #
 # This file is part of EasyBuild,
 # originally created by the HPC team of Ghent University (http://ugent.be/hpc/en),