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