gnu: btrfs-progs: Update to 4.7.
[jackhill/guix/guix.git] / gnu / packages / enlightenment.scm
CommitLineData
538fb23e
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2015 Tomáš Čech <sleep_walker@suse.cz>
9523f637 3;;; Copyright © 2015 Daniel Pimentel <d4n1@member.fsf.org>
4c3d2b2a 4;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
538fb23e
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
ea28d935 21(define-module (gnu packages enlightenment)
538fb23e
22 #:use-module ((guix licenses) #:prefix license:)
23 #:use-module (guix packages)
24 #:use-module (guix download)
25 #:use-module (guix build-system gnu)
8581f4c1 26 #:use-module (guix build-system python)
538fb23e
27 #:use-module (gnu packages)
28 #:use-module (gnu packages bash)
29 #:use-module (gnu packages compression)
30 #:use-module (gnu packages curl)
31 #:use-module (gnu packages fontutils)
32 #:use-module (gnu packages fribidi)
33 #:use-module (gnu packages game-development)
c58ed773 34 #:use-module (gnu packages gettext)
87a37fdf 35 #:use-module (gnu packages ghostscript)
538fb23e
36 #:use-module (gnu packages gl)
37 #:use-module (gnu packages glib)
38 #:use-module (gnu packages gnome)
27ce97c6 39 #:use-module (gnu packages gstreamer)
ea28d935 40 #:use-module (gnu packages gtk)
538fb23e
41 #:use-module (gnu packages image)
42 #:use-module (gnu packages linux)
43 #:use-module (gnu packages lua)
87a37fdf 44 #:use-module (gnu packages pdf)
538fb23e
45 #:use-module (gnu packages photo)
46 #:use-module (gnu packages pkg-config)
8581f4c1
EF
47 #:use-module (gnu packages pulseaudio)
48 #:use-module (gnu packages python)
cc2b77df 49 #:use-module (gnu packages tls)
cfa04683 50 #:use-module (gnu packages video)
538fb23e
51 #:use-module (gnu packages xorg))
52
53(define-public efl
54 (package
55 (name "efl")
7cc2e1e7 56 (version "1.17.2")
538fb23e
57 (source (origin
58 (method url-fetch)
59 (uri (string-append
e4fef9df 60 "https://download.enlightenment.org/rel/libs/efl/efl-"
7e22d6fe 61 version ".tar.xz"))
538fb23e 62 (sha256
f4db4858 63 (base32
7cc2e1e7 64 "1dpq5flygrjg931nzsr2ra8icqffzrzbs1lnrzarbpsbmgq3zacs"))))
538fb23e
65 (build-system gnu-build-system)
66 (native-inputs
67 `(("pkg-config" ,pkg-config)))
68 (inputs
69 `(("alsa-lib" ,alsa-lib)
70 ("compositeproto" ,compositeproto)
71 ("curl" ,curl)
72 ("giflib" ,giflib)
73 ("gstreamer" ,gstreamer)
74 ("gst-plugins-base" ,gst-plugins-base)
538fb23e
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)
bbfc37e1 91 ("lz4" ,lz4)
538fb23e
92 ("mesa" ,mesa)
93 ("printproto" ,printproto)
94 ("scrnsaverproto" ,scrnsaverproto)
538fb23e
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
a0d0ff35 103 ("dbus" ,dbus) ; eldbus.pc, ethumb_client.pc
538fb23e 104 ("eudev" ,eudev) ; eeze.pc
a0d0ff35
EF
105 ("fontconfig" ,fontconfig) ; evas.pc, evas-cxx.pc
106 ("freetype" ,freetype) ; evas.pc, evas-cxx.pc
107 ("fribidi" ,fribidi) ; evas.pc, evas-cxx.pc
108 ("glib" ,glib) ; ecore.pc, ecore-cxx.pc
84898ca2 109 ("harfbuzz" ,harfbuzz) ; evas.pc, evas-cxx.pc
538fb23e
110 ("libpng" ,libpng) ; evas.pc, evas-cxx.pc
111 ("libsndfile" ,libsndfile) ; ecore-audio.pc, ecore-audio-cxx.pc
a0d0ff35
EF
112 ("luajit" ,luajit) ; edje.pc, edje-cxx.pc, elua.pc, evas.pc, evas-cxx.pc
113 ("openssl" ,openssl) ; ecore-con.pc, eet.pc, eet-cxx.pc, emile.pc
538fb23e
114 ("pulseaudio" ,pulseaudio) ; ecore-audio.pc, ecore-audio-cxx.pc
115 ("util-linux" ,util-linux) ; eeze.pc
a0d0ff35 116 ("zlib" ,zlib))) ; emile.pc
538fb23e 117 (arguments
bbfc37e1 118 `(#:configure-flags '("--disable-silent-rules"
84898ca2
EF
119 "--enable-liblz4"
120 "--enable-harfbuzz")
538fb23e 121 #:phases
cff826ba
EF
122 (modify-phases %standard-phases
123 (add-before 'configure 'patch-config-files
124 (lambda _
125 (substitute* "po/Makefile.in.in"
126 (("/bin/sh") (which "bash"))))))))
c76e8f54 127 (home-page "https://www.enlightenment.org")
538fb23e
128 (synopsis "Enlightenment Foundation Libraries")
129 (description
130 "Enlightenment Foundation Libraries is a set of libraries developed
131for Enlightenment. Libraries covers data serialization, wide support for
132graphics rendering, UI layout and themes, interaction with OS, access to
133removable devices or support for multimedia.")
f4db4858
EF
134 ;; Different parts are under different licenses.
135 (license (list license:bsd-2 license:lgpl2.1 license:zlib))))
146ee5cd
136
137(define-public elementary
138 (package
139 (name "elementary")
fac5065b 140 (version "1.17.1")
146ee5cd
141 (source (origin
142 (method url-fetch)
143 (uri
3c07ae5d
EF
144 (string-append "https://download.enlightenment.org/rel/libs/"
145 "elementary/elementary-" version ".tar.xz"))
146ee5cd 146 (sha256
3c07ae5d 147 (base32
fac5065b 148 "149xjq4z71l44w1kd8zks9b2g0wjc9656w46hzd27b58afj1dqc5"))))
146ee5cd
149 (build-system gnu-build-system)
150 (native-inputs
151 `(("pkg-config" ,pkg-config)))
152 (propagated-inputs
153 `(("efl" ,efl))) ; elementary.pc, elementary-cxx.pc
c76e8f54 154 (home-page "https://www.enlightenment.org")
146ee5cd
155 (synopsis "Widget library of Enlightenment world")
156 (description
157 "Elementary is a widget library/toolkit, part of the Enlightenment
158Foundation Libraries. It is build upon Edje and Evas libraries and uses
159full capabilities of EFL.")
160 (license license:lgpl2.1)))
87a37fdf
161
162(define-public evas-generic-loaders
163 (package
164 (name "evas-generic-loaders")
da5e7616 165 (version "1.17.0")
87a37fdf
166 (source (origin
167 (method url-fetch)
168 (uri
169 (string-append
7bde30e1
AE
170 "https://download.enlightenment.org/rel/libs/"
171 "evas_generic_loaders/evas_generic_loaders-"
172 version ".tar.xz"))
87a37fdf 173 (sha256
735331de 174 (base32
da5e7616 175 "0ynq1nx0bfgg19p4vki1fap36yyip53zaxpzncx2slr6jcx1kxf2"))))
87a37fdf
176 (build-system gnu-build-system)
177 (native-inputs
178 `(("pkg-config" ,pkg-config)))
179 (inputs
180 `(("efl" ,efl)
181 ("gstreamer" ,gstreamer)
182 ("gst-plugins-base" ,gst-plugins-base)
183 ("librsvg" ,librsvg)
184 ("libspectre" ,libspectre)
185 ("poppler" ,poppler)))
c76e8f54 186 (home-page "https://www.enlightenment.org")
87a37fdf
187 (synopsis "Plugins for integration of various file types into Evas")
188 (description
189 "Evas-generic-loaders is a collection of interfaces to outside libraries
190and applications allowing to natively open pictures, documents and media
191files in Evas (EFL canvas library).")
192 (license license:gpl2+)))
cfa04683
193
194(define-public emotion-generic-players
195 (package
196 (name "emotion-generic-players")
e11e76b6 197 (version "1.17.0")
cfa04683
198 (source (origin
199 (method url-fetch)
200 (uri
16460dc0
EF
201 (string-append "https://download.enlightenment.org/rel/libs/"
202 "emotion_generic_players/emotion_generic_players"
203 "-" version ".tar.xz"))
cfa04683 204 (sha256
16460dc0 205 (base32
e11e76b6 206 "03kaql95mk0c5j50v3c5i5lmlr3gz7xlh8p8q87xz8zf9j5h1pp7"))))
cfa04683
207 (build-system gnu-build-system)
208 (native-inputs
209 `(("pkg-config" ,pkg-config)))
210 (inputs
211 `(("efl" ,efl)
212 ("vlc" ,vlc)))
c76e8f54 213 (home-page "https://www.enlightenment.org")
cfa04683
214 (synopsis "Plugins for integrating media players in EFL based applications")
215 (description
216 "Emotion-generic-players is a collection of interfaces to outside libraries
217and applications allowing to natively play video files through Emotion.
218The only supported now is VLC.")
219 (license license:bsd-2)))
df2b053a
220
221(define-public terminology
222 (package
223 (name "terminology")
b4eba7b0 224 (version "0.9.1")
df2b053a
225 (source (origin
226 (method url-fetch)
227 (uri
dab148b6
EF
228 (string-append "https://download.enlightenment.org/rel/apps/"
229 "terminology/terminology-" version ".tar.xz"))
df2b053a 230 (sha256
dab148b6 231 (base32
b4eba7b0 232 "1kwv9vkhngdm5v38q93xpcykghnyawhjjcb5bgy0p89gpbk7mvpc"))))
df2b053a
233 (build-system gnu-build-system)
234 (native-inputs
235 `(("pkg-config" ,pkg-config)))
236 (inputs
237 `(("efl" ,efl)
238 ("elementary" ,elementary)))
c76e8f54 239 (home-page "https://www.enlightenment.org")
df2b053a
240 (synopsis "Powerful terminal emulator based on EFL")
241 (description
242 "Terminology is fast and feature rich terminal emulator. It is solely
243based on Enlightenment Foundation Libraries. It supports multiple tabs, UTF-8,
244URL and local path detection, themes, popup based content viewer for non-text
245contents and more.")
246 (license license:bsd-2)))
c58ed773 247
9523f637
DP
248(define-public rage
249 (package
250 (name "rage")
251 (version "0.1.4")
252 (source (origin
253 (method url-fetch)
254 (uri
255 (string-append
256 "https://download.enlightenment.org/rel/apps/rage/rage-"
257 version ".tar.gz"))
258 (sha256
259 (base32 "10j3n8crk16jzqz2hn5djx6vms5f6x83qyiaphhqx94h9dgv2mgg"))))
260 (build-system gnu-build-system)
261 (native-inputs
262 `(("pkg-config" ,pkg-config)))
263 (inputs
264 `(("efl" ,efl)
265 ("elementary" ,elementary)))
266 (home-page "https://www.enlightenment.org/about-rage")
267 (synopsis "Video and audio player based on EFL")
268 (description
269 "Rage is a video and audio player written with Enlightenment Foundation
270Libraries with some extra bells and whistles.")
271 (license license:bsd-2)))
272
c58ed773
273(define-public enlightenment
274 (package
275 (name "enlightenment")
2205ce5c 276 (version "0.21.2")
c58ed773
277 (source (origin
278 (method url-fetch)
279 (uri
e693db42
EF
280 (string-append "https://download.enlightenment.org/rel/apps/"
281 name "/" name "-" version ".tar.xz"))
c58ed773 282 (sha256
a124bbd2 283 (base32
2205ce5c 284 "0fi5dxrprnvhnn2y51gnfpsjj44snriqi20k20a73vhaqxfn8xx8"))))
c58ed773 285 (build-system gnu-build-system)
df372f96
EF
286 (arguments
287 `(#:configure-flags '("--enable-mount-eeze")))
c58ed773
288 (native-inputs
289 `(("pkg-config" ,pkg-config)))
290 (inputs
291 `(("alsa-lib" ,alsa-lib)
292 ("dbus" ,dbus)
293 ("freetype" ,freetype)
294 ("gettext" ,gnu-gettext)
295 ("libxcb" ,libxcb)
296 ("libxext" ,libxext)
297 ("linux-pam" ,linux-pam)
298 ("xcb-util-keysyms" ,xcb-util-keysyms)))
299 (propagated-inputs
300 ;; both these inputs are present in pkgconfig file in Require section
301 `(("efl" ,efl) ; enlightenment.pc
302 ("elementary" ,elementary))) ; enlightenment.pc
668d2352 303 (home-page "https://www.enlightenment.org")
c58ed773
304 (synopsis "Lightweight desktop environment")
305 (description
306 "Enlightenment is resource friendly desktop environment with integrated
307file manager, wide range of configuration options, plugin system allowing to
308unload unused functionality, with support for touchscreen and suitable for
309embedded systems.")
310 (license license:bsd-2)))
8581f4c1
EF
311
312(define-public python-efl
313 (package
314 (name "python-efl")
315 (version "1.16.0")
316 (source
317 (origin
318 (method url-fetch)
319 (uri (pypi-uri "python-efl" version))
320 (sha256
321 (base32
322 "1ihay90agl2jx12m7jj8j1cspd7vsak1w7q95rhb6r2srkq0ppxk"))))
323 (build-system python-build-system)
324 (arguments
325 '(#:phases
326 (modify-phases %standard-phases
feabb770
EF
327 (replace 'build
328 (lambda _
329 (zero?
330 (system* "env" "ENABLE_CYTHON=1" "python" "setup.py" "build"))))
8581f4c1
EF
331 (add-before 'build 'set-flags
332 (lambda _
333 (setenv "CFLAGS"
334 (string-append "-I" (assoc-ref %build-inputs "python-dbus")
335 "/include/dbus-1.0")))))))
336 (native-inputs
feabb770
EF
337 `(("pkg-config" ,pkg-config)
338 ("python-cython" ,python-cython)))
8581f4c1
EF
339 (inputs
340 `(("efl" ,efl)
341 ("elementary" ,elementary)
342 ("python-dbus" ,python-dbus)))
343 (home-page "https://www.enlightenment.org/")
344 (synopsis "Python bindings for EFL")
345 (description
346 "PYTHON-EFL are the python bindings for the whole Enlightenment Foundation
347Libraries stack (eo, evas, ecore, edje, emotion, ethumb and elementary).")
348 (license license:lgpl3)))
349
350(define-public python2-efl
351 (package-with-python2 python-efl))