mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
gnu: Add gromacs.
* gnu/packages/chemistry.scm (gromacs): New variable. * gnu/packages/patches/gromacs-tinyxml2.patch: New file... * gnu/local.mk (dist_patch_DATA): ...add it here. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
parent
feba2c9751
commit
06ed1dba35
3 changed files with 158 additions and 0 deletions
67
gnu/packages/patches/gromacs-tinyxml2.patch
Normal file
67
gnu/packages/patches/gromacs-tinyxml2.patch
Normal file
|
@ -0,0 +1,67 @@
|
|||
Unbundling tinyxml2 from gromacs and using our own, which is newer, broke gromacs
|
||||
build.
|
||||
|
||||
This patch fixes three issues:
|
||||
|
||||
- cmake now errors out if using multiple target_link_libraries with mixed styles
|
||||
of signatures.
|
||||
|
||||
- Error handling API changed, fix the testutils/refdata_xml.cpp code by using the
|
||||
new API: document.ErrorStr() & tinyxml2::XML_SUCCESS.
|
||||
|
||||
Those fixes will be submitted for inclusion to upstream, but may not be suitable
|
||||
there as long as they still keep the old version bundled.
|
||||
|
||||
First hunk has already been requested for merging. Third is in discussion. Second
|
||||
will only be sent if third is OK'ed.
|
||||
|
||||
diff -ruN gromacs-2020.2/src/testutils/CMakeLists.txt gromacs-2020.2-fixed/src/testutils/CMakeLists.txt
|
||||
--- gromacs-2020.2/src/testutils/CMakeLists.txt 2020-04-30 18:33:44.000000000 +0200
|
||||
+++ gromacs-2020.2-fixed/src/testutils/CMakeLists.txt 2020-05-01 22:52:16.356000000 +0200
|
||||
@@ -73,7 +73,7 @@
|
||||
|
||||
if(HAVE_TINYXML2)
|
||||
include_directories(SYSTEM ${TinyXML2_INCLUDE_DIR})
|
||||
- target_link_libraries(testutils ${TinyXML2_LIBRARIES})
|
||||
+ target_link_libraries(testutils PRIVATE ${TinyXML2_LIBRARIES})
|
||||
else()
|
||||
include_directories(BEFORE SYSTEM "../external/tinyxml2")
|
||||
endif()
|
||||
diff -ruN gromacs-2020.2/src/testutils/refdata_xml.cpp gromacs-2020.2-fixed/src/testutils/refdata_xml.cpp
|
||||
--- gromacs-2020.2/src/testutils/refdata_xml.cpp 2020-04-30 18:33:44.000000000 +0200
|
||||
+++ gromacs-2020.2-fixed/src/testutils/refdata_xml.cpp 2020-05-01 23:17:09.556000000 +0200
|
||||
@@ -206,21 +206,12 @@
|
||||
document.LoadFile(path.c_str());
|
||||
if (document.Error())
|
||||
{
|
||||
- const char* errorStr1 = document.GetErrorStr1();
|
||||
- const char* errorStr2 = document.GetErrorStr2();
|
||||
+ const char* errorStr = document.ErrorStr();
|
||||
std::string errorString("Error was ");
|
||||
- if (errorStr1)
|
||||
- {
|
||||
- errorString += errorStr1;
|
||||
- }
|
||||
- if (errorStr2)
|
||||
- {
|
||||
- errorString += errorStr2;
|
||||
- }
|
||||
- if (!errorStr1 && !errorStr2)
|
||||
- {
|
||||
+ if (errorStr)
|
||||
+ errorString += errorStr;
|
||||
+ else
|
||||
errorString += "not specified.";
|
||||
- }
|
||||
GMX_THROW(TestException("Reference data not parsed successfully: " + path + "\n."
|
||||
+ errorString + "\n"));
|
||||
}
|
||||
@@ -371,7 +362,7 @@
|
||||
XMLElementPtr rootElement = createRootElement(&document);
|
||||
createChildElements(rootElement, rootEntry);
|
||||
|
||||
- if (document.SaveFile(path.c_str()) != tinyxml2::XML_NO_ERROR)
|
||||
+ if (document.SaveFile(path.c_str()) != tinyxml2::XML_SUCCESS)
|
||||
{
|
||||
GMX_THROW(TestException("Reference data saving failed in " + path));
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue