Sophie

Sophie

distrib > Mageia > 9 > armv7hl > media > core-release-src > by-pkgid > 6bc469295dadecf3a953b863339c9a89 > files > 4

xeus-cling-0.14.0-4.mga9.src.rpm

%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