File libgit2.spec of Package libgit2.9827

#
# spec file for package libgit2
#
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2011, Sascha Peilicke <saschpe@gmx.de>
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#


Name:           libgit2
Version:        0.24.1
Release:        0
Summary:        C git library
License:        GPL-2.0 WITH GCC-exception-2.0
Group:          Development/Libraries/C and C++
Url:            http://libgit2.github.com/
Source0:        https://github.com/libgit2/libgit2/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
Source1:	%name-rpmlintrc
Source99:       baselibs.conf
# PATCH-FIX-UPSTREAM libgit2-validate-name-length.patch bsc#1003810 sreeves@suse.com -- validate filename and length.
Patch1:         libgit2-validate-name-length.patch
# PATCH-FIX-UPSTREAM libgit2-init-commit-message.patch bsc#1003810 sreeves@suse.com -- initialize commit message 
Patch2:         libgit2-init-commit-message.patch
# PATCH-FIX-UPSTREAM libgit2-check-cert-validity.patch bsc#1019037 sreeves@suse.com
Patch3:         libgit2-check-cert-validity.patch
# PATCH-FIX-UPSTREAM libgit2-perform-badssl-check.patch bsc#1019037 sreeves@suse.com
Patch4:         libgit2-perform-badssl-check.patch
# PATCH-FIX-UPSTREAM libgit2-verify-packet-length.patch bsc#1019036 sreeves@suse.com
Patch5:         libgit2-verify-packet-length.patch
# PATCH-FIX-UPSTREAM libgit2-empty-lines-as-errors.patch bsc#1019036 sreeves@suse.com
Patch6:         libgit2-empty-lines-as-errors.patch
# PATCH-FIX-UPSTREAM libgit2-expected-error.patch bsc#1019037 sreeves@suse.com
Patch7:         libgit2-expected-error.patch
# PATCH-FIX-UPSTREAM libgit2-dont-test-rc4.patch bsc#1019037 sreeves@suse.com
Patch8:         libgit2-dont-test-rc4.patch
Patch9:         libgit2-read-entry-return-code.patch
# PATCH-FIX-UPSTREAM libgit2-boo1095219.patch boo#1095219 mgorse@suse.com -- validate names of submodules.
Patch10: libgit2-boo1095219.patch
# PATCH-FIX-UPSTREAM libgit2-boo1100613-sign-fix.patch boo#1100613 mgorse@suse.com -- delta: fix sign-extension of big left-shift (CVE-2018-11887)
Patch11: libgit2-boo1100613-sign-fix.patch
# PATCH-FIIX-UPSTREAM libgit2-boo1100612-bounds-check.patch boo#1100612 mgorse@suse.com -- fix out-of-bounds read of delta
Patch12: libgit2-boo1100612-bounds-check.patch
# PATCh-FIX-UPSTREAM libgit2-delta-overflow-checks.patch boo#1100613 mgorse@suse.com -- fix overflow when computing limit.
Patch13: libgit2-delta-overflow-checks.patch
# PATCH-FIX-UPSTREAM libgit2-boo1104641.patch boo#1104641 mgorse@suse.com -- fix potential out-of-bounds read when processing ng packet.
Patch14: libgit2-boo1104641.patch
# PATCH-FIX-UPSTREAM libgit2-boo1110949.patch boo#1110949 mgorse@suse.com -- ignore path and URL if they look like options (CVE-2018-19456)
Patch15: libgit2-boo1110949.patch
# PATCH-FIX-UPSTREAM libgit2-boo1114729.patch boo#1114729 mgorse@suse.com -- various string-to-integer and buffer handling fixes from v0.27.6.
Patch16: libgit2-boo1114729.patch
BuildRequires:  cmake >= 2.8
BuildRequires:  http-parser-devel
BuildRequires:  pkgconfig
BuildRequires:  python-base
BuildRequires:  pkgconfig(libcurl)
BuildRequires:  pkgconfig(libssh2)
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
%if 0%{?fedora_version} || 0%{?rhel_version} || 0%{?centos_version}
BuildRequires:  openssl-devel
%else
BuildRequires:  libopenssl-devel
%endif

%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 -n %{name}-24
Summary:        C git library
Group:          System/Libraries

%description -n %{name}-24
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:        C git library
Group:          Development/Libraries/C and C++
Requires:       %{name}-24 >= %{version}

%description devel
This package contains all necessary include files and libraries needed
to compile and develop applications that use libgit2.

%prep
%setup -q
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
%patch14 -p1
%patch15 -p1
%patch16 -p1
find examples -type f -name ".gitignore" -print -delete

%build
%cmake \
    -DTHREADSAFE:BOOL=ON \
    -DUSE_SSH:BOOL=ON
make %{?_smp_mflags}

%install
%cmake_install

%post -n %{name}-24 -p /sbin/ldconfig

%postun -n %{name}-24 -p /sbin/ldconfig

%files -n %{name}-24
%defattr (-,root,root)
%doc AUTHORS COPYING README.md
%{_libdir}/%{name}.so.*

%files devel
%defattr (-,root,root)
%doc examples
%{_libdir}/%{name}.so
%{_includedir}/git2*
%{_libdir}/pkgconfig/libgit2.pc

%changelog
openSUSE Build Service is sponsored by