;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Tomáš Čech <sleep_walker@suse.cz>
;;; Copyright © 2015 Daniel Pimentel <d4n1@member.fsf.org>
-;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2017 ng0 <ng0@n0.is>
-;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2017 Nikita <nikita@n0.is>
+;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Timo Eisenmann <eisenmann@fn.de>
;;;
;;; This file is part of GNU Guix.
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages avahi)
- #:use-module (gnu packages bash)
+ #:use-module (gnu packages bittorrent)
#:use-module (gnu packages check)
#:use-module (gnu packages code)
#:use-module (gnu packages compression)
(define-public efl
(package
(name "efl")
- (version "1.23.2")
+ (version "1.24.3")
(source (origin
(method url-fetch)
(uri (string-append
version ".tar.xz"))
(sha256
(base32
- "14yljnnmb89s8j6ip08ip5d01zkgzbzr1h4fr4bwk9lh8r59x3ds"))))
+ "0ajwc8lmay5ai7nsrp778g393h0p4h98p4c22gic2w61fgkcd5fy"))))
(build-system meson-build-system)
(native-inputs
`(("check" ,check)
("libraw" ,libraw)
("librsvg" ,librsvg)
("libspectre" ,libspectre)
+ ("libtiff" ,libtiff)
("libxau" ,libxau)
("libxcomposite" ,libxcomposite)
("libxcursor" ,libxcursor)
("libxi" ,libxi)
("libxfixes" ,libxfixes)
("libxinerama" ,libxinerama)
- ("libxp" ,libxp)
("libxrandr" ,libxrandr)
("libxrender" ,libxrender)
("libxss" ,libxscrnsaver)
("libxtst" ,libxtst)
+ ("libwebp" ,libwebp)
+ ("openjpeg" ,openjpeg)
("poppler" ,poppler)
+ ("util-linux" ,util-linux "lib")
("wayland-protocols" ,wayland-protocols)))
(propagated-inputs
;; All these inputs are in package config files in section
;; Requires.private.
`(("avahi" ,avahi)
- ("bullet" ,bullet)
("dbus" ,dbus)
("elogind" ,elogind)
("eudev" ,eudev)
("fribidi" ,fribidi)
("glib" ,glib)
("harfbuzz" ,harfbuzz)
- ("luajit" ,luajit)
("libinput" ,libinput-minimal)
- ("libjpeg" ,libjpeg)
- ("libpng" ,libpng)
+ ("libjpeg" ,libjpeg-turbo)
("libsndfile" ,libsndfile)
- ("libtiff" ,libtiff)
- ("libwebp" ,libwebp)
+ ("libpng" ,libpng)
("libx11" ,libx11)
("libxkbcommon" ,libxkbcommon)
+ ("luajit" ,luajit)
("lz4" ,lz4)
("openssl" ,openssl)
("pulseaudio" ,pulseaudio)
- ("util-linux" ,util-linux)
("wayland" ,wayland)
("zlib" ,zlib)))
(arguments
`(#:configure-flags '("-Dsystemd=false"
+ "-Delogind=true"
"-Dembedded-lz4=false"
"-Devas-loaders-disabler=json"
"-Dbuild-examples=false"
+ "-Decore-imf-loaders-disabler=scim"
+ "-Davahi=true"
+ "-Dglib=true"
+ "-Dmount-path=/run/setuid-programs/mount"
+ "-Dunmount-path=/run/setuid-programs/umount"
;(string-append "-Ddictionaries-hyphen-dir="
; (assoc-ref %build-inputs "hyphen")
; "/share/hyphen")
- "-Delogind=true"
"-Dnetwork-backend=connman"
- ,@(match (%current-system)
- ("armhf-linux"
- '("-opengl=es-egl"))
- (_
- '("-Dopengl=full")))
;; for wayland
- "-Dwl-deprecated=true" ; ecore_wayland
- "-Ddrm-deprecated=true" ; ecore_drm
"-Dwl=true"
"-Ddrm=true")
#:tests? #f ; Many tests fail due to timeouts and network requests.
#:phases
(modify-phases %standard-phases
- ;; If we don't hardcode the location of libcurl.so then we
- ;; have to wrap the outputs of efl's dependencies in curl.
- (add-after 'unpack 'hardcode-libcurl-location
+ ;; If we don't hardcode the location of libcurl.so and others then we
+ ;; have to wrap the outputs of efl's dependencies in those libraries.
+ (add-after 'unpack 'hardcode-dynamic-libraries
(lambda* (#:key inputs #:allow-other-keys)
- (let* ((curl (assoc-ref inputs "curl"))
- (lib (string-append curl "/lib/")))
+ (let ((curl (assoc-ref inputs "curl"))
+ (pulse (assoc-ref inputs "pulseaudio"))
+ (sndfile (assoc-ref inputs "libsndfile"))
+ (lib "/lib/"))
(substitute* "src/lib/ecore_con/ecore_con_url_curl.c"
(("libcurl.so.?" libcurl) ; libcurl.so.[45]
- (string-append lib libcurl)))
+ (string-append curl lib libcurl)))
+ (substitute* "src/lib/ecore_audio/ecore_audio.c"
+ (("libpulse.so.0" libpulse)
+ (string-append pulse lib libpulse))
+ (("libsndfile.so.1" libsnd)
+ (string-append sndfile lib libsnd)))
#t)))
(add-after 'unpack 'fix-install-paths
(lambda _
(define-public terminology
(package
(name "terminology")
- (version "1.5.0")
+ (version "1.8.1")
(source (origin
(method url-fetch)
(uri
"terminology/terminology-" version ".tar.xz"))
(sha256
(base32
- "0v4amfg8ji0mb6j7kcxh3wz1xw5zyxg4rw6ylx17rfw2nc1yamfy"))
+ "1fxqjf7g30ix4qxi6366rrax27s3maxq43z2vakwnhz4mp49m9h4"))
(modules '((guix build utils)))
;; Remove the bundled fonts.
(snippet
(define-public enlightenment
(package
(name "enlightenment")
- (version "0.23.1")
+ (version "0.24.2")
(source (origin
(method url-fetch)
(uri
"enlightenment/enlightenment-" version ".tar.xz"))
(sha256
(base32
- "0d1cyl07w9pvi2pf029kablazks2q9aislzl46b6fq5m1465jc75"))
+ "1wfz0rwwsx7c1mkswn4hc9xw1i6bsdirhxiycf7ha2vcipqy465y"))
(patches (search-patches "enlightenment-fix-setuid-path.patch"))))
(build-system meson-build-system)
(arguments
- `(#:configure-flags '("-Dsystemd=false")
+ `(#:configure-flags
+ (let ((efl (assoc-ref %build-inputs "efl")))
+ (list "-Dsystemd=false"
+ "-Dpackagekit=false"
+ "-Dwl=true"
+ (string-append "-Dedje-cc=" efl "/bin/edje_cc")
+ (string-append "-Deldbus-codegen=" efl "/bin/eldbus-codegen")
+ (string-append "-Deet=" efl "/bin/eet")))
#:phases
(modify-phases %standard-phases
(delete 'bootstrap) ; We don't want to run the autogen script.
- (add-after 'unpack 'fix-dot-desktop-creation
- (lambda _
- (substitute* "data/session/meson.build"
- (("HAVE_WAYLAND'.*") "HAVE_WAYLAND') == true\n"))
- #t))
(add-before 'configure 'set-system-actions
(lambda* (#:key inputs #:allow-other-keys)
- (setenv "HOME" "/tmp")
+ (setenv "HOME" "/tmp")
(let ((xkeyboard (assoc-ref inputs "xkeyboard-config"))
(setxkbmap (assoc-ref inputs "setxkbmap"))
- (utils (assoc-ref inputs "util-linux"))
(libc (assoc-ref inputs "libc"))
- (bluez (assoc-ref inputs "bluez"))
(bc (assoc-ref inputs "bc"))
(efl (assoc-ref inputs "efl")))
;; We need to patch the path to 'base.lst' to be able
"src/modules/conf_intl/e_int_config_intl.c"
"src/modules/wizard/page_010.c")
(("locale -a") (string-append libc "/bin/locale -a")))
- (substitute* "src/bin/e_import_config_dialog.c"
- (("%s/edje_cc -v %s %s %s\", e_prefix_bin_get\\(\\)")
- (string-append efl "/bin/edje_cc -v %s %s %s\"")))
(substitute* "src/modules/everything/evry_plug_apps.c"
(("/usr/bin/") ""))
+ (substitute* '("src/bin/e_sys_main.c"
+ "src/bin/e_util_suid.h")
+ (("PATH=/bin:/usr/bin:/sbin:/usr/sbin")
+ (string-append "PATH=/run/setuid-programs:"
+ "/run/current-system/profile/bin:"
+ "/run/current-system/profile/sbin")))
(substitute* "src/modules/everything/evry_plug_calc.c"
(("bc -l") (string-append bc "/bin/bc -l")))
(substitute* "data/etc/meson.build"
- (("/bin/mount") (string-append utils "/bin/mount"))
- (("/bin/umount") (string-append utils "/bin/umount"))
- (("/usr/bin/eject") (string-append utils "/bin/eject"))
- (("/usr/bin/l2ping") (string-append bluez "/bin/l2ling"))
- (("/bin/rfkill") (string-append utils "/sbin/rfkill"))
- (("SUSPEND = ''") "SUSPEND = '/run/current-system/profile/bin/loginctl suspend'")
- (("HIBERNATE = ''") "HIBERNATE = '/run/current-system/profile/bin/loginctl hibernate'")
- (("/sbin/shutdown -h now") "/run/current-system/profile/bin/loginctl poweroff now")
- (("/sbin/shutdown -r now") "/run/current-system/profile/bin/loginctl reboot now"))
+ (("/bin/mount") "/run/setuid-programs/mount")
+ (("/bin/umount") "/run/setuid-programs/umount")
+ (("/usr/bin/eject") "/run/current-system/profile/bin/eject"))
+ (substitute* "src/bin/system/e_system_power.c"
+ (("systemctl") "loginctl"))
#t))))))
(native-inputs
`(("gettext" ,gettext-minimal)
- ("pkg-config" ,pkg-config)
- ("util-linux" ,util-linux)))
+ ("pkg-config" ,pkg-config)))
(inputs
`(("alsa-lib" ,alsa-lib)
("bc" ,bc)
("bluez" ,bluez)
("dbus" ,dbus)
- ("efl" ,efl)
("freetype" ,freetype)
("libxcb" ,libxcb)
("libxext" ,libxext)
("puleseaudio" ,pulseaudio)
("setxkbmap" ,setxkbmap)
("xcb-util-keysyms" ,xcb-util-keysyms)
- ("xkeyboard-config" ,xkeyboard-config)))
+ ("xkeyboard-config" ,xkeyboard-config)
+ ("xorg-server-xwayland" ,xorg-server-xwayland)))
+ (propagated-inputs
+ `(("efl" ,efl)
+ ("libxkbcommon" ,libxkbcommon)
+ ("wayland-protocols" ,wayland-protocols)))
(home-page "https://www.enlightenment.org/about-enlightenment")
(synopsis "Lightweight desktop environment")
(description
(license license:bsd-2)))
(define-public enlightenment-wayland
- (package
- (inherit enlightenment)
- (name "enlightenment-wayland")
- (arguments
- (substitute-keyword-arguments (package-arguments enlightenment)
- ((#:configure-flags flags)
- `(cons* "-Dwl=true" ,flags))))
- (inputs
- `(("wayland-protocols" ,wayland-protocols)
- ("xorg-server-xwayland" ,xorg-server-xwayland)
- ,@(package-inputs enlightenment)))))
+ (deprecated-package "enlightenment-wayland" enlightenment))
(define-public python-efl
(package
(name "python-efl")
- (version "1.23.0")
+ (version "1.24.0")
(source
(origin
(method url-fetch)
"python/python-efl-" version ".tar.xz"))
(sha256
(base32
- "16yn6a1b9167nfmryyi44ma40m20ansfpwgrvqzfvwix7qaz9pib"))
+ "1vk1cdd959gia4a9qzyq56a9zw3lqf9ck66k8c9g3c631mp5cfpy"))
(modules '((guix build utils)))
;; Remove files generated by Cython
(snippet
- '(begin
- (copy-file "efl/dbus_mainloop/e_dbus.c" "efl/dbus_mainloop/e_dbus.q")
- (for-each delete-file (find-files "efl" ".*\\.c$"))
- (delete-file "efl/eo/efl.eo_api.h")
- (copy-file "efl/dbus_mainloop/e_dbus.q" "efl/dbus_mainloop/e_dbus.c")
- (delete-file "efl/dbus_mainloop/e_dbus.q")
- #t))))
+ '(begin
+ (for-each (lambda (file)
+ (let ((generated-file
+ (string-append (string-drop-right file 3) "c")))
+ (when (file-exists? generated-file)
+ (delete-file generated-file))))
+ (find-files "efl" "\\.pyx$"))
+ (delete-file "efl/eo/efl.eo_api.h")
+ #t))))
(build-system python-build-system)
(arguments
'(#:phases
(define-public edi
(package
(name "edi")
- (version "0.6.0")
+ (version "0.8.0")
(source
(origin
(method url-fetch)
- (uri (string-append "https://download.enlightenment.org/rel/apps/edi/"
- name "-" version ".tar.xz"))
+ (uri (string-append "https://github.com/Enlightenment/edi/releases/"
+ "download/v" version "/edi-" version ".tar.xz"))
(sha256
(base32
- "0iqkah327ms5m7k054hcik2l9v68i4mg9yy52brprfqpd5jk7pw8"))))
- (build-system gnu-build-system)
+ "01k8gp8r2wa6pyg3dkbm35m6hdsbss06hybghg0qjmd4mzswcd3a"))))
+ (build-system meson-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'fix-clang-header
+ (lambda _
+ (substitute* "scripts/clang_include_dir.sh"
+ (("grep clang") "grep clang | head -n1"))
+ #t))
(add-after 'unpack 'set-home-directory
;; FATAL: Cannot create run dir '/homeless-shelter/.run' - errno=2
(lambda _ (setenv "HOME" "/tmp") #t)))
#:tests? #f)) ; tests require running dbus service
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ `(("check" ,check)
+ ("gettext" ,gettext-minimal)
+ ("pkg-config" ,pkg-config)))
(inputs
`(("clang" ,clang)
("efl" ,efl)))
that tries to lower the barrier to getting involved in Enlightenment development
and in creating applications based on the Enlightenment Foundation Library suite.")
(license (list license:public-domain ; data/extra/skeleton
- license:gpl2)))) ; edi
+ license:gpl2 ; edi
+ license:gpl3)))) ; data/extra/examples/images/mono-runtime.png
(define-public lekha
(package
(name "ephoto")
(version "1.5")
(source
- (origin
- (method url-fetch)
- (uri (list (string-append "http://www.smhouston.us/stuff/ephoto-"
- version ".tar.xz")
- (string-append "https://download.enlightenment.org/rel/"
- "apps/ephoto/ephoto-" version ".tar.xz")))
- (sha256
- (base32
- "1q7v9abjp9jrs08xc7pqaac64yzax24dk1snjb9rciarzzh3mlzy"))))
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://download.enlightenment.org/rel/"
+ "apps/ephoto/ephoto-" version ".tar.xz"))
+ (sha256
+ (base32 "1q7v9abjp9jrs08xc7pqaac64yzax24dk1snjb9rciarzzh3mlzy"))))
(build-system gnu-build-system)
(arguments
'(#:phases
("pkg-config" ,pkg-config)))
(inputs
`(("efl" ,efl)))
- (home-page "http://smhouston.us/ephoto/")
+ (home-page "https://smhouston.us/projects/ephoto/")
(synopsis "EFL image viewer/editor/manipulator/slideshow creator")
(description "Ephoto is an image viewer and editor written using the
@dfn{Enlightenment Foundation Libraries} (EFL). It focuses on simplicity and
(define-public evisum
(package
(name "evisum")
- (version "0.2.6")
+ (version "0.5.4")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.enlightenment.org/rel/apps/"
"evisum/evisum-" version ".tar.xz"))
(sha256
- (base32
- "1rg3kri6j8nmab0kdljnmcc096c8ibgwzvbhqr0b25xpmrq8bcac"))))
- (build-system gnu-build-system)
+ (base32 "1ip3w2d476g45sivqvm1madfyqmkni9q2i99qqxk53859jgs91pa"))))
+ (build-system meson-build-system)
(arguments
- '(#:tests? #f ; no tests
- #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
- #:phases
- (modify-phases %standard-phases
- (delete 'configure) ; no configure phase
- (add-after 'unpack 'set-environmental-variables
- (lambda _ (setenv "CC" (which "gcc")) #t)))))
+ '(#:tests? #f)) ; no tests
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
- `(("alsa-lib" ,alsa-lib)
- ("efl" ,efl)
- ("perl" ,perl)))
+ `(("efl" ,efl)))
(home-page "https://www.enlightenment.org")
(synopsis "EFL process viewer")
(description
"This is a process monitor and system monitor using the
@dfn{Enlightenment Foundation Libraries} (EFL).")
(license license:bsd-2)))
+
+(define-public epour
+ (package
+ (name "epour")
+ (version "0.7.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://download.enlightenment.org/rel/apps/epour"
+ "/epour-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0g9f9p01hsq6dcf4cs1pwq95g6fpkyjgwqlvdjk1km1i5gj5ygqw"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:tests? #f ; no test target
+ #:use-setuptools? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'find-theme-dir
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (substitute* "epour/gui/__init__.py"
+ (("join\\(data_path")
+ (string-append "join(\"" out "/share/epour\"")))
+ #t))))))
+ (native-inputs
+ `(("intltool" ,intltool)
+ ("python-distutils-extra" ,python-distutils-extra)))
+ (inputs
+ `(("libtorrent-rasterbar" ,libtorrent-rasterbar)
+ ("python-dbus" ,python-dbus)
+ ("python-efl" ,python-efl)
+ ("python-pyxdg" ,python-pyxdg)))
+ (home-page "https://www.enlightenment.org")
+ (synopsis "EFL Bittorrent client")
+ (description "Epour is a BitTorrent client based on the @dfn{Enlightenment
+Foundation Libraries} (EFL) and rb-libtorrent.")
+ (license license:gpl3+)))