python-pyrsistent package is retired on branch c10s for BAKERY-412

This commit is contained in:
Troy Dawson 2024-03-21 19:31:31 +00:00
parent 87f75719e4
commit afbf35ed33
6 changed files with 1 additions and 402 deletions

21
.gitignore vendored
View File

@ -1,21 +0,0 @@
/results_*
/*.src.rpm
/pyrsistent-0.14.2.tar.gz
/pyrsistent-0.14.9.tar.gz
/pyrsistent-0.14.11.tar.gz
/pyrsistent-0.15.1.tar.gz
/pyrsistent-0.15.2.tar.gz
/pyrsistent-0.15.3.tar.gz
/pyrsistent-0.15.4.tar.gz
/pyrsistent-0.15.5.tar.gz
/pyrsistent-0.15.6.tar.gz
/pyrsistent-0.15.7.tar.gz
/pyrsistent-0.16.0.tar.gz
/pyrsistent-0.17.3.tar.gz
/v0.17.3.tar.gz
/pyrsistent-0.18.0.tar.gz
/pyrsistent-0.18.1.tar.gz
/pyrsistent-29f5ac97f1356c82dc44dfe4e5a46cc3e9e91a4c.tar.gz
/pyrsistent-0.19.2.tar.gz
/pyrsistent-0.19.3.tar.gz

145
239.patch
View File

@ -1,145 +0,0 @@
From 70f3f3c87fcb254373f54011270fbe40b6507a0d Mon Sep 17 00:00:00 2001
From: "Benjamin A. Beasley" <code@musicinmybrain.net>
Date: Thu, 13 Jan 2022 20:30:54 -0500
Subject: [PATCH 1/2] Make pyrsistent._pmap doctests order-insensitive
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This keeps them from failing if CPythons hashing algorithms change,
fixing #238.
---
pyrsistent/_pmap.py | 48 ++++++++++++++++++++++-----------------------
1 file changed, 24 insertions(+), 24 deletions(-)
diff --git a/pyrsistent/_pmap.py b/pyrsistent/_pmap.py
index 81d99c0..056d478 100644
--- a/pyrsistent/_pmap.py
+++ b/pyrsistent/_pmap.py
@@ -31,12 +31,12 @@ class PMap(object):
>>> m1 = m(a=1, b=3)
>>> m2 = m1.set('c', 3)
>>> m3 = m2.remove('a')
- >>> m1
- pmap({'b': 3, 'a': 1})
- >>> m2
- pmap({'c': 3, 'b': 3, 'a': 1})
- >>> m3
- pmap({'c': 3, 'b': 3})
+ >>> m1 == {'a': 1, 'b': 3}
+ True
+ >>> m2 == {'a': 1, 'b': 3, 'c': 3}
+ True
+ >>> m3 == {'b': 3, 'c': 3}
+ True
>>> m3['c']
3
>>> m3.c
@@ -171,12 +171,12 @@ def set(self, key, val):
>>> m1 = m(a=1, b=2)
>>> m2 = m1.set('a', 3)
>>> m3 = m1.set('c' ,4)
- >>> m1
- pmap({'b': 2, 'a': 1})
- >>> m2
- pmap({'b': 2, 'a': 3})
- >>> m3
- pmap({'c': 4, 'b': 2, 'a': 1})
+ >>> m1 == {'a': 1, 'b': 2}
+ True
+ >>> m2 == {'a': 3, 'b': 2}
+ True
+ >>> m3 == {'a': 1, 'b': 2, 'c': 4}
+ True
"""
return self.evolver().set(key, val).persistent()
@@ -213,8 +213,8 @@ def update(self, *maps):
maps the rightmost (last) value is inserted.
>>> m1 = m(a=1, b=2)
- >>> m1.update(m(a=2, c=3), {'a': 17, 'd': 35})
- pmap({'c': 3, 'b': 2, 'a': 17, 'd': 35})
+ >>> m1.update(m(a=2, c=3), {'a': 17, 'd': 35}) == {'a': 17, 'b': 2, 'c': 3, 'd': 35}
+ True
"""
return self.update_with(lambda l, r: r, *maps)
@@ -225,8 +225,8 @@ def update_with(self, update_fn, *maps):
>>> from operator import add
>>> m1 = m(a=1, b=2)
- >>> m1.update_with(add, m(a=2))
- pmap({'b': 2, 'a': 3})
+ >>> m1.update_with(add, m(a=2)) == {'a': 3, 'b': 2}
+ True
The reverse behaviour of the regular merge. Keep the leftmost element instead of the rightmost.
@@ -381,15 +381,15 @@ def evolver(self):
The underlying pmap remains the same:
- >>> m1
- pmap({'b': 2, 'a': 1})
+ >>> m1 == {'a': 1, 'b': 2}
+ True
The changes are kept in the evolver. An updated pmap can be created using the
persistent() function on the evolver.
>>> m2 = e.persistent()
- >>> m2
- pmap({'c': 3, 'b': 2})
+ >>> m2 == {'b': 2, 'c': 3}
+ True
The new pmap will share data with the original pmap in the same way that would have
been done if only using operations on the pmap.
@@ -442,8 +442,8 @@ def pmap(initial={}, pre_size=0):
may have a positive performance impact in the cases where you know beforehand that a large number of elements
will be inserted into the map eventually since it will reduce the number of reallocations required.
- >>> pmap({'a': 13, 'b': 14})
- pmap({'b': 14, 'a': 13})
+ >>> pmap({'a': 13, 'b': 14}) == {'a': 13, 'b': 14}
+ True
"""
if not initial and pre_size == 0:
return _EMPTY_PMAP
@@ -455,7 +455,7 @@ def m(**kwargs):
"""
Creates a new persistent map. Inserts all key value arguments into the newly created map.
- >>> m(a=13, b=14)
- pmap({'b': 14, 'a': 13})
+ >>> m(a=13, b=14) == {'a': 13, 'b': 14}
+ True
"""
return pmap(kwargs)
From e09ed69b32b8c5ab139a32e154ebe6e6a3e5744e Mon Sep 17 00:00:00 2001
From: "Benjamin A. Beasley" <code@musicinmybrain.net>
Date: Thu, 13 Jan 2022 20:33:21 -0500
Subject: [PATCH 2/2] No longer need to set PYTHONHASHSEED=0
Now that there are no doctests sensitive to string keying order,
randomized hashing will not cause doctest failures.
---
tox.ini | 3 ---
1 file changed, 3 deletions(-)
diff --git a/tox.ini b/tox.ini
index b77d93b..f05caeb 100644
--- a/tox.ini
+++ b/tox.ini
@@ -44,9 +44,6 @@ changedir = .
commands = python tests/memory_profiling.py
[testenv:doctest38]
-# Need to disable the random hashing or all docs printing a map with more than
-# one item in it will be flaky.
-setenv = PYTHONHASHSEED=0
basepython = python3.8
deps = pytest
changedir = .

109
changelog
View File

@ -1,109 +0,0 @@
* Tue Jun 29 2021 Benjamin A. Beasley <code@musicinmybrain.net> - 0.18.0-1
- Update to 0.18.0 (closes RHBZ#1977038)
* Mon Jun 14 2021 Benjamin A. Beasley <code@musicinmybrain.net> - 0.17.3-8
- Port to pyproject-rpm-macros
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 0.17.3-7
- Rebuilt for Python 3.10
* Thu Mar 25 2021 Benjamin A. Beasley <code@musicinmybrain.net> - 0.17.3-6
- Improved source URL (better tarball name)
* Fri Feb 19 2021 Benjamin A. Beasley <code@musicinmybrain.net> - 0.17.3-5
- Parallelize Sphinx documentation build
* Fri Feb 19 2021 Benjamin A. Beasley <code@musicinmybrain.net> - 0.17.3-4
- Use the GitHub tarball instead of the PyPI tarball
- Switch URL to HTTPS
* Thu Feb 18 2021 Benjamin A. Beasley <code@musicinmybrain.net> - 0.17.3-3
- Replace pypi_name macro with srcname
- Update BRs
- Run the doctests
- Build documentation in a new -doc subpackage
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.17.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Sun Sep 27 2020 José Lemos Neto <LemosJoseX@protonmail.com> - 0.17.3-1
- update to version 0.17.3
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.16.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Sun May 24 2020 Miro Hrončok <mhroncok@redhat.com> - 0.16.0-2
- Rebuilt for Python 3.9
* Tue Apr 14 2020 Fabio Valentini <decathorpe@gmail.com> - 0.16.0-1
- Update to version 0.16.0.
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.15.7-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Fri Jan 10 2020 Fabio Valentini <decathorpe@gmail.com> - 0.15.7-1
- Update to version 0.15.7.
* Sun Nov 24 2019 Fabio Valentini <decathorpe@gmail.com> - 0.15.6-1
- Update to version 0.15.6.
* Thu Oct 31 2019 Fabio Valentini <decathorpe@gmail.com> - 0.15.5-1
- Update to version 0.15.5.
* Thu Oct 03 2019 Miro Hrončok <mhroncok@redhat.com> - 0.15.4-3
- Rebuilt for Python 3.8.0rc1 (#1748018)
* Sat Aug 17 2019 Miro Hrončok <mhroncok@redhat.com> - 0.15.4-2
- Rebuilt for Python 3.8
* Fri Aug 02 2019 Fabio Valentini <decathorpe@gmail.com> - 0.15.4-1
- Update to version 0.15.4.
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.15.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Mon Jul 08 2019 Fabio Valentini <decathorpe@gmail.com> - 0.15.3-1
- Update to version 0.15.3.
* Fri May 17 2019 Fabio Valentini <decathorpe@gmail.com> - 0.15.2-1
- Update to version 0.15.2.
* Fri Apr 26 2019 Fabio Valentini <decathorpe@gmail.com> - 0.15.1-1
- Update to version 0.15.1.
* Fri Feb 22 2019 Fabio Valentini <decathorpe@gmail.com> - 0.14.11-1
- Update to version 0.14.11.
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.14.9-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Mon Jan 14 2019 Fabio Valentini <decathorpe@gmail.com> - 0.14.9-1
- Update to version 0.14.9.
- Enable the test suite.
* Thu Oct 11 2018 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.14.2-6
- Python2 binary package has been removed
See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.14.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 0.14.2-4
- Rebuilt for Python 3.7
* Mon Apr 16 2018 Itamar Reis Peixoto <itamar@ispbrasil.com.br> - 0.14.2-3
- add missing dist-tag
* Fri Apr 13 2018 Itamar Reis Peixoto <itamar@ispbrasil.com.br> - 0.14.2-2
- disable tests for now
* Thu Mar 01 2018 Itamar Reis Peixoto <itamar@ispbrasil.com.br> - 0.14.2-1
- new version 0.14.2
* Wed Sep 14 2016 Devrim Gündüz <devrim@gunduz.org> 0.11.13-2
- Fix packaging errors, that would own /usr/lib64 or so.
* Tue Sep 13 2016 Devrim Gündüz <devrim@gunduz.org> 0.11.13-1
- Initial packaging for PostgreSQL YUM repository, to satisfy
pgadmin4 dependency.

1
dead.package Normal file
View File

@ -0,0 +1 @@
python-pyrsistent package is retired on branch c10s for BAKERY-412

View File

@ -1,126 +0,0 @@
# Sphinx-generated HTML documentation is not suitable for packaging; see
# https://bugzilla.redhat.com/show_bug.cgi?id=2006555 for discussion.
#
# We can generate PDF documentation as a substitute.
%bcond_without doc_pdf
Name: python-pyrsistent
Summary: Persistent/Functional/Immutable data structures
Version: 0.19.3
Release: %autorelease
# The entire source is (SPDX) MIT, except pyrsistent/_toolz.py which is BSD-3-Clause.
License: MIT AND BSD-3-Clause
URL: https://github.com/tobgu/pyrsistent/
Source: %{url}/archive/v%{version}/pyrsistent-%{version}.tar.gz
BuildRequires: python3-devel
BuildRequires: gcc
# For Sphinx documentation
%if %{with doc_pdf}
BuildRequires: make
BuildRequires: python3-sphinx-latex
BuildRequires: latexmk
%endif
# There is fancy machinery in setup.py to add pytest-runner to setup_requires
# in setup.py when it looks like tests are to be executed. Since we will not use
# “python3 setup.py test” to run tests, we can do without this dependency.
# Note that pyrsistent/_toolz.py contains a bit of code ported from toolz, but
# not enough to constitute a bundled dependency.
%global common_description %{expand:
Pyrsistent is a number of persistent collections (by some referred to as
functional data structures). Persistent in the sense that they are
immutable.
All methods on a data structure that would normally mutate it instead
return a new copy of the structure containing the requested updates. The
original structure is left untouched.}
%description %{common_description}
%package -n python3-pyrsistent
Summary: %{summary}
%description -n python3-pyrsistent %{common_description}
%package doc
Summary: Documentation for pyrsistent
# The Sphinx documentation does contain content based on pyrsistent/_toolz.py,
# so the full License carries over from the base package.
BuildArch: noarch
%description doc %{common_description}
%prep
%autosetup -n pyrsistent-%{version}
# Loosen exact-version pins in requirements.txt; we must tolerate newer
# versions and use what is packaged.
#
# We do not need:
# - hypothesis, not included in RHEL
# - memory-profiler or psutil, since we are not running the memorytest*
# environment from tox.ini
# - pyperform, since we are not running the benchmarks from
# performance_suites/
# - tox, since we are not using tox to run the tests
# - twine, since it is for maintainer PyPI uploads
sed -r \
-e 's/==/>=/' \
-e '/\b(memory-profiler|psutil|pyperform|tox|twine)\b/d' \
%if %{defined rhel}
-e '/\bhypothesis\b/d' \
%endif
requirements.txt | tee requirements-filtered.txt
%generate_buildrequires
%pyproject_buildrequires requirements-filtered.txt
%build
%pyproject_wheel
# Default SPHINXOPTS are '-W -n', but -W turns warnings into errors and there
# are some warnings. We want to build the documentation as best we can anyway.
# Additionally, we parallelize sphinx-build.
%if %{with doc_pdf}
PYTHONPATH="${PWD}" %make_build -C docs latex \
SPHINXOPTS='-n -j%{?_smp_build_ncpus}'
%make_build -C docs/build/latex LATEXMKOPTS='-quiet'
%endif
%install
%pyproject_install
%pyproject_save_files pyrsistent _pyrsistent_version pvectorc
%check
# # See tox.ini:
%pytest %{?rhel:--ignore=tests/hypothesis_vector_test.py}
%pytest --doctest-modules pyrsistent
%files -n python3-pyrsistent -f %{pyproject_files}
%files doc
%license LICENSE.mit
%doc CHANGES.txt
%doc README.rst
%if %{with doc_pdf}
%doc docs/build/latex/Pyrsistent.pdf
%endif
%changelog
%autochangelog

View File

@ -1 +0,0 @@
SHA512 (pyrsistent-0.19.3.tar.gz) = 045d9ca4a2a5c5525887fbbcae77b2bc0271e6a596686ad6281c74fb1f6c8d8a4b0c9444cbd951900d953c61d51cf9452290f1e63e9107f7828bfea6e6b34545