Blob Blame History Raw
Name:           libgit2
Version:        0.26.8
Release:        1%{?dist}
Summary:        C implementation of the Git core methods as a library with a solid API
License:        GPLv2 with exceptions
URL:            http://libgit2.github.com/
Source0:        https://github.com/libgit2/libgit2/archive/v%{version}/%{name}-%{version}.tar.gz

Patch0001:      0001-Disable-online-and-ssh-tests.patch

BuildRequires:  gcc
BuildRequires:  cmake
BuildRequires:  http-parser-devel
BuildRequires:  libcurl-devel
BuildRequires:  libssh2-devel
BuildRequires:  openssl-devel
BuildRequires:  python2
BuildRequires:  zlib-devel
Provides:       bundled(libxdiff)

%description
libgit2 is a portable, pure C implementation of the Git core methods 
provided as a re-entrant linkable library with a solid API, allowing
you to write native speed custom Git applications in any language
with bindings.

%package        devel
Summary:        Development files for %{name}
Requires:       %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}

%description    devel
This package contains libraries and header files for
developing applications that use %{name}.

%prep
%autosetup -p1

# Remove VCS files from examples
find examples -name ".gitignore" -delete -print

# Fix pkgconfig generation
sed -i 's|@CMAKE_INSTALL_PREFIX@/||' libgit2.pc.in

# Don't test network
sed -i 's/ionline/xonline/' CMakeLists.txt

# Remove bundled libraries
rm -frv deps

%build
mkdir %{_target_platform}
pushd %{_target_platform}
  %cmake -DTHREADSAFE=ON ..
popd
%make_build -C %{_target_platform}

%install
%make_install -C %{_target_platform}

%check
pushd %{_target_platform}
  ctest -VV
popd

%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig

%files
%license COPYING
%{_libdir}/%{name}.so.*

%files devel
%doc AUTHORS docs examples README.md
%{_libdir}/%{name}.so
%{_libdir}/pkgconfig/%{name}.pc
%{_includedir}/git2.h
%{_includedir}/git2/

%changelog
* Mon Apr 20 2020 Brian C. Lane <bcl@redhat.com> - 0.26.8-1
- New upstream security release v0.26.8
  Resolves: rhbz#1644827
- Disable online and ssh tests
  Related: rhbz#1644827

* Mon Aug 27 2018 Brian C. Lane <bcl@redhat.com> - 0.26.6-1
- Update to 0.26.6 (CVE-2018-10887, CVE-2018-10888, CVE-2018-15501)
  Related: rhbz#1615585

* Thu Jul 05 2018 Chris Lumens <clumens@redhat.com> - 0.26.4-1
- Rebase to 0.26.4 to address malicious submodule name filtering.
  Resolves: rhbz#1597754

* Wed Jun 13 2018 David Cantrell <dcantrell@redhat.com> - 0.26.3-3
- Rebuild

* Wed May 30 2018 David Shea <dshea@redhat.com> - 0.26.3-2
- Initial package for Red Hat Enterprise Linux 7
  Resolves: rhbz#1548043
- Remove the compatibility .so file from the EPEL package
  Related: rhbz#1548043