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