Commit | Line | Data |
---|---|---|
538fb23e TČ |
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> |
3ec29587 | 4 | ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> |
47956fa0 | 5 | ;;; Copyright © 2017 ng0 <ng0@n0.is> |
0d60bf45 | 6 | ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> |
e15ede6e | 7 | ;;; Copyright © 2018 Timo Eisenmann <eisenmann@fn.de> |
538fb23e TČ |
8 | ;;; |
9 | ;;; This file is part of GNU Guix. | |
10 | ;;; | |
11 | ;;; GNU Guix is free software; you can redistribute it and/or modify it | |
12 | ;;; under the terms of the GNU General Public License as published by | |
13 | ;;; the Free Software Foundation; either version 3 of the License, or (at | |
14 | ;;; your option) any later version. | |
15 | ;;; | |
16 | ;;; GNU Guix is distributed in the hope that it will be useful, but | |
17 | ;;; WITHOUT ANY WARRANTY; without even the implied warranty of | |
18 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
19 | ;;; GNU General Public License for more details. | |
20 | ;;; | |
21 | ;;; You should have received a copy of the GNU General Public License | |
22 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | |
23 | ||
ea28d935 | 24 | (define-module (gnu packages enlightenment) |
538fb23e TČ |
25 | #:use-module ((guix licenses) #:prefix license:) |
26 | #:use-module (guix packages) | |
27 | #:use-module (guix download) | |
303469d6 | 28 | #:use-module (guix utils) |
538fb23e | 29 | #:use-module (guix build-system gnu) |
e2f37d6a | 30 | #:use-module (guix build-system meson) |
8581f4c1 | 31 | #:use-module (guix build-system python) |
538fb23e | 32 | #:use-module (gnu packages) |
59d452da | 33 | #:use-module (gnu packages algebra) |
ecca80e2 | 34 | #:use-module (gnu packages avahi) |
538fb23e | 35 | #:use-module (gnu packages bash) |
0e790a7c EF |
36 | #:use-module (gnu packages check) |
37 | #:use-module (gnu packages code) | |
538fb23e TČ |
38 | #:use-module (gnu packages compression) |
39 | #:use-module (gnu packages curl) | |
40 | #:use-module (gnu packages fontutils) | |
22fda787 | 41 | #:use-module (gnu packages freedesktop) |
538fb23e TČ |
42 | #:use-module (gnu packages fribidi) |
43 | #:use-module (gnu packages game-development) | |
c58ed773 | 44 | #:use-module (gnu packages gettext) |
87a37fdf | 45 | #:use-module (gnu packages ghostscript) |
538fb23e TČ |
46 | #:use-module (gnu packages gl) |
47 | #:use-module (gnu packages glib) | |
48 | #:use-module (gnu packages gnome) | |
27ce97c6 | 49 | #:use-module (gnu packages gstreamer) |
ea28d935 | 50 | #:use-module (gnu packages gtk) |
ecca80e2 | 51 | #:use-module (gnu packages ibus) |
538fb23e TČ |
52 | #:use-module (gnu packages image) |
53 | #:use-module (gnu packages linux) | |
0e790a7c | 54 | #:use-module (gnu packages llvm) |
538fb23e | 55 | #:use-module (gnu packages lua) |
87a37fdf | 56 | #:use-module (gnu packages pdf) |
5e94ce97 | 57 | #:use-module (gnu packages perl) |
538fb23e TČ |
58 | #:use-module (gnu packages photo) |
59 | #:use-module (gnu packages pkg-config) | |
8581f4c1 EF |
60 | #:use-module (gnu packages pulseaudio) |
61 | #:use-module (gnu packages python) | |
44d10b1f | 62 | #:use-module (gnu packages python-xyz) |
cc2b77df | 63 | #:use-module (gnu packages tls) |
cfa04683 | 64 | #:use-module (gnu packages video) |
6ce8fe4c | 65 | #:use-module (gnu packages xdisorg) |
3b160bdc EF |
66 | #:use-module (gnu packages xorg) |
67 | #:use-module (ice-9 match)) | |
538fb23e TČ |
68 | |
69 | (define-public efl | |
70 | (package | |
71 | (name "efl") | |
1d2b1b88 | 72 | (version "1.23.3") |
538fb23e TČ |
73 | (source (origin |
74 | (method url-fetch) | |
75 | (uri (string-append | |
e4fef9df | 76 | "https://download.enlightenment.org/rel/libs/efl/efl-" |
7e22d6fe | 77 | version ".tar.xz")) |
538fb23e | 78 | (sha256 |
f4db4858 | 79 | (base32 |
1d2b1b88 | 80 | "00b9lp3h65254kdb1ys15fv7p3ln7qsvf15jkw4kli5ymagadkjk")))) |
ecca80e2 | 81 | (build-system meson-build-system) |
538fb23e | 82 | (native-inputs |
ecca80e2 EF |
83 | `(("check" ,check) |
84 | ("gettext" ,gettext-minimal) | |
85 | ("pkg-config" ,pkg-config))) | |
538fb23e | 86 | (inputs |
ecca80e2 | 87 | `(("curl" ,curl) |
538fb23e TČ |
88 | ("giflib" ,giflib) |
89 | ("gstreamer" ,gstreamer) | |
90 | ("gst-plugins-base" ,gst-plugins-base) | |
ecca80e2 EF |
91 | ("ibus" ,ibus) |
92 | ("mesa" ,mesa) | |
2a32ec27 | 93 | ("libraw" ,libraw) |
538fb23e | 94 | ("librsvg" ,librsvg) |
2a32ec27 | 95 | ("libspectre" ,libspectre) |
1804d210 | 96 | ("libxau" ,libxau) |
538fb23e TČ |
97 | ("libxcomposite" ,libxcomposite) |
98 | ("libxcursor" ,libxcursor) | |
1804d210 | 99 | ("libxdamage" ,libxdamage) |
538fb23e TČ |
100 | ("libxdmcp" ,libxdmcp) |
101 | ("libxext" ,libxext) | |
102 | ("libxi" ,libxi) | |
1804d210 | 103 | ("libxfixes" ,libxfixes) |
538fb23e TČ |
104 | ("libxinerama" ,libxinerama) |
105 | ("libxp" ,libxp) | |
106 | ("libxrandr" ,libxrandr) | |
1804d210 | 107 | ("libxrender" ,libxrender) |
ecca80e2 | 108 | ("libxss" ,libxscrnsaver) |
538fb23e | 109 | ("libxtst" ,libxtst) |
2a32ec27 | 110 | ("poppler" ,poppler) |
ecca80e2 | 111 | ("wayland-protocols" ,wayland-protocols))) |
538fb23e TČ |
112 | (propagated-inputs |
113 | ;; All these inputs are in package config files in section | |
8f1f2784 | 114 | ;; Requires.private. |
ecca80e2 EF |
115 | `(("avahi" ,avahi) |
116 | ("bullet" ,bullet) | |
117 | ("dbus" ,dbus) | |
8ce47c20 | 118 | ("elogind" ,elogind) |
ecca80e2 EF |
119 | ("eudev" ,eudev) |
120 | ("fontconfig" ,fontconfig) | |
121 | ("freetype" ,freetype) | |
122 | ("fribidi" ,fribidi) | |
123 | ("glib" ,glib) | |
124 | ("harfbuzz" ,harfbuzz) | |
125 | ("luajit" ,luajit) | |
126 | ("libinput" ,libinput-minimal) | |
127 | ("libjpeg" ,libjpeg) | |
128 | ("libpng" ,libpng) | |
129 | ("libsndfile" ,libsndfile) | |
130 | ("libtiff" ,libtiff) | |
131 | ("libwebp" ,libwebp) | |
132 | ("libx11" ,libx11) | |
133 | ("libxkbcommon" ,libxkbcommon) | |
134 | ("lz4" ,lz4) | |
135 | ("openssl" ,openssl) | |
136 | ("pulseaudio" ,pulseaudio) | |
bb93042c | 137 | ("util-linux" ,util-linux "lib") |
ecca80e2 EF |
138 | ("wayland" ,wayland) |
139 | ("zlib" ,zlib))) | |
538fb23e | 140 | (arguments |
ecca80e2 EF |
141 | `(#:configure-flags '("-Dsystemd=false" |
142 | "-Dembedded-lz4=false" | |
143 | "-Devas-loaders-disabler=json" | |
144 | "-Dbuild-examples=false" | |
145 | ;(string-append "-Ddictionaries-hyphen-dir=" | |
146 | ; (assoc-ref %build-inputs "hyphen") | |
147 | ; "/share/hyphen") | |
8ce47c20 EF |
148 | "-Delogind=true" |
149 | "-Dnetwork-backend=connman" | |
3b160bdc EF |
150 | ,@(match (%current-system) |
151 | ("armhf-linux" | |
ecca80e2 | 152 | '("-opengl=es-egl")) |
3b160bdc | 153 | (_ |
ecca80e2 | 154 | '("-Dopengl=full"))) |
6ce8fe4c | 155 | ;; for wayland |
ecca80e2 EF |
156 | "-Dwl-deprecated=true" ; ecore_wayland |
157 | "-Ddrm-deprecated=true" ; ecore_drm | |
158 | "-Dwl=true" | |
159 | "-Ddrm=true") | |
160 | #:tests? #f ; Many tests fail due to timeouts and network requests. | |
8f1f2784 EF |
161 | #:phases |
162 | (modify-phases %standard-phases | |
0329f6f7 EF |
163 | ;; If we don't hardcode the location of libcurl.so then we |
164 | ;; have to wrap the outputs of efl's dependencies in curl. | |
165 | (add-after 'unpack 'hardcode-libcurl-location | |
166 | (lambda* (#:key inputs #:allow-other-keys) | |
167 | (let* ((curl (assoc-ref inputs "curl")) | |
168 | (lib (string-append curl "/lib/"))) | |
169 | (substitute* "src/lib/ecore_con/ecore_con_url_curl.c" | |
170 | (("libcurl.so.?" libcurl) ; libcurl.so.[45] | |
171 | (string-append lib libcurl))) | |
172 | #t))) | |
ecca80e2 EF |
173 | (add-after 'unpack 'fix-install-paths |
174 | (lambda _ | |
175 | (substitute* "dbus-services/meson.build" | |
176 | (("install_dir.*") | |
177 | "install_dir: join_paths(dir_data, 'dbus-1', 'services'))\n")) | |
178 | (substitute* "src/tests/elementary/meson.build" | |
179 | (("dir_data") "meson.source_root(), 'test-output'")) | |
180 | #t)) | |
8f1f2784 EF |
181 | (add-after 'unpack 'set-home-directory |
182 | ;; FATAL: Cannot create run dir '/homeless-shelter/.run' - errno=2 | |
183 | (lambda _ (setenv "HOME" "/tmp") #t))))) | |
39a01619 | 184 | (home-page "https://www.enlightenment.org/about-efl") |
538fb23e TČ |
185 | (synopsis "Enlightenment Foundation Libraries") |
186 | (description | |
187 | "Enlightenment Foundation Libraries is a set of libraries developed | |
188 | for Enlightenment. Libraries covers data serialization, wide support for | |
189 | graphics rendering, UI layout and themes, interaction with OS, access to | |
190 | removable devices or support for multimedia.") | |
f4db4858 EF |
191 | ;; Different parts are under different licenses. |
192 | (license (list license:bsd-2 license:lgpl2.1 license:zlib)))) | |
146ee5cd | 193 | |
df2b053a TČ |
194 | (define-public terminology |
195 | (package | |
196 | (name "terminology") | |
db6982e4 | 197 | (version "1.6.0") |
df2b053a TČ |
198 | (source (origin |
199 | (method url-fetch) | |
200 | (uri | |
dab148b6 EF |
201 | (string-append "https://download.enlightenment.org/rel/apps/" |
202 | "terminology/terminology-" version ".tar.xz")) | |
df2b053a | 203 | (sha256 |
dab148b6 | 204 | (base32 |
db6982e4 | 205 | "0xxx4xyhis6fy3frgb34ip0aj0kc4zashf60gzbxmq5gadbb0p5r")) |
285e18e9 EF |
206 | (modules '((guix build utils))) |
207 | ;; Remove the bundled fonts. | |
285e18e9 EF |
208 | (snippet |
209 | '(begin | |
210 | (delete-file-recursively "data/fonts") | |
5e94ce97 EF |
211 | (substitute* "data/meson.build" |
212 | (("subdir\\('fonts'\\)") "")) | |
6cbee49d | 213 | #t)))) |
5e94ce97 | 214 | (build-system meson-build-system) |
8f1f2784 | 215 | (arguments |
944bdb2a EF |
216 | `(#:configure-flags (list "-Dtests=true" |
217 | (string-append "-Dedje-cc=" | |
218 | (assoc-ref %build-inputs "efl") | |
219 | "/bin/edje_cc")) | |
32c055fd | 220 | #:phases |
8f1f2784 EF |
221 | (modify-phases %standard-phases |
222 | (add-after 'unpack 'set-home-directory | |
223 | ;; FATAL: Cannot create run dir '/homeless-shelter/.run' - errno=2 | |
32c055fd EF |
224 | (lambda _ (setenv "HOME" "/tmp") #t)) |
225 | (replace 'check | |
226 | (lambda _ | |
227 | (with-directory-excursion | |
228 | (string-append "../" ,name "-" ,version "/tests") | |
229 | (invoke "sh" "run_tests.sh" "--verbose" | |
230 | "-t" "../../build/src/bin/tytest")))) | |
231 | (add-after 'install 'remove-test-binary | |
232 | (lambda* (#:key outputs #:allow-other-keys) | |
233 | ;; This file is not meant to be installed. | |
234 | (delete-file (string-append (assoc-ref outputs "out") | |
235 | "/bin/tytest")) | |
236 | #t))))) | |
df2b053a | 237 | (native-inputs |
285e18e9 | 238 | `(("gettext" ,gettext-minimal) |
5e94ce97 | 239 | ("perl" ,perl) |
285e18e9 | 240 | ("pkg-config" ,pkg-config))) |
df2b053a | 241 | (inputs |
2a32ec27 | 242 | `(("efl" ,efl))) |
ef7a6714 | 243 | (home-page "https://www.enlightenment.org/about-terminology") |
df2b053a TČ |
244 | (synopsis "Powerful terminal emulator based on EFL") |
245 | (description | |
246 | "Terminology is fast and feature rich terminal emulator. It is solely | |
247 | based on Enlightenment Foundation Libraries. It supports multiple tabs, UTF-8, | |
248 | URL and local path detection, themes, popup based content viewer for non-text | |
249 | contents and more.") | |
250 | (license license:bsd-2))) | |
c58ed773 | 251 | |
9523f637 DP |
252 | (define-public rage |
253 | (package | |
254 | (name "rage") | |
6cec4c4b | 255 | (version "0.3.1") |
9523f637 DP |
256 | (source (origin |
257 | (method url-fetch) | |
258 | (uri | |
259 | (string-append | |
260 | "https://download.enlightenment.org/rel/apps/rage/rage-" | |
83e9f472 | 261 | version ".tar.xz")) |
9523f637 | 262 | (sha256 |
83e9f472 | 263 | (base32 |
6cec4c4b | 264 | "04fdk23bbgvni212zrfy4ndg7vmshbsjgicrhckdvhay87pk9i75")))) |
e2f37d6a | 265 | (build-system meson-build-system) |
8f1f2784 EF |
266 | (arguments |
267 | '(#:phases | |
268 | (modify-phases %standard-phases | |
269 | (add-after 'unpack 'set-home-directory | |
270 | ;; FATAL: Cannot create run dir '/homeless-shelter/.run' - errno=2 | |
271 | (lambda _ (setenv "HOME" "/tmp") #t))))) | |
9523f637 DP |
272 | (native-inputs |
273 | `(("pkg-config" ,pkg-config))) | |
274 | (inputs | |
2a32ec27 | 275 | `(("efl" ,efl))) |
9523f637 DP |
276 | (home-page "https://www.enlightenment.org/about-rage") |
277 | (synopsis "Video and audio player based on EFL") | |
278 | (description | |
279 | "Rage is a video and audio player written with Enlightenment Foundation | |
280 | Libraries with some extra bells and whistles.") | |
281 | (license license:bsd-2))) | |
282 | ||
c58ed773 TČ |
283 | (define-public enlightenment |
284 | (package | |
285 | (name "enlightenment") | |
6a3823de | 286 | (version "0.23.1") |
c58ed773 TČ |
287 | (source (origin |
288 | (method url-fetch) | |
289 | (uri | |
e693db42 | 290 | (string-append "https://download.enlightenment.org/rel/apps/" |
3ecbda71 | 291 | "enlightenment/enlightenment-" version ".tar.xz")) |
c58ed773 | 292 | (sha256 |
a124bbd2 | 293 | (base32 |
6a3823de | 294 | "0d1cyl07w9pvi2pf029kablazks2q9aislzl46b6fq5m1465jc75")) |
122f91bd | 295 | (patches (search-patches "enlightenment-fix-setuid-path.patch")))) |
dd203116 | 296 | (build-system meson-build-system) |
df372f96 | 297 | (arguments |
dd203116 EF |
298 | `(#:configure-flags '("-Dsystemd=false") |
299 | #:phases | |
5c46c858 | 300 | (modify-phases %standard-phases |
dd203116 | 301 | (delete 'bootstrap) ; We don't want to run the autogen script. |
ff093d7b EF |
302 | (add-after 'unpack 'fix-dot-desktop-creation |
303 | (lambda _ | |
304 | (substitute* "data/session/meson.build" | |
305 | (("HAVE_WAYLAND'.*") "HAVE_WAYLAND') == true\n")) | |
306 | #t)) | |
7e60206d EF |
307 | (add-before 'configure 'set-system-actions |
308 | (lambda* (#:key inputs #:allow-other-keys) | |
944bdb2a | 309 | (setenv "HOME" "/tmp") |
7e60206d | 310 | (let ((xkeyboard (assoc-ref inputs "xkeyboard-config")) |
1df4abc7 | 311 | (setxkbmap (assoc-ref inputs "setxkbmap")) |
e15ede6e | 312 | (utils (assoc-ref inputs "util-linux")) |
3a183512 | 313 | (libc (assoc-ref inputs "libc")) |
dd203116 | 314 | (bluez (assoc-ref inputs "bluez")) |
59d452da | 315 | (bc (assoc-ref inputs "bc")) |
3a183512 | 316 | (efl (assoc-ref inputs "efl"))) |
5c46c858 | 317 | ;; We need to patch the path to 'base.lst' to be able |
318 | ;; to switch the keyboard layout in E. | |
e15ede6e TE |
319 | (substitute* (list "src/modules/xkbswitch/e_mod_parse.c" |
320 | "src/modules/wizard/page_011.c") | |
5c46c858 | 321 | (("/usr/share/X11/xkb/rules/xorg.lst") |
322 | (string-append xkeyboard | |
323 | "/share/X11/xkb/rules/base.lst"))) | |
1df4abc7 TE |
324 | (substitute* "src/bin/e_xkb.c" |
325 | (("\"setxkbmap \"") | |
326 | (string-append "\"" setxkbmap "/bin/setxkbmap \""))) | |
e15ede6e TE |
327 | (substitute* (list "src/bin/e_intl.c" |
328 | "src/modules/conf_intl/e_int_config_intl.c" | |
329 | "src/modules/wizard/page_010.c") | |
330 | (("locale -a") (string-append libc "/bin/locale -a"))) | |
3a183512 TE |
331 | (substitute* "src/bin/e_import_config_dialog.c" |
332 | (("%s/edje_cc -v %s %s %s\", e_prefix_bin_get\\(\\)") | |
333 | (string-append efl "/bin/edje_cc -v %s %s %s\""))) | |
6e339db0 EF |
334 | (substitute* "src/modules/everything/evry_plug_apps.c" |
335 | (("/usr/bin/") "")) | |
59d452da EF |
336 | (substitute* "src/modules/everything/evry_plug_calc.c" |
337 | (("bc -l") (string-append bc "/bin/bc -l"))) | |
dd203116 | 338 | (substitute* "data/etc/meson.build" |
7e60206d EF |
339 | (("/bin/mount") (string-append utils "/bin/mount")) |
340 | (("/bin/umount") (string-append utils "/bin/umount")) | |
341 | (("/usr/bin/eject") (string-append utils "/bin/eject")) | |
dd203116 EF |
342 | (("/usr/bin/l2ping") (string-append bluez "/bin/l2ling")) |
343 | (("/bin/rfkill") (string-append utils "/sbin/rfkill")) | |
344 | (("SUSPEND = ''") "SUSPEND = '/run/current-system/profile/bin/loginctl suspend'") | |
345 | (("HIBERNATE = ''") "HIBERNATE = '/run/current-system/profile/bin/loginctl hibernate'") | |
440b1629 EF |
346 | (("/sbin/shutdown -h now") "/run/current-system/profile/bin/loginctl poweroff now") |
347 | (("/sbin/shutdown -r now") "/run/current-system/profile/bin/loginctl reboot now")) | |
5c46c858 | 348 | #t)))))) |
c58ed773 | 349 | (native-inputs |
b94a6ca0 | 350 | `(("gettext" ,gettext-minimal) |
7e60206d EF |
351 | ("pkg-config" ,pkg-config) |
352 | ("util-linux" ,util-linux))) | |
c58ed773 TČ |
353 | (inputs |
354 | `(("alsa-lib" ,alsa-lib) | |
59d452da | 355 | ("bc" ,bc) |
dd203116 | 356 | ("bluez" ,bluez) |
c58ed773 | 357 | ("dbus" ,dbus) |
8c3bb471 | 358 | ("efl" ,efl) |
c58ed773 | 359 | ("freetype" ,freetype) |
c58ed773 TČ |
360 | ("libxcb" ,libxcb) |
361 | ("libxext" ,libxext) | |
362 | ("linux-pam" ,linux-pam) | |
dd203116 | 363 | ("puleseaudio" ,pulseaudio) |
1df4abc7 | 364 | ("setxkbmap" ,setxkbmap) |
5c46c858 | 365 | ("xcb-util-keysyms" ,xcb-util-keysyms) |
366 | ("xkeyboard-config" ,xkeyboard-config))) | |
5e569afb | 367 | (home-page "https://www.enlightenment.org/about-enlightenment") |
c58ed773 TČ |
368 | (synopsis "Lightweight desktop environment") |
369 | (description | |
370 | "Enlightenment is resource friendly desktop environment with integrated | |
371 | file manager, wide range of configuration options, plugin system allowing to | |
372 | unload unused functionality, with support for touchscreen and suitable for | |
373 | embedded systems.") | |
374 | (license license:bsd-2))) | |
8581f4c1 | 375 | |
303469d6 EF |
376 | (define-public enlightenment-wayland |
377 | (package | |
378 | (inherit enlightenment) | |
379 | (name "enlightenment-wayland") | |
380 | (arguments | |
381 | (substitute-keyword-arguments (package-arguments enlightenment) | |
382 | ((#:configure-flags flags) | |
383 | `(cons* "-Dwl=true" ,flags)))) | |
384 | (inputs | |
385 | `(("wayland-protocols" ,wayland-protocols) | |
386 | ("xorg-server-xwayland" ,xorg-server-xwayland) | |
387 | ,@(package-inputs enlightenment))))) | |
388 | ||
8581f4c1 EF |
389 | (define-public python-efl |
390 | (package | |
391 | (name "python-efl") | |
2d064a46 | 392 | (version "1.23.0") |
8581f4c1 EF |
393 | (source |
394 | (origin | |
395 | (method url-fetch) | |
e54a6543 | 396 | (uri (string-append "https://download.enlightenment.org/rel/bindings/" |
0cc64476 | 397 | "python/python-efl-" version ".tar.xz")) |
8581f4c1 EF |
398 | (sha256 |
399 | (base32 | |
2d064a46 | 400 | "16yn6a1b9167nfmryyi44ma40m20ansfpwgrvqzfvwix7qaz9pib")) |
e54a6543 EF |
401 | (modules '((guix build utils))) |
402 | ;; Remove files generated by Cython | |
403 | (snippet | |
404 | '(begin | |
405 | (copy-file "efl/dbus_mainloop/e_dbus.c" "efl/dbus_mainloop/e_dbus.q") | |
406 | (for-each delete-file (find-files "efl" ".*\\.c$")) | |
407 | (delete-file "efl/eo/efl.eo_api.h") | |
408 | (copy-file "efl/dbus_mainloop/e_dbus.q" "efl/dbus_mainloop/e_dbus.c") | |
409 | (delete-file "efl/dbus_mainloop/e_dbus.q") | |
410 | #t)))) | |
8581f4c1 EF |
411 | (build-system python-build-system) |
412 | (arguments | |
413 | '(#:phases | |
414 | (modify-phases %standard-phases | |
0cc64476 EF |
415 | (replace 'build |
416 | (lambda _ | |
417 | (setenv "ENABLE_CYTHON" "1") | |
418 | (invoke "python" "setup.py" "build"))) | |
8581f4c1 | 419 | (add-before 'build 'set-flags |
0cc64476 EF |
420 | (lambda _ |
421 | (setenv "CFLAGS" | |
422 | (string-append "-I" (assoc-ref %build-inputs "python-dbus") | |
423 | "/include/dbus-1.0")) | |
424 | #t)) | |
a25b6880 MB |
425 | (add-before 'check 'set-environment |
426 | (lambda _ | |
427 | ;; Some tests require write access to HOME. | |
428 | (setenv "HOME" "/tmp") | |
0cc64476 EF |
429 | ;; These tests try to connect to the internet. |
430 | (delete-file "tests/ecore/test_09_file_download.py") | |
431 | (delete-file "tests/ecore/test_11_con.py") | |
3ea2eaa8 | 432 | #t))))) |
8581f4c1 | 433 | (native-inputs |
feabb770 EF |
434 | `(("pkg-config" ,pkg-config) |
435 | ("python-cython" ,python-cython))) | |
8581f4c1 EF |
436 | (inputs |
437 | `(("efl" ,efl) | |
8581f4c1 EF |
438 | ("python-dbus" ,python-dbus))) |
439 | (home-page "https://www.enlightenment.org/") | |
440 | (synopsis "Python bindings for EFL") | |
441 | (description | |
442 | "PYTHON-EFL are the python bindings for the whole Enlightenment Foundation | |
443 | Libraries stack (eo, evas, ecore, edje, emotion, ethumb and elementary).") | |
444 | (license license:lgpl3))) | |
445 | ||
446 | (define-public python2-efl | |
447 | (package-with-python2 python-efl)) | |
0e790a7c EF |
448 | |
449 | (define-public edi | |
450 | (package | |
451 | (name "edi") | |
f1431d23 | 452 | (version "0.6.0") |
0e790a7c EF |
453 | (source |
454 | (origin | |
455 | (method url-fetch) | |
f1431d23 EF |
456 | (uri (string-append "https://download.enlightenment.org/rel/apps/edi/" |
457 | name "-" version ".tar.xz")) | |
0e790a7c EF |
458 | (sha256 |
459 | (base32 | |
f1431d23 | 460 | "0iqkah327ms5m7k054hcik2l9v68i4mg9yy52brprfqpd5jk7pw8")))) |
0e790a7c | 461 | (build-system gnu-build-system) |
0b6114da EF |
462 | (arguments |
463 | '(#:phases | |
464 | (modify-phases %standard-phases | |
465 | (add-after 'unpack 'set-home-directory | |
466 | ;; FATAL: Cannot create run dir '/homeless-shelter/.run' - errno=2 | |
467 | (lambda _ (setenv "HOME" "/tmp") #t))) | |
f1431d23 | 468 | #:tests? #f)) ; tests require running dbus service |
0e790a7c | 469 | (native-inputs |
f1431d23 | 470 | `(("pkg-config" ,pkg-config))) |
0e790a7c EF |
471 | (inputs |
472 | `(("clang" ,clang) | |
473 | ("efl" ,efl))) | |
474 | (home-page "https://www.enlightenment.org/about-edi") | |
475 | (synopsis "Development environment for Enlightenment") | |
476 | (description "EDI is a development environment designed for and built using | |
477 | the EFL. It's aim is to create a new, native development environment for Linux | |
478 | that tries to lower the barrier to getting involved in Enlightenment development | |
479 | and in creating applications based on the Enlightenment Foundation Library suite.") | |
480 | (license (list license:public-domain ; data/extra/skeleton | |
481 | license:gpl2)))) ; edi | |
22fda787 EF |
482 | |
483 | (define-public lekha | |
484 | (package | |
485 | (name "lekha") | |
486 | (version "0.2.1") | |
487 | (source (origin | |
488 | (method url-fetch) | |
489 | (uri (pypi-uri "Lekha" version)) | |
490 | (sha256 | |
491 | (base32 | |
492 | "0zr6i74ik58pbzrd7r9l7sawqbdv0r2c1a9927qkqzwga27x8j15")))) | |
493 | (build-system python-build-system) | |
494 | (arguments | |
495 | `(#:tests? #f ; no test target | |
496 | #:python ,python-2 | |
497 | #:phases | |
498 | (modify-phases %standard-phases | |
499 | (add-after 'unpack 'fix-data-location | |
500 | (lambda _ (substitute* "setup.py" | |
501 | (("'/usr/")"'")) | |
502 | #t))))) | |
503 | (propagated-inputs | |
504 | `(("python2-efl" ,python2-efl) | |
505 | ("python2-pypdf2" ,python2-pypdf2) | |
506 | ("python2-pyxdg" ,python2-pyxdg))) | |
507 | (synopsis "Simple PDF viewer") | |
508 | (description | |
509 | "Simple PDF viewer based on the Enlightenment Foundation Libraries.") | |
510 | (home-page "https://github.com/kaihu/lekha") | |
511 | (license license:gpl3+))) | |
967de7c5 EF |
512 | |
513 | (define-public ephoto | |
514 | (package | |
515 | (name "ephoto") | |
516 | (version "1.5") | |
517 | (source | |
518 | (origin | |
519 | (method url-fetch) | |
520 | (uri (list (string-append "http://www.smhouston.us/stuff/ephoto-" | |
521 | version ".tar.xz") | |
522 | (string-append "https://download.enlightenment.org/rel/" | |
523 | "apps/ephoto/ephoto-" version ".tar.xz"))) | |
524 | (sha256 | |
525 | (base32 | |
90c6a46d | 526 | "1q7v9abjp9jrs08xc7pqaac64yzax24dk1snjb9rciarzzh3mlzy")))) |
967de7c5 EF |
527 | (build-system gnu-build-system) |
528 | (arguments | |
529 | '(#:phases | |
530 | (modify-phases %standard-phases | |
531 | (add-after 'unpack 'set-home-directory | |
532 | ;; FATAL: Cannot create run dir '/homeless-shelter/.run' - errno=2 | |
533 | (lambda _ (setenv "HOME" "/tmp") #t))))) | |
534 | (native-inputs | |
535 | `(("check" ,check) | |
536 | ("pkg-config" ,pkg-config))) | |
537 | (inputs | |
538 | `(("efl" ,efl))) | |
539 | (home-page "http://smhouston.us/ephoto/") | |
540 | (synopsis "EFL image viewer/editor/manipulator/slideshow creator") | |
541 | (description "Ephoto is an image viewer and editor written using the | |
fe30eb6d TGR |
542 | @dfn{Enlightenment Foundation Libraries} (EFL). It focuses on simplicity and |
543 | ease of use, while taking advantage of the speed and small footprint the EFL | |
544 | provide. | |
967de7c5 EF |
545 | |
546 | Ephoto’s features include: | |
547 | @enumerate | |
fe30eb6d | 548 | @item Browsing the file system and displaying images in an easy-to-use grid view. |
967de7c5 EF |
549 | @item Browsing images in a single image view format. |
550 | @item Viewing images in a slideshow. | |
551 | @item Editing your image with features such as cropping, auto enhance, | |
552 | blurring, sharpening, brightness/contrast/gamma adjustments, hue/saturation/value | |
553 | adjustments, and color level adjustment. | |
fe30eb6d TGR |
554 | @item Applying artistic filters to your image such as black and white and old |
555 | photo. | |
556 | @item Drag And Drop along with file operations to easily maintain your photo | |
557 | directories. | |
967de7c5 EF |
558 | @end enumerate\n") |
559 | (license (list | |
560 | license:bsd-2 ; Ephoto's thumbnailing code | |
561 | license:bsd-3)))) | |
041e0384 EF |
562 | |
563 | (define-public evisum | |
564 | (package | |
565 | (name "evisum") | |
35d62990 | 566 | (version "0.2.6") |
041e0384 EF |
567 | (source |
568 | (origin | |
569 | (method url-fetch) | |
570 | (uri (string-append "https://download.enlightenment.org/rel/apps/" | |
571 | "evisum/evisum-" version ".tar.xz")) | |
572 | (sha256 | |
573 | (base32 | |
35d62990 | 574 | "1rg3kri6j8nmab0kdljnmcc096c8ibgwzvbhqr0b25xpmrq8bcac")))) |
041e0384 EF |
575 | (build-system gnu-build-system) |
576 | (arguments | |
577 | '(#:tests? #f ; no tests | |
578 | #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) | |
579 | #:phases | |
580 | (modify-phases %standard-phases | |
581 | (delete 'configure) ; no configure phase | |
582 | (add-after 'unpack 'set-environmental-variables | |
583 | (lambda _ (setenv "CC" (which "gcc")) #t))))) | |
584 | (native-inputs | |
585 | `(("pkg-config" ,pkg-config))) | |
586 | (inputs | |
587 | `(("alsa-lib" ,alsa-lib) | |
588 | ("efl" ,efl) | |
589 | ("perl" ,perl))) | |
590 | (home-page "https://www.enlightenment.org") | |
591 | (synopsis "EFL process viewer") | |
592 | (description | |
593 | "This is a process monitor and system monitor using the | |
594 | @dfn{Enlightenment Foundation Libraries} (EFL).") | |
595 | (license license:bsd-2))) |