[packages/sundials] - updated to 5.8.0 (new sonames) - added fortran patch (type fixes) and link patch (missing sonames

qboosh qboosh at pld-linux.org
Thu Feb 16 06:39:13 CET 2023


commit 89ef07ed210410e08ed1fd85b3a967728041075b
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Thu Feb 16 06:40:41 2023 +0100

    - updated to 5.8.0 (new sonames)
    - added fortran patch (type fixes) and link patch (missing sonames and library dependencies)

 sundials-cmake.patch   |  14 --
 sundials-fortran.patch | 545 +++++++++++++++++++++++++++++++++++++++++++++++++
 sundials-link.patch    | 201 ++++++++++++++++++
 sundials.spec          | 232 +++++++++++++--------
 4 files changed, 891 insertions(+), 101 deletions(-)
---
diff --git a/sundials.spec b/sundials.spec
index 926396d..f446ff5 100644
--- a/sundials.spec
+++ b/sundials.spec
@@ -1,11 +1,15 @@
 # TODO:
-# CUDA_ENABLE + RAJA_ENABLE (on bconds)
+# CUDA + RAJA (on bconds)
 # MPI support
-# HYPRE_ENABLE (BR: hypre-devel)
-# OPENMP_DEVICE_ENABLE
-# PETSC_ENABLE (BR: petsc-devel)
+# MAGMA support
+# ONEMKL support
+# SUPERLUDIST support
+# HYPRE (BR: hypre-devel)
+# OPENMP_DEVICE
+# PETSC (BR: petsc-devel)
 # SUPERLUMT http://crd-legacy.lbl.gov/~xiaoye/SuperLU/#superlu_mt
-# Trilinos_ENABLE
+# TRILINOS support
+# XBRAID support
 #
 # Conditional build:
 %bcond_without	openmp	# OpenMP support
@@ -13,17 +17,18 @@
 Summary:	SUite of Nonlinear and DIfferential/ALgebraic equation Solvers
 Summary(pl.UTF-8):	Zbiór procedur do rozwiązywania równań nieliniowych i różniczkowych/algebraicznych
 Name:		sundials
-Version:	4.1.0
+Version:	5.8.0
 Release:	1
 License:	BSD
 Group:		Libraries
 #Source0Download: https://computing.llnl.gov/projects/sundials/sundials-software
 Source0:	https://github.com/LLNL/sundials/archive/v%{version}/%{name}-%{version}.tar.gz
-# Source0-md5:	a54bd3b6f78346b27cfce35be0bfb84c
-Patch0:		%{name}-cmake.patch
+# Source0-md5:	a087032a72127c12e162bfe4405b03cd
+Patch0:		%{name}-fortran.patch
+Patch1:		%{name}-link.patch
 URL:		https://computing.llnl.gov/projects/sundials
 BuildRequires:	SuiteSparse-KLU-devel
-BuildRequires:	cmake >= 2.8.1
+BuildRequires:	cmake >= 3.12
 BuildRequires:	gcc-fortran
 BuildRequires:	lapack-devel
 %{?with_openmp:BuildRequires:	libgomp-devel}
@@ -114,6 +119,7 @@ Dokumentacja API bibliotek SUNDIALS.
 %prep
 %setup -q
 %patch0 -p1
+%patch1 -p1
 
 # duplicate of cvodes/ckpng.pdf
 %{__rm} doc/idas/ckpnt.pdf
@@ -122,16 +128,16 @@ Dokumentacja API bibliotek SUNDIALS.
 install -d build
 cd build
 %cmake .. \
+	-DBUILD_FORTRAN_MODULE_INTERFACE=ON \
+	-DBUILD_FORTRAN77_INTERFACE=ON \
+	-DENABLE_KLU=ON \
+	-DENABLE_LAPACK=ON \
+	%{?with_openmp:-DENABLE_OPENMP=ON -DOpenMP_gcc_s_LIBRARY=/%{_lib}/libgcc_s.so} \
+	-DENABLE_PTHREAD=ON \
 	-DEXAMPLES_INSTALL_PATH=%{_examplesdir}/%{name}-%{version} \
-	-DF77_INTERFACE_ENABLE=ON \
-	-DF2003_INTERFACE_ENABLE=ON \
 	-DFortran_INSTALL_MODDIR=%{_includedir}/sundials_fortran \
-	-DKLU_ENABLE=ON \
 	-DKLU_INCLUDE_DIR=%{_includedir}/suitesparse \
-	-DKLU_LIBRARY_DIR=%{_libdir} \
-	-DLAPACK_ENABLE=ON \
-	%{?with_openmp:-DOPENMP_ENABLE=ON -DOpenMP_gcc_s_LIBRARY=/%{_lib}/libgcc_s.so} \
-	-DPTHREAD_ENABLE=ON
+	-DKLU_LIBRARY_DIR=%{_libdir}
 
 %{__make} -j1
 
@@ -151,124 +157,149 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %doc LICENSE README.md
 %attr(755,root,root) %{_libdir}/libsundials_arkode.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsundials_arkode.so.3
+%attr(755,root,root) %ghost %{_libdir}/libsundials_arkode.so.4
 %attr(755,root,root) %{_libdir}/libsundials_cvode.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsundials_cvode.so.4
+%attr(755,root,root) %ghost %{_libdir}/libsundials_cvode.so.5
 %attr(755,root,root) %{_libdir}/libsundials_cvodes.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsundials_cvodes.so.4
+%attr(755,root,root) %ghost %{_libdir}/libsundials_cvodes.so.5
+%attr(755,root,root) %{_libdir}/libsundials_generic.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libsundials_generic.so.5
 %attr(755,root,root) %{_libdir}/libsundials_ida.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsundials_ida.so.4
+%attr(755,root,root) %ghost %{_libdir}/libsundials_ida.so.5
 %attr(755,root,root) %{_libdir}/libsundials_idas.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsundials_idas.so.3
+%attr(755,root,root) %ghost %{_libdir}/libsundials_idas.so.4
 %attr(755,root,root) %{_libdir}/libsundials_kinsol.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsundials_kinsol.so.4
+%attr(755,root,root) %ghost %{_libdir}/libsundials_kinsol.so.5
+%attr(755,root,root) %{_libdir}/libsundials_nvecmanyvector.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libsundials_nvecmanyvector.so.5
 %if %{with openmp}
 %attr(755,root,root) %{_libdir}/libsundials_nvecopenmp.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsundials_nvecopenmp.so.4
+%attr(755,root,root) %ghost %{_libdir}/libsundials_nvecopenmp.so.5
 %endif
 %attr(755,root,root) %{_libdir}/libsundials_nvecpthreads.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsundials_nvecpthreads.so.4
+%attr(755,root,root) %ghost %{_libdir}/libsundials_nvecpthreads.so.5
 %attr(755,root,root) %{_libdir}/libsundials_nvecserial.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsundials_nvecserial.so.4
+%attr(755,root,root) %ghost %{_libdir}/libsundials_nvecserial.so.5
 %attr(755,root,root) %{_libdir}/libsundials_sunlinsolband.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsundials_sunlinsolband.so.2
+%attr(755,root,root) %ghost %{_libdir}/libsundials_sunlinsolband.so.3
 %attr(755,root,root) %{_libdir}/libsundials_sunlinsoldense.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsundials_sunlinsoldense.so.2
+%attr(755,root,root) %ghost %{_libdir}/libsundials_sunlinsoldense.so.3
 %attr(755,root,root) %{_libdir}/libsundials_sunlinsolklu.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsundials_sunlinsolklu.so.2
+%attr(755,root,root) %ghost %{_libdir}/libsundials_sunlinsolklu.so.3
+%attr(755,root,root) %{_libdir}/libsundials_sunlinsollapackband.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libsundials_sunlinsollapackband.so.3
+%attr(755,root,root) %{_libdir}/libsundials_sunlinsollapackdense.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libsundials_sunlinsollapackdense.so.3
 %attr(755,root,root) %{_libdir}/libsundials_sunlinsolpcg.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsundials_sunlinsolpcg.so.2
+%attr(755,root,root) %ghost %{_libdir}/libsundials_sunlinsolpcg.so.3
 %attr(755,root,root) %{_libdir}/libsundials_sunlinsolspbcgs.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsundials_sunlinsolspbcgs.so.2
+%attr(755,root,root) %ghost %{_libdir}/libsundials_sunlinsolspbcgs.so.3
 %attr(755,root,root) %{_libdir}/libsundials_sunlinsolspfgmr.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsundials_sunlinsolspfgmr.so.2
+%attr(755,root,root) %ghost %{_libdir}/libsundials_sunlinsolspfgmr.so.3
 %attr(755,root,root) %{_libdir}/libsundials_sunlinsolspgmr.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsundials_sunlinsolspgmr.so.2
+%attr(755,root,root) %ghost %{_libdir}/libsundials_sunlinsolspgmr.so.3
 %attr(755,root,root) %{_libdir}/libsundials_sunlinsolsptfqmr.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsundials_sunlinsolsptfqmr.so.2
+%attr(755,root,root) %ghost %{_libdir}/libsundials_sunlinsolsptfqmr.so.3
 %attr(755,root,root) %{_libdir}/libsundials_sunmatrixband.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsundials_sunmatrixband.so.2
+%attr(755,root,root) %ghost %{_libdir}/libsundials_sunmatrixband.so.3
 %attr(755,root,root) %{_libdir}/libsundials_sunmatrixdense.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsundials_sunmatrixdense.so.2
+%attr(755,root,root) %ghost %{_libdir}/libsundials_sunmatrixdense.so.3
 %attr(755,root,root) %{_libdir}/libsundials_sunmatrixsparse.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsundials_sunmatrixsparse.so.2
+%attr(755,root,root) %ghost %{_libdir}/libsundials_sunmatrixsparse.so.3
 %attr(755,root,root) %{_libdir}/libsundials_sunnonlinsolfixedpoint.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsundials_sunnonlinsolfixedpoint.so.1
+%attr(755,root,root) %ghost %{_libdir}/libsundials_sunnonlinsolfixedpoint.so.2
 %attr(755,root,root) %{_libdir}/libsundials_sunnonlinsolnewton.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsundials_sunnonlinsolnewton.so.1
+%attr(755,root,root) %ghost %{_libdir}/libsundials_sunnonlinsolnewton.so.2
 
 # Fortran 77 - shared
 %if %{with openmp}
 %attr(755,root,root) %{_libdir}/libsundials_fnvecopenmp.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsundials_fnvecopenmp.so.4
+%attr(755,root,root) %ghost %{_libdir}/libsundials_fnvecopenmp.so.5
 %endif
 %attr(755,root,root) %{_libdir}/libsundials_fnvecpthreads.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsundials_fnvecpthreads.so.4
+%attr(755,root,root) %ghost %{_libdir}/libsundials_fnvecpthreads.so.5
 %attr(755,root,root) %{_libdir}/libsundials_fnvecserial.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsundials_fnvecserial.so.4
+%attr(755,root,root) %ghost %{_libdir}/libsundials_fnvecserial.so.5
 %attr(755,root,root) %{_libdir}/libsundials_fsunlinsolband.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunlinsolband.so.2
+%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunlinsolband.so.3
 %attr(755,root,root) %{_libdir}/libsundials_fsunlinsoldense.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunlinsoldense.so.2
+%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunlinsoldense.so.3
 %attr(755,root,root) %{_libdir}/libsundials_fsunlinsolklu.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunlinsolklu.so.2
+%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunlinsolklu.so.3
+%attr(755,root,root) %{_libdir}/libsundials_fsunlinsollapackband.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunlinsollapackband.so.3
+%attr(755,root,root) %{_libdir}/libsundials_fsunlinsollapackdense.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunlinsollapackdense.so.3
 %attr(755,root,root) %{_libdir}/libsundials_fsunlinsolpcg.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunlinsolpcg.so.2
+%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunlinsolpcg.so.3
 %attr(755,root,root) %{_libdir}/libsundials_fsunlinsolspbcgs.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunlinsolspbcgs.so.2
+%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunlinsolspbcgs.so.3
 %attr(755,root,root) %{_libdir}/libsundials_fsunlinsolspfgmr.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunlinsolspfgmr.so.2
+%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunlinsolspfgmr.so.3
 %attr(755,root,root) %{_libdir}/libsundials_fsunlinsolspgmr.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunlinsolspgmr.so.2
+%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunlinsolspgmr.so.3
 %attr(755,root,root) %{_libdir}/libsundials_fsunlinsolsptfqmr.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunlinsolsptfqmr.so.2
+%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunlinsolsptfqmr.so.3
 %attr(755,root,root) %{_libdir}/libsundials_fsunmatrixband.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunmatrixband.so.2
+%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunmatrixband.so.3
 %attr(755,root,root) %{_libdir}/libsundials_fsunmatrixdense.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunmatrixdense.so.2
+%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunmatrixdense.so.3
 %attr(755,root,root) %{_libdir}/libsundials_fsunmatrixsparse.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunmatrixsparse.so.2
+%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunmatrixsparse.so.3
 %attr(755,root,root) %{_libdir}/libsundials_fsunnonlinsolfixedpoint.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunnonlinsolfixedpoint.so.1
+%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunnonlinsolfixedpoint.so.2
 %attr(755,root,root) %{_libdir}/libsundials_fsunnonlinsolnewton.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunnonlinsolnewton.so.1
+%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunnonlinsolnewton.so.2
 
 # Fortran 90/2003
-%attr(755,root,root) %{_libdir}/libsundials_fcvode_mod.so
+%attr(755,root,root) %{_libdir}/libsundials_farkode_mod.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libsundials_farkode_mod.so.4
+%attr(755,root,root) %{_libdir}/libsundials_fcvode_mod.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libsundials_fcvode_mod.so.5
+%attr(755,root,root) %{_libdir}/libsundials_fcvodes_mod.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libsundials_fcvodes_mod.so.5
+%attr(755,root,root) %{_libdir}/libsundials_fida_mod.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libsundials_fida_mod.so.5
+%attr(755,root,root) %{_libdir}/libsundials_fidas_mod.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libsundials_fidas_mod.so.4
+%attr(755,root,root) %{_libdir}/libsundials_fkinsol_mod.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libsundials_fkinsol_mod.so.5
+%attr(755,root,root) %{_libdir}/libsundials_fnvecmanyvector_mod.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libsundials_fnvecmanyvector_mod.so.5
 %if %{with openmp}
-%attr(755,root,root) %{_libdir}/libsundials_fnvecopenmp_mod.so.4.1.0
-%attr(755,root,root) %ghost %{_libdir}/libsundials_fnvecopenmp_mod.so.4
+%attr(755,root,root) %{_libdir}/libsundials_fnvecopenmp_mod.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libsundials_fnvecopenmp_mod.so.5
 %endif
-%attr(755,root,root) %{_libdir}/libsundials_fnvecpthreads_mod.so.4.1.0
-%attr(755,root,root) %ghost %{_libdir}/libsundials_fnvecpthreads_mod.so.4
-%attr(755,root,root) %{_libdir}/libsundials_fnvecserial_mod.so.4.1.0
-%attr(755,root,root) %ghost %{_libdir}/libsundials_fnvecserial_mod.so.4
-%attr(755,root,root) %{_libdir}/libsundials_fsunlinsolband_mod.so.4.1.0
-%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunlinsolband_mod.so.4
-%attr(755,root,root) %{_libdir}/libsundials_fsunlinsoldense_mod.so.4.1.0
-%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunlinsoldense_mod.so.4
-%attr(755,root,root) %{_libdir}/libsundials_fsunlinsolklu_mod.so.4.1.0
-%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunlinsolklu_mod.so.4
-%attr(755,root,root) %{_libdir}/libsundials_fsunlinsolpcg_mod.so.4.1.0
-%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunlinsolpcg_mod.so.4
-%attr(755,root,root) %{_libdir}/libsundials_fsunlinsolspbcgs_mod.so.4.1.0
-%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunlinsolspbcgs_mod.so.4
-%attr(755,root,root) %{_libdir}/libsundials_fsunlinsolspfgmr_mod.so.4.1.0
-%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunlinsolspfgmr_mod.so.4
-%attr(755,root,root) %{_libdir}/libsundials_fsunlinsolspgmr_mod.so.4.1.0
-%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunlinsolspgmr_mod.so.4
-%attr(755,root,root) %{_libdir}/libsundials_fsunlinsolsptfqmr_mod.so.4.1.0
-%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunlinsolsptfqmr_mod.so.4
-%attr(755,root,root) %{_libdir}/libsundials_fsunmatrixband_mod.so.4.1.0
-%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunmatrixband_mod.so.4
-%attr(755,root,root) %{_libdir}/libsundials_fsunmatrixdense_mod.so.4.1.0
-%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunmatrixdense_mod.so.4
-%attr(755,root,root) %{_libdir}/libsundials_fsunmatrixsparse_mod.so.4.1.0
-%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunmatrixsparse_mod.so.4
-%attr(755,root,root) %{_libdir}/libsundials_fsunnonlinsolfixedpoint_mod.so.4.1.0
-%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunnonlinsolfixedpoint_mod.so.4
-%attr(755,root,root) %{_libdir}/libsundials_fsunnonlinsolnewton_mod.so.4.1.0
-%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunnonlinsolnewton_mod.so.4
+%attr(755,root,root) %{_libdir}/libsundials_fnvecpthreads_mod.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libsundials_fnvecpthreads_mod.so.5
+%attr(755,root,root) %{_libdir}/libsundials_fnvecserial_mod.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libsundials_fnvecserial_mod.so.5
+%attr(755,root,root) %{_libdir}/libsundials_fsunlinsolband_mod.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunlinsolband_mod.so.3
+%attr(755,root,root) %{_libdir}/libsundials_fsunlinsoldense_mod.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunlinsoldense_mod.so.3
+%attr(755,root,root) %{_libdir}/libsundials_fsunlinsolklu_mod.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunlinsolklu_mod.so.3
+%attr(755,root,root) %{_libdir}/libsundials_fsunlinsolpcg_mod.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunlinsolpcg_mod.so.3
+%attr(755,root,root) %{_libdir}/libsundials_fsunlinsolspbcgs_mod.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunlinsolspbcgs_mod.so.3
+%attr(755,root,root) %{_libdir}/libsundials_fsunlinsolspfgmr_mod.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunlinsolspfgmr_mod.so.3
+%attr(755,root,root) %{_libdir}/libsundials_fsunlinsolspgmr_mod.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunlinsolspgmr_mod.so.3
+%attr(755,root,root) %{_libdir}/libsundials_fsunlinsolsptfqmr_mod.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunlinsolsptfqmr_mod.so.3
+%attr(755,root,root) %{_libdir}/libsundials_fsunmatrixband_mod.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunmatrixband_mod.so.3
+%attr(755,root,root) %{_libdir}/libsundials_fsunmatrixdense_mod.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunmatrixdense_mod.so.3
+%attr(755,root,root) %{_libdir}/libsundials_fsunmatrixsparse_mod.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunmatrixsparse_mod.so.3
+%attr(755,root,root) %{_libdir}/libsundials_fsunnonlinsolfixedpoint_mod.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunnonlinsolfixedpoint_mod.so.2
+%attr(755,root,root) %{_libdir}/libsundials_fsunnonlinsolnewton_mod.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libsundials_fsunnonlinsolnewton_mod.so.2
 
 %files devel
 %defattr(644,root,root,755)
@@ -277,7 +308,9 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir}/libsundials_cvodes.so
 %attr(755,root,root) %{_libdir}/libsundials_ida.so
 %attr(755,root,root) %{_libdir}/libsundials_idas.so
+%attr(755,root,root) %{_libdir}/libsundials_generic.so
 %attr(755,root,root) %{_libdir}/libsundials_kinsol.so
+%attr(755,root,root) %{_libdir}/libsundials_nvecmanyvector.so
 %if %{with openmp}
 %attr(755,root,root) %{_libdir}/libsundials_nvecopenmp.so
 %endif
@@ -286,6 +319,8 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir}/libsundials_sunlinsolband.so
 %attr(755,root,root) %{_libdir}/libsundials_sunlinsoldense.so
 %attr(755,root,root) %{_libdir}/libsundials_sunlinsolklu.so
+%attr(755,root,root) %{_libdir}/libsundials_sunlinsollapackband.so
+%attr(755,root,root) %{_libdir}/libsundials_sunlinsollapackdense.so
 %attr(755,root,root) %{_libdir}/libsundials_sunlinsolpcg.so
 %attr(755,root,root) %{_libdir}/libsundials_sunlinsolspbcgs.so
 %attr(755,root,root) %{_libdir}/libsundials_sunlinsolspfgmr.so
@@ -307,6 +342,7 @@ rm -rf $RPM_BUILD_ROOT
 %{_includedir}/sunlinsol
 %{_includedir}/sunmatrix
 %{_includedir}/sunnonlinsol
+%{_libdir}/cmake/sundials
 %{_examplesdir}/%{name}-%{version}
 
 # Fortran 77 - shared
@@ -318,6 +354,8 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir}/libsundials_fsunlinsolband.so
 %attr(755,root,root) %{_libdir}/libsundials_fsunlinsoldense.so
 %attr(755,root,root) %{_libdir}/libsundials_fsunlinsolklu.so
+%attr(755,root,root) %{_libdir}/libsundials_fsunlinsollapackband.so
+%attr(755,root,root) %{_libdir}/libsundials_fsunlinsollapackdense.so
 %attr(755,root,root) %{_libdir}/libsundials_fsunlinsolpcg.so
 %attr(755,root,root) %{_libdir}/libsundials_fsunlinsolspbcgs.so
 %attr(755,root,root) %{_libdir}/libsundials_fsunlinsolspfgmr.so
@@ -335,6 +373,14 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/libsundials_fkinsol.a
 %{_libdir}/libsundials_fnvecserial.a
 
+# Fortran 90/2003
+%attr(755,root,root) %{_libdir}/libsundials_farkode_mod.so
+%attr(755,root,root) %{_libdir}/libsundials_fcvode_mod.so
+%attr(755,root,root) %{_libdir}/libsundials_fcvodes_mod.so
+%attr(755,root,root) %{_libdir}/libsundials_fida_mod.so
+%attr(755,root,root) %{_libdir}/libsundials_fidas_mod.so
+%attr(755,root,root) %{_libdir}/libsundials_fkinsol_mod.so
+%attr(755,root,root) %{_libdir}/libsundials_fnvecmanyvector_mod.so
 %if %{with openmp}
 %attr(755,root,root) %{_libdir}/libsundials_fnvecopenmp_mod.so
 %endif
@@ -360,9 +406,11 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/libsundials_arkode.a
 %{_libdir}/libsundials_cvode.a
 %{_libdir}/libsundials_cvodes.a
+%{_libdir}/libsundials_generic.a
 %{_libdir}/libsundials_ida.a
 %{_libdir}/libsundials_idas.a
 %{_libdir}/libsundials_kinsol.a
+%{_libdir}/libsundials_nvecmanyvector.a
 %if %{with openmp}
 %{_libdir}/libsundials_nvecopenmp.a
 %endif
@@ -371,6 +419,8 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/libsundials_sunlinsolband.a
 %{_libdir}/libsundials_sunlinsoldense.a
 %{_libdir}/libsundials_sunlinsolklu.a
+%{_libdir}/libsundials_sunlinsollapackband.a
+%{_libdir}/libsundials_sunlinsollapackdense.a
 %{_libdir}/libsundials_sunlinsolpcg.a
 %{_libdir}/libsundials_sunlinsolspbcgs.a
 %{_libdir}/libsundials_sunlinsolspfgmr.a
@@ -391,6 +441,8 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/libsundials_fsunlinsolband.a
 %{_libdir}/libsundials_fsunlinsoldense.a
 %{_libdir}/libsundials_fsunlinsolklu.a
+%{_libdir}/libsundials_fsunlinsollapackband.a
+%{_libdir}/libsundials_fsunlinsollapackdense.a
 %{_libdir}/libsundials_fsunlinsolpcg.a
 %{_libdir}/libsundials_fsunlinsolspbcgs.a
 %{_libdir}/libsundials_fsunlinsolspfgmr.a
@@ -403,7 +455,13 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/libsundials_fsunnonlinsolnewton.a
 
 # Fortran 90/2003
+%{_libdir}/libsundials_farkode_mod.a
 %{_libdir}/libsundials_fcvode_mod.a
+%{_libdir}/libsundials_fcvodes_mod.a
+%{_libdir}/libsundials_fida_mod.a
+%{_libdir}/libsundials_fidas_mod.a
+%{_libdir}/libsundials_fkinsol_mod.a
+%{_libdir}/libsundials_fnvecmanyvector_mod.a
 %if %{with openmp}
 %{_libdir}/libsundials_fnvecopenmp_mod.a
 %endif
diff --git a/sundials-cmake.patch b/sundials-cmake.patch
deleted file mode 100644
index f2806ad..0000000
--- a/sundials-cmake.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- sundials-4.1.0/src/nvector/CMakeLists.txt.orig	2019-02-13 23:04:59.000000000 +0100
-+++ sundials-4.1.0/src/nvector/CMakeLists.txt	2023-02-05 08:55:00.691735713 +0100
-@@ -34,9 +34,9 @@ if(OPENMP_DEVICE_ENABLE AND OPENMP_FOUND
-   add_subdirectory(openmpdev)
- endif(OPENMP_DEVICE_ENABLE AND OPENMP_FOUND AND OPENMP_SUPPORTS_DEVICE_OFFLOADING)
- 
--if(PTHREADS_ENABLE AND PTHREADS_FOUND)
-+if(PTHREAD_ENABLE AND PTHREADS_FOUND)
-   add_subdirectory(pthreads)
--endif(PTHREADS_ENABLE AND PTHREADS_FOUND)
-+endif(PTHREAD_ENABLE AND PTHREADS_FOUND)
- 
- if(PETSC_ENABLE AND PETSC_FOUND)
-   add_subdirectory(petsc)
diff --git a/sundials-fortran.patch b/sundials-fortran.patch
new file mode 100644
index 0000000..c2c8857
--- /dev/null
+++ b/sundials-fortran.patch
@@ -0,0 +1,545 @@
+--- sundials-5.8.0/examples/arkode/F2003_serial/ark_analytic_f2003.f90.orig	2021-09-30 17:44:39.000000000 +0200
++++ sundials-5.8.0/examples/arkode/F2003_serial/ark_analytic_f2003.f90	2023-02-13 20:13:12.725726437 +0100
+@@ -34,7 +34,7 @@ module ode_mod
+   implicit none
+ 
+   ! number of equations
+-  integer(c_long), parameter :: neq = 1
++  integer(c_int64_t), parameter :: neq = 1
+ 
+   ! ODE parameters
+   double precision, parameter :: lamda = -100.0d0
+--- sundials-5.8.0/examples/arkode/F2003_serial/test_ark_butcher_f2003.f90.orig	2021-09-30 17:44:39.000000000 +0200
++++ sundials-5.8.0/examples/arkode/F2003_serial/test_ark_butcher_f2003.f90	2023-02-13 20:13:29.335636453 +0100
+@@ -28,7 +28,7 @@ module test_arkode_butcher_table
+     implicit none
+     type(c_ptr) :: ERK, DIRK
+     integer(C_INT)  :: ierr, q(1), p(1)
+-    integer(C_LONG) :: liw(1), lrw(1)
++    integer(C_INT64_T) :: liw(1), lrw(1)
+     real(C_DOUBLE)  :: b(2), c(2), d(2), A(4)
+ 
+     !===== Setup ====
+--- sundials-5.8.0/examples/cvode/F2003_serial/cv_analytic_fp_f2003.f90.orig	2021-09-30 17:44:39.000000000 +0200
++++ sundials-5.8.0/examples/cvode/F2003_serial/cv_analytic_fp_f2003.f90	2023-02-13 20:13:33.668946311 +0100
+@@ -33,7 +33,7 @@ module ode_mod
+   implicit none
+ 
+   ! number of equations
+-  integer(c_long), parameter :: neq = 1
++  integer(c_int64_t), parameter :: neq = 1
+ 
+   ! ODE parameters
+   double precision, parameter :: lamda = -100.0d0
+--- sundials-5.8.0/examples/cvode/F2003_serial/cv_analytic_sys_dns_f2003.f90.orig	2021-09-30 17:44:39.000000000 +0200
++++ sundials-5.8.0/examples/cvode/F2003_serial/cv_analytic_sys_dns_f2003.f90	2023-02-13 20:13:37.578925129 +0100
+@@ -54,7 +54,7 @@ module ode_mod
+   implicit none
+ 
+   ! number of equations
+-  integer(c_long), parameter :: neq = 3
++  integer(c_int64_t), parameter :: neq = 3
+ 
+   ! ODE parameters
+   double precision, parameter :: lamda = -100.0d0
+--- sundials-5.8.0/examples/cvode/F2003_serial/cv_analytic_sys_dns_jac_f2003.f90.orig	2021-09-30 17:44:39.000000000 +0200
++++ sundials-5.8.0/examples/cvode/F2003_serial/cv_analytic_sys_dns_jac_f2003.f90	2023-02-13 20:13:40.538909093 +0100
+@@ -54,7 +54,7 @@ module ode_mod
+   implicit none
+ 
+   ! number of equations
+-  integer(c_long), parameter :: neq = 3
++  integer(c_int64_t), parameter :: neq = 3
+ 
+   ! ODE parameters
+   double precision, parameter :: lamda = -100.0d0
+--- sundials-5.8.0/examples/cvode/F2003_serial/cv_brusselator_dns_f2003.f90.orig	2021-09-30 17:44:39.000000000 +0200
++++ sundials-5.8.0/examples/cvode/F2003_serial/cv_brusselator_dns_f2003.f90	2023-02-13 20:13:43.518892949 +0100
+@@ -37,7 +37,7 @@ module ode_mod
+   implicit none
+ 
+   ! number of equations
+-  integer(c_long), parameter :: neq = 3
++  integer(c_int64_t), parameter :: neq = 3
+ 
+   ! ODE parameters
+   double precision, parameter :: a  = 1.2d0
+--- sundials-5.8.0/examples/cvode/F2003_serial/cv_analytic_sys_klu_f2003.f90.orig	2021-09-30 17:44:39.000000000 +0200
++++ sundials-5.8.0/examples/cvode/F2003_serial/cv_analytic_sys_klu_f2003.f90	2023-02-13 20:13:47.742203403 +0100
+@@ -54,7 +54,7 @@ module ode_mod
+   implicit none
+ 
+   ! number of equations
+-  integer(c_long), parameter :: neq = 3
++  integer(c_int64_t), parameter :: neq = 3
+ 
+   ! ODE parameters
+   double precision, parameter :: lamda = -100.0d0
+@@ -144,8 +144,8 @@ contains
+     type(N_Vector)        :: tmp1, tmp2, tmp3 ! workspace N_Vectors
+ 
+     ! pointer to data in SUNDIALS matrix
+-    integer(c_long), pointer :: Jidxptr(:)
+-    integer(c_long), pointer :: Jidxval(:)
++    integer(c_int64_t), pointer :: Jidxptr(:)
++    integer(c_int64_t), pointer :: Jidxval(:)
+     real(c_double),  pointer :: Jmat(:)
+ 
+     !======= Internals ============
+--- sundials-5.8.0/examples/cvodes/F2003_serial/cvs_analytic_fp_f2003.f90.orig	2021-09-30 17:44:39.000000000 +0200
++++ sundials-5.8.0/examples/cvodes/F2003_serial/cvs_analytic_fp_f2003.f90	2023-02-13 20:13:50.445522091 +0100
+@@ -33,7 +33,7 @@ module ode_mod
+   implicit none
+ 
+   ! number of equations
+-  integer(c_long), parameter :: neq = 1
++  integer(c_int64_t), parameter :: neq = 1
+ 
+   ! ODE parameters
+   double precision, parameter :: lamda = -100.0d0
+--- sundials-5.8.0/examples/cvodes/F2003_serial/cvsAdvDiff_FSA_non_f2003.f90.orig	2021-09-30 17:44:39.000000000 +0200
++++ sundials-5.8.0/examples/cvodes/F2003_serial/cvsAdvDiff_FSA_non_f2003.f90	2023-02-13 20:13:53.515505459 +0100
+@@ -65,7 +65,7 @@ module ode_problem
+   integer(c_int),  parameter :: NP    = 2
+   integer(c_int),  parameter :: NS    = 2
+   integer(c_long), parameter :: MX    = 10
+-  integer(c_long), parameter :: NEQ   = MX
++  integer(c_int64_t), parameter :: NEQ   = MX
+ 
+   ! problem constants
+   real(c_double) :: ZERO  = 0.d0
+--- sundials-5.8.0/examples/ida/F2003_serial/idaHeat2D_kry_f2003.f90.orig	2021-09-30 17:44:39.000000000 +0200
++++ sundials-5.8.0/examples/ida/F2003_serial/idaHeat2D_kry_f2003.f90	2023-02-13 20:13:56.898820464 +0100
+@@ -45,7 +45,7 @@ module dae_mod
+ 
+   integer(c_int),  parameter :: nout  = 11
+   integer(c_int),  parameter :: mgrid = 10
+-  integer(c_long), parameter :: neq   = mgrid*mgrid
++  integer(c_int64_t), parameter :: neq   = mgrid*mgrid
+ 
+   real(c_double) :: dx
+   real(c_double) :: coeff
+--- sundials-5.8.0/examples/ida/F2003_serial/idaRoberts_dns_f2003.f90.orig	2021-09-30 17:44:39.000000000 +0200
++++ sundials-5.8.0/examples/ida/F2003_serial/idaRoberts_dns_f2003.f90	2023-02-13 20:43:53.645753317 +0100
+@@ -39,7 +39,7 @@ module dae_mod
+   !======= Declarations =========
+   implicit none
+ 
+-  integer(c_long), parameter :: neq = 3
++  integer(c_int64_t), parameter :: neq = 3
+   integer(c_long), parameter :: nout = 12
+ 
+ contains
+--- sundials-5.8.0/examples/idas/F2003_serial/idasHeat2D_kry_f2003.f90.orig	2021-09-30 17:44:39.000000000 +0200
++++ sundials-5.8.0/examples/idas/F2003_serial/idasHeat2D_kry_f2003.f90	2023-02-13 20:54:19.025698677 +0100
+@@ -45,7 +45,7 @@ module dae_mod
+ 
+   integer(c_int),  parameter :: nout  = 11
+   integer(c_int),  parameter :: mgrid = 10
+-  integer(c_long), parameter :: neq   = mgrid*mgrid
++  integer(c_int64_t), parameter :: neq   = mgrid*mgrid
+ 
+   real(c_double) :: dx
+   real(c_double) :: coeff
+--- sundials-5.8.0/examples/idas/F2003_serial/idasAkzoNob_ASAi_dns_f2003.f90.orig	2021-09-30 17:44:39.000000000 +0200
++++ sundials-5.8.0/examples/idas/F2003_serial/idasAkzoNob_ASAi_dns_f2003.f90	2023-02-13 21:16:05.661953354 +0100
+@@ -33,7 +33,7 @@ module dae_mod
+   implicit none
+ 
+   ! problem parameters
+-  integer(c_long), parameter :: NEQ   = 6
++  integer(c_int64_t), parameter :: NEQ   = 6
+   integer(c_long), parameter :: STEPS = 150
+   real(c_double),  parameter :: T0    = 0.0d0
+   real(c_double),  parameter :: TF    = 180.d0
+@@ -404,7 +404,7 @@ program main
+   retval = FIDASStolerancesB(mem, indexB(1), RTOLB, ATOLB)
+   call check_retval(retval, "FIDASStolerancesB")
+ 
+-  retval = FIDASetMaxNumStepsB(mem, indexB(1), 1000_8)
++  retval = FIDASetMaxNumStepsB(mem, indexB(1), 1000)
+   call check_retval(retval, "FIDASetMaxNumStepsB")
+ 
+   ! Create dense SUNMatrix for use in linear solves
+--- sundials-5.8.0/examples/kinsol/F2003_serial/kinRoboKin_dns_f2003.f90.orig	2021-09-30 17:44:39.000000000 +0200
++++ sundials-5.8.0/examples/kinsol/F2003_serial/kinRoboKin_dns_f2003.f90	2023-02-13 22:13:09.663403946 +0100
+@@ -34,7 +34,7 @@ module prob_mod
+   implicit none
+ 
+   integer(c_long), parameter :: nvar = 8
+-  integer(c_long), parameter :: neq = 3*nvar
++  integer(c_int64_t), parameter :: neq = 3*nvar
+   real(c_double),  parameter :: ftol = 1.d-5
+   real(c_double),  parameter :: stol = 1.d-5
+ 
+--- sundials-5.8.0/examples/kinsol/F2003_serial/kinLaplace_bnd_f2003.f90.orig	2021-09-30 17:44:39.000000000 +0200
++++ sundials-5.8.0/examples/kinsol/F2003_serial/kinLaplace_bnd_f2003.f90	2023-02-13 22:16:06.985776642 +0100
+@@ -31,9 +31,9 @@ module prob_mod
+   !======= Declarations =========
+   implicit none
+ 
+-  integer(c_long), parameter :: nx = 31
++  integer(c_int64_t), parameter :: nx = 31
+   integer(c_long), parameter :: ny = 31
+-  integer(c_long), parameter :: neq = nx*ny
++  integer(c_int64_t), parameter :: neq = nx*ny
+   integer(c_long), parameter :: skip = 3
+   real(c_double),  parameter :: ftol = 1.d-12
+ 
+--- sundials-5.8.0/examples/kinsol/F2003_serial/kinLaplace_picard_kry_f2003.f90.orig	2021-09-30 17:44:39.000000000 +0200
++++ sundials-5.8.0/examples/kinsol/F2003_serial/kinLaplace_picard_kry_f2003.f90	2023-02-13 22:20:05.934482145 +0100
+@@ -35,7 +35,7 @@ module prob_mod
+ 
+   integer(c_long), parameter :: nx = 31
+   integer(c_long), parameter :: ny = 31
+-  integer(c_long), parameter :: neq = nx*ny
++  integer(c_int64_t), parameter :: neq = nx*ny
+   integer(c_long), parameter :: skip = 3
+   real(c_double),  parameter :: ftol = 1.d-12
+ 
+--- sundials-5.8.0/examples/nvector/serial/test_fnvector_serial_mod.f90.orig	2021-09-30 17:44:39.000000000 +0200
++++ sundials-5.8.0/examples/nvector/serial/test_fnvector_serial_mod.f90	2023-02-14 20:57:45.896508986 +0100
+@@ -22,7 +22,7 @@ module test_nvector_serial
+   use test_utilities
+   implicit none
+ 
+-  integer(c_long), parameter :: N = 100 ! vector length
++  integer(c_int64_t), parameter :: N = 100 ! vector length
+   integer(c_int),  parameter :: nv = 3  ! length of vector arrays
+ 
+ contains
+@@ -30,7 +30,7 @@ contains
+   integer function smoke_tests() result(ret)
+     implicit none
+ 
+-    integer(c_long)         :: lenrw(1), leniw(1) ! real and int work space size
++    integer(c_int64_t)      :: lenrw(1), leniw(1) ! real and int work space size
+     integer(c_long)         :: ival               ! integer work value
+     type(c_ptr)             :: cptr               ! c_ptr work value
+     real(c_double)          :: rval               ! real work value
+--- sundials-5.8.0/examples/nvector/test_nvector.f90.orig	2021-09-30 17:44:39.000000000 +0200
++++ sundials-5.8.0/examples/nvector/test_nvector.f90	2023-02-14 20:57:52.136475181 +0100
+@@ -38,7 +38,7 @@ integer(C_INT) function Test_FN_VMake(X,
+   implicit none
+ 
+   type(N_Vector)  :: X
+-  integer(C_LONG) :: local_length
++  integer(C_INT64_T) :: local_length
+   integer(C_INT)  :: myid
+ 
+   if (.not. has_data(X)) then
+@@ -64,7 +64,7 @@ integer(C_INT) function Test_FN_VGetArra
+   implicit none
+ 
+   type(N_Vector)  :: W
+-  integer(C_LONG) :: local_length
++  integer(C_INT64_T) :: local_length
+   integer(C_INT)  :: myid
+ 
+   ! check vector data
+@@ -98,7 +98,7 @@ integer(C_INT) function Test_FN_VLinearC
+     result(failure)
+ 
+   type(N_Vector)          :: X
+-  integer(C_LONG)         :: local_length
++  integer(C_INT64_T)      :: local_length
+   integer(C_INT)          :: myid, ierr
+   type(N_Vector), pointer :: Y1, Y2, Y3
+   type(c_ptr), target     :: V(3)
+--- sundials-5.8.0/examples/nvector/manyvector/test_fnvector_manyvector_mod.f90.orig	2021-09-30 17:44:39.000000000 +0200
++++ sundials-5.8.0/examples/nvector/manyvector/test_fnvector_manyvector_mod.f90	2023-02-14 20:57:56.303119275 +0100
+@@ -24,17 +24,17 @@ module test_nvector_manyvector
+   implicit none
+ 
+   integer(c_int), parameter  :: nsubvecs = 2
+-  integer(c_long), parameter :: N1       = 100     ! individual vector length
+-  integer(c_long), parameter :: N2       = 200     ! individual vector length
++  integer(c_int64_t), parameter :: N1    = 100     ! individual vector length
++  integer(c_int64_t), parameter :: N2    = 200     ! individual vector length
+   integer(c_int),  parameter :: nv       = 3       ! length of vector arrays
+-  integer(c_long), parameter :: N        = N1 + N2 ! overall manyvector length
++  integer(c_int64_t), parameter :: N     = N1 + N2 ! overall manyvector length
+ 
+ contains
+ 
+   integer function smoke_tests() result(ret)
+     implicit none
+ 
+-    integer(c_long)         :: lenrw(1), leniw(1)     ! real and int work space size
++    integer(c_int64_t)      :: lenrw(1), leniw(1)     ! real and int work space size
+     integer(c_long)         :: ival                   ! integer work value
+     type(c_ptr)             :: cptr                   ! c_ptr work value
+     real(c_double)          :: rval                   ! real work value
+@@ -106,9 +106,9 @@ contains
+ 
+     ! test the ManyVector specific operations
+     ival = FN_VGetNumSubvectors_ManyVector(x)
+-    xptr => FN_VGetSubvectorArrayPointer_ManyVector(x, ival-1)
+-    ival = FN_VSetSubvectorArrayPointer_ManyVector(xptr, x, ival-1)
+-    tmp  => FN_VGetSubvector_ManyVector(x, ival-1)
++    xptr => FN_VGetSubvectorArrayPointer_ManyVector(x, ival-1_8)
++    ival = FN_VSetSubvectorArrayPointer_ManyVector(xptr, x, ival-1_8)
++    tmp  => FN_VGetSubvector_ManyVector(x, ival-1_8)
+ 
+     !==== Cleanup =====
+     tmp => FN_VGetVecAtIndexVectorArray(subvecs, 0)
+--- sundials-5.8.0/examples/nvector/pthreads/test_fnvector_pthreads_mod.f90.orig	2021-09-30 17:44:39.000000000 +0200
++++ sundials-5.8.0/examples/nvector/pthreads/test_fnvector_pthreads_mod.f90	2023-02-14 20:57:59.366436013 +0100
+@@ -22,7 +22,7 @@ module test_nvector_pthreads
+   use test_utilities
+   implicit none
+ 
+-  integer(c_long), parameter :: N = 100 ! vector length
++  integer(c_int64_t), parameter :: N = 100 ! vector length
+   integer(c_int),  parameter :: nv = 3  ! length of vector arrays
+   integer(c_int),  parameter :: ns = 2  ! number of vector arrays
+ 
+@@ -31,7 +31,7 @@ module test_nvector_pthreads
+   integer function smoke_tests() result(ret)
+     implicit none
+ 
+-    integer(c_long)         :: lenrw(1), leniw(1) ! real and int work space size
++    integer(c_int64_t)      :: lenrw(1), leniw(1) ! real and int work space size
+     integer(c_long)         :: ival               ! integer work value
+     type(c_ptr)             :: cptr               ! c_ptr work value
+     real(c_double)          :: rval               ! real work value
+--- sundials-5.8.0/examples/nvector/C_openmp/test_fnvector_openmp_mod.f90.orig	2021-09-30 17:44:39.000000000 +0200
++++ sundials-5.8.0/examples/nvector/C_openmp/test_fnvector_openmp_mod.f90	2023-02-14 20:58:02.486419110 +0100
+@@ -22,7 +22,7 @@ module test_nvector_openmp
+   use test_utilities
+   implicit none
+ 
+-  integer(c_long), parameter :: N = 100 ! vector length
++  integer(c_int64_t), parameter :: N = 100 ! vector length
+   integer(c_int),  parameter :: nv = 3  ! length of vector arrays
+   integer(c_int),  parameter :: ns = 2  ! number of vector arrays
+ 
+@@ -31,7 +31,7 @@ module test_nvector_openmp
+   integer function smoke_tests() result(ret)
+     implicit none
+ 
+-    integer(c_long)         :: lenrw(1), leniw(1) ! real and int work space size
++    integer(c_int64_t)      :: lenrw(1), leniw(1) ! real and int work space size
+     integer(c_long)         :: ival               ! integer work value
+     type(c_ptr)             :: cptr               ! c_ptr work value
+     real(c_double)          :: rval               ! real work value
+--- sundials-5.8.0/examples/sunmatrix/dense/test_fsunmatrix_dense_mod.f90.orig	2021-09-30 17:44:39.000000000 +0200
++++ sundials-5.8.0/examples/sunmatrix/dense/test_fsunmatrix_dense_mod.f90	2023-02-14 20:58:05.713068297 +0100
+@@ -19,7 +19,7 @@ module test_fsunmatrix_dense
+   use, intrinsic :: iso_c_binding
+   implicit none
+ 
+-  integer(C_LONG), parameter :: N = 4
++  integer(C_INT64_T), parameter :: N = 4
+ 
+ contains
+ 
+--- sundials-5.8.0/examples/sunmatrix/band/test_fsunmatrix_band_mod.f90.orig	2021-09-30 17:44:39.000000000 +0200
++++ sundials-5.8.0/examples/sunmatrix/band/test_fsunmatrix_band_mod.f90	2023-02-14 20:58:08.799718242 +0100
+@@ -19,9 +19,9 @@ module test_fsunmatrix_band
+   use, intrinsic :: iso_c_binding
+   implicit none
+ 
+-  integer(C_LONG), parameter :: N  = 4
+-  integer(C_LONG), parameter :: mu = 1
+-  integer(C_LONG), parameter :: ml = 1
++  integer(C_INT64_T), parameter :: N  = 4
++  integer(C_INT64_T), parameter :: mu = 1
++  integer(C_INT64_T), parameter :: ml = 1
+ 
+ contains
+ 
+@@ -107,7 +107,8 @@ contains
+     type(SUNMatrix), pointer :: A, I
+     type(N_Vector),  pointer :: x, y
+     real(C_DOUBLE),  pointer :: Adata(:), Idata(:), colj(:), xdata(:), ydata(:)
+-    integer(C_LONG)          :: ii, jj, smu, jstart, jend, offset
++    integer(C_LONG)          :: ii, smu, jstart, jend, offset
++    integer(C_INT64_T)       :: jj
+ 
+     fails = 0
+ 
+--- sundials-5.8.0/examples/sunmatrix/sparse/test_fsunmatrix_sparse_mod.f90.orig	2021-09-30 17:44:39.000000000 +0200
++++ sundials-5.8.0/examples/sunmatrix/sparse/test_fsunmatrix_sparse_mod.f90	2023-02-14 20:58:12.293032650 +0100
+@@ -19,7 +19,7 @@ module test_fsunmatrix_sparse
+   use, intrinsic :: iso_c_binding
+   implicit none
+ 
+-  integer(C_LONG), parameter :: N = 5
++  integer(C_INT64_T), parameter :: N = 5
+ 
+ contains
+ 
+@@ -40,7 +40,7 @@ contains
+     type(SUNMatrix), pointer :: A, B               ! SUNMatrix
+     type(N_Vector),  pointer :: x, y               ! NVectors
+     real(C_DOUBLE),  pointer :: matdat(:)          ! matrix data pointer
+-    integer(C_LONG), pointer :: inddat(:)          ! indices pointer
++    integer(C_INT64_T), pointer :: inddat(:)       ! indices pointer
+     integer(C_LONG)          :: lenrw(1), leniw(1) ! matrix real and int work space size
+ 
+     integer(C_LONG) :: tmp1
+@@ -205,8 +205,8 @@ integer(C_INT) function check_matrix(A,
+   type(SUNMatrix)          :: A, B
+   real(C_DOUBLE)           :: tol
+   real(C_DOUBLE),  pointer :: Adata(:), Bdata(:)
+-  integer(C_LONG), pointer :: Aidxvals(:), Bidxvals(:)
+-  integer(C_LONG), pointer :: Aidxptrs(:), Bidxptrs(:)
++  integer(C_INT64_T), pointer :: Aidxvals(:), Bidxvals(:)
++  integer(C_INT64_T), pointer :: Aidxptrs(:), Bidxptrs(:)
+   integer(C_LONG)          :: i, np, Annz, Bnnz
+ 
+   fails = 0
+@@ -291,7 +291,7 @@ integer(C_INT) function check_matrix_ent
+   type(SUNMatrix)          :: A
+   real(C_DOUBLE)           :: c, tol
+   real(C_DOUBLE),  pointer :: Adata(:)
+-  integer(C_LONG), pointer :: Aidxptrs(:)
++  integer(C_INT64_T), pointer :: Aidxptrs(:)
+   integer(C_LONG)          :: i, np
+ 
+   fails = 0
+--- sundials-5.8.0/examples/sunlinsol/band/test_fsunlinsol_band_mod.f90.orig	2021-09-30 17:44:39.000000000 +0200
++++ sundials-5.8.0/examples/sunlinsol/band/test_fsunlinsol_band_mod.f90	2023-02-14 20:58:15.576348196 +0100
+@@ -19,9 +19,9 @@ module test_fsunlinsol_band
+   use, intrinsic :: iso_c_binding
+   implicit none
+ 
+-  integer(C_LONG), parameter :: N = 10
+-  integer(C_LONG), parameter :: mu = 2
+-  integer(C_LONG), parameter :: ml = 3
++  integer(C_INT64_T), parameter :: N = 10
++  integer(C_INT64_T), parameter :: mu = 2
++  integer(C_INT64_T), parameter :: ml = 3
+ 
+ contains
+ 
+@@ -43,7 +43,8 @@ contains
+     real(C_DOUBLE),  pointer :: colj(:)            ! matrix column data
+     real(C_DOUBLE),  pointer :: xdata(:), Adata(:) ! data arrays
+     real(C_DOUBLE)           :: tmpr               ! temporary real value
+-    integer(C_LONG)          :: j, k
++    integer(C_INT64_T)       :: j
++    integer(C_LONG)          :: k
+     integer(C_LONG)          :: smu, kstart, kend, offset
+     integer(C_INT)           :: tmp
+ 
+--- sundials-5.8.0/examples/sunlinsol/dense/test_fsunlinsol_dense_mod.f90.orig	2021-09-30 17:44:39.000000000 +0200
++++ sundials-5.8.0/examples/sunlinsol/dense/test_fsunlinsol_dense_mod.f90	2023-02-14 20:58:18.806330698 +0100
+@@ -19,7 +19,7 @@ module test_fsunlinsol_dense
+   use, intrinsic :: iso_c_binding
+   implicit none
+ 
+-  integer(C_LONG), private, parameter :: N = 100
++  integer(C_INT64_T), private, parameter :: N = 100
+ 
+ contains
+ 
+@@ -41,7 +41,8 @@ contains
+     real(C_DOUBLE),        pointer :: colj(:), colIj(:) ! matrix column data
+     real(C_DOUBLE),        pointer :: xdata(:)          ! x vector data
+     real(C_DOUBLE)                 :: tmpr              ! temporary real value
+-    integer(C_LONG)                :: j, k
++    integer(C_INT64_T)             :: j
++    integer(C_LONG)                :: k
+     integer(C_INT)                 :: tmp
+ 
+     fails = 0
+--- sundials-5.8.0/examples/sunlinsol/spgmr/serial/test_fsunlinsol_spgmr_mod_serial.f90.orig	2021-09-30 17:44:39.000000000 +0200
++++ sundials-5.8.0/examples/sunlinsol/spgmr/serial/test_fsunlinsol_spgmr_mod_serial.f90	2023-02-14 20:58:21.812981076 +0100
+@@ -24,7 +24,7 @@ module test_fsunlinsol_spgmr_serial
+   use fsundials_nvector_mod
+   implicit none
+ 
+-  integer(C_LONG), private, parameter :: N = 100
++  integer(C_INT64_T), private, parameter :: N = 100
+   integer(C_INT),  private, parameter :: pretype = 1     ! Preconditioning type (1 or 2)
+   integer(C_INT),  private, parameter :: gstype  = 1     ! Gram-Schmidt orthoognalization type (1 or 2)
+   integer(C_INT),  private, parameter :: maxl    = 100   ! maxium Krylov subspace dimension (> 0)
+--- sundials-5.8.0/examples/sunlinsol/spfgmr/serial/test_fsunlinsol_spfgmr_mod_serial.f90.orig	2021-09-30 17:44:39.000000000 +0200
++++ sundials-5.8.0/examples/sunlinsol/spfgmr/serial/test_fsunlinsol_spfgmr_mod_serial.f90	2023-02-14 20:58:25.326295376 +0100
+@@ -24,7 +24,7 @@ module test_fsunlinsol_spfgmr_serial
+   use fsundials_nvector_mod
+   implicit none
+ 
+-  integer(C_LONG), private, parameter :: N = 100
++  integer(C_INT64_T), private, parameter :: N = 100
+   integer(C_INT),  private, parameter :: pretype = 1     ! Preconditioning type (1 or 2)
+   integer(C_INT),  private, parameter :: gstype  = 1     ! Gram-Schmidt orthoognalization type (1 or 2)
+   integer(C_INT),  private, parameter :: maxl    = 100   ! maxium Krylov subspace dimension (> 0)
+--- sundials-5.8.0/examples/sunlinsol/spbcgs/serial/test_fsunlinsol_spbcgs_mod_serial.f90.orig	2021-09-30 17:44:39.000000000 +0200
++++ sundials-5.8.0/examples/sunlinsol/spbcgs/serial/test_fsunlinsol_spbcgs_mod_serial.f90	2023-02-14 20:58:28.119613577 +0100
+@@ -24,7 +24,7 @@ module test_fsunlinsol_spbcgs_serial
+   use fsundials_nvector_mod
+   implicit none
+ 
+-  integer(C_LONG), private, parameter :: N = 100
++  integer(C_INT64_T), private, parameter :: N = 100
+   integer(C_INT),  private, parameter :: pretype = 1     ! Preconditioning type (1 or 2)
+   integer(C_INT),  private, parameter :: maxl    = 100   ! maxium Krylov subspace dimension (> 0)
+   real(C_DOUBLE),  private, parameter :: tol     = 1e-13 ! solver tolerance
+--- sundials-5.8.0/examples/sunlinsol/sptfqmr/serial/test_fsunlinsol_sptfqmr_mod_serial.f90.orig	2021-09-30 17:44:39.000000000 +0200
++++ sundials-5.8.0/examples/sunlinsol/sptfqmr/serial/test_fsunlinsol_sptfqmr_mod_serial.f90	2023-02-14 20:58:30.999597975 +0100
+@@ -24,7 +24,7 @@ module test_fsunlinsol_sptfqmr_serial
+   use fsundials_nvector_mod
+   implicit none
+ 
+-  integer(C_LONG), private, parameter :: N = 100
++  integer(C_INT64_T), private, parameter :: N = 100
+   integer(C_INT),  private, parameter :: pretype = 1     ! Preconditioning type (1 or 2)
+   integer(C_INT),  private, parameter :: maxl    = 100   ! maxium Krylov subspace dimension (> 0)
+   real(C_DOUBLE),  private, parameter :: tol     = 1e-13 ! solver tolerance
+--- sundials-5.8.0/examples/sunlinsol/pcg/serial/test_fsunlinsol_pcg_mod_serial.f90.orig	2021-09-30 17:44:39.000000000 +0200
++++ sundials-5.8.0/examples/sunlinsol/pcg/serial/test_fsunlinsol_pcg_mod_serial.f90	2023-02-14 20:58:33.842915904 +0100
+@@ -24,7 +24,7 @@ module test_fsunlinsol_pcg_serial
+   use fsundials_nvector_mod
+   implicit none
+ 
+-  integer(C_LONG), private, parameter :: N = 100
++  integer(C_INT64_T), private, parameter :: N = 100
+   integer(C_INT),  private, parameter :: pretype = 1     ! Preconditioning type (1 or 2)
+   integer(C_INT),  private, parameter :: maxl    = 500   ! maxium Krylov subspace dimension (> 0)
+   real(C_DOUBLE),  private, parameter :: tol     = 1e-13 ! solver tolerance
+--- sundials-5.8.0/examples/sunlinsol/klu/test_fsunlinsol_klu_mod.f90.orig	2021-09-30 17:44:39.000000000 +0200
++++ sundials-5.8.0/examples/sunlinsol/klu/test_fsunlinsol_klu_mod.f90	2023-02-14 21:06:57.236855452 +0100
+@@ -19,7 +19,7 @@ module test_fsunlinsol_klu
+   use, intrinsic :: iso_c_binding
+   implicit none
+ 
+-  integer(C_LONG), private, parameter :: N = 300
++  integer(C_INT64_T), private, parameter :: N = 300
+ 
+ contains
+ 
+@@ -42,7 +42,8 @@ contains
+     real(C_DOUBLE),        pointer :: colj(:), colIj(:) ! matrix column data
+     real(C_DOUBLE),        pointer :: xdata(:)          ! x vector data
+     real(C_DOUBLE)                 :: tmpr              ! temporary real value
+-    integer(C_LONG)                :: j, k, i
++    integer(C_INT64_T)             :: j
++    integer(C_LONG)                :: k, i
+     integer(C_INT)                 :: tmp
+ 
+     fails = 0
+--- sundials-5.8.0/examples/sunnonlinsol/newton/test_fsunnonlinsol_newton_mod.f90.orig	2021-09-30 17:44:39.000000000 +0200
++++ sundials-5.8.0/examples/sunnonlinsol/newton/test_fsunnonlinsol_newton_mod.f90	2023-02-14 21:26:07.477290732 +0100
+@@ -24,7 +24,7 @@ module test_fsunnonlinsol_newton
+ 
+   implicit none
+ 
+-  integer(C_LONG), parameter :: NEQ   = 3      ! number of equations
++  integer(C_INT64_T), parameter :: NEQ   = 3   ! number of equations
+   integer(C_INT),  parameter :: MAXIT = 10     ! max nonlinear iters.
+   real(C_DOUBLE),  parameter :: TOL   = 1.0e-2 ! nonlinear solver tolerance
+ 
+--- sundials-5.8.0/examples/sunnonlinsol/fixedpoint/test_fsunnonlinsol_fixedpoint_mod.f90.orig	2021-09-30 17:44:39.000000000 +0200
++++ sundials-5.8.0/examples/sunnonlinsol/fixedpoint/test_fsunnonlinsol_fixedpoint_mod.f90	2023-02-14 21:29:38.692813146 +0100
+@@ -21,7 +21,7 @@ module test_fsunnonlinsol_fixedpoint
+ 
+   implicit none
+ 
+-  integer(C_LONG), parameter :: NEQ   = 3      ! number of equations
++  integer(C_INT64_T), parameter :: NEQ   = 3   ! number of equations
+   integer(C_INT),  parameter :: MAXIT = 10     ! max nonlinear iters.
+   real(C_DOUBLE),  parameter :: TOL   = 1.0e-4 ! nonlinear solver tolerance
+ 
diff --git a/sundials-link.patch b/sundials-link.patch
new file mode 100644
index 0000000..fa8395e
--- /dev/null
+++ b/sundials-link.patch
@@ -0,0 +1,201 @@
+--- sundials-5.8.0/src/sunlinsol/band/CMakeLists.txt.orig	2021-09-30 17:44:39.000000000 +0200
++++ sundials-5.8.0/src/sunlinsol/band/CMakeLists.txt	2023-02-15 20:44:27.592764801 +0100
+@@ -34,7 +34,7 @@ sundials_add_library(sundials_sunlinsolb
+   VERSION
+     ${sunlinsollib_VERSION}
+   SOVERSION
+-    ${sunlinsollib_VERSION}
++    ${sunlinsollib_SOVERSION}
+ )
+ 
+ message(STATUS "Added SUNLINSOL_BAND module")
+--- sundials-5.8.0/src/sunlinsol/dense/CMakeLists.txt.orig	2021-09-30 17:44:39.000000000 +0200
++++ sundials-5.8.0/src/sunlinsol/dense/CMakeLists.txt	2023-02-15 20:44:46.245997081 +0100
+@@ -34,7 +34,7 @@ sundials_add_library(sundials_sunlinsold
+   VERSION
+     ${sunlinsollib_VERSION}
+   SOVERSION
+-    ${sunlinsollib_VERSION}
++    ${sunlinsollib_SOVERSION}
+ )
+ 
+ message(STATUS "Added SUNLINSOL_DENSE module")
+--- sundials-5.8.0/src/sunlinsol/klu/CMakeLists.txt.orig	2021-09-30 17:44:39.000000000 +0200
++++ sundials-5.8.0/src/sunlinsol/klu/CMakeLists.txt	2023-02-15 20:44:57.062605149 +0100
+@@ -33,7 +33,7 @@ sundials_add_library(sundials_sunlinsolk
+   VERSION
+     ${sunlinsollib_VERSION}
+   SOVERSION
+-    ${sunlinsollib_VERSION}
++    ${sunlinsollib_SOVERSION}
+ )
+ 
+ message(STATUS "Added SUNLINSOL_KLU module")
+--- sundials-5.8.0/src/sunlinsol/lapackband/CMakeLists.txt.orig	2021-09-30 17:44:39.000000000 +0200
++++ sundials-5.8.0/src/sunlinsol/lapackband/CMakeLists.txt	2023-02-15 21:20:48.607615895 +0100
+@@ -33,7 +33,7 @@ sundials_add_library(sundials_sunlinsoll
+   VERSION
+     ${sunlinsollib_VERSION}
+   SOVERSION
+-    ${sunlinsollib_VERSION}
++    ${sunlinsollib_SOVERSION}
+ )
+ 
+ message(STATUS "Added SUNLINSOL_LAPACKBAND module")
+--- sundials-5.8.0/src/sunlinsol/lapackdense/CMakeLists.txt.orig	2021-09-30 17:44:39.000000000 +0200
++++ sundials-5.8.0/src/sunlinsol/lapackdense/CMakeLists.txt	2023-02-15 21:20:59.340891082 +0100
+@@ -33,7 +33,7 @@ sundials_add_library(sundials_sunlinsoll
+   VERSION
+     ${sunlinsollib_VERSION}
+   SOVERSION
+-    ${sunlinsollib_VERSION}
++    ${sunlinsollib_SOVERSION}
+ )
+ 
+ message(STATUS "Added SUNLINSOL_LAPACKDENSE module")
+--- sundials-5.8.0/src/sunlinsol/pcg/CMakeLists.txt.orig	2021-09-30 17:44:39.000000000 +0200
++++ sundials-5.8.0/src/sunlinsol/pcg/CMakeLists.txt	2023-02-15 20:45:21.392473343 +0100
+@@ -32,7 +32,7 @@ sundials_add_library(sundials_sunlinsolp
+   VERSION
+     ${sunlinsollib_VERSION}
+   SOVERSION
+-    ${sunlinsollib_VERSION}
++    ${sunlinsollib_SOVERSION}
+ )
+ 
+ message(STATUS "Added SUNLINSOL_PCG module")
+@@ -48,7 +48,7 @@ if(BUILD_FORTRAN77_INTERFACE)
+     SOURCES
+       fsunlinsol_pcg.c
+     LINK_LIBRARIES
+-      PRIVATE sundials_sunlinsolpcg
++      PRIVATE sundials_sunlinsolpcg sundials_fnvecserial
+     OUTPUT_NAME
+       sundials_fsunlinsolpcg
+     VERSION
+--- sundials-5.8.0/src/sunlinsol/spbcgs/CMakeLists.txt.orig	2021-09-30 17:44:39.000000000 +0200
++++ sundials-5.8.0/src/sunlinsol/spbcgs/CMakeLists.txt	2023-02-15 20:45:34.072404650 +0100
+@@ -32,7 +32,7 @@ sundials_add_library(sundials_sunlinsols
+   VERSION
+     ${sunlinsollib_VERSION}
+   SOVERSION
+-    ${sunlinsollib_VERSION}
++    ${sunlinsollib_SOVERSION}
+ )
+ 
+ message(STATUS "Added SUNLINSOL_SPBCGS module")
+@@ -48,7 +48,7 @@ if(BUILD_FORTRAN77_INTERFACE)
+     SOURCES
+       fsunlinsol_spbcgs.c
+     LINK_LIBRARIES
+-      PRIVATE sundials_sunlinsolspbcgs
++      PRIVATE sundials_sunlinsolspbcgs sundials_fnvecserial
+     OUTPUT_NAME
+       sundials_fsunlinsolspbcgs
+     VERSION
+--- sundials-5.8.0/src/sunlinsol/spfgmr/CMakeLists.txt.orig	2021-09-30 17:44:39.000000000 +0200
++++ sundials-5.8.0/src/sunlinsol/spfgmr/CMakeLists.txt	2023-02-15 20:45:43.055689317 +0100
+@@ -31,7 +31,7 @@ sundials_add_library(sundials_sunlinsols
+   VERSION
+     ${sunlinsollib_VERSION}
+   SOVERSION
+-    ${sunlinsollib_VERSION}
++    ${sunlinsollib_SOVERSION}
+ )
+ 
+ message(STATUS "Added SUNLINSOL_SPFGMR module")
+@@ -47,7 +47,7 @@ if(BUILD_FORTRAN77_INTERFACE)
+     SOURCES
+       fsunlinsol_spfgmr.c
+     LINK_LIBRARIES
+-      PRIVATE sundials_sunlinsolspfgmr
++      PRIVATE sundials_sunlinsolspfgmr sundials_fnvecserial
+     OUTPUT_NAME
+       sundials_fsunlinsolspfgmr
+     VERSION
+--- sundials-5.8.0/src/sunlinsol/spgmr/CMakeLists.txt.orig	2021-09-30 17:44:39.000000000 +0200
++++ sundials-5.8.0/src/sunlinsol/spgmr/CMakeLists.txt	2023-02-15 20:45:52.015640776 +0100
+@@ -31,7 +31,7 @@ sundials_add_library(sundials_sunlinsols
+   VERSION
+     ${sunlinsollib_VERSION}
+   SOVERSION
+-    ${sunlinsollib_VERSION}
++    ${sunlinsollib_SOVERSION}
+ )
+ 
+ message(STATUS "Added SUNLINSOL_SPGMR module")
+@@ -47,7 +47,7 @@ if(BUILD_FORTRAN77_INTERFACE)
+     SOURCES
+       fsunlinsol_spgmr.c
+     LINK_LIBRARIES
+-      PRIVATE sundials_sunlinsolspgmr
++      PRIVATE sundials_sunlinsolspgmr sundials_fnvecserial
+     OUTPUT_NAME
+       sundials_fsunlinsolspgmr
+     VERSION
+--- sundials-5.8.0/src/sunlinsol/sptfqmr/CMakeLists.txt.orig	2021-09-30 17:44:39.000000000 +0200
++++ sundials-5.8.0/src/sunlinsol/sptfqmr/CMakeLists.txt	2023-02-15 20:46:10.768872515 +0100
+@@ -31,7 +31,7 @@ sundials_add_library(sundials_sunlinsols
+   VERSION
+     ${sunlinsollib_VERSION}
+   SOVERSION
+-    ${sunlinsollib_VERSION}
++    ${sunlinsollib_SOVERSION}
+ )
+ 
+ message(STATUS "Added SUNLINSOL_SPTFQMR module")
+@@ -47,7 +47,7 @@ if(BUILD_FORTRAN77_INTERFACE)
+     SOURCES
+       fsunlinsol_sptfqmr.c
+     LINK_LIBRARIES
+-      PRIVATE sundials_sunlinsolsptfqmr
++      PRIVATE sundials_sunlinsolsptfqmr sundials_fnvecserial
+     OUTPUT_NAME
+       sundials_fsunlinsolsptfqmr
+     VERSION
+--- sundials-5.8.0/src/sunnonlinsol/fixedpoint/CMakeLists.txt.orig	2021-09-30 17:44:39.000000000 +0200
++++ sundials-5.8.0/src/sunnonlinsol/fixedpoint/CMakeLists.txt	2023-02-15 17:09:13.246781289 +0100
+@@ -31,7 +31,7 @@ sundials_add_library(sundials_sunnonlins
+   VERSION
+     ${sunnonlinsollib_VERSION}
+   SOVERSION
+-    ${sunnonlinsollib_VERSION}
++    ${sunnonlinsollib_SOVERSION}
+ )
+ 
+ message(STATUS "Added SUNNONLINSOL_FIXEDPOINT module")
+@@ -51,9 +51,9 @@ if(BUILD_FORTRAN77_INTERFACE)
+     OUTPUT_NAME
+       sundials_fsunnonlinsolfixedpoint
+     VERSION
+-      ${sunnonlinsol_VERSION}
++      ${sunnonlinsollib_VERSION}
+     SOVERSION
+-      ${sunnonlinsol_SOVERSION}
++      ${sunnonlinsollib_SOVERSION}
+   )
+   message(STATUS "Added SUNNONLINSOL_FIXEDPOINT F77 interface")
+ endif()
+--- sundials-5.8.0/src/sunnonlinsol/newton/CMakeLists.txt.orig	2021-09-30 17:44:39.000000000 +0200
++++ sundials-5.8.0/src/sunnonlinsol/newton/CMakeLists.txt	2023-02-15 17:09:34.109136542 +0100
+@@ -31,7 +31,7 @@ sundials_add_library(sundials_sunnonlins
+   VERSION
+     ${sunnonlinsollib_VERSION}
+   SOVERSION
+-    ${sunnonlinsollib_VERSION}
++    ${sunnonlinsollib_SOVERSION}
+ )
+ 
+ message(STATUS "Added SUNNONLINSOL_NEWTON module")
+@@ -51,9 +51,9 @@ if(BUILD_FORTRAN77_INTERFACE)
+     OUTPUT_NAME
+       sundials_fsunnonlinsolnewton
+     VERSION
+-      ${sunnonlinsol_VERSION}
++      ${sunnonlinsollib_VERSION}
+     SOVERSION
+-      ${sunnonlinsol_SOVERSION}
++      ${sunnonlinsollib_SOVERSION}
+   )
+   message(STATUS "Added SUNNONLINSOL_NEWTON F77 interface")
+ endif()
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/sundials.git/commitdiff/89ef07ed210410e08ed1fd85b3a967728041075b



More information about the pld-cvs-commit mailing list