Commit | Line | Data |
---|---|---|
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, | |
85 | textual, and Web user interfaces. Transmission also has a daemon for | |
e881752c | 86 | unattended operations. It supports local peer discovery, full encryption, |
3963a729 LC |
87 | DHT, µ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 | |
119 | with the BitTorrent client rtorrent. It is written in C++ with emphasis on | |
120 | speed 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 | |
148 | full encryption, DHT, PEX, and Magnet Links. It can also be controlled via | |
149 | XML-RPC over SCGI.") | |
9db04bf5 | 150 | (home-page "https://github.com/rakshasa/rtorrent") |
2d8dc79c | 151 | (license l:gpl2+))) |