From 4b44fd73c9c132af809dcc10e250be5a1bb8d8bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= Date: Thu, 30 Apr 2020 19:14:19 -0300 Subject: [PATCH 1/7] enlightenment.efl: format with nixpkgs-fmt --- pkgs/desktops/enlightenment/efl.nix | 62 +++++++++++++++++++++++++---- 1 file changed, 54 insertions(+), 8 deletions(-) diff --git a/pkgs/desktops/enlightenment/efl.nix b/pkgs/desktops/enlightenment/efl.nix index d3b0e43e4764..831eb6ce1ca9 100644 --- a/pkgs/desktops/enlightenment/efl.nix +++ b/pkgs/desktops/enlightenment/efl.nix @@ -1,11 +1,57 @@ -{ stdenv, fetchurl, meson, ninja, pkgconfig, SDL, SDL2, alsaLib, - avahi, bullet, check, curl, dbus, doxygen, expat, fontconfig, - freetype, fribidi, ghostscript, giflib, glib, gst_all_1, gtk3, - harfbuzz, hicolor-icon-theme, ibus, jbig2dec, libGL, libdrm, - libinput, libjpeg, libpng, libpulseaudio, libraw, librsvg, - libsndfile, libspectre, libtiff, libwebp, libxkbcommon, luajit, lz4, - mesa, openjpeg, openssl, poppler, python27Packages, systemd, udev, - utillinux, writeText, xorg, zlib }: +{ stdenv +, fetchurl +, meson +, ninja +, pkgconfig +, SDL +, SDL2 +, alsaLib +, avahi +, bullet +, check +, curl +, dbus +, doxygen +, expat +, fontconfig +, freetype +, fribidi +, ghostscript +, giflib +, glib +, gst_all_1 +, gtk3 +, harfbuzz +, hicolor-icon-theme +, ibus +, jbig2dec +, libGL +, libdrm +, libinput +, libjpeg +, libpng +, libpulseaudio +, libraw +, librsvg +, libsndfile +, libspectre +, libtiff +, libwebp +, libxkbcommon +, luajit +, lz4 +, mesa +, openjpeg +, openssl +, poppler +, python27Packages +, systemd +, udev +, utillinux +, writeText +, xorg +, zlib +}: stdenv.mkDerivation rec { pname = "efl"; From a8bd3ec9ce5e94a6f778e6a9fff7d2158aeb25fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= Date: Thu, 30 Apr 2020 21:23:05 -0300 Subject: [PATCH 2/7] enlightenment.efl: 1.23.3 -> 1.24.0 --- pkgs/desktops/enlightenment/efl.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/enlightenment/efl.nix b/pkgs/desktops/enlightenment/efl.nix index 831eb6ce1ca9..4b151c3f559c 100644 --- a/pkgs/desktops/enlightenment/efl.nix +++ b/pkgs/desktops/enlightenment/efl.nix @@ -55,11 +55,11 @@ stdenv.mkDerivation rec { pname = "efl"; - version = "1.23.3"; + version = "1.24.0"; src = fetchurl { url = "http://download.enlightenment.org/rel/libs/${pname}/${pname}-${version}.tar.xz"; - sha256 = "00b9lp3h65254kdb1ys15fv7p3ln7qsvf15jkw4kli5ymagadkjk"; + sha256 = "1yhck2g4rwlzgnzqa4wjxw3lf6k6rd730hz4bwzajdjy7i26xfdk"; }; nativeBuildInputs = [ @@ -148,6 +148,7 @@ stdenv.mkDerivation rec { "-D build-tests=false" # disable build tests, which are not working "-D drm=true" "-D embedded-lz4=false" + "-D ecore-imf-loaders-disabler=ibus,scim" # ibus is disalbed by default, scim is not availabe in nixpkgs "-D evas-loaders-disabler=json" "-D fb=true" "-D opengl=full" From 58d1eb1a6c1eca5ea05929218b1c44ce4ec7a075 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= Date: Sat, 2 May 2020 00:21:38 -0300 Subject: [PATCH 3/7] enlightenment.efl: migrate to python3 --- pkgs/desktops/enlightenment/efl.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/enlightenment/efl.nix b/pkgs/desktops/enlightenment/efl.nix index 4b151c3f559c..bd6c0529925a 100644 --- a/pkgs/desktops/enlightenment/efl.nix +++ b/pkgs/desktops/enlightenment/efl.nix @@ -44,7 +44,7 @@ , openjpeg , openssl , poppler -, python27Packages +, python3Packages , systemd , udev , utillinux @@ -123,7 +123,7 @@ stdenv.mkDerivation rec { luajit openjpeg poppler - python27Packages.dbus-python + python3Packages.dbus-python utillinux xorg.libXScrnSaver xorg.libXcomposite From 5efa6f0c91ff464d96c360845b8fffbebfb8ad72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= Date: Sat, 2 May 2020 00:22:16 -0300 Subject: [PATCH 4/7] enlightenment.econnman: migrate to python3 --- pkgs/desktops/enlightenment/econnman.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/desktops/enlightenment/econnman.nix b/pkgs/desktops/enlightenment/econnman.nix index dfe294ef5c6a..1979b4518a70 100644 --- a/pkgs/desktops/enlightenment/econnman.nix +++ b/pkgs/desktops/enlightenment/econnman.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, efl, python2Packages, dbus, makeWrapper }: +{ stdenv, fetchurl, pkgconfig, efl, python3Packages, dbus, makeWrapper }: stdenv.mkDerivation rec { pname = "econnman"; @@ -9,11 +9,11 @@ stdenv.mkDerivation rec { sha256 = "057pwwavlvrrq26bncqnfrf449zzaim0zq717xv86av4n940gwv0"; }; - nativeBuildInputs = [ makeWrapper pkgconfig python2Packages.wrapPython ]; + nativeBuildInputs = [ makeWrapper pkgconfig python3Packages.wrapPython ]; - buildInputs = [ efl python2Packages.python dbus ]; + buildInputs = [ efl python3Packages.python dbus ]; - pythonPath = [ python2Packages.pythonefl python2Packages.dbus-python ]; + pythonPath = [ python3Packages.pythonefl python3Packages.dbus-python ]; postInstall = '' wrapPythonPrograms From 5374042779fe2d4b767bdee21d8d5bce4660d4e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= Date: Fri, 1 May 2020 23:02:02 -0300 Subject: [PATCH 5/7] pythonPackages.pythonefl: format --- .../python-modules/python-efl/default.nix | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/python-efl/default.nix b/pkgs/development/python-modules/python-efl/default.nix index 0657c6277700..ce5057a4f25e 100644 --- a/pkgs/development/python-modules/python-efl/default.nix +++ b/pkgs/development/python-modules/python-efl/default.nix @@ -1,4 +1,10 @@ -{ stdenv, fetchurl, buildPythonPackage, pkgconfig, python, enlightenment }: +{ stdenv +, fetchurl +, buildPythonPackage +, pkgconfig +, python +, enlightenment +}: # Should be bumped along with EFL! @@ -18,12 +24,16 @@ buildPythonPackage rec { propagatedBuildInputs = [ python.pkgs.dbus-python ]; preConfigure = '' - export NIX_CFLAGS_COMPILE="$(pkg-config --cflags efl) -I${stdenv.lib.getDev python.pkgs.dbus-python}/include/dbus-1.0 $NIX_CFLAGS_COMPILE" + NIX_CFLAGS_COMPILE="$(pkg-config --cflags efl) -I${stdenv.lib.getDev python.pkgs.dbus-python}/include/dbus-1.0 $NIX_CFLAGS_COMPILE" ''; - preBuild = "${python.interpreter} setup.py build_ext"; + preBuild = '' + ${python.interpreter} setup.py build_ext + ''; - installPhase= "${python.interpreter} setup.py install --prefix=$out"; + installPhase = '' + ${python.interpreter} setup.py install --prefix=$out + ''; doCheck = false; From c8e228f174e81f8d76d97452a60a56ec4d541402 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= Date: Fri, 1 May 2020 23:15:02 -0300 Subject: [PATCH 6/7] pythonPackages.python-efl: 1.23.0 -> 1.24.0 --- pkgs/development/python-modules/python-efl/default.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/python-efl/default.nix b/pkgs/development/python-modules/python-efl/default.nix index ce5057a4f25e..419b49064873 100644 --- a/pkgs/development/python-modules/python-efl/default.nix +++ b/pkgs/development/python-modules/python-efl/default.nix @@ -3,6 +3,7 @@ , buildPythonPackage , pkgconfig , python +, dbus-python , enlightenment }: @@ -10,21 +11,21 @@ buildPythonPackage rec { pname = "python-efl"; - version = "1.23.0"; + version = "1.24.0"; src = fetchurl { url = "http://download.enlightenment.org/rel/bindings/python/${pname}-${version}.tar.xz"; - sha256 = "16yn6a1b9167nfmryyi44ma40m20ansfpwgrvqzfvwix7qaz9pib"; + sha256 = "1vk1cdd959gia4a9qzyq56a9zw3lqf9ck66k8c9g3c631mp5cfpy"; }; nativeBuildInputs = [ pkgconfig ]; buildInputs = [ enlightenment.efl ]; - propagatedBuildInputs = [ python.pkgs.dbus-python ]; + propagatedBuildInputs = [ dbus-python ]; preConfigure = '' - NIX_CFLAGS_COMPILE="$(pkg-config --cflags efl) -I${stdenv.lib.getDev python.pkgs.dbus-python}/include/dbus-1.0 $NIX_CFLAGS_COMPILE" + NIX_CFLAGS_COMPILE="$(pkg-config --cflags efl evas) $NIX_CFLAGS_COMPILE" ''; preBuild = '' From 24b1e92d3dc5a69e039fe3b970894375c149de39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= Date: Sat, 2 May 2020 11:28:50 -0300 Subject: [PATCH 7/7] nixos/tests: add enlightenment desktop environment --- nixos/tests/all-tests.nix | 1 + nixos/tests/enlightenment.nix | 101 ++++++++++++++++++++++++++++++++++ 2 files changed, 102 insertions(+) create mode 100644 nixos/tests/enlightenment.nix diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index eff1752bbbf8..9e33fd297ee2 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -85,6 +85,7 @@ in ecryptfs = handleTest ./ecryptfs.nix {}; ejabberd = handleTest ./xmpp/ejabberd.nix {}; elk = handleTestOn ["x86_64-linux"] ./elk.nix {}; + enlightenment = handleTest ./enlightenment.nix {}; env = handleTest ./env.nix {}; etcd = handleTestOn ["x86_64-linux"] ./etcd.nix {}; etcd-cluster = handleTestOn ["x86_64-linux"] ./etcd-cluster.nix {}; diff --git a/nixos/tests/enlightenment.nix b/nixos/tests/enlightenment.nix new file mode 100644 index 000000000000..5fa8d765dd1f --- /dev/null +++ b/nixos/tests/enlightenment.nix @@ -0,0 +1,101 @@ +import ./make-test-python.nix ({ pkgs, ...} : +{ + name = "enlightenment"; + + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ romildo ]; + }; + + machine = { ... }: + { + imports = [ ./common/user-account.nix ]; + services.xserver.enable = true; + services.xserver.desktopManager.enlightenment.enable = true; + services.xserver.displayManager.lightdm = { + enable = true; + autoLogin = { + enable = true; + user = "alice"; + }; + }; + hardware.pulseaudio.enable = true; # needed for the factl test, /dev/snd/* exists without them but udev doesn't care then + virtualisation.memorySize = 1024; + environment.systemPackages = [ pkgs.xdotool ]; + services.acpid.enable = true; + services.connman.enable = true; + services.connman.package = pkgs.connmanMinimal; + }; + + enableOCR = true; + + testScript = { nodes, ... }: let + user = nodes.machine.config.users.users.alice; + in '' + with subtest("Ensure x starts"): + machine.wait_for_x() + machine.wait_for_file("${user.home}/.Xauthority") + machine.succeed("xauth merge ${user.home}/.Xauthority") + + with subtest("Check that logging in has given the user ownership of devices"): + machine.succeed("getfacl -p /dev/snd/timer | grep -q ${user.name}") + + with subtest("First time wizard"): + machine.wait_for_text("Default") # Language + machine.succeed("xdotool mousemove 512 185 click 1") # Default Language + machine.screenshot("wizard1") + machine.succeed("xdotool mousemove 512 740 click 1") # Next + + machine.wait_for_text("English") # Keyboard (default) + machine.screenshot("wizard2") + machine.succeed("xdotool mousemove 512 740 click 1") # Next + + machine.wait_for_text("Standard") # Profile (default) + machine.screenshot("wizard3") + machine.succeed("xdotool mousemove 512 740 click 1") # Next + + machine.wait_for_text("Title") # Sizing (default) + machine.screenshot("wizard4") + machine.succeed("xdotool mousemove 512 740 click 1") # Next + + machine.wait_for_text("clicked") # Windows Phocus + machine.succeed("xdotool mousemove 512 370 click 1") # Click + machine.screenshot("wizard5") + machine.succeed("xdotool mousemove 512 740 click 1") # Next + + machine.wait_for_text("bindings") # Mouse Modifiers (default) + machine.screenshot("wizard6") + machine.succeed("xdotool mousemove 512 740 click 1") # Next + + machine.wait_for_text("Connman") # Network Management (default) + machine.screenshot("wizard7") + machine.succeed("xdotool mousemove 512 740 click 1") # Next + + machine.wait_for_text("BlusZ") # Bluetooh Management (default) + machine.screenshot("wizard8") + machine.succeed("xdotool mousemove 512 740 click 1") # Next + + machine.wait_for_text("Compositing") # Compositing (default) + machine.screenshot("wizard9") + machine.succeed("xdotool mousemove 512 740 click 1") # Next + + machine.wait_for_text("update") # Updates + machine.succeed("xdotool mousemove 512 495 click 1") # Disable + machine.screenshot("wizard10") + machine.succeed("xdotool mousemove 512 740 click 1") # Next + + machine.wait_for_text("taskbar") # Taskbar + machine.succeed("xdotool mousemove 480 410 click 1") # Enable + machine.screenshot("wizard11") + machine.succeed("xdotool mousemove 512 740 click 1") # Next + + machine.wait_for_text("Home") # The desktop + machine.screenshot("wizard12") + + with subtest("Run Terminology"): + machine.succeed("terminology &") + machine.sleep(5) + machine.send_chars("ls --color -alF\n") + machine.sleep(2) + machine.screenshot("terminology") + ''; +})