You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
130 lines
3.8 KiB
130 lines
3.8 KiB
Name: python3-virtualenv |
|
Version: 20.15.1 |
|
Release: 1%{?dist} |
|
Summary: Tool to create isolated Python environments |
|
License: MIT |
|
URL: http://pypi.python.org/pypi/virtualenv |
|
Source0: %{pypi_source virtualenv} |
|
# Add /usr/share/python-wheels to extra_search_dir |
|
Patch1: rpm-wheels.patch |
|
BuildArch: noarch |
|
BuildRequires: python3-devel |
|
BuildRequires: python3-distlib |
|
BuildRequires: python3-filelock |
|
BuildRequires: python3-platformdirs |
|
BuildRequires: python3-setuptools |
|
BuildRequires: python3-setuptools_scm |
|
BuildRequires: python3-six |
|
# docs need sphinx >= 3 |
|
# docs need towncrier and that is not yet available when bootstrapping Python |
|
%bcond_with docs |
|
%if %{with docs} |
|
BuildRequires: python3-sphinx |
|
BuildRequires: python3-sphinx_rtd_theme |
|
BuildRequires: python3-towncrier |
|
%endif |
|
# tests don't have all dependencies in EPEL 9 (yet?) |
|
%bcond_with tests |
|
%if %{with tests} |
|
BuildRequires: fish |
|
BuildRequires: tcsh |
|
BuildRequires: gcc |
|
BuildRequires: python3-flaky |
|
BuildRequires: python3-packaging |
|
BuildRequires: python3-pytest |
|
BuildRequires: python3-pytest-mock |
|
BuildRequires: python3-pytest-randomly |
|
BuildRequires: python3-pytest-timeout |
|
%endif |
|
# RPM installed wheels |
|
BuildRequires: python3-pip-wheel |
|
BuildRequires: python3-setuptools-wheel |
|
BuildRequires: python3-wheel-wheel |
|
# Provide "virtualenv" for convenience |
|
Provides: virtualenv = %{version}-%{release} |
|
# RPM installed wheels |
|
Requires: python3-pip-wheel |
|
Requires: python3-setuptools-wheel |
|
Requires: python3-wheel-wheel |
|
|
|
|
|
%description |
|
virtualenv is a tool to create isolated Python environments. virtualenv |
|
is a successor to workingenv, and an extension of virtual-python. It is |
|
written by Ian Bicking, and sponsored by the Open Planning Project. It is |
|
licensed under an MIT-style permissive license. |
|
|
|
|
|
%if %{with docs} |
|
%package -n python-virtualenv-doc |
|
Summary: Documentation for python virtualenv |
|
%description -n python-virtualenv-doc |
|
Documentation for python virtualenv. |
|
%endif |
|
|
|
|
|
%prep |
|
%autosetup -p1 -n virtualenv-%{version} |
|
sed -i -e "1s|#!/usr/bin/env python||" tasks/update_embedded.py |
|
# Remove the wheels provided by RPM packages |
|
rm src/virtualenv/seed/wheels/embed/pip-* |
|
rm src/virtualenv/seed/wheels/embed/setuptools-* |
|
rm src/virtualenv/seed/wheels/embed/wheel-* |
|
test ! -f src/virtualenv/seed/embed/wheels/*.whl |
|
# Replace hardcoded path from rpm-wheels.patch by %%{python_wheel_dir} |
|
# On Fedora, this should change nothing, but when building for RHEL9+, it will |
|
sed -i "s|/usr/share/python-wheels|%{python_wheel_dir}|" src/virtualenv/util/path/_system_wheels.py |
|
|
|
|
|
%build |
|
# Build code |
|
%{py3_build} |
|
# Build docs |
|
%if %{with docs} |
|
PYTHONPATH=src %{python3} setup.py build_sphinx |
|
rm -f build/sphinx/html/.buildinfo |
|
%endif |
|
|
|
|
|
%install |
|
%{py3_install} |
|
%if %{with tests} |
|
%check |
|
mkdir tmp_path |
|
ln -s $(realpath %{__python3}) tmp_path/python |
|
export PATH="$(pwd)/tmp_path:$PATH" |
|
unset SOURCE_DATE_EPOCH |
|
|
|
# Skip tests which requires internet or some extra dependencies |
|
# Requires internet: |
|
# - test_download_* |
|
# Uses disabled functionalities around bundled wheels: |
|
# - test_wheel_* |
|
# - test_seed_link_via_app_data |
|
# - test_base_bootstrap_via_pip_invoke |
|
# - test_acquire.py (whole file) |
|
# - test_bundle.py (whole file) |
|
# Uses disabled functionalities around automatic updates: |
|
# - test_periodic_update.py (whole file) |
|
PIP_CERT=/etc/pki/tls/certs/ca-bundle.crt \ |
|
%pytest -vv -k "not test_bundle and not test_acquire and not test_periodic_update and not test_wheel_ and not test_download_ and not test_base_bootstrap_via_pip_invoke and not test_seed_link_via_app_data" |
|
|
|
rm -r tmp_path |
|
%endif |
|
|
|
|
|
%files -n python3-virtualenv |
|
%license LICENSE |
|
%doc docs/*rst README.md |
|
%{_bindir}/virtualenv |
|
%{python3_sitelib}/virtualenv/ |
|
%{python3_sitelib}/virtualenv-*.egg-info/ |
|
|
|
|
|
%if %{with docs} |
|
%files -n python-virtualenv-doc |
|
%doc build/sphinx/* |
|
%endif |
|
|
|
|
|
%changelog
|
|
|