| 1 | |
| 2 | |
| 3 | |
| 4 | |
| 5 | |
| 6 | |
| 7 | |
| 8 | |
| 9 | |
| 10 | |
| 11 | |
| 12 | |
| 13 | |
| 14 | |
| 15 | |
| 16 | |
| 17 | |
| 18 | |
| 19 | |
| 20 | |
| 21 | |
| 22 | |
| 23 | |
| 24 | |
| 25 |
|
| 26 | (define-module (gnu packages enlightenment)
|
| 27 | #:use-module ((guix licenses) #:prefix license:)
|
| 28 | #:use-module (guix packages)
|
| 29 | #:use-module (guix download)
|
| 30 | #:use-module (guix gexp)
|
| 31 | #:use-module (guix utils)
|
| 32 | #:use-module (guix build-system meson)
|
| 33 | #:use-module (guix build-system pyproject)
|
| 34 | #:use-module (gnu packages)
|
| 35 | #:use-module (gnu packages algebra)
|
| 36 | #:use-module (gnu packages bittorrent)
|
| 37 | #:use-module (gnu packages check)
|
| 38 | #:use-module (gnu packages code)
|
| 39 | #:use-module (gnu packages compression)
|
| 40 | #:use-module (gnu packages curl)
|
| 41 | #:use-module (gnu packages fonts)
|
| 42 | #:use-module (gnu packages fontutils)
|
| 43 | #:use-module (gnu packages freedesktop)
|
| 44 | #:use-module (gnu packages fribidi)
|
| 45 | #:use-module (gnu packages game-development)
|
| 46 | #:use-module (gnu packages gettext)
|
| 47 | #:use-module (gnu packages ghostscript)
|
| 48 | #:use-module (gnu packages gl)
|
| 49 | #:use-module (gnu packages glib)
|
| 50 | #:use-module (gnu packages gnome)
|
| 51 | #:use-module (gnu packages gstreamer)
|
| 52 | #:use-module (gnu packages gtk)
|
| 53 | #:use-module (gnu packages hardware)
|
| 54 | #:use-module (gnu packages ibus)
|
| 55 | #:use-module (gnu packages image)
|
| 56 | #:use-module (gnu packages libunwind)
|
| 57 | #:use-module (gnu packages linux)
|
| 58 | #:use-module (gnu packages llvm)
|
| 59 | #:use-module (gnu packages lua)
|
| 60 | #:use-module (gnu packages pdf)
|
| 61 | #:use-module (gnu packages perl)
|
| 62 | #:use-module (gnu packages photo)
|
| 63 | #:use-module (gnu packages pkg-config)
|
| 64 | #:use-module (gnu packages pulseaudio)
|
| 65 | #:use-module (gnu packages python)
|
| 66 | #:use-module (gnu packages python-build)
|
| 67 | #:use-module (gnu packages python-xyz)
|
| 68 | #:use-module (gnu packages tls)
|
| 69 | #:use-module (gnu packages video)
|
| 70 | #:use-module (gnu packages xdisorg)
|
| 71 | #:use-module (gnu packages xorg)
|
| 72 | #:use-module (ice-9 match))
|
| 73 |
|
| 74 | (define-public efl
|
| 75 | (package
|
| 76 | (name "efl")
|
| 77 | (version "1.26.3")
|
| 78 | (source (origin
|
| 79 | (method url-fetch)
|
| 80 | (uri (string-append
|
| 81 | "https://download.enlightenment.org/rel/libs/efl/efl-"
|
| 82 | version ".tar.xz"))
|
| 83 | (sha256
|
| 84 | (base32
|
| 85 | "05bxc58hj0z6pkp6yy5cmy1lc575q0nrbr5lxr6z8d4kznh3my6r"))))
|
| 86 | (build-system meson-build-system)
|
| 87 | (native-inputs
|
| 88 | (list check
|
| 89 | gettext-minimal
|
| 90 | pkg-config
|
| 91 | python))
|
| 92 | (inputs
|
| 93 | (list curl
|
| 94 | giflib
|
| 95 | gstreamer
|
| 96 | gst-plugins-base
|
| 97 | ibus-minimal
|
| 98 | mesa
|
| 99 | libraw
|
| 100 | (librsvg-for-system)
|
| 101 | libspectre
|
| 102 | libtiff
|
| 103 | libxau
|
| 104 | libxcomposite
|
| 105 | libxcursor
|
| 106 | libxdamage
|
| 107 | libxdmcp
|
| 108 | libxext
|
| 109 | libxi
|
| 110 | libxfixes
|
| 111 | libxinerama
|
| 112 | libxrandr
|
| 113 | libxrender
|
| 114 | libxscrnsaver
|
| 115 | libxtst
|
| 116 | libwebp
|
| 117 | openjpeg
|
| 118 | poppler
|
| 119 | `(,util-linux "lib")
|
| 120 | wayland-protocols))
|
| 121 | (propagated-inputs
|
| 122 | |
| 123 | |
| 124 | (append
|
| 125 | (list dbus
|
| 126 | elogind
|
| 127 | eudev
|
| 128 | fontconfig
|
| 129 | freetype
|
| 130 | fribidi
|
| 131 | glib
|
| 132 | harfbuzz
|
| 133 | libinput-minimal
|
| 134 | libjpeg-turbo
|
| 135 | libsndfile
|
| 136 | libpng
|
| 137 | libunwind
|
| 138 | libx11
|
| 139 | libxkbcommon)
|
| 140 | (if (member (%current-system)
|
| 141 | (package-transitive-supported-systems luajit))
|
| 142 | (list luajit)
|
| 143 | (list lua-5.2))
|
| 144 | (list lz4
|
| 145 | openssl
|
| 146 | pulseaudio
|
| 147 | wayland
|
| 148 | zlib)))
|
| 149 | (arguments
|
| 150 | `(#:configure-flags
|
| 151 | `("-Dembedded-lz4=false"
|
| 152 | "-Dbuild-examples=false"
|
| 153 | "-Decore-imf-loaders-disabler=scim"
|
| 154 | "-Dglib=true"
|
| 155 | "-Dmount-path=/run/privileged/bin/mount"
|
| 156 | "-Dunmount-path=/run/privileged/bin/umount"
|
| 157 | "-Dnetwork-backend=connman"
|
| 158 | ,,@(if (member (%current-system)
|
| 159 | (package-transitive-supported-systems luajit))
|
| 160 | `("-Dlua-interpreter=luajit")
|
| 161 | `("-Dlua-interpreter=lua"))
|
| 162 | |
| 163 | "-Dwl=true"
|
| 164 | "-Ddrm=true")
|
| 165 | #:tests? #f |
| 166 | #:phases
|
| 167 | (modify-phases %standard-phases
|
| 168 | |
| 169 | |
| 170 | (add-after 'unpack 'hardcode-dynamic-libraries
|
| 171 | (lambda* (#:key inputs #:allow-other-keys)
|
| 172 | (substitute* "src/lib/ecore_con/ecore_con_url_curl.c"
|
| 173 | (("libcurl.so.4")
|
| 174 | (search-input-file inputs "lib/libcurl.so.4")))
|
| 175 | (substitute* "src/lib/ecore_audio/ecore_audio.c"
|
| 176 | (("libpulse.so.0")
|
| 177 | (search-input-file inputs "lib/libpulse.so.0"))
|
| 178 | (("libsndfile.so.1")
|
| 179 | (search-input-file inputs "lib/libsndfile.so.1")))
|
| 180 | (substitute* "src/lib/elput/elput_logind.c"
|
| 181 | (("libelogind.so.0")
|
| 182 | (search-input-file inputs "lib/libelogind.so.0")))))
|
| 183 | (add-after 'unpack 'fix-install-paths
|
| 184 | (lambda _
|
| 185 | (substitute* "dbus-services/meson.build"
|
| 186 | (("install_dir.*")
|
| 187 | "install_dir: join_paths(dir_data, 'dbus-1', 'services'))\n"))
|
| 188 | (substitute* "src/tests/elementary/meson.build"
|
| 189 | (("dir_data") "meson.source_root(), 'test-output'"))
|
| 190 | (substitute* "data/eo/meson.build"
|
| 191 | (("'usr', 'lib'") "'./' + dir_lib"))))
|
| 192 | (add-after 'unpack 'set-home-directory
|
| 193 | |
| 194 | (lambda _ (setenv "HOME" "/tmp"))))))
|
| 195 | (home-page "https://www.enlightenment.org/about-efl")
|
| 196 | (synopsis "Enlightenment Foundation Libraries")
|
| 197 | (description
|
| 198 | "Enlightenment Foundation Libraries is a set of libraries developed
|
| 199 | for Enlightenment. Libraries covers data serialization, wide support for
|
| 200 | graphics rendering, UI layout and themes, interaction with OS, access to
|
| 201 | removable devices or support for multimedia.")
|
| 202 | |
| 203 | (license (list license:bsd-2 license:lgpl2.1 license:zlib))))
|
| 204 |
|
| 205 | (define-public terminology
|
| 206 | (package
|
| 207 | (name "terminology")
|
| 208 | (version "1.13.0")
|
| 209 | (source (origin
|
| 210 | (method url-fetch)
|
| 211 | (uri
|
| 212 | (string-append "https://download.enlightenment.org/rel/apps/"
|
| 213 | "terminology/terminology-" version ".tar.xz"))
|
| 214 | (sha256
|
| 215 | (base32
|
| 216 | "19ad8ycg5mkk2ldqm0ysvzb7gvhw6fpw1iiyvv4kxmmvszn7z8qn"))
|
| 217 | (modules '((guix build utils)))
|
| 218 | |
| 219 | (snippet
|
| 220 | '(begin
|
| 221 | (delete-file-recursively "data/fonts")
|
| 222 | (substitute* "data/meson.build"
|
| 223 | (("subdir\\('fonts'\\)") ""))))))
|
| 224 | (build-system meson-build-system)
|
| 225 | (arguments
|
| 226 | `(#:configure-flags
|
| 227 | (let ((efl (assoc-ref %build-inputs "efl")))
|
| 228 | (list "-Dtests=true"
|
| 229 | (string-append "-Dedje-cc=" efl "/bin/edje_cc")
|
| 230 | (string-append "-Deet=" efl "/bin/eet")))
|
| 231 | #:phases
|
| 232 | (modify-phases %standard-phases
|
| 233 | (add-after 'unpack 'set-home-directory
|
| 234 | |
| 235 | (lambda _ (setenv "HOME" "/tmp")))
|
| 236 | (replace 'check
|
| 237 | (lambda* (#:key tests? #:allow-other-keys)
|
| 238 | (when tests?
|
| 239 | (with-directory-excursion
|
| 240 | (string-append "../" ,name "-" ,version "/tests")
|
| 241 | (invoke "sh" "run_tests.sh" "--verbose"
|
| 242 | "-t" "../../build/src/bin/tytest")))))
|
| 243 | (add-after 'install 'remove-test-binary
|
| 244 | (lambda* (#:key outputs #:allow-other-keys)
|
| 245 | |
| 246 | (delete-file (string-append (assoc-ref outputs "out")
|
| 247 | "/bin/tytest")))))))
|
| 248 | (native-inputs
|
| 249 | (list gettext-minimal
|
| 250 | perl
|
| 251 | pkg-config
|
| 252 | python))
|
| 253 | (inputs
|
| 254 | (list efl))
|
| 255 | (home-page "https://www.enlightenment.org/about-terminology")
|
| 256 | (synopsis "Powerful terminal emulator based on EFL")
|
| 257 | (description
|
| 258 | "Terminology is fast and feature rich terminal emulator. It is solely
|
| 259 | based on Enlightenment Foundation Libraries. It supports multiple tabs, UTF-8,
|
| 260 | URL and local path detection, themes, popup based content viewer for non-text
|
| 261 | contents and more.")
|
| 262 | (license license:bsd-2)))
|
| 263 |
|
| 264 | (define-public rage
|
| 265 | (package
|
| 266 | (name "rage")
|
| 267 | (version "0.4.0")
|
| 268 | (source (origin
|
| 269 | (method url-fetch)
|
| 270 | (uri
|
| 271 | (string-append
|
| 272 | "https://download.enlightenment.org/rel/apps/rage/rage-"
|
| 273 | version ".tar.xz"))
|
| 274 | (sha256
|
| 275 | (base32
|
| 276 | "03yal7ajh57x2jhmygc6msf3gzvqkpmzkqzj6dnam5sim8cq9rbw"))))
|
| 277 | (build-system meson-build-system)
|
| 278 | (arguments
|
| 279 | '(#:phases
|
| 280 | (modify-phases %standard-phases
|
| 281 | (add-after 'unpack 'set-home-directory
|
| 282 | |
| 283 | (lambda _ (setenv "HOME" "/tmp"))))))
|
| 284 | (native-inputs
|
| 285 | (list pkg-config))
|
| 286 | (inputs
|
| 287 | (list efl))
|
| 288 | (home-page "https://www.enlightenment.org/about-rage")
|
| 289 | (synopsis "Video and audio player based on EFL")
|
| 290 | (description
|
| 291 | "Rage is a video and audio player written with Enlightenment Foundation
|
| 292 | Libraries with some extra bells and whistles.")
|
| 293 | (license license:bsd-2)))
|
| 294 |
|
| 295 | (define-public enlightenment
|
| 296 | (package
|
| 297 | (name "enlightenment")
|
| 298 | (version "0.25.4")
|
| 299 | (source (origin
|
| 300 | (method url-fetch)
|
| 301 | (uri
|
| 302 | (string-append "https://download.enlightenment.org/rel/apps/"
|
| 303 | "enlightenment/enlightenment-" version ".tar.xz"))
|
| 304 | (sha256
|
| 305 | (base32
|
| 306 | "18mp4ggfy7n0yz6kzx56ali0piqa84z72vnj6649l6w2dch5vnsn"))
|
| 307 | (patches (search-patches "enlightenment-fix-setuid-path.patch"))))
|
| 308 | (build-system meson-build-system)
|
| 309 | (arguments
|
| 310 | `(#:configure-flags
|
| 311 | (list "-Dsystemd=false"
|
| 312 | "-Dpackagekit=false"
|
| 313 | "-Dwl=true")
|
| 314 | #:phases
|
| 315 | (modify-phases %standard-phases
|
| 316 | (add-before 'configure 'set-system-actions
|
| 317 | (lambda* (#:key inputs #:allow-other-keys)
|
| 318 | (setenv "HOME" "/tmp")
|
| 319 | (let ((xkeyboard (assoc-ref inputs "xkeyboard-config"))
|
| 320 | (setxkbmap (assoc-ref inputs "setxkbmap"))
|
| 321 | (libc (assoc-ref inputs "libc"))
|
| 322 | (bc (assoc-ref inputs "bc"))
|
| 323 | (ddcutil (assoc-ref inputs "ddcutil"))
|
| 324 | (efl (assoc-ref inputs "efl")))
|
| 325 | |
| 326 | |
| 327 | (substitute* (list "src/modules/xkbswitch/e_mod_parse.c"
|
| 328 | "src/modules/wizard/page_011.c")
|
| 329 | (("/usr/share/X11/xkb/rules/xorg.lst")
|
| 330 | (string-append xkeyboard
|
| 331 | "/share/X11/xkb/rules/base.lst")))
|
| 332 | (substitute* "src/bin/e_xkb.c"
|
| 333 | (("\"setxkbmap \"")
|
| 334 | (string-append "\"" setxkbmap "/bin/setxkbmap \"")))
|
| 335 | (substitute* (list "src/bin/e_intl.c"
|
| 336 | "src/modules/conf_intl/e_int_config_intl.c"
|
| 337 | "src/modules/wizard/page_010.c")
|
| 338 | (("locale -a") (string-append libc "/bin/locale -a")))
|
| 339 | (substitute* "src/modules/everything/evry_plug_apps.c"
|
| 340 | (("/usr/bin/") ""))
|
| 341 | (substitute* '("src/bin/e_sys_main.c"
|
| 342 | "src/bin/e_util_suid.h")
|
| 343 | (("PATH=/bin:/usr/bin:/sbin:/usr/sbin")
|
| 344 | (string-append "PATH=/run/privileged/bin:"
|
| 345 | "/run/current-system/profile/bin:"
|
| 346 | "/run/current-system/profile/sbin")))
|
| 347 | (substitute* "src/modules/everything/evry_plug_calc.c"
|
| 348 | (("bc -l") (string-append bc "/bin/bc -l")))
|
| 349 | (substitute* "src/bin/system/e_system_ddc.c"
|
| 350 | (("libddcutil\\.so\\.?" libddcutil)
|
| 351 | (string-append ddcutil "/lib/" libddcutil)))
|
| 352 | (substitute* "data/etc/meson.build"
|
| 353 | (("/bin/mount") "/run/privileged/bin/mount")
|
| 354 | (("/bin/umount") "/run/privileged/bin/umount")
|
| 355 | (("/usr/bin/eject") "/run/current-system/profile/bin/eject"))
|
| 356 | (substitute* "src/bin/system/e_system_power.c"
|
| 357 | (("systemctl") "loginctl"))))))))
|
| 358 | (native-inputs
|
| 359 | `(("gettext" ,gettext-minimal)
|
| 360 | ("pkg-config" ,pkg-config)))
|
| 361 | (inputs
|
| 362 | `(("alsa-lib" ,alsa-lib)
|
| 363 | ("bc" ,bc)
|
| 364 | ("bluez" ,bluez)
|
| 365 | ("dbus" ,dbus)
|
| 366 | ("ddcutil" ,ddcutil)
|
| 367 | ("freetype" ,freetype)
|
| 368 | ("libdrm" ,libdrm)
|
| 369 | ("libexif" ,libexif)
|
| 370 | ("libxcb" ,libxcb)
|
| 371 | ("libxext" ,libxext)
|
| 372 | ("linux-pam" ,linux-pam)
|
| 373 | ("pulseaudio" ,pulseaudio)
|
| 374 | ("setxkbmap" ,setxkbmap)
|
| 375 | ("xcb-util-keysyms" ,xcb-util-keysyms)
|
| 376 | ("xkeyboard-config" ,xkeyboard-config)
|
| 377 | ("xorg-server-xwayland" ,xorg-server-xwayland)))
|
| 378 | (propagated-inputs
|
| 379 | (list efl libxkbcommon wayland-protocols
|
| 380 | |
| 381 | font-dejavu))
|
| 382 | (home-page "https://www.enlightenment.org/about-enlightenment")
|
| 383 | (synopsis "Lightweight desktop environment")
|
| 384 | (description
|
| 385 | "Enlightenment is resource friendly desktop environment with integrated
|
| 386 | file manager, wide range of configuration options, plugin system allowing to
|
| 387 | unload unused functionality, with support for touchscreen and suitable for
|
| 388 | embedded systems.")
|
| 389 | (license license:bsd-2)))
|
| 390 |
|
| 391 | (define-public ephoto
|
| 392 | (package
|
| 393 | (name "ephoto")
|
| 394 | (version "1.6.0")
|
| 395 | (source
|
| 396 | (origin
|
| 397 | (method url-fetch)
|
| 398 | (uri (string-append "https://download.enlightenment.org/rel/"
|
| 399 | "apps/ephoto/ephoto-" version ".tar.xz"))
|
| 400 | (sha256
|
| 401 | (base32 "1lvhcs4ba8h3z78nyycbww8mj4cscb8k200dcc3cdy8vrvrp7g1n"))))
|
| 402 | (build-system meson-build-system)
|
| 403 | (arguments
|
| 404 | '(#:phases
|
| 405 | (modify-phases %standard-phases
|
| 406 | (add-after 'unpack 'set-home-directory
|
| 407 | |
| 408 | (lambda _ (setenv "HOME" "/tmp"))))))
|
| 409 | (native-inputs
|
| 410 | (list pkg-config))
|
| 411 | (inputs
|
| 412 | (list efl))
|
| 413 | (home-page "https://smhouston.us/projects/ephoto/")
|
| 414 | (synopsis "EFL image viewer/editor/manipulator/slideshow creator")
|
| 415 | (description "Ephoto is an image viewer and editor written using the
|
| 416 | @dfn{Enlightenment Foundation Libraries} (EFL). It focuses on simplicity and
|
| 417 | ease of use, while taking advantage of the speed and small footprint the EFL
|
| 418 | provide.
|
| 419 |
|
| 420 | Ephoto’s features include:
|
| 421 | @enumerate
|
| 422 | @item Browsing the file system and displaying images in an easy-to-use grid view.
|
| 423 | @item Browsing images in a single image view format.
|
| 424 | @item Viewing images in a slideshow.
|
| 425 | @item Editing your image with features such as cropping, auto enhance,
|
| 426 | blurring, sharpening, brightness/contrast/gamma adjustments, hue/saturation/value
|
| 427 | adjustments, and color level adjustment.
|
| 428 | @item Applying artistic filters to your image such as black and white and old
|
| 429 | photo.
|
| 430 | @item Drag And Drop along with file operations to easily maintain your photo
|
| 431 | directories.
|
| 432 | @end enumerate\n")
|
| 433 | (license (list
|
| 434 | license:bsd-2 |
| 435 | license:bsd-3))))
|
| 436 |
|
| 437 | (define-public evisum
|
| 438 | (package
|
| 439 | (name "evisum")
|
| 440 | (version "0.6.0")
|
| 441 | (source
|
| 442 | (origin
|
| 443 | (method url-fetch)
|
| 444 | (uri (string-append "https://download.enlightenment.org/rel/apps/"
|
| 445 | "evisum/evisum-" version ".tar.xz"))
|
| 446 | (sha256
|
| 447 | (base32 "1ip3rmp0hcn0pk6lv089cayx18p1b2wycgvwpnf7ghbdxg7n4q15"))))
|
| 448 | (build-system meson-build-system)
|
| 449 | (arguments
|
| 450 | '(#:tests? #f |
| 451 | #:phases
|
| 452 | (modify-phases %standard-phases
|
| 453 | (add-after 'unpack 'set-homedir
|
| 454 | (lambda _
|
| 455 | (setenv "HOME" (getcwd)))))))
|
| 456 | (native-inputs
|
| 457 | (list gettext-minimal
|
| 458 | pkg-config))
|
| 459 | (inputs
|
| 460 | (list efl))
|
| 461 | (home-page "https://www.enlightenment.org")
|
| 462 | (synopsis "EFL process viewer")
|
| 463 | (description
|
| 464 | "This is a process monitor and system monitor using the
|
| 465 | @dfn{Enlightenment Foundation Libraries} (EFL).")
|
| 466 | (license license:bsd-2)))
|