Subject: [bug#75644] [PATCH] gnu: Add rtorrent-xml-rpc.

From: Divya Ranjan <[email-masked]>
Date: Sat, 18 Jan 2025 08:05:46 +0000

* gnu/packages/bittorrent.scm (rtorrent-xml-rpc): New variable.
---
 gnu/packages/bittorrent.scm | 72 ++++++++++++++++++++++---------------
 1 file changed, 43 insertions(+), 29 deletions(-)

diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm
index 0d52d25e08..1e2e42f064 100644
--- a/gnu/packages/bittorrent.scm
+++ b/gnu/packages/bittorrent.scm
@@ -20,6 +20,7 @@
 ;;; Copyright © 2023 Clément Lassieur <[email-masked]>
 ;;; Copyright © 2024 Noisytoot <[email-masked]>
 ;;; Copyright © 2024 Zheng Junjie <[email-masked]>
+;;; Copyright © 2025 Divya Ranjan Pattanaik <[email-masked]>
 ;;;
 ;;; 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
-- 
2.47.1