%global with_python3 0
%if 0%{?rhel} && 0%{?rhel} <= 6
%{!?__python2: %global __python2 /usr/bin/python2}
%{!?python2_sitelib: %global python2_sitelib %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
%{!?python2_sitearch: %global python2_sitearch %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
%endif
Name: bpython
Summary: Fancy curses interface to the Python interactive interpreter
Version: 0.12
Release: 6.1%{?dist}
URL: http://www.bpython-interpreter.org/
Group: Development/Libraries
License: MIT
Source0: http://www.bpython-interpreter.org/releases/bpython-%{version}.tar.gz
# some gimp resize of http://bpython-interpreter.org/static/img/bpython-logo.png
Source1: bpython.png
Patch0: bpython-0.9.7.1-desktop.patch
Patch1: bpython-0.12-imp.patch
Patch2: bpython-0.12-resize.patch
%if 0%{?rhel} && 0%{?rhel} <= 6
Patch600: bpython-epel-sphinx10.patch
%endif # 0%{?rhel} && 0%{?rhel} <= 6
BuildArch: noarch
BuildRequires: python-devel
BuildRequires: python-setuptools
%if 0%{?rhel} && 0%{?rhel} <= 6
BuildRequires: python-sphinx10
%else
BuildRequires: python-sphinx
%endif # 0%{?rhel} && 0%{?rhel} <= 6
BuildRequires: desktop-file-utils
%if 0%{?with_python3}
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-sphinx
%endif # if with_python3
Requires: pygtk2
Requires: python-urwid
Requires: python-pygments
%description
bpython is a fancy interface to the Python interpreter for Unix-like
operating systems. It has the following features:
o in-line syntax highlighting
o readline-like autocomplete with suggestions displayed as you type
o expected parameter list for any Python function.
o eewind function to pop the last line of code from memory and
re-evaluate.
o send the code you've entered off to a pastebin and display the
pastebin URL for copying, etc.
o save the code you've entered to a file
o auto indentation
%if 0%{?with_python3}
%package -n python3-bpython
Summary: Fancy curses interface to the Python 3 interactive interpreter
Group: Development/Languages
Requires: python3-pygments
#Requires: python3-urwid
%description -n python3-bpython
bpython is a fancy interface to the Python interpreter for Unix-like
operating systems. It has the following features:
o in-line syntax highlighting
o readline-like autocomplete with suggestions displayed as you type
o expected parameter list for any Python function.
o eewind function to pop the last line of code from memory and
re-evaluate.
o send the code you've entered off to a pastebin and display the
pastebin URL for copying, etc.
o save the code you've entered to a file
o auto indentation
This is the Python 3 build of bpython
%endif # if with_python3
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1 -p0
%if 0%{?rhel} && 0%{?rhel} <= 6
%patch600 -p0
%endif # 0%{?rhel} && 0%{?rhel} <= 6
%if 0%{?with_python3}
rm -rf %{py3dir}
cp -a . %{py3dir}
# 2to3 is done for us by the setup.py
%endif # with_python3
%build
%{__python2} setup.py build
%if 0%{?with_python3}
pushd %{py3dir}
%{__python3} setup.py build
popd
%endif # with_python3
%install
# Install python 3 first, so that python 2 gets precedence:
%if 0%{?with_python3}
pushd %{py3dir}
%{__python3} setup.py install -O1 --skip-build --root %{buildroot}
# Give python 3 executables a "python3-" prefix to avoid collisions with their
# python 2 counterparts:
mv %{buildroot}/%{_bindir}/%{name} %{buildroot}/%{_bindir}/python3-%{name}
# python3-urwid ok, however python3 twisted also needed
#mv %{buildroot}/%{_bindir}/%{name}-urwid %{buildroot}/%{_bindir}/python3-%{name}-urwid
rm -f %{buildroot}%{_bindir}/bpython-urwid
# Not support for gtk in Python 3 yet
rm -f %{buildroot}%{_datadir}/applications/%{name}.desktop
rm -f %{buildroot}%{_bindir}/bpython-gtk
popd
%endif # with_python3
%{__python2} setup.py install -O1 --skip-build --root %{buildroot}
desktop-file-install --delete-original \
--dir %{buildroot}%{_datadir}/applications \
%{buildroot}%{_datadir}/applications/%{name}.desktop
install -D -p -m 0644 %{SOURCE1} %{buildroot}%{_datadir}/pixmaps/%{name}.png
%files
%doc AUTHORS CHANGELOG LICENSE ROADMAP TODO
%doc light.theme sample-config sample.theme
%{_bindir}/%{name}
%{_bindir}/%{name}-gtk
%{_bindir}/%{name}-urwid
%{python_sitelib}/%{name}*
%{python_sitelib}/bpdb
%{_mandir}/man1/%{name}.1*
%{_mandir}/man5/%{name}-config.5*
%{_datadir}/applications/%{name}.desktop
%{_datadir}/pixmaps/%{name}.png
%if 0%{?with_python3}
%files -n python3-bpython
%doc AUTHORS CHANGELOG LICENSE ROADMAP TODO
%doc light.theme sample-config sample.theme
%{_bindir}/python3-%{name}
#{_bindir}/python3-%{name}-urwid
%{python3_sitelib}/%{name}*
%{python3_sitelib}/bpdb
%endif # with_python3
%changelog
* Fri Jul 11 2014 Adam Miller <maxamillion@fedoraproject.org> - 0.12-6.1
- Add macros and set with_python3 to 0 for EPEL
- conditionally patch setup.py for epel6 python-sphinx10
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.12-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Tue May 27 2014 Kalev Lember <kalevlember@gmail.com> - 0.12-5
- Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4
* Mon Nov 18 2013 Terje Rosten <terje.rosten@ntnu.no> - 0.12-4
- Add patch to fix resize crash (bz #667934)
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.12-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Wed Mar 06 2013 Terje Rosten <terje.rosten@ntnu.no> - 0.12-2
- Add patch to fix import crash (bz #823662)
* Wed Jan 30 2013 Terje Rosten <terje.rosten@ntnu.no> - 0.12-1
- 0.12
* Sat Aug 04 2012 David Malcolm <dmalcolm@redhat.com> - 0.11-4
- rebuild for https://fedoraproject.org/wiki/Features/Python_3.3
* Fri Aug 3 2012 David Malcolm <dmalcolm@redhat.com> - 0.11-3
- remove rhel logic from with_python3 conditional
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.11-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Mon May 07 2012 Terje Rosten <terje.rosten@ntnu.no> - 0.11-1
- 0.11
* Thu Jan 12 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.10.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Mon Oct 17 2011 Terje Rosten <terje.rosten@ntnu.no> - 0.10.1-2
- Add python-urwid to buildreq
* Mon Oct 17 2011 Terje Rosten <terje.rosten@ntnu.no> - 0.10.1-1
- 0.10.1
* Mon Feb 07 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.7.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Thu Sep 02 2010 Terje Rosten <terje.rosten@ntnu.no> - 0.9.7.1-1
- 0.9.7.1
* Wed Aug 25 2010 Thomas Spura <tomspur@fedoraproject.org> - 0.9.6.2-7
- rebuild with python3.2
http://lists.fedoraproject.org/pipermail/devel/2010-August/141368.html
* Wed Jul 21 2010 David Malcolm <dmalcolm@redhat.com> - 0.9.6.2-6
- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild
* Sun May 30 2010 Terje Rosten <terje.rosten@ntnu.no> - 0.9.6.2-5
- Add patch to fix suspend
* Sun May 09 2010 Terje Rosten <terje.rosten@ntnu.no> - 0.9.6.2-4
- bpython don't use pyparsing
* Fri May 07 2010 David Malcolm <dmalcolm@redhat.com> - 0.9.6.2-3
- Add python3 subpackage (bz #590107)
* Sat Apr 09 2010 Terje Rosten <terje.rosten@ntnu.no> - 0.9.6.2-2
- Fix man page (bz #561800)
* Sat Apr 09 2010 Terje Rosten <terje.rosten@ntnu.no> - 0.9.6.2-1
- 0.9.6.2
* Thu Nov 05 2009 Terje Rosten <terje.rosten@ntnu.no> - 0.9.5.2-1
- 0.9.5.2
* Fri Jul 31 2009 Terje Rosten <terje.rosten@ntnu.no> - 0.9.4-1
- 0.9.4
- Update urls
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.8.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* Mon May 18 2009 Terje Rosten <terje.rosten@ntnu.no> - 0.8.0-1
- 0.8.0
* Mon Feb 23 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.7.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
* Mon Jan 5 2009 Terje Rosten <terje.rosten@ntnu.no> - 0.7.1-2
- Add setuptools to buildreq
* Mon Jan 5 2009 Terje Rosten <terje.rosten@ntnu.no> - 0.7.1-1
- 0.7.1
* Sat Nov 29 2008 Ignacio Vazquez-Abrams <ivazqueznet+rpm@gmail.com> - 0.7.0-2
- Rebuild for Python 2.6
* Mon Sep 1 2008 Terje Rosten <terje.rosten@ntnu.no> - 0.7.0-1
- 0.7.0
* Tue Aug 12 2008 Terje Rosten <terje.rosten@ntnu.no> - 0.6.3-1
- 0.6.3
* Mon May 5 2008 Terje Rosten <terje.rosten@ntnu.no> - 0.3.1-2
- fix summary
- remove desktop file and optflags
* Wed Apr 30 2008 Terje Rosten <terje.rosten@ntnu.no> - 0.3.1-1
- 0.3.1
- drop patch
* Sun Apr 27 2008 Terje Rosten <terje.rosten@ntnu.no> - 0.2.3-1
- random fixes
* Sun Apr 27 2008 Pascal Bleser <guru@unixtech.be> 0.2.3
- new package