;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Tomáš Čech ;;; Copyright © 2015 Daniel Pimentel ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner ;;; Copyright © 2017 ng0 ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2018 Timo Eisenmann ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (define-module (gnu packages enlightenment) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (guix build-system meson) #:use-module (guix build-system python) #:use-module (gnu packages) #:use-module (gnu packages algebra) #:use-module (gnu packages avahi) #:use-module (gnu packages bash) #:use-module (gnu packages check) #:use-module (gnu packages code) #:use-module (gnu packages compression) #:use-module (gnu packages curl) #:use-module (gnu packages fontutils) #:use-module (gnu packages freedesktop) #:use-module (gnu packages fribidi) #:use-module (gnu packages game-development) #:use-module (gnu packages gettext) #:use-module (gnu packages ghostscript) #:use-module (gnu packages gl) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) #:use-module (gnu packages gstreamer) #:use-module (gnu packages gtk) #:use-module (gnu packages ibus) #:use-module (gnu packages image) #:use-module (gnu packages linux) #:use-module (gnu packages llvm) #:use-module (gnu packages lua) #:use-module (gnu packages pdf) #:use-module (gnu packages perl) #:use-module (gnu packages photo) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) #:use-module (gnu packages tls) #:use-module (gnu packages video) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xorg) #:use-module (ice-9 match)) (define-public efl (package (name "efl") (version "1.23.2") (source (origin (method url-fetch) (uri (string-append "https://download.enlightenment.org/rel/libs/efl/efl-" version ".tar.xz")) (sha256 (base32 "14yljnnmb89s8j6ip08ip5d01zkgzbzr1h4fr4bwk9lh8r59x3ds")))) (build-system meson-build-system) (native-inputs `(("check" ,check) ("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config))) (inputs `(("curl" ,curl) ("giflib" ,giflib) ("gstreamer" ,gstreamer) ("gst-plugins-base" ,gst-plugins-base) ("ibus" ,ibus) ("mesa" ,mesa) ("libraw" ,libraw) ("librsvg" ,librsvg) ("libspectre" ,libspectre) ("libxau" ,libxau) ("libxcomposite" ,libxcomposite) ("libxcursor" ,libxcursor) ("libxdamage" ,libxdamage) ("libxdmcp" ,libxdmcp) ("libxext" ,libxext) ("libxi" ,libxi) ("libxfixes" ,libxfixes) ("libxinerama" ,libxinerama) ("libxp" ,libxp) ("libxrandr" ,libxrandr) ("libxrender" ,libxrender) ("libxss" ,libxscrnsaver) ("libxtst" ,libxtst) ("poppler" ,poppler) ("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) ("fontconfig" ,fontconfig) ("freetype" ,freetype) ("fribidi" ,fribidi) ("glib" ,glib) ("harfbuzz" ,harfbuzz) ("luajit" ,luajit) ("libinput" ,libinput-minimal) ("libjpeg" ,libjpeg) ("libpng" ,libpng) ("libsndfile" ,libsndfile) ("libtiff" ,libtiff) ("libwebp" ,libwebp) ("libx11" ,libx11) ("libxkbcommon" ,libxkbcommon) ("lz4" ,lz4) ("openssl" ,openssl) ("pulseaudio" ,pulseaudio) ("util-linux" ,util-linux) ("wayland" ,wayland) ("zlib" ,zlib))) (arguments `(#:configure-flags '("-Dsystemd=false" "-Dembedded-lz4=false" "-Devas-loaders-disabler=json" "-Dbuild-examples=false" ;(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 (lambda* (#:key inputs #:allow-other-keys) (let* ((curl (assoc-ref inputs "curl")) (lib (string-append curl "/lib/"))) (substitute* "src/lib/ecore_con/ecore_con_url_curl.c" (("libcurl.so.?" libcurl) ; libcurl.so.[45] (string-append lib libcurl))) #t))) (add-after 'unpack 'fix-install-paths (lambda _ (substitute* "dbus-services/meson.build" (("install_dir.*") "install_dir: join_paths(dir_data, 'dbus-1', 'services'))\n")) (substitute* "src/tests/elementary/meson.build" (("dir_data") "meson.source_root(), 'test-output'")) #t)) (add-after 'unpack 'set-home-directory ;; FATAL: Cannot create run dir '/homeless-shelter/.run' - errno=2 (lambda _ (setenv "HOME" "/tmp") #t))))) (home-page "https://www.enlightenment.org/about-efl") (synopsis "Enlightenment Foundation Libraries") (description "Enlightenment Foundation Libraries is a set of libraries developed for Enlightenment. Libraries covers data serialization, wide support for graphics rendering, UI layout and themes, interaction with OS, access to removable devices or support for multimedia.") ;; Different parts are under different licenses. (license (list license:bsd-2 license:lgpl2.1 license:zlib)))) (define-public terminology (package (name "terminology") (version "1.5.0") (source (origin (method url-fetch) (uri (string-append "https://download.enlightenment.org/rel/apps/" "terminology/terminology-" version ".tar.xz")) (sha256 (base32 "0v4amfg8ji0mb6j7kcxh3wz1xw5zyxg4rw6ylx17rfw2nc1yamfy")) (modules '((guix build utils))) ;; Remove the bundled fonts. (snippet '(begin (delete-file-recursively "data/fonts") (substitute* "data/meson.build" (("subdir\\('fonts'\\)") "")) #t)))) (build-system meson-build-system) (arguments `(#:configure-flags (list "-Dtests=true" (string-append "-Dedje-cc=" (assoc-ref %build-inputs "efl") "/bin/edje_cc")) #:phases (modify-phases %standard-phases (add-after 'unpack 'set-home-directory ;; FATAL: Cannot create run dir '/homeless-shelter/.run' - errno=2 (lambda _ (setenv "HOME" "/tmp") #t)) (replace 'check (lambda _ (with-directory-excursion (string-append "../" ,name "-" ,version "/tests") (invoke "sh" "run_tests.sh" "--verbose" "-t" "../../build/src/bin/tytest")))) (add-after 'install 'remove-test-binary (lambda* (#:key outputs #:allow-other-keys) ;; This file is not meant to be installed. (delete-file (string-append (assoc-ref outputs "out") "/bin/tytest")) #t))))) (native-inputs `(("gettext" ,gettext-minimal) ("perl" ,perl) ("pkg-config" ,pkg-config))) (inputs `(("efl" ,efl))) (home-page "https://www.enlightenment.org/about-terminology") (synopsis "Powerful terminal emulator based on EFL") (description "Terminology is fast and feature rich terminal emulator. It is solely based on Enlightenment Foundation Libraries. It supports multiple tabs, UTF-8, URL and local path detection, themes, popup based content viewer for non-text contents and more.") (license license:bsd-2))) (define-public rage (package (name "rage") (version "0.3.1") (source (origin (method url-fetch) (uri (string-append "https://download.enlightenment.org/rel/apps/rage/rage-" version ".tar.xz")) (sha256 (base32 "04fdk23bbgvni212zrfy4ndg7vmshbsjgicrhckdvhay87pk9i75")))) (build-system meson-build-system) (arguments '(#:phases (modify-phases %standard-phases (add-after 'unpack 'set-home-directory ;; FATAL: Cannot create run dir '/homeless-shelter/.run' - errno=2 (lambda _ (setenv "HOME" "/tmp") #t))))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("efl" ,efl))) (home-page "https://www.enlightenment.org/about-rage") (synopsis "Video and audio player based on EFL") (description "Rage is a video and audio player written with Enlightenment Foundation Libraries with some extra bells and whistles.") (license license:bsd-2))) (define-public enlightenment (package (name "enlightenment") (version "0.23.1") (source (origin (method url-fetch) (uri (string-append "https://download.enlightenment.org/rel/apps/" "enlightenment/enlightenment-" version ".tar.xz")) (sha256 (base32 "0d1cyl07w9pvi2pf029kablazks2q9aislzl46b6fq5m1465jc75")) (patches (search-patches "enlightenment-fix-setuid-path.patch")))) (build-system meson-build-system) (arguments `(#:configure-flags '("-Dsystemd=false") #: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") (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 ;; to switch the keyboard layout in E. (substitute* (list "src/modules/xkbswitch/e_mod_parse.c" "src/modules/wizard/page_011.c") (("/usr/share/X11/xkb/rules/xorg.lst") (string-append xkeyboard "/share/X11/xkb/rules/base.lst"))) (substitute* "src/bin/e_xkb.c" (("\"setxkbmap \"") (string-append "\"" setxkbmap "/bin/setxkbmap \""))) (substitute* (list "src/bin/e_intl.c" "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/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")) #t)))))) (native-inputs `(("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config) ("util-linux" ,util-linux))) (inputs `(("alsa-lib" ,alsa-lib) ("bc" ,bc) ("bluez" ,bluez) ("dbus" ,dbus) ("efl" ,efl) ("freetype" ,freetype) ("libxcb" ,libxcb) ("libxext" ,libxext) ("linux-pam" ,linux-pam) ("puleseaudio" ,pulseaudio) ("setxkbmap" ,setxkbmap) ("xcb-util-keysyms" ,xcb-util-keysyms) ("xkeyboard-config" ,xkeyboard-config))) (home-page "https://www.enlightenment.org/about-enlightenment") (synopsis "Lightweight desktop environment") (description "Enlightenment is resource friendly desktop environment with integrated file manager, wide range of configuration options, plugin system allowing to unload unused functionality, with support for touchscreen and suitable for embedded systems.") (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 `2024-09-20gnu: vnstat: Update to 2.12....* gnu/packages/networking.scm (vnstat): Update to 2.12. Change-Id: Ib2e65949be0b4c707c055210cc7996bdd2b8fa9d Efraim Flashner 2024-09-08gnu: filezilla: Use alternate source URLs....* gnu/packages/ftp.scm (filezilla)[source]: Replace dead source URL with two unofficial ones. Change-Id: I992c74d478d7f3c06365c7bd5e7a2ced8940185d Tobias Geerinckx-Rice 2024-09-08gnu: boost-signals2: Use G-expressions....* gnu/packages/boost.scm (boost-signals2)[arguments]: Rewrite as G-expressions. Change-Id: I83c05f97089cae8a14fedf52c34e898addfb5701 Tobias Geerinckx-Rice 2024-09-08gnu: boost-signals2: Update to 1.83.0-0.2ecf1b5....This ‘fixes’ the build as our hash no longer matched upstream's Git tag. * gnu/packages/boost.scm (boost-signals2): Update to 1.83.0-0.2ecf1b5. Change-Id: I1e0849ac71bcba22c8b367601107caf58b51a434 Tobias Geerinckx-Rice 2024-09-19gnu: wireshark: Update to 4.4.0....* gnu/packages/networking.scm (wireshark): Update to 4.4.0. Change-Id: I7f817641b9fac944483a2d6a90851843209a680f Signed-off-by: Ludovic Courtès <ludo@gnu.org> Zheng Junjie 2024-09-19gnu: picard: Update to 2.12.2....* gnu/packages/music.scm (picard): Update to 2.12.2. [inputs]: Add python-charset-normalizer-3. Change-Id: I4dd177118e7f5a13ff8b6da941d62d52777e32c4 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Hilton Chain 2024-09-19gnu: Add python-charset-normalizer-3....* gnu/packages/python-xyz.scm (python-charset-normalizer-3): New variable. Change-Id: I173ba9daa74882f021586b90f3ec3c63f2b62962 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Hilton Chain 2024-09-19gnu: noscript: Update to 11.4.35....* gnu/packages/browser-extensions.scm (noscript): Update to 11.4.35. Change-Id: Ifcd9dc47df17d547645eec4bc46649e0828bc624 Signed-off-by: Ludovic Courtès <ludo@gnu.org> André Batista 2024-09-19services: file-system: Do not try to unmount /dev and /....Previously, when being stopped, the ‘user-file-systems’ service would attempt to unmount / and /dev, which was bound to fail. This was harmless, apart from a couple of lines in /var/log/messages, but it was wrong. * gnu/services/base.scm (file-system-shepherd-services)[user-unmount]: Remove “/” and “/dev” from the list of file systems subject to unmounting. Change-Id: Ieb68fe46c114909a64d54f885c94a9d7cd61f5e0 Ludovic Courtès 2024-09-19gnu: guix: Update to e85f52e....* gnu/packages/package-management.scm (guix): Update to e85f52e. Change-Id: Iee81c9e155ff01aa6a5a772e6780b5d2a7e0c270 Ludovic Courtès 2024-09-19gnu: guile-goblins: Update to 0.14.0....* gnu/packages/guile-xyz.scm (guile-goblins): Update to 0.14.0. Change-Id: I2e8bb4ef69fb00ecffe9c2cc922eee2d6c3f84fb David Thompson 2024-09-19gnu: opensbi: Update to 1.5.1....* gnu/packages/firmware.scm (make-opensbi-package): Update to 1.5.1. Signed-off-by: Vagrant Cascadian <vagrant@debian.org> Change-Id: Ia70e7619d0b4064917b1595509bad543044830f2 Zheng Junjie 2024-09-20gnu: clang-cling-runtime: Fix build....New patches were applied to clang-runtime only, not the whole LLVM base source, hence they were not applied to the cling variants. * gnu/packages/llvm.scm (llvm-cling) [source]: Add clang-cling-runtime-13-glibc-2.36-compat.patch and clang-cling-13-remove-crypt-interceptors.patch patches. * gnu/packages/patches/clang-cling-13-remove-crypt-interceptors.patch: New file. * gnu/packages/patches/clang-cling-runtime-13-glibc-2.36-compat.patch: New file. * gnu/local.mk (dist_patch_DATA): Register them. Change-Id: I4c5ee5f65b2bc04935865ad8e67bc2c3833da2eb Maxim Cournoyer 2024-09-19gnu: dyninst: Fix i686 support and explicitly list supported systems....* gnu/packages/instrumentation.scm (dyninst)[arguments]: Add ‘adjust-supported-platform-name’ phase. [supported-systems]: New field. Change-Id: I16a9a6ce0e1742a68ba003e904392879a791ff77 Ludovic Courtès 2024-09-19gnu: dyninst: Update to 13.0.0....* gnu/packages/instrumentations.scm (dyninst): Update to 13.0.0. [propagated-inputs]: Add libiberty. * gnu/packages/patches/dyninst-fix-glibc-compatibility.patch: Remove file. Change-Id: I6e5dfa9d698de4d45614c535b5dd5cdaad239425 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Nguyễn Gia Phong 2024-09-19gnu: make-libiberty: Build with -fPIC....Since ibert