Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python3-espressomd for 
openSUSE:Factory checked in at 2024-09-12 16:56:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python3-espressomd (Old)
 and      /work/SRC/openSUSE:Factory/.python3-espressomd.new.17570 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python3-espressomd"

Thu Sep 12 16:56:38 2024 rev:22 rq:1200197 version:4.2.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/python3-espressomd/python3-espressomd.changes    
2024-05-23 15:35:40.384514363 +0200
+++ 
/work/SRC/openSUSE:Factory/.python3-espressomd.new.17570/python3-espressomd.changes
 2024-09-12 16:58:01.761029025 +0200
@@ -1,0 +2,11 @@
+Wed Sep 11 19:01:36 UTC 2024 - Jean-Noel Grad <jg...@icp.uni-stuttgart.de>
+
+- Fix numpy.patch
+
+-------------------------------------------------------------------
+Wed Sep 11 18:36:23 UTC 2024 - Jean-Noel Grad <jg...@icp.uni-stuttgart.de>
+
+- Add numpy.patch to improve NumPy 2.0 compatibility 
(gh#espressomd/espresso#4992)
+- Add cmake.patch to address CMake warnings (gh#espressomd/espresso#4992)
+
+-------------------------------------------------------------------

New:
----
  cmake.patch
  numpy.patch

BETA DEBUG BEGIN:
  New:- Add numpy.patch to improve NumPy 2.0 compatibility 
(gh#espressomd/espresso#4992)
- Add cmake.patch to address CMake warnings (gh#espressomd/espresso#4992)
  New:
- Fix numpy.patch
BETA DEBUG END:

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

Other differences:
------------------
++++++ python3-espressomd.spec ++++++
--- /var/tmp/diff_new_pack.hLL42M/_old  2024-09-12 16:58:02.889076019 +0200
+++ /var/tmp/diff_new_pack.hLL42M/_new  2024-09-12 16:58:02.889076019 +0200
@@ -28,6 +28,10 @@
 License:        GPL-3.0-or-later
 URL:            http://espressomd.org
 Source:         
https://github.com/%{modname}/%{pkgname}/releases/download/%{version}/%{pkgname}-%{version}.tar.gz
+# PATCH-FIX-UPSTREAM numpy.patch gh#espressomd/espresso#4992
+Patch0:         numpy.patch
+# PATCH-FIX-UPSTREAM cmake.patch gh#espressomd/espresso#4992
+Patch1:         cmake.patch
 # According to gh#espressomd/espresso#4537 32bit architectures are not 
supported any more
 ExcludeArch:    %{ix86} armv7l
 BuildRequires:  cmake
@@ -43,7 +47,7 @@
 BuildRequires:  libboost_mpi-devel
 BuildRequires:  libboost_system-devel
 BuildRequires:  libboost_test-devel
-BuildRequires:  python3-Cython < 3
+BuildRequires:  python3-Cython < 3.0.10
 BuildRequires:  python3-devel
 BuildRequires:  python3-h5py
 BuildRequires:  python3-numpy-devel

++++++ cmake.patch ++++++
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ac0432c34..bff6f289b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -38,7 +38,13 @@ if(POLICY CMP0148)
   cmake_policy(SET CMP0148 OLD)
 endif()
+if(POLICY CMP0167)
+  # use BoostConfig.cmake shipped with Boost 1.70+ instead of the one in CMake
+  cmake_policy(SET CMP0167 NEW)
+endif()
 # CMake modules/macros are in a subdirectory to keep this file cleaner
 set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
 
+project(ESPResSo)
+
 # C++ standard
 enable_language(CXX)
@@ -49,5 +55,4 @@ set(CMAKE_CXX_EXTENSIONS OFF)
 include(FeatureSummary)
 include(GNUInstallDirs)
-project(ESPResSo)
 include(option_enum)
 if(POLICY CMP0074)
@@ -268,7 +273,5 @@ if(WITH_STOKESIAN_DYNAMICS)
   set(STOKESIAN_DYNAMICS 1)
   if(NOT stokesian_dynamics_POPULATED)
-    FetchContent_Populate(stokesian_dynamics)
-    add_subdirectory(${stokesian_dynamics_SOURCE_DIR}
-                     ${stokesian_dynamics_BINARY_DIR})
+    FetchContent_MakeAvailable(stokesian_dynamics)
   endif()
 endif(WITH_STOKESIAN_DYNAMICS)

++++++ numpy.patch ++++++
diff --git a/testsuite/python/brownian_dynamics.py 
b/testsuite/python/brownian_dynamics.py
index 223340e15..f99d94018 100644
--- a/testsuite/python/brownian_dynamics.py
+++ b/testsuite/python/brownian_dynamics.py
@@ -161,5 +161,5 @@ class BrownianThermostat(ut.TestCase):
         system.integrator.run(3)
         np.testing.assert_allclose(
-            part.omega_lab, [0, 0, 1.3 / 1.5], atol=1e-14)
+            np.copy(part.omega_lab), [0, 0, 1.3 / 1.5], atol=1e-14)
 
         # noise only
@@ -168,5 +168,5 @@ class BrownianThermostat(ut.TestCase):
             kT=1, gamma=1, gamma_rotation=1.5, act_on_virtual=False, seed=41)
         system.integrator.run(3)
-        self.assertGreater(np.linalg.norm(part.omega_lab), 0.)
+        self.assertGreater(np.linalg.norm(np.copy(part.omega_lab)), 0.)
 
 
diff --git a/testsuite/python/lees_edwards.py b/testsuite/python/lees_edwards.py
index 002340bd2..4539f1af5 100644
--- a/testsuite/python/lees_edwards.py
+++ b/testsuite/python/lees_edwards.py
@@ -397,5 +397,5 @@ class LeesEdwards(ut.TestCase):
                 a=k_non_bonded / 2, n=-2, cutoff=r_cut)
             system.integrator.run(0)
-            r_12 = system.distance_vec(p1, p2)
+            r_12 = np.copy(system.distance_vec(p1, p2))
 
             np.testing.assert_allclose(
@@ -405,5 +405,5 @@ class LeesEdwards(ut.TestCase):
             np.testing.assert_allclose(
                 np.copy(system.analysis.pressure_tensor()["non_bonded"]),
-                np.outer(r_12, p2.f) / system.volume())
+                np.outer(r_12, np.copy(p2.f)) / system.volume())
 
             np.testing.assert_almost_equal(
@@ -438,5 +438,5 @@ class LeesEdwards(ut.TestCase):
             shear_direction="x", shear_plane_normal="y", protocol=lin_protocol)
         # Test position and velocity of VS with Le shift
-        old_p3_pos = p3.pos
+        old_p3_pos = np.copy(p3.pos)
         expected_p3_pos = old_p3_pos - \
             np.array((get_lin_pos_offset(system.time, **params_lin), 0, 0))
@@ -444,5 +444,5 @@ class LeesEdwards(ut.TestCase):
         np.testing.assert_allclose(np.copy(p3.pos_folded), expected_p3_pos)
         np.testing.assert_allclose(
-            p3.v, p1.v + np.array((params_lin["shear_velocity"], 0, 0)))
+            np.copy(p3.v), np.copy(p1.v) + 
np.array((params_lin["shear_velocity"], 0, 0)))
 
         # Check distances
diff --git a/testsuite/python/test_checkpoint.py 
b/testsuite/python/test_checkpoint.py
index f295cec44..4b30aaefb 100644
--- a/testsuite/python/test_checkpoint.py
+++ b/testsuite/python/test_checkpoint.py
@@ -217,12 +217,12 @@ class CheckpointTest(ut.TestCase):
             np.testing.assert_allclose(np.copy(p3.ext_torque), [0.3, 0.5, 0.7])
         if espressomd.has_features('ROTATIONAL_INERTIA'):
-            np.testing.assert_allclose(p3.rinertia, [2., 3., 4.])
+            np.testing.assert_allclose(np.copy(p3.rinertia), [2., 3., 4.])
         if espressomd.has_features('THERMOSTAT_PER_PARTICLE'):
             gamma = 2.
             if espressomd.has_features('PARTICLE_ANISOTROPY'):
                 gamma = np.array([2., 3., 4.])
-            np.testing.assert_allclose(p4.gamma, gamma)
+            np.testing.assert_allclose(np.copy(p4.gamma), gamma)
             if espressomd.has_features('ROTATION'):
-                np.testing.assert_allclose(p3.gamma_rot, 2. * gamma)
+                np.testing.assert_allclose(np.copy(p3.gamma_rot), 2. * gamma)
         if espressomd.has_features('ENGINE'):
             self.assertEqual(p3.swimming, {"f_swim": 0.03, "mode": "N/A",
@@ -237,9 +237,11 @@ class CheckpointTest(ut.TestCase):
             q_ind = ([1, 2, 3, 0],)  # convert from scalar-first to scalar-last
             vs_id, vs_dist, vs_quat = p2.vs_relative
-            d = p2.pos - p1.pos
+            d = np.copy(p2.pos - p1.pos)
+            vs_quat = np.copy(vs_quat)
+            p_quat = np.copy(p1.quat)
             theta = np.arccos(d[2] / np.linalg.norm(d))
             assert abs(theta - 3. * np.pi / 4.) < 1e-8
             q = np.array([0., 0., np.sin(theta / 2.), -np.cos(theta / 2.)])
-            r = R.from_quat(p1.quat[q_ind]) * R.from_quat(vs_quat[q_ind])
+            r = R.from_quat(p_quat[q_ind]) * R.from_quat(vs_quat[q_ind])
             self.assertEqual(vs_id, p1.id)
             np.testing.assert_allclose(vs_dist, np.sqrt(2.))
@@ -500,5 +502,5 @@ class CheckpointTest(ut.TestCase):
         self.assertEqual(p_virt.vs_relative[1], np.sqrt(2.))
         np.testing.assert_allclose(
-            p_real.vs_relative[2], [1., 0., 0., 0.], atol=1e-10)
+            np.copy(p_real.vs_relative[2]), [1., 0., 0., 0.], atol=1e-10)
 
     def test_mean_variance_calculator(self):
@@ -785,6 +787,6 @@ class CheckpointTest(ut.TestCase):
         p2 = system.part.add(pos=[system.box_l[0] - 1., 1.6, 0.], type=6)
         system.integrator.run(0, recalc_forces=True)
-        np.testing.assert_allclose(p1.f, [0., 1e8, 0.], atol=1e-3)
-        np.testing.assert_allclose(p2.f, [0., 1e8, 0.], atol=1e-3)
+        np.testing.assert_allclose(np.copy(p1.f), [0., 1e8, 0.], atol=1e-3)
+        np.testing.assert_allclose(np.copy(p2.f), [0., 1e8, 0.], atol=1e-3)
         p1.remove()
         p2.remove()

Reply via email to