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)); } ='logheader'>2022-09-29import: print: Quasiquote propertiesitd * guix/import/print.scm (package->code): Quasiquote properties. * tests/print.scm (pkg-with-properties, pkg-with-properties-source): New variables. ("package with properties"): New test Signed-off-by: Ludovic Courtès <ludo@gnu.org> 2021-11-17Merge branch 'master' into core-updates-frozenLudovic Courtès 2021-11-11import: print: Replace packages and origins in 'arguments'.Ludovic Courtès * guix/import/print.scm (package->code)[variable-reference] [object->code]: New procedures. [package-lists->code]: Rewrite in terms of 'object->code'. Pass the 'arguments' field through 'object->code'. * tests/print.scm (pkg-with-arguments, pkg-with-arguments-source): New variables. ("package with arguments"): New test. 2021-11-11import: print: Handle patches that are origins.Ludovic Courtès * guix/import/print.scm (package->code)[source->code]: Handle patches that are origins. * tests/print.scm (pkg-with-origin-input): Add 'patches' field. (pkg-with-origin-patch, pkg-with-origin-patch-source): New variables. ("package with origin patch"): New test. 2021-11-11import: print: Correctly handle URI lists.Ludovic Courtès * guix/import/print.scm (package->code)[factorized-uri-code]: New procedure. [source->code]: Use it, and factorize URI when it's a list. * tests/print.scm (pkg-with-origin-input): Check origin URI to a list. 2021-11-11import: print: Properly render packages with origins as inputs.Ludovic Courtès * guix/import/print.scm (package->code)[source->code]: Check whether VERSION is true before calling 'factorize-uri'. [package-lists->code]: Add clause for inputs that are origins. * tests/print.scm (pkg-with-origin-input, pkg-with-origin-input-source): New variables. ("package with origin input"): New test. 2021-07-11import: print: Emit new-style package inputs when possible.Ludovic Courtès * guix/import/print.scm (redundant-input-labels?): New procedure. (package->code)[package-lists->code]: Rename to... [inputs->code]: ... this. When 'redundant-input-labels?' returns true, emit label-less inputs. Adjust callers to new name. * tests/print.scm (pkg-with-inputs): Adjust accordingly.