gnu: gnustep: Update dockapps home pages.
[jackhill/guix/guix.git] / gnu / packages / gnustep.scm
CommitLineData
d7a9ed37
LC
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
3c8ba11a 3;;; Copyright © 2016, 2017 Kei Kebreau <kkebreau@posteo.net>
93710d86 4;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
d7a9ed37
LC
5;;;
6;;; This file is part of GNU Guix.
7;;;
8;;; GNU Guix is free software; you can redistribute it and/or modify it
9;;; under the terms of the GNU General Public License as published by
10;;; the Free Software Foundation; either version 3 of the License, or (at
11;;; your option) any later version.
12;;;
13;;; GNU Guix is distributed in the hope that it will be useful, but
14;;; WITHOUT ANY WARRANTY; without even the implied warranty of
15;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16;;; GNU General Public License for more details.
17;;;
18;;; You should have received a copy of the GNU General Public License
19;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
20
21(define-module (gnu packages gnustep)
22 #:use-module (guix download)
23 #:use-module (guix packages)
24 #:use-module (guix build-system gnu)
25 #:use-module (guix licenses)
0611abff 26 #:use-module (gnu packages)
4d8fd825 27 #:use-module (gnu packages base)
d7a9ed37 28 #:use-module (gnu packages xorg)
4d8fd825 29 #:use-module (gnu packages libffcall)
f9ab1da0 30 #:use-module (gnu packages gnome)
9c6b7ef5 31 #:use-module (gnu packages gtk)
f9ab1da0
KY
32 #:use-module (gnu packages texinfo)
33 #:use-module (gnu packages autotools)
34 #:use-module (gnu packages glib)
d7a9ed37 35 #:use-module (gnu packages fontutils)
e55354b8 36 #:use-module (gnu packages image)
4d8fd825 37 #:use-module (gnu packages pkg-config)
537fe456
KK
38 #:use-module (gnu packages xml)
39 #:use-module (ice-9 match))
4d8fd825
KK
40
41(define-public gnustep-make
42 (package
43 (name "gnustep-make")
44 (version "2.7.0")
45 (source (origin
46 (method url-fetch)
47 (uri (string-append "ftp://ftp.gnustep.org/pub/gnustep/core/"
48 name "-" version ".tar.gz"))
49 (sha256
50 (base32
51 "1khiygfkz0zhh9b5nybn40g0xnnjxchk24n49hff1bwanszir84h"))))
52 (build-system gnu-build-system)
53 (arguments
54 '(#:tests? #f)) ; no check target
55 (native-inputs
56 `(("which" ,which)))
57 (home-page "http://gnustep.org")
58 (synopsis "GNUstep make package")
59 (description "The makefile package is a simple, powerful and extensible way
60to write makefiles for a GNUstep-based project. It allows the user to write a
61project without having to deal with the complex issues associated with
62configuration, building, installation, and packaging. It also allows the user
63to easily create cross-compiled binaries.")
64 (license gpl3+)))
d7a9ed37
LC
65
66(define-public windowmaker
67 (package
68 (name "windowmaker")
8cac5bca 69 (version "0.95.8")
537fe456 70 (synopsis "NeXTSTEP-like window manager")
d7a9ed37
LC
71 (source (origin
72 (method url-fetch)
73 (uri (string-append
74 "http://windowmaker.org/pub/source/release/WindowMaker-"
75 version ".tar.gz"))
76 (sha256
77 (base32
8cac5bca 78 "12p8kljqgx5hnic0zvs5mxwp7kg21sb6qjagb2qw8ydvf5amrgwx"))))
d7a9ed37
LC
79 (build-system gnu-build-system)
80 (arguments
537fe456
KK
81 `(#:modules ((guix build gnu-build-system)
82 (guix build utils)
83 (ice-9 match))
84 #:phases
962cbb24
LF
85 (modify-phases %standard-phases
86 (add-before 'configure 'pre-configure
87 (lambda* (#:key outputs #:allow-other-keys)
88 ;; 'wmaker' wants to invoke 'wmaker.inst' the first time,
89 ;; and the 'wmsetbg', so make sure it uses the right ones.
90 ;; We can't use a wrapper here because that would pollute
91 ;; $PATH in the whole session.
92 (let* ((out (assoc-ref outputs "out"))
93 (bin (string-append out "/bin")))
94 (substitute* "src/main.c"
95 (("\"wmaker\\.inst")
96 (string-append "\"" bin "/wmaker.inst")))
97 (substitute* '("src/defaults.c" "WPrefs.app/Menu.c")
98 (("\"wmsetbg")
99 (string-append "\"" bin "/wmsetbg")))
100 ;; Add enough cells to the command character array to
101 ;; allow passing our large path to the wmsetbg binary.
102 ;; The path to wmsetbg in Guix requires 67 extra characters.
103 (substitute* "src/defaults.c"
104 (("len = strlen\\(text\\) \\+ 40;")
bfe83d56
TGR
105 (string-append "len = strlen(text) + 107;")))
106 #t)))
537fe456
KK
107 (add-after 'install 'install-xsession
108 (lambda* (#:key outputs #:allow-other-keys)
109 (let* ((out (assoc-ref outputs "out"))
110 (xsessions (string-append out "/share/xsessions")))
111 (mkdir-p xsessions)
112 (call-with-output-file
113 (string-append xsessions "/windowmaker.desktop")
114 (lambda (port)
115 (format port "~
116 [Desktop Entry]~@
117 Name=Window Maker~@
118 Comment=~a~@
119 Exec=~a/bin/wmaker~@
120 Type=Application~%"
121 (string-map (match-lambda
122 (#\newline #\space)
123 (chr chr))
bfe83d56 124 ,synopsis) out))))
537fe456
KK
125 #t))
126 (add-after 'install-xsession 'wrap
962cbb24
LF
127 (lambda* (#:key outputs #:allow-other-keys)
128 (let* ((out (assoc-ref outputs "out"))
129 (bin (string-append out "/bin")))
130 ;; In turn, 'wmaker.inst' wants to invoke 'wmmenugen'
131 ;; etc., so make sure everything is in $PATH.
132 (wrap-program (string-append bin "/wmaker.inst")
bfe83d56
TGR
133 `("PATH" ":" prefix (,bin)))
134 #t))))))
d7a9ed37
LC
135 (inputs
136 `(("libxmu" ,libxmu)
137 ("libxft" ,libxft)
138 ("libx11" ,libx11)
84958de1 139 ("libxinerama" ,libxinerama)
d7a9ed37 140 ("fontconfig" ,fontconfig)
233fbb61
KK
141 ("libjpeg" ,libjpeg)
142 ("giflib" ,giflib)
143 ("libpng" ,libpng)
144 ("libtiff" ,libtiff)))
d7a9ed37
LC
145 (native-inputs
146 `(("pkg-config" ,pkg-config)))
147 (home-page "http://windowmaker.org/")
d7a9ed37
LC
148 (description
149 "Window Maker is an X11 window manager originally designed to provide
150integration support for the GNUstep Desktop Environment. In every way
151possible, it reproduces the elegant look and feel of the NeXTSTEP user
152interface. It is fast, feature rich, easy to configure, and easy to use.")
153
154 ;; Artwork is distributed under the WTFPL.
155 (license gpl2+)))
f9ab1da0
KY
156
157(define-public wmbattery
158 (package
159 (name "wmbattery")
93710d86 160 (version "2.51")
f9ab1da0
KY
161 (source (origin
162 (method url-fetch)
163 (uri (string-append
164 "mirror://debian/pool/main/w/wmbattery/wmbattery_"
165 version ".orig.tar.gz"))
166 (sha256
167 (base32
93710d86 168 "084a3irxbmgms4bqaga80mlx9wgvlkx6d2w0ns939yrpfzg87laj"))))
f9ab1da0
KY
169 (build-system gnu-build-system)
170 (arguments
171 `(#:tests? #f ; no "check" target
172 #:phases
173 (modify-phases %standard-phases
174 (add-after 'unpack 'autoconf
bfe83d56
TGR
175 (lambda _
176 (invoke "autoreconf" "-vfi")
177 #t)))))
f9ab1da0
KY
178 (inputs
179 `(("glib" ,glib)
180 ("libx11" ,libx11)
181 ("libxext" ,libxext)
182 ("libxpm" ,libxpm)
183 ("upower" ,upower)))
184 (native-inputs
185 `(("autoconf" ,autoconf)
186 ("automake" ,automake)
187 ("pkg-config" ,pkg-config)))
48bbe06e 188 (home-page "http://www.dockapps.net/wmbattery")
f9ab1da0
KY
189 (synopsis "Display laptop battery info")
190 (description
191 "Wmbattery displays the status of your laptop's battery in a small icon.
192This includes if it is plugged in, if the battery is charging, how many minutes
193of battery life remain, battery life remaining (with both a percentage and a
194graph), and battery status (high - green, low - yellow, or critical - red).")
195 (license gpl2)))
196
7407f7fe
KY
197(define-public wmnd
198 (package
199 (name "wmnd")
200 (version "0.4.17")
201 (source (origin
202 (method url-fetch)
203 (uri (string-append
204 "http://www.thregr.org/~wavexx/software/wmnd/releases/"
205 name "-" version ".tar.gz"))
206 (sha256
207 (base32
208 "1amkbiwgr31gwkcp7wrjsr7aj1kns8bpmjpv70n86wb8v9mpm828"))))
209 (build-system gnu-build-system)
210 (inputs
211 `(("libx11" ,libx11)
212 ("libxext" ,libxext)
213 ("libxpm" ,libxpm)))
214 (native-inputs
215 `(("pkg-config" ,pkg-config)))
216 (home-page "http://www.thregr.org/~wavexx/software/wmnd/")
217 (synopsis "Network interface monitor")
218 (description
219 "WMND is a dockapp for monitoring network interfaces under WindowMaker and
220other compatible window managers.")
221 (license gpl2+)))
bd688698
KY
222
223(define-public wmcpuload
224 (package
225 (name "wmcpuload")
9a0a4a95 226 (version "1.1.1")
bd688698
KY
227 (source (origin
228 (method url-fetch)
229 (uri (string-append
230 "mirror://debian/pool/main/w/wmcpuload/"
231 name "_" version ".orig.tar.gz"))
232 (sha256
233 (base32
9a0a4a95 234 "1334y0axnxydwv05d172f405iljrfakg4kcyg9kmn46v6ywv424g"))))
bd688698
KY
235 (build-system gnu-build-system)
236 (inputs
237 `(("libx11" ,libx11)
238 ("libxext" ,libxext)
239 ("libxpm" ,libxpm)))
240 (native-inputs
241 `(("pkg-config" ,pkg-config)))
48bbe06e 242 (home-page "http://www.dockapps.net/wmcpuload")
bd688698
KY
243 (synopsis "Monitor CPU usage")
244 (description
245 "Wmcpuload displays the current CPU usage, expressed as a percentile and a
246chart, and has an LCD look-alike user interface. The back-light may be turned
247on and off by clicking the mouse button over the application. If the CPU usage
248hits a certain threshold, an alarm-mode will alert you by turning back-light
249on.")
250 (license gpl2+)))
2331e5e8
KY
251
252(define-public wmclock
253 (package
254 (name "wmclock")
255 (version "1.0.16")
256 (source (origin
257 (method url-fetch)
258 (uri (string-append
259 "mirror://debian/pool/main/w/wmclock/"
260 name "_" version ".orig.tar.gz"))
261 (sha256
262 (base32
263 "1lx276ba8r2yydhmwj1g586jdqg695ad89ng36fr3mb067gvb2rz"))))
264 (build-system gnu-build-system)
265 (arguments
266 `(#:phases
267 (modify-phases %standard-phases
268 (add-after 'unpack 'autoconf
bfe83d56
TGR
269 (lambda _
270 (invoke "autoreconf" "-vfi")
271 #t)))))
2331e5e8
KY
272 ;; wmclock requires autoreconf to generate its configure script.
273 (inputs
274 `(("libx11" ,libx11)
275 ("libxext" ,libxext)
276 ("libxpm" ,libxpm)))
277 (native-inputs
278 `(("autoconf" ,autoconf)
279 ("automake" ,automake)
280 ("pkg-config" ,pkg-config)))
48bbe06e 281 (home-page "http://www.dockapps.net/wmclock")
2331e5e8
KY
282 (synopsis "Display the date and time")
283 (description
284 "wmclock is an applet for Window Maker which displays the date and time in
285a dockable tile. It features multiple language support, 24h or 12h time
286display, and can run a user-specified program on mouse click.")
287 (license gpl2+)))
9c6b7ef5
KY
288
289(define-public wmfire
290 (package
291 (name "wmfire")
292 (version "1.2.4")
293 (source (origin
294 (method url-fetch)
295 (uri (string-append "http://www.improbability.net/"
296 name "/" name "-" version ".tar.gz"))
297 (sha256
298 (base32
0611abff
KK
299 "101grahd80n97y2dczb629clmcgiavdpbbwy78kk5wgs362m12z3"))
300 (patches
301 (search-patches "wmfire-update-for-new-gdk-versions.patch"))))
9c6b7ef5
KY
302 (build-system gnu-build-system)
303 (inputs
304 `(("gtk+" ,gtk+-2)
305 ("libgtop" ,libgtop)))
306 (native-inputs
307 `(("pkg-config" ,pkg-config)))
308 (home-page "http://www.improbability.net/")
66e07664 309 (synopsis "Display flames to represent resource usage")
9c6b7ef5
KY
310 (description
311 "wmfire is an applet for Window Maker that can monitor the average cpu
312load, or individual cpu load on SMP computers. Additionally it can monitor the
313memory, network load, a file or just be set to show a pretty flame. On
314entering the dock a burning spot replaces the cursor, and after two seconds
315symbols to represent the current monitor are \"burnt\" onscreen. The flame
316colour can also be changed.")
317 (license gpl2+)))