enlightenment.scm 25 KB

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