diff options
author | Michał Górny <mgorny@gentoo.org> | 2021-09-28 07:52:57 +0200 |
---|---|---|
committer | Michał Górny <mgorny@gentoo.org> | 2021-09-28 08:20:44 +0200 |
commit | 3a6516ace7f757905a3a1e14fe68d61e29faac11 (patch) | |
tree | 15b4dd780aceedaf7d2812f8f781fffff2486ce0 /dev-python/pygit2 | |
parent | dev-libs/libgit2: Bump to 1.3.0 (diff) | |
download | gentoo-3a6516ace7f757905a3a1e14fe68d61e29faac11.tar.gz gentoo-3a6516ace7f757905a3a1e14fe68d61e29faac11.tar.bz2 gentoo-3a6516ace7f757905a3a1e14fe68d61e29faac11.zip |
dev-python/pygit2: Enable libgit2 1.2.0 support
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'dev-python/pygit2')
-rw-r--r-- | dev-python/pygit2/files/pygit2-1.6.1-libgit2-1.2.0.patch | 48 | ||||
-rw-r--r-- | dev-python/pygit2/pygit2-1.6.1-r2.ebuild | 45 |
2 files changed, 93 insertions, 0 deletions
diff --git a/dev-python/pygit2/files/pygit2-1.6.1-libgit2-1.2.0.patch b/dev-python/pygit2/files/pygit2-1.6.1-libgit2-1.2.0.patch new file mode 100644 index 000000000000..d3e097ba62b3 --- /dev/null +++ b/dev-python/pygit2/files/pygit2-1.6.1-libgit2-1.2.0.patch @@ -0,0 +1,48 @@ +From dcde9eff5950492ab0d2565a07fd18d765332a96 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?J=2E=20David=20Ib=C3=A1=C3=B1ez?= <jdavid.ibp@gmail.com> +Date: Thu, 16 Sep 2021 11:19:04 +0200 +Subject: [PATCH] Upgrade to libgit2 1.2 + +Closes #1089 +--- + Makefile | 2 +- + build.sh | 14 +++++++------- + pygit2/decl/remote.h | 2 ++ + src/types.h | 4 ++-- + 10 files changed, 29 insertions(+), 25 deletions(-) + +diff --git a/pygit2/decl/remote.h b/pygit2/decl/remote.h +index ff84371c3e1ce81a7e9914d4d4592638f41376bb..4e912c065cd6eaf19ef6d0304b0fd8f646edbff4 100644 +--- a/pygit2/decl/remote.h ++++ b/pygit2/decl/remote.h +@@ -23,6 +23,7 @@ typedef struct { + + typedef int (*git_push_negotiation)(const git_push_update **updates, size_t len, void *payload); + typedef int (*git_push_update_reference_cb)(const char *refname, const char *status, void *data); ++typedef int (*git_remote_ready_cb)(git_remote *remote, int direction, void *payload); + typedef int (*git_url_resolve_cb)(git_buf *url_resolved, const char *url, int direction, void *payload); + + struct git_remote_callbacks { +@@ -38,6 +39,7 @@ struct git_remote_callbacks { + git_push_update_reference_cb push_update_reference; + git_push_negotiation push_negotiation; + git_transport_cb transport; ++ git_remote_ready_cb remote_ready; + void *payload; + git_url_resolve_cb resolve_url; + }; +diff --git a/src/types.h b/src/types.h +index ff967b81f76688f8f0958638d99a06f7bbacb99c..89ad3a00149a1326c3edfa20d2d69d629cb1d2a2 100644 +--- a/src/types.h ++++ b/src/types.h +@@ -32,8 +32,8 @@ + #include <Python.h> + #include <git2.h> + +-#if !(LIBGIT2_VER_MAJOR == 1 && LIBGIT2_VER_MINOR == 1) +-#error You need a compatible libgit2 version (1.1.x) ++#if !(LIBGIT2_VER_MAJOR == 1 && LIBGIT2_VER_MINOR == 2) ++#error You need a compatible libgit2 version (1.2.x) + #endif + + /* diff --git a/dev-python/pygit2/pygit2-1.6.1-r2.ebuild b/dev-python/pygit2/pygit2-1.6.1-r2.ebuild new file mode 100644 index 000000000000..fa7f6c1fbf6e --- /dev/null +++ b/dev-python/pygit2/pygit2-1.6.1-r2.ebuild @@ -0,0 +1,45 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8..10} ) +inherit distutils-r1 + +DESCRIPTION="Python bindings for libgit2" +HOMEPAGE="https://github.com/libgit2/pygit2 https://pypi.org/project/pygit2/" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +LICENSE="GPL-2-with-linking-exception" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +RDEPEND=" + =dev-libs/libgit2-1.2*:= + dev-python/cached-property[${PYTHON_USEDEP}] + >=dev-python/cffi-1.0:=[${PYTHON_USEDEP}] +" +DEPEND="${RDEPEND}" + +distutils_enable_tests pytest + +src_prepare() { + local PATCHES=( + "${FILESDIR}"/${P}-libgit2-1.2.0.patch + ) + + distutils-r1_src_prepare + + # unconditionally prevent it from using network + sed -i -e '/has_network/s:True:False:' test/utils.py || die + + # we need to move them away to prevent pytest from forcing '..' + # for imports + mkdir hack || die + mv test hack/ || die + ln -s hack/test test || die +} + +python_test() { + epytest hack/test +} |