File libgit2.spec of Package libgit2.28345

#
# spec file for package libgit2
#
# Copyright (c) 2018 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/
#


%define sover 26
Name:           libgit2
Version:        0.26.8
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
Source99:       baselibs.conf
Patch0:         0001-win32-emulate-Git-for-Windows-in-symlink-support.patch
Patch1:         0002-make-proxy_stream_close-close-target-stream-even-on-errors.patch
Patch2:         0003-repository-free-memory-in-symlink-detection-function.patch
Patch3:         0004-config-validate-ownership-of-C__ProgramData_Git_config-before-using-it.patch
Patch4:         0005-buffer-git_buf_sanitize-should-return-a-value.patch 
Patch5:         0001-path-refactor-ownership-checks-into-current-user-and.patch
Patch6:         0002-repo-ensure-that-repo-dir-is-owned-by-current-user.patch
Patch7:         0003-fs_path-mock-ownership-checks.patch
Patch8:         0004-repo-test-configuration-ownership-validation.patch
Patch9:         0005-repo-refactor-global-config-loader-function.patch
Patch10:        0006-repo-honor-safe.directory-during-ownership-checks.patch
Patch11:        0007-repo-make-ownership-checks-optional.patch
Patch12:        0010-revparse-Remove-error-prone-redundant-test.patch
Patch13:        0014-repo-add-tests-for-bare-repo-permissions.patch
Patch14:        0015-fs-remove-mock-naming-from-change-ownership-constant.patch
Patch15:        0016-fs-refactor-file-ownership-checks.patch
Patch16:        0017-fs-allow-ownership-match-if-user-is-in-admin-group.patch
Patch17:        0018-repo-allow-admin-owned-configs-by-admin-users.patch
Patch18:        0019-repo-validate-gitdir-and-gitlink-ownership.patch
Patch19:        0020-repo-allow-users-running-with-sudo-to-access-their-r.patch
Patch20:        0001-cl_git_fail-do-not-report-bogus-error-message.patch
Patch21:        0002-Protect-against-8.3-short-name-attacks-also-on-Linux-macOS.patch
Patch22:        0003-Disallow-NTFS-Alternate-Data-Stream-attacks-even-on-Linux-macOS.patch
Patch23:        0004-path-also-guard-gitmodules-against-NTFS-Alternate-Data-Streams.patch
Patch24:        0005-path-rename-function-that-detects-end-of-filename.patch
Patch25:        0006-path-protect-NTFS-everywhere.patch
Patch26:        0007-tree-ensure-we-protect-NTFS-paths-everywhere.patch
Patch27:        0008-index-ensure-that-we-respect-core.protectNTFS-false.patch
Patch28:        0009-commit_list-fix-possible-buffer-overflow-in-commit_quick_parse.patch
Patch29: 0001-ssh-verify-the-remote-s-host-key-against-known_hosts.patch
Patch30: 0002-tests-append-the-github.com-ssh-keys-so-we-have-acce.patch
Patch31: 0003-tests-move-online-clone-ssh_auth_methods-into-the-ss.patch
Patch32: 0004-ssh-look-for-a-key-in-known_hosts-to-set-the-key-typ.patch

BuildRequires:  cmake >= 2.8
BuildRequires:  http-parser-devel
BuildRequires:  pkgconfig
BuildRequires:  pkgconfig(libcurl)
BuildRequires:  pkgconfig(libssh2)
%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}-%{sover}
Summary:        C git library
Group:          System/Libraries

%description -n %{name}-%{sover}
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}-%{sover} >= %{version}

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

%prep
%autosetup -p1
find examples -type f -name ".gitignore" -print -delete

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

%install
%cmake_install

%post -n %{name}-%{sover} -p /sbin/ldconfig
%postun -n %{name}-%{sover} -p /sbin/ldconfig

%files -n %{name}-%{sover}
%license COPYING
%doc AUTHORS README.md
%{_libdir}/%{name}.so.*%{sover}*

%files devel
%doc examples
%{_libdir}/%{name}.so
%{_includedir}/git2*
%{_libdir}/pkgconfig/libgit2.pc

%changelog
openSUSE Build Service is sponsored by