Blob Blame History Raw
%if 0%{?fedora} > 12 || 0%{?rhel} > 6
%global with_python3 1
%else
%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print (get_python_lib())")}
%endif

%global        snapdate   20111110
%global        snaphash   57ef11c
%global        snapver    %{snapdate}.git%{snaphash}

Name:           python-straight-plugin
Version:        1.1.1
Release:        0.7.%{snapver}%{?dist}
Summary:        Python plugin loader

License:        BSD
URL:            https://github.com/ironfroggy/straight.plugin/

# Upstream doesn't publish release tarballs yet, so we make one:
#  $ git clone git://github.com/ironfroggy/straight.plugin.git && cd straight.plugin
#  $ git archive --format=tar --prefix=straight.plugin-1.1.1/ 57ef11c | xz -z > straight.plugin-1.1.1-20111110.git57ef11c.tar.xz
Source0:        ironfroggy-straight.plugin-%{snaphash}.tar.gz

BuildArch:      noarch
BuildRequires:  python2-devel
%if 0%{?with_python3}
BuildRequires:  python3-devel
BuildRequires:  python-tools
%endif

%if (0%{?rhel} && 0%{?rhel} <= 6)  || ( 0%{?fedora} && 0%{?fedora} <= 13 )
BuildRequires:  python-importlib
Requires:       python-importlib
%endif


%description
straight.plugin is a Python plugin loader inspired by twisted.plugin with two
important distinctions:

 - Fewer dependencies
 - Python 3 compatible

The system is used to allow multiple Python packages to provide plugins within
a namespace package, where other packages will locate and utilize. The plugins
themselves are modules in a namespace package where the namespace identifies
the plugins in it for some particular purpose or intent.


%if 0%{?with_python3}
%package -n     python3-straight-plugin
Summary:        Python plugin loader

%description -n python3-straight-plugin
straight.plugin is a Python plugin loader inspired by twisted.plugin with two
important distinctions:

 - Fewer dependencies
 - Python 3 compatible

The system is used to allow multiple Python packages to provide plugins within
a namespace package, where other packages will locate and utilize. The plugins
themselves are modules in a namespace package where the namespace identifies
the plugins in it for some particular purpose or intent.
%endif

%prep
%setup -q -c -n ironfroggy-straight.plugin-%{snaphash}

%if 0%{?with_python3}
cp -r ironfroggy-straight.plugin-%{snaphash} py3-ironfroggy-straight.plugin-%{snaphash}
2to3 --write --nobackups py3-ironfroggy-straight.plugin-%{snaphash}
%endif

%build
pushd ironfroggy-straight.plugin-%{snaphash}
%{__python} setup.py build
popd

%if 0%{?with_python3}
pushd py3-ironfroggy-straight.plugin-%{snaphash}
%{__python3} setup.py build
popd
%endif

%install
rm -rf $RPM_BUILD_ROOT
pushd ironfroggy-straight.plugin-%{snaphash}
%{__python} setup.py install -O1 --skip-build --root $RPM_BUILD_ROOT
popd

%if 0%{?with_python3}
pushd py3-ironfroggy-straight.plugin-%{snaphash}
%{__python3} setup.py install -O1 --skip-build --root $RPM_BUILD_ROOT
popd
%endif

%check
pushd ironfroggy-straight.plugin-%{snaphash}
%{__python} tests.py
popd

%if 0%{?with_python3}
pushd py3-ironfroggy-straight.plugin-%{snaphash}
%{__python3} tests.py
popd
%endif

%files
%doc ironfroggy-straight.plugin-%{snaphash}/LICENSE ironfroggy-straight.plugin-%{snaphash}/README
# For noarch packages: sitelib
%{python_sitelib}/*

%if 0%{?with_python3}
%files -n python3-straight-plugin
%doc py3-ironfroggy-straight.plugin-%{snaphash}/LICENSE py3-ironfroggy-straight.plugin-%{snaphash}/README
# For noarch packages: sitelib
%{python3_sitelib}/*
%endif

%changelog
* Fri Nov 11 2011 Pierre-Yves Chibon <pingou@pingoured.fr> - 1.1.1-0.7.20111110git57ef11c
- Fix the import of python-importlib (Finally!!)

* Fri Nov 11 2011 Pierre-Yves Chibon <pingou@pingoured.fr> - 1.1.1-0.6.20111110git57ef11c
- Fix typo in the use if for python-importlib

* Fri Nov 11 2011 Pierre-Yves Chibon <pingou@pingoured.fr> - 1.1.1-0.5.20111110git57ef11c
- Add python-importlib as BR and R on EL6

* Fri Nov 11 2011 Pierre-Yves Chibon <pingou@pingoured.fr> - 1.1.1-0.4.20111110git57ef11c
- EL6 has no python3 /me should get glasses...
- Fix comment on how to generate the tarball properly (previous method didn't keep the timestamp)

* Thu Nov 10 2011 Pierre-Yves Chibon <pingou@pingoured.fr> - 1.1.1-0.3.20111110git57ef11c
- Fix the use of __python3 for the tests and the build
- Change python-devel to python2-devel on the BR

* Thu Nov 10 2011 Pierre-Yves Chibon <pingou@pingoured.fr> - 1.1.1-0.2.20111110git57ef11c
- Rename the package to remove the dot

* Thu Nov 10 2011 Pierre-Yves Chibon <pingou@pingoured.fr> - 1.1.1-0.1.20111110git57ef11c
- Initial packaging work for Fedora