gnu: upower: Enable GObject introspection.
[jackhill/guix/guix.git] / gnu / packages / bittorrent.scm
index 8b43886..2410647 100644 (file)
@@ -1,4 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
 ;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -20,8 +21,8 @@
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system glib-or-gtk)
   #:use-module ((guix licenses) #:prefix l:)
-  #:use-module (gnu packages openssl)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages pkg-config)
   #:use-module ((gnu packages compression)
                 #:select (zlib))
   #:use-module (gnu packages glib)
-  #:use-module (gnu packages gtk))
+  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages check)
+  #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages curl)
+  #:use-module (gnu packages cyrus-sasl)
+  #:use-module (gnu packages tls))
 
 (define-public transmission
   (package
               (sha256
                (base32
                 "1sxr1magqb5s26yvr5yhs1f7bmir8gl09niafg64lhgfnhv1kz59"))))
-    (build-system gnu-build-system)
+    (build-system glib-or-gtk-build-system)
     (outputs '("out"                      ; library and command-line interface
                "gui"))                    ; graphical user interface
     (arguments
-     '(#:phases (alist-cons-after
+     '(#:glib-or-gtk-wrap-excluded-outputs '("out")
+       #:phases (alist-cons-after
                  'install 'move-gui
                  (lambda* (#:key outputs #:allow-other-keys)
                    ;; Move the GUI to its own output, so that "out" doesn't
@@ -76,7 +83,7 @@
     (description
      "Transmission is a BitTorrent client that comes with graphical,
 textual, and Web user interfaces.  Transmission also has a daemon for
-unattended operationg.  It supports local peer discovery, full encryption,
+unattended operations.  It supports local peer discovery, full encryption,
 DHT, µTP, PEX and Magnet Links.")
 
     ;; COPYING reads:
@@ -88,3 +95,57 @@ DHT, µTP, PEX and Magnet Links.")
     ;;
     ;; A few files files carry an MIT/X11 license header.
     (license l:gpl3+)))
+
+(define-public libtorrent
+  (package
+    (name "libtorrent")
+    (version "0.13.6")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://rtorrent.net/downloads/libtorrent-"
+                    version ".tar.gz"))
+              (sha256
+               (base32
+                "012s1nwcvz5m5r4d2z9klgy2n34kpgn9kgwgzxm97zgdjs6a0f18"))))
+    (build-system gnu-build-system)
+    (inputs `(("openssl" ,openssl)
+              ("zlib" ,zlib)))
+    (native-inputs `(("pkg-config" ,pkg-config)
+                     ("cppunit" ,cppunit)))
+    (synopsis "BitTorrent library of rtorrent")
+    (description
+     "LibTorrent is a BitTorrent library used by and developed in parallel
+with the BitTorrent client rtorrent.  It is written in C++ with emphasis on
+speed and efficiency.")
+    (home-page "https://github.com/rakshasa/libtorrent")
+    (license l:gpl2+)))
+
+(define-public rtorrent
+  (package
+    (name "rtorrent")
+    (version "0.9.6")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://rtorrent.net/downloads/rtorrent-"
+                    version ".tar.gz"))
+              (sha256
+               (base32
+                "03jvzw9pi2mhcm913h8qg0qw9gwjqc6lhwynb1yz1y163x7w4s8y"))))
+    (build-system gnu-build-system)
+    (inputs `(("libtorrent" ,libtorrent)
+              ("ncurses" ,ncurses)
+              ("curl" ,curl)
+              ("cyrus-sasl" ,cyrus-sasl)
+              ("openssl" ,openssl)
+              ("zlib" ,zlib)))
+    (native-inputs `(("pkg-config" ,pkg-config)
+                     ("cppunit" ,cppunit)))
+    (synopsis "BitTorrent client with ncurses interface")
+    (description
+     "rTorrent is a BitTorrent client with an ncurses interface.  It supports
+full encryption, DHT, PEX, and Magnet Links.  It can also be controlled via
+XML-RPC over SCGI.")
+    (home-page "https://github.com/rakshasa/rtorrent")
+    (license l:gpl2+)))