c94b2a4
%global srcname streamlink
c94b2a4
%global common_summary Python library for extracting streams from various websites
c94b2a4
%global common_description Streamlink is a command-line utility that pipes video streams from various\
c94b2a4
services into a video player, such as VLC. The main purpose of Streamlink is to\
c94b2a4
allow the user to avoid buggy and CPU heavy flash plugins but still be able to\
c94b2a4
enjoy various streamed content. There is also an API available for developers\
c94b2a4
who want access to the video stream data. This project was forked from\
c94b2a4
Livestreamer, which is no longer maintained.
c94b2a4
c94b2a4
Name:           python-%{srcname}
44d6b4a
Version:        0.12.1
cb2eaf5
Release:        1%{?dist}
c94b2a4
Summary:        %{common_summary}
c94b2a4
21159e4
Group:          Applications/Internet
c94b2a4
# src/streamlink/packages/requests_file.py is ASL 2.0
c94b2a4
License:        BSD and ASL 2.0
c94b2a4
URL:            https://streamlink.github.io/
9ec3696
Source0:        %{srcname}-%{version}-without-win32-binaries.tar.gz
9ec3696
# streamlink tarball contains FFmpeg and rtmpdump binaries for Windows which
9ec3696
# cannot be uploaded on Fedora servers for legal reasons. Therefore we use
9ec3696
# this script to download the tarball and remove forbidden files
9ec3696
Source1:        %{name}-generate-tarball.sh
c94b2a4
c94b2a4
BuildRequires:  fontpackages-devel
c94b2a4
BuildRequires:  python2-devel
c94b2a4
BuildRequires:  python3-devel
c94b2a4
# Needed for documentation
c94b2a4
BuildRequires:  python3-sphinx
c94b2a4
# Needed for tests
0a05ad6
BuildRequires:  python2-backports-shutil_get_terminal_size
0a05ad6
BuildRequires:  python2-backports-shutil_which
0a05ad6
BuildRequires:  python2-crypto
0a05ad6
BuildRequires:  python2-futures
0a05ad6
BuildRequires:  python2-iso-639
0a05ad6
BuildRequires:  python2-iso3166
0a05ad6
BuildRequires:  python2-mock
0a05ad6
BuildRequires:  python2-pytest
0a05ad6
BuildRequires:  python2-requests
9ea3770
BuildRequires:  python-requests-mock
0a05ad6
BuildRequires:  python2-singledispatch
9ea3770
BuildRequires:  python2-unittest2
5b90462
BuildRequires:  python-websocket-client
c94b2a4
BuildRequires:  python3-crypto
774781f
BuildRequires:  python3-iso-639
774781f
BuildRequires:  python3-iso3166
774781f
BuildRequires:  python3-mock
774781f
BuildRequires:  python3-pytest
774781f
BuildRequires:  python3-requests
9ea3770
BuildRequires:  python3-requests-mock
56e99f6
BuildRequires:  python3-singledispatch
9ea3770
BuildRequires:  python3-unittest2
5b90462
BuildRequires:  python3-websocket-client
c94b2a4
BuildArch:      noarch
c94b2a4
c94b2a4
%description
c94b2a4
%{common_description}
c94b2a4
c94b2a4
c94b2a4
%package -n python2-%{srcname}
c94b2a4
Summary:        %{common_summary}
21159e4
Group:          System Environment/Libraries
0a05ad6
Requires:       python2-backports-shutil_get_terminal_size
0a05ad6
Requires:       python2-backports-shutil_which
0a05ad6
Requires:       python2-crypto
0a05ad6
Requires:       python2-futures
0a05ad6
Requires:       python2-iso-639
0a05ad6
Requires:       python2-iso3166
0a05ad6
Requires:       python2-requests
0a05ad6
Requires:       python2-singledispatch
cb2eaf5
Requires:       python2-pysocks
5b90462
BuildRequires:  python-websocket-client
c94b2a4
%{?python_provide:%python_provide python2-%{srcname}}
c94b2a4
c94b2a4
%description -n python2-%{srcname}
c94b2a4
%{common_description}
c94b2a4
c94b2a4
c94b2a4
%package -n python3-%{srcname}
c94b2a4
Summary:        %{common_summary}
c94b2a4
Requires:       python3-crypto
774781f
Requires:       python3-iso-639
774781f
Requires:       python3-iso3166
56e99f6
Requires:       python3-requests
c94b2a4
Requires:       python3-singledispatch
cb2eaf5
Requires:       python3-pysocks
6fca149
Requires:       python3-websocket-client
c94b2a4
%{?python_provide:%python_provide python3-%{srcname}}
c94b2a4
Provides:       %{srcname} = %{version}-%{release}
c94b2a4
c94b2a4
%description -n python3-%{srcname}
c94b2a4
%{common_description}
c94b2a4
c94b2a4
c94b2a4
%package doc
c94b2a4
Summary:        Documentation for %{name}
0a05ad6
Group:          Documentation
c94b2a4
Requires:       fontawesome-fonts-web
c94b2a4
c94b2a4
%description doc
c94b2a4
%{common_description}
c94b2a4
c94b2a4
This package provides documentation for %{name}.
c94b2a4
c94b2a4
c94b2a4
%prep
c94b2a4
%autosetup -n %{srcname}-%{version}
c94b2a4
c94b2a4
# Remove shebang
c94b2a4
for i in $(find src/%{srcname}/ -name "*.py"); do
c94b2a4
    sed '1{\@^#!/usr/bin/env python@d}' $i >$i.new && \
c94b2a4
    touch -r $i $i.new && \
c94b2a4
    mv $i.new $i
c94b2a4
done
c94b2a4
c94b2a4
c94b2a4
%build
ac8818e
export STREAMLINK_USE_PYCRYPTO="true"
c94b2a4
%py2_build
c94b2a4
%py3_build
c94b2a4
c94b2a4
# Generate documentation
c94b2a4
%{__python3} setup.py build_sphinx -b man
c94b2a4
%{__python3} setup.py build_sphinx -b html
c94b2a4
rm build/sphinx/html/.buildinfo
c94b2a4
c94b2a4
# Drop bundled web fonts in HTML documentation
c94b2a4
pushd build/sphinx/html/_static/fonts/
c94b2a4
rm *
c94b2a4
ln -s %{_fontbasedir}/fontawesome/fontawesome-webfont.eot .
c94b2a4
popd
c94b2a4
c94b2a4
c94b2a4
%install
ac8818e
export STREAMLINK_USE_PYCRYPTO="true"
c94b2a4
%py2_install
c94b2a4
%py3_install
c94b2a4
c94b2a4
# Install man page
c94b2a4
install -Dpm 0644 build/sphinx/man/%{srcname}.1 $RPM_BUILD_ROOT%{_mandir}/man1/%{srcname}.1
c94b2a4
c94b2a4
c94b2a4
%check
ac8818e
export STREAMLINK_USE_PYCRYPTO="true"
774781f
%{__python2} setup.py test
c94b2a4
%{__python3} setup.py test
c94b2a4
c94b2a4
c94b2a4
%files -n python2-%{srcname}
774781f
%doc AUTHORS CHANGELOG.rst CONTRIBUTING.md README.md
c94b2a4
%license LICENSE
c94b2a4
%{python2_sitelib}/*
c94b2a4
c94b2a4
c94b2a4
%files -n python3-%{srcname}
774781f
%doc AUTHORS CHANGELOG.rst CONTRIBUTING.md README.md
c94b2a4
%license LICENSE
c94b2a4
%{_bindir}/%{srcname}
c94b2a4
%{python3_sitelib}/*
c94b2a4
%{_mandir}/man1/%{srcname}.1.*
c94b2a4
c94b2a4
c94b2a4
%files doc
c94b2a4
%doc build/sphinx/html/
c94b2a4
%license LICENSE
c94b2a4
c94b2a4
c94b2a4
%changelog
44d6b4a
* Mon May 07 2018 Mohamed El Morabity <melmorabity@fedoraproject.org> - 0.12.1-1
44d6b4a
- Update to 0.12.1
44d6b4a
9ea3770
* Wed Jan 24 2018 Mohamed El Morabity <melmorabity@fedoraproject.org> - 0.10.0-1
9ea3770
- Update to 0.10.0
9ea3770
cb2eaf5
* Tue Nov 14 2017 Mohamed El Morabity <melmorabity@fedoraproject.org> - 0.9.0-1
cb2eaf5
- Update to 0.9.0
cb2eaf5
6fca149
* Tue Oct 10 2017 Mohamed El Morabity <melmorabity@fedoraproject.org> - 0.8.1-3
6fca149
- Fix dependecy on python-websocket-client package
6fca149
5b90462
* Tue Sep 19 2017 Mohamed El Morabity <melmorabity@fedoraproject.org> - 0.8.1-2
5b90462
- Add missing dependecy on python-websocket-client package
5b90462
32cc48b
* Tue Sep 19 2017 Mohamed El Morabity <melmorabity@fedoraproject.org> - 0.8.1-1
32cc48b
- Update to 0.8.1
32cc48b
0a05ad6
* Fri Jun 30 2017 Mohamed El Morabity <melmorabity@fedoraproject.org> - 0.7.0-1
0a05ad6
- Update to 0.7.0
0a05ad6
0a05ad6
* Thu May 11 2017 Mohamed El Morabity <melmorabity@fedoraproject.org> - 0.6.0-1
057359a
- Update to 0.6.0
057359a
ac8818e
* Wed Apr 05 2017 Mohamed El Morabity <melmorabity@fedoraproject.org> - 0.5.0-1
ac8818e
- Update to 0.5.0
ac8818e
0a05ad6
* Fri Mar 10 2017 Mohamed El Morabity <melmorabity@fedoraproject.org> - 0.4.0-1
21159e4
- Update to 0.4.0
21159e4
21159e4
* Wed Feb 22 2017 Mohamed El Morabity <melmorabity@fedoraproject.org> - 0.3.2-1
774781f
- Update to 0.3.2
774781f
9ec3696
* Thu Jan 26 2017 Mohamed El Morabity <melmorabity@fedoraproject.org> - 0.3.0-1
9ec3696
- Update to 0.3.0
9ec3696
c94b2a4
* Sat Jan 07 2017 Mohamed El Morabity <melmorabity@fedoraproject.org> - 0.2.0-3
c94b2a4
- Add license to doc subpackage
c94b2a4
c94b2a4
* Sat Jan 07 2017 Mohamed El Morabity <melmorabity@fedoraproject.org> - 0.2.0-2
c94b2a4
- Fix license tag
c94b2a4
- Move documentation to a subpackage
c94b2a4
- Enable tests
c94b2a4
c94b2a4
* Sun Dec 18 2016 Mohamed El Morabity <melmorabity@fedoraproject.org> - 0.2.0-1
c94b2a4
- Update to 0.2.0
c94b2a4
c94b2a4
* Fri Dec 16 2016 Mohamed El Morabity <melmorabity@fedoraproject.org> - 0.1.0-1
c94b2a4
- Initial RPM release