Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package maeparser for openSUSE:Factory checked in at 2022-09-07 11:06:20 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/maeparser (Old) and /work/SRC/openSUSE:Factory/.maeparser.new.2083 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "maeparser" Wed Sep 7 11:06:20 2022 rev:2 rq:1001520 version:1.3.0 Changes: -------- --- /work/SRC/openSUSE:Factory/maeparser/maeparser.changes 2022-08-24 15:11:39.424533117 +0200 +++ /work/SRC/openSUSE:Factory/.maeparser.new.2083/maeparser.changes 2022-09-07 11:06:39.896502349 +0200 @@ -1,0 +2,10 @@ +Tue Sep 6 19:51:16 UTC 2022 - Antoine Belvire <antoine.belv...@opensuse.org> + +- Update to version 1.3.0: + * Add two methods to get sub-block names: + + std::vector<std::string> Block::getBlockNames() const; + + std::vector<std::string> Block::getIndexedBlockNames() const; + * Fix some build issues. +- Remove upstreamed maeparser-1.2.4-cmake-config-installdir.patch. + +------------------------------------------------------------------- Old: ---- maeparser-1.2.4-cmake-config-installdir.patch maeparser-1.2.4.tar.gz New: ---- maeparser-1.3.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ maeparser.spec ++++++ --- /var/tmp/diff_new_pack.8wIpS9/_old 2022-09-07 11:06:40.332503457 +0200 +++ /var/tmp/diff_new_pack.8wIpS9/_new 2022-09-07 11:06:40.336503467 +0200 @@ -18,14 +18,12 @@ %define abiver 1 Name: maeparser -Version: 1.2.4 +Version: 1.3.0 Release: 0 Summary: Maestro file parser License: MIT URL: https://github.com/schrodinger/maeparser Source: https://github.com/schrodinger/maeparser/archive/v%{version}/%{name}-%{version}.tar.gz -# PATCH-FIX-UPSTREAM maeparser-1.2.4-cmake-config-installdir.patch -- gh#schrodinger/maeparser!73 -Patch0: maeparser-1.2.4-cmake-config-installdir.patch BuildRequires: c++_compiler BuildRequires: cmake BuildRequires: libboost_filesystem-devel ++++++ maeparser-1.2.4.tar.gz -> maeparser-1.3.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/maeparser-1.2.4/.azure-pipelines/linux_build.yml new/maeparser-1.3.0/.azure-pipelines/linux_build.yml --- old/maeparser-1.2.4/.azure-pipelines/linux_build.yml 2020-10-13 19:18:02.000000000 +0200 +++ new/maeparser-1.3.0/.azure-pipelines/linux_build.yml 2022-09-06 20:31:33.000000000 +0200 @@ -7,7 +7,7 @@ conda info -a conda create --name maeparser_build $(compiler) cmake \ boost-cpp=$(boost_version) boost=$(boost_version) \ - libboost=$(boost_version) + libboost=$(boost_version) zlib displayName: Setup build environment - bash: | source ${CONDA}/etc/profile.d/conda.sh diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/maeparser-1.2.4/.azure-pipelines/vs_build.yml new/maeparser-1.3.0/.azure-pipelines/vs_build.yml --- old/maeparser-1.2.4/.azure-pipelines/vs_build.yml 2020-10-13 19:18:02.000000000 +0200 +++ new/maeparser-1.3.0/.azure-pipelines/vs_build.yml 2022-09-06 20:31:33.000000000 +0200 @@ -13,7 +13,7 @@ mkdir build && cd build call activate maeparser_build cmake .. ^ - -G "Visual Studio 15 2017 Win64" ^ + -G "Visual Studio 16 2019" ^ -DCMAKE_BUILD_TYPE=Release ^ -DMAEPARSER_RIGOROUS_BUILD=ON ^ -DBoost_NO_SYSTEM_PATHS=ON ^ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/maeparser-1.2.4/CMakeLists.txt new/maeparser-1.3.0/CMakeLists.txt --- old/maeparser-1.2.4/CMakeLists.txt 2020-10-13 19:18:02.000000000 +0200 +++ new/maeparser-1.3.0/CMakeLists.txt 2022-09-06 20:31:33.000000000 +0200 @@ -55,7 +55,7 @@ SET_TARGET_PROPERTIES (maeparser PROPERTIES - VERSION 1.2.4 + VERSION 1.3.0 SOVERSION 1 ) @@ -78,7 +78,7 @@ INSTALL(EXPORT maeparser-targets FILE ${PROJECT_NAME}-config.cmake - DESTINATION lib/cmake) + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake) file(GLOB mae_headers "*.hpp") install(FILES ${mae_headers} DESTINATION include/maeparser) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/maeparser-1.2.4/MaeBlock.cpp new/maeparser-1.3.0/MaeBlock.cpp --- old/maeparser-1.2.4/MaeBlock.cpp 2020-10-13 19:18:02.000000000 +0200 +++ new/maeparser-1.3.0/MaeBlock.cpp 2022-09-06 20:31:33.000000000 +0200 @@ -202,7 +202,7 @@ return true; } -bool IndexedBlockMapI::operator==(const IndexedBlockMapI& rhs) +bool IndexedBlockMapI::operator==(const IndexedBlockMapI& rhs) const { const auto& block_names = getBlockNames(); for (const auto& name : block_names) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/maeparser-1.2.4/MaeBlock.hpp new/maeparser-1.3.0/MaeBlock.hpp --- old/maeparser-1.2.4/MaeBlock.hpp 2020-10-13 19:18:02.000000000 +0200 +++ new/maeparser-1.3.0/MaeBlock.hpp 2022-09-06 20:31:33.000000000 +0200 @@ -43,7 +43,7 @@ getIndexedBlock(const std::string& name) const = 0; virtual std::vector<std::string> getBlockNames() const = 0; - bool operator==(const IndexedBlockMapI& rhs); + bool operator==(const IndexedBlockMapI& rhs) const; }; class EXPORT_MAEPARSER IndexedBlockMap : public IndexedBlockMapI @@ -102,9 +102,8 @@ * Add an IndexedBlockBuffer to the map, which can be used to retrieve an * IndexedBlock. */ - void - addIndexedBlockBuffer(const std::string& name, - std::shared_ptr<IndexedBlockBuffer> block_buffer) + void addIndexedBlockBuffer(const std::string& name, + std::shared_ptr<IndexedBlockBuffer> block_buffer) { m_indexed_buffer[name] = std::move(block_buffer); } @@ -154,7 +153,10 @@ std::shared_ptr<const IndexedBlock> getIndexedBlock(const std::string& name) const; - void addBlock(std::shared_ptr<Block> b) { m_sub_block[b->getName()] = std::move(b); } + void addBlock(std::shared_ptr<Block> b) + { + m_sub_block[b->getName()] = std::move(b); + } /** * Check whether this block has a sub-block of the provided name. @@ -169,7 +171,7 @@ /** * Retrieve a shared pointer to the named sub-block. */ - std::shared_ptr<Block> getBlock(const std::string& name) + std::shared_ptr<Block> getBlock(const std::string& name) const { std::map<std::string, std::shared_ptr<Block>>::const_iterator iter = m_sub_block.find(name); @@ -180,6 +182,26 @@ } } + /** + * Get the names of all non-indexed sub-blocks + */ + std::vector<std::string> getBlockNames() const + { + std::vector<std::string> names; + for (auto& n : m_sub_block) { + names.push_back(n.first); + } + return names; + } + + /** + * Get the names of all indexed sub-blocks + */ + std::vector<std::string> getIndexedBlockNames() const + { + return m_indexed_block_map->getBlockNames(); + } + bool operator==(const Block& rhs) const; bool hasRealProperty(const std::string& name) const diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/maeparser-1.2.4/MaeConstants.hpp new/maeparser-1.3.0/MaeConstants.hpp --- old/maeparser-1.2.4/MaeConstants.hpp 2020-10-13 19:18:02.000000000 +0200 +++ new/maeparser-1.3.0/MaeConstants.hpp 2022-09-06 20:31:33.000000000 +0200 @@ -20,6 +20,7 @@ const char* const BOND_ATOM_1 = "i_m_from"; const char* const BOND_ATOM_2 = "i_m_to"; const char* const BOND_ORDER = "i_m_order"; +const char* const DEPEND_BLOCK = "m_depend"; /** * These are the prefixes used to store stereochemical properties in Maestro diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/maeparser-1.2.4/MaeParserConfig.hpp new/maeparser-1.3.0/MaeParserConfig.hpp --- old/maeparser-1.2.4/MaeParserConfig.hpp 2020-10-13 19:18:02.000000000 +0200 +++ new/maeparser-1.3.0/MaeParserConfig.hpp 2022-09-06 20:31:33.000000000 +0200 @@ -2,26 +2,20 @@ #ifndef STATIC_MAEPARSER -#ifdef IN_MAEPARSER - #ifdef WIN32 +#ifdef IN_MAEPARSER #define EXPORT_MAEPARSER __declspec(dllexport) #else -#define EXPORT_MAEPARSER __attribute__((visibility("default"))) -#endif - -#else - -#ifdef WIN32 #define EXPORT_MAEPARSER __declspec(dllimport) +#endif // IN_MAEPARSER + #else -#define EXPORT_MAEPARSER -#endif -#endif +#define EXPORT_MAEPARSER __attribute__((visibility("default"))) +#endif // WIN32 #else #define EXPORT_MAEPARSER -#endif +#endif // STATIC_MAEPARSER diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/maeparser-1.2.4/README.md new/maeparser-1.3.0/README.md --- old/maeparser-1.2.4/README.md 2020-10-13 19:18:02.000000000 +0200 +++ new/maeparser-1.3.0/README.md 2022-09-06 20:31:33.000000000 +0200 @@ -67,3 +67,35 @@ * Quantum Mechanics applications, such as Jaguar * Protein-Protein Docking applications * Many other backends used in both Life and Material Sciences + +Installation +============ + +Command line installation on a +Unix-like operating system follows a typical configure, build, and test procedure. +Configuration is via [CMake](https://cmake.org/). Here is an +example command sequence: + +```bash +git clone g...@github.com:schrodinger/maeparser.git maeparser + +# Set up the build configuration +cd maeparser +mkdir build +cd build +export CC=gcc +cmake --verbose .. + +# Build it +make + +# Run the custom testing +ctest +``` + +Defining CC ensures that the specified +compiler is used in the build +(in the example, it will be the first instance of `gcc` in one's +PATH), +and the `--verbose` argumentenables viewing the gory details of compiling and +linking that will be necessary for debugging or reporting issues if the build fails. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/maeparser-1.2.4/azure-pipelines.yml new/maeparser-1.3.0/azure-pipelines.yml --- old/maeparser-1.2.4/azure-pipelines.yml 2020-10-13 19:18:02.000000000 +0200 +++ new/maeparser-1.3.0/azure-pipelines.yml 2022-09-06 20:31:33.000000000 +0200 @@ -3,34 +3,34 @@ - dev/* jobs: - - job: Ubuntu_16_04_x64 + - job: Ubuntu_20_04_x64 timeoutInMinutes: 90 pool: - vmImage: ubuntu-16.04 + vmImage: ubuntu-20.04 variables: - compiler: gxx_linux-64=7.2.0 + compiler: gxx_linux-64 boost_version: 1.67.0 number_of_cores: nproc python_name: python37 shared_lib: ON steps: - template: .azure-pipelines/linux_build.yml - - job: Ubuntu_16_04_x64_static + - job: Ubuntu_20_04_x64_static timeoutInMinutes: 90 pool: - vmImage: ubuntu-16.04 + vmImage: ubuntu-20.04 variables: - compiler: gxx_linux-64=7.2.0 + compiler: gxx_linux-64 boost_version: 1.67.0 number_of_cores: nproc python_name: python37 shared_lib: OFF steps: - template: .azure-pipelines/linux_build.yml - - job: macOS_10_14_x64 + - job: macOS_10_15_x64 timeoutInMinutes: 90 pool: - vmImage: macos-10.14 + vmImage: macos-10.15 variables: compiler: clangxx_osx-64 boost_version: 1.67.0 @@ -40,10 +40,10 @@ shared_lib: ON steps: - template: .azure-pipelines/mac_build.yml - - job: macOS_10_14_x64_static + - job: macOS_10_15_x64_static timeoutInMinutes: 90 pool: - vmImage: macos-10.14 + vmImage: macos-10.15 variables: compiler: clangxx_osx-64 boost_version: 1.67.0 @@ -53,24 +53,24 @@ shared_lib: OFF steps: - template: .azure-pipelines/mac_build.yml - - job: Windows_VS2017_x64 + - job: Windows_VS2019_x64 timeoutInMinutes: 90 pool: - vmImage: vs2017-win2016 + vmImage: windows-2019 variables: - compiler: vs2017_win-64 + compiler: vs2019_win-64 boost_version: 1.67.0 number_of_cores: "%NUMBER_OF_PROCESSORS%" python_name: python37 shared_lib: ON steps: - template: .azure-pipelines/vs_build.yml - - job: Windows_VS2017_x64_static + - job: Windows_VS2019_x64_static timeoutInMinutes: 90 pool: - vmImage: vs2017-win2016 + vmImage: windows-2019 variables: - compiler: vs2017_win-64 + compiler: vs2019_win-64 boost_version: 1.67.0 number_of_cores: "%NUMBER_OF_PROCESSORS%" python_name: python37 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/maeparser-1.2.4/package-lock.json new/maeparser-1.3.0/package-lock.json --- old/maeparser-1.2.4/package-lock.json 1970-01-01 01:00:00.000000000 +0100 +++ new/maeparser-1.3.0/package-lock.json 2022-09-06 20:31:33.000000000 +0200 @@ -0,0 +1,11 @@ +{ + "name": "maeparser", + "author": "schrodinger", + "repository": "github:schrodinger/maeparser", + "license": "MIT", + "version": "1.2.4", + "dependencies": { + "cmake": "Kitware/CMake#v3.5.0", + "boost": "boostorg/boost", + } + } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/maeparser-1.2.4/test/MaeBlockTest.cpp new/maeparser-1.3.0/test/MaeBlockTest.cpp --- old/maeparser-1.2.4/test/MaeBlockTest.cpp 2020-10-13 19:18:02.000000000 +0200 +++ new/maeparser-1.3.0/test/MaeBlockTest.cpp 2022-09-06 20:31:33.000000000 +0200 @@ -1,4 +1,5 @@ #include <iostream> +#include <memory> #include <stdexcept> #include <boost/test/unit_test.hpp> @@ -133,8 +134,7 @@ dv.push_back(3.0); IndexedBlock ib("m_atom"); BOOST_REQUIRE(!ib.hasRealProperty("r_m_float")); - auto irps = std::shared_ptr<IndexedRealProperty>( - new IndexedRealProperty(dv, bs)); + auto irps = std::make_shared<IndexedRealProperty>(dv, bs); ib.setRealProperty("r_m_float", irps); BOOST_REQUIRE(ib.hasRealProperty("r_m_float")); @@ -169,8 +169,7 @@ dv.push_back(true); IndexedBlock ib("m_atom"); BOOST_REQUIRE(!ib.hasBoolProperty("b_m_bool")); - auto ibps = std::shared_ptr<IndexedBoolProperty>( - new IndexedBoolProperty(dv, bs)); + auto ibps = std::make_shared<IndexedBoolProperty>(dv, bs); ib.setBoolProperty("b_m_bool", ibps); BOOST_REQUIRE(ib.hasBoolProperty("b_m_bool")); @@ -199,8 +198,7 @@ dv.push_back("Bye"); IndexedBlock ib("m_atom"); BOOST_REQUIRE(!ib.hasStringProperty("s_m_string")); - auto isps = std::shared_ptr<IndexedStringProperty>( - new IndexedStringProperty(dv, bs)); + auto isps = std::make_shared<IndexedStringProperty>(dv, bs); ib.setStringProperty("s_m_string", isps); BOOST_REQUIRE(ib.hasStringProperty("s_m_string")); @@ -234,8 +232,7 @@ boost::dynamic_bitset<>* rbs = new boost::dynamic_bitset<>(3); rbs->set(2); - auto irps = - std::shared_ptr<IndexedRealProperty>(new IndexedRealProperty(rv, rbs)); + auto irps = std::make_shared<IndexedRealProperty>(rv, rbs); ib->setRealProperty("r_m_reals", irps); return ib; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/maeparser-1.2.4/test/ReaderTest.cpp new/maeparser-1.3.0/test/ReaderTest.cpp --- old/maeparser-1.2.4/test/ReaderTest.cpp 2020-10-13 19:18:02.000000000 +0200 +++ new/maeparser-1.3.0/test/ReaderTest.cpp 2022-09-06 20:31:33.000000000 +0200 @@ -17,6 +17,9 @@ const std::string uncompressed_sample = (test_samples_path / "test.mae").string(); +const std::string subblock_sample = + (test_samples_path / "subblock_sample.mae").string(); + BOOST_AUTO_TEST_SUITE(ReaderSuite) BOOST_AUTO_TEST_CASE(Reader0) @@ -326,4 +329,54 @@ check_msg); } +void write_block_names(const Block& block, int tabs, std::vector<std::pair<std::string, unsigned int>>& res) { + for (auto& subblock_name : block.getBlockNames()) { + res.push_back({subblock_name,tabs}); + write_block_names(*block.getBlock(subblock_name), tabs + 1, res); + } + for (auto& indexed_subblock_name : block.getIndexedBlockNames()) { + res.push_back({indexed_subblock_name,tabs}); + } +} + +BOOST_AUTO_TEST_CASE(TestGetSubBlockNames) +{ + auto ss = std::make_shared<std::ifstream>(subblock_sample); + Reader r(ss); + + std::shared_ptr<Block> b = r.next(CT_BLOCK); + + /* This is the tree structure of the non atom or bond subblocks for this + CT block: + + m_test_block + m_nested_block + m_test_nested_indexed_block + m_test_block + m_test_repeated_block + m_test_indexed_block + */ + + std::vector<std::pair<std::string, unsigned int>> expected_subblocks = { + {"m_test_block", 0}, + {"m_nested_block", 1}, + {"m_test_nested_indexed_block", 2}, + {"m_test_block", 1}, + {"m_test_repeated_block", 1}, + {"m_test_indexed_block", 1}, + {schrodinger::mae::ATOM_BLOCK, 0}, + {schrodinger::mae::BOND_BLOCK, 0}, + }; + std::vector<std::pair<std::string, unsigned int>> actual_subblocks; + write_block_names(*b, 0, actual_subblocks); + + BOOST_REQUIRE(actual_subblocks.size() == expected_subblocks.size()); + for (unsigned int i = 0; i < actual_subblocks.size(); ++i) { + auto actual = actual_subblocks[i]; + auto expected = expected_subblocks[i]; + BOOST_CHECK_EQUAL(actual.first, expected.first); + BOOST_CHECK_EQUAL(actual.second, expected.second); + } +} + BOOST_AUTO_TEST_SUITE_END() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/maeparser-1.2.4/test/WriterTest.cpp new/maeparser-1.3.0/test/WriterTest.cpp --- old/maeparser-1.2.4/test/WriterTest.cpp 2020-10-13 19:18:02.000000000 +0200 +++ new/maeparser-1.3.0/test/WriterTest.cpp 2022-09-06 20:31:33.000000000 +0200 @@ -29,7 +29,7 @@ public: WriterGlobalFixture() { - for (auto& file : generated_files) { + for (const auto& file : generated_files) { boost::filesystem::path fpath(file); if (boost::filesystem::exists(fpath)) { boost::filesystem::remove(fpath); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/maeparser-1.2.4/test/subblock_sample.mae new/maeparser-1.3.0/test/subblock_sample.mae --- old/maeparser-1.2.4/test/subblock_sample.mae 1970-01-01 01:00:00.000000000 +0100 +++ new/maeparser-1.3.0/test/subblock_sample.mae 2022-09-06 20:31:33.000000000 +0200 @@ -0,0 +1,95 @@ +{ + s_m_m2io_version + ::: + 2.0.0 +} + +f_m_ct { + s_m_title + s_m_entry_id + s_m_entry_name + i_m_ct_format + ::: + water + 2 + water.1 + 2 + m_atom[3] { + # First column is atom index # + i_m_mmod_type + r_m_x_coord + r_m_y_coord + r_m_z_coord + i_m_residue_number + i_m_color + s_m_pdb_residue_name + s_m_grow_name + i_m_atomic_number + s_m_color_rgb + s_m_atom_name + i_m_minimize_atom_index + ::: + 1 16 -1.523268 2.566995 0.086033 1 70 " " " c1" 8 FF2F2F O1 1 + 2 42 -2.329434 1.994698 -0.064311 1 21 " " " c2" 1 FFFFFF H2 2 + 3 42 -0.697113 2.013954 -0.021723 1 21 " " " n2" 1 FFFFFF H3 3 + ::: + } + m_bond[2] { + # First column is bond index # + i_m_from + i_m_to + i_m_order + i_m_from_rep + i_m_to_rep + ::: + 1 1 2 1 1 1 + 2 1 3 1 1 1 + ::: + } + m_test_block { + r_test_real + i_test_int + s_test_string + ::: + 0.5 + 1 + hello + m_test_block { + i_test_i2 + ::: + 11 + } + m_test_indexed_block[2] { + i_test_ia + b_test_bb + ::: + 1 101 1 + 2 102 0 + ::: + } + m_test_repeated_block { + i_test_irep + ::: + 1001 + } + m_test_repeated_block { + i_test_irep + ::: + 1002 + } + m_nested_block { + i_test_none + ::: + 1003 + m_test_nested_indexed_block[2] { + s_test_s1 + r_test_r2 + ::: + 1 abc 1.5 + 2 def 0.7 + ::: + } + } + } +} +