gnu: libtorrent: Update to 0.13.6.
[jackhill/guix/guix.git] / gnu / packages / bittorrent.scm
CommitLineData
3963a729 1;;; GNU Guix --- Functional package management for GNU
df66fee7 2;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
3963a729
LC
3;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
4;;;
5;;; This file is part of GNU Guix.
6;;;
7;;; GNU Guix is free software; you can redistribute it and/or modify it
8;;; under the terms of the GNU General Public License as published by
9;;; the Free Software Foundation; either version 3 of the License, or (at
10;;; your option) any later version.
11;;;
12;;; GNU Guix is distributed in the hope that it will be useful, but
13;;; WITHOUT ANY WARRANTY; without even the implied warranty of
14;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15;;; GNU General Public License for more details.
16;;;
17;;; You should have received a copy of the GNU General Public License
18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19
20(define-module (gnu packages bittorrent)
21 #:use-module (guix packages)
22 #:use-module (guix download)
23 #:use-module (guix build-system gnu)
4cdec09a 24 #:use-module (guix build-system glib-or-gtk)
b5b73a82 25 #:use-module ((guix licenses) #:prefix l:)
3963a729
LC
26 #:use-module (gnu packages libevent)
27 #:use-module (gnu packages curl)
28 #:use-module (gnu packages pkg-config)
29 #:use-module (gnu packages file)
30 #:use-module (gnu packages linux)
31 #:use-module ((gnu packages compression)
32 #:select (zlib))
33 #:use-module (gnu packages glib)
df66fee7 34 #:use-module (gnu packages gtk)
2d8dc79c
TUBK
35 #:use-module (gnu packages check)
36 #:use-module (gnu packages ncurses)
37 #:use-module (gnu packages curl)
cc2b77df
AE
38 #:use-module (gnu packages cyrus-sasl)
39 #:use-module (gnu packages tls))
3963a729
LC
40
41(define-public transmission
42 (package
43 (name "transmission")
1f2b8c88 44 (version "2.84")
3963a729
LC
45 (source (origin
46 (method url-fetch)
47 (uri (string-append
48 "https://transmission.cachefly.net/transmission-"
49 version ".tar.xz"))
50 (sha256
51 (base32
1f2b8c88 52 "1sxr1magqb5s26yvr5yhs1f7bmir8gl09niafg64lhgfnhv1kz59"))))
4cdec09a 53 (build-system glib-or-gtk-build-system)
3963a729
LC
54 (outputs '("out" ; library and command-line interface
55 "gui")) ; graphical user interface
56 (arguments
4cdec09a
LC
57 '(#:glib-or-gtk-wrap-excluded-outputs '("out")
58 #:phases (alist-cons-after
3963a729
LC
59 'install 'move-gui
60 (lambda* (#:key outputs #:allow-other-keys)
61 ;; Move the GUI to its own output, so that "out" doesn't
62 ;; depend on GTK+.
63 (let ((out (assoc-ref outputs "out"))
64 (gui (assoc-ref outputs "gui")))
65 (mkdir-p (string-append gui "/bin"))
66 (rename-file (string-append out "/bin/transmission-gtk")
67 (string-append gui
68 "/bin/transmission-gtk"))))
69 %standard-phases)))
70 (inputs
71 `(("inotify-tools" ,inotify-tools)
72 ("libevent" ,libevent)
73 ("curl" ,curl)
74 ("openssl" ,openssl)
75 ("file" ,file)
76 ("zlib" ,zlib)
77 ("gtk+" ,gtk+)))
78 (native-inputs
79 `(("intltool" ,intltool)
80 ("pkg-config" ,pkg-config)))
81 (home-page "http://www.transmissionbt.com/")
82 (synopsis "Fast and easy BitTorrent client")
83 (description
84 "Transmission is a BitTorrent client that comes with graphical,
85textual, and Web user interfaces. Transmission also has a daemon for
e881752c 86unattended operations. It supports local peer discovery, full encryption,
3963a729
LC
87DHT, µTP, PEX and Magnet Links.")
88
89 ;; COPYING reads:
90 ;;
91 ;; Transmission can be redistributed and/or modified under the terms of
92 ;; the GNU GPLv2 (http://www.gnu.org/licenses/license-list.html#GPLv2),
93 ;; the GNU GPLv3 (http://www.gnu.org/licenses/license-list.html#GNUGPLv3),
94 ;; or any future license endorsed by Mnemosyne LLC.
95 ;;
96 ;; A few files files carry an MIT/X11 license header.
97 (license l:gpl3+)))
df66fee7
LC
98
99(define-public libtorrent
100 (package
101 (name "libtorrent")
29b4c57b 102 (version "0.13.6")
df66fee7
LC
103 (source (origin
104 (method url-fetch)
105 (uri (string-append
29b4c57b 106 "http://rtorrent.net/downloads/libtorrent-"
df66fee7
LC
107 version ".tar.gz"))
108 (sha256
109 (base32
29b4c57b 110 "012s1nwcvz5m5r4d2z9klgy2n34kpgn9kgwgzxm97zgdjs6a0f18"))))
df66fee7
LC
111 (build-system gnu-build-system)
112 (inputs `(("openssl" ,openssl)
113 ("zlib" ,zlib)))
114 (native-inputs `(("pkg-config" ,pkg-config)
29b4c57b 115 ("cppunit" ,cppunit)))
df66fee7
LC
116 (synopsis "BitTorrent library of rtorrent")
117 (description
118 "LibTorrent is a BitTorrent library used by and developed in parallel
119with the BitTorrent client rtorrent. It is written in C++ with emphasis on
120speed and efficiency.")
9db04bf5 121 (home-page "https://github.com/rakshasa/libtorrent")
df66fee7 122 (license l:gpl2+)))
2d8dc79c
TUBK
123
124(define-public rtorrent
125 (package
126 (name "rtorrent")
127 (version "0.9.4")
128 (source (origin
129 (method url-fetch)
130 (uri (string-append
131 "http://libtorrent.rakshasa.no/downloads/rtorrent-"
132 version ".tar.gz"))
133 (sha256
134 (base32
135 "113yrrac75vqi4g8r6bgs0ggjllj9bkg9shv08vqzdhkwqg2q2mw"))))
136 (build-system gnu-build-system)
137 (inputs `(("libtorrent" ,libtorrent)
138 ("ncurses" ,ncurses)
139 ("curl" ,curl)
140 ("cyrus-sasl" ,cyrus-sasl)
141 ("openssl" ,openssl)
142 ("zlib" ,zlib)))
143 (native-inputs `(("pkg-config" ,pkg-config)
144 ("cppunit" ,cppunit)))
145 (synopsis "BitTorrent client with ncurses interface")
146 (description
147 "rTorrent is a BitTorrent client with an ncurses interface. It supports
148full encryption, DHT, PEX, and Magnet Links. It can also be controlled via
149XML-RPC over SCGI.")
9db04bf5 150 (home-page "https://github.com/rakshasa/rtorrent")
2d8dc79c 151 (license l:gpl2+)))