%define major 0 %define libname %mklibname xeus-cling %major %define develname %mklibname xeus-cling -d %define _disable_ld_no_undefined 1 # these requires are provided by cling, but are not found because the libs are in /usr/lib(64)/cling %global __requires_exclude libclingInterpreter*|libclingMetaProcessor*|libclingUtils* Name: xeus-cling Version: 0.14.0 Release: %mkrel 4 Summary: xeus-cling is a Jupyter kernel for C++ based on the C++ interpreter cling a License: BSD URL: https://github.com/jupyter-xeus/xeus-cling.git Source0: https://github.com/jupyter-xeus/xeus-cling/archive/%{version}/%{name}-%{version}.tar.gz Group: System/Libraries BuildRequires: cmake BuildRequires: xeus-devel BuildRequires: cmake(cling) BuildRequires: cmake(pugixml) BuildRequires: cmake(xtl) BuildRequires: cmake(cxxopts) BuildRequires: cmake(nlohmann_json) BuildRequires: cmake(GTest) BuildRequires: cmake(xeus-zmq) # for tests BuildRequires: cmake(doctest) Requires: %{libname} = %{version}-%{release} Patch0: iterator-include.patch Patch2: cmake.patch %description xeus-cling is a Jupyter kernel for C++ based on the C++ interpreter cling and the native implementation of the Jupyter protocol xeus. %prep %autosetup -p1 %build CXXFLAGS="%{build_cxxflags} -I%{_includedir}/cling -DLLVM_DISABLE_ABI_BREAKING_CHECKS_ENFORCING=1" export PATH=/usr/libexec/cling:$PATH %cmake -DXEUS_CLING_BUILD_TESTS=ON \ -DLLVM_CMAKE_DIR=%{_libdir}/cmake/cling/llvm \ -DLLVM_ABI_BREAKING_CHECKS=FORCE_OFF \ -DCMAKE_PREFIX_PATH='%{_libdir}/cmake/cling/clang;%{_libdir}/cmake/cling/llvm' cmake --build build --verbose %install %cmake_install %check pushd build ./test/test_xeus_cling popd %package -n %{libname} Summary: %{summary} Provides: %{name}-libs = %{version}-%{release} %description -n %{libname} xeus-cling is a Jupyter kernel for C++ based on the C++ interpreter cling and the native implementation of the Jupyter protocol xeus. %package -n %{develname} Summary: %{summary} Provides: %{name}-devel = %{version}-%{release} Requires: %{libname} = %{version}-%{release} %description -n %{develname} xeus-cling is a Jupyter kernel for C++ based on the C++ interpreter cling and the native implementation of the Jupyter protocol xeus. %files %{_bindir}/xcpp %{_prefix}/etc/xeus-cling/ %{_datadir}/jupyter %{_datadir}/%{name} %files -n %{libname} %{_libdir}/libxeus-cling.so.%{major}* %files -n %{develname} %doc README.md %license LICENSE %{_libdir}/libxeus-cling.so %{_includedir}/xcpp %{_includedir}/%{name} %{_libdir}/cmake/%{name} %changelog * Tue Feb 07 2023 papoteur <papoteur> 0.14.0-4.mga9 + Revision: 1939206 - extend exlusion of automatic requires again * Mon Jan 02 2023 papoteur <papoteur> 0.14.0-3.mga9 + Revision: 1929243 - extend exlusion of automatic requires to lib64 * Mon Dec 12 2022 papoteur <papoteur> 0.14.0-2.mga9 + Revision: 1921158 - relax requires on some cling libraries * Fri Dec 09 2022 papoteur <papoteur> 0.14.0-1.mga9 + Revision: 1919810 - new 0.14.0 * Mon Aug 15 2022 neoclust <neoclust> 0.13.0-2.mga9 + Revision: 1878052 - Rebuild against new cling * Fri Jul 08 2022 joequant <joequant> 0.13.0-1.mga9 + Revision: 1867995 - single thread build - add test - add deps - imported package xeus-cling