%if 0%{?fedora}
%global with_python3 1
%endif
Name: httpie
Version: 0.9.3
Release: 4%{?dist}
Summary: A Curl-like tool for humans
Group: Applications/Internet
License: BSD
URL: http://httpie.org/
Source0: http://pypi.python.org/packages/source/h/httpie/httpie-%{version}.tar.gz
BuildArch: noarch
BuildRequires: python2-devel
# Needed so we can build the manpage with help2man without fataling.
BuildRequires: python-pygments
BuildRequires: python-requests
%if 0%{?fedora}
BuildRequires: help2man
%endif
%if 0%{?with_python3}
BuildRequires: python3-devel
# Needed so we can build the manpage with help2man without fataling.
BuildRequires: python3-pygments
BuildRequires: python3-requests
%endif
%description
HTTPie is a CLI HTTP utility built out of frustration with existing tools. The
goal is to make CLI interaction with HTTP-based services as human-friendly as
possible.
HTTPie does so by providing an http command that allows for issuing arbitrary
HTTP requests using a simple and natural syntax and displaying colorized
responses.
%package -n python2-httpie
Summary: A Curl-like tool for humans
Group: Applications/Internet
%{?python_provide:%python_provide python2-httpie}
%if 0%{?with_python3}
# Then the python3 package below will provide "httpie"
%else
# Otherwise, the python2 package here will provide it.
Provides: httpie%{?_isa} = %{version}-%{release}
Obsoletes: httpie < 0.9.3-2
%endif
Requires: python2
Requires: python-pygments
Requires: python-requests
%description -n python2-httpie
HTTPie is a CLI HTTP utility built out of frustration with existing tools. The
goal is to make CLI interaction with HTTP-based services as human-friendly as
possible.
HTTPie does so by providing an http command that allows for issuing arbitrary
HTTP requests using a simple and natural syntax and displaying colorized
responses.
%if 0%{?with_python3}
%package -n python3-httpie
Summary: A Curl-like tool for humans
Group: Applications/Internet
%{?python_provide:%python_provide python3-httpie}
Provides: httpie%{?_isa} = %{version}-%{release}
Obsoletes: httpie < 0.9.3-2
Requires: python3
Requires: python3-pygments
Requires: python3-requests
%description -n python3-httpie
HTTPie is a CLI HTTP utility built out of frustration with existing tools. The
goal is to make CLI interaction with HTTP-based services as human-friendly as
possible.
HTTPie does so by providing an http command that allows for issuing arbitrary
HTTP requests using a simple and natural syntax and displaying colorized
responses.
%endif
%prep
%setup -q
sed -i '/#!\/usr\/bin\/env/d' %{name}/__main__.py
# Fedora currently only ships with Pygments 1.4 but httpie wants 1.5.
# Also, RHEL currently only ships with Pygments 1.1.
# However, it seems to work just fine with lower versions.
sed -i 's/Pygments>=1.5/Pygments>=1.1/' setup.py
sed -i 's/requests>=2.0.0/requests>=1.1.0/' setup.py
%if 0%{?with_python3}
rm -rf %{py3dir}
cp -a . %{py3dir}
%endif
%build
%{__python2} setup.py build
%if 0%{?with_python3}
pushd %{py3dir}
%{__python3} setup.py build
popd
%endif
%install
%if 0%{?with_python3}
pushd %{py3dir}
%{__python3} setup.py install --skip-build --root %{buildroot}
mv %{buildroot}/%{_bindir}/http %{buildroot}/%{_bindir}/python3-http
popd
%endif
%{__python2} setup.py install --root %{buildroot}
mv %{buildroot}/%{_bindir}/http %{buildroot}/%{_bindir}/python2-http
export PYTHONPATH=%{buildroot}%{python2_sitelib}
# Create a link to the default executable
%if 0%{?with_python3}
ln -s python3-http %{buildroot}/%{_bindir}/http
%else
ln -s python2-http %{buildroot}/%{_bindir}/http
%endif
# Generate man pages for everything
%if 0%{?fedora}
mkdir -p %{buildroot}/%{_mandir}/man1
help2man --no-discard-stderr %{buildroot}/%{_bindir}/http > %{buildroot}/%{_mandir}/man1/http.1
help2man --no-discard-stderr %{buildroot}/%{_bindir}/python2-http > %{buildroot}/%{_mandir}/man1/python2-http.1
%if 0%{?with_python3}
help2man --no-discard-stderr %{buildroot}/%{_bindir}/python3-http > %{buildroot}/%{_mandir}/man1/python3-http.1
%endif
%endif
%files -n python2-httpie
%doc README.rst
%license LICENSE
%{python2_sitelib}/%{name}/
%{python2_sitelib}/%{name}-%{version}*
%if 0%{?with_python3}
%{_bindir}/python2-http
%if 0%{?fedora}
%{_mandir}/man1/python2-http.1*
%endif
%else
%{_bindir}/http
%{_bindir}/python2-http
%if 0%{?fedora}
%{_mandir}/man1/http.1*
%{_mandir}/man1/python2-http.1*
%endif
%endif
%if 0%{?with_python3}
%files -n python3-httpie
%doc README.rst
%license LICENSE
%{python3_sitelib}/%{name}/
%{python3_sitelib}/%{name}-%{version}*
%{_bindir}/http
%{_bindir}/python3-http
%if 0%{?fedora}
%{_mandir}/man1/http.1*
%{_mandir}/man1/python3-http.1*
%endif
%endif
%changelog
* Fri Jun 03 2016 Ricky ELrod <relrod@redhat.com> - 0.9.3-4
- Add proper Obsoletes for rhbz#1329226.
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Mon Jan 04 2016 Ralph Bean <rbean@redhat.com> - 0.9.3-2
- Modernize python macros and subpackaging.
- Move LICENSE to %%license macro.
- Make python3 the default on modern Fedora.
* Mon Jan 04 2016 Ralph Bean <rbean@redhat.com> - 0.9.3-1
- new version
* Tue Nov 10 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.2-3
- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Thu Mar 26 2015 Ricky Elrod <relrod@redhat.com> - 0.9.2-1
- Latest upstream release.
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.8.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Wed May 28 2014 Kalev Lember <kalevlember@gmail.com> - 0.8.0-2
- Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4
* Fri Jan 31 2014 Ricky Elrod <codeblock@fedoraproject.org> - 0.8.0-1
- Latest upstream release.
* Fri Oct 4 2013 Ricky Elrod <codeblock@fedoraproject.org> - 0.7.2-2
- Add in patch to work without having python-requests 2.0.0.
* Sat Sep 28 2013 Ricky Elrod <codeblock@fedoraproject.org> - 0.7.2-1
- Latest upstream release.
* Thu Sep 5 2013 Ricky Elrod <codeblock@fedoraproject.org> - 0.6.0-7
- Only try building the manpage on Fedora, since RHEL's help2man doesn't
have the --no-discard-stderr flag.
* Thu Sep 5 2013 Ricky Elrod <codeblock@fedoraproject.org> - 0.6.0-6
- Loosen the requirement on python-pygments.
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Tue Jul 2 2013 Ricky Elrod <codeblock@fedoraproject.org> - 0.6.0-4
- python-requests 1.2.3 exists in rawhide now.
* Sun Jun 30 2013 Ricky Elrod <codeblock@fedoraproject.org> - 0.6.0-3
- Patch to use python-requests 1.1.0 for now.
* Sat Jun 29 2013 Ricky Elrod <codeblock@fedoraproject.org> - 0.6.0-2
- Update to latest upstream release.
* Mon Apr 29 2013 Ricky Elrod <codeblock@fedoraproject.org> - 0.5.0-2
- Fix changelog messup.
* Mon Apr 29 2013 Ricky Elrod <codeblock@fedoraproject.org> - 0.5.0-1
- Update to latest upstream release.
* Mon Apr 8 2013 Ricky Elrod <codeblock@fedoraproject.org> - 0.4.1-3
- Fix manpage generation by exporting PYTHONPATH.
* Tue Mar 26 2013 Ricky Elrod <codeblock@fedoraproject.org> - 0.4.1-2
- Include Python3 support, and fix other review blockers.
* Mon Mar 11 2013 Ricky Elrod <codeblock@fedoraproject.org> - 0.4.1-1
- Update to latest upstream release
* Thu Jul 19 2012 Ricky Elrod <codeblock@fedoraproject.org> - 0.2.5-1
- Initial build.