[bug#75644] gnu: Add rtorrent-xml-rpc.
Commit Message
* gnu/packages/bittorrent.scm (rtorrent-xml-rpc): New variable.
---
gnu/packages/bittorrent.scm | 72 ++++++++++++++++++++++---------------
1 file changed, 43 insertions(+), 29 deletions(-)
Comments
Hi Divya,
On 2025-01-18 08:05, Divya Ranjan via Guix-patches via wrote:
> * gnu/packages/bittorrent.scm (rtorrent-xml-rpc): New variable.
Is it worth defining a package variant just for the XML-RPC support?
Why not just build rtorrent with XML-RPC baked in? Unless there's a cycle
or XML-RPC addition increases the package size by intolerable amounts,
I'd say you should simply enable the feature in the base rtorrent package
otherwise if everyone starts defining "minimalist" package variants its going
to result in a combinatorial explosion.
My 2¢,
@@ -20,6 +20,7 @@
;;; Copyright © 2023 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2024 Noisytoot <ron@noisytoot.org>
;;; Copyright © 2024 Zheng Junjie <873216071@qq.com>
+;;; Copyright © 2025 Divya Ranjan Pattanaik <divya@subvertising.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -256,39 +257,52 @@ (define-public rtorrent
(home-page "https://github.com/rakshasa/rtorrent")
(license l:gpl2+)))
-(define-public tremc
- (let ((commit "d8deaa5ac25bb45a2ca3a930309d6ecc74836a54")
- (revision "1"))
+(define-public rtorrent-xml-rpc
(package
- (name "tremc")
- (version (git-version "0.9.3" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/tremc/tremc")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "08kpqmgisja98918f2hlmdrld5662dqlkssp0pqlki38l6fvbj7r"))))
- (build-system gnu-build-system)
+ (inherit rtorrent)
+ (name "rtorrent-xml-rpc")
(arguments
- `(#:tests? #f ; no test suite
- #:make-flags
- (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
- #:phases
- (modify-phases %standard-phases
- ;; The software is just a Python script that must be copied into place.
- (delete 'configure)
- (delete 'build))))
+ `(#:configure-flags '("--with-xmlrpc-c")))
(inputs
- (list python))
- (synopsis "Console client for the Transmission BitTorrent daemon")
- (description "Tremc is a console client, with a curses interface, for the
+ (modify-inputs (package-inputs rtorrent)
+ (append xmlrpc-c)))
+ (description
+ "rTorrent is a BitTorrent client with an ncurses interface. It supports
+full encryption, DHT, PEX, and Magnet Links. Built with XML-RPC support.")))
+
+(define-public tremc
+ (let ((commit "d8deaa5ac25bb45a2ca3a930309d6ecc74836a54")
+ (revision "1"))
+ (package
+ (name "tremc")
+ (version (git-version "0.9.3" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tremc/tremc")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "08kpqmgisja98918f2hlmdrld5662dqlkssp0pqlki38l6fvbj7r"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no test suite
+ #:make-flags
+ (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
+ #:phases
+ (modify-phases %standard-phases
+ ;; The software is just a Python script that must be copied into place.
+ (delete 'configure)
+ (delete 'build))))
+ (inputs
+ (list python))
+ (synopsis "Console client for the Transmission BitTorrent daemon")
+ (description "Tremc is a console client, with a curses interface, for the
Transmission BitTorrent daemon.")
- (home-page "https://github.com/tremc/tremc")
- (license l:gpl3+))))
+ (home-page "https://github.com/tremc/tremc")
+ (license l:gpl3+))))
(define-public aria2
(package