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> |
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) |
fae75ff9 | 36 | #:use-module (gnu packages bittorrent) |
0e790a7c EF |
37 | #:use-module (gnu packages check) |
38 | #:use-module (gnu packages code) | |
538fb23e TČ |
39 | #:use-module (gnu packages compression) |
40 | #:use-module (gnu packages curl) | |
41 | #:use-module (gnu packages fontutils) | |
22fda787 | 42 | #:use-module (gnu packages freedesktop) |
538fb23e TČ |
43 | #:use-module (gnu packages fribidi) |
44 | #:use-module (gnu packages game-development) | |
c58ed773 | 45 | #:use-module (gnu packages gettext) |
87a37fdf | 46 | #:use-module (gnu packages ghostscript) |
538fb23e TČ |
47 | #:use-module (gnu packages gl) |
48 | #:use-module (gnu packages glib) | |
49 | #:use-module (gnu packages gnome) | |
27ce97c6 | 50 | #:use-module (gnu packages gstreamer) |
ea28d935 | 51 | #:use-module (gnu packages gtk) |
ecca80e2 | 52 | #:use-module (gnu packages ibus) |
538fb23e TČ |
53 | #:use-module (gnu packages image) |
54 | #:use-module (gnu packages linux) | |
0e790a7c | 55 | #:use-module (gnu packages llvm) |
538fb23e | 56 | #:use-module (gnu packages lua) |
87a37fdf | 57 | #:use-module (gnu packages pdf) |
5e94ce97 | 58 | #:use-module (gnu packages perl) |
538fb23e TČ |
59 | #:use-module (gnu packages photo) |
60 | #:use-module (gnu packages pkg-config) | |
8581f4c1 EF |
61 | #:use-module (gnu packages pulseaudio) |
62 | #:use-module (gnu packages python) | |
44d10b1f | 63 | #:use-module (gnu packages python-xyz) |
cc2b77df | 64 | #:use-module (gnu packages tls) |
cfa04683 | 65 | #:use-module (gnu packages video) |
6ce8fe4c | 66 | #:use-module (gnu packages xdisorg) |
3b160bdc EF |
67 | #:use-module (gnu packages xorg) |
68 | #:use-module (ice-9 match)) | |
538fb23e TČ |
69 | |
70 | (define-public efl | |
71 | (package | |
72 | (name "efl") | |
7b3cb5ac | 73 | (version "1.24.3") |
538fb23e TČ |
74 | (source (origin |
75 | (method url-fetch) | |
76 | (uri (string-append | |
e4fef9df | 77 | "https://download.enlightenment.org/rel/libs/efl/efl-" |
7e22d6fe | 78 | version ".tar.xz")) |
538fb23e | 79 | (sha256 |
f4db4858 | 80 | (base32 |
7b3cb5ac | 81 | "0ajwc8lmay5ai7nsrp778g393h0p4h98p4c22gic2w61fgkcd5fy")))) |
ecca80e2 | 82 | (build-system meson-build-system) |
538fb23e | 83 | (native-inputs |
ecca80e2 EF |
84 | `(("check" ,check) |
85 | ("gettext" ,gettext-minimal) | |
86 | ("pkg-config" ,pkg-config))) | |
538fb23e | 87 | (inputs |
ecca80e2 | 88 | `(("curl" ,curl) |
538fb23e TČ |
89 | ("giflib" ,giflib) |
90 | ("gstreamer" ,gstreamer) | |
91 | ("gst-plugins-base" ,gst-plugins-base) | |
ecca80e2 EF |
92 | ("ibus" ,ibus) |
93 | ("mesa" ,mesa) | |
2a32ec27 | 94 | ("libraw" ,libraw) |
538fb23e | 95 | ("librsvg" ,librsvg) |
2a32ec27 | 96 | ("libspectre" ,libspectre) |
1157bee4 | 97 | ("libtiff" ,libtiff) |
1804d210 | 98 | ("libxau" ,libxau) |
538fb23e TČ |
99 | ("libxcomposite" ,libxcomposite) |
100 | ("libxcursor" ,libxcursor) | |
1804d210 | 101 | ("libxdamage" ,libxdamage) |
538fb23e TČ |
102 | ("libxdmcp" ,libxdmcp) |
103 | ("libxext" ,libxext) | |
104 | ("libxi" ,libxi) | |
1804d210 | 105 | ("libxfixes" ,libxfixes) |
538fb23e | 106 | ("libxinerama" ,libxinerama) |
538fb23e | 107 | ("libxrandr" ,libxrandr) |
1804d210 | 108 | ("libxrender" ,libxrender) |
ecca80e2 | 109 | ("libxss" ,libxscrnsaver) |
538fb23e | 110 | ("libxtst" ,libxtst) |
1157bee4 EF |
111 | ("libwebp" ,libwebp) |
112 | ("openjpeg" ,openjpeg) | |
2a32ec27 | 113 | ("poppler" ,poppler) |
1157bee4 | 114 | ("util-linux" ,util-linux "lib") |
ecca80e2 | 115 | ("wayland-protocols" ,wayland-protocols))) |
538fb23e TČ |
116 | (propagated-inputs |
117 | ;; All these inputs are in package config files in section | |
8f1f2784 | 118 | ;; Requires.private. |
ecca80e2 | 119 | `(("avahi" ,avahi) |
ecca80e2 | 120 | ("dbus" ,dbus) |
8ce47c20 | 121 | ("elogind" ,elogind) |
ecca80e2 EF |
122 | ("eudev" ,eudev) |
123 | ("fontconfig" ,fontconfig) | |
124 | ("freetype" ,freetype) | |
125 | ("fribidi" ,fribidi) | |
126 | ("glib" ,glib) | |
127 | ("harfbuzz" ,harfbuzz) | |
ecca80e2 | 128 | ("libinput" ,libinput-minimal) |
4bd428a7 | 129 | ("libjpeg" ,libjpeg-turbo) |
279569ca | 130 | ("libsndfile" ,libsndfile) |
1157bee4 | 131 | ("libpng" ,libpng) |
ecca80e2 EF |
132 | ("libx11" ,libx11) |
133 | ("libxkbcommon" ,libxkbcommon) | |
1157bee4 | 134 | ("luajit" ,luajit) |
ecca80e2 EF |
135 | ("lz4" ,lz4) |
136 | ("openssl" ,openssl) | |
137 | ("pulseaudio" ,pulseaudio) | |
ecca80e2 EF |
138 | ("wayland" ,wayland) |
139 | ("zlib" ,zlib))) | |
538fb23e | 140 | (arguments |
ecca80e2 | 141 | `(#:configure-flags '("-Dsystemd=false" |
1157bee4 | 142 | "-Delogind=true" |
ecca80e2 EF |
143 | "-Dembedded-lz4=false" |
144 | "-Devas-loaders-disabler=json" | |
145 | "-Dbuild-examples=false" | |
1157bee4 EF |
146 | "-Decore-imf-loaders-disabler=scim" |
147 | "-Davahi=true" | |
148 | "-Dglib=true" | |
149 | "-Dmount-path=/run/setuid-programs/mount" | |
150 | "-Dunmount-path=/run/setuid-programs/umount" | |
ecca80e2 EF |
151 | ;(string-append "-Ddictionaries-hyphen-dir=" |
152 | ; (assoc-ref %build-inputs "hyphen") | |
153 | ; "/share/hyphen") | |
8ce47c20 | 154 | "-Dnetwork-backend=connman" |
6ce8fe4c | 155 | ;; for wayland |
ecca80e2 EF |
156 | "-Dwl=true" |
157 | "-Ddrm=true") | |
158 | #:tests? #f ; Many tests fail due to timeouts and network requests. | |
8f1f2784 EF |
159 | #:phases |
160 | (modify-phases %standard-phases | |
1157bee4 EF |
161 | ;; If we don't hardcode the location of libcurl.so and others then we |
162 | ;; have to wrap the outputs of efl's dependencies in those libraries. | |
163 | (add-after 'unpack 'hardcode-dynamic-libraries | |
0329f6f7 | 164 | (lambda* (#:key inputs #:allow-other-keys) |
1157bee4 EF |
165 | (let ((curl (assoc-ref inputs "curl")) |
166 | (pulse (assoc-ref inputs "pulseaudio")) | |
167 | (sndfile (assoc-ref inputs "libsndfile")) | |
168 | (lib "/lib/")) | |
0329f6f7 EF |
169 | (substitute* "src/lib/ecore_con/ecore_con_url_curl.c" |
170 | (("libcurl.so.?" libcurl) ; libcurl.so.[45] | |
1157bee4 EF |
171 | (string-append curl lib libcurl))) |
172 | (substitute* "src/lib/ecore_audio/ecore_audio.c" | |
173 | (("libpulse.so.0" libpulse) | |
174 | (string-append pulse lib libpulse)) | |
175 | (("libsndfile.so.1" libsnd) | |
176 | (string-append sndfile lib libsnd))) | |
0329f6f7 | 177 | #t))) |
ecca80e2 EF |
178 | (add-after 'unpack 'fix-install-paths |
179 | (lambda _ | |
180 | (substitute* "dbus-services/meson.build" | |
181 | (("install_dir.*") | |
182 | "install_dir: join_paths(dir_data, 'dbus-1', 'services'))\n")) | |
183 | (substitute* "src/tests/elementary/meson.build" | |
184 | (("dir_data") "meson.source_root(), 'test-output'")) | |
185 | #t)) | |
8f1f2784 EF |
186 | (add-after 'unpack 'set-home-directory |
187 | ;; FATAL: Cannot create run dir '/homeless-shelter/.run' - errno=2 | |
188 | (lambda _ (setenv "HOME" "/tmp") #t))))) | |
39a01619 | 189 | (home-page "https://www.enlightenment.org/about-efl") |
538fb23e TČ |
190 | (synopsis "Enlightenment Foundation Libraries") |
191 | (description | |
192 | "Enlightenment Foundation Libraries is a set of libraries developed | |
193 | for Enlightenment. Libraries covers data serialization, wide support for | |
194 | graphics rendering, UI layout and themes, interaction with OS, access to | |
195 | removable devices or support for multimedia.") | |
f4db4858 EF |
196 | ;; Different parts are under different licenses. |
197 | (license (list license:bsd-2 license:lgpl2.1 license:zlib)))) | |
146ee5cd | 198 | |
df2b053a TČ |
199 | (define-public terminology |
200 | (package | |
201 | (name "terminology") | |
02dcd14f | 202 | (version "1.8.0") |
df2b053a TČ |
203 | (source (origin |
204 | (method url-fetch) | |
205 | (uri | |
dab148b6 EF |
206 | (string-append "https://download.enlightenment.org/rel/apps/" |
207 | "terminology/terminology-" version ".tar.xz")) | |
df2b053a | 208 | (sha256 |
dab148b6 | 209 | (base32 |
02dcd14f | 210 | "0pvn8mdzxlx7181xdha32fbr0w8xl7hsnb3hfxr5099g841v1xf6")) |
285e18e9 EF |
211 | (modules '((guix build utils))) |
212 | ;; Remove the bundled fonts. | |
285e18e9 EF |
213 | (snippet |
214 | '(begin | |
215 | (delete-file-recursively "data/fonts") | |
5e94ce97 EF |
216 | (substitute* "data/meson.build" |
217 | (("subdir\\('fonts'\\)") "")) | |
6cbee49d | 218 | #t)))) |
5e94ce97 | 219 | (build-system meson-build-system) |
8f1f2784 | 220 | (arguments |
944bdb2a EF |
221 | `(#:configure-flags (list "-Dtests=true" |
222 | (string-append "-Dedje-cc=" | |
223 | (assoc-ref %build-inputs "efl") | |
224 | "/bin/edje_cc")) | |
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" | |
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")) |
e15ede6e | 318 | (utils (assoc-ref inputs "util-linux")) |
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") | |
2ae11cd0 EF |
349 | (("/usr/bin/eject") (string-append utils "/bin/eject"))) |
350 | (substitute* "src/bin/system/e_system_power.c" | |
351 | (("systemctl") "loginctl")) | |
5c46c858 | 352 | #t)))))) |
c58ed773 | 353 | (native-inputs |
b94a6ca0 | 354 | `(("gettext" ,gettext-minimal) |
7e60206d EF |
355 | ("pkg-config" ,pkg-config) |
356 | ("util-linux" ,util-linux))) | |
c58ed773 TČ |
357 | (inputs |
358 | `(("alsa-lib" ,alsa-lib) | |
59d452da | 359 | ("bc" ,bc) |
dd203116 | 360 | ("bluez" ,bluez) |
c58ed773 | 361 | ("dbus" ,dbus) |
8c3bb471 | 362 | ("efl" ,efl) |
c58ed773 | 363 | ("freetype" ,freetype) |
c58ed773 TČ |
364 | ("libxcb" ,libxcb) |
365 | ("libxext" ,libxext) | |
366 | ("linux-pam" ,linux-pam) | |
dd203116 | 367 | ("puleseaudio" ,pulseaudio) |
1df4abc7 | 368 | ("setxkbmap" ,setxkbmap) |
5c46c858 | 369 | ("xcb-util-keysyms" ,xcb-util-keysyms) |
370 | ("xkeyboard-config" ,xkeyboard-config))) | |
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 EF |
380 | (define-public enlightenment-wayland |
381 | (package | |
382 | (inherit enlightenment) | |
383 | (name "enlightenment-wayland") | |
384 | (arguments | |
385 | (substitute-keyword-arguments (package-arguments enlightenment) | |
386 | ((#:configure-flags flags) | |
387 | `(cons* "-Dwl=true" ,flags)))) | |
388 | (inputs | |
389 | `(("wayland-protocols" ,wayland-protocols) | |
390 | ("xorg-server-xwayland" ,xorg-server-xwayland) | |
391 | ,@(package-inputs enlightenment))))) | |
392 | ||
8581f4c1 EF |
393 | (define-public python-efl |
394 | (package | |
395 | (name "python-efl") | |
75c5b027 | 396 | (version "1.24.0") |
8581f4c1 EF |
397 | (source |
398 | (origin | |
399 | (method url-fetch) | |
e54a6543 | 400 | (uri (string-append "https://download.enlightenment.org/rel/bindings/" |
0cc64476 | 401 | "python/python-efl-" version ".tar.xz")) |
8581f4c1 EF |
402 | (sha256 |
403 | (base32 | |
75c5b027 | 404 | "1vk1cdd959gia4a9qzyq56a9zw3lqf9ck66k8c9g3c631mp5cfpy")) |
e54a6543 EF |
405 | (modules '((guix build utils))) |
406 | ;; Remove files generated by Cython | |
407 | (snippet | |
408 | '(begin | |
409 | (copy-file "efl/dbus_mainloop/e_dbus.c" "efl/dbus_mainloop/e_dbus.q") | |
410 | (for-each delete-file (find-files "efl" ".*\\.c$")) | |
411 | (delete-file "efl/eo/efl.eo_api.h") | |
412 | (copy-file "efl/dbus_mainloop/e_dbus.q" "efl/dbus_mainloop/e_dbus.c") | |
413 | (delete-file "efl/dbus_mainloop/e_dbus.q") | |
414 | #t)))) | |
8581f4c1 EF |
415 | (build-system python-build-system) |
416 | (arguments | |
417 | '(#:phases | |
418 | (modify-phases %standard-phases | |
0cc64476 EF |
419 | (replace 'build |
420 | (lambda _ | |
421 | (setenv "ENABLE_CYTHON" "1") | |
422 | (invoke "python" "setup.py" "build"))) | |
8581f4c1 | 423 | (add-before 'build 'set-flags |
0cc64476 EF |
424 | (lambda _ |
425 | (setenv "CFLAGS" | |
426 | (string-append "-I" (assoc-ref %build-inputs "python-dbus") | |
427 | "/include/dbus-1.0")) | |
428 | #t)) | |
a25b6880 MB |
429 | (add-before 'check 'set-environment |
430 | (lambda _ | |
431 | ;; Some tests require write access to HOME. | |
432 | (setenv "HOME" "/tmp") | |
0cc64476 EF |
433 | ;; These tests try to connect to the internet. |
434 | (delete-file "tests/ecore/test_09_file_download.py") | |
435 | (delete-file "tests/ecore/test_11_con.py") | |
3ea2eaa8 | 436 | #t))))) |
8581f4c1 | 437 | (native-inputs |
feabb770 EF |
438 | `(("pkg-config" ,pkg-config) |
439 | ("python-cython" ,python-cython))) | |
8581f4c1 EF |
440 | (inputs |
441 | `(("efl" ,efl) | |
8581f4c1 EF |
442 | ("python-dbus" ,python-dbus))) |
443 | (home-page "https://www.enlightenment.org/") | |
444 | (synopsis "Python bindings for EFL") | |
445 | (description | |
446 | "PYTHON-EFL are the python bindings for the whole Enlightenment Foundation | |
447 | Libraries stack (eo, evas, ecore, edje, emotion, ethumb and elementary).") | |
448 | (license license:lgpl3))) | |
449 | ||
450 | (define-public python2-efl | |
451 | (package-with-python2 python-efl)) | |
0e790a7c EF |
452 | |
453 | (define-public edi | |
454 | (package | |
455 | (name "edi") | |
1463079a | 456 | (version "0.8.0") |
0e790a7c EF |
457 | (source |
458 | (origin | |
459 | (method url-fetch) | |
1463079a EF |
460 | (uri (string-append "https://github.com/Enlightenment/edi/releases/" |
461 | "download/v" version "/edi-" version ".tar.xz")) | |
0e790a7c EF |
462 | (sha256 |
463 | (base32 | |
1463079a EF |
464 | "01k8gp8r2wa6pyg3dkbm35m6hdsbss06hybghg0qjmd4mzswcd3a")))) |
465 | (build-system meson-build-system) | |
0b6114da EF |
466 | (arguments |
467 | '(#:phases | |
468 | (modify-phases %standard-phases | |
1463079a EF |
469 | (add-after 'unpack 'fix-clang-header |
470 | (lambda _ | |
471 | (substitute* "scripts/clang_include_dir.sh" | |
472 | (("grep clang") "grep clang | head -n1")) | |
473 | #t)) | |
0b6114da EF |
474 | (add-after 'unpack 'set-home-directory |
475 | ;; FATAL: Cannot create run dir '/homeless-shelter/.run' - errno=2 | |
476 | (lambda _ (setenv "HOME" "/tmp") #t))) | |
f1431d23 | 477 | #:tests? #f)) ; tests require running dbus service |
0e790a7c | 478 | (native-inputs |
1463079a EF |
479 | `(("check" ,check) |
480 | ("gettext" ,gettext-minimal) | |
481 | ("pkg-config" ,pkg-config))) | |
0e790a7c EF |
482 | (inputs |
483 | `(("clang" ,clang) | |
484 | ("efl" ,efl))) | |
485 | (home-page "https://www.enlightenment.org/about-edi") | |
486 | (synopsis "Development environment for Enlightenment") | |
487 | (description "EDI is a development environment designed for and built using | |
488 | the EFL. It's aim is to create a new, native development environment for Linux | |
489 | that tries to lower the barrier to getting involved in Enlightenment development | |
490 | and in creating applications based on the Enlightenment Foundation Library suite.") | |
491 | (license (list license:public-domain ; data/extra/skeleton | |
1463079a EF |
492 | license:gpl2 ; edi |
493 | license:gpl3)))) ; data/extra/examples/images/mono-runtime.png | |
22fda787 EF |
494 | |
495 | (define-public lekha | |
496 | (package | |
497 | (name "lekha") | |
498 | (version "0.2.1") | |
499 | (source (origin | |
500 | (method url-fetch) | |
501 | (uri (pypi-uri "Lekha" version)) | |
502 | (sha256 | |
503 | (base32 | |
504 | "0zr6i74ik58pbzrd7r9l7sawqbdv0r2c1a9927qkqzwga27x8j15")))) | |
505 | (build-system python-build-system) | |
506 | (arguments | |
507 | `(#:tests? #f ; no test target | |
508 | #:python ,python-2 | |
509 | #:phases | |
510 | (modify-phases %standard-phases | |
511 | (add-after 'unpack 'fix-data-location | |
512 | (lambda _ (substitute* "setup.py" | |
513 | (("'/usr/")"'")) | |
514 | #t))))) | |
515 | (propagated-inputs | |
516 | `(("python2-efl" ,python2-efl) | |
517 | ("python2-pypdf2" ,python2-pypdf2) | |
518 | ("python2-pyxdg" ,python2-pyxdg))) | |
519 | (synopsis "Simple PDF viewer") | |
520 | (description | |
521 | "Simple PDF viewer based on the Enlightenment Foundation Libraries.") | |
522 | (home-page "https://github.com/kaihu/lekha") | |
523 | (license license:gpl3+))) | |
967de7c5 EF |
524 | |
525 | (define-public ephoto | |
526 | (package | |
527 | (name "ephoto") | |
528 | (version "1.5") | |
529 | (source | |
7247b841 TGR |
530 | (origin |
531 | (method url-fetch) | |
532 | (uri (string-append "https://download.enlightenment.org/rel/" | |
533 | "apps/ephoto/ephoto-" version ".tar.xz")) | |
534 | (sha256 | |
535 | (base32 "1q7v9abjp9jrs08xc7pqaac64yzax24dk1snjb9rciarzzh3mlzy")))) | |
967de7c5 EF |
536 | (build-system gnu-build-system) |
537 | (arguments | |
538 | '(#:phases | |
539 | (modify-phases %standard-phases | |
540 | (add-after 'unpack 'set-home-directory | |
541 | ;; FATAL: Cannot create run dir '/homeless-shelter/.run' - errno=2 | |
542 | (lambda _ (setenv "HOME" "/tmp") #t))))) | |
543 | (native-inputs | |
544 | `(("check" ,check) | |
545 | ("pkg-config" ,pkg-config))) | |
546 | (inputs | |
547 | `(("efl" ,efl))) | |
7247b841 | 548 | (home-page "https://smhouston.us/projects/ephoto/") |
967de7c5 EF |
549 | (synopsis "EFL image viewer/editor/manipulator/slideshow creator") |
550 | (description "Ephoto is an image viewer and editor written using the | |
fe30eb6d TGR |
551 | @dfn{Enlightenment Foundation Libraries} (EFL). It focuses on simplicity and |
552 | ease of use, while taking advantage of the speed and small footprint the EFL | |
553 | provide. | |
967de7c5 EF |
554 | |
555 | Ephoto’s features include: | |
556 | @enumerate | |
fe30eb6d | 557 | @item Browsing the file system and displaying images in an easy-to-use grid view. |
967de7c5 EF |
558 | @item Browsing images in a single image view format. |
559 | @item Viewing images in a slideshow. | |
560 | @item Editing your image with features such as cropping, auto enhance, | |
561 | blurring, sharpening, brightness/contrast/gamma adjustments, hue/saturation/value | |
562 | adjustments, and color level adjustment. | |
fe30eb6d TGR |
563 | @item Applying artistic filters to your image such as black and white and old |
564 | photo. | |
565 | @item Drag And Drop along with file operations to easily maintain your photo | |
566 | directories. | |
967de7c5 EF |
567 | @end enumerate\n") |
568 | (license (list | |
569 | license:bsd-2 ; Ephoto's thumbnailing code | |
570 | license:bsd-3)))) | |
041e0384 EF |
571 | |
572 | (define-public evisum | |
573 | (package | |
574 | (name "evisum") | |
554b13f3 | 575 | (version "0.5.2") |
041e0384 EF |
576 | (source |
577 | (origin | |
578 | (method url-fetch) | |
579 | (uri (string-append "https://download.enlightenment.org/rel/apps/" | |
580 | "evisum/evisum-" version ".tar.xz")) | |
581 | (sha256 | |
582 | (base32 | |
554b13f3 | 583 | "1s2d61hjlyh212d9d7rpdlcv90lxsb8br89806wakgnadqygh9gc")))) |
13d3a9bf | 584 | (build-system meson-build-system) |
041e0384 | 585 | (arguments |
13d3a9bf | 586 | '(#:tests? #f)) ; no tests |
041e0384 EF |
587 | (native-inputs |
588 | `(("pkg-config" ,pkg-config))) | |
589 | (inputs | |
13d3a9bf | 590 | `(("efl" ,efl))) |
041e0384 EF |
591 | (home-page "https://www.enlightenment.org") |
592 | (synopsis "EFL process viewer") | |
593 | (description | |
594 | "This is a process monitor and system monitor using the | |
595 | @dfn{Enlightenment Foundation Libraries} (EFL).") | |
596 | (license license:bsd-2))) | |
fae75ff9 EF |
597 | |
598 | (define-public epour | |
599 | (package | |
600 | (name "epour") | |
601 | (version "0.7.0") | |
602 | (source | |
603 | (origin | |
604 | (method url-fetch) | |
605 | (uri (string-append "https://download.enlightenment.org/rel/apps/epour" | |
606 | "/epour-" version ".tar.xz")) | |
607 | (sha256 | |
608 | (base32 | |
609 | "0g9f9p01hsq6dcf4cs1pwq95g6fpkyjgwqlvdjk1km1i5gj5ygqw")))) | |
610 | (build-system python-build-system) | |
611 | (arguments | |
612 | `(#:tests? #f ; no test target | |
613 | #:use-setuptools? #f | |
614 | #:phases | |
615 | (modify-phases %standard-phases | |
616 | (add-after 'unpack 'find-theme-dir | |
617 | (lambda* (#:key outputs #:allow-other-keys) | |
618 | (let ((out (assoc-ref outputs "out"))) | |
619 | (substitute* "epour/gui/__init__.py" | |
620 | (("join\\(data_path") | |
621 | (string-append "join(\"" out "/share/epour\""))) | |
622 | #t)))))) | |
623 | (native-inputs | |
624 | `(("intltool" ,intltool) | |
625 | ("python-distutils-extra" ,python-distutils-extra))) | |
626 | (inputs | |
627 | `(("libtorrent-rasterbar" ,libtorrent-rasterbar) | |
628 | ("python-dbus" ,python-dbus) | |
629 | ("python-efl" ,python-efl) | |
630 | ("python-pyxdg" ,python-pyxdg))) | |
631 | (home-page "https://www.enlightenment.org") | |
632 | (synopsis "EFL Bittorrent client") | |
633 | (description "Epour is a BitTorrent client based on the @dfn{Enlightenment | |
634 | Foundation Libraries} (EFL) and rb-libtorrent.") | |
635 | (license license:gpl3+))) |