Blob Blame History Raw
%global srcname entrypoints
%global sum Discover and load entry points from installed packages

Name:		python-%{srcname}
Version:	0.2.2
Release:	2%{?dist}
Summary:	%{sum}

# license clarification issue opened upstream
# https://github.com/takluyver/entrypoints/issues/10

License:	MIT

URL:		https://entrypoints.readthedocs.io/
Source0:	https://github.com/takluyver/%{srcname}/archive/%{version}/%{srcname}-%{version}.tar.gz

BuildArch:	noarch
BuildRequires:	python2-devel
BuildRequires:	python3-devel
BuildRequires:	python-pip
BuildRequires:	python3-pip
BuildRequires:	python3-flit
BuildRequires:	python3-sphinx

%description
Entry points are a way for Python packages to advertise objects with some
common interface. The most common examples are console_scripts entry points,
which define shell commands by identifying a Python function to run.

The entrypoints module contains functions to find and load entry points.


%package -n python2-%{srcname}
Summary:	%{sum}
%{?python_provide:%python_provide python2-%{srcname}}

%description -n python2-%{srcname}
Entry points are a way for Python packages to advertise objects with some
common interface. The most common examples are console_scripts entry points,
which define shell commands by identifying a Python function to run.

The entrypoints module contains functions to find and load entry points.

%package -n python2-%{srcname}-doc
Summary:	Documentation for python-entrypoints

%description -n python2-%{srcname}-doc
Documentation files for python-entrypoints

%package -n python3-%{srcname}
Summary:	%{sum}
%{?python_provide:%python_provide python3-%{srcname}}

%description -n python3-%{srcname}
Entry points are a way for Python packages to advertise objects with some
common interface. The most common examples are console_scripts entry points,
which define shell commands by identifying a Python function to run.

The entrypoints module contains functions to find and load entry points.

%package -n python3-%{srcname}-doc
Summary:	Documentation for python-entrypoints

%description -n python3-%{srcname}-doc
Documentation files for python-entrypoints

%prep
%autosetup -n %{srcname}-%{version}

# We don't need to verify PyPI classifiers, because the package is already
# there. So just make specified classifiers "valid".
mkdir -p .cache/flit
%{__python3} -c "with open('flit.ini', 'rb') as inf:
    with open('.cache/flit/classifiers.lst', 'wb') as outf:
        enable_output = False
        for line in inf:
            if enable_output:
                if b'=' in line:
                    break
                outf.write(line)
            elif b'classifiers' in line:
                outf.write(line.split(b'=')[1])
                enable_output = True
"


%build
XDG_CACHE_HOME=$PWD/.cache flit wheel

pushd doc
make html PYTHON="%{__python3}" SPHINXBUILD=sphinx-build-%{python3_version}
rm _build/html/.buildinfo
popd


%install
pip2 install --root %{buildroot} --no-deps \
	dist/%{srcname}-%{version}-py2.py3-none-any.whl
pip3 install --root %{buildroot} --no-deps \
	dist/%{srcname}-%{version}-py2.py3-none-any.whl

# Fedora doesn't use this yet.
rm -r %{buildroot}%{python2_sitelib}/%{srcname}-%{version}.dist-info/
rm -r %{buildroot}%{python3_sitelib}/%{srcname}-%{version}.dist-info/


%files -n python2-%{srcname}
%doc doc/_build/html
%license LICENSE
%{python2_sitelib}/*

%files -n python2-%{srcname}-doc
%doc doc/_build/html
%license LICENSE

%files -n python3-%{srcname}
%doc doc/_build/html
%license LICENSE
%{python3_sitelib}/*

%files -n python3-%{srcname}-doc
%doc doc/_build/html
%license LICENSE

%changelog
* Sun Oct 02 2016 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 0.2.2-2
- Add -doc subpackages
- Fix source url
- Add license clarification issue URL for reference

* Sat Jul 2 2016 Elliott Sales de Andrade <quantum.analyst@gmail.com> 0.2.2-1
- Initial RPM release