Commit | Line | Data |
---|---|---|
1010e530 CR |
1 | ;;; GNU Guix --- Functional package management for GNU |
2 | ;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com> | |
3a733420 | 3 | ;;; Copyright © 2015 Amirouche Boubekki <amirouche@hypermove.net> |
4acbd206 | 4 | ;;; Copyright © 2016 Al McElrath <hello@yrns.org> |
4f5a0f32 | 5 | ;;; Copyright © 2016, 2017 ng0 <ng0@libertad.pw> |
f0f0a48b DB |
6 | ;;; Copyright © 2015 Dmitry Bogatov <KAction@gnu.org> |
7 | ;;; Copyright © 2015 Leo Famulari <leo@famulari.name> | |
8 | ;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org> | |
f3a53f3c | 9 | ;;; Copyright © 2017 Alex Griffin <a@ajgrf.com> |
1010e530 CR |
10 | ;;; |
11 | ;;; This file is part of GNU Guix. | |
12 | ;;; | |
13 | ;;; GNU Guix is free software; you can redistribute it and/or modify it | |
14 | ;;; under the terms of the GNU General Public License as published by | |
15 | ;;; the Free Software Foundation; either version 3 of the License, or (at | |
16 | ;;; your option) any later version. | |
17 | ;;; | |
18 | ;;; GNU Guix is distributed in the hope that it will be useful, but | |
19 | ;;; WITHOUT ANY WARRANTY; without even the implied warranty of | |
20 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
21 | ;;; GNU General Public License for more details. | |
22 | ;;; | |
23 | ;;; You should have received a copy of the GNU General Public License | |
24 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | |
25 | ||
975b8942 | 26 | (define-module (gnu packages suckless) |
3a733420 | 27 | #:use-module ((guix licenses) #:prefix license:) |
1010e530 CR |
28 | #:use-module (guix packages) |
29 | #:use-module (guix download) | |
30 | #:use-module (guix build-system gnu) | |
4acbd206 | 31 | #:use-module (guix build-system glib-or-gtk) |
1010e530 | 32 | #:use-module (gnu packages) |
4acbd206 | 33 | #:use-module (gnu packages gnome) |
f0f0a48b | 34 | #:use-module (gnu packages image) |
3a733420 AB |
35 | #:use-module (gnu packages xorg) |
36 | #:use-module (gnu packages fonts) | |
37 | #:use-module (gnu packages pkg-config) | |
4acbd206 | 38 | #:use-module (gnu packages webkit) |
3a733420 | 39 | #:use-module (gnu packages fontutils)) |
1010e530 CR |
40 | |
41 | (define-public dwm | |
42 | (package | |
43 | (name "dwm") | |
648733dc | 44 | (version "6.1") |
1010e530 CR |
45 | (source (origin |
46 | (method url-fetch) | |
47 | (uri (string-append "http://dl.suckless.org/dwm/dwm-" | |
48 | version ".tar.gz")) | |
49 | (sha256 | |
648733dc | 50 | (base32 "1zkmwb6df6m254shx06ly90c0q4jl70skk1pvkixpb7hcxhwbxn2")))) |
1010e530 CR |
51 | (build-system gnu-build-system) |
52 | (arguments | |
53 | `(#:tests? #f | |
648733dc AG |
54 | #:make-flags (list (string-append "FREETYPEINC=" |
55 | (assoc-ref %build-inputs "freetype") | |
56 | "/include/freetype2")) | |
1010e530 CR |
57 | #:phases |
58 | (alist-replace | |
59 | 'configure | |
60 | (lambda _ | |
61 | (substitute* "Makefile" (("\\$\\{CC\\}") "gcc")) | |
62 | #t) | |
63 | (alist-replace | |
64 | 'install | |
65 | (lambda* (#:key outputs #:allow-other-keys) | |
66 | (let ((out (assoc-ref outputs "out"))) | |
67 | (zero? | |
68 | (system* "make" "install" | |
69 | (string-append "DESTDIR=" out) "PREFIX=")))) | |
70 | %standard-phases)))) | |
71 | (inputs | |
648733dc AG |
72 | `(("freetype" ,freetype) |
73 | ("libx11" ,libx11) | |
74 | ("libxft" ,libxft) | |
1010e530 CR |
75 | ("libxinerama" ,libxinerama))) |
76 | (home-page "http://dwm.suckless.org/") | |
77 | (synopsis "Dynamic window manager") | |
78 | (description | |
35b9e423 EB |
79 | "dwm is a dynamic window manager for X. It manages windows in tiled, |
80 | monocle and floating layouts. All of the layouts can be applied dynamically, | |
dfde065f | 81 | optimising the environment for the application in use and the task performed.") |
3a733420 | 82 | (license license:x11))) |
65a05690 SB |
83 | |
84 | (define-public dmenu | |
85 | (package | |
86 | (name "dmenu") | |
bc47382a | 87 | (version "4.6") |
65a05690 SB |
88 | (source (origin |
89 | (method url-fetch) | |
90 | (uri (string-append "http://dl.suckless.org/tools/dmenu-" | |
91 | version ".tar.gz")) | |
92 | (sha256 | |
93 | (base32 | |
bc47382a | 94 | "1cwnvamqqlgczvd5dv5rsgqbhv8kp0ddjnhmavb3q732i8028yja")))) |
65a05690 SB |
95 | (build-system gnu-build-system) |
96 | (arguments | |
97 | '(#:tests? #f ; no tests | |
98 | #:make-flags (list "CC=gcc" | |
bc47382a AG |
99 | (string-append "PREFIX=" %output) |
100 | (string-append "FREETYPEINC=" | |
101 | (assoc-ref %build-inputs "freetype") | |
102 | "/include/freetype2")) | |
65a05690 SB |
103 | #:phases |
104 | (alist-delete 'configure %standard-phases))) | |
105 | (inputs | |
bc47382a AG |
106 | `(("freetype" ,freetype) |
107 | ("libxft" ,libxft) | |
108 | ("libx11" ,libx11) | |
65a05690 SB |
109 | ("libxinerama" ,libxinerama))) |
110 | (home-page "http://tools.suckless.org/dmenu/") | |
111 | (synopsis "Dynamic menu") | |
112 | (description | |
113 | "A dynamic menu for X, originally designed for dwm. It manages large | |
114 | numbers of user-defined menu items efficiently.") | |
3a733420 | 115 | (license license:x11))) |
15f5f686 TČ |
116 | |
117 | (define-public slock | |
118 | (package | |
119 | (name "slock") | |
f3a53f3c | 120 | (version "1.4") |
15f5f686 TČ |
121 | (source (origin |
122 | (method url-fetch) | |
123 | (uri (string-append "http://dl.suckless.org/tools/slock-" | |
124 | version ".tar.gz")) | |
125 | (sha256 | |
126 | (base32 | |
f3a53f3c | 127 | "0sif752303dg33f14k6pgwq2jp1hjyhqv6x4sy3sj281qvdljf5m")))) |
15f5f686 TČ |
128 | (build-system gnu-build-system) |
129 | (arguments | |
130 | '(#:tests? #f ; no tests | |
131 | #:make-flags (list "CC=gcc" | |
132 | (string-append "PREFIX=" %output)) | |
133 | #:phases (alist-delete 'configure %standard-phases))) | |
134 | (inputs | |
135 | `(("libx11" ,libx11) | |
136 | ("libxext" ,libxext) | |
fea1422e LF |
137 | ("libxinerama" ,libxinerama) |
138 | ("libxrandr" ,libxrandr))) | |
15f5f686 TČ |
139 | (home-page "http://tools.suckless.org/slock/") |
140 | (synopsis "Simple X session lock") | |
141 | (description | |
142 | "Simple X session lock with trivial feedback on password entry.") | |
3a733420 AB |
143 | (license license:x11))) |
144 | ||
145 | (define-public st | |
146 | (package | |
147 | (name "st") | |
87520dfd | 148 | (version "0.7") |
3a733420 AB |
149 | (source |
150 | (origin | |
151 | (method url-fetch) | |
152 | (uri (string-append "http://dl.suckless.org/st/st-" | |
153 | version ".tar.gz")) | |
154 | (sha256 | |
155 | (base32 | |
87520dfd | 156 | "00309qiw20rc89696pk8bdr7ik4r1aarik7jxqk8k66cdj80v1zp")))) |
3a733420 AB |
157 | (build-system gnu-build-system) |
158 | (arguments | |
159 | '(#:tests? #f ; no tests | |
160 | #:make-flags (list "CC=gcc" | |
161 | (string-append "PREFIX=" %output)) | |
162 | #:phases | |
163 | (modify-phases %standard-phases | |
164 | (delete 'configure) | |
165 | (add-after 'unpack 'inhibit-terminfo-install | |
166 | (lambda _ | |
167 | (substitute* "Makefile" | |
168 | (("\t@tic -s st.info") "")) | |
169 | #t))))) | |
170 | (inputs | |
171 | `(("libx11" ,libx11) | |
172 | ("libxft" ,libxft) | |
3a733420 | 173 | ("fontconfig" ,fontconfig) |
939111ca | 174 | ("freetype" ,freetype))) |
3a733420 AB |
175 | (native-inputs `(("pkg-config" ,pkg-config))) |
176 | (home-page "http://st.suckless.org/") | |
177 | (synopsis "Simple terminal emulator") | |
178 | (description | |
179 | "St implements a simple and lightweight terminal emulator. It | |
180 | implements 256 colors, most VT10X escape sequences, utf8, X11 copy/paste, | |
181 | antialiased fonts (using fontconfig), fallback fonts, resizing, and line | |
182 | drawing.") | |
183 | (license license:x11))) | |
4acbd206 AM |
184 | |
185 | (define-public surf | |
186 | (package | |
187 | (name "surf") | |
188 | (version "0.7") | |
189 | (source | |
190 | (origin | |
191 | (method url-fetch) | |
192 | (uri (string-append "http://dl.suckless.org/surf/surf-" | |
193 | version ".tar.gz")) | |
194 | (sha256 | |
195 | (base32 | |
196 | "0jj93izd8fizxfa6ln9w1h9bwki81sz5dhskh5x1rl34zd38aq4m")))) | |
197 | (build-system glib-or-gtk-build-system) | |
198 | (arguments | |
199 | '(#:tests? #f ; no tests | |
200 | #:make-flags (list "CC=gcc" | |
201 | (string-append "PREFIX=" %output)) | |
202 | #:phases | |
203 | (modify-phases %standard-phases | |
204 | (delete 'configure)))) | |
205 | (inputs | |
206 | `(("glib-networking" ,glib-networking) | |
207 | ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) | |
208 | ("webkitgtk" ,webkitgtk/gtk+-2))) | |
209 | (native-inputs | |
210 | `(("pkg-config" ,pkg-config))) | |
211 | (home-page "http://surf.suckless.org/") | |
212 | (synopsis "Simple web browser") | |
213 | (description | |
214 | "Surf is a simple web browser based on WebKit/GTK+. It is able to | |
215 | display websites and follow links. It supports the XEmbed protocol which | |
216 | makes it possible to embed it in another application. Furthermore, one can | |
217 | point surf to another URI by setting its XProperties.") | |
218 | (license license:x11))) | |
f0f0a48b DB |
219 | |
220 | (define-public sent | |
221 | (package | |
222 | (name "sent") | |
223 | (version "0.2") | |
224 | (source (origin | |
225 | (method url-fetch) | |
226 | (uri (string-append "http://dl.suckless.org/tools/sent-" | |
227 | version ".tar.gz")) | |
228 | (sha256 | |
229 | (base32 | |
230 | "0xhh752hwaa26k4q6wvrb9jnpbnylss2aw6z11j7l9rav7wn3fak")))) | |
231 | (build-system gnu-build-system) | |
232 | (arguments | |
233 | `(#:phases (modify-phases %standard-phases | |
234 | (delete 'configure)) ;no configuration | |
235 | #:tests? #f ;no test suite | |
236 | #:make-flags (let ((pkg-config (lambda (flag) | |
237 | (string-append | |
238 | "$(shell pkg-config " flag " " | |
239 | "xft fontconfig x11 libpng)")))) | |
240 | (list | |
241 | "CC=gcc" | |
242 | (string-append "PREFIX=" %output) | |
243 | (string-append "INCS=-I. " (pkg-config "--cflags")) | |
244 | (string-append "LIBS=" (pkg-config "--libs") " -lm"))))) | |
245 | (native-inputs | |
246 | `(("pkg-config" ,pkg-config))) | |
247 | (inputs | |
248 | `(("libpng" ,libpng) | |
249 | ("libx11" ,libx11) | |
250 | ("libxft" ,libxft) | |
251 | ("fontconfig" ,fontconfig))) | |
252 | (synopsis "Plaintext presentation tool") | |
253 | (description "Sent uses plaintext files and PNG images to create slideshow | |
254 | presentations. Each paragraph represents a slide in the presentation. | |
255 | Especially for presentations using the Takahashi method this is very nice and | |
256 | allows you to write down the presentation for a quick lightning talk within a | |
257 | few minutes.") | |
258 | (home-page "http://tools.suckless.org/sent") | |
259 | (license license:x11))) | |
4f5a0f32 | 260 | |
261 | (define-public xbattmon | |
262 | (package | |
263 | (name "xbattmon") | |
264 | (version "0.9") | |
265 | (source | |
266 | (origin | |
267 | (method url-fetch) | |
268 | (uri (string-append "http://dl.2f30.org/releases/" | |
269 | name "-" version ".tar.gz")) | |
270 | (sha256 | |
271 | (base32 | |
272 | "0n2rrjq03pgqrdkl7cz5snsfdanf4s58w9h6dbvnl7p8bbd3j2kn")))) | |
273 | (build-system gnu-build-system) | |
274 | (arguments | |
275 | `(#:tests? #f ; No tests | |
276 | #:make-flags (list "CC=gcc" | |
277 | (string-append "PREFIX=" %output)))) | |
278 | (inputs | |
279 | `(("libx11" ,libx11))) | |
280 | (home-page "http://git.2f30.org/xbattmon/") | |
281 | (synopsis "Simple battery monitor for X") | |
282 | (description | |
283 | "Xbattmon is a simple battery monitor for X.") | |
284 | (license license:isc))) | |
f63abd0d | 285 | |
286 | (define-public wificurse | |
287 | (package | |
288 | (name "wificurse") | |
289 | (version "0.3.9") | |
290 | (source | |
291 | (origin | |
292 | (method url-fetch) | |
293 | (uri (string-append "http://dl.2f30.org/releases/" | |
294 | name "-" version ".tar.gz")) | |
295 | (sha256 | |
296 | (base32 | |
297 | "067ghr1xly5ca41kc83xila1p5hpq0bxfcmc8jvxi2ggm6wrhavn")))) | |
298 | (build-system gnu-build-system) | |
299 | (arguments | |
300 | `(#:tests? #f ; No tests | |
301 | #:make-flags (list | |
302 | (string-append "PREFIX=" %output)) | |
303 | #:phases | |
304 | (modify-phases %standard-phases | |
305 | (delete 'configure)))) ; No configure script | |
306 | (home-page "http://git.2f30.org/wificurse/") | |
307 | (synopsis "Wifi DoS attack tool") | |
308 | (description | |
309 | "Wificurses listens for beacons sent from wireless access points | |
310 | in the range of your wireless station. Once received the program | |
311 | extracts the BSSID of the AP and transmits deauthentication packets | |
312 | using the broadcast MAC address. This results to the disconnection | |
313 | of all clients connected to the AP at the time of the attack. This | |
314 | is essencially a WiFi DoS attack tool created for educational | |
315 | purposes only. It works only in Linux and requires wireless card | |
316 | drivers capable of injecting packets in wireless networks.") | |
317 | (license license:gpl3+))) |