summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2021-09-28 07:52:57 +0200
committerMichał Górny <mgorny@gentoo.org>2021-09-28 08:20:44 +0200
commit3a6516ace7f757905a3a1e14fe68d61e29faac11 (patch)
tree15b4dd780aceedaf7d2812f8f781fffff2486ce0 /dev-python/pygit2
parentdev-libs/libgit2: Bump to 1.3.0 (diff)
downloadgentoo-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.patch48
-rw-r--r--dev-python/pygit2/pygit2-1.6.1-r2.ebuild45
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
+}