f401fc5
%bcond_without check
9d499ce
f5fe9a9
Name: pew
f5fe9a9
Version: 1.2.0
af49617
Release: 22%{?dist}
f5fe9a9
Summary: Tool to manage multiple virtualenvs written in pure Python
9d499ce
f5fe9a9
License: MIT
f5fe9a9
URL: https://github.com/berdario/pew
f5fe9a9
Source0: https://github.com/berdario/%{name}/archive/%{version}/%{name}-%{version}.tar.gz
f5fe9a9
Source1: README.md
2a4b716
2a4b716
# This patch removes Python version management on Fedora.
2a4b716
#
2a4b716
# NOTE: This removes the pythonz-bd dependency which is not available in Fedora
2a4b716
# anymore.
2a4b716
# Furthermore, there is strong support upstream to either remove Pew's
2a4b716
# Python version management or replace it with pyenv:
2a4b716
# https://github.com/berdario/pew/issues/195.
f5fe9a9
Patch0: 0001-Remove-Python-version-management-on-Fedora.patch
9d499ce
0d485a0
# Backport PR #214:
0d485a0
# Support Python 3.8, 3.9 and 3.10, drop EOL Python versions (2.7, 3.4, 3.5),
0d485a0
# use GitHub Actions for CI
0d485a0
# https://github.com/berdario/pew/pull/214
0d485a0
#
0d485a0
# NOTE: This enables Pew to be used on recent Fedora versions.
0d485a0
Patch1: 0002-Remove-remaining-references-to-Python-2.6-3.2-and-3..patch
0d485a0
Patch2: 0003-Add-support-for-Python-3.8-and-3.9.patch
0d485a0
Patch3: 0004-Unify-Pipfile-and-requirements.txt-with-dependencies.patch
0d485a0
Patch4: 0005-Replace-Travis-CI-and-AppVeyor-with-GitHub-Actions.patch
0d485a0
Patch5: 0006-Drop-support-for-Python-2-Python-3.4-and-3.5.patch
0d485a0
Patch6: 0007-Replace-PyPy-with-PyPy-3.patch
0d485a0
Patch7: 0008-Remove-test-for-testing-virtualenv-relocatable.patch
0d485a0
Patch8: 0009-Replace-obsolete-pytest.yield_fixture-with-pytest.fi.patch
0d485a0
Patch9: 0010-Explicilty-import-distutils.sysconfig-subpackage-in-.patch
0d485a0
Patch10: 0011-Replace-easy_install-with-setuptools-in-test_lssitep.patch
0d485a0
Patch11: 0012-Rewrite-test_restore-to-delete-setuptools-to-break-t.patch
0d485a0
Patch12: 0013-Register-pytest.marker.shell-custom-marker.patch
0d485a0
Patch13: 0014-Temporarily-disable-test_create_in_symlink-test-in-t.patch
0d485a0
Patch14: 0015-Add-support-for-Python-3.10.patch
0d485a0
f5fe9a9
BuildArch: noarch
a9a1e0a
f5fe9a9
BuildRequires: python3-devel
f5fe9a9
BuildRequires: python3dist(setuptools)
f5fe9a9
BuildRequires: python3dist(virtualenv) >= 1.11
f5fe9a9
BuildRequires: python3dist(virtualenv-clone) >= 0.2.5
9d499ce
9d499ce
%if %{with check}
f5fe9a9
BuildRequires: python3dist(pytest)
f5fe9a9
BuildRequires: python3dist(pip)
9d499ce
%endif
9d499ce
a9a1e0a
%{?python_provide:%python_provide python3-%{name}}
a9a1e0a
9d499ce
%description
9d499ce
Python Env Wrapper is a set of commands to manage multiple virtual
9d499ce
environments. Pew can create, delete and copy your environments, using a
9d499ce
single command to switch to them wherever you are, while keeping them in a
9d499ce
single (configurable) location.
9d499ce
f5fe9a9
9d499ce
%prep
c9a92c5
%autosetup -p 1 -n %{name}-%{version}
2a4b716
2a4b716
# Rename the Fedora-specific README.md to avoid conflict with the upstream
2a4b716
# README.md.
2a4b716
# NOTE: The source file should stay named README.md so that Pagure renders it
2a4b716
# when one visits https://src.fedoraproject.org/rpms/pew.
efc2a46
cp -v %{SOURCE1} README.Fedora.md
9d499ce
9d499ce
# This script for shell completion can't be used for Fedora package
9d499ce
rm -rf %{name}/shell_config/complete_deploy
9d499ce
c5c693b
%generate_buildrequires
c5c693b
%pyproject_buildrequires
c5c693b
f5fe9a9
9d499ce
%build
c5c693b
%pyproject_wheel
9d499ce
f5fe9a9
9d499ce
%install
c5c693b
%pyproject_install
c5c693b
%pyproject_save_files pew
9d499ce
a238e8e
# Manually install shell completions scripts for Bash/Fish/Zsh.
a238e8e
install -m 0644 -p -D %{name}/shell_config/complete.bash %{buildroot}/%{bash_completions_dir}/pew
a238e8e
install -m 0644 -p -D %{name}/shell_config/complete.fish %{buildroot}/%{fish_completions_dir}/pew.fish
a238e8e
install -m 0644 -p -D %{name}/shell_config/complete.zsh %{buildroot}/%{zsh_completions_dir}/_pew
f5fe9a9
9d499ce
%check
d003e32
%if %{with check}
d003e32
# Temporarily disable tests failing with Python 3.12.
d003e32
# For more details, see: https://github.com/pew-org/pew/issues/233.
d003e32
k="not test_restore and not test_lssitepackages and not test_new_env_activated"
cd307ba
PATH=%{buildroot}%{_bindir}:$PATH \
cd307ba
PYTHONPATH=%{buildroot}%{python3_sitelib} \
d003e32
%{pytest} "${k:+-k $k}" -v tests
9d499ce
%endif
9d499ce
f5fe9a9
c5c693b
%files -f %{pyproject_files}
2a4b716
%doc README.md README.Fedora.md
9d499ce
%{_bindir}/pew
a238e8e
%{bash_completions_dir}/pew
a238e8e
%{fish_completions_dir}/pew.fish
a238e8e
%{zsh_completions_dir}/_pew
f5fe9a9
9d499ce
%changelog
af49617
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.0-22
af49617
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
af49617
4995205
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.0-21
4995205
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
4995205
c5c693b
* Mon Jul 24 2023 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 1.2.0-20
c5c693b
- Modernize SPEC file (use %%pyproject_* and %pytest macros)
efc2a46
- Use cp instead of mv for README.Fedora.md
a238e8e
- Install shell completion files for Bash/Fish/Zsh
d003e32
- Temporarily disable tests failing with Python 3.12
c5c693b
d7d4d08
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.0-19
d7d4d08
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
d7d4d08
2952ccc
* Tue Jul 04 2023 Python Maint <python-maint@redhat.com> - 1.2.0-18
2952ccc
- Rebuilt for Python 3.12
2952ccc
0860791
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.0-17
0860791
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
0860791
cdd115d
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.0-16
cdd115d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
cdd115d
c081748
* Thu Jun 16 2022 Python Maint <python-maint@redhat.com> - 1.2.0-15
c081748
- Rebuilt for Python 3.11
c081748
8fa7147
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.0-14
8fa7147
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
8fa7147
0d485a0
* Fri Oct 01 2021 Tadej Janež <tadej.j@nez.si> - 1.2.0-13
0d485a0
- Backport upstream PR #214 to enable Pew to be used on recent Fedora versions
c9a92c5
- Simplify applying patches and remove obsolete if statement
0d485a0
b24e56f
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.0-12
b24e56f
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
b24e56f
072fd0d
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 1.2.0-11
072fd0d
- Rebuilt for Python 3.10
072fd0d
4846c3d
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.0-10
4846c3d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
4846c3d
6b808c3
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.0-9
6b808c3
- Second attempt - Rebuilt for
6b808c3
  https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
6b808c3
22b9f8b
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.0-8
22b9f8b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
22b9f8b
13b572c
* Thu Jul 09 2020 Tadej Janež <tadej.j@nez.si> - 1.2.0-7
13b572c
- Replace Python version glob with macro to support Python 3.10
6800022
- Drop conditionals for EOL Fedora releases
13b572c
8c80dbe
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 1.2.0-6
8c80dbe
- Rebuilt for Python 3.9
8c80dbe
1b79f96
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.0-5
1b79f96
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
1b79f96
517cdd1
* Thu Oct 03 2019 Miro Hrončok <mhroncok@redhat.com> - 1.2.0-4
517cdd1
- Rebuilt for Python 3.8.0rc1 (#1748018)
517cdd1
98799fd
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 1.2.0-3
98799fd
- Rebuilt for Python 3.8
98799fd
2f950e1
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.0-2
2f950e1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
2f950e1
f401fc5
* Wed Jun 12 2019 Tadej Janež <tadej.j@nez.si> 1.2.0-1
f401fc5
- Update to 1.2.0 release
f401fc5
- Drop the tests-connection-marker-fix patch since it has been upstreamed
2a4b716
- Remove Python version management functionality in Fedora 30+
a9a1e0a
- Use automatic Python dependency generator
cd307ba
- Improve pytest call to not include the current working directory as suggested
cd307ba
  by Zbigniew Jędrzejewski-Szmek:
cd307ba
  https://bugzilla.redhat.com/show_bug.cgi?id=1720757#c1
f401fc5
9d499ce
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.2-4
9d499ce
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
9d499ce
9d499ce
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 1.1.2-3
9d499ce
- Rebuilt for Python 3.7
9d499ce
9d499ce
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.2-2
9d499ce
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
9d499ce
9d499ce
* Fri Oct 13 2017 Michal Cyprian <mcyprian@redhat.com> - 1.1.2-1
9d499ce
- Initial package.