diff options
Diffstat (limited to 'pkgs/desktops/enlightenment/enlightenment.nix')
-rw-r--r-- | pkgs/desktops/enlightenment/enlightenment.nix | 77 |
1 files changed, 32 insertions, 45 deletions
diff --git a/pkgs/desktops/enlightenment/enlightenment.nix b/pkgs/desktops/enlightenment/enlightenment.nix index 8ba0dffc8a4d..833a3ba29ac5 100644 --- a/pkgs/desktops/enlightenment/enlightenment.nix +++ b/pkgs/desktops/enlightenment/enlightenment.nix @@ -1,19 +1,29 @@ -{ stdenv, fetchurl, meson, ninja, pkgconfig, gettext, alsaLib, bc, - bzip2, efl, gdbm, libXdmcp, libXrandr, libcap, libffi, - libpthreadstubs, libxcb, luajit, mesa, pam, pcre, xcbutilkeysyms, - xkeyboard_config, +{ stdenv +, fetchurl +, meson +, ninja +, pkgconfig +, gettext +, alsaLib +, acpid +, bc +, ddcutil +, efl +, pam +, xkeyboard_config +, udisks2 - bluetoothSupport ? true, bluez5, - pulseSupport ? !stdenv.isDarwin, libpulseaudio, +, bluetoothSupport ? true, bluez5 +, pulseSupport ? !stdenv.isDarwin, libpulseaudio }: stdenv.mkDerivation rec { pname = "enlightenment"; - version = "0.23.1"; + version = "0.24.0"; src = fetchurl { url = "http://download.enlightenment.org/rel/apps/${pname}/${pname}-${version}.tar.xz"; - sha256 = "0d1cyl07w9pvi2pf029kablazks2q9aislzl46b6fq5m1465jc75"; + sha256 = "01053hxdmyjfb6gmz1pqmw0llrgc4356np515h5vsqcn59mhvfz7"; }; nativeBuildInputs = [ @@ -25,58 +35,35 @@ stdenv.mkDerivation rec { buildInputs = [ alsaLib - bc # for the Everything module calculator mode - bzip2 + acpid # for systems with ACPI for lid events, AC/Battery plug in/out etc + bc # for the Everything module calculator mode + ddcutil # specifically libddcutil.so.2 for backlight control efl - gdbm - libXdmcp - libXrandr - libffi - libpthreadstubs - libxcb - luajit - mesa pam - pcre - xcbutilkeysyms xkeyboard_config + udisks2 # for removable storage mounting/unmounting ] - ++ stdenv.lib.optional stdenv.isLinux libcap - ++ stdenv.lib.optional bluetoothSupport bluez5 - ++ stdenv.lib.optional pulseSupport libpulseaudio + ++ stdenv.lib.optional bluetoothSupport bluez5 # for bluetooth configuration and control + ++ stdenv.lib.optional pulseSupport libpulseaudio # for proper audio device control and redirection ; patches = [ - # Some programs installed by enlightenment (to set the cpu frequency, - # for instance) need root ownership and setuid/setgid permissions, which - # are not allowed for files in /nix/store. Instead of allowing the - # installer to try to do this, the file $out/e-wrappers.nix is created, - # containing the needed configuration for wrapping those programs. It - # can be used in the enlightenment module. The idea is: - # - # 1) rename the original binary adding the extension .orig - # 2) wrap the renamed binary at /run/wrappers/bin/ - # 3) create a new symbolic link using the original binary name (in the - # original directory where enlightenment wants it) pointing to the - # wrapper - - ./enlightenment.suid-exes.patch + # Executables cannot be made setuid in nix store. They should be + # wrapped in the enlightenment service module, and the wrapped + # executables should be used instead. + ./0001-wrapped-setuid-executables.patch ]; postPatch = '' - # edge_cc is a binary provided by efl and cannot be found at the directory - # given by e_prefix_bin_get(), which is $out/bin - - substituteInPlace src/bin/e_import_config_dialog.c \ - --replace "e_prefix_bin_get()" "\"${efl}/bin\"" - substituteInPlace src/modules/everything/evry_plug_calc.c \ --replace "ecore_exe_pipe_run(\"bc -l\"" "ecore_exe_pipe_run(\"${bc}/bin/bc -l\"" ''; - mesonFlags = [ "-Dsystemdunitdir=lib/systemd/user" ]; + mesonFlags = [ + "-D systemdunitdir=lib/systemd/user" + ]; - enableParallelBuilding = true; + passthru.providedSessions = [ "enlightenment" ]; meta = with stdenv.lib; { description = "The Compositing Window Manager and Desktop Shell"; |