Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package maeparser for openSUSE:Factory 
checked in at 2026-06-30 15:12:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/maeparser (Old)
 and      /work/SRC/openSUSE:Factory/.maeparser.new.11887 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "maeparser"

Tue Jun 30 15:12:17 2026 rev:4 rq:1362504 version:1.3.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/maeparser/maeparser.changes      2023-02-02 
18:28:18.191435348 +0100
+++ /work/SRC/openSUSE:Factory/.maeparser.new.11887/maeparser.changes   
2026-06-30 15:12:52.158895960 +0200
@@ -1,0 +2,11 @@
+Thu May 14 11:37:26 UTC 2026 - Friedrich Haubensak <[email protected]>
+
+- Update to version 1.3.3
+  * 1.3.3 release:
+    - Read .mae files with empty blocks
+  * 1.3.2 release:
+    - Make the boost::iostreams dependency option optional
+- Add maeparser-1.3.3-cmake.patch:  upstream improvements, made
+  after release, to cmake files
+
+-------------------------------------------------------------------

Old:
----
  maeparser-1.3.1.tar.gz

New:
----
  maeparser-1.3.3-cmake.patch
  maeparser-1.3.3.tar.gz

----------(New B)----------
  New:    - Make the boost::iostreams dependency option optional
- Add maeparser-1.3.3-cmake.patch:  upstream improvements, made
  after release, to cmake files
----------(New E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ maeparser.spec ++++++
--- /var/tmp/diff_new_pack.80eayB/_old  2026-06-30 15:12:52.646912475 +0200
+++ /var/tmp/diff_new_pack.80eayB/_new  2026-06-30 15:12:52.646912475 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package maeparser
 #
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2026 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,12 +18,13 @@
 
 %define abiver 1
 Name:           maeparser
-Version:        1.3.1
+Version:        1.3.3
 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:          maeparser-1.3.3-cmake.patch
 BuildRequires:  c++_compiler
 BuildRequires:  cmake
 BuildRequires:  libboost_filesystem-devel
@@ -77,7 +78,6 @@
 %license LICENSE.txt
 %doc README.md
 %{_includedir}/maeparser
-%{_libdir}/cmake/maeparser-config.cmake
-%{_libdir}/cmake/maeparser-config-relwithdebinfo.cmake
+%{_libdir}/cmake/maeparser
 %{_libdir}/libmaeparser.so
 

++++++ maeparser-1.3.3-cmake.patch ++++++

commits to https://github.com/schrodinger/maeparser after release


--- a/CMakeLists.txt    2025-06-06 22:24:00.000000000 +0200
+++ b/CMakeLists.txt    2026-03-07 12:18:00.000000000 +0100
@@ -1,7 +1,7 @@
 set (CMAKE_CXX_STANDARD 11)
 cmake_minimum_required(VERSION 3.12)
 
-project(maeparser)
+project(maeparser VERSION 1.3.3)
 
 option(MAEPARSER_RIGOROUS_BUILD "Abort the build if the compiler issues any 
warnings" OFF )
 option(MAEPARSER_BUILD_TESTS "Whether test executables should be built" ON)
@@ -54,12 +54,12 @@
         message(STATUS "Using zlib library for iostreams dependency.")
     endif(Boost_ZLIB_FOUND)
 
-    target_link_libraries(maeparser ${boost_libs})
-endif(MAEPARSER_BOOST_IOSTREAMS_SUPPORT)
+    target_link_libraries(maeparser PRIVATE ${boost_libs})
+endif(MAEPARSER_USE_BOOST_IOSTREAMS)
 
 SET_TARGET_PROPERTIES (maeparser
     PROPERTIES
-       VERSION 1.3.3
+       VERSION ${PROJECT_VERSION}
        SOVERSION 1
 )
 
@@ -82,7 +82,13 @@
 
 INSTALL(EXPORT maeparser-targets
     FILE ${PROJECT_NAME}-config.cmake
-    DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake)
+    DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/maeparser)
+
+include(CMakePackageConfigHelpers)
+write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake
+    COMPATIBILITY AnyNewerVersion)
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake
+    DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/maeparser)
 
 file(GLOB mae_headers "*.hpp")
 install(FILES ${mae_headers} DESTINATION include/maeparser)


++++++ maeparser-1.3.1.tar.gz -> maeparser-1.3.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/maeparser-1.3.1/CMakeLists.txt 
new/maeparser-1.3.3/CMakeLists.txt
--- old/maeparser-1.3.1/CMakeLists.txt  2023-02-01 20:22:56.000000000 +0100
+++ new/maeparser-1.3.3/CMakeLists.txt  2025-06-06 22:24:27.000000000 +0200
@@ -1,11 +1,12 @@
 set (CMAKE_CXX_STANDARD 11)
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.12)
 
 project(maeparser)
 
 option(MAEPARSER_RIGOROUS_BUILD "Abort the build if the compiler issues any 
warnings" OFF )
 option(MAEPARSER_BUILD_TESTS "Whether test executables should be built" ON)
 option(MAEPARSER_BUILD_SHARED_LIBS "Build maeparser as a shared library (turn 
off for a static one)" ON)
+option(MAEPARSER_USE_BOOST_IOSTREAMS "Build maeparser with boost::iostreams" 
ON)
 
 if(MSVC)
     # C4251 disables warnings for export STL containers as arguments 
(returning a vector of things)
@@ -37,25 +38,28 @@
     target_compile_definitions(maeparser PRIVATE "STATIC_MAEPARSER")
 endif(MAEPARSER_BUILD_SHARED_LIBS)
 
-find_package(Boost COMPONENTS iostreams REQUIRED)
-include_directories(${Boost_INCLUDE_DIRS})
-set(boost_libs ${Boost_LIBRARIES})
-
-find_package(Boost COMPONENTS zlib QUIET)
-if(Boost_ZLIB_FOUND)
-    set(boost_libs ${boost_libs} ${Boost_LIBRARIES})
-    message(STATUS "Using Boost zlib module for iostreams dependency.")
-else(Boost_ZLIB_FOUND)
-    find_package(ZLIB REQUIRED)
-    set(boost_libs ${boost_libs} ${ZLIB_LIBRARIES})
-    message(STATUS "Using zlib library for iostreams dependency.")
-endif(Boost_ZLIB_FOUND)
+if(MAEPARSER_USE_BOOST_IOSTREAMS)
+    find_package(Boost COMPONENTS iostreams REQUIRED)
+    include_directories(${Boost_INCLUDE_DIRS})
+    set(boost_libs ${Boost_LIBRARIES})
+    target_compile_definitions(maeparser PRIVATE 
"MAEPARSER_HAVE_BOOST_IOSTREAMS")
+
+    find_package(Boost COMPONENTS zlib QUIET)
+    if(Boost_ZLIB_FOUND)
+        set(boost_libs ${boost_libs} ${Boost_LIBRARIES})
+        message(STATUS "Using Boost zlib module for iostreams dependency.")
+    else(Boost_ZLIB_FOUND)
+        find_package(ZLIB REQUIRED)
+        set(boost_libs ${boost_libs} ZLIB::ZLIB)
+        message(STATUS "Using zlib library for iostreams dependency.")
+    endif(Boost_ZLIB_FOUND)
 
-target_link_libraries(maeparser ${boost_libs})
+    target_link_libraries(maeparser ${boost_libs})
+endif(MAEPARSER_BOOST_IOSTREAMS_SUPPORT)
 
 SET_TARGET_PROPERTIES (maeparser
     PROPERTIES
-       VERSION 1.3.1
+       VERSION 1.3.3
        SOVERSION 1
 )
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/maeparser-1.3.1/MaeParser.cpp 
new/maeparser-1.3.3/MaeParser.cpp
--- old/maeparser-1.3.1/MaeParser.cpp   2023-02-01 20:22:56.000000000 +0100
+++ new/maeparser-1.3.3/MaeParser.cpp   2025-06-06 22:24:27.000000000 +0200
@@ -294,7 +294,7 @@
 
 std::string MaeParser::blockBeginning(int* indexed)
 {
-    *indexed = 0;
+    *indexed = -1;
 
     char* save = m_buffer.current;
     if (!property_key_author_name(m_buffer, save)) {
@@ -361,14 +361,14 @@
         }
     };
 
-    int indexed = 0;
+    int indexed = -1;
     for (advance(); *m_buffer.current != '}'; advance()) {
-        std::string name = blockBeginning(&indexed);
-        if (indexed) {
-            indexed_block_parser->parse(name, indexed, m_buffer);
-        } else {
-            auto sub_block = blockBody(name);
+        std::string subblock_name = blockBeginning(&indexed);
+        if (indexed < 0) { // Not an indexed block
+            auto sub_block = blockBody(subblock_name);
             block->addBlock(std::move(sub_block));
+        } else {
+            indexed_block_parser->parse(subblock_name, indexed, m_buffer);
         }
     }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/maeparser-1.3.1/Reader.cpp 
new/maeparser-1.3.3/Reader.cpp
--- old/maeparser-1.3.1/Reader.cpp      2023-02-01 20:22:56.000000000 +0100
+++ new/maeparser-1.3.3/Reader.cpp      2025-06-06 22:24:27.000000000 +0200
@@ -1,9 +1,11 @@
 #include "Reader.hpp"
 
 #include <boost/algorithm/string/predicate.hpp>
+#ifdef MAEPARSER_HAVE_BOOST_IOSTREAMS
 #include <boost/iostreams/device/file.hpp>
 #include <boost/iostreams/filter/gzip.hpp>
 #include <boost/iostreams/filtering_stream.hpp>
+#endif
 
 #include <fstream>
 #include <iostream>
@@ -11,8 +13,10 @@
 #include <utility>
 
 using boost::algorithm::ends_with;
+#ifdef MAEPARSER_HAVE_BOOST_IOSTREAMS
 using boost::iostreams::file_source;
 using boost::iostreams::filtering_istream;
+#endif
 
 namespace schrodinger
 {
@@ -35,10 +39,17 @@
 
     std::shared_ptr<std::istream> stream;
     if (ends_with(fname, ".maegz") || ends_with(fname, ".mae.gz")) {
+#ifdef MAEPARSER_HAVE_BOOST_IOSTREAMS
         auto* gzip_stream = new filtering_istream();
         gzip_stream->push(boost::iostreams::gzip_decompressor());
         gzip_stream->push(file_source(fname, ios_mode));
         stream.reset(static_cast<std::istream*>(gzip_stream));
+#else
+        std::stringstream ss;
+        ss << "Unable to open " << fname << " for reading, "
+            << "as maeparser was compiled without boost::iostreams support";
+        throw std::runtime_error(ss.str());
+#endif
     } else {
         auto* file_stream = new std::ifstream(fname, ios_mode);
         stream.reset(static_cast<std::istream*>(file_stream));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/maeparser-1.3.1/Writer.cpp 
new/maeparser-1.3.3/Writer.cpp
--- old/maeparser-1.3.1/Writer.cpp      2023-02-01 20:22:56.000000000 +0100
+++ new/maeparser-1.3.3/Writer.cpp      2025-06-06 22:24:27.000000000 +0200
@@ -1,9 +1,11 @@
 #include "Writer.hpp"
 
 #include <boost/algorithm/string/predicate.hpp>
+#ifdef MAEPARSER_HAVE_BOOST_IOSTREAMS
 #include <boost/iostreams/device/file.hpp>
 #include <boost/iostreams/filter/gzip.hpp>
 #include <boost/iostreams/filtering_stream.hpp>
+#endif
 
 #include <fstream>
 #include <iostream>
@@ -14,8 +16,10 @@
 
 using namespace std;
 using boost::algorithm::ends_with;
+#ifdef MAEPARSER_HAVE_BOOST_IOSTREAMS
 using boost::iostreams::file_sink;
 using boost::iostreams::filtering_ostream;
+#endif
 
 namespace schrodinger
 {
@@ -32,10 +36,17 @@
     const auto ios_mode = std::ios_base::out | std::ios_base::binary;
 
     if (ends_with(fname, ".maegz") || ends_with(fname, ".mae.gz")) {
+#ifdef MAEPARSER_HAVE_BOOST_IOSTREAMS
         auto* gzip_stream = new filtering_ostream();
         gzip_stream->push(boost::iostreams::gzip_compressor());
         gzip_stream->push(file_sink(fname, ios_mode));
         m_out.reset(static_cast<ostream*>(gzip_stream));
+#else
+        std::stringstream ss;
+        ss << "Unable to open " << fname << " for writing, "
+            << "as maeparser was compiled without boost::iostreams support";
+        throw std::runtime_error(ss.str());
+#endif
     } else {
         auto* file_stream = new ofstream(fname, ios_mode);
         m_out.reset(static_cast<ostream*>(file_stream));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/maeparser-1.3.1/test/MaeParserTest.cpp 
new/maeparser-1.3.3/test/MaeParserTest.cpp
--- old/maeparser-1.3.1/test/MaeParserTest.cpp  2023-02-01 20:22:56.000000000 
+0100
+++ new/maeparser-1.3.3/test/MaeParserTest.cpp  2025-06-06 22:24:27.000000000 
+0200
@@ -123,23 +123,23 @@
 {
     {
         auto ss = std::make_shared<std::stringstream>("m_something {");
-        int indexed = 0;
+        int indexed = -2;
         MaeParser mp(ss);
         std::string name = mp.blockBeginning(&indexed);
         BOOST_REQUIRE_EQUAL(name, "m_something");
-        BOOST_REQUIRE_EQUAL(indexed, 0);
+        BOOST_REQUIRE_EQUAL(indexed, -1);
     }
     {
         auto ss = std::make_shared<std::stringstream>("mmmm_block{");
-        int indexed = 0;
+        int indexed = -2;
         MaeParser mp(ss);
         std::string name = mp.blockBeginning(&indexed);
         BOOST_REQUIRE_EQUAL(name, "mmmm_block");
-        BOOST_REQUIRE_EQUAL(indexed, 0);
+        BOOST_REQUIRE_EQUAL(indexed, -1);
     }
     {
         auto ss = std::make_shared<std::stringstream>("m_whatev[23]{");
-        int indexed = 0;
+        int indexed = -2;
         MaeParser mp(ss);
         std::string name = mp.blockBeginning(&indexed);
         BOOST_REQUIRE_EQUAL(name, "m_whatev");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/maeparser-1.3.1/test/ReaderTest.cpp 
new/maeparser-1.3.3/test/ReaderTest.cpp
--- old/maeparser-1.3.1/test/ReaderTest.cpp     2023-02-01 20:22:56.000000000 
+0100
+++ new/maeparser-1.3.3/test/ReaderTest.cpp     2025-06-06 22:24:27.000000000 
+0200
@@ -356,6 +356,7 @@
             m_test_nested_indexed_block
         m_test_block
         m_test_repeated_block
+        m_empty_block
         m_test_indexed_block
     */
 
@@ -365,6 +366,7 @@
         {"m_test_nested_indexed_block", 2},
         {"m_test_block", 1},
         {"m_test_repeated_block", 1},
+        {"m_empty_block", 1},
         {"m_test_indexed_block", 1},
         {schrodinger::mae::ATOM_BLOCK, 0},
         {schrodinger::mae::BOND_BLOCK, 0},
@@ -372,7 +374,7 @@
     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());
+    BOOST_CHECK_EQUAL(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];
@@ -396,7 +398,7 @@
 
     auto b = r.next(CT_BLOCK);
     BOOST_REQUIRE(b);
-    
BOOST_CHECK_EQUAL(b->getStringProperty("s_m_prop:name::with:::many::::colons"),
-                      "1.1.0");
+    BOOST_CHECK_EQUAL(
+        b->getStringProperty("s_m_prop:name::with:::many::::colons"), "1.1.0");
 }
 BOOST_AUTO_TEST_SUITE_END()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/maeparser-1.3.1/test/subblock_sample.mae 
new/maeparser-1.3.3/test/subblock_sample.mae
--- old/maeparser-1.3.1/test/subblock_sample.mae        2023-02-01 
20:22:56.000000000 +0100
+++ new/maeparser-1.3.3/test/subblock_sample.mae        2025-06-06 
22:24:27.000000000 +0200
@@ -90,6 +90,10 @@
             :::
         }
     }
+    m_empty_block[0] {
+        :::
+        :::
+    }
   }
 }
 

Reply via email to