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> |
072abfe4 | 4 | ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> |
3c986a7d | 5 | ;;; Copyright © 2017 Nikita <nikita@n0.is> |
747873e8 | 6 | ;;; Copyright © 2018, 2019, 2020 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) |
fae75ff9 | 34 | #:use-module (gnu packages bittorrent) |
0e790a7c EF |
35 | #:use-module (gnu packages check) |
36 | #:use-module (gnu packages code) | |
538fb23e TČ |
37 | #:use-module (gnu packages compression) |
38 | #:use-module (gnu packages curl) | |
39 | #:use-module (gnu packages fontutils) | |
22fda787 | 40 | #:use-module (gnu packages freedesktop) |
538fb23e TČ |
41 | #:use-module (gnu packages fribidi) |
42 | #:use-module (gnu packages game-development) | |
c58ed773 | 43 | #:use-module (gnu packages gettext) |
87a37fdf | 44 | #:use-module (gnu packages ghostscript) |
538fb23e TČ |
45 | #:use-module (gnu packages gl) |
46 | #:use-module (gnu packages glib) | |
47 | #:use-module (gnu packages gnome) | |
27ce97c6 | 48 | #:use-module (gnu packages gstreamer) |
ea28d935 | 49 | #:use-module (gnu packages gtk) |
ecca80e2 | 50 | #:use-module (gnu packages ibus) |
538fb23e TČ |
51 | #:use-module (gnu packages image) |
52 | #:use-module (gnu packages linux) | |
0e790a7c | 53 | #:use-module (gnu packages llvm) |
538fb23e | 54 | #:use-module (gnu packages lua) |
87a37fdf | 55 | #:use-module (gnu packages pdf) |
5e94ce97 | 56 | #:use-module (gnu packages perl) |
538fb23e TČ |
57 | #:use-module (gnu packages photo) |
58 | #:use-module (gnu packages pkg-config) | |
8581f4c1 EF |
59 | #:use-module (gnu packages pulseaudio) |
60 | #:use-module (gnu packages python) | |
44d10b1f | 61 | #:use-module (gnu packages python-xyz) |
cc2b77df | 62 | #:use-module (gnu packages tls) |
cfa04683 | 63 | #:use-module (gnu packages video) |
6ce8fe4c | 64 | #:use-module (gnu packages xdisorg) |
3b160bdc EF |
65 | #:use-module (gnu packages xorg) |
66 | #:use-module (ice-9 match)) | |
538fb23e TČ |
67 | |
68 | (define-public efl | |
69 | (package | |
70 | (name "efl") | |
753f26cd | 71 | (version "1.25.1") |
538fb23e TČ |
72 | (source (origin |
73 | (method url-fetch) | |
74 | (uri (string-append | |
e4fef9df | 75 | "https://download.enlightenment.org/rel/libs/efl/efl-" |
7e22d6fe | 76 | version ".tar.xz")) |
538fb23e | 77 | (sha256 |
f4db4858 | 78 | (base32 |
753f26cd | 79 | "0svybbrvpf6q955y6fclxh3md64z0dgmh0x54x2j60503hhs071m")))) |
ecca80e2 | 80 | (build-system meson-build-system) |
538fb23e | 81 | (native-inputs |
e1409c76 | 82 | `(("check" ,check-0.14) |
ecca80e2 EF |
83 | ("gettext" ,gettext-minimal) |
84 | ("pkg-config" ,pkg-config))) | |
538fb23e | 85 | (inputs |
ecca80e2 | 86 | `(("curl" ,curl) |
538fb23e TČ |
87 | ("giflib" ,giflib) |
88 | ("gstreamer" ,gstreamer) | |
89 | ("gst-plugins-base" ,gst-plugins-base) | |
ecca80e2 EF |
90 | ("ibus" ,ibus) |
91 | ("mesa" ,mesa) | |
2a32ec27 | 92 | ("libraw" ,libraw) |
538fb23e | 93 | ("librsvg" ,librsvg) |
2a32ec27 | 94 | ("libspectre" ,libspectre) |
1157bee4 | 95 | ("libtiff" ,libtiff) |
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 | 104 | ("libxinerama" ,libxinerama) |
538fb23e | 105 | ("libxrandr" ,libxrandr) |
1804d210 | 106 | ("libxrender" ,libxrender) |
ecca80e2 | 107 | ("libxss" ,libxscrnsaver) |
538fb23e | 108 | ("libxtst" ,libxtst) |
1157bee4 EF |
109 | ("libwebp" ,libwebp) |
110 | ("openjpeg" ,openjpeg) | |
2a32ec27 | 111 | ("poppler" ,poppler) |
1157bee4 | 112 | ("util-linux" ,util-linux "lib") |
ecca80e2 | 113 | ("wayland-protocols" ,wayland-protocols))) |
538fb23e TČ |
114 | (propagated-inputs |
115 | ;; All these inputs are in package config files in section | |
8f1f2784 | 116 | ;; Requires.private. |
a183bb08 | 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) | |
ecca80e2 | 125 | ("libinput" ,libinput-minimal) |
4bd428a7 | 126 | ("libjpeg" ,libjpeg-turbo) |
279569ca | 127 | ("libsndfile" ,libsndfile) |
1157bee4 | 128 | ("libpng" ,libpng) |
ecca80e2 EF |
129 | ("libx11" ,libx11) |
130 | ("libxkbcommon" ,libxkbcommon) | |
1157bee4 | 131 | ("luajit" ,luajit) |
ecca80e2 EF |
132 | ("lz4" ,lz4) |
133 | ("openssl" ,openssl) | |
134 | ("pulseaudio" ,pulseaudio) | |
ecca80e2 EF |
135 | ("wayland" ,wayland) |
136 | ("zlib" ,zlib))) | |
538fb23e | 137 | (arguments |
a183bb08 | 138 | `(#:configure-flags '("-Dembedded-lz4=false" |
ecca80e2 | 139 | "-Dbuild-examples=false" |
1157bee4 | 140 | "-Decore-imf-loaders-disabler=scim" |
1157bee4 EF |
141 | "-Dglib=true" |
142 | "-Dmount-path=/run/setuid-programs/mount" | |
143 | "-Dunmount-path=/run/setuid-programs/umount" | |
ecca80e2 EF |
144 | ;(string-append "-Ddictionaries-hyphen-dir=" |
145 | ; (assoc-ref %build-inputs "hyphen") | |
146 | ; "/share/hyphen") | |
8ce47c20 | 147 | "-Dnetwork-backend=connman" |
6ce8fe4c | 148 | ;; for wayland |
ecca80e2 EF |
149 | "-Dwl=true" |
150 | "-Ddrm=true") | |
151 | #:tests? #f ; Many tests fail due to timeouts and network requests. | |
8f1f2784 EF |
152 | #:phases |
153 | (modify-phases %standard-phases | |
1157bee4 EF |
154 | ;; If we don't hardcode the location of libcurl.so and others then we |
155 | ;; have to wrap the outputs of efl's dependencies in those libraries. | |
156 | (add-after 'unpack 'hardcode-dynamic-libraries | |
0329f6f7 | 157 | (lambda* (#:key inputs #:allow-other-keys) |
1157bee4 EF |
158 | (let ((curl (assoc-ref inputs "curl")) |
159 | (pulse (assoc-ref inputs "pulseaudio")) | |
160 | (sndfile (assoc-ref inputs "libsndfile")) | |
a183bb08 | 161 | (elogind (assoc-ref inputs "elogind")) |
1157bee4 | 162 | (lib "/lib/")) |
0329f6f7 EF |
163 | (substitute* "src/lib/ecore_con/ecore_con_url_curl.c" |
164 | (("libcurl.so.?" libcurl) ; libcurl.so.[45] | |
1157bee4 EF |
165 | (string-append curl lib libcurl))) |
166 | (substitute* "src/lib/ecore_audio/ecore_audio.c" | |
167 | (("libpulse.so.0" libpulse) | |
168 | (string-append pulse lib libpulse)) | |
169 | (("libsndfile.so.1" libsnd) | |
170 | (string-append sndfile lib libsnd))) | |
a183bb08 EF |
171 | (substitute* "src/lib/elput/elput_logind.c" |
172 | (("libelogind.so.0" libelogind) | |
173 | (string-append elogind "/lib/" libelogind))) | |
0329f6f7 | 174 | #t))) |
ecca80e2 EF |
175 | (add-after 'unpack 'fix-install-paths |
176 | (lambda _ | |
177 | (substitute* "dbus-services/meson.build" | |
178 | (("install_dir.*") | |
179 | "install_dir: join_paths(dir_data, 'dbus-1', 'services'))\n")) | |
180 | (substitute* "src/tests/elementary/meson.build" | |
181 | (("dir_data") "meson.source_root(), 'test-output'")) | |
c7877db2 EF |
182 | (substitute* "data/eo/meson.build" |
183 | (("'usr', 'lib'") "'./' + dir_lib")) | |
ecca80e2 | 184 | #t)) |
8f1f2784 EF |
185 | (add-after 'unpack 'set-home-directory |
186 | ;; FATAL: Cannot create run dir '/homeless-shelter/.run' - errno=2 | |
187 | (lambda _ (setenv "HOME" "/tmp") #t))))) | |
39a01619 | 188 | (home-page "https://www.enlightenment.org/about-efl") |
538fb23e TČ |
189 | (synopsis "Enlightenment Foundation Libraries") |
190 | (description | |
191 | "Enlightenment Foundation Libraries is a set of libraries developed | |
192 | for Enlightenment. Libraries covers data serialization, wide support for | |
193 | graphics rendering, UI layout and themes, interaction with OS, access to | |
194 | removable devices or support for multimedia.") | |
f4db4858 EF |
195 | ;; Different parts are under different licenses. |
196 | (license (list license:bsd-2 license:lgpl2.1 license:zlib)))) | |
146ee5cd | 197 | |
df2b053a TČ |
198 | (define-public terminology |
199 | (package | |
200 | (name "terminology") | |
868c4dec | 201 | (version "1.9.0") |
df2b053a TČ |
202 | (source (origin |
203 | (method url-fetch) | |
204 | (uri | |
dab148b6 EF |
205 | (string-append "https://download.enlightenment.org/rel/apps/" |
206 | "terminology/terminology-" version ".tar.xz")) | |
df2b053a | 207 | (sha256 |
dab148b6 | 208 | (base32 |
868c4dec | 209 | "0v74858yvrrfy0l2pq7yn6izvqhpkb9gw2jpd3a3khjwv8kw6frz")) |
285e18e9 EF |
210 | (modules '((guix build utils))) |
211 | ;; Remove the bundled fonts. | |
285e18e9 EF |
212 | (snippet |
213 | '(begin | |
214 | (delete-file-recursively "data/fonts") | |
5e94ce97 EF |
215 | (substitute* "data/meson.build" |
216 | (("subdir\\('fonts'\\)") "")) | |
6cbee49d | 217 | #t)))) |
5e94ce97 | 218 | (build-system meson-build-system) |
8f1f2784 | 219 | (arguments |
868c4dec EF |
220 | `(#:configure-flags |
221 | (let ((efl (assoc-ref %build-inputs "efl"))) | |
222 | (list "-Dtests=true" | |
223 | (string-append "-Dedje-cc=" efl "/bin/edje_cc") | |
224 | (string-append "-Deet=" efl "/bin/eet"))) | |
32c055fd | 225 | #:phases |
8f1f2784 EF |
226 | (modify-phases %standard-phases |
227 | (add-after 'unpack 'set-home-directory | |
228 | ;; FATAL: Cannot create run dir '/homeless-shelter/.run' - errno=2 | |
32c055fd EF |
229 | (lambda _ (setenv "HOME" "/tmp") #t)) |
230 | (replace 'check | |
231 | (lambda _ | |
232 | (with-directory-excursion | |
233 | (string-append "../" ,name "-" ,version "/tests") | |
234 | (invoke "sh" "run_tests.sh" "--verbose" | |
235 | "-t" "../../build/src/bin/tytest")))) | |
236 | (add-after 'install 'remove-test-binary | |
237 | (lambda* (#:key outputs #:allow-other-keys) | |
238 | ;; This file is not meant to be installed. | |
239 | (delete-file (string-append (assoc-ref outputs "out") | |
240 | "/bin/tytest")) | |
241 | #t))))) | |
df2b053a | 242 | (native-inputs |
285e18e9 | 243 | `(("gettext" ,gettext-minimal) |
5e94ce97 | 244 | ("perl" ,perl) |
285e18e9 | 245 | ("pkg-config" ,pkg-config))) |
df2b053a | 246 | (inputs |
2a32ec27 | 247 | `(("efl" ,efl))) |
ef7a6714 | 248 | (home-page "https://www.enlightenment.org/about-terminology") |
df2b053a TČ |
249 | (synopsis "Powerful terminal emulator based on EFL") |
250 | (description | |
251 | "Terminology is fast and feature rich terminal emulator. It is solely | |
252 | based on Enlightenment Foundation Libraries. It supports multiple tabs, UTF-8, | |
253 | URL and local path detection, themes, popup based content viewer for non-text | |
254 | contents and more.") | |
255 | (license license:bsd-2))) | |
c58ed773 | 256 | |
9523f637 DP |
257 | (define-public rage |
258 | (package | |
259 | (name "rage") | |
6cec4c4b | 260 | (version "0.3.1") |
9523f637 DP |
261 | (source (origin |
262 | (method url-fetch) | |
263 | (uri | |
264 | (string-append | |
265 | "https://download.enlightenment.org/rel/apps/rage/rage-" | |
83e9f472 | 266 | version ".tar.xz")) |
9523f637 | 267 | (sha256 |
83e9f472 | 268 | (base32 |
6cec4c4b | 269 | "04fdk23bbgvni212zrfy4ndg7vmshbsjgicrhckdvhay87pk9i75")))) |
e2f37d6a | 270 | (build-system meson-build-system) |
8f1f2784 EF |
271 | (arguments |
272 | '(#:phases | |
273 | (modify-phases %standard-phases | |
274 | (add-after 'unpack 'set-home-directory | |
275 | ;; FATAL: Cannot create run dir '/homeless-shelter/.run' - errno=2 | |
276 | (lambda _ (setenv "HOME" "/tmp") #t))))) | |
9523f637 DP |
277 | (native-inputs |
278 | `(("pkg-config" ,pkg-config))) | |
279 | (inputs | |
2a32ec27 | 280 | `(("efl" ,efl))) |
9523f637 DP |
281 | (home-page "https://www.enlightenment.org/about-rage") |
282 | (synopsis "Video and audio player based on EFL") | |
283 | (description | |
284 | "Rage is a video and audio player written with Enlightenment Foundation | |
285 | Libraries with some extra bells and whistles.") | |
286 | (license license:bsd-2))) | |
287 | ||
c58ed773 TČ |
288 | (define-public enlightenment |
289 | (package | |
290 | (name "enlightenment") | |
0c6b92d2 | 291 | (version "0.24.2") |
c58ed773 TČ |
292 | (source (origin |
293 | (method url-fetch) | |
294 | (uri | |
e693db42 | 295 | (string-append "https://download.enlightenment.org/rel/apps/" |
3ecbda71 | 296 | "enlightenment/enlightenment-" version ".tar.xz")) |
c58ed773 | 297 | (sha256 |
a124bbd2 | 298 | (base32 |
0c6b92d2 | 299 | "1wfz0rwwsx7c1mkswn4hc9xw1i6bsdirhxiycf7ha2vcipqy465y")) |
122f91bd | 300 | (patches (search-patches "enlightenment-fix-setuid-path.patch")))) |
dd203116 | 301 | (build-system meson-build-system) |
df372f96 | 302 | (arguments |
2ae11cd0 EF |
303 | `(#:configure-flags |
304 | (let ((efl (assoc-ref %build-inputs "efl"))) | |
305 | (list "-Dsystemd=false" | |
306 | "-Dpackagekit=false" | |
f911b279 | 307 | "-Dwl=true" |
2ae11cd0 EF |
308 | (string-append "-Dedje-cc=" efl "/bin/edje_cc") |
309 | (string-append "-Deldbus-codegen=" efl "/bin/eldbus-codegen") | |
310 | (string-append "-Deet=" efl "/bin/eet"))) | |
dd203116 | 311 | #:phases |
5c46c858 | 312 | (modify-phases %standard-phases |
dd203116 | 313 | (delete 'bootstrap) ; We don't want to run the autogen script. |
7e60206d EF |
314 | (add-before 'configure 'set-system-actions |
315 | (lambda* (#:key inputs #:allow-other-keys) | |
2ae11cd0 | 316 | (setenv "HOME" "/tmp") |
7e60206d | 317 | (let ((xkeyboard (assoc-ref inputs "xkeyboard-config")) |
1df4abc7 | 318 | (setxkbmap (assoc-ref inputs "setxkbmap")) |
3a183512 | 319 | (libc (assoc-ref inputs "libc")) |
59d452da | 320 | (bc (assoc-ref inputs "bc")) |
3a183512 | 321 | (efl (assoc-ref inputs "efl"))) |
5c46c858 | 322 | ;; We need to patch the path to 'base.lst' to be able |
323 | ;; to switch the keyboard layout in E. | |
e15ede6e TE |
324 | (substitute* (list "src/modules/xkbswitch/e_mod_parse.c" |
325 | "src/modules/wizard/page_011.c") | |
5c46c858 | 326 | (("/usr/share/X11/xkb/rules/xorg.lst") |
327 | (string-append xkeyboard | |
328 | "/share/X11/xkb/rules/base.lst"))) | |
1df4abc7 TE |
329 | (substitute* "src/bin/e_xkb.c" |
330 | (("\"setxkbmap \"") | |
331 | (string-append "\"" setxkbmap "/bin/setxkbmap \""))) | |
e15ede6e TE |
332 | (substitute* (list "src/bin/e_intl.c" |
333 | "src/modules/conf_intl/e_int_config_intl.c" | |
334 | "src/modules/wizard/page_010.c") | |
335 | (("locale -a") (string-append libc "/bin/locale -a"))) | |
6e339db0 EF |
336 | (substitute* "src/modules/everything/evry_plug_apps.c" |
337 | (("/usr/bin/") "")) | |
2ae11cd0 EF |
338 | (substitute* '("src/bin/e_sys_main.c" |
339 | "src/bin/e_util_suid.h") | |
340 | (("PATH=/bin:/usr/bin:/sbin:/usr/sbin") | |
341 | (string-append "PATH=/run/setuid-programs:" | |
342 | "/run/current-system/profile/bin:" | |
343 | "/run/current-system/profile/sbin"))) | |
59d452da EF |
344 | (substitute* "src/modules/everything/evry_plug_calc.c" |
345 | (("bc -l") (string-append bc "/bin/bc -l"))) | |
dd203116 | 346 | (substitute* "data/etc/meson.build" |
5a743e1e EF |
347 | (("/bin/mount") "/run/setuid-programs/mount") |
348 | (("/bin/umount") "/run/setuid-programs/umount") | |
e8ae96ae | 349 | (("/usr/bin/eject") "/run/current-system/profile/bin/eject")) |
2ae11cd0 EF |
350 | (substitute* "src/bin/system/e_system_power.c" |
351 | (("systemctl") "loginctl")) | |
5c46c858 | 352 | #t)))))) |
c58ed773 | 353 | (native-inputs |
b94a6ca0 | 354 | `(("gettext" ,gettext-minimal) |
e8ae96ae | 355 | ("pkg-config" ,pkg-config))) |
c58ed773 TČ |
356 | (inputs |
357 | `(("alsa-lib" ,alsa-lib) | |
59d452da | 358 | ("bc" ,bc) |
dd203116 | 359 | ("bluez" ,bluez) |
c58ed773 TČ |
360 | ("dbus" ,dbus) |
361 | ("freetype" ,freetype) | |
c58ed773 TČ |
362 | ("libxcb" ,libxcb) |
363 | ("libxext" ,libxext) | |
364 | ("linux-pam" ,linux-pam) | |
dd203116 | 365 | ("puleseaudio" ,pulseaudio) |
1df4abc7 | 366 | ("setxkbmap" ,setxkbmap) |
5c46c858 | 367 | ("xcb-util-keysyms" ,xcb-util-keysyms) |
f911b279 EF |
368 | ("xkeyboard-config" ,xkeyboard-config) |
369 | ("xorg-server-xwayland" ,xorg-server-xwayland))) | |
65d96ea4 EF |
370 | (propagated-inputs |
371 | `(("efl" ,efl) | |
372 | ("libxkbcommon" ,libxkbcommon) | |
373 | ("wayland-protocols" ,wayland-protocols))) | |
5e569afb | 374 | (home-page "https://www.enlightenment.org/about-enlightenment") |
c58ed773 TČ |
375 | (synopsis "Lightweight desktop environment") |
376 | (description | |
377 | "Enlightenment is resource friendly desktop environment with integrated | |
378 | file manager, wide range of configuration options, plugin system allowing to | |
379 | unload unused functionality, with support for touchscreen and suitable for | |
380 | embedded systems.") | |
381 | (license license:bsd-2))) | |
8581f4c1 | 382 | |
303469d6 | 383 | (define-public enlightenment-wayland |
92c83efc | 384 | (deprecated-package "enlightenment-wayland" enlightenment)) |
303469d6 | 385 | |
8581f4c1 EF |
386 | (define-public python-efl |
387 | (package | |
388 | (name "python-efl") | |
13c27c11 | 389 | (version "1.25.0") |
8581f4c1 EF |
390 | (source |
391 | (origin | |
392 | (method url-fetch) | |
e54a6543 | 393 | (uri (string-append "https://download.enlightenment.org/rel/bindings/" |
0cc64476 | 394 | "python/python-efl-" version ".tar.xz")) |
8581f4c1 EF |
395 | (sha256 |
396 | (base32 | |
13c27c11 | 397 | "0bk161xwlz4dlv56r68xwkm8snzfifaxd1j7w2wcyyk4fgvnvq4r")) |
e54a6543 EF |
398 | (modules '((guix build utils))) |
399 | ;; Remove files generated by Cython | |
400 | (snippet | |
04b5fb92 EF |
401 | '(begin |
402 | (for-each (lambda (file) | |
403 | (let ((generated-file | |
404 | (string-append (string-drop-right file 3) "c"))) | |
405 | (when (file-exists? generated-file) | |
406 | (delete-file generated-file)))) | |
407 | (find-files "efl" "\\.pyx$")) | |
408 | (delete-file "efl/eo/efl.eo_api.h") | |
409 | #t)))) | |
8581f4c1 EF |
410 | (build-system python-build-system) |
411 | (arguments | |
412 | '(#:phases | |
413 | (modify-phases %standard-phases | |
0cc64476 EF |
414 | (replace 'build |
415 | (lambda _ | |
416 | (setenv "ENABLE_CYTHON" "1") | |
417 | (invoke "python" "setup.py" "build"))) | |
8581f4c1 | 418 | (add-before 'build 'set-flags |
0cc64476 EF |
419 | (lambda _ |
420 | (setenv "CFLAGS" | |
421 | (string-append "-I" (assoc-ref %build-inputs "python-dbus") | |
422 | "/include/dbus-1.0")) | |
423 | #t)) | |
a25b6880 MB |
424 | (add-before 'check 'set-environment |
425 | (lambda _ | |
426 | ;; Some tests require write access to HOME. | |
427 | (setenv "HOME" "/tmp") | |
0cc64476 EF |
428 | ;; These tests try to connect to the internet. |
429 | (delete-file "tests/ecore/test_09_file_download.py") | |
430 | (delete-file "tests/ecore/test_11_con.py") | |
3ea2eaa8 | 431 | #t))))) |
8581f4c1 | 432 | (native-inputs |
feabb770 EF |
433 | `(("pkg-config" ,pkg-config) |
434 | ("python-cython" ,python-cython))) | |
8581f4c1 EF |
435 | (inputs |
436 | `(("efl" ,efl) | |
8581f4c1 EF |
437 | ("python-dbus" ,python-dbus))) |
438 | (home-page "https://www.enlightenment.org/") | |
439 | (synopsis "Python bindings for EFL") | |
440 | (description | |
441 | "PYTHON-EFL are the python bindings for the whole Enlightenment Foundation | |
442 | Libraries stack (eo, evas, ecore, edje, emotion, ethumb and elementary).") | |
443 | (license license:lgpl3))) | |
444 | ||
445 | (define-public python2-efl | |
446 | (package-with-python2 python-efl)) | |
0e790a7c EF |
447 | |
448 | (define-public edi | |
449 | (package | |
450 | (name "edi") | |
1463079a | 451 | (version "0.8.0") |
0e790a7c EF |
452 | (source |
453 | (origin | |
454 | (method url-fetch) | |
1463079a EF |
455 | (uri (string-append "https://github.com/Enlightenment/edi/releases/" |
456 | "download/v" version "/edi-" version ".tar.xz")) | |
0e790a7c EF |
457 | (sha256 |
458 | (base32 | |
1463079a EF |
459 | "01k8gp8r2wa6pyg3dkbm35m6hdsbss06hybghg0qjmd4mzswcd3a")))) |
460 | (build-system meson-build-system) | |
0b6114da EF |
461 | (arguments |
462 | '(#:phases | |
463 | (modify-phases %standard-phases | |
1463079a EF |
464 | (add-after 'unpack 'fix-clang-header |
465 | (lambda _ | |
466 | (substitute* "scripts/clang_include_dir.sh" | |
467 | (("grep clang") "grep clang | head -n1")) | |
468 | #t)) | |
0b6114da EF |
469 | (add-after 'unpack 'set-home-directory |
470 | ;; FATAL: Cannot create run dir '/homeless-shelter/.run' - errno=2 | |
471 | (lambda _ (setenv "HOME" "/tmp") #t))) | |
f1431d23 | 472 | #:tests? #f)) ; tests require running dbus service |
0e790a7c | 473 | (native-inputs |
e1409c76 | 474 | `(("check" ,check-0.14) |
1463079a EF |
475 | ("gettext" ,gettext-minimal) |
476 | ("pkg-config" ,pkg-config))) | |
0e790a7c EF |
477 | (inputs |
478 | `(("clang" ,clang) | |
479 | ("efl" ,efl))) | |
480 | (home-page "https://www.enlightenment.org/about-edi") | |
481 | (synopsis "Development environment for Enlightenment") | |
482 | (description "EDI is a development environment designed for and built using | |
483 | the EFL. It's aim is to create a new, native development environment for Linux | |
484 | that tries to lower the barrier to getting involved in Enlightenment development | |
485 | and in creating applications based on the Enlightenment Foundation Library suite.") | |
486 | (license (list license:public-domain ; data/extra/skeleton | |
1463079a EF |
487 | license:gpl2 ; edi |
488 | license:gpl3)))) ; data/extra/examples/images/mono-runtime.png | |
22fda787 EF |
489 | |
490 | (define-public lekha | |
491 | (package | |
492 | (name "lekha") | |
493 | (version "0.2.1") | |
494 | (source (origin | |
495 | (method url-fetch) | |
496 | (uri (pypi-uri "Lekha" version)) | |
497 | (sha256 | |
498 | (base32 | |
499 | "0zr6i74ik58pbzrd7r9l7sawqbdv0r2c1a9927qkqzwga27x8j15")))) | |
500 | (build-system python-build-system) | |
501 | (arguments | |
502 | `(#:tests? #f ; no test target | |
503 | #:python ,python-2 | |
504 | #:phases | |
505 | (modify-phases %standard-phases | |
506 | (add-after 'unpack 'fix-data-location | |
507 | (lambda _ (substitute* "setup.py" | |
508 | (("'/usr/")"'")) | |
509 | #t))))) | |
510 | (propagated-inputs | |
511 | `(("python2-efl" ,python2-efl) | |
512 | ("python2-pypdf2" ,python2-pypdf2) | |
513 | ("python2-pyxdg" ,python2-pyxdg))) | |
514 | (synopsis "Simple PDF viewer") | |
515 | (description | |
516 | "Simple PDF viewer based on the Enlightenment Foundation Libraries.") | |
517 | (home-page "https://github.com/kaihu/lekha") | |
518 | (license license:gpl3+))) | |
967de7c5 EF |
519 | |
520 | (define-public ephoto | |
521 | (package | |
522 | (name "ephoto") | |
523 | (version "1.5") | |
524 | (source | |
7247b841 TGR |
525 | (origin |
526 | (method url-fetch) | |
527 | (uri (string-append "https://download.enlightenment.org/rel/" | |
528 | "apps/ephoto/ephoto-" version ".tar.xz")) | |
529 | (sha256 | |
530 | (base32 "1q7v9abjp9jrs08xc7pqaac64yzax24dk1snjb9rciarzzh3mlzy")))) | |
967de7c5 EF |
531 | (build-system gnu-build-system) |
532 | (arguments | |
533 | '(#:phases | |
534 | (modify-phases %standard-phases | |
535 | (add-after 'unpack 'set-home-directory | |
536 | ;; FATAL: Cannot create run dir '/homeless-shelter/.run' - errno=2 | |
537 | (lambda _ (setenv "HOME" "/tmp") #t))))) | |
538 | (native-inputs | |
539 | `(("check" ,check) | |
540 | ("pkg-config" ,pkg-config))) | |
541 | (inputs | |
542 | `(("efl" ,efl))) | |
7247b841 | 543 | (home-page "https://smhouston.us/projects/ephoto/") |
967de7c5 EF |
544 | (synopsis "EFL image viewer/editor/manipulator/slideshow creator") |
545 | (description "Ephoto is an image viewer and editor written using the | |
fe30eb6d TGR |
546 | @dfn{Enlightenment Foundation Libraries} (EFL). It focuses on simplicity and |
547 | ease of use, while taking advantage of the speed and small footprint the EFL | |
548 | provide. | |
967de7c5 EF |
549 | |
550 | Ephoto’s features include: | |
551 | @enumerate | |
fe30eb6d | 552 | @item Browsing the file system and displaying images in an easy-to-use grid view. |
967de7c5 EF |
553 | @item Browsing images in a single image view format. |
554 | @item Viewing images in a slideshow. | |
555 | @item Editing your image with features such as cropping, auto enhance, | |
556 | blurring, sharpening, brightness/contrast/gamma adjustments, hue/saturation/value | |
557 | adjustments, and color level adjustment. | |
fe30eb6d TGR |
558 | @item Applying artistic filters to your image such as black and white and old |
559 | photo. | |
560 | @item Drag And Drop along with file operations to easily maintain your photo | |
561 | directories. | |
967de7c5 EF |
562 | @end enumerate\n") |
563 | (license (list | |
564 | license:bsd-2 ; Ephoto's thumbnailing code | |
565 | license:bsd-3)))) | |
041e0384 EF |
566 | |
567 | (define-public evisum | |
568 | (package | |
569 | (name "evisum") | |
80c83756 | 570 | (version "0.5.11") |
041e0384 EF |
571 | (source |
572 | (origin | |
573 | (method url-fetch) | |
574 | (uri (string-append "https://download.enlightenment.org/rel/apps/" | |
575 | "evisum/evisum-" version ".tar.xz")) | |
576 | (sha256 | |
80c83756 | 577 | (base32 "0cbfg393nlf0k91a2hdlyakns3dpzvs3isd95dm3zizydyf9h8wc")))) |
13d3a9bf | 578 | (build-system meson-build-system) |
041e0384 | 579 | (arguments |
747873e8 | 580 | '(#:tests? #f)) ; no tests |
041e0384 | 581 | (native-inputs |
8d0a7a54 EF |
582 | `(("gettext" ,gettext-minimal) |
583 | ("pkg-config" ,pkg-config))) | |
041e0384 | 584 | (inputs |
13d3a9bf | 585 | `(("efl" ,efl))) |
041e0384 EF |
586 | (home-page "https://www.enlightenment.org") |
587 | (synopsis "EFL process viewer") | |
588 | (description | |
589 | "This is a process monitor and system monitor using the | |
590 | @dfn{Enlightenment Foundation Libraries} (EFL).") | |
591 | (license license:bsd-2))) | |
fae75ff9 EF |
592 | |
593 | (define-public epour | |
594 | (package | |
595 | (name "epour") | |
596 | (version "0.7.0") | |
597 | (source | |
598 | (origin | |
599 | (method url-fetch) | |
600 | (uri (string-append "https://download.enlightenment.org/rel/apps/epour" | |
601 | "/epour-" version ".tar.xz")) | |
602 | (sha256 | |
603 | (base32 | |
604 | "0g9f9p01hsq6dcf4cs1pwq95g6fpkyjgwqlvdjk1km1i5gj5ygqw")))) | |
605 | (build-system python-build-system) | |
606 | (arguments | |
607 | `(#:tests? #f ; no test target | |
608 | #:use-setuptools? #f | |
609 | #:phases | |
610 | (modify-phases %standard-phases | |
611 | (add-after 'unpack 'find-theme-dir | |
612 | (lambda* (#:key outputs #:allow-other-keys) | |
613 | (let ((out (assoc-ref outputs "out"))) | |
614 | (substitute* "epour/gui/__init__.py" | |
615 | (("join\\(data_path") | |
616 | (string-append "join(\"" out "/share/epour\""))) | |
617 | #t)))))) | |
618 | (native-inputs | |
619 | `(("intltool" ,intltool) | |
620 | ("python-distutils-extra" ,python-distutils-extra))) | |
621 | (inputs | |
622 | `(("libtorrent-rasterbar" ,libtorrent-rasterbar) | |
623 | ("python-dbus" ,python-dbus) | |
624 | ("python-efl" ,python-efl) | |
625 | ("python-pyxdg" ,python-pyxdg))) | |
626 | (home-page "https://www.enlightenment.org") | |
627 | (synopsis "EFL Bittorrent client") | |
628 | (description "Epour is a BitTorrent client based on the @dfn{Enlightenment | |
629 | Foundation Libraries} (EFL) and rb-libtorrent.") | |
630 | (license license:gpl3+))) |