[PATCH 1/2] gnu: Add deluge.

  • Done
  • quality assurance status badge
Details
5 participants
  • Danny Milosavljevic
  • Ludovic Courtès
  • Marius Bakke
  • mike rosset
  • Nam Nguyen
Owner
unassigned
Submitted by
mike rosset
Severity
normal
M
M
mike rosset wrote on 18 Jan 2018 16:03
(address . guix-patches@gnu.org)(address . mike.rosset@gmail.com)
20180118150351.1671-1-mike.rosset@gmail.com
* gnu/packages/bittorrent.scm (deluge): New variable.
---
gnu/packages/bittorrent.scm | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)

Toggle diff (58 lines)
diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm
index 053988c8d..17c72a635 100644
--- a/gnu/packages/bittorrent.scm
+++ b/gnu/packages/bittorrent.scm
@@ -41,6 +41,7 @@
#:use-module (gnu packages cyrus-sasl)
#:use-module (gnu packages databases)
#:use-module (gnu packages file)
+ #:use-module (gnu packages freedesktop)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg)
@@ -53,6 +54,7 @@
#:use-module (gnu packages ncurses)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-crypto)
#:use-module (gnu packages ssh)
#:use-module (gnu packages tls)
#:use-module (gnu packages xml))
@@ -408,3 +410,35 @@ desktops.")
(license l:bsd-2)))
+(define-public deluge
+ (package
+ (name "deluge")
+ (version "1.3.15")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://download.deluge-torrent.org/source/deluge-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "0b7rri4x0wrcj7rjghrnw1kfrsd5i7i6aq85dsg5dg1w1qa0ar59"))))
+ (build-system python-build-system)
+ (inputs `(("libtorrent-rasterbar" ,libtorrent-rasterbar)))
+ (propagated-inputs
+ `(("python2-pygtk" ,python2-pygtk)
+ ("python2-chardet" ,python2-chardet)
+ ("python2-pyopenssl" ,python2-pyopenssl)
+ ("python2-libtorrent" ,python2-libtorrent)
+ ("python2-twisted" ,python2-twisted)
+ ("python2-pyxdg" ,python2-pyxdg)))
+ (arguments
+ `(#:python ,python-2))
+ (home-page "http://deluge-torrent.org/")
+ (synopsis "Fully-featured cross-platform BitTorrent client")
+ (description
+ "Deluge contains the common features to BitTorrent clients such as
+Protocol Encryption, DHT, Local Peer Discovery (LSD), Peer Exchange (PEX),
+UPnP, NAT-PMP, Proxy support, Web seeds, global and per-torrent speed limits.
+As Deluge heavily utilises the libtorrent library")
+ (license l:gpl3+)))
--
2.15.1
M
M
mike rosset wrote on 18 Jan 2018 16:03
[PATCH 2/2] gnu: Add python2-libtorrent.
(address . guix-patches@gnu.org)(address . mike.rosset@gmail.com)
20180118150351.1671-2-mike.rosset@gmail.com
* gnu/packages/bittorrent.scm (python2-libtorrent): New variable.
---
gnu/packages/bittorrent.scm | 7 +++++++
1 file changed, 7 insertions(+)

Toggle diff (20 lines)
diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm
index 17c72a635..5ce1d1361 100644
--- a/gnu/packages/bittorrent.scm
+++ b/gnu/packages/bittorrent.scm
@@ -409,6 +409,13 @@ focusing on efficiency and scalability. It runs on embedded devices as well as
desktops.")
(license l:bsd-2)))
+(define-public python2-libtorrent
+ (package
+ (inherit libtorrent-rasterbar)
+ (name "python2-libtorrent")
+ (build-system python-build-system)
+ (arguments `(#:python ,python-2))
+ (synopsis "python bindings for libtorrent")))
(define-public deluge
(package
--
2.15.1
D
D
Danny Milosavljevic wrote on 18 Jan 2018 17:56
Re: [bug#30159] [PATCH 1/2] gnu: Add deluge.
(name . mike rosset)(address . mike.rosset@gmail.com)(address . 30159@debbugs.gnu.org)
20180118175659.647c7d6f@scratchpost.org
Hi,

thanks for the patch.

On Thu, 18 Jan 2018 07:03:50 -0800
mike rosset <mike.rosset@gmail.com> wrote:

Toggle quote (31 lines)
> * gnu/packages/bittorrent.scm (deluge): New variable.
> ---
> gnu/packages/bittorrent.scm | 34 ++++++++++++++++++++++++++++++++++
> 1 file changed, 34 insertions(+)
>
> diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm
> index 053988c8d..17c72a635 100644
> --- a/gnu/packages/bittorrent.scm
> +++ b/gnu/packages/bittorrent.scm
> @@ -41,6 +41,7 @@
> #:use-module (gnu packages cyrus-sasl)
> #:use-module (gnu packages databases)
> #:use-module (gnu packages file)
> + #:use-module (gnu packages freedesktop)
> #:use-module (gnu packages glib)
> #:use-module (gnu packages gnome)
> #:use-module (gnu packages gnupg)
> @@ -53,6 +54,7 @@
> #:use-module (gnu packages ncurses)
> #:use-module (gnu packages pkg-config)
> #:use-module (gnu packages python)
> + #:use-module (gnu packages python-crypto)
> #:use-module (gnu packages ssh)
> #:use-module (gnu packages tls)
> #:use-module (gnu packages xml))
> @@ -408,3 +410,35 @@ desktops.")
> (license l:bsd-2)))
>
>
> +(define-public deluge

The name suggests that this is a program and not a library (which is fine).

Toggle quote (8 lines)
> + (propagated-inputs
> + `(("python2-pygtk" ,python2-pygtk)
> + ("python2-chardet" ,python2-chardet)
> + ("python2-pyopenssl" ,python2-pyopenssl)
> + ("python2-libtorrent" ,python2-libtorrent)
> + ("python2-twisted" ,python2-twisted)
> + ("python2-pyxdg" ,python2-pyxdg)))

Hmm, ok, but for programs, regular inputs would work as well.

Toggle quote (2 lines)
> +As Deluge heavily utilises the libtorrent library")

^^^^ Sentence is cut.
D
D
Danny Milosavljevic wrote on 18 Jan 2018 20:13
Re: [bug#30159] [PATCH 2/2] gnu: Add python2-libtorrent.
(name . mike rosset)(address . mike.rosset@gmail.com)(address . 30159@debbugs.gnu.org)
20180118201308.16ebf07d@scratchpost.org
Toggle quote (8 lines)
> +(define-public python2-libtorrent
> + (package
> + (inherit libtorrent-rasterbar)
> + (name "python2-libtorrent")
> + (build-system python-build-system)
> + (arguments `(#:python ,python-2))
> + (synopsis "python bindings for libtorrent")))

Strange way to do that. Does this bundle libtorrent-rasterbar? Please unbundle it. (Try (delete-file-recursively "src") and then build the python bindings, with libtorrent-rasterbar in inputs)
L
L
Ludovic Courtès wrote on 30 Jan 2018 22:09
Re: [bug#30159] [PATCH 1/2] gnu: Add deluge.
(name . mike rosset)(address . mike.rosset@gmail.com)
87fu6nvytv.fsf@gnu.org
Hello Mike,

Could you follow up Danny’s suggestions by sending updated patches?
Looks like you’re almost there. :-)

Thank you!

Ludo’.

Danny Milosavljevic <dannym@scratchpost.org> skribis:

Toggle quote (53 lines)
> Hi,
>
> thanks for the patch.
>
> On Thu, 18 Jan 2018 07:03:50 -0800
> mike rosset <mike.rosset@gmail.com> wrote:
>
>> * gnu/packages/bittorrent.scm (deluge): New variable.
>> ---
>> gnu/packages/bittorrent.scm | 34 ++++++++++++++++++++++++++++++++++
>> 1 file changed, 34 insertions(+)
>>
>> diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm
>> index 053988c8d..17c72a635 100644
>> --- a/gnu/packages/bittorrent.scm
>> +++ b/gnu/packages/bittorrent.scm
>> @@ -41,6 +41,7 @@
>> #:use-module (gnu packages cyrus-sasl)
>> #:use-module (gnu packages databases)
>> #:use-module (gnu packages file)
>> + #:use-module (gnu packages freedesktop)
>> #:use-module (gnu packages glib)
>> #:use-module (gnu packages gnome)
>> #:use-module (gnu packages gnupg)
>> @@ -53,6 +54,7 @@
>> #:use-module (gnu packages ncurses)
>> #:use-module (gnu packages pkg-config)
>> #:use-module (gnu packages python)
>> + #:use-module (gnu packages python-crypto)
>> #:use-module (gnu packages ssh)
>> #:use-module (gnu packages tls)
>> #:use-module (gnu packages xml))
>> @@ -408,3 +410,35 @@ desktops.")
>> (license l:bsd-2)))
>>
>>
>> +(define-public deluge
>
> The name suggests that this is a program and not a library (which is fine).
>
>> + (propagated-inputs
>> + `(("python2-pygtk" ,python2-pygtk)
>> + ("python2-chardet" ,python2-chardet)
>> + ("python2-pyopenssl" ,python2-pyopenssl)
>> + ("python2-libtorrent" ,python2-libtorrent)
>> + ("python2-twisted" ,python2-twisted)
>> + ("python2-pyxdg" ,python2-pyxdg)))
>
> Hmm, ok, but for programs, regular inputs would work as well.
>
>> +As Deluge heavily utilises the libtorrent library")
>
> ^^^^ Sentence is cut.
L
L
Ludovic Courtès wrote on 27 Feb 2018 10:32
control message for bug #30159
(address . control@debbugs.gnu.org)
87vaei4w2e.fsf@gnu.org
tags 30159 moreinfo
N
N
Nam Nguyen wrote on 22 Nov 2018 09:14
Re: [bug#30159] [PATCH 1/2] gnu: Add deluge.
(address . 30159@debbugs.gnu.org)
20181122081442.GB29686@antelope
Attachment: file
N
N
Nam Nguyen wrote on 22 Nov 2018 09:30
(address . 30159@debbugs.gnu.org)
20181122083009.GC29686@antelope
I noticed that I mistakenly put license instead of l for deluge's license.

It should be: (license l:gpl3+)))
N
N
Nam Nguyen wrote on 22 Nov 2018 10:49
[PATCH] gnu: Add deluge.
(address . 30159@debbugs.gnu.org)
20181122094907.22856-1-namn@berkeley.edu
* gnu/packages/bittorrent.scm (deluge): New variable.
---
gnu/packages/bittorrent.scm | 39 +++++++++++++++++++++++++++++++++++++
1 file changed, 39 insertions(+)

Toggle diff (49 lines)
diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm
index 59fbd6906..f73488ff1 100644
--- a/gnu/packages/bittorrent.scm
+++ b/gnu/packages/bittorrent.scm
@@ -448,3 +448,42 @@ It aims to be a good alternative to all other BitTorrent clients out there.
qBittorrent is fast, stable and provides unicode support as well as many
features.")
(license l:gpl2+)))
+
+(define-public deluge
+ (package
+ (name "deluge")
+ (version "1.3.15")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://download.deluge-torrent.org/source/deluge-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "0b7rri4x0wrcj7rjghrnw1kfrsd5i7i6aq85dsg5dg1w1qa0ar59"))))
+ (build-system python-build-system)
+ (inputs
+ `(("libtorrent-rasterbar-c++11" ,libtorrent-rasterbar-c++11)
+ ("gnu-gettext" ,gnu-gettext)
+ ("python2-chardet" ,python2-chardet)
+ ("python2-pygtk" ,python2-pygtk)
+ ("python2-pyopenssl" ,python2-pyopenssl)
+ ("python2-pyxdg" ,python2-pyxdg)
+ ("python2-service-identity" ,python2-service-identity)
+ ("python2-setuptools" ,python2-setuptools)
+ ("python2-twisted" ,python2-twisted)))
+ (native-inputs
+ `(("intltool" ,intltool)))
+ (arguments
+ `(#:python ,python-2))
+ (home-page "https://www.deluge-torrent.org/")
+ (synopsis "Fully-featured cross-platform ?BitTorrent client")
+ (description
+ "Deluge contains the common features to BitTorrent clients such as
+Protocol Encryption, DHT, Local Peer Discovery (LSD), Peer Exchange
+(PEX), UPnP, NAT-PMP, Proxy support, Web seeds, global and per-torrent
+speed limits. Deluge heavily utilises the ?libtorrent library. It is
+designed to run as both a normal standalone desktop application and as a
+?client-server.")
+ (license l:gpl3+)))
--
2.19.1
N
N
Nam Nguyen wrote on 22 Nov 2018 10:49
[PATCH] gnu: Add libtorrent-rasterbar-c++11.
(address . 30159@debbugs.gnu.org)
20181122094907.22856-2-namn@berkeley.edu
* gnu/packages/bittorrent.scm (libtorrent-rasterbar-c++11): New variable.
---
gnu/packages/bittorrent.scm | 15 +++++++++++++++
1 file changed, 15 insertions(+)

Toggle diff (28 lines)
diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm
index f73488ff1..406176692 100644
--- a/gnu/packages/bittorrent.scm
+++ b/gnu/packages/bittorrent.scm
@@ -406,6 +406,21 @@ focusing on efficiency and scalability. It runs on embedded devices as well as
desktops.")
(license l:bsd-2)))
+(define-public libtorrent-rasterbar-c++11
+ (package
+ (inherit libtorrent-rasterbar)
+ (name "libtorrent-rasterbar-c++11")
+ (arguments
+ (substitute-keyword-arguments (package-arguments libtorrent-rasterbar)
+ ((#:phases phases '%standard-phases)
+ `(modify-phases ,phases
+ (add-after 'unpack 'compile-args-c++11
+ ;; https://github.com/qbittorrent/qBittorrent/issues/6383#issuecomment-281535787
+ (lambda _
+ (substitute* "bindings/python/setup.py"
+ (("\\+ target_specific\\(\\)\\,")
+ "+ target_specific() + ['-std=c++11'],"))))))))))
+
(define-public qbittorrent
(package
(name "qbittorrent")
--
2.19.1
N
N
Nam Nguyen wrote on 22 Nov 2018 10:49
[PATCH] gnu: Add python-service-identity.
(address . 30159@debbugs.gnu.org)
20181122094907.22856-3-namn@berkeley.edu
* gnu/packages/python-crypto.scm (python-service-identity,
python2-service-identity): New variables.
---
gnu/packages/python-crypto.scm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)

Toggle diff (40 lines)
diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm
index 1a70f943a..438e96822 100644
--- a/gnu/packages/python-crypto.scm
+++ b/gnu/packages/python-crypto.scm
@@ -970,3 +970,33 @@ been constructed to maintain extensive documentation on how to use
(description "This is a set of Python bindings for the scrypt key
derivation function.")
(license license:bsd-2)))
+
+(define-public python-service-identity
+ (package
+ (name "python-service-identity")
+ (version "17.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "service_identity" version))
+ (sha256
+ (base32
+ "1aq24cn3nnsjr9g797dayhx4g653h6bd41ksqhidzq0rvarzn0a0"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-attrs" ,python-attrs)
+ ("python-pyasn1" ,python-pyasn1)
+ ("python-pyasn1-modules" ,python-pyasn1-modules)
+ ("python-pyopenssl" ,python-pyopenssl)))
+ (home-page "https://service-identity.readthedocs.io/")
+ (synopsis "Service identity verification for PyOpenSSL")
+ (description
+ "@code{service_identity} aspires to give you all the tools you need
+for verifying whether a certificate is valid for the intended purposes.
+In the simplest case, this means host name verification. However,
+service_identity implements RFC 6125 fully and plans to add other
+relevant RFCs too.")
+ (license license:expat)))
+
+(define-public python2-service-identity
+ (package-with-python2 python-service-identity))
--
2.19.1
M
M
Marius Bakke wrote on 24 Nov 2018 01:56
Re: [bug#30159] [PATCH 1/2] gnu: Add deluge.
(address . mike.rosset@gmail.com)
87k1l3mgxf.fsf@fastmail.com
Nam Nguyen <namn@berkeley.edu> writes:

Toggle quote (8 lines)
> Hi all,
>
> I used Mike's work to successfully write a recipe for deluge. I hope this
> is the correct place to post these patches.
>
> python2-service-identity is added so that deluge can verify TLS certificates
> with pyopenssl.

Hi Nam,

Thank you for these patches!

I've applied all three with minor changes:

* The libtorrent C++ fix was moved into libtorrent itself instead of a
separate package.
* Dropped 'gettext' and 'setuptools' inputs from Deluge as they appeared
unused.
* Added copyright notices for you in the relevant places.

Hope this was okay, and welcome to Guix!
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCgAdFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAlv4ocwACgkQoqBt8qM6
VPpAyAf+NN26K+1SMShSmuxVU4rqBhJBx9Q9T3j8fsP3lnMNmhwqgTCPMe6uo1U/
U+waRXxNP8WEKcQceJk+OjvJAWM8wy29oC1d9WTC8yEaN9gQDagMvDCZiN8Fe3n7
Pu0qOOwHB3TtBY0D9f87dZ5srdDhPRgNjydDdo0En70KwBxwMP1c0sv39dZ65X+0
HzwPNmVpdhBLRrPYBHNf6B3y4RmQwLAYEd7zLXK05XsbtkawVqi/2FHrKHrJo5Fu
ow7z1BJRzw2J7VxwowMIxPR3uuZszKjByyofkfSiPQxj/AUiKsX+C7xD1piCSGo4
8GJTL9LGKMrS7zeLTtYT4HeTeF+FiQ==
=Wkkn
-----END PGP SIGNATURE-----

Closed
N
N
Nam Nguyen wrote on 24 Nov 2018 03:25
(name . Marius Bakke)(address . mbakke@fastmail.com)
20181124022549.GA19552@antelope
Hi Marius,

Toggle quote (3 lines)
> * Dropped 'gettext' and 'setuptools' inputs from Deluge as they appeared
> unused.

As you had suggested, intltool should be removed, as well. Thank you for
your help.
?