diff --git a/.gitignore b/.gitignore index e69de29..325b845 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,46 @@ +/pygit2-0.20.2.tar.gz +/pygit2-0.20.3.tar.gz +/pygit2-0.21.0.tar.gz +/pygit2-0.21.1.tar.gz +/pygit2-0.21.2.tar.gz +/pygit2-0.21.3.tar.gz +/pygit2-0.21.4.tar.gz +/pygit2-0.22.0.tar.gz +/pygit2-0.22.1.tar.gz +/pygit2-0.23.1.tar.gz +/pygit2-0.23.3.tar.gz +/pygit2-0.24.0.tar.gz +/pygit2-0.24.1.tar.gz +/pygit2-0.24.2.tar.gz +/pygit2-0.25.0.tar.gz +/pygit2-0.25.1.tar.gz +/pygit2-0.26.0.tar.gz +/pygit2-0.26.1.tar.gz +/pygit2-0.26.2.tar.gz +/pygit2-0.26.3.tar.gz +/pygit2-0.26.4.tar.gz +/pygit2-0.27.1.tar.gz +/pygit2-0.27.2.tar.gz +/pygit2-0.27.3.tar.gz +/pygit2-0.27.4.tar.gz +/pygit2-0.28.0.tar.gz +/pygit2-0.28.2.tar.gz +/pygit2-1.0.2.tar.gz +/pygit2-1.0.3.tar.gz +/pygit2-1.1.0.tar.gz +/pygit2-1.1.1.tar.gz +/pygit2-1.2.0.tar.gz +/pygit2-1.2.1.tar.gz +/pygit2-1.3.0.tar.gz +/pygit2-1.4.0.tar.gz +/pygit2-1.5.0.tar.gz +/pygit2-1.6.1.tar.gz +/pygit2-1.7.1.tar.gz +/pygit2-1.9.2.tar.gz +/pygit2-1.11.1.tar.gz +/pygit2-1.12.0.tar.gz +/pygit2-1.12.2.tar.gz +/pygit2-1.13.0.tar.gz +/pygit2-1.13.2.tar.gz +/pygit2-1.13.3.tar.gz +/pygit2-1.14.0.tar.gz diff --git a/changelog b/changelog new file mode 100644 index 0000000..a890eba --- /dev/null +++ b/changelog @@ -0,0 +1,265 @@ +* Sun Aug 08 2021 Kevin Fenzi - 1.6.1-1 +- Update to 1.6.1. Fixes rhbz#1966590 + +* Fri Jul 23 2021 Fedora Release Engineering - 1.5.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri Jun 04 2021 Python Maint - 1.5.0-2 +- Rebuilt for Python 3.10 + +* Thu Jan 28 2021 Kevin Fenzi - 1.5.0-1 +- Update to 1.5.0. Fixes rhbz#1919576 + +* Wed Jan 27 2021 Fedora Release Engineering - 1.4.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Dec 28 2020 Igor Raits - 1.4.0-1 +- Update to 1.4.0 + +* Sat Sep 19 2020 Pete Walter - 1.3.0-1 +- Update to 1.3.0 + +* Wed Jul 29 2020 Fedora Release Engineering - 1.2.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Jun 05 2020 Pete Walter - 1.2.1-1 +- Update to 1.2.1 + +* Tue May 26 2020 Miro Hrončok - 1.2.0-2 +- Rebuilt for Python 3.9 + +* Wed Apr 15 2020 Igor Raits - 1.2.0-1 +- Update to 1.2.0 + +* Sat Mar 21 2020 Pete Walter - 1.1.1-1 +- Update to 1.1.1 + +* Tue Mar 03 2020 Igor Raits - 1.1.0-1 +- Update to 1.1.0 + +* Sun Feb 02 2020 Pete Walter - 1.0.3-1 +- Update to 1.0.3 + +* Thu Jan 30 2020 Fedora Release Engineering - 1.0.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Mon Jan 13 2020 Pete Walter - 1.0.2-1 +- Update to 1.0.2 + +* Thu Oct 03 2019 Miro Hrončok - 0.28.2-4 +- Rebuilt for Python 3.8.0rc1 (#1748018) + +* Mon Aug 19 2019 Miro Hrončok - 0.28.2-3 +- Rebuilt for Python 3.8 + +* Fri Jul 26 2019 Fedora Release Engineering - 0.28.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Thu Jun 06 14:32:34 CEST 2019 Igor Gnatenko - 0.28.2-1 +- Update to 0.28.2 + +* Sat Feb 02 2019 Fedora Release Engineering - 0.27.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Thu Jan 24 2019 Pete Walter - 0.27.4-1 +- Update to 0.27.4 +- Enable tests on aarch64 as they seem fixed now + +* Thu Dec 27 2018 Pete Walter - 0.27.3-1 +- Update to 0.27.3 +- Switch to pytest + +* Thu Oct 11 2018 Zbigniew Jędrzejewski-Szmek - 0.27.2-2 +- Python2 binary package has been removed + See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal + +* Mon Sep 17 2018 Pete Walter - 0.27.2-1 +- Update to 0.27.2 + +* Fri Aug 10 2018 Igor Gnatenko - 0.27.1-1 +- Update to 0.27.1 + +* Sat Jul 14 2018 Fedora Release Engineering - 0.26.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Jun 19 2018 Miro Hrončok - 0.26.4-2 +- Rebuilt for Python 3.7 + +* Mon Mar 26 2018 Pete Walter - 0.26.4-1 +- Update to 0.26.4 + +* Mon Feb 12 2018 Iryna Shcherbina - 0.26.3-3 +- Update Python 2 dependency declarations to new packaging standards + (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) + +* Fri Feb 09 2018 Fedora Release Engineering - 0.26.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Tue Dec 26 2017 Pete Walter - 0.26.3-1 +- Update to 0.26.3 + +* Fri Dec 01 2017 Pete Walter - 0.26.2-1 +- Update to 0.26.2 + +* Mon Nov 20 2017 Igor Gnatenko - 0.26.1-3 +- Fixup python3 conditionals + +* Mon Nov 20 2017 Pete Walter - 0.26.1-2 +- Add back Python 3 conditionals + +* Mon Nov 20 2017 Pete Walter - 0.26.1-1 +- Update to 0.26.1 + +* Thu Aug 03 2017 Fedora Release Engineering - 0.26.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 0.26.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Jul 08 2017 Igor Gnatenko - 0.26.0-1 +- Update to 0.26.0 + +* Sun May 07 2017 Pete Walter - 0.25.1-2 +- Fix the build with cffi 1.10 + +* Thu Apr 27 2017 Pete Walter - 0.25.1-1 +- Update to 0.25.1 +- Disable one more failing test that tries to do network access + +* Mon Apr 10 2017 Pete Walter - 0.25.0-3 +- Trivial spec file fixes +- Add Python 3 conditionals + +* Tue Feb 07 2017 Igor Gnatenko - 0.25.0-2 +- Bump release for rebuild + +* Tue Jan 10 2017 Igor Gnatenko - 0.25.0-1 +- Update to 0.25.0 (RHBZ #1408689) + +* Mon Dec 19 2016 Miro Hrončok - 0.24.2-2 +- Rebuild for Python 3.6 + +* Sat Nov 19 2016 Igor Gnatenko - 0.24.2-1 +- Update to 0.24.2 (RHBZ #1390796) + +* Tue Jul 19 2016 Fedora Release Engineering - 0.24.1-2 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + +* Wed Jun 22 2016 Igor Gnatenko - 0.24.1-1 +- Update to 0.24.1 (RHBZ #1348750) + +* Mon Apr 18 2016 Igor Gnatenko 0.24.0-3 +- Remove remote-calling unit tests +- repository: decode() linkname +- repository: SYMTYPE is constant in module tarfile, not in any class + +* Thu Apr 14 2016 Igor Gnatenko - 0.24.0-2 +- Add python[23]-six to BR/Rs + +* Sun Mar 20 2016 Igor Gnatenko - 0.24.0-1 +- Update to 0.24.0 + +* Wed Feb 24 2016 Pierre-Yves Chibon - 0.23.3-2 +- Fix building 0.23.3 also in i686 + +* Sun Feb 14 2016 Igor Gnatenko - 0.23.3-1 +- Update to 0.23.3 +- Fix compliance with new packaging guidelines + +* Thu Feb 04 2016 Fedora Release Engineering - 0.23.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Tue Nov 10 2015 Fedora Release Engineering - 0.23.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 + +* Sun Sep 27 2015 Igor Gnatenko - 0.23.1-1 +- Update to 0.23.1 (RHBZ #1266726) + +* Fri Jul 31 2015 Igor Gnatenko - 0.23.0-0.1 +- Cherry-pick patch for 0.23.0 support + +* Fri Jul 31 2015 Zbigniew Jędrzejewski-Szmek - 0.22.1-2 +- Rebuilt for libgit2-0.23.0 and libgit2-glib-0.23 + +* Mon Jul 13 2015 Mathieu Bridon - 0.22.1-1 +- Update to 0.22.1 (#1242226) +- Drop one of our patches, as it has been merged in this release. + +* Thu Jun 18 2015 Fedora Release Engineering - 0.22.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Wed Jan 21 2015 Mathieu Bridon - 0.22.0-1 +- Update to 0.22.0 + +* Mon Nov 17 2014 Mathieu Bridon - 0.21.4-1 +- Update to 0.21.4 + +* Fri Sep 19 2014 Mathieu Bridon - 0.21.3-1 +- Update to 0.21.3 + +* Sun Aug 17 2014 Fedora Release Engineering - 0.21.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Thu Aug 14 2014 Mathieu Bridon - 0.21.2-2 +- Add missing requirement + https://bugzilla.redhat.com/show_bug.cgi?id=1129868 + +* Tue Aug 12 2014 Mathieu Bridon - 0.21.2-1 +- Update to 0.21.2 + +* Tue Jul 29 2014 Mathieu Bridon - 0.21.1-1 +- Update to 0.21.1 + +* Sun Jun 29 2014 Mathieu Bridon - 0.21.0-1 +- Update to 0.21.0 + +* Sat Jun 21 2014 Christopher Meng - 0.20.3-1 +- Update to 0.20.3 + +* Sat Jun 07 2014 Fedora Release Engineering - 0.20.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Wed May 28 2014 Kalev Lember - 0.20.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4 + +* Sun Mar 09 2014 Christopher Meng - 0.20.2-1 +- Update to 0.20.2 + +* Sun Dec 08 2013 Christopher Meng - 0.20.0-1 +- Update to 0.20.0 +- Clarify the license + +* Tue Oct 08 2013 Christopher Meng - 0.19.1-2 +- Split out -doc subpackage. +- Correct the libs permissions. + +* Mon Oct 07 2013 Christopher Meng - 0.19.1-1 +- Update to 0.19.1 + +* Sat Aug 17 2013 Christopher Meng - 0.19.0-4 +- Add missing sphinx BR. + +* Tue Aug 13 2013 Christopher Meng - 0.19.0-3 +- Remove unneeded files. + +* Mon Aug 12 2013 Christopher Meng - 0.19.0-2 +- Add missing nose BR. +- Add docs. + +* Thu Aug 01 2013 Christopher Meng - 0.19.0-1 +- Update to new release. + +* Fri Apr 26 2013 Christopher Meng - 0.18.1-1 +- Update to new release. + +* Mon Sep 24 2012 Christopher Meng - 0.17.3-1 +- Update to new release. + +* Sun Jul 29 2012 Christopher Meng - 0.17.2-1 +- Update to new release. + +* Fri Mar 30 2012 Christopher Meng - 0.16.1-1 +- Update to new release. + +* Thu Mar 01 2012 Christopher Meng - 0.16.0-1 +- Initial Package. diff --git a/python-pygit2-cffiver.patch b/python-pygit2-cffiver.patch new file mode 100644 index 0000000..312413d --- /dev/null +++ b/python-pygit2-cffiver.patch @@ -0,0 +1,31 @@ +diff -up pygit2-1.14.0/docs/install.rst.cffiver pygit2-1.14.0/docs/install.rst +--- pygit2-1.14.0/docs/install.rst.cffiver 2024-01-26 11:05:11.000000000 +0000 ++++ pygit2-1.14.0/docs/install.rst 2024-02-08 13:09:35.537097921 +0000 +@@ -55,7 +55,7 @@ Supported versions of Python: + + Python requirements (these are specified in ``setup.py``): + +-- cffi 1.16.0 or later ++- cffi 1.16.0 or later (or Fedora package >= 1.15.1-5) + + Libgit2 **v1.7.1+**; binary wheels already include libgit2, so you only need to + worry about this if you install the source package. +diff -up pygit2-1.14.0/requirements.txt.cffiver pygit2-1.14.0/requirements.txt +--- pygit2-1.14.0/requirements.txt.cffiver 2024-01-26 11:05:11.000000000 +0000 ++++ pygit2-1.14.0/requirements.txt 2024-02-08 13:09:35.538097421 +0000 +@@ -1,2 +1,2 @@ +-cffi>=1.16.0 ++cffi>=1.9.1 + setuptools ; python_version >= "3.12" +diff -up pygit2-1.14.0/setup.py.cffiver pygit2-1.14.0/setup.py +--- pygit2-1.14.0/setup.py.cffiver 2024-01-26 11:05:11.000000000 +0000 ++++ pygit2-1.14.0/setup.py 2024-02-08 13:09:35.539096921 +0000 +@@ -152,7 +152,7 @@ setup( + ext_modules=ext_modules, + # Requirements + python_requires='>=3.9', +- setup_requires=['cffi>=1.16.0'], ++ setup_requires=['cffi>=1.9.1'], + install_requires=install_requires, + # URLs + url='https://github.com/libgit2/pygit2', diff --git a/python-pygit2-network-tests.patch b/python-pygit2-network-tests.patch new file mode 100644 index 0000000..623c233 --- /dev/null +++ b/python-pygit2-network-tests.patch @@ -0,0 +1,12 @@ +diff -up ./test/utils.py.orig ./test/utils.py +--- ./test/utils.py.orig 2024-02-12 12:22:29.272147056 -0500 ++++ ./test/utils.py 2024-02-12 12:23:45.876659120 -0500 +@@ -50,7 +50,7 @@ except socket.gaierror: + has_network = False + + requires_network = pytest.mark.skipif( +- not has_network, ++ True, + reason='Requires network') + + with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as sock: diff --git a/python-pygit2-transfer-size.patch b/python-pygit2-transfer-size.patch new file mode 100644 index 0000000..ca799aa --- /dev/null +++ b/python-pygit2-transfer-size.patch @@ -0,0 +1,24 @@ +Submitted upstream: + +diff --git a/test/test_remote.py b/test/test_remote.py +index fd12c71107261bf9..d268019921369e99 100644 +--- a/test/test_remote.py ++++ b/test/test_remote.py +@@ -39,7 +39,6 @@ REMOTE_URL = 'https://github.com/libgit2/pygit2.git' + REMOTE_FETCHSPEC_SRC = 'refs/heads/*' + REMOTE_FETCHSPEC_DST = 'refs/remotes/origin/*' + REMOTE_REPO_OBJECTS = 30 +-REMOTE_REPO_BYTES = 2758 + REMOTE_FETCHTEST_FETCHSPECS = ["refs/tags/v1.13.2"] + REMOTE_REPO_FETCH_ALL_OBJECTS = 13276 + REMOTE_REPO_FETCH_HEAD_COMMIT_OBJECTS = 238 +@@ -215,7 +214,8 @@ def test_remote_refcount(testrepo): + def test_fetch(emptyrepo): + remote = emptyrepo.remotes[0] + stats = remote.fetch() +- assert stats.received_bytes == REMOTE_REPO_BYTES ++ assert stats.received_bytes > 2700 ++ assert stats.received_bytes < 2800 + assert stats.indexed_objects == REMOTE_REPO_OBJECTS + assert stats.received_objects == REMOTE_REPO_OBJECTS + diff --git a/python-pygit2.spec b/python-pygit2.spec new file mode 100644 index 0000000..8731e86 --- /dev/null +++ b/python-pygit2.spec @@ -0,0 +1,94 @@ +%global pkgname pygit2 + +Name: python-%{pkgname} +Version: 1.14.0 +Release: %autorelease +Summary: Python bindings for libgit2 + +License: GPL-2.0-only WITH GCC-exception-2.0 +URL: https://www.pygit2.org/ +Source0: https://github.com/libgit2/pygit2/archive/v%{version}.tar.gz#/%{pkgname}-%{version}.tar.gz +Patch0: python-pygit2-transfer-size.patch +# This patch lowers the Python-level dependency on cffi. Fedora package python-cffi-1.15.1-5 and +# higher contain the patches needed for Python >= 3.12. +# Remove when cffi >= 1.16.0 is available on all releases with Python 3.12. +Patch: python-pygit2-cffiver.patch +# mock (by default) and koji builds never have network access, but testing +# that capability through a DNS resolution is not always accurate. +# Forcefully disable all network tests to avoid unnecessary build failures. +Patch: python-pygit2-network-tests.patch + +BuildRequires: make +BuildRequires: gcc +BuildRequires: (libgit2-devel >= 1.7.0 with libgit2-devel < 1.8.0) + +%description +pygit2 is a set of Python bindings to the libgit2 library, which implements +the core of Git. + + +%package -n python3-%{pkgname} +Summary: Python 3 bindings for libgit2 +%{?python_provide:%python_provide python3-%{pkgname}} +BuildRequires: python3-pytest + +%description -n python3-%{pkgname} +pygit2 is a set of Python bindings to the libgit2 library, which implements +the core of Git. + +The python3-%{pkgname} package contains the Python 3 bindings. + + +%package doc +Summary: Documentation for %{name} +BuildArch: noarch +BuildRequires: /usr/bin/sphinx-build +BuildRequires: python3-sphinx_rtd_theme + +%description doc +Documentation for %{name}. + + +%prep +%autosetup -n %{pkgname}-%{version} -p1 + + +%generate_buildrequires +%pyproject_buildrequires + + +%build +%pyproject_wheel + +make -C docs html + + +%install +%pyproject_install +find %{_builddir} -name '.buildinfo' -print -delete + + +%check +# This is horrible, but otherwise pytest does not use pygit2 from site-packages +rm -f pygit2/__init__.py +# https://github.com/libgit2/pygit2/issues/812 +%ifarch ppc64 s390x + PYTHONPATH=%{buildroot}%{python3_sitearch} py.test-%{python3_version} -v || : +%else + PYTHONPATH=%{buildroot}%{python3_sitearch} py.test-%{python3_version} -v +%endif + + +%files -n python3-%{pkgname} +%license COPYING +%doc README.md +%{python3_sitearch}/%{pkgname}-*.dist-info/ +%{python3_sitearch}/%{pkgname}/ + +%files doc +%license COPYING +%doc docs/_build/html/* + + +%changelog +%autochangelog diff --git a/sources b/sources new file mode 100644 index 0000000..414bafb --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (pygit2-1.14.0.tar.gz) = 677190b0781986f39ada178bbbda622206692c000526c67aa68e5058aa864ccbef61c0263042bb0e5c4acf83e24cfabfa7e163a0b0bbad71c8832b24cc8082be