84 lines
2.0 KiB
RPMSpec
84 lines
2.0 KiB
RPMSpec
Name: bear
|
|
Version: 3.0.20
|
|
Release: %autorelease
|
|
Summary: Tool that generates a compilation database for clang tooling
|
|
|
|
License: GPLv3+
|
|
URL: https://github.com/rizsotto/%{name}
|
|
Source: %{url}/archive/%{version}/%{name}-%{version}.tar.gz
|
|
|
|
BuildRequires: cmake
|
|
BuildRequires: cmake(fmt)
|
|
BuildRequires: cmake(gtest)
|
|
BuildRequires: cmake(nlohmann_json)
|
|
BuildRequires: cmake(spdlog)
|
|
BuildRequires: gcc
|
|
BuildRequires: gcc-c++
|
|
BuildRequires: gmock-devel
|
|
BuildRequires: grpc-plugins
|
|
BuildRequires: make
|
|
BuildRequires: pkgconfig(protobuf)
|
|
BuildRequires: pkgconfig(grpc++)
|
|
BuildRequires: python3
|
|
|
|
# Needed for functional tests
|
|
BuildRequires: python3dist(lit)
|
|
BuildRequires: /usr/bin/more
|
|
BuildRequires: /usr/bin/xargs
|
|
BuildRequires: gcc-fortran
|
|
BuildRequires: valgrind
|
|
BuildRequires: fakeroot
|
|
|
|
# Work around RHBZ#1959600 (https://github.com/rizsotto/Bear/issues/309), which
|
|
# caused a test failure on s390x. It may only be happenstance that no other
|
|
# architectures were affected.
|
|
%global _lto_cflags %{nil}
|
|
|
|
%description
|
|
Build ear produces compilation database in JSON format. This database describes
|
|
how single compilation unit should be processed and can be used by Clang
|
|
tooling.
|
|
|
|
%prep
|
|
%autosetup -p 1 -n Bear-%{version}
|
|
|
|
|
|
%build
|
|
for f in $(ls test/bin/); do
|
|
sed -i "s|^#\!/usr/bin/env\s\+python\s\?$|#!%{__python3}|" test/bin/$f
|
|
done
|
|
|
|
# Functional tests are broken for some unknown reason, disable for now.
|
|
%cmake -DENABLE_FUNC_TESTS=ON -DENABLE_UNIT_TESTS=ON
|
|
%cmake_build
|
|
|
|
%install
|
|
%cmake_install
|
|
|
|
mv %{buildroot}/%{_docdir}/Bear %{buildroot}/%{_docdir}/bear
|
|
|
|
%check
|
|
# Tests run as part of build, because it's the same build target.
|
|
# There is no check target.
|
|
|
|
|
|
%files
|
|
%{_bindir}/bear
|
|
%{_bindir}/citnames
|
|
%{_bindir}/intercept
|
|
%{_libdir}/bear
|
|
%{_mandir}/man1/bear.1*
|
|
%{_mandir}/man1/citnames.1*
|
|
%{_mandir}/man1/intercept.1*
|
|
|
|
# rpmbuild on RHEL won't automatically pick up ChangeLog.md & README.md
|
|
%if 0%{?rhel}
|
|
%{_datadir}/doc/bear
|
|
%endif
|
|
|
|
%license COPYING
|
|
%doc %{_docdir}/bear
|
|
|
|
%changelog
|
|
%autochangelog
|