Blob Blame History Raw
# disable in source builds on EPEL <9
%undefine __cmake_in_source_build
%undefine __cmake3_in_source_build

# python2 is not available on RHEL > 7 and Fedora
%if 0%{?rhel} > 7 || 0%{?fedora}
%bcond_with python2
%else
%bcond_without python2
%endif

# python3 support is optional
%bcond_without python3

Name:       csdiff
Version:    3.3.0
Release:    1%{?dist}
Summary:    Non-interactive tools for processing code scan results in plain-text

License:    GPLv3+
URL:        https://github.com/csutils/csdiff
Source0:    https://github.com/csutils/csdiff/releases/download/%{name}-%{version}/%{name}-%{version}.tar.xz
Source1:    https://github.com/csutils/csdiff/releases/download/%{name}-%{version}/%{name}-%{version}.tar.xz.asc
# gpg --keyserver pgp.mit.edu --recv-key 992A96E075056E79CD8214F9873DB37572A37B36
# gpg --output kdudka.pgp --armor --export kdudka@redhat.com
Source2:    kdudka.pgp

# the following upstream commit is needed to work with up2date csdiff/csgrep
# https://github.com/csutils/csmock/commit/48b09b3a
Conflicts:  csmock-plugin-shellcheck <= 2.5

# Use Boost 1.69 on EPEL 7
%if 0%{?rhel} == 7
BuildRequires: boost169-devel
%endif
# Use Boost 1.78 on EPEL 8 and 9
%if 0%{?rhel} == 8 || 0%{?rhel} == 9
BuildRequires: boost1.78-devel
%endif
# Use boost-devel everywhere else
%if 0%{?rhel} > 9 || 0%{?fedora}
BuildRequires: boost-devel
%endif

BuildRequires: cmake3
BuildRequires: gcc-c++
BuildRequires: gnupg2
BuildRequires: help2man
BuildRequires: make

%if 0%{?rhel} == 7
Provides: bundled(boost_json)
Provides: bundled(boost_nowide)
%endif

%description
This package contains the csdiff tool for comparing code scan defect lists in
order to find out added or fixed defects, and the csgrep utility for filtering
defect lists using various filtering predicates.

%if %{with python2}
%package -n python2-%{name}
Summary:        Python interface to csdiff for Python 2
BuildRequires:  python2-devel
%py_provides    python2-%{name}

%description -n python2-%{name}
This package contains the Python 2 binding for the csdiff tool for comparing
code scan defect lists to find out added or fixed defects.
%endif

%if %{with python3}
%package -n python3-%{name}
Summary:        Python interface to csdiff for Python 3
BuildRequires:  python3-devel
%py_provides    python3-%{name}

%description -n python3-%{name}
This package contains the Python 3 binding for the csdiff tool for comparing
code scan defect lists to find out added or fixed defects.
%endif

%prep
%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
%autosetup

%build
%if 0%{?rhel} == 7
# Set paths for CMake's FindBoost
export BOOST_INCLUDEDIR=/usr/include/boost169
export BOOST_LIBRARYDIR=/usr/lib64/boost169
%endif

make version.cc
%cmake3                                    \
    -DPYCSDIFF_PYTHON2=%{?with_python2:ON} \
    -DPYCSDIFF_PYTHON3=%{?with_python3:ON}
%cmake3_build

%install
%cmake3_install

%check
%ctest3

%files
%doc README
%license COPYING
%{_bindir}/csdiff
%{_bindir}/csgrep
%{_bindir}/cshtml
%{_bindir}/cslinker
%{_bindir}/cssort
%{_bindir}/cstrans-df-run
%{_datadir}/%{name}
%{_mandir}/man1/csdiff.1*
%{_mandir}/man1/csgrep.1*
%{_mandir}/man1/cshtml.1*
%{_mandir}/man1/cslinker.1*
%{_mandir}/man1/cssort.1*
%{_mandir}/man1/cstrans-df-run.1*

%if %{with python2}
%files -n python2-%{name}
%license COPYING
%{python2_sitearch}/pycsdiff.so
%endif

%if %{with python3}
%files -n python3-%{name}
%license COPYING
%{python3_sitearch}/pycsdiff.so
%endif

%changelog
* Fri May 03 2024 Kamil Dudka <kdudka@redhat.com> 3.3.0-1
- update to latest upstream release

* Thu Apr 25 2024 Kamil Dudka <kdudka@redhat.com> 3.2.2-1
- update to latest upstream release

* Thu Feb 29 2024 Kamil Dudka <kdudka@redhat.com> 3.2.1-1
- update to latest upstream release

* Wed Jan 24 2024 Kamil Dudka <kdudka@redhat.com> 3.2.0-1
- update to latest upstream release

* Tue Oct 10 2023 Kamil Dudka <kdudka@redhat.com> 3.1.0-1
- update to latest upstream release

* Mon Aug 21 2023 Kamil Dudka <kdudka@redhat.com> 3.0.4-1
- update to latest upstream release

* Fri Jul 21 2023 Kamil Dudka <kdudka@redhat.com> 3.0.3-1
- update to latest upstream release

* Fri Apr 21 2023 Kamil Dudka <kdudka@redhat.com> 3.0.2-1
- update to latest upstream release

* Thu Apr 06 2023 Kamil Dudka <kdudka@redhat.com> 3.0.1-1
- update to latest upstream

* Fri Mar 10 2023 Kamil Dudka <kdudka@redhat.com> 3.0.0-1
- update to latest upstream release

* Thu Feb 23 2023 Lukáš Zaoral <lzaoral@redhat.com> - 2.9.0-2
- Rebuilt for Boost 1.81 (rhbz#2172687)

* Wed Feb 22 2023 Kamil Dudka <kdudka@redhat.com> 2.9.0-1
- update to latest upstream release

* Thu Dec 01 2022 Kamil Dudka <kdudka@redhat.com> 2.8.0-1
- update to latest upstream release

* Tue Sep 06 2022 Kamil Dudka <kdudka@redhat.com> 2.7.0-1
- update to latest upstream release

* Tue Jun 21 2022 Kamil Dudka <kdudka@redhat.com> 2.6.0-1
- update to latest upstream release

* Mon May 09 2022 Kamil Dudka <kdudka@redhat.com> 2.5.0-1
- update to latest upstream release

* Wed Apr 13 2022 Kamil Dudka <kdudka@redhat.com> 2.4.0-1
- update to latest upstream release

* Tue Mar 15 2022 Miro Hrončok <mhroncok@redhat.com> - 2.3.0-2
- Verify GPG signature of upstream tarball when building the package

* Tue Mar 15 2022 Kamil Dudka <kdudka@redhat.com> 2.3.0-1
- update to latest upstream release

* Tue Aug 31 2021 Kamil Dudka <kdudka@redhat.com> 2.2.0-1
- update to latest upstream release

* Fri May 21 2021 Kamil Dudka <kdudka@redhat.com> 2.1.1-1
- update to latest upstream release

* Wed Feb 17 2021 Kamil Dudka <kdudka@redhat.com> 2.1.0-1
- update to latest upstream release

* Fri Jan 08 2021 Kamil Dudka <kdudka@redhat.com> 2.0.0-1
- update to latest upstream release

* Tue Oct 20 2020 Kamil Dudka <kdudka@redhat.com> 1.9.0-1
- update to latest upstream release

* Wed Aug 19 2020 Kamil Dudka <kdudka@redhat.com> 1.8.0-1
- update to latest upstream release

* Tue Mar 31 2020 Kamil Dudka <kdudka@redhat.com> 1.7.1-1
- update to latest upstream release

* Wed Feb 05 2020 Kamil Dudka <kdudka@redhat.com> 1.7.0-1
- update to latest upstream release

* Thu May 02 2019 Kamil Dudka <kdudka@redhat.com> 1.6.1-1
- make pycsdiff build with Python 3.8 (#1705427)
- update to latest upstream release

* Mon Feb 04 2019 Kamil Dudka <kdudka@redhat.com> 1.6.0-1
- update to latest upstream release

* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

* Wed Jan 30 2019 Jonathan Wakely <jwakely@redhat.com> - 1.5.0-2
- Rebuilt and patched for Boost 1.69

* Thu Oct 18 2018 Kamil Dudka <kdudka@redhat.com> 1.5.0-1
- update to latest upstream release

* Thu May 03 2018 Kamil Dudka <kdudka@redhat.com> 1.4.0-1
- update to latest upstream release
- make both python2 and python3 optional

* Mon Feb 19 2018 Kamil Dudka <kdudka@redhat.com> 1.3.3-4
- add explicit BR for the gcc-c++ compiler

* Mon Jan 15 2018 Kamil Dudka <kdudka@redhat.com> 1.3.3-1
- update to latest upstream release

* Wed Feb 15 2017 Kamil Dudka <kdudka@redhat.com> 1.3.2-1
- update to latest upstream release
- update project URL and source URL

* Wed Sep 14 2016 Kamil Dudka <kdudka@redhat.com> 1.3.1-1
- update to latest upstream release

* Fri May 20 2016 Kamil Dudka <kdudka@redhat.com> 1.3.0-1
- update to latest upstream release
- introduce the python2-csdiff subpackage

* Tue May 26 2015 Kamil Dudka <kdudka@redhat.com> 1.2.3-1
- update to latest upstream release

* Wed Apr 01 2015 Kamil Dudka <kdudka@redhat.com> 1.2.2-1
- update to latest upstream release

* Tue Mar 03 2015 Kamil Dudka <kdudka@redhat.com> 1.2.1-1
- update to latest upstream release

* Mon Jan 19 2015 Kamil Dudka <kdudka@redhat.com> 1.1.3-1
- update to latest upstream release
- package the pycsdiff python module

* Fri Nov 07 2014 Kamil Dudka <kdudka@redhat.com> 1.1.1-1
- update to latest upstream release

* Wed Sep 03 2014 Kamil Dudka <kdudka@redhat.com> 1.0.10-1
- update to latest upstream bugfix release

* Thu Jul 17 2014 Kamil Dudka <kdudka@redhat.com> 1.0.8-1
- update to latest upstream bugfix release

* Thu Jun 19 2014 Kamil Dudka <kdudka@redhat.com> 1.0.6-1
- update to latest upstream bugfix release

* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Fri May 23 2014 Petr Machata <pmachata@redhat.com> - 1.0.4-2
- Rebuild for boost 1.55.0

* Mon Mar 17 2014 Kamil Dudka <kdudka@redhat.com> 1.0.4-1
- update to latest upstream

* Thu Feb 20 2014 Kamil Dudka <kdudka@redhat.com> 1.0.2-2
- abandon RHEL-5 compatibility per Fedora Review Request (#1066027)

* Wed Feb 19 2014 Kamil Dudka <kdudka@redhat.com> 1.0.2-1
- packaged for Fedora