X-Git-Url: https://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/9c77cbba3d5bf688f75bd14010d656b45cc794c8..f87d377a9ecebda6ab25d1e981497bbacf389ae2:/gnu/packages/bittorrent.scm diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm index be10a34a6c..29b0d62ad2 100644 --- a/gnu/packages/bittorrent.scm +++ b/gnu/packages/bittorrent.scm @@ -2,14 +2,14 @@ ;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer ;;; Copyright © 2014, 2015, 2016 Ludovic Courtès ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Leo Famulari -;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner +;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner ;;; Copyright © 2016 Tomáš Čech ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2017 Jelle Licht ;;; Copyright © 2018 Fis Trivial ;;; Copyright © 2018 Nam Nguyen ;;; Copyright © 2018 Ricardo Wurmus -;;; Copyright © 2019 Brett Gilio +;;; Copyright © 2019, 2020 Brett Gilio ;;; ;;; This file is part of GNU Guix. ;;; @@ -34,6 +34,7 @@ #:use-module (guix build-system python) #:use-module (guix build-system glib-or-gtk) #:use-module ((guix licenses) #:prefix l:) + #:use-module (guix utils) #:use-module (gnu packages) #:use-module (gnu packages adns) #:use-module (gnu packages boost) @@ -54,7 +55,9 @@ #:use-module (gnu packages ncurses) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages python-build) #:use-module (gnu packages python-crypto) + #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages qt) #:use-module (gnu packages sqlite) @@ -65,21 +68,25 @@ (define-public transmission (package (name "transmission") - (version "2.94") + (version "3.00") (source (origin (method url-fetch) - (uri (string-append - "https://github.com/transmission/transmission-releases/raw/" - "master/transmission-" version ".tar.xz")) - (patches (search-patches "transmission-CVE-2018-10756.patch")) + (uri (string-append "https://github.com/transmission/transmission" + "/releases/download/" version "/transmission-" + version ".tar.xz")) (sha256 (base32 - "0zbbj7rlm6m7vb64x68a64cwmijhsrwx9l63hbwqs7zr9742qi1m")))) + "1wjmn96zrvmk8j1yz2ysmqd7a2x6ilvnwwapcvfzgxs2wwpnai4i")) + (patches (search-patches "transmission-honor-localedir.patch")))) (build-system glib-or-gtk-build-system) (outputs '("out" ; library and command-line interface "gui")) ; graphical user interface (arguments - '(#:glib-or-gtk-wrap-excluded-outputs '("out") + '(#:configure-flags + (list (string-append "--localedir=" + (assoc-ref %outputs "gui") + "/share/locale")) + #:glib-or-gtk-wrap-excluded-outputs '("out") #:phases (modify-phases %standard-phases (add-after 'install 'move-gui @@ -90,17 +97,19 @@ (gui (assoc-ref outputs "gui"))) (mkdir-p (string-append gui "/bin")) (rename-file (string-append out "/bin/transmission-gtk") - (string-append gui - "/bin/transmission-gtk")) + (string-append gui "/bin/transmission-gtk")) - ;; Move the '.desktop' and icon files as well. - (mkdir (string-append gui "/share")) (for-each (lambda (dir) (rename-file (string-append out "/share/" dir) (string-append gui "/share/" dir))) - '("applications" "icons" "pixmaps"))) - #t))))) + '("appdata" "applications" "icons" "pixmaps")) + + (mkdir-p (string-append gui "/share/man/man1")) + (rename-file + (string-append out "/share/man/man1/transmission-gtk.1") + (string-append gui "/share/man/man1/transmission-gtk.1")) + #t)))))) (inputs `(("libevent" ,libevent) ("curl" ,curl) @@ -308,7 +317,7 @@ Aria2 can be manipulated via built-in JSON-RPC and XML-RPC interfaces.") (define-public uget (package (name "uget") - (version "2.2.0") + (version "2.2.1") (source (origin (method url-fetch) @@ -316,7 +325,7 @@ Aria2 can be manipulated via built-in JSON-RPC and XML-RPC interfaces.") "uget%20%28stable%29/" version "/uget-" version ".tar.gz")) (sha256 - (base32 "0rg2mr2cndxvnjib8zm5dp7y2hgbvnqkz2j2jmg0xlzfh9d34b2m")))) + (base32 "0dlrjhnm1pg2vwmp7nl2xv1aia5hyirb3021rl46x859k63zap24")))) (build-system gnu-build-system) (inputs `(("curl" ,curl) @@ -355,7 +364,7 @@ downloads, download scheduling, download rate limiting.") (arguments `(#:phases (modify-phases %standard-phases (delete 'configure)) ; no configure script - #:make-flags (list "CC=gcc" + #:make-flags (list (string-append "CC=" ,(cc-for-target)) (string-append "PREFIX=" (assoc-ref %outputs "out")) "NO_HASH_CHECK=1" "USE_LARGE_FILES=1" @@ -377,17 +386,16 @@ and will take advantage of multiple processor cores where possible.") (define-public libtorrent-rasterbar (package (name "libtorrent-rasterbar") - (version "1.1.14") - (source (origin - (method url-fetch) - (uri - (string-append - "https://github.com/arvidn/libtorrent/releases/download/libtorrent-" - (string-join (string-split version #\.) "_") - "/libtorrent-rasterbar-" version ".tar.gz")) - (sha256 - (base32 - "0sn3ingmk1lk9p56f9ifgdwhjg0qizcfgv15wyc9s71nm5fya7sc")))) + (version "1.2.8") + (source + (origin + (method url-fetch) + (uri + (string-append "https://github.com/arvidn/libtorrent/" + "releases/download/libtorrent-" version "/" + "libtorrent-rasterbar-" version ".tar.gz")) + (sha256 + (base32 "1phn4klzvfzvidv5g566pnrrxj8l0givpy6s4r17d45wznqxc006")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -404,9 +412,9 @@ and will take advantage of multiple processor cores where possible.") (native-inputs `(("python" ,python-wrapper) ("pkg-config" ,pkg-config))) (home-page "https://www.libtorrent.org/") - (synopsis "Feature complete BitTorrent implementation") + (synopsis "Feature-complete BitTorrent implementation") (description - "libtorrent-rasterbar is a feature complete C++ BitTorrent implementation + "libtorrent-rasterbar is a feature-complete C++ BitTorrent implementation focusing on efficiency and scalability. It runs on embedded devices as well as desktops.") (license l:bsd-2))) @@ -468,29 +476,65 @@ features.") (define-public deluge (package (name "deluge") - (version "1.3.15") + (version "2.0.3") (source (origin (method url-fetch) (uri (string-append - "http://download.deluge-torrent.org/source/deluge-" - version ".tar.xz")) + "https://ftp.osuosl.org/pub/deluge/source/" + (version-major+minor version) "/deluge-" version ".tar.xz")) (sha256 (base32 - "0b7rri4x0wrcj7rjghrnw1kfrsd5i7i6aq85dsg5dg1w1qa0ar59")))) + "14d8kn2pvr1qv8mwqrxmj85jycr73vwfqz12hzag0ararbkfhyky")))) (build-system python-build-system) - (inputs - `(("libtorrent" ,libtorrent-rasterbar) - ("python2-chardet" ,python2-chardet) - ("python2-pygtk" ,python2-pygtk) - ("python2-pyopenssl" ,python2-pyopenssl) - ("python2-pyxdg" ,python2-pyxdg) - ("python2-service-identity" ,python2-service-identity) - ("python2-twisted" ,python2-twisted))) + (propagated-inputs + `(("gtk+" ,gtk+) + ("librsvg" ,librsvg) + ("libtorrent" ,libtorrent-rasterbar) + ("python-pycairo" ,python-pycairo) + ("python-chardet" ,python-chardet) + ("python-dbus" ,python-dbus) + ("python-mako" ,python-mako) + ("python-pygobject" ,python-pygobject) + ("python-pillow" ,python-pillow) + ("python-pyopenssl" ,python-pyopenssl) + ("python-pyxdg" ,python-pyxdg) + ("python-rencode" ,python-rencode) + ("python-service-identity" ,python-service-identity) + ("python-setproctitle" ,python-setproctitle) + ("python-six" ,python-six) + ("python-twisted" ,python-twisted) + ("python-zope-interface" ,python-zope-interface))) (native-inputs - `(("intltool" ,intltool))) + `(("intltool" ,intltool) + ("python-wheel" ,python-wheel))) + ;; TODO: Enable tests. + ;; After "pytest-twisted" is packaged, HOME is set, and an X server is + ;; started, some of the tests still fail. There are likely some tests + ;; that require a network connection. (arguments - `(#:python ,python-2)) + `(#:tests? #f + #:phases + (modify-phases %standard-phases + ;; Remove this phase when upgrading to version 2.0.4 or beyond, as + ;; the issue is fixed upstream. + (add-after 'unpack 'fix-gettext-warning + (lambda _ + (substitute* "deluge/i18n/util.py" + (("names='ngettext'") "names=['ngettext']")) + #t)) + (add-after 'install 'wrap + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (gi-typelib-path (getenv "GI_TYPELIB_PATH"))) + (for-each + (lambda (program) + (wrap-program program + `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))) + (map (lambda (name) + (string-append out "/bin/" name)) + '("deluge" "deluge-gtk")))) + #t))))) (home-page "https://www.deluge-torrent.org/") (synopsis "Fully-featured cross-platform ​BitTorrent client") (description