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> |
2eca2d62 | 5 | ;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is> |
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> | |
1010e530 CR |
9 | ;;; |
10 | ;;; This file is part of GNU Guix. | |
11 | ;;; | |
12 | ;;; GNU Guix is free software; you can redistribute it and/or modify it | |
13 | ;;; under the terms of the GNU General Public License as published by | |
14 | ;;; the Free Software Foundation; either version 3 of the License, or (at | |
15 | ;;; your option) any later version. | |
16 | ;;; | |
17 | ;;; GNU Guix is distributed in the hope that it will be useful, but | |
18 | ;;; WITHOUT ANY WARRANTY; without even the implied warranty of | |
19 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
20 | ;;; GNU General Public License for more details. | |
21 | ;;; | |
22 | ;;; You should have received a copy of the GNU General Public License | |
23 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | |
24 | ||
975b8942 | 25 | (define-module (gnu packages suckless) |
3a733420 | 26 | #:use-module ((guix licenses) #:prefix license:) |
1010e530 CR |
27 | #:use-module (guix packages) |
28 | #:use-module (guix download) | |
29 | #:use-module (guix build-system gnu) | |
4acbd206 | 30 | #:use-module (guix build-system glib-or-gtk) |
1010e530 | 31 | #:use-module (gnu packages) |
4acbd206 | 32 | #:use-module (gnu packages gnome) |
f0f0a48b | 33 | #:use-module (gnu packages image) |
3a733420 AB |
34 | #:use-module (gnu packages xorg) |
35 | #:use-module (gnu packages fonts) | |
36 | #:use-module (gnu packages pkg-config) | |
4acbd206 | 37 | #:use-module (gnu packages webkit) |
3a733420 | 38 | #:use-module (gnu packages fontutils)) |
1010e530 CR |
39 | |
40 | (define-public dwm | |
41 | (package | |
42 | (name "dwm") | |
43 | (version "6.0") | |
44 | (source (origin | |
45 | (method url-fetch) | |
46 | (uri (string-append "http://dl.suckless.org/dwm/dwm-" | |
47 | version ".tar.gz")) | |
48 | (sha256 | |
49 | (base32 "0mpbivy9j80l1jqq4bd4g4z8s5c54fxrjj44avmfwncjwqylifdj")))) | |
50 | (build-system gnu-build-system) | |
51 | (arguments | |
52 | `(#:tests? #f | |
53 | #:phases | |
54 | (alist-replace | |
55 | 'configure | |
56 | (lambda _ | |
57 | (substitute* "Makefile" (("\\$\\{CC\\}") "gcc")) | |
58 | #t) | |
59 | (alist-replace | |
60 | 'install | |
61 | (lambda* (#:key outputs #:allow-other-keys) | |
62 | (let ((out (assoc-ref outputs "out"))) | |
63 | (zero? | |
64 | (system* "make" "install" | |
65 | (string-append "DESTDIR=" out) "PREFIX=")))) | |
66 | %standard-phases)))) | |
67 | (inputs | |
68 | `(("libx11" ,libx11) | |
69 | ("libxinerama" ,libxinerama))) | |
70 | (home-page "http://dwm.suckless.org/") | |
71 | (synopsis "Dynamic window manager") | |
72 | (description | |
35b9e423 EB |
73 | "dwm is a dynamic window manager for X. It manages windows in tiled, |
74 | monocle and floating layouts. All of the layouts can be applied dynamically, | |
dfde065f | 75 | optimising the environment for the application in use and the task performed.") |
3a733420 | 76 | (license license:x11))) |
65a05690 SB |
77 | |
78 | (define-public dmenu | |
79 | (package | |
80 | (name "dmenu") | |
81 | (version "4.5") | |
82 | (source (origin | |
83 | (method url-fetch) | |
84 | (uri (string-append "http://dl.suckless.org/tools/dmenu-" | |
85 | version ".tar.gz")) | |
86 | (sha256 | |
87 | (base32 | |
88 | "0l58jpxrr80fmyw5pgw5alm5qry49aw6y049745wl991v2cdcb08")))) | |
89 | (build-system gnu-build-system) | |
90 | (arguments | |
91 | '(#:tests? #f ; no tests | |
92 | #:make-flags (list "CC=gcc" | |
93 | (string-append "PREFIX=" %output)) | |
94 | #:phases | |
95 | (alist-delete 'configure %standard-phases))) | |
96 | (inputs | |
97 | `(("libx11" ,libx11) | |
98 | ("libxinerama" ,libxinerama))) | |
99 | (home-page "http://tools.suckless.org/dmenu/") | |
100 | (synopsis "Dynamic menu") | |
101 | (description | |
102 | "A dynamic menu for X, originally designed for dwm. It manages large | |
103 | numbers of user-defined menu items efficiently.") | |
3a733420 | 104 | (license license:x11))) |
15f5f686 TČ |
105 | |
106 | (define-public slock | |
107 | (package | |
108 | (name "slock") | |
fea1422e | 109 | (version "1.3") |
15f5f686 TČ |
110 | (source (origin |
111 | (method url-fetch) | |
112 | (uri (string-append "http://dl.suckless.org/tools/slock-" | |
113 | version ".tar.gz")) | |
3ed3c105 | 114 | (patches (search-patches "slock-CVE-2016-6866.patch")) |
15f5f686 TČ |
115 | (sha256 |
116 | (base32 | |
fea1422e | 117 | "065xa9hl7zn0lv2f7yjxphqsa35rg6dn9hv10gys0sh4ljpa7d5s")))) |
15f5f686 TČ |
118 | (build-system gnu-build-system) |
119 | (arguments | |
120 | '(#:tests? #f ; no tests | |
121 | #:make-flags (list "CC=gcc" | |
122 | (string-append "PREFIX=" %output)) | |
123 | #:phases (alist-delete 'configure %standard-phases))) | |
124 | (inputs | |
125 | `(("libx11" ,libx11) | |
126 | ("libxext" ,libxext) | |
fea1422e LF |
127 | ("libxinerama" ,libxinerama) |
128 | ("libxrandr" ,libxrandr))) | |
15f5f686 TČ |
129 | (home-page "http://tools.suckless.org/slock/") |
130 | (synopsis "Simple X session lock") | |
131 | (description | |
132 | "Simple X session lock with trivial feedback on password entry.") | |
3a733420 AB |
133 | (license license:x11))) |
134 | ||
135 | (define-public st | |
136 | (package | |
137 | (name "st") | |
87520dfd | 138 | (version "0.7") |
3a733420 AB |
139 | (source |
140 | (origin | |
141 | (method url-fetch) | |
142 | (uri (string-append "http://dl.suckless.org/st/st-" | |
143 | version ".tar.gz")) | |
144 | (sha256 | |
145 | (base32 | |
87520dfd | 146 | "00309qiw20rc89696pk8bdr7ik4r1aarik7jxqk8k66cdj80v1zp")))) |
3a733420 AB |
147 | (build-system gnu-build-system) |
148 | (arguments | |
149 | '(#:tests? #f ; no tests | |
150 | #:make-flags (list "CC=gcc" | |
151 | (string-append "PREFIX=" %output)) | |
152 | #:phases | |
153 | (modify-phases %standard-phases | |
154 | (delete 'configure) | |
155 | (add-after 'unpack 'inhibit-terminfo-install | |
156 | (lambda _ | |
157 | (substitute* "Makefile" | |
158 | (("\t@tic -s st.info") "")) | |
159 | #t))))) | |
160 | (inputs | |
161 | `(("libx11" ,libx11) | |
162 | ("libxft" ,libxft) | |
3a733420 | 163 | ("fontconfig" ,fontconfig) |
939111ca | 164 | ("freetype" ,freetype))) |
3a733420 AB |
165 | (native-inputs `(("pkg-config" ,pkg-config))) |
166 | (home-page "http://st.suckless.org/") | |
167 | (synopsis "Simple terminal emulator") | |
168 | (description | |
169 | "St implements a simple and lightweight terminal emulator. It | |
170 | implements 256 colors, most VT10X escape sequences, utf8, X11 copy/paste, | |
171 | antialiased fonts (using fontconfig), fallback fonts, resizing, and line | |
172 | drawing.") | |
173 | (license license:x11))) | |
4acbd206 AM |
174 | |
175 | (define-public surf | |
176 | (package | |
177 | (name "surf") | |
178 | (version "0.7") | |
179 | (source | |
180 | (origin | |
181 | (method url-fetch) | |
182 | (uri (string-append "http://dl.suckless.org/surf/surf-" | |
183 | version ".tar.gz")) | |
184 | (sha256 | |
185 | (base32 | |
186 | "0jj93izd8fizxfa6ln9w1h9bwki81sz5dhskh5x1rl34zd38aq4m")))) | |
187 | (build-system glib-or-gtk-build-system) | |
188 | (arguments | |
189 | '(#:tests? #f ; no tests | |
190 | #:make-flags (list "CC=gcc" | |
191 | (string-append "PREFIX=" %output)) | |
192 | #:phases | |
193 | (modify-phases %standard-phases | |
194 | (delete 'configure)))) | |
195 | (inputs | |
196 | `(("glib-networking" ,glib-networking) | |
197 | ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) | |
198 | ("webkitgtk" ,webkitgtk/gtk+-2))) | |
199 | (native-inputs | |
200 | `(("pkg-config" ,pkg-config))) | |
201 | (home-page "http://surf.suckless.org/") | |
202 | (synopsis "Simple web browser") | |
203 | (description | |
204 | "Surf is a simple web browser based on WebKit/GTK+. It is able to | |
205 | display websites and follow links. It supports the XEmbed protocol which | |
206 | makes it possible to embed it in another application. Furthermore, one can | |
207 | point surf to another URI by setting its XProperties.") | |
208 | (license license:x11))) | |
f0f0a48b DB |
209 | |
210 | (define-public sent | |
211 | (package | |
212 | (name "sent") | |
213 | (version "0.2") | |
214 | (source (origin | |
215 | (method url-fetch) | |
216 | (uri (string-append "http://dl.suckless.org/tools/sent-" | |
217 | version ".tar.gz")) | |
218 | (sha256 | |
219 | (base32 | |
220 | "0xhh752hwaa26k4q6wvrb9jnpbnylss2aw6z11j7l9rav7wn3fak")))) | |
221 | (build-system gnu-build-system) | |
222 | (arguments | |
223 | `(#:phases (modify-phases %standard-phases | |
224 | (delete 'configure)) ;no configuration | |
225 | #:tests? #f ;no test suite | |
226 | #:make-flags (let ((pkg-config (lambda (flag) | |
227 | (string-append | |
228 | "$(shell pkg-config " flag " " | |
229 | "xft fontconfig x11 libpng)")))) | |
230 | (list | |
231 | "CC=gcc" | |
232 | (string-append "PREFIX=" %output) | |
233 | (string-append "INCS=-I. " (pkg-config "--cflags")) | |
234 | (string-append "LIBS=" (pkg-config "--libs") " -lm"))))) | |
235 | (native-inputs | |
236 | `(("pkg-config" ,pkg-config))) | |
237 | (inputs | |
238 | `(("libpng" ,libpng) | |
239 | ("libx11" ,libx11) | |
240 | ("libxft" ,libxft) | |
241 | ("fontconfig" ,fontconfig))) | |
242 | (synopsis "Plaintext presentation tool") | |
243 | (description "Sent uses plaintext files and PNG images to create slideshow | |
244 | presentations. Each paragraph represents a slide in the presentation. | |
245 | Especially for presentations using the Takahashi method this is very nice and | |
246 | allows you to write down the presentation for a quick lightning talk within a | |
247 | few minutes.") | |
248 | (home-page "http://tools.suckless.org/sent") | |
249 | (license license:x11))) |