2022-11-28 09:58:47 +08:00
|
|
|
#
|
|
|
|
|
# spec file for package Bear
|
|
|
|
|
#
|
|
|
|
|
# Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
|
|
|
|
# Everyone is permitted to copy and distribute verbatim copies
|
|
|
|
|
# of this license document, but changing it is not allowed.
|
|
|
|
|
#
|
|
|
|
|
# This file is under the GNU GENERAL PUBLIC LICENSE Version 3.
|
|
|
|
|
#
|
|
|
|
|
|
|
|
|
|
%bcond_with tests
|
|
|
|
|
Name: Bear
|
|
|
|
|
Version: 3.0.20
|
2022-12-01 11:49:46 +08:00
|
|
|
Release: 2
|
2022-11-28 09:58:47 +08:00
|
|
|
Summary: Tool to generate compilation database for clang tooling
|
|
|
|
|
License: GPL-3.0-or-later
|
|
|
|
|
URL: https://github.com/rizsotto/Bear
|
|
|
|
|
Source: %{name}-%{version}.tar.gz
|
|
|
|
|
BuildRequires: bash-completion
|
|
|
|
|
BuildRequires: gcc, gcc-c++, make
|
|
|
|
|
BuildRequires: protobuf-devel, grpc-devel, grpc-plugins
|
|
|
|
|
BuildRequires: c-ares-devel
|
|
|
|
|
BuildRequires: glibc-devel, glibc-debuginfo
|
|
|
|
|
BuildRequires: cmake
|
|
|
|
|
BuildRequires: pkgconfig(absl_synchronization)
|
|
|
|
|
BuildRequires: pkgconfig(grpc)
|
|
|
|
|
BuildRequires: pkgconfig(grpc++) >= 1.26
|
|
|
|
|
BuildRequires: pkgconfig(protobuf) >= 3.11
|
|
|
|
|
%if %{with tests}
|
|
|
|
|
BuildRequires: python
|
|
|
|
|
BuildRequires: python3-lit
|
|
|
|
|
BuildRequires: python3-setuptools
|
|
|
|
|
# one of the tests requires /usr/bin/more
|
|
|
|
|
BuildRequires: util-linux
|
|
|
|
|
# additional binaries for specific tests
|
|
|
|
|
BuildRequires: gcc-fortran
|
|
|
|
|
BuildRequires: fakeroot
|
|
|
|
|
BuildRequires: valgrind
|
|
|
|
|
# the fakeroot test requires xargs
|
|
|
|
|
BuildRequires: findutils
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
Patch1: 0001-change-external-project-to-local-package.patch
|
2022-12-01 11:49:46 +08:00
|
|
|
Patch2: 0002-Rebuild-when-add-option-failed.patch
|
2022-11-28 09:58:47 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
%description
|
|
|
|
|
Bear is a tool to generate compilation database for clang tooling.
|
|
|
|
|
|
|
|
|
|
One way to get compilation database is to use cmake as build tool. When the
|
|
|
|
|
project compiles with no cmake, but another build system, there is no free json
|
|
|
|
|
file. Bear is a tool to generate such file during the build process.
|
|
|
|
|
|
|
|
|
|
%prep
|
|
|
|
|
%autosetup -p1 -n %{name}-%{version}
|
|
|
|
|
|
|
|
|
|
%build
|
|
|
|
|
BEAR_MFLAGS_JOBS="%{?_smp_mflags}"
|
|
|
|
|
|
|
|
|
|
mkdir build
|
|
|
|
|
cd build
|
|
|
|
|
|
|
|
|
|
%cmake .. \
|
|
|
|
|
-DDEPEND_PATH=%{_sourcedir} \
|
|
|
|
|
-DCMAKE_INSTALL_PREFIX=%{_prefix} \
|
|
|
|
|
%if %{with tests}
|
|
|
|
|
-DENABLE_UNIT_TESTS=ON \
|
|
|
|
|
-DENABLE_FUNC_TESTS=ON
|
|
|
|
|
%else
|
|
|
|
|
-DENABLE_UNIT_TESTS=OFF \
|
|
|
|
|
-DENABLE_FUNC_TESTS=OFF
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
make $BEAR_MFLAGS_JOBS
|
|
|
|
|
|
|
|
|
|
%install
|
|
|
|
|
pushd build
|
|
|
|
|
make DESTDIR=%{buildroot} install
|
|
|
|
|
# Let RPM install it correctly
|
|
|
|
|
rm -rf %{buildroot}%{_datadir}/doc
|
|
|
|
|
popd
|
|
|
|
|
|
|
|
|
|
%files
|
|
|
|
|
%license COPYING
|
|
|
|
|
%doc README.md
|
|
|
|
|
%{_bindir}/bear
|
|
|
|
|
%{_bindir}/citnames
|
|
|
|
|
%{_bindir}/intercept
|
|
|
|
|
%{_mandir}/man1/bear.1*
|
|
|
|
|
%{_mandir}/man1/citnames.1*
|
|
|
|
|
%{_mandir}/man1/intercept.1*
|
|
|
|
|
%{_libdir}/bear/
|
|
|
|
|
|
|
|
|
|
%changelog
|
2022-12-01 11:49:46 +08:00
|
|
|
* Thu Dec 01 2022 zhaowenyu <804544223@qq.com> - 3.0.20-2
|
|
|
|
|
- Type:SPEC
|
|
|
|
|
- ID:NA
|
|
|
|
|
- SUG:NA
|
|
|
|
|
- DESC:Rebuild when add option failed
|
|
|
|
|
|
2022-11-28 09:58:47 +08:00
|
|
|
* Wed Nov 16 2022 zhaowenyu <804544223@qq.com> - 3.0.20-1
|
|
|
|
|
- Type:Init
|
|
|
|
|
- ID:NA
|
|
|
|
|
- SUG:NA
|
|
|
|
|
- DESC:Init Bear 3.0.20 repository
|