[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#30159] [PATCH 1/2] gnu: Add deluge.
From: |
Nam Nguyen |
Subject: |
[bug#30159] [PATCH 1/2] gnu: Add deluge. |
Date: |
Thu, 22 Nov 2018 00:14:42 -0800 |
User-agent: |
Mutt/1.10.1 (2018-07-13) |
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.
libtorrent-rasterbar-c++11 needed to be patched to avoid an error while running
deluge:
ImportError:
/gnu/store/...-libtorrent-rasterbar-1.1.8/lib/python2.7/site-packages/libtorrent.so:
undefined symbol: libtorrent session_handle wait_for_alert boost chrono
duration ratio
(I simplified the output.)
I am worried that adding the c++11 flag to libtorrent-rasterbar might
affect qbitorrent, so I kept it as a new variable/variant.
I used these as references to arrive at a solution.
http://slackbuilds.org/slackbuilds/14.2/network/deluge/deluge.SlackBuild
http://slackbuilds.org/slackbuilds/14.2/libraries/libtorrent-rasterbar/libtorrent-rasterbar.SlackBuild
https://github.com/qbittorrent/qBittorrent/issues/6383#issuecomment-281535787
> Hmm, ok, but for programs, regular inputs would work as well.
Per Danny's suggestion, I had to changed the propagated-inputs into
inputs. Leaving it as propagated-inputs led to a gtk+ conflict:
----8<------------------------------------------------------------
$ guix package -i zathura
The following package will be installed:
zathura 0.4.0
/gnu/store/1y31a6iqpq74py6msdvgbvkkb76rwj1s-zathura-0.4.0
guix package: error: profile contains conflicting entries for gtk+
guix package: error: first entry: address@hidden
/gnu/store/m2a5...-gtk+-3.22.30
guix package: error: ... propagated from address@hidden
guix package: error: ... propagated from address@hidden
guix package: error: second entry: address@hidden
/gnu/store/68k5...-gtk+-2.24.32
guix package: error: ... propagated from address@hidden
guix package: error: ... propagated from address@hidden
hint: Try upgrading both `zathura' and `deluge', or remove one of them from the
profile.
$ guix package -i zathura -n
The following package would be installed:
zathura 0.4.0
/gnu/store/1xr46b5r60g046q2m053mlbkiz96fwfz-zathura-0.4.0
guix package: error: profile contains conflicting entries for cairo
guix package: error: first entry: address@hidden
/gnu/store/r7ma8k...-cairo-1.14.10
guix package: error: ... propagated from address@hidden
guix package: error: second entry: address@hidden
/gnu/store/d8xl...-cairo-1.14.10
guix package: error: ... propagated from address@hidden
guix package: error: ... propagated from address@hidden
guix package: error: ... propagated from address@hidden
guix package: error: ... propagated from address@hidden
hint: Try upgrading both `zathura' and `deluge', or remove one of them from the
profile.
----8<------------------------------------------------------------
I have successfully built and tested deluge. The three patches follow.
[PATCH] gnu: Add deluge.
* gnu/packages/bittorrent.scm (deluge): New variable.
---
gnu/packages/bittorrent.scm | 39 +++++++++++++++++++++++++++++++++++++
1 file changed, 39 insertions(+)
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 license:gpl3+)))
--
2.19.1
[PATCH] gnu: Add libtorrent-rasterbar-c++11.
* gnu/packages/bittorrent.scm (libtorrent-rasterbar-c++11): New variable.
---
gnu/packages/bittorrent.scm | 15 +++++++++++++++
1 file changed, 15 insertions(+)
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
[PATCH] gnu: Add python-service-identity.
* gnu/packages/python-crypto.scm (python-service-identity,
python2-service-identity): New variables.
---
gnu/packages/python-crypto.scm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
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
- [bug#30159] [PATCH 1/2] gnu: Add deluge.,
Nam Nguyen <=