%bcond_with check Name: bornagain Version: 23.0 Release: %autorelease Summary: A software to simulate and fit neutron and x-ray reflectometry and scattering # The main package is licensed under GPL-3.0-only # The bundled files in the directory of 3rdparty/Core/tspectrum, which is from # ROOT, is LGPL-2.1-or-later license License: GPL-3.0-only AND LGPL-2.1-or-later URL: https://www.bornagainproject.org/ Source0: https://jugit.fz-juelich.de/mlz/bornagain/-/archive/v%{version}/%{name}-v%{version}.tar.bz2 Patch0: https://topazus.fedorapeople.org/bornagain-fix-cmake.patch BuildRequires: gcc-c++ BuildRequires: cmake BuildRequires: ninja-build BuildRequires: cmake(LibHeinz) BuildRequires: cmake(formfactor) BuildRequires: fftw-devel BuildRequires: gsl-devel BuildRequires: cmake(cerf) BuildRequires: zlib-devel BuildRequires: bzip2-devel BuildRequires: boost-devel BuildRequires: libtiff-devel BuildRequires: cmake(Qt6Core) BuildRequires: cmake(Qt6Gui) BuildRequires: cmake(Qt6Widgets) BuildRequires: cmake(Qt6PrintSupport) BuildRequires: cmake(Qt6Svg) BuildRequires: cmake(Qt6OpenGL) BuildRequires: cmake(Qt6OpenGLWidgets) BuildRequires: qcustomplot-qt6-devel BuildRequires: python3-devel BuildRequires: %{py3_dist pip} BuildRequires: %{py3_dist wheel} BuildRequires: %{py3_dist setuptools} BuildRequires: %{py3_dist auditwheel} BuildRequires: %{py3_dist numpy} BuildRequires: %{py3_dist matplotlib} #BuildRequires: %{py3_dist lmfit} #BuildRequires: %{py3_dist fabio} BuildRequires: gtest-devel BuildRequires: desktop-file-utils BuildRequires: chrpath Requires: hicolor-icon-theme Provides: bundled(tspectrum) %description BornAgain is a open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering. Its name, BornAgain, alludes to the central role of the distorted-wave Born approximation in the physical description of the scattering process. The software provides a generic framework for modeling multilayer samples with smooth or rough interfaces and with various types of embedded nanoparticles. %package libs Summary: Runtime libraries of %{name} Requires: %{name}%{?_isa} = %{version}-%{release} %description libs The %{name}-libs package contains runtime libraries of %{name}. %package devel Summary: Development files for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} %description devel The %{name}-devel package contains development files for %{name}. %package python3 Summary: Python bindings for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} %description python3 The %{name}-python3 package contains Python bindings for %{name}. %package examples Summary: Example files for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} %description examples The %{name}-examples package contains example files for %{name}. %prep %autosetup -p1 -n %{name}-v%{version} #rm -r 3rdparty/{common,GUI/qcustomplot} %build %cmake \ -GNinja \ -DCMAKE_BUILD_TYPE=Release \ -DBA_CPP_API=ON \ -DBA_USE_SYSTEM_GTEST=ON \ -DBA_USE_SYSTEM_QCUSTOMPLOT=ON \ %if %{with check} -DBA_TESTS=ON %else -DBA_TESTS=OFF %endif %cmake_build %install %cmake_install chrpath --delete %{buildroot}%{_bindir}/%{name} chrpath --delete %{buildroot}%{_libdir}/_libBornAgain*.so %check %if %{with check} # many tests failed on aarch64, ppc64le and s390x, disable for now. %ifarch x86_64 %ctest %endif %endif #desktop-file-validate %{buildroot}/%{_datadir}/applications/*.desktop %files %license COPYING %doc README.md %{_bindir}/%{name} %{_datadir}/icons/hicolor/*/apps/BornAgain.png %{_datadir}/applications/BornAgain.desktop %{_mandir}/man1/%{name}.1.gz %files libs %{_libdir}/_libBornAgain*.so %files devel %{_includedir}/BornAgain_%{version}/ %files python3 %{python3_sitearch}/BornAgain/ %files examples %dir %{_datadir}/BornAgain_%{version} %{_datadir}/BornAgain_%{version}/Examples/ %changelog %autochangelog