Name: cantera Version: 3.2.0 Release: %{?autorelease} Summary: Chemical kinetics, thermodynamics, and transport tool suite License: BSD URL: https://github.com/Cantera/%{name} Source0: %{url}/archive/refs/tags/v%{version}.tar.gz # N.B. Source1 is downloaded as zip instead of tar.gz to avoid naming collision Source1: %{url}-example-data/archive/refs/tags/v%{version}.zip BuildRequires: boost-devel BuildRequires: doxygen BuildRequires: eigen3-devel BuildRequires: fmt-devel BuildRequires: gcc-c++ BuildRequires: gcc-gfortran BuildRequires: git BuildRequires: gmock-devel BuildRequires: gtest-devel BuildRequires: hdf5-devel BuildRequires: highfive-devel BuildRequires: python3-Cython BuildRequires: python3-devel BuildRequires: python3-jinja2-cli BuildRequires: python3-numpy BuildRequires: python3-pip BuildRequires: python3-pytest BuildRequires: python3-ruamel-yaml BuildRequires: python3-scons BuildRequires: python3-setuptools BuildRequires: python3-sphinx BuildRequires: python3-sphinx-gallery BuildRequires: python3-typing-extensions BuildRequires: python3-wheel BuildRequires: sundials-devel BuildRequires: yaml-cpp-devel %global scons scons%{?rhel:-3} %global common_description %{expand: \ Cantera is a suite of object-oriented software tools for solving problems involving chemical kinetics, thermodynamics, and/or transport processes. Cantera can be used for simulating time-dependent or steady reactor networks and one-dimensional reacting flows. Thermodynamic models for ideal gases, aqueous electrolytes, plasmas, and multiphase substances are provided.} %description %{common_description} %package common Summary: Common files needed for all Cantera interfaces %description common %{common_description} This package includes programs for parsing and converting chemical mechanisms, a set of common mechanism files, and several sample problems. %package -n python3-%{name} Requires: %{name}-common%{_isa} = %{version}-%{release} Summary: Python 3 user interface for Cantera %description -n python3-%{name} %{common_description} This package includes the Cantera Python 3 module. %package devel Requires: %{name}-common%{_isa} = %{version}-%{release} Summary: Header files and shared object libraries for Cantera %description devel %{common_description} This package contains the header files and shared object libraries needed to develop applications with the C++ and Fortran interfaces of Cantera. %package static Requires: %{name}-common%{_isa} = %{version}-%{release} Summary: Static libraries for Cantera %description static %{common_description} This package contains the static libraries for the C++ and Fortran interfaces of Cantera. %prep %setup -n %{name}-%{version} %setup -T -D -a 1 mv ./cantera-example-data-%{version}/* ./data/example_data/ %build %set_build_flags # scons complains about lack of ".git" folder git init %scons build stage_dir=%{buildroot} prefix=%{_prefix} python_prefix=%{_prefix} libdirname=%{_lib} versioned_shared_library=y use_rpath_linkage=n renamed_shared_libraries=n f90_interface=y python_package=y hdf_support=y system_highfive=y system_fmt=y system_sundials=y system_eigen=y extra_inc_dirs=%{_includedir}/eigen3 system_blas_lapack=n run_examples=no doxygen_docs=no sphinx_docs=no %install %scons install stage_dir=%{buildroot} prefix=%{_prefix} python_prefix=%{_prefix} libdirname=%{_lib} example_data=yes %check %scons test googletest=system fast_fail_tests=yes %files common %license %{_datadir}/%{name}/doc/LICENSE.txt %doc AUTHORS.md README.rst %doc %{_mandir}/man1/ck2yaml.1.gz %doc %{_mandir}/man1/cti2yaml.1.gz %doc %{_mandir}/man1/ctml2yaml.1.gz %doc %{_mandir}/man1/lxcat2yaml.1.gz %doc %{_mandir}/man1/yaml2ck.1.gz %{_bindir}/ck2yaml %{_bindir}/cti2yaml %{_bindir}/ctml2yaml %{_bindir}/lxcat2yaml %{_bindir}/yaml2ck %{_datadir}/%{name} #not required for packaged installations %ghost %{_bindir}/setup_cantera %ghost %{_bindir}/setup_cantera.csh %files -n python3-%{name} %{_libdir}/libcantera_python3_14.so %{python3_sitearch}/%{name}/ %{python3_sitearch}/%{name}-%{version}.dist-info/ %files devel %{_includedir}/%{name}/ %{_includedir}/%{name}_clib/ %{_libdir}/pkgconfig/cantera.pc %{_libdir}/libcantera.so %{_libdir}/libcantera.so.3 %{_libdir}/libcantera.so.%{version} %{_libdir}/libcantera_fortran.so %{_libdir}/libcantera_fortran.so.3 %{_libdir}/libcantera_fortran.so.%{version} %files static %{_libdir}/libcantera.a %{_libdir}/libcantera_fortran.a %changelog %autochangelog