gnu: Adjust formatting as recommended by 'guix lint'.
[jackhill/guix/guix.git] / gnu / packages / enlightenment.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2015 Tomáš Čech <sleep_walker@suse.cz>
3 ;;; Copyright © 2015 Daniel Pimentel <d4n1@member.fsf.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 enlightenment)
21 #:use-module ((guix licenses) #:prefix license:)
22 #:use-module (guix packages)
23 #:use-module (guix download)
24 #:use-module (guix build-system gnu)
25 #:use-module (gnu packages)
26 #:use-module (gnu packages bash)
27 #:use-module (gnu packages compression)
28 #:use-module (gnu packages curl)
29 #:use-module (gnu packages fontutils)
30 #:use-module (gnu packages fribidi)
31 #:use-module (gnu packages game-development)
32 #:use-module (gnu packages gettext)
33 #:use-module (gnu packages ghostscript)
34 #:use-module (gnu packages gl)
35 #:use-module (gnu packages glib)
36 #:use-module (gnu packages gnome)
37 #:use-module (gnu packages gstreamer)
38 #:use-module (gnu packages gtk)
39 #:use-module (gnu packages image)
40 #:use-module (gnu packages linux)
41 #:use-module (gnu packages lua)
42 #:use-module (gnu packages pdf)
43 #:use-module (gnu packages pulseaudio)
44 #:use-module (gnu packages photo)
45 #:use-module (gnu packages pkg-config)
46 #:use-module (gnu packages tls)
47 #:use-module (gnu packages valgrind)
48 #:use-module (gnu packages video)
49 #:use-module (gnu packages xorg))
50
51 (define-public efl
52 (package
53 (name "efl")
54 (version "1.15.2")
55 (source (origin
56 (method url-fetch)
57 (uri (string-append
58 "https://download.enlightenment.org/rel/libs/efl/efl-"
59 version ".tar.xz"))
60 (sha256
61 (base32
62 "1962wqx7gdnpzvnkbighyn4hj5vw8l4c1d7xl5zilqjlyhcqywyx"))))
63 (build-system gnu-build-system)
64 (native-inputs
65 `(("pkg-config" ,pkg-config)))
66 (inputs
67 `(("alsa-lib" ,alsa-lib)
68 ("compositeproto" ,compositeproto)
69 ("curl" ,curl)
70 ("giflib" ,giflib)
71 ("gstreamer" ,gstreamer)
72 ("gst-plugins-base" ,gst-plugins-base)
73 ("harfbuzz" ,harfbuzz)
74 ("libexif" ,libexif)
75 ("libjpeg" ,libjpeg)
76 ("librsvg" ,librsvg)
77 ("libtiff" ,libtiff)
78 ("libx11" ,libx11)
79 ("libxcomposite" ,libxcomposite)
80 ("libxcursor" ,libxcursor)
81 ("libxdmcp" ,libxdmcp)
82 ("libxext" ,libxext)
83 ("libxi" ,libxi)
84 ("libxkbfile" ,libxkbfile)
85 ("libxinerama" ,libxinerama)
86 ("libxp" ,libxp)
87 ("libxrandr" ,libxrandr)
88 ("libxscrnsaver" ,libxscrnsaver)
89 ("libxtst" ,libxtst)
90 ("mesa" ,mesa)
91 ("printproto" ,printproto)
92 ("scrnsaverproto" ,scrnsaverproto)
93 ("valgrind" ,valgrind)
94 ("xextproto" ,xextproto)
95 ("xinput" ,xinput)
96 ("xpr" ,xpr)
97 ("xproto" ,xproto)))
98 (propagated-inputs
99 ;; All these inputs are in package config files in section
100 ;; Require.private.
101 `(("bullet" ,bullet) ; ephysics.pc
102 ("dbus" ,dbus) ; eldbus.pc
103 ("eudev" ,eudev) ; eeze.pc
104 ("fontconfig" ,fontconfig) ; evas.pc
105 ("freetype" ,freetype) ; evas.pc
106 ("fribidi" ,fribidi) ; evas.pc
107 ("glib" ,glib) ; ecore.pc
108 ("libpng" ,libpng) ; evas.pc, evas-cxx.pc
109 ("libsndfile" ,libsndfile) ; ecore-audio.pc, ecore-audio-cxx.pc
110 ("luajit" ,luajit) ; evas.pc, edje.pc
111 ("openssl" ,openssl) ; eet.pc, ecore-con.pc
112 ("pulseaudio" ,pulseaudio) ; ecore-audio.pc, ecore-audio-cxx.pc
113 ("util-linux" ,util-linux) ; eeze.pc
114 ("zlib" ,zlib))) ; eet.pc
115 (arguments
116 `(#:configure-flags '("--disable-silent-rules")
117 #:phases
118 (alist-cons-before
119 'configure 'patch-config-files
120 (lambda _
121 (substitute* "po/Makefile.in.in"
122 (("/bin/sh") (which "bash"))))
123 %standard-phases)))
124 (home-page "http://www.enlightenment.org")
125 (synopsis "Enlightenment Foundation Libraries")
126 (description
127 "Enlightenment Foundation Libraries is a set of libraries developed
128 for Enlightenment. Libraries covers data serialization, wide support for
129 graphics rendering, UI layout and themes, interaction with OS, access to
130 removable devices or support for multimedia.")
131 ;; Different parts are under different licenses.
132 (license (list license:bsd-2 license:lgpl2.1 license:zlib))))
133
134 (define-public elementary
135 (package
136 (name "elementary")
137 (version "1.15.2")
138 (source (origin
139 (method url-fetch)
140 (uri
141 (string-append "https://download.enlightenment.org/rel/libs/"
142 "elementary/elementary-" version ".tar.xz"))
143 (sha256
144 (base32
145 "0gqg98bglnl2jggdzxzrh9r7bv32i4sahspms0bihq8b45rk0g2j"))))
146 (build-system gnu-build-system)
147 (native-inputs
148 `(("pkg-config" ,pkg-config)))
149 (propagated-inputs
150 `(("efl" ,efl))) ; elementary.pc, elementary-cxx.pc
151 (home-page "http://www.enlightenment.org")
152 (synopsis "Widget library of Enlightenment world")
153 (description
154 "Elementary is a widget library/toolkit, part of the Enlightenment
155 Foundation Libraries. It is build upon Edje and Evas libraries and uses
156 full capabilities of EFL.")
157 (license license:lgpl2.1)))
158
159 (define-public evas-generic-loaders
160 (package
161 (name "evas-generic-loaders")
162 (version "1.15.0")
163 (source (origin
164 (method url-fetch)
165 (uri
166 (string-append
167 "https://download.enlightenment.org/rel/libs/"
168 "evas_generic_loaders/evas_generic_loaders-"
169 version ".tar.xz"))
170 (sha256
171 (base32
172 "0zzx06j20x580xqnnsxp7gb7rv279zcgvdxfbhs905af9m6rwlqy"))))
173 (build-system gnu-build-system)
174 (native-inputs
175 `(("pkg-config" ,pkg-config)))
176 (inputs
177 `(("efl" ,efl)
178 ("gstreamer" ,gstreamer)
179 ("gst-plugins-base" ,gst-plugins-base)
180 ("librsvg" ,librsvg)
181 ("libspectre" ,libspectre)
182 ("poppler" ,poppler)))
183 (home-page "http://www.enlightenment.org")
184 (synopsis "Plugins for integration of various file types into Evas")
185 (description
186 "Evas-generic-loaders is a collection of interfaces to outside libraries
187 and applications allowing to natively open pictures, documents and media
188 files in Evas (EFL canvas library).")
189 (license license:gpl2+)))
190
191 (define-public emotion-generic-players
192 (package
193 (name "emotion-generic-players")
194 (version "1.15.0")
195 (source (origin
196 (method url-fetch)
197 (uri
198 (string-append "https://download.enlightenment.org/rel/libs/"
199 "emotion_generic_players/emotion_generic_players"
200 "-" version ".tar.xz"))
201 (sha256
202 (base32
203 "0pszwmcygxnv1sfx0m79md2jmi4sng8mdb1xcr6h2z5c8685wvcz"))))
204 (build-system gnu-build-system)
205 (native-inputs
206 `(("pkg-config" ,pkg-config)))
207 (inputs
208 `(("efl" ,efl)
209 ("vlc" ,vlc)))
210 (home-page "http://www.enlightenment.org")
211 (synopsis "Plugins for integrating media players in EFL based applications")
212 (description
213 "Emotion-generic-players is a collection of interfaces to outside libraries
214 and applications allowing to natively play video files through Emotion.
215 The only supported now is VLC.")
216 (license license:bsd-2)))
217
218 (define-public terminology
219 (package
220 (name "terminology")
221 (version "0.9.1")
222 (source (origin
223 (method url-fetch)
224 (uri
225 (string-append "https://download.enlightenment.org/rel/apps/"
226 "terminology/terminology-" version ".tar.xz"))
227 (sha256
228 (base32
229 "1kwv9vkhngdm5v38q93xpcykghnyawhjjcb5bgy0p89gpbk7mvpc"))))
230 (build-system gnu-build-system)
231 (native-inputs
232 `(("pkg-config" ,pkg-config)))
233 (inputs
234 `(("efl" ,efl)
235 ("elementary" ,elementary)))
236 (home-page "http://www.enlightenment.org")
237 (synopsis "Powerful terminal emulator based on EFL")
238 (description
239 "Terminology is fast and feature rich terminal emulator. It is solely
240 based on Enlightenment Foundation Libraries. It supports multiple tabs, UTF-8,
241 URL and local path detection, themes, popup based content viewer for non-text
242 contents and more.")
243 (license license:bsd-2)))
244
245 (define-public rage
246 (package
247 (name "rage")
248 (version "0.1.4")
249 (source (origin
250 (method url-fetch)
251 (uri
252 (string-append
253 "https://download.enlightenment.org/rel/apps/rage/rage-"
254 version ".tar.gz"))
255 (sha256
256 (base32 "10j3n8crk16jzqz2hn5djx6vms5f6x83qyiaphhqx94h9dgv2mgg"))))
257 (build-system gnu-build-system)
258 (native-inputs
259 `(("pkg-config" ,pkg-config)))
260 (inputs
261 `(("efl" ,efl)
262 ("elementary" ,elementary)))
263 (home-page "https://www.enlightenment.org/about-rage")
264 (synopsis "Video and audio player based on EFL")
265 (description
266 "Rage is a video and audio player written with Enlightenment Foundation
267 Libraries with some extra bells and whistles.")
268 (license license:bsd-2)))
269
270 (define-public enlightenment
271 (package
272 (name "enlightenment")
273 (version "0.19.12")
274 (source (origin
275 (method url-fetch)
276 (uri
277 (string-append "https://download.enlightenment.org/rel/apps/"
278 name "/" name "-" version ".tar.xz"))
279 (sha256
280 (base32
281 "098bdx9qmv1yqqwfydrzs7fvbnhsf3vaib9pmqsyg4ihgqrkrwjm"))))
282 (build-system gnu-build-system)
283 (native-inputs
284 `(("pkg-config" ,pkg-config)))
285 (inputs
286 `(("alsa-lib" ,alsa-lib)
287 ("dbus" ,dbus)
288 ("freetype" ,freetype)
289 ("gettext" ,gnu-gettext)
290 ("libxcb" ,libxcb)
291 ("libxext" ,libxext)
292 ("linux-pam" ,linux-pam)
293 ("xcb-util-keysyms" ,xcb-util-keysyms)))
294 (propagated-inputs
295 ;; both these inputs are present in pkgconfig file in Require section
296 `(("efl" ,efl) ; enlightenment.pc
297 ("elementary" ,elementary))) ; enlightenment.pc
298 (home-page "http://www.enlightenment.org")
299 (synopsis "Lightweight desktop environment")
300 (description
301 "Enlightenment is resource friendly desktop environment with integrated
302 file manager, wide range of configuration options, plugin system allowing to
303 unload unused functionality, with support for touchscreen and suitable for
304 embedded systems.")
305 (license license:bsd-2)))