Blob Blame History Raw
%if (! 0%{?rhel}) || 0%{?rhel} > 6
%global with_python3 1
%global python3_version %(%{__python3} -c "import sys; sys.stdout.write(sys.version[:3])")
%endif
%if 0%{?rhel} && 0%{?rhel} < 6
%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
%endif


Name:           pycmd
Version:        1.0
Release:        4%{?dist}
Summary:        Tools for managing/searching Python related files
Group:          Development/Languages
License:        MIT
URL:            http://pypi.python.org/pypi/pycmd
Source0:        http://pypi.python.org/packages/source/p/%{name}/%{name}-%{version}.zip
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch:      noarch
BuildRequires:  python-devel
BuildRequires:  python-setuptools
Requires:       python-setuptools
BuildRequires:  python-py >= 1.4.0
Requires:       python-py >= 1.4.0
%if 0%{?with_python3}
BuildRequires:  python3-devel
BuildRequires:  python3-setuptools
BuildRequires:  python3-py >= 1.4.0
%endif # with_python3
# pycmd was separated from pylib at that point
Conflicts:      python-py < 1.4.0


%description
Pycmd is a collection of command line tools for helping with Python
development.

%if 0%{?with_python3}
%package -n python3-pycmd
Summary:        Tools for managing/searching Python related files
Group:          Development/Languages
Requires:       python3-setuptools
Requires:       python3-py >= 1.4.0


%description -n python3-pycmd
Pycmd is a collection of command line tools for helping with Python
development.
%endif # with_python3


%prep
%setup -q

%if 0%{?with_python3}
cp -a . %{py3dir}
%endif # with_python3


%build
%{__python} setup.py build

%if 0%{?with_python3}
pushd %{py3dir}
%{__python3} setup.py build
popd
%endif # with_python3


%install
rm -rf %{buildroot}
%{__python} setup.py install -O1 --skip-build --root %{buildroot}

# remove shebangs
find %{buildroot}%{python_sitelib} -name '*.py' \
     -exec sed -i -e '1{/^#!/d}' {} \;

# rename binaries
pushd %{buildroot}%{_bindir}
for cmd in py.cleanup py.convert_unittest py.countloc py.lookup py.svnwcrevert py.which; do
  mv ${cmd} ${cmd}-%{python_version}
done
popd

%if 0%{?with_python3}
pushd %{py3dir}
%{__python3} setup.py install -O1 --skip-build --root %{buildroot}

# remove shebangs from all scripts
find %{buildroot}%{python3_sitelib} -name '*.py' \
     -exec sed -i -e '1{/^#!/d}' {} \;

# rename binaries
pushd %{buildroot}%{_bindir}
for cmd in py.cleanup py.convert_unittest py.countloc py.lookup py.svnwcrevert py.which; do
  mv ${cmd} ${cmd}-%{python3_version}
done
popd

popd
%endif # with_python3

# 2.X binaries are called by default for now
pushd %{buildroot}%{_bindir}
for cmd in py.cleanup py.convert_unittest py.countloc py.lookup py.svnwcrevert py.which; do
  ln -s ${cmd}-%{python_version} ${cmd}
done


%clean
rm -rf %{buildroot}


%files
%defattr(-,root,root,-)
%doc LICENSE README.txt CHANGELOG
%{_bindir}/py.cleanup
%{_bindir}/py.cleanup-%{python_version}
%{_bindir}/py.convert_unittest
%{_bindir}/py.convert_unittest-%{python_version}
%{_bindir}/py.countloc
%{_bindir}/py.countloc-%{python_version}
%{_bindir}/py.lookup
%{_bindir}/py.lookup-%{python_version}
%{_bindir}/py.svnwcrevert
%{_bindir}/py.svnwcrevert-%{python_version}
%{_bindir}/py.which
%{_bindir}/py.which-%{python_version}
%{python_sitelib}/*

%if 0%{?with_python3}
%files -n python3-pycmd
%defattr(-,root,root,-)
%doc LICENSE README.txt CHANGELOG
%{_bindir}/py.cleanup-%{python3_version}
%{_bindir}/py.convert_unittest-%{python3_version}
%{_bindir}/py.countloc-%{python3_version}
%{_bindir}/py.lookup-%{python3_version}
%{_bindir}/py.svnwcrevert-%{python3_version}
%{_bindir}/py.which-%{python3_version}
%{python3_sitelib}/*
%endif # with_python3


%changelog
* Sat Sep  3 2011 Thomas Moschny <thomas.moschny@gmx.de> - 1.0-4
- Fix: python3 dependencies.

* Thu Aug 11 2011 Thomas Moschny <thomas.moschny@gmx.de> - 1.0-3
- Update Requires and BuildRequires tags.

* Tue Jul  5 2011 Thomas Moschny <thomas.moschny@gmx.de> - 1.0-2
- Python3 subpackage.

* Sun Jan 16 2011 Thomas Moschny <thomas.moschny@gmx.de> - 1.0-1
- New package.