51dd511
Name:           kcov
51dd511
Version:        35
c83b01d
Release:        2%{?dist}
51dd511
Summary:        Code coverage tool without special compilation options
51dd511
51dd511
# Licenses of kcov itself and its bundled js libraries (see below)
51dd511
License:        GPLv2 and BSD and MIT
51dd511
URL:            https://simonkagstrom.github.io/%{name}
51dd511
Source:         https://github.com/SimonKagstrom/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz
51dd511
Patch:          https://github.com/SimonKagstrom/%{name}/commit/fa51b645.patch
51dd511
51dd511
# https://github.com/SimonKagstrom/kcov/blob/v35/src/solib-parser/lib.c#L87-L97
51dd511
ExcludeArch:    s390 s390x
51dd511
51dd511
BuildRequires:  binutils-devel
51dd511
BuildRequires:  cmake
51dd511
BuildRequires:  gcc-c++
51dd511
BuildRequires:  pkgconfig(libcurl)
51dd511
BuildRequires:  pkgconfig(libdw)
51dd511
BuildRequires:  pkgconfig(libelf)
51dd511
BuildRequires:  pkgconfig(zlib)
51dd511
BuildRequires:  python2
51dd511
BuildRequires:  /usr/bin/python
51dd511
51dd511
# NB: Last I tried to unbundle those dependencies I hit a first roadblock in
51dd511
# the sense that all three were available in Fedora but packaged differently
51dd511
# and none of the versions matched:
51dd511
#
51dd511
# - js-jquery.noarch (compat package js-jquery2.noarch too)
51dd511
# - nodejs-handlebars.noarch
51dd511
# - xstatic-jquery-tablesorter-common.noarch
51dd511
#
51dd511
# All three packages drop files in different locations, following different
51dd511
# patterns. NodeJS modules in particular look a bit more involved.
51dd511
#
51dd511
# Since those dependencies are merely used to slightly improve static HTML
51dd511
# reports, I'd rather not spend mindless efforts unbundling things that are
51dd511
# not ultimately exposed by the package. They are embedded in the kcov(1)
51dd511
# program and written by `html-writer.cc` as static strings.
51dd511
#
51dd511
# It would make more sense to unbundle those if they were used as libraries
51dd511
# instead of just assets. Here it seems overkill. I'm registering them as
51dd511
# bundled provides even though they don't appear as individual files to at
51dd511
# least keep awareness of what I consider a non-issue.
51dd511
#
51dd511
# -- dridi
51dd511
Provides:       bundled(handlebars) = 2.2.0
51dd511
Provides:       bundled(jquery) = 2.1.1
51dd511
Provides:       bundled(jquery-tablesorter) = 2.17.1
51dd511
51dd511
51dd511
%description
51dd511
Kcov is a code coverage tester for compiled programs, Python scripts and shell
51dd511
scripts.  It allows collecting code coverage information from executables
51dd511
without special command-line arguments, and continuously produces output from
51dd511
long-running applications.
51dd511
51dd511
51dd511
%prep
51dd511
%setup -q
51dd511
%patch -p1
51dd511
rm -frv external/ # remove LLDB headers bundled for MacOS
51dd511
51dd511
51dd511
%build
51dd511
%cmake .
51dd511
%make_build
51dd511
51dd511
51dd511
%install
51dd511
%make_install
51dd511
51dd511
51dd511
%files
51dd511
%license COPYING*
51dd511
%{_bindir}/*
51dd511
%{_mandir}/man1/*
51dd511
51dd511
51dd511
%changelog
c83b01d
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 35-2
c83b01d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
c83b01d
51dd511
* Wed Aug 15 2018 Dridi Boukelmoune <dridi@fedoraproject.org> - 35-1
51dd511
- Initial spec