Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package openbabel for openSUSE:Factory checked in at 2022-08-30 14:48:54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/openbabel (Old) and /work/SRC/openSUSE:Factory/.openbabel.new.2083 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openbabel" Tue Aug 30 14:48:54 2022 rev:37 rq:999887 version:3.1.1 Changes: -------- --- /work/SRC/openSUSE:Factory/openbabel/openbabel.changes 2020-04-18 00:33:56.134487801 +0200 +++ /work/SRC/openSUSE:Factory/.openbabel.new.2083/openbabel.changes 2022-08-30 14:49:06.372063194 +0200 @@ -1,0 +2,75 @@ +Fri Aug 26 20:05:18 UTC 2022 - Antoine Belvire <antoine.belv...@opensuse.org> + +- Don't define %upstream version from %version: %upstream_version + is used in Source tag and osc download service does not evaluate + %() nor %{lua:} in Source tags for security reasons. +- Drop entirely baselibs.conf: 32bit libraries seem unnecessary. + +------------------------------------------------------------------- +Tue Aug 23 18:56:50 UTC 2022 - Antoine Belvire <antoine.belv...@opensuse.org> + +- Remove libinchi0 from baselibs.conf: Bundled inchi is not built + anymore. + +------------------------------------------------------------------- +Sun Aug 14 16:02:16 UTC 2022 - Antoine Belvire <antoine.belv...@opensuse.org> + +- Update to version 3.1.1: + * Fixes for packaging. + * No features or significant bug fixes were involved. +- Changes from version 3.1.0: + * This version represents additional API and is + backwards-compatible with the 3.0 release. + * For a full list of changes, see: + https://open-babel.readthedocs.io/en/latest/ReleaseNotes/ob310.html +- Changes from version 3.0.0: + * This release represents a major update and is strongly + recommended for all users. + * It also removes deprecated components and breaks the API in a + few places. For information on migrating from the previous + version, please see: + https://open-babel.readthedocs.io/en/latest/UseTheLibrary/migration.html#migrating-to-3-0 + * A sample of major new features: + + Code for handling implicit hydrogens and kekulization has + been entirely replaced. As well as being accurate, the new + approach is much faster. + + Speed of reading and writing SMILES has been improved by + more than 50-fold. + + Removal of the old 'babel' binary in favor of the newer + 'obabel' command-line tool. + + New improved fragment-based 3D coordinate generation code. + + New API for handling reactions stored as molecules (e.g. + Reaction InChI, etc.). + + New API for copying part of an OBMol as a substructure. + + Support for Maestro file format. + * For a full list of changes, see: + https://open-babel.readthedocs.io/en/latest/ReleaseNotes/ob300.html +- Remove upstreamed patches: + * fix_narrowing.patch + * fix_yasara.patch +- Add patches: + * openbabel-3.1.1-test-python3-escape-chars.patch: Fix python + test failure (gh#openbabel/openbabel#2217). + * openbabel-3.1.1-test-python3-imports.patch: Fix ImportError in + python tests (gh#openbabel/openbabel!2378). + * openbabel-3.1.1-version-number.patch: Fix version number. + * openbabel-3.1.1-gcc-12.patch: Fix build with GCC 12 + (gh#openbabel/openbabel!2493). + * openbabel-3.1.1-wx-stl-compat.patch: Fix GUI build against + wxWidgets compiled with STL (gh#openbabel/openbabel!2527). +- Build against system's inchi library instead of the bundled one. +- Add maeparser-devel as build dependency: Needed for Maestro + support. +- Update subpackages: + * Compile and package GUI. + * Move plugins from CLI package (i.e. main package) to library + package: They should be available to other library clients + without requiring the CLI tools. + * Move data files from CLI package to library package: Some are + required by the library, some are required by its plugins, + let's move everything to library package for now. +- Drop __DATE__ and __TIME__ tweaks for reproducibility: These GCC + macros now use SOURCE_DATE_EPOCH. +- Enable tests. + +------------------------------------------------------------------- Old: ---- baselibs.conf fix_narrowing.patch fix_yasara.patch openbabel-2.4.1.tar.gz New: ---- openbabel-3.1.1-gcc-12.patch openbabel-3.1.1-test-python3-escape-chars.patch openbabel-3.1.1-test-python3-imports.patch openbabel-3.1.1-version-number.patch openbabel-3.1.1-wx-stl-compat.patch openbabel-3.1.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ openbabel.spec ++++++ --- /var/tmp/diff_new_pack.ZP2xHs/_old 2022-08-30 14:49:07.256065451 +0200 +++ /var/tmp/diff_new_pack.ZP2xHs/_new 2022-08-30 14:49:07.260065460 +0200 @@ -1,7 +1,7 @@ # # spec file for package openbabel # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,29 +16,54 @@ # +# Allow disabling maestro (.mae) file support (enabled by default) +%bcond_without maestro + +# Allow disabling GUI build (enabled by default) +%bcond_without gui + +# Upstream version is "openbabel-major-minor-patch" instead of "major.minor.patch" +%define upstream_version openbabel-3-1-1 + +# The major ABI version of the shared library +%define abiver 7 + Name: openbabel -Version: 2.4.1 +Version: 3.1.1 Release: 0 Summary: A chemistry toolbox License: GPL-2.0-only Group: Development/Libraries/C and C++ -URL: http://openbabel.sourceforge.net/ -Source0: https://sourceforge.net/projects/openbabel/files/openbabel/%{version}/%{name}-%{version}.tar.gz -Source1: %{name}.changes -Source2: baselibs.conf -Patch0: fix_narrowing.patch -Patch1: fix_yasara.patch -BuildRequires: cmake >= 2.4.8 -BuildRequires: ninja +URL: https://openbabel.org +Source0: https://github.com/openbabel/openbabel/archive/%{upstream_version}/%{name}-%{version}.tar.gz +# PATCH-FIX-UPSTREAM openbabel-3.1.1-test-python3-escape-chars.patch -- Fix test failure with python3 (gh#openbabel/openbabel#2217) +Patch0: openbabel-3.1.1-test-python3-escape-chars.patch +# PATCH-FIX-UPSTREAM openbabel-3.1.1-test-python3-imports.patch -- Fix ImportError in python3 tests (gh#openbabel/openbabel!2378) +Patch1: openbabel-3.1.1-test-python3-imports.patch +# PATCH-FIX-UPSTREAM openbabel-3.1.1-version-number.patch -- Fix version number +Patch2: openbabel-3.1.1-version-number.patch +# PATCH-FIX-UPSTREAM openbabel-3.1.1-gcc-12.patch -- Fix build with GCC 12 (gh#openbabel/openbabel!2493) +Patch3: openbabel-3.1.1-gcc-12.patch +# PATCH-FIX-UPSTREAM openbabel-3.1.1-wx-stl-compat.patch -- Fix build with wxWidgets using STL (gh#openbabel/openbabel!2527) +Patch4: openbabel-3.1.1-wx-stl-compat.patch +BuildRequires: cmake >= 3.1 BuildRequires: gcc-c++ +BuildRequires: inchi-devel >= 1.04 +BuildRequires: ninja BuildRequires: pkgconfig -BuildRequires: swig -BuildRequires: wxWidgets-devel +BuildRequires: swig >= 2.0 +BuildRequires: pkgconfig(RapidJSON) >= 1.1.0 BuildRequires: pkgconfig(cairo) -BuildRequires: pkgconfig(eigen3) +BuildRequires: pkgconfig(eigen3) >= 2.91.0 BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pkgconfig(python3) BuildRequires: pkgconfig(zlib) +%if %{with gui} +BuildRequires: wxWidgets-devel >= 2.8 +%endif +%if %{with maestro} +BuildRequires: maeparser-devel >= 1.2.3 +%endif %description Open Babel is a chemical toolbox understanding many formats of @@ -46,26 +71,38 @@ from molecular modeling, chemistry, solid-state materials, biochemistry, or related areas. -%package -n libopenbabel5 -Summary: Component library of Open Babel, a chemistry toolbox -Group: System/Libraries +This package contains the command-line utility, which is intended to +be used as a replacement for the original babel program, to translate +between various chemical file formats as well as a wide variety of +utilities to foster development of other open source scientific +software. + +%if %{with gui} +%package gui +Summary: Graphical User Interface for Open Babel, a chemical toolbox +Group: Productivity/Scientific/Chemistry -%description -n libopenbabel5 +%description gui Open Babel is a chemical toolbox understanding many formats of chemical data. It allows to search, convert, analyze, or store data from molecular modeling, chemistry, solid-state materials, biochemistry, or related areas. -%package -n libinchi0 +This package contains a graphical interface for Open Babel. +%endif + +%package -n libopenbabel%{abiver} Summary: Component library of Open Babel, a chemistry toolbox Group: System/Libraries -%description -n libinchi0 +%description -n libopenbabel%{abiver} Open Babel is a chemical toolbox understanding many formats of chemical data. It allows to search, convert, analyze, or store data from molecular modeling, chemistry, solid-state materials, biochemistry, or related areas. +This package contains the shared library of Open Babel. + %package -n python3-openbabel Summary: Python bindings for Open Babel, a chemistry toolbox Group: Productivity/Scientific/Chemistry @@ -76,10 +113,12 @@ from molecular modeling, chemistry, solid-state materials, biochemistry, or related areas. +This package contains the Python bindings of Open Babel. + %package devel Summary: Development files for Open Babel Group: Development/Libraries/C and C++ -Requires: libopenbabel5 = %{version} +Requires: libopenbabel%{abiver} = %{version} Requires: pkgconfig(zlib) Provides: libopenbabel-devel = %{version} Obsoletes: libopenbabel-devel < %{version} @@ -91,16 +130,7 @@ biochemistry, or related areas. %prep -%setup -q -%patch0 -p1 -%patch1 -p1 - -# fix builddate info -# Remove build time references so build-compare can do its work -FAKE_BUILDTIME=$(LC_ALL=C date -u -r %{SOURCE1} '+%%H:%%M') -FAKE_BUILDDATE=$(LC_ALL=C date -u -r %{SOURCE1} '+%%b %%e %%Y') -sed -e "s/__TIME__/\"$FAKE_BUILDTIME\"/" -i tools/babel.cpp tools/obabel.cpp -sed -e "s/__DATE__/\"$FAKE_BUILDDATE\"/" -i tools/babel.cpp tools/obabel.cpp +%autosetup -p1 -n "%{name}-%{upstream_version}" %build %define __builder ninja @@ -108,7 +138,8 @@ -DRUN_SWIG=ON \ -DPYTHON_BINDINGS=ON \ -DPYTHON_EXECUTABLE=%{_bindir}/python3 \ - -DBUILD_GUI=FALSE \ + -DOPENBABEL_USE_SYSTEM_INCHI=ON \ + %{?with_maestro:-DWITH_MAEPARSER=ON} \ -ULIB_INSTALL_DIR \ -Wno-dev %cmake_build @@ -116,39 +147,62 @@ %install %cmake_install -%post -n libinchi0 -p /sbin/ldconfig -%postun -n libinchi0 -p /sbin/ldconfig -%post -n libopenbabel5 -p /sbin/ldconfig -%postun -n libopenbabel5 -p /sbin/ldconfig +%post -n libopenbabel%{abiver} -p /sbin/ldconfig +%postun -n libopenbabel%{abiver} -p /sbin/ldconfig + +%check +%ifarch aarch64 %{power64} + # See gh#openbabel/openbabel/266, gh#openbabel/openbabel#2246 + %define test_filter --exclude-regex "(test_regressions_1|test_regressions_221|test_regressions_228|inchiSteffen_PubChem.smi_Test|pytest_sym|pybindtest_obconv_writers|pybindtest_bindings)" +%else + # Some test failures on Tumbleweed apparently linked to slight changes in floating point value outputs. + # They look harmless - maybe float comparison margin is just not big enough - and may be linked to newer rapidjson. + %if 0%{?suse_version} > 1500 + %ifarch %{ix86} + %define test_filter --exclude-regex "(pybindtest_obconv_writers|test_cifspacegroup_11|pybindtest_bindings)" + %else + %define test_filter --exclude-regex "pybindtest_obconv_writers" + %endif + %endif +%endif + +%ctest %{?test_filter} %files %{_bindir}/roundtrip %{_bindir}/ob* -%{_bindir}/babel %{_mandir}/man1/* -%{_libdir}/openbabel -%{_datadir}/openbabel +%exclude %{_bindir}/obgui +%exclude %{_mandir}/man1/obgui.1* -%files -n libinchi0 -%{_libdir}/libinchi.so.0 -%{_libdir}/libinchi.so.0.4.1 - -%files -n libopenbabel5 -%{_libdir}/libopenbabel.so.5 -%{_libdir}/libopenbabel.so.5.0.0 +%if %{with gui} +%files gui +%{_bindir}/obgui +%{_mandir}/man1/obgui.1%{?ext_man} +%dir %{_datadir}/openbabel +%dir %{_datadir}/openbabel/%{version} +%{_datadir}/openbabel/%{version}/splash.png +%endif + +%files -n libopenbabel%{abiver} +%{_libdir}/libopenbabel.so.%{abiver} +%{_libdir}/libopenbabel.so.%{abiver}.0.0 +# Library plugins +%dir %{_libdir}/openbabel +%{_libdir}/openbabel/%{version} +# Data files needed by either the library or its plugins +%dir %{_datadir}/openbabel +%{_datadir}/openbabel/%{version} +%exclude %{_datadir}/openbabel/%{version}/splash.png %files devel -%dir %{_includedir}/inchi -%dir %{_includedir}/openbabel-2.0 -%dir %{_libdir}/cmake/openbabel2 -%{_includedir}/inchi/inchi_api.h -%{_includedir}/openbabel-2.0/openbabel/ -%{_libdir}/cmake/openbabel2/OpenBabel2Config.cmake -%{_libdir}/cmake/openbabel2/OpenBabel2ConfigVersion.cmake -%{_libdir}/cmake/openbabel2/OpenBabel2_EXPORTS*.cmake -%{_libdir}/libinchi.so +%dir %{_libdir}/cmake/openbabel3 +%{_includedir}/openbabel3 +%{_libdir}/cmake/openbabel3/OpenBabel3Config.cmake +%{_libdir}/cmake/openbabel3/OpenBabel3ConfigVersion.cmake +%{_libdir}/cmake/openbabel3/OpenBabel3_EXPORTS*.cmake %{_libdir}/libopenbabel.so -%{_libdir}/pkgconfig/openbabel-2.0.pc +%{_libdir}/pkgconfig/openbabel-3.pc %files -n python3-openbabel %{python3_sitearch}* ++++++ openbabel-3.1.1-gcc-12.patch ++++++ >From c0570bfeb2d7e0a6a6de1f257cf28e7f3cac8739 Mon Sep 17 00:00:00 2001 From: Sam James <s...@gentoo.org> Date: Sun, 12 Jun 2022 11:23:59 +0100 Subject: [PATCH] CMake: fix time check typo (fixes build failure w/ GCC 12) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Without this fixed check, we get a build failure with GCC 12: ``` /var/tmp/portage/sci-chemistry/openbabel-3.1.1_p20210225/work/openbabel-08e23f39b0cc39b4eebd937a5a2ffc1a7bac3e1b/include/openbabel/obutil.h:65:14: error: ???clock??? was not declared in this scope; did you mean ???clock_t???? 65 | start= clock(); | ^~~~~ | clock_t ``` Bug: https://bugs.gentoo.org/851510 --- src/config.h.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/config.h.cmake b/src/config.h.cmake index 1c59c67699..26e5dde94f 100644 --- a/src/config.h.cmake +++ b/src/config.h.cmake @@ -182,8 +182,8 @@ #define OB_MODULE_PATH "@OB_MODULE_PATH@" #ifndef TIME_WITH_SYS_TIME - #ifdef HAVE_SYS_TIME - #ifdef HAVE_TIME + #ifdef HAVE_SYS_TIME_H + #ifdef HAVE_TIME_H #define TIME_WITH_SYS_TIME 1 #else #define TIME_WITH_SYS_TIME 0 ++++++ openbabel-3.1.1-test-python3-escape-chars.patch ++++++ >From 7de27f309db5f7ec026ef5c5235e5b33bf7d1a85 Mon Sep 17 00:00:00 2001 From: John Bollinger <john.bollin...@stjude.org> Date: Thu, 14 May 2020 08:46:40 -0500 Subject: [PATCH] Fix test failure with Python 3 When run with Python 3.6, test/testdistgeom.py fails with a SyntaxError about a malformed character escape. This arises from a failure to escape literal backslash characters in single-quoted SMILES strings (several occurrences). Python 2 accepts this and does the right things with it, but Python 3 rejects it. Fixes #2217 --- test/testdistgeom.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/test/testdistgeom.py b/test/testdistgeom.py index 0fa5adb576..fc3a7515b9 100644 --- a/test/testdistgeom.py +++ b/test/testdistgeom.py @@ -42,13 +42,13 @@ def testSMItoSMI(self): 'C1CC[C@H]2[C@@H](C1)CCCC2', # cis-decalin 'C1CC[C@@H]2[C@@H](C1)CCCC2', # trans-decalin '[C@H]1(NC[C@H]2[C@H]1N2)OC', - 'Clc1cccc(Cl)c1\C=N\NC(=O)c1cccs1', - 'O=C1NC(=S)S\C1=C/c1ccco1', + 'Clc1cccc(Cl)c1\\C=N\\NC(=O)c1cccs1', + 'O=C1NC(=S)S\\C1=C/c1ccco1', 'S=C1NC(=O)/C(=C/c2ccco2)/S1', - 'O=C1NC(=S)N\C1=C\c1ccncc1', + 'O=C1NC(=S)N\\C1=C\\c1ccncc1', 'S=C1NC(=O)C(=C)N1', - 'CC(=O)N\N=C\c1ccncc1', - 'N/N=c/1\sc2c(n1C)cccc2', + 'CC(=O)N\\N=C\\c1ccncc1', + 'N/N=c/1\\sc2c(n1C)cccc2', 'OCCN/C=C\\1/C(=NN(C1=O)c1ccccc1)C', 'Cc1ccc(o1)/C=C/C=O', # disabled to make test run faster: ++++++ openbabel-3.1.1-test-python3-imports.patch ++++++ >From 4ba2fec17b786afebadfae800a015704ad533843 Mon Sep 17 00:00:00 2001 From: dkoes <dk...@pitt.edu> Date: Mon, 7 Jun 2021 11:04:25 -0400 Subject: [PATCH] Resolve ImportError with make test This change will build _openbabel.so in scripts/python/openbabel instead of the default build/lib. This is necessary because openbabel.py tries to import _openbabel like this: if __package__ or "." in __name__: from . import _openbabel else: import _openbabel This results in a circular import error when running make test (the first branch of the if is triggered). This code appears to be generated by SWIG with no obvious way to change it to catch the ImportError and call import _openbabel instead. Note the PYTHONPATH is set to include build/lib, but it doesn't matter because SWIG is forcing the import to happen in scripts/python/openbabel. I'm not sure why this hasn't been a problem in the past, perhaps there's been a change in SWIG. This is with SWIG 4.0.1 and cmake 3.18.6. I think the best solution is to move all the files that are being built in /scripts to the build directory rather than polluting the src tree with them, but this would require changing all the bindings and I'm not up for building and testing every binding. --- scripts/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt index b715a546dd..56821641fe 100644 --- a/scripts/CMakeLists.txt +++ b/scripts/CMakeLists.txt @@ -106,6 +106,7 @@ if (DO_PYTHON_BINDINGS) set_target_properties(bindings_python PROPERTIES OUTPUT_NAME _openbabel PREFIX "" + LIBRARY_OUTPUT_DIRECTORY "${openbabel_SOURCE_DIR}/scripts/python/openbabel/" SUFFIX .so ) execute_process( COMMAND ++++++ openbabel-3.1.1-version-number.patch ++++++ >From 650b1f829ac47cc84877a330366ec9485da3ec99 Mon Sep 17 00:00:00 2001 From: Geoff Hutchison <geoff.hutchi...@gmail.com> Date: Fri, 8 May 2020 13:31:52 -0400 Subject: [PATCH] Revise for 3.1.1 release --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c39db4a1c4..6b359bb572 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -24,7 +24,7 @@ include (CheckCXXCompilerFlag) # had too many 1.100.1 releases. :-) set(BABEL_MAJ_VER 3) set(BABEL_MIN_VER 1) -set(BABEL_PATCH_VER 0) +set(BABEL_PATCH_VER 1) # This should be phased out in preference for just using the target name set(BABEL_LIBRARY openbabel) ++++++ openbabel-3.1.1-wx-stl-compat.patch ++++++ >From c468f6bec70b1b749e57c8e6ec09b6fe62d7cd6e Mon Sep 17 00:00:00 2001 From: Antoine Belvire <antoine.belv...@opensuse.org> Date: Mon, 15 Aug 2022 23:31:00 +0200 Subject: [PATCH] Allow GUI to compile with wxWidgets built with STL wxMenuItemList - a wxList of wxMenuItems - should be iterated using the wxMenuItemList::compatibility_iterator so that it can be compiled with wxWidgets built with STL. This commit does not make GUI require wxWidgets > 2.8 nor wxWidgets compiled with STL but makes the code compatible with more recent versions of wxWidgets compiled with STL. See also: https://wiki.wxwidgets.org/Updating_to_the_Latest_Version_of_wxWidgets#wxUSE_STL. --- src/GUI/OBGUI.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/GUI/OBGUI.cpp b/src/GUI/OBGUI.cpp index 2aa14dcb09..f65fe8cc1d 100644 --- a/src/GUI/OBGUI.cpp +++ b/src/GUI/OBGUI.cpp @@ -1128,7 +1128,7 @@ void OBGUIFrame::OnClickPlugin(wxCommandEvent& event) if(item) { //Find the name of the plugin type. It seems difficult to go up a menu hierarchy. - wxwxMenuItemListNode *node = listMenu->GetMenuItems().GetFirst(); + wxMenuItemList::compatibility_iterator node = listMenu->GetMenuItems().GetFirst(); while (node) { wxMenuItem* itemm = node->GetData(); ++++++ openbabel-2.4.1.tar.gz -> openbabel-3.1.1.tar.gz ++++++ /work/SRC/openSUSE:Factory/openbabel/openbabel-2.4.1.tar.gz /work/SRC/openSUSE:Factory/.openbabel.new.2083/openbabel-3.1.1.tar.gz differ: char 5, line 1