From debbugs-submit-bounces@debbugs.gnu.org Thu Nov 22 03:14:58 2018 Received: (at 30159) by debbugs.gnu.org; 22 Nov 2018 08:14:58 +0000 Received: from localhost ([127.0.0.1]:40467 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gPk8X-0002Es-RO for submit@debbugs.gnu.org; Thu, 22 Nov 2018 03:14:58 -0500 Received: from mail-pl1-f193.google.com ([209.85.214.193]:46115) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gPk8V-0002Ed-Si for 30159@debbugs.gnu.org; Thu, 22 Nov 2018 03:14:56 -0500 Received: by mail-pl1-f193.google.com with SMTP id t13so8891878ply.13 for <30159@debbugs.gnu.org>; Thu, 22 Nov 2018 00:14:55 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:mime-version :content-disposition:content-transfer-encoding:user-agent; bh=E/yiL31OykF1uIUN5uPCPu5KnLMqY6lm4D2QcVbzLLA=; b=CnPhisuZiAymuFpesMTPtJdbABGROmRxpLmnEy8rbmI7F58xGbjdfr9h5O2eyUPmaF 1o5LAfEAPyzUpg/qwCxK6C1N1bkolN2FpVUT5T3lPxzKiS8piKebbihhFYZE1YYkd+CX jrrNFvYSz6+SSmJ6NTbGderC31qOKX/+YIvFJBOBYa32LG9LJ1P4S02QzqfbqtVxMMpZ +tQF8B6zsh/7GehxPf11UC5SeLPMUTHc2868KzDJYEOgHXG4KT1sxxUZy9pMDeOHmRho FQTRfOXunVj7vN1JuAwLAHXihq3rkPqmgbGDNepf1aGpUrl+9lsUFxpgcupHCpU4eEtF 5fSg== X-Gm-Message-State: AA+aEWYYeIAfsasuaC/V8If990rWmacxMAVMX5WWE8eTsTcLFcKO909x r0vGbEPS83WYi0AfTV5vI5Edjv5IZyU= X-Google-Smtp-Source: AFSGD/VSdU+kHN6h4apIBdQiEqICbDfEGD0tT/Aasqv3+PNUtEJ7s4ETA31BsbJLAhK/mZigG1QNlw== X-Received: by 2002:a17:902:6909:: with SMTP id j9mr10009759plk.196.1542874488829; Thu, 22 Nov 2018 00:14:48 -0800 (PST) Received: from antelope ([24.5.139.14]) by smtp.gmail.com with ESMTPSA id j64-v6sm27663937pfc.43.2018.11.22.00.14.46 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 22 Nov 2018 00:14:48 -0800 (PST) Date: Thu, 22 Nov 2018 00:14:42 -0800 From: Nam Nguyen To: 30159@debbugs.gnu.org Subject: Re: [bug#30159] [PATCH 1/2] gnu: Add deluge. Message-ID: <20181122081442.GB29686@antelope> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit User-Agent: Mutt/1.10.1 (2018-07-13) X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 30159 Cc: dannym@scratchpost.org, mike.rosset@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) 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: gtk+@3.22.30 /gnu/store/m2a5...-gtk+-3.22.30 guix package: error: ... propagated from girara@0.2.9 guix package: error: ... propagated from zathura@0.4.0 guix package: error: second entry: gtk+@2.24.32 /gnu/store/68k5...-gtk+-2.24.32 guix package: error: ... propagated from python2-pygtk@2.24.0 guix package: error: ... propagated from deluge@1.3.15 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: cairo@1.14.10 /gnu/store/r7ma8k...-cairo-1.14.10 guix package: error: ... propagated from zathura@0.4.0 guix package: error: second entry: cairo@1.14.10 /gnu/store/d8xl...-cairo-1.14.10 guix package: error: ... propagated from pango@1.42.0 guix package: error: ... propagated from gtk+@2.24.32 guix package: error: ... propagated from python2-pygtk@2.24.0 guix package: error: ... propagated from deluge@1.3.15 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