File deluge.spec of Package deluge

#
# spec file for package deluge
#
# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#


%define _version 2.0
Name:           deluge
Version:        2.0.5
Release:        2.5
Summary:        BitTorrent Client
License:        SUSE-GPL-3.0-with-openssl-exception
Group:          Productivity/Networking/Web/Servers
URL:            https://deluge-torrent.org/
Source:         http://download.deluge-torrent.org/source/%{_version}/%{name}-%{version}.tar.gz
Source2:        RELEASE-VERSION
# PATCH-FIX-OPENSUSE deluge-suse-geoip-location.patch -- Point to the right GeoIP.dat location.
Patch0:         %{name}-suse-geoip-location.patch
# PATCH-FIX-UPSTREAM deluge-update_7z_binary.patch
Patch1:         %{name}-update_7z_binary.patch
BuildRequires:  fdupes
BuildRequires:  gettext
BuildRequires:  gobject-introspection-devel
BuildRequires:  hicolor-icon-theme
BuildRequires:  intltool
BuildRequires:  python-rpm-macros
BuildRequires:  python3-slimit
BuildRequires:  python3-Twisted >= 17.1
BuildRequires:  python3-devel
BuildRequires:  python3-libtorrent-rasterbar >= 1.1.1
BuildRequires:  python3-setuptools
BuildRequires:  python3-wheel
BuildRequires:  update-desktop-files
Requires:       python3-Mako
Requires:       python3-Pillow
Requires:       python3-Twisted >= 17.1
Requires:       python3-gobject
Requires:       python3-gobject-Gdk
Requires:       python3-gobject-cairo
Requires:       python3-libtorrent-rasterbar >= 1.1.1
Requires:       python3-pyOpenSSL
Requires:       python3-rencode
Requires:       python3-setproctitle
Requires:       python3-setuptools
Requires:       python3-six
Requires:       python3-xdg
Requires:       python3-zope.interface
Requires:       xdg-utils
Recommends:     %{name}-lang
Requires:       python3-GeoIP
Requires:       python3-chardet
Recommends:     python3-dbus-python
Recommends:     python3-distro
Recommends:     python3-notify
Recommends:     python3-pygame
Recommends:     python3-service_identity
BuildArch:      noarch
%if %{?suse_version} >= 1550
Requires:       python3-pycairo
%else
Requires:       python3-cairo
%endif

%description
Deluge is a Free Software, cross-platform BitTorrent client on
Python and Gtk3 with multiple user interfaces in client/server
model.

%lang_package

%prep
%autosetup -p1
cp %{SOURCE2} ./

%build
%py3_build

%install
%py3_install
%fdupes %{buildroot}%{python3_sitelib}/

mv %{buildroot}%{python3_sitelib}/%{name}/i18n %{buildroot}%{_datadir}/locale
%find_lang %{name}

pushd %{buildroot}%{_datadir}/locale/
mkdir %{buildroot}%{python3_sitelib}/%{name}/i18n/
ls | while read -r f; do
    if ( echo "$f" | grep -q '\.py$' ); then
        mv -f "$f" %{buildroot}%{python3_sitelib}/%{name}/i18n/
    else
        ln -s "%{_datadir}/locale/$f" \
          "%{buildroot}%{python3_sitelib}/%{name}/i18n/$f"
    fi
done
popd

%files
%license LICENSE
%doc AUTHORS CHANGELOG.md README.md
%{_bindir}/%{name}*
%{python3_sitelib}/%{name}/
%{python3_sitelib}/%{name}-*
%{_datadir}/applications/%{name}.desktop
%{_datadir}/icons/hicolor/*/apps/%{name}.*
%{_datadir}/icons/hicolor/*/apps/%{name}-panel.*
%{_datadir}/pixmaps/%{name}.*
%{_datadir}/appdata/%{name}.appdata.xml
%{_mandir}/man1/%{name}*.1%{?ext_man}

%files lang -f %{name}.lang

%changelog
* Sat Feb 29 2020 Alexei Sorokin <sor.alexei@meowr.ru>
- Version 2.0.3:
- Add a missing requirement python3-setproctitle (boo#1164888).
- Add a missing requirement python3-Pillow (boo#1164890).
- Add a missing requirement python3-pycairo (boo#1164892).
- Use %%py3_build and %%py3_install macros.
* Sat Jun 22 2019 Andrei Dziahel <develop7@develop7.info>
- Update to version 2.0.3:
  * Gtk UI
    + Fix errors running on Wayland (#3265).
    + Fix Peers Tab tooltip and context menu errors (#3266).
  * Web UI
    + Fix TypeError in Peers Tab setting country flag.
    + Fix reverse proxy header TypeError (#3260).
    + Fix request.base ‘idna’ codec error (#3261).
    + Fix unable to change password (#3262).
  * Extractor plugin
    + Fix potential error starting plugin.
  * Documentation
    + Fix macOS install typo.
    + Fix Windows install instructions.
* Sun Jun  9 2019 Alexei Sorokin <sor.alexei@meowr.ru>
- Update to version 2.0.2:
  * See /usr/share/doc/packages/deluge/CHANGELOG.md
- Rebase deluge-suse-geoip-location.patch,
  deluge-update_7z_binary.patch.
* Thu Jul  5 2018 develop7@develop7.info
- Add deluge-1.3.15-fix-preferences.patch: upstream fix for broken
  preferences window
* Fri May 19 2017 sor.alexei@meowr.ru
- Update to version 1.3.15:
  * Core: Fix issues with displaying libtorrent-rasterbar single
    proxy.
  * Core: Fix libtorrent-rasterbar 1.2 trackers crashing Deluge
    UIs.
  * Core: Fix an error in torrent priorities causing file priority
    mismatch in UIs.
  * GtkUI: Fix column sort state not saved in Thinclient mode.
  * GtkUI: Fix a connection manager error with malformed ip.
  * GtkUI: Rename SystemTray/Indicator "Pause/Resume All" to
    "Pause/Resume Session".
  * GtkUI: Workaround libtorrent-rasterbar single proxy by greying
    out unused proxy types.
  * WebUI: Check render template files exist otherwise raise 404
    (CVE-2017-9031, bsc#1039815).
  * Notification Plugin: Fix webui passing string for int port
    value.
  * AutoAdd Plugin: Add WebUI preferences page detailing lack of
    configuration via WebUI.
  * Label Plugin: Add WebUI preferences page detailing how to
    configure plugin.
* Mon Mar 13 2017 sor.alexei@meowr.ru
- Update to version 1.3.14:
  * Core: Fix 'Too many files open' errors.
  * Core: Add support for python-GeoIP for use with libtorrent 1.1.
  * Core: Fix a single proxy entry being overwritten resulting in
    no proxy set.
  * UI: Add the tracker_status translation to UIs.
  * GtkUI: Strip whitespace from infohash before checks.
  * GtkUI: Add a missed feature autofill infohash entry from
    clipboard.
  * WebUI: Backport bind interface option for server.
  * WebUI, security: Fix WebUI CSRF Vulnerability.
  * ConsoleUI: Fix a decode error comparing non-ascii (str) torrent
    names.
  * AutoAdd Plugin: Fixes for splitting magnets from file.
  * Remove the duplicate magnet extension when splitting.
- Remove deluge-libtorrent-1.1-geoip.patch: fixed upstream.
* Wed Aug 17 2016 sor.alexei@meowr.ru
- Remove deluge-fix-blocklist-crash.patch: fixed in the
  libtorrent-rasterbar package.
- Simplify deluge-libtorrent-1.1-geoip.patch.
* Wed Jul 20 2016 sor.alexei@meowr.ru
- Update to version 1.3.13:
  * Core: Increase RSA key size from 1024 to 2048 and use SHA256
    digest.
  * Core: Fix empty error message from certain trackers.
  * Core: Fix torrent ending up displaying the wrong state.
  * Core: Force a torrent into Error state if the resume data is
    rejected.
  * Core: Workaround unwanted tracker announce when force rechecking
    paused torrent.
  * Core: Stop moving torrent files if target files exist to prevent
    unintended clobbering of data.
  * Core: Fix the pausing and resuming of the Deluge session so
    torrents return to previous state.
  * Core: Add support for TLS SNI in httpdownloader.
  * Core: Ensure base32 magnet hash is uppercase to fix lowercase
    magnets uris.
  * Daemon: New command-line option to restict selected config key to
    read-only.
  * Daemon: Allow use of uppercase log level to match UIs.
  * UI: Fixed error with blank lines in auth file.
  * GtkUI: Fix installing plugin from a non-ascii directory.
  * GtkUI: Error'd torrents no longer display a progress percentage.
  * GtkUI: Fixed the 'Added' column showing the wrong date.
  * GtkUI: Prevent the user from changing tracker selection when
    editing trackers.
  * GtkUI: Fix showing the wrong connected status with hostname in
    the Connection Manager.
  * GtkUI: Fix the progress column to sort by progress and state
    correctly.
  * GtkUI: Fix incorrect Move Completed directory shown in Options
    tab.
  * GtkUI: Sorting for name column is now case insensitive.
  * GtkUI: Reduce height of Add Torrent Dialog to help with smaller screeen resoltuions.
  * GtkUI: Fix adding UDP trackers to trackers dialog.
  * WebUI: Fix HTTPS negotiating incorrect cipher.
  * WebUI: Fix the broken Options context menu.
  * WebUI: Fix the hostlist config file not being created.
  * WebUI: Fix plugin's js code not loading when using the WebUI
    plugin.
  * Console: Fix adding non-ascii torrent in non-interactive mode.
  * Console: Add time_added to info sort keys.
  * Blocklist Plugin: Fix plugin lockup with empty url.
  * Scheduler Plugin: Fix an error accidentally introduced in 1.3.12.
  * Notification Plugin: Fix the popup to show the actual count of
    files finished.
  * Notification Plugin: Fix issue with SMTP port entry not
    updating in GtkUI.
  * AutoAdd Plugin: Fix watch directory not accepting uppercase file
    extension.
  * Extractor Plugin: Ignore the remaining rar part files to
    prevent spawning useless processes.
  * Extractor Plugin: Fix only an directory folder when
    extracting rar files.
- Add deluge-suse-geoip-location.patch: point to the right
  GeoIP.dat location.
- Add deluge-libtorrent-1.1-geoip.patch: use python-GeoIP to get
  GeoIP data.
* Mon May 16 2016 sor.alexei@meowr.ru
- Add deluge-fix-blocklist-crash.patch: workaround a bug in
  libtorrent-rasterbar 1.1.0 which results in a crash when
  blocklist is used (boo#978600).
* Mon Sep 14 2015 sor.alexei@meowr.ru
- Update to 1.3.12:
  * Core: Include fix for Twisted 15.0 URI class rename.
  * Core: Fix AttributeError in set_trackers with libtorrent 1.0.x.
  * Core: Enable libtorrent-rasterbar extension bindings again for
    libtorrent-rasterbar versions >= 0.16.7 (this disables
    Tracker Exchange by default).
  * Core: Backport atomic fastresume and state file saving fixes as
    another attempt to prevent data loss on unclean exits.
  * GtkUI: Fix potential AttributeError in is_on_active_workspace.
  * WebUI: Fix i18n issue in Connection Manager which left users
    unable to connect.
  * WebUI: Increase cookie lifespan for display settings.
  * Console: Fixed 'set and then get' in config command.
  * Scheduler Plugin: Show current speed limit in statusbar.
- Add deluge-update_7z_binary.patch.
* Sat Nov  1 2014 sor.alexei@meowr.ru
- Update to 1.3.11:
  * Core: disable use of SSLv3 protocol for DelugeRPC
  * GtkUI: fix ImportError for users with Twisted < 10
  * GtkUI: fix column issue when disabling a plugin
  * WebUI: modify SSL Context to allow >= TLSv1 protocol
  * WebUI: fix Size column to show total_wanted instead of
    total_size
* Tue Oct 28 2014 sor.alexei@meowr.ru
- Initial package.
openSUSE Build Service is sponsored by