Fix the build with cffi 1.10
This commit is contained in:
parent
724078a63c
commit
b22a8ee1a5
71
0001-Fix-parameter-passing-of-describe-patterns.patch
Normal file
71
0001-Fix-parameter-passing-of-describe-patterns.patch
Normal file
@ -0,0 +1,71 @@
|
||||
From b88dc868423af2f760f649960112efd0e37e5335 Mon Sep 17 00:00:00 2001
|
||||
From: Lukas Fleischer <lfleischer@lfos.de>
|
||||
Date: Sat, 6 May 2017 21:39:33 +0200
|
||||
Subject: [PATCH] Fix parameter passing of describe patterns
|
||||
|
||||
When ffi.new() is used to build a new pointer object, the returned
|
||||
pointer object has ownership on the allocated memory. When it is
|
||||
garbage-collected, then the memory is freed. Thus, we need to make sure
|
||||
the original object survives its use, otherwise the casted pointer will
|
||||
point to garbage.
|
||||
|
||||
This fixes one test which was failing with the latest CFFI version, see
|
||||
issue #694. Thus, this commit also reverts 803b1cb (cffi 1.10 not yet
|
||||
supported, 2017-03-22) where the latest CFFI version was marked as
|
||||
unsupported.
|
||||
|
||||
Signed-off-by: Lukas Fleischer <lfleischer@lfos.de>
|
||||
---
|
||||
.travis.yml | 2 +-
|
||||
pygit2/repository.py | 6 +++++-
|
||||
setup.py | 4 ++--
|
||||
3 files changed, 8 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/.travis.yml b/.travis.yml
|
||||
index 22aadd5..72f8f1b 100644
|
||||
--- a/.travis.yml
|
||||
+++ b/.travis.yml
|
||||
@@ -14,7 +14,7 @@ env: LIBGIT2=~/libgit2/_install/ LD_LIBRARY_PATH=~/libgit2/_install/lib
|
||||
|
||||
before_install:
|
||||
- sudo apt-get install cmake
|
||||
- - pip install cffi==1.9.1
|
||||
+ - pip install cffi
|
||||
- "./.travis.sh"
|
||||
|
||||
script:
|
||||
diff --git a/pygit2/repository.py b/pygit2/repository.py
|
||||
index 9377aa2..472f4ff 100644
|
||||
--- a/pygit2/repository.py
|
||||
+++ b/pygit2/repository.py
|
||||
@@ -692,7 +692,11 @@ class BaseRepository(_Repository):
|
||||
if describe_strategy is not None:
|
||||
options.describe_strategy = describe_strategy
|
||||
if pattern:
|
||||
- options.pattern = ffi.new('char[]', to_bytes(pattern))
|
||||
+ # The returned pointer object has ownership on the allocated
|
||||
+ # memory. Make sure it is kept alive until git_describe_commit() or
|
||||
+ # git_describe_workdir() are called below.
|
||||
+ pattern_char = ffi.new('char[]', to_bytes(pattern))
|
||||
+ options.pattern = pattern_char
|
||||
if only_follow_first_parent is not None:
|
||||
options.only_follow_first_parent = only_follow_first_parent
|
||||
if show_commit_oid_as_fallback is not None:
|
||||
diff --git a/setup.py b/setup.py
|
||||
index f4a9f8c..18d3eb0 100644
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -203,8 +203,8 @@ setup(name='pygit2',
|
||||
long_description=long_description,
|
||||
packages=['pygit2'],
|
||||
package_data={'pygit2': ['decl.h']},
|
||||
- setup_requires=['cffi<1.10'],
|
||||
- install_requires=['cffi<1.10', 'six'],
|
||||
+ setup_requires=['cffi'],
|
||||
+ install_requires=['cffi', 'six'],
|
||||
zip_safe=False,
|
||||
cmdclass=cmdclass,
|
||||
**extra_args)
|
||||
--
|
||||
2.12.2
|
||||
|
@ -6,14 +6,16 @@
|
||||
|
||||
Name: python-%{pkgname}
|
||||
Version: 0.25.1
|
||||
Release: 1%{?dist}
|
||||
Release: 2%{?dist}
|
||||
Summary: Python bindings for libgit2
|
||||
|
||||
License: GPLv2 with linking exception
|
||||
URL: http://www.pygit2.org
|
||||
Source0: https://github.com/libgit2/%{pkgname}/archive/v%{version}/%{pkgname}-%{version}.tar.gz
|
||||
|
||||
Patch0001: 0001-Remove-remote-calling-unit-tests.patch
|
||||
Patch0: 0001-Remove-remote-calling-unit-tests.patch
|
||||
# Fix the build with cffi 1.10. Backported from upstream.
|
||||
Patch1: 0001-Fix-parameter-passing-of-describe-patterns.patch
|
||||
|
||||
BuildRequires: libgit2-devel
|
||||
BuildRequires: openssl-devel
|
||||
@ -126,6 +128,9 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';'
|
||||
|
||||
|
||||
%changelog
|
||||
* Sun May 07 2017 Pete Walter <pwalter@fedoraproject.org> - 0.25.1-2
|
||||
- Fix the build with cffi 1.10
|
||||
|
||||
* Thu Apr 27 2017 Pete Walter <pwalter@fedoraproject.org> - 0.25.1-1
|
||||
- Update to 0.25.1
|
||||
- Disable one more failing test that tries to do network access
|
||||
|
Loading…
Reference in New Issue
Block a user