public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Antonio Trande <sagitter@fedoraproject.org>
To: git-commits@fedoraproject.org
Subject: [rpms/sundials] epel10: Relase 7.6.0 including Python binding
Date: Sat, 26 Sep 2026 08:11:10 GMT	[thread overview]
Message-ID: <179041027002.1.3391173506831198820.rpms-sundials-bdbda35c76d7@fedoraproject.org> (raw)

A new commit has been pushed.

Repo   : rpms/sundials
Branch : epel10
Commit : bdbda35c76d756a0e86b5d3951b8ede7f0e3b63b
Author : Antonio Trande <sagitter@fedoraproject.org>
Date   : 2026-02-03T14:26:41+01:00
Stats  : +132/-55 in 5 file(s)
URL    : https://src.fedoraproject.org/rpms/sundials/c/bdbda35c76d756a0e86b5d3951b8ede7f0e3b63b?branch=epel10

Log:
Relase 7.6.0 including Python binding

---
diff --git a/.gitignore b/.gitignore
index e71e51c..1b78eca 100644
--- a/.gitignore
+++ b/.gitignore
@@ -28,3 +28,4 @@ sundials-2.3.0.tar.gz
 /sundials-7.1.1.tar.gz
 /sundials-7.3.0.tar.gz
 /sundials-7.5.0.tar.gz
+/sundials-7.6.0.tar.gz

diff --git a/sources b/sources
index 038fd2c..c4926e8 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (sundials-7.5.0.tar.gz) = 4ae4417552bbfa53fc49e82061e37c3aa9f2f17bf0d8dbf46e2d85d55a4fbe8fbcd10e4e573ae78b3c4fa25adfaa758e31adbb58a7300bee1174d67dbc2ef58f
+SHA512 (sundials-7.6.0.tar.gz) = b6d15f68f25c5326bd42abb5e3652cc98e83d2eb31b213c9144b46c5b93fd123be5972e9d36217fdd09a0002dee3f78e530c21eda85f3b4d1d8d93b007546ea0

diff --git a/sundials-7.6.0-set_python_cmake_flags.patch b/sundials-7.6.0-set_python_cmake_flags.patch
new file mode 100644
index 0000000..213619e
--- /dev/null
+++ b/sundials-7.6.0-set_python_cmake_flags.patch
@@ -0,0 +1,18 @@
+--- a/pyproject.orig.toml	2026-01-26 17:43:46.000000000 +0100
++++ b/pyproject.toml	2026-01-31 17:54:34.505475024 +0100
+@@ -55,10 +53,13 @@
+     "-DBUILD_IDA:BOOL=OFF",
+     "-DEXAMPLES_ENABLE_C:BOOL=OFF",
+     "-DEXAMPLES_ENABLE_CXX:BOOL=OFF",
+-    "-DSUNDIALS_ENABLE_PYTHON:BOOL=ON"
++    "-DSUNDIALS_ENABLE_PYTHON:BOOL=ON",
++    "-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON",
++    "-DCMAKE_C_FLAGS_RELEASE:STRING=${CFLAGS}",
++    "-DCMAKE_CXX_FLAGS_RELEASE:STRING=${CXXFLAGS}"
+ ]
+ 
+-cmake.build-type = "RelWithDebInfo"
++cmake.build-type = "Release"
+ 
+ [tool.pytest.ini_options]
+ addopts = [

diff --git a/sundials-change_petsc_variable.patch b/sundials-change_petsc_variable.patch
deleted file mode 100644
index db04c50..0000000
--- a/sundials-change_petsc_variable.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/config/FindPETSC.orig.cmake	2019-10-22 01:10:24.000000000 +0200
-+++ b/config/FindPETSC.cmake	2019-10-26 15:50:39.747116576 +0200
-@@ -478,7 +478,7 @@
- 
- include (FindPackageHandleStandardArgs)
- find_package_handle_standard_args (PETSC
--  REQUIRED_VARS PETSC_INCLUDES PETSC_LIBRARIES PETSC_EXECUTABLE_RUNS
-+  REQUIRED_VARS PETSC_INCLUDES PETSC_LIBRARIES
-   VERSION_VAR PETSC_VERSION
-   FAIL_MESSAGE "PETSC could not be found. Be sure to set PETSC_DIR and PETSC_ARCH.")
- 

diff --git a/sundials.spec b/sundials.spec
index fe7dfd3..848d62a 100644
--- a/sundials.spec
+++ b/sundials.spec
@@ -6,7 +6,12 @@
 %bcond_with pthread
 #
 
-#https://github.com/LLNL/sundials/issues/97
+# Enable Python support
+# sundials4py is in beta and is subject to breaking changes
+%bcond_without python
+#
+
+# https://github.com/LLNL/sundials/issues/97
 %define _lto_cflags %{nil}
 
 %global with_mpich 1
@@ -56,33 +61,30 @@
 
 %if 0%{?fedora} || 0%{?rhel} >= 10
 # KLU support
-%global with_klu   1
-%global with_klu64 1
-##########
-# Fortran
-%if 0%{?with_klu64}
-%global with_fortran 1
-%endif
-%if 0%{?with_klu}
+%ifarch %{arm} %{ix86}
+%global with_klu 1
+%global with_klu64 0
 %global with_fortran 0
 %endif
-##########
-%endif
-%if 0%{?fedora}
 %ifarch s390x x86_64 %{power64} %{arm64} riscv64
+%global with_klu 1
 %global with_klu64 1
 %global with_fortran 1
 %endif
-%ifarch %{arm} %{ix86}
-%global with_klu 1
-%global with_fortran 0
-%endif
 %endif
+##########
+##########
 %if 0%{?rhel} && 0%{?rhel} == 8
 %global with_klu 1
 %global with_fortran 0
 %endif
 ##########
+##########
+%if 0%{?rhel} && 0%{?rhel} == 9
+%global with_klu64 1
+%global with_fortran 1
+%endif
+##########
 # SOVERSIONs (*_SOVERSION from CMakeLists.txt):
 %global arkodelib_SOVERSION 6
 %global cvodelib_SOVERSION 7
@@ -99,7 +101,7 @@
 
 Summary:    Suite of nonlinear solvers
 Name:       sundials
-Version:    7.5.0
+Version:    7.6.0
 Release:    %autorelease
 License:    BSD-3-Clause
 URL:        https://computation.llnl.gov/projects/%{name}/
@@ -111,9 +113,10 @@ Patch0:     %{name}-5.5.0-set_superlumt_name.patch
 # This patch rename superLUMT64 library
 Patch1:     %{name}-5.5.0-set_superlumt64_name.patch
 
-Patch2:     %{name}-change_petsc_variable.patch
 Patch3:     %{name}-klu64.patch
 
+Patch4:     %{name}-7.6.0-set_python_cmake_flags.patch
+
 BuildRequires: make
 %if 0%{?with_fortran}
 BuildRequires: gcc-gfortran
@@ -166,6 +169,25 @@ Provides:   %{name}-fortran-static = %{version}-%{release}
 SUNDIALS is a SUite of Non-linear DIfferential/ALgebraic equation Solvers
 for use in writing mathematical software.
 This package contains the developer files (.so file, header files).
+
+# Python binding is in beta and is subject to breaking changes
+%if %{with python}
+%package -n    python3-sundials4py
+Summary:       Python binding of Sundials
+BuildRequires: python3-pip
+BuildRequires: pyproject-rpm-macros
+BuildRequires: python3-nanobind
+BuildRequires: python3-scikit-build-core >= 0.4.3
+BuildRequires: python3-pytest
+BuildRequires: python3-numpy >= 2.0.0
+Requires:      %{name}-devel%{?_isa} = %{version}-%{release}
+%py_provides   python3-sundials
+
+%description -n python3-sundials4py
+Official Python bindings for the SUNDIALS suite of nonlinear and
+differential/algebraic equation solvers.
+sundials4py is in beta and is subject to breaking changes.
+%endif
 #############################################################################
 #########
 %if 0%{?with_openmpi}
@@ -251,13 +273,16 @@ Requires: gcc-gfortran%{?_isa}
 #############################################################################
 
 %package doc
-Summary:    Suite of nonlinear solvers (documentation)
+Summary:   Suite of nonlinear solvers (documentation)
 BuildArch: noarch
 Obsoletes: sundials-doc < 0:6.6.2-5
+Requires:  python3-sundials4py
+Requires:  python3-sphinx-latex
+
 %description doc
 SUNDIALS is a SUite of Non-linear DIfferential/ALgebraic equation Solvers
 for use in writing mathematical software.
-This package contains the documentation files.
+This package contains the documentation source files.
 
 %prep
 %setup -qc
@@ -275,6 +300,10 @@ pushd %{name}-%{version}
 %patch 3 -p1 -b .klu64
 %endif
 
+%if %{with python}
+%patch 4 -p1 -b .backup
+%endif
+
 mv src/arkode/README.md src/README-arkode.md
 mv src/cvode/README.md src/README-cvode.md
 mv src/cvodes/README.md src/README-cvodes.md
@@ -283,6 +312,14 @@ mv src/idas/README.md src/README.idas.md
 mv src/kinsol/README.md src/README-kinsol.md
 popd
 
+%if %{with python}
+cp -a sundials-%{version} sundials-%{version}-python
+#generate_buildrequires
+pushd sundials-%{version}-python
+%pyproject_buildrequires
+popd
+%endif
+
 %if 0%{?with_openmpi}
 cp -a sundials-%{version} buildopenmpi_dir
 %endif
@@ -327,6 +364,7 @@ export FFLAGS="%{build_fflags} -fPIC"
 %cmake -B sundials-%{version}/build -S sundials-%{version} \
  -DCMAKE_C_FLAGS_RELEASE:STRING="%{optflags} -I$INCBLAS" \
  -DCMAKE_Fortran_FLAGS_RELEASE:STRING="%{optflags} -I$INCBLAS" \
+ -DPETSC_EXECUTABLE_RUNS:BOOL=OFF \
 %endif
 %if 0%{?with_klu64}
  -DSUNDIALS_INDEX_SIZE:STRING=64 \
@@ -381,11 +419,18 @@ export FFLAGS="%{build_fflags} -fPIC"
  -DSUPERLUDIST_ENABLE:BOOL=OFF \
  -DHYPRE_ENABLE:BOOL=OFF \
  -DEXAMPLES_INSTALL:BOOL=OFF \
- -DSUNDIALS_BUILD_WITH_MONITORING:BOOL=ON -Wno-dev
+ -DSUNDIALS_BUILD_WITH_MONITORING:BOOL=ON -Wno-dev \
+ -DSUNDIALS_ENABLE_PYTHON:BOOL=OFF
 
 %define _vpath_builddir sundials-%{version}/build
 %cmake_build
 
+%if %{with python}
+pushd sundials-%{version}-python
+%pyproject_wheel
+popd
+%endif
+
 #############################################################################
 #######
 %if 0%{?with_openmpi}
@@ -450,7 +495,7 @@ export FFLAGS="%{build_fflags} -fPIC"
  -DBTF_LIBRARY=%{_libdir}/libbtf64.so -DBTF_LIBRARY_DIR:PATH=%{_libdir} \
  -DCOLAMD_LIBRARY=%{_libdir}/libcolamd64.so -DCOLAMD_LIBRARY_DIR:PATH=%{_libdir} \
  -DKLU_INCLUDE_DIR:PATH=%{_includedir}/suitesparse \
- -DPETSC_ENABLE:BOOL=OFF \
+ -DPETSC_EXECUTABLE_RUNS:BOOL=OFF \
 %endif
 %if 0%{?with_klu}
  -DSUNDIALS_INDEX_SIZE:STRING=32 \
@@ -587,7 +632,7 @@ export FFLAGS="%{build_fflags} -fPIC"
  -DBTF_LIBRARY=%{_libdir}/libbtf64.so -DBTF_LIBRARY_DIR:PATH=%{_libdir} \
  -DCOLAMD_LIBRARY=%{_libdir}/libcolamd64.so -DCOLAMD_LIBRARY_DIR:PATH=%{_libdir} \
  -DKLU_INCLUDE_DIR:PATH=%{_includedir}/suitesparse \
- -DPETSC_ENABLE:BOOL=OFF \
+ -DPETSC_EXECUTABLE_RUNS:BOOL=OFF \
 %endif
 %if 0%{?with_klu}
  -DSUNDIALS_INDEX_SIZE:STRING=32 \
@@ -689,17 +734,27 @@ rm -f %{buildroot}%{_prefix}/LICENSE
 rm -f %{buildroot}%{_includedir}/sundials/LICENSE
 rm -f %{buildroot}%{_includedir}/sundials/NOTICE
 
+%if %{with python}
+pushd %{name}-%{version}-python
+%pyproject_install
+%pyproject_save_files -l sundials4py -L
+popd
+
+# Duplicated static libraries and header files
+rm -rf %{buildroot}%{python3_sitearch}/%{_lib}
+rm -rf %{buildroot}%{python3_sitearch}/include
+%endif
+
 %check
 %if 0%{?with_openmpi}
 %if 0%{?with_openmpicheck}
 %{_openmpi_load}
 %define _vpath_builddir buildopenmpi_dir/build
+export LD_LIBRARY_PATH=%{buildroot}$MPI_LIB
 %if %{with debug}
-export LD_LIBRARY_PATH=%{buildroot}$MPI_LIB:$MPI_LIB
-%ctest -- -VV --output-on-failure --debug
+%ctest -VV --debug
 %else
-export LD_LIBRARY_PATH=%{buildroot}$MPI_LIB:$MPI_LIB
-%ctest -E 'test_sunlinsol_superlumt'
+%ctest
 %endif
 %{_openmpi_unload}
 %endif
@@ -711,12 +766,11 @@ export LD_LIBRARY_PATH=%{buildroot}$MPI_LIB:$MPI_LIB
 %if 0%{?with_mpichcheck}
 %{_mpich_load}
 %define _vpath_builddir buildmpich_dir/build
+export LD_LIBRARY_PATH=%{buildroot}$MPI_LIB
 %if %{with debug}
-export LD_LIBRARY_PATH=%{buildroot}$MPI_LIB:$MPI_LIB
-%ctest -- -VV --output-on-failure --debug
+%ctest -VV --debug
 %else
-export LD_LIBRARY_PATH=%{buildroot}$MPI_LIB:$MPI_LIB
-%ctest -E 'test_sunlinsol_superlumt'
+%ctest
 %endif
 %{_mpich_unload}
 %endif
@@ -726,13 +780,20 @@ export LD_LIBRARY_PATH=%{buildroot}$MPI_LIB:$MPI_LIB
 
 %if 0%{?with_sercheck}
 %define _vpath_builddir sundials-%{version}/build
+export LD_LIBRARY_PATH=%{buildroot}%{_libdir}
 %if %{with debug}
-export LD_LIBRARY_PATH=%{buildroot}%{_libdir}:%{_libdir}
-%ctest -- -VV --output-on-failure --debug
+%ctest -VV --debug
 %else
-export LD_LIBRARY_PATH=%{buildroot}%{_libdir}:%{_libdir}
-%ctest -E 'test_sunlinsol_superlumt'
+%ctest
 %endif
+
+%if %{with python}
+pushd %{name}-%{version}-python
+%pyproject_check_import
+%pytest
+popd
+%endif
+
 %endif
 ## if with_sercheck
 
@@ -790,9 +851,6 @@ export LD_LIBRARY_PATH=%{buildroot}%{_libdir}:%{_libdir}
 %if %{with pthread}
 %{_libdir}/libsundials_fnvecpthreads.so
 %endif
-%if 0%{?with_superlumt}
-%{_libdir}/libsundials_sunlinsolsuperlumt.so
-%endif
 %endif
 %{_includedir}/nvector/
 %{_includedir}/sunmatrix/
@@ -846,6 +904,19 @@ export LD_LIBRARY_PATH=%{buildroot}%{_libdir}:%{_libdir}
 %{_includedir}/sundials/sundials_core.h*
 %{_includedir}/sundials/sundials_errors.h
 %{_includedir}/sundials/sundials_types_deprecated.h
+%{_includedir}/sundials/sundials_adaptcontroller.hpp
+%{_includedir}/sundials/sundials_adjointcheckpointscheme.hpp
+%{_includedir}/sundials/sundials_adjointstepper.hpp
+%{_includedir}/sundials/sundials_classview.hpp
+%{_includedir}/sundials/sundials_domeigestimator.hpp
+%{_includedir}/sundials/sundials_logger.hpp
+%{_includedir}/sundials/sundials_stepper.hpp
+
+%if %{with python}
+%files -n python3-sundials4py -f %{pyproject_files}
+%license sundials-%{version}/LICENSE
+%doc sundials-%{version}/README.md
+%endif
 
 %if 0%{?with_openmpi}
 %files openmpi
@@ -1024,12 +1095,10 @@ export LD_LIBRARY_PATH=%{buildroot}%{_libdir}:%{_libdir}
 
 %files doc
 %license sundials-%{version}/LICENSE
-%doc sundials-%{version}/README.md
+%doc sundials-%{version}/*.md
 %doc sundials-%{version}/NOTICE
-%doc sundials-%{version}/doc/arkode/*.pdf
-%doc sundials-%{version}/doc/ida*/*.pdf
-%doc sundials-%{version}/doc/cvode*/*.pdf
-%doc sundials-%{version}/doc/kinsol/*.pdf
+%doc sundials-%{version}/CODEOWNERS
+%doc sundials-%{version}/doc/
 
 
 %changelog

                 reply	other threads:[~2026-09-26  8:11 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=179041027002.1.3391173506831198820.rpms-sundials-bdbda35c76d7@fedoraproject.org \
    --to=sagitter@fedoraproject.org \
    --cc=git-commits@fedoraproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox