Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package inchi for openSUSE:Factory checked 
in at 2026-04-09 16:11:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/inchi (Old)
 and      /work/SRC/openSUSE:Factory/.inchi.new.21863 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "inchi"

Thu Apr  9 16:11:30 2026 rev:3 rq:1345499 version:1.07.5

Changes:
--------
--- /work/SRC/openSUSE:Factory/inchi/inchi.changes      2022-09-25 
15:36:04.883735407 +0200
+++ /work/SRC/openSUSE:Factory/.inchi.new.21863/inchi.changes   2026-04-09 
16:24:18.349427856 +0200
@@ -1,0 +2,13 @@
+Mon Mar 30 13:36:15 UTC 2026 - Friedrich Haubensak <[email protected]>
+
+- Update to 1.07.5
+  * For details on bug fixes and added features see the CHANGELOG,
+    https://github.com/IUPAC-InChI/InChI/blob/v1.07.5/INCHI-1-DOC/CHANGELOG.md
+- Drop inchi-1.06-optflags.patch:  no longer needed
+- Drop inchi-1.06-big-endian.patch:  fails to apply, needs rewrite
+- Add inchi-1.07-no-fetchcontent.patch:  inhibit dynamic downloads
+- .spec file:
+  * switch to cmake, as upstream uses it to build
+  * small tweaks to cmakefiles to fix build problems
+
+-------------------------------------------------------------------
@@ -17 +29,0 @@
-

Old:
----
  INCHI-1-DOC.zip
  INCHI-1-SRC.zip
  INCHI-1-TEST.zip
  inchi-1.06-big-endian.patch
  inchi-1.06-optflags.patch

New:
----
  inchi-1.07-no-fetchcontent.patch
  inchi-1.07.5.tar.gz

----------(Old B)----------
  Old:- Drop inchi-1.06-optflags.patch:  no longer needed
- Drop inchi-1.06-big-endian.patch:  fails to apply, needs rewrite
- Add inchi-1.07-no-fetchcontent.patch:  inhibit dynamic downloads
  Old:    
https://github.com/IUPAC-InChI/InChI/blob/v1.07.5/INCHI-1-DOC/CHANGELOG.md
- Drop inchi-1.06-optflags.patch:  no longer needed
- Drop inchi-1.06-big-endian.patch:  fails to apply, needs rewrite
----------(Old E)----------

----------(New B)----------
  New:- Drop inchi-1.06-big-endian.patch:  fails to apply, needs rewrite
- Add inchi-1.07-no-fetchcontent.patch:  inhibit dynamic downloads
- .spec file:
----------(New E)----------

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

Other differences:
------------------
++++++ inchi.spec ++++++
--- /var/tmp/diff_new_pack.cfZ93z/_old  2026-04-09 16:24:19.581478563 +0200
+++ /var/tmp/diff_new_pack.cfZ93z/_new  2026-04-09 16:24:19.593479057 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package inchi
 #
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -16,25 +16,29 @@
 #
 
 
+%{?sle15_python_module_pythons}
+
 %define abiver  1
-%define urlver  106
 Name:           inchi
-Version:        1.06
+Version:        1.07.5
 Release:        0
 Summary:        The IUPAC International Chemical Identifier
-License:        LGPL-2.0-or-later
-URL:            https://www.inchi-trust.org
-Source0:        https://www.inchi-trust.org/download/%{urlver}/INCHI-1-SRC.zip
-Source1:        https://www.inchi-trust.org/download/%{urlver}/INCHI-1-DOC.zip
-Source2:        https://www.inchi-trust.org/download/%{urlver}/INCHI-1-TEST.zip
-# PATCH-FIX-UPSTREAM inchi-1.06-optflags.patch -- Pass optflags to compiler 
and don't require gcc-c++ (picked from Fedora)
-Patch0:         inchi-1.06-optflags.patch
-# PATCH-FIX-UPSTREAM inchi-1.06-big-endian.patch -- Fix tests on big-endian 
architectures (rh#1930943)
-Patch1:         inchi-1.06-big-endian.patch
-BuildRequires:  dos2unix
+License:        MIT
+URL:            https://www.inchi-trust.org/
+Source0:        
https://github.com/IUPAC-InChI/InChI/archive/refs/tags/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
+## use system installed gtest, do not fetch on-the-fly
+Patch0:         inchi-1.07-no-fetchcontent.patch
+BuildRequires:  cmake
+BuildRequires:  fdupes
 BuildRequires:  gcc
-BuildRequires:  unzip
+BuildRequires:  gcc-c++
 Suggests:       inchi-doc
+## test dependencies
+BuildRequires:  gmock
+BuildRequires:  gtest
+BuildRequires:  %{pythons}
+BuildRequires:  %{python_module pydantic}
+BuildRequires:  %{python_module pytest}
 
 %description
 The IUPAC International Chemical Identifier (InChI) is a non-proprietary
@@ -78,76 +82,80 @@
 and InChI library API reference for developers.
 
 %prep
-# Extract Source0 then cd into extracted directory then extract Source1 then 
extract Source2
-%setup -q -n INCHI-1-SRC -a 1 -a 2
+%setup -q -n InChI-%{version}
 %autopatch -p1
-dos2unix -k readme.txt
-
-# Remove files from INCHI-1-DOC that are already present in ICHI-1-SRC so that 
they are not listed twice
-rm -v INCHI-1-DOC/{LICENCE.pdf,readme.txt}
 
-# Uncompress test datasets and reference test outputs
-cd INCHI-1-TEST/test
-unzip -d reference -qq -a test-results.zip
-unzip -qq -a test-datasets.zip
-dos2unix -k reference/*.inc *.sdf
-
-# Test scripts are Windows batch scripts; turn them into shell scripts
-for test_script in inchify_{InChI_TestSet,zzp} ; do
-    sed -e 's,REM,#,g'                                         \
-        -e 's,/,-,g'                                           \
-        -e 's,NUL,/dev/null,g'                                 \
-        -e 's,inchi-1.exe,../../INCHI_EXE/bin/Linux/inchi-1,g' \
-        ${test_script}.cmd > ${test_script}.sh
-    dos2unix ${test_script}.sh
-done
+## req'd by gtest
+sed -e 's:CMAKE_CXX_STANDARD 11:CMAKE_CXX_STANDARD 17:' -i CMakeLists.txt
+## fix link failures w/ system gtest
+sed -e "/target_link_libraries/s:gtest_main gmock_main test_dependencies 
libinchi:& gtest gmock:" \
+    -i INCHI-1-TEST/tests/test_unit/CMakeLists.txt
+## (re-)introduce versioned sonames, see 
github.com/IUPAC-InChI/InChI/issues/195
+sed -e '/add_library(libinchi SHARED)/a\
+set_target_properties(libinchi PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION 
${PROJECT_VERSION_MAJOR})' \
+    -i INCHI-1-SRC/INCHI_API/libinchi/src/CMakeLists.txt
 
 %build
-export OPTFLAGS="%{optflags}"
-%make_build -C INCHI_API/demos/inchi_main/gcc
-%make_build -C INCHI_EXE/inchi-1/gcc
+%cmake
+%cmake_build
 
 %install
+## no cmake install rules provided
 # Install binary
-install -pm 755 INCHI_EXE/bin/Linux/inchi-1 -D -t %{buildroot}%{_bindir}
+install -pm 755 %{__builddir}/INCHI-1-SRC/INCHI_EXE/inchi-1/src/bin/inchi-1 -D 
-t %{buildroot}%{_bindir}
 
 # Install shared library and do the appropriate links
-install -p INCHI_API/bin/Linux/libinchi.so.%{abiver}.*.* -D -t 
%{buildroot}%{_libdir}
-ln -s $(basename %{buildroot}%{_libdir}/libinchi.so.%{abiver}.*.*) 
%{buildroot}%{_libdir}/libinchi.so.%{abiver}
+install -p 
%{__builddir}/INCHI-1-SRC/INCHI_API/libinchi/src/lib/libinchi.so.%{abiver}.* -D 
-t %{buildroot}%{_libdir}
+ln -s $(basename %{buildroot}%{_libdir}/libinchi.so.%{abiver}.*) 
%{buildroot}%{_libdir}/libinchi.so.%{abiver}
 ln -s libinchi.so.%{abiver} %{buildroot}%{_libdir}/libinchi.so
 
 # Install the headers
-install -pm644 INCHI_BASE/src/{ichisize,inchi_api,ixa}.h -D -t 
%{buildroot}%{_includedir}/inchi
+install -pm644 INCHI-1-SRC/INCHI_BASE/src/{bcf_s,inchi_api,ixa}.h -D -t 
%{buildroot}%{_includedir}/inchi
+
+## install doc files, silence rpmlint wrt. file dups
+install -d %{buildroot}%{_defaultdocdir}/%{name}-doc
+cp -r INCHI-1-DOC/* %{buildroot}%{_defaultdocdir}/%{name}-doc
+%fdupes %{buildroot}%{_defaultdocdir}/%{name}-doc
 
 %post -n libinchi%{abiver} -p /sbin/ldconfig
 %postun -n libinchi%{abiver} -p /sbin/ldconfig
 
 %check
-# Run tests
-cd INCHI-1-TEST/test
-for test_script in inchify_{InChI_TestSet,zzp} ; do
-    sh ./${test_script}.sh
-done
-
-# Compare test outputs with reference test outputs
-for test_output in its-*.inc zzp-*.inc ; do
-    diff -u reference/${test_output} ${test_output}
-done
+%ctest
+pushd INCHI-1-TEST
+## fix hardcoded paths
+sed -e "/SDF_PATH = /s:INCHI-1-TEST/::" \
+    -e 
"s:CMake_build/full_build/INCHI-1-SRC/INCHI_API/libinchi/src/lib/libinchi.so:%{buildroot}%{_libdir}/libinchi.so:"
 \
+    -i tests/test_library/test_multithreading.py
+## increase assert time (or disable "test_execution_time")
+sed -e "/assert execution_time/s: < 10: < 100:" -i 
tests/test_meta/test_performance.py
+## disable test_permutation, unpackaged python module rdkit
+mv tests/test_meta/{test,notest}_permutation.py
+## fix for use of pydantic v1 in leap 15.6
+##%%if 0%%{?sle_version} == 150600 && 0%%{?is_opensuse}
+## is_opensuse seems unset in OBS science project
+%if 0%{?sle_version} == 150600
+sed -e "s:.model_dump_json():.json():" -i src/sdf_pipeline/drivers.py
+%endif
+export PYTHONPATH=src
+pytest --exe-path=%{buildroot}/%{_bindir}/inchi-1
+mv tests/test_meta/{notest,test}_permutation.py
+popd
 
 %files
-%license LICENCE.pdf
+%license LICENSE
 %{_bindir}/inchi-1
 
 %files -n libinchi%{abiver}
-%license LICENCE.pdf
+%license LICENSE
 %{_libdir}/libinchi.so.%{abiver}*
 
 %files devel
-%license LICENCE.pdf
+%license LICENSE
 %{_includedir}/inchi
 %{_libdir}/libinchi.so
 
 %files doc
-%license LICENCE.pdf
-%doc readme.txt INCHI-1-DOC/*
+%license LICENSE
+%{_defaultdocdir}/inchi-doc
 

++++++ inchi-1.07-no-fetchcontent.patch ++++++
--- a/CMakeLists.txt    2026-02-17 13:12:19.000000000 +0100
+++ b/CMakeLists.txt    2026-03-26 16:08:41.208664230 +0100

@@ -9,14 +9,14 @@
 # set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=address")
 # set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address")
 
-include(FetchContent)
-FetchContent_Declare(
-    googletest
-    GIT_REPOSITORY https://github.com/google/googletest.git
-    GIT_TAG        v1.17.0
-)
+##include(FetchContent)
+##FetchContent_Declare(
+##    googletest
+##    GIT_REPOSITORY https://github.com/google/googletest.git
+##    GIT_TAG        v1.17.0
+##)
 set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
-FetchContent_MakeAvailable(googletest)
+##FetchContent_MakeAvailable(googletest)
 
 include(CTest)
 include(GoogleTest)

Reply via email to