gnu: python-pathpy: Build documentation.
[jackhill/guix/guix.git] / gnu / packages / suckless.scm
CommitLineData
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,
74monocle and floating layouts. All of the layouts can be applied dynamically,
dfde065f 75optimising 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
103numbers of user-defined menu items efficiently.")
3a733420 104 (license license:x11)))
15f5f686
105
106(define-public slock
107 (package
108 (name "slock")
fea1422e 109 (version "1.3")
15f5f686
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
115 (sha256
116 (base32
fea1422e 117 "065xa9hl7zn0lv2f7yjxphqsa35rg6dn9hv10gys0sh4ljpa7d5s"))))
15f5f686
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
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
170implements 256 colors, most VT10X escape sequences, utf8, X11 copy/paste,
171antialiased fonts (using fontconfig), fallback fonts, resizing, and line
172drawing.")
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
205display websites and follow links. It supports the XEmbed protocol which
206makes it possible to embed it in another application. Furthermore, one can
207point 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
244presentations. Each paragraph represents a slide in the presentation.
245Especially for presentations using the Takahashi method this is very nice and
246allows you to write down the presentation for a quick lightning talk within a
247few minutes.")
248 (home-page "http://tools.suckless.org/sent")
249 (license license:x11)))