From 087c640e1aa8ae9bf06931ebbf31ad4a91ce7293 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Tue, 6 Aug 2019 18:20:26 -0400 Subject: [PATCH 01/10] nixosTests.gnome3-xorg: rename from gnome3 --- nixos/release-combined.nix | 2 +- nixos/tests/all-tests.nix | 2 +- nixos/tests/{gnome3.nix => gnome3-xorg.nix} | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) rename nixos/tests/{gnome3.nix => gnome3-xorg.nix} (98%) diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix index b9a9515f94e..9b150f12eec 100644 --- a/nixos/release-combined.nix +++ b/nixos/release-combined.nix @@ -68,7 +68,7 @@ in rec { nixos.tests.chromium.x86_64-linux or [] (all nixos.tests.firefox) (all nixos.tests.firewall) - (except ["aarch64-linux"] nixos.tests.gnome3) + (except ["aarch64-linux"] nixos.tests.gnome3-xorg) (except ["aarch64-linux"] nixos.tests.pantheon) nixos.tests.installer.zfsroot.x86_64-linux or [] # ZFS is 64bit only (except ["aarch64-linux"] nixos.tests.installer.lvm) diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index c3fa53ac544..d49853825aa 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -93,7 +93,7 @@ in gitlab = handleTest ./gitlab.nix {}; gitolite = handleTest ./gitolite.nix {}; gjs = handleTest ./gjs.nix {}; - gnome3 = handleTestOn ["x86_64-linux"] ./gnome3.nix {}; # libsmbios is unsupported on aarch64 + gnome3-xorg = handleTestOn ["x86_64-linux"] ./gnome3-xorg.nix {}; # libsmbios is unsupported on aarch64 gnome3-gdm = handleTestOn ["x86_64-linux"] ./gnome3-gdm.nix {}; # libsmbios is unsupported on aarch64 gocd-agent = handleTest ./gocd-agent.nix {}; gocd-server = handleTest ./gocd-server.nix {}; diff --git a/nixos/tests/gnome3.nix b/nixos/tests/gnome3-xorg.nix similarity index 98% rename from nixos/tests/gnome3.nix rename to nixos/tests/gnome3-xorg.nix index b58c9e5a0e3..ae34b6d22b0 100644 --- a/nixos/tests/gnome3.nix +++ b/nixos/tests/gnome3-xorg.nix @@ -1,5 +1,5 @@ import ./make-test.nix ({ pkgs, ...} : { - name = "gnome3"; + name = "gnome3-xorg"; meta = with pkgs.stdenv.lib.maintainers; { maintainers = [ domenkozar eelco lethalman ]; }; From 5efe51ccc267095d4c43fc7bab6004dd034746a7 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Tue, 6 Aug 2019 18:24:21 -0400 Subject: [PATCH 02/10] nixosTests.gnome3: rename from gnome3-gdm The actual only difference from the gnome3-xorg test is that this tests the wayland session. It's also more accurate to call it just "gnome3" since wayland is default here. --- nixos/tests/all-tests.nix | 2 +- nixos/tests/{gnome3-gdm.nix => gnome3.nix} | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) rename nixos/tests/{gnome3-gdm.nix => gnome3.nix} (98%) diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index d49853825aa..3e45b28e6a1 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -94,7 +94,7 @@ in gitolite = handleTest ./gitolite.nix {}; gjs = handleTest ./gjs.nix {}; gnome3-xorg = handleTestOn ["x86_64-linux"] ./gnome3-xorg.nix {}; # libsmbios is unsupported on aarch64 - gnome3-gdm = handleTestOn ["x86_64-linux"] ./gnome3-gdm.nix {}; # libsmbios is unsupported on aarch64 + gnome3 = handleTestOn ["x86_64-linux"] ./gnome3.nix {}; # libsmbios is unsupported on aarch64 gocd-agent = handleTest ./gocd-agent.nix {}; gocd-server = handleTest ./gocd-server.nix {}; google-oslogin = handleTest ./google-oslogin {}; diff --git a/nixos/tests/gnome3-gdm.nix b/nixos/tests/gnome3.nix similarity index 98% rename from nixos/tests/gnome3-gdm.nix rename to nixos/tests/gnome3.nix index c2808d87d99..da95105aeab 100644 --- a/nixos/tests/gnome3-gdm.nix +++ b/nixos/tests/gnome3.nix @@ -1,5 +1,5 @@ import ./make-test.nix ({ pkgs, ...} : { - name = "gnome3-gdm"; + name = "gnome3"; meta = with pkgs.stdenv.lib.maintainers; { maintainers = [ lethalman ]; }; @@ -18,6 +18,7 @@ import ./make-test.nix ({ pkgs, ...} : { user = "alice"; }; }; + services.xserver.desktopManager.gnome3.enable = true; virtualisation.memorySize = 1024; From 71d42da8f5d829c67efd65690756640c45d90b8b Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Tue, 6 Aug 2019 18:26:12 -0400 Subject: [PATCH 03/10] nixos/release-combined: add gnome3 test for wayland We should be ensuring that this session functions as well because it's default. --- nixos/release-combined.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix index 9b150f12eec..a457605834f 100644 --- a/nixos/release-combined.nix +++ b/nixos/release-combined.nix @@ -69,6 +69,7 @@ in rec { (all nixos.tests.firefox) (all nixos.tests.firewall) (except ["aarch64-linux"] nixos.tests.gnome3-xorg) + (except ["aarch64-linux"] nixos.tests.gnome3) (except ["aarch64-linux"] nixos.tests.pantheon) nixos.tests.installer.zfsroot.x86_64-linux or [] # ZFS is 64bit only (except ["aarch64-linux"] nixos.tests.installer.lvm) From feb4b30074bb7dcee94c131e429a51fe464afe6f Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Tue, 6 Aug 2019 18:29:50 -0400 Subject: [PATCH 04/10] nixos/release-combined: re-enable lightdm test This has been tested in the Pantheon test for a year now and it does fine on hydra. --- nixos/release-combined.nix | 2 +- nixos/tests/all-tests.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix index a457605834f..e4f1736f1a7 100644 --- a/nixos/release-combined.nix +++ b/nixos/release-combined.nix @@ -104,7 +104,7 @@ in rec { #(all nixos.tests.keymap.neo) #(all nixos.tests.keymap.qwertz) (all nixos.tests.plasma5) - #(all nixos.tests.lightdm) + (all nixos.tests.lightdm) (all nixos.tests.login) (all nixos.tests.misc) (all nixos.tests.mutableUsers) diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 3e45b28e6a1..9e426a1acda 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -139,7 +139,7 @@ in ldap = handleTest ./ldap.nix {}; leaps = handleTest ./leaps.nix {}; lidarr = handleTest ./lidarr.nix {}; - #lightdm = handleTest ./lightdm.nix {}; + lightdm = handleTest ./lightdm.nix {}; limesurvey = handleTest ./limesurvey.nix {}; login = handleTest ./login.nix {}; loki = handleTest ./loki.nix {}; From 9d0996ff11bc34d62862c80e4813ed91e2a79620 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Tue, 6 Aug 2019 18:32:52 -0400 Subject: [PATCH 05/10] nixosTests.gnome3{xorg}: add gnome3 maintainers --- nixos/tests/gnome3-xorg.nix | 2 +- nixos/tests/gnome3.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/tests/gnome3-xorg.nix b/nixos/tests/gnome3-xorg.nix index ae34b6d22b0..f12361da037 100644 --- a/nixos/tests/gnome3-xorg.nix +++ b/nixos/tests/gnome3-xorg.nix @@ -1,7 +1,7 @@ import ./make-test.nix ({ pkgs, ...} : { name = "gnome3-xorg"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ domenkozar eelco lethalman ]; + maintainers = pkgs.gnome3.maintainers; }; machine = diff --git a/nixos/tests/gnome3.nix b/nixos/tests/gnome3.nix index da95105aeab..b6fe602a732 100644 --- a/nixos/tests/gnome3.nix +++ b/nixos/tests/gnome3.nix @@ -1,7 +1,7 @@ import ./make-test.nix ({ pkgs, ...} : { name = "gnome3"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ lethalman ]; + maintainers = pkgs.gnome3.maintainers; }; machine = From 6f86c002ddc9693ad79ec2fef753ccbfb5438e49 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Tue, 6 Aug 2019 18:34:19 -0400 Subject: [PATCH 06/10] nixosTests.lightdm: add me to maintainers --- nixos/tests/lightdm.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/tests/lightdm.nix b/nixos/tests/lightdm.nix index 8a9a7408d29..c805f1ed9f3 100644 --- a/nixos/tests/lightdm.nix +++ b/nixos/tests/lightdm.nix @@ -1,7 +1,7 @@ import ./make-test.nix ({ pkgs, ...} : { name = "lightdm"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ aszlig ]; + maintainers = [ aszlig worldofpeace ]; }; machine = { ... }: { From 441f2525ba94b400a86189cdb8ea632bbda3842b Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Tue, 6 Aug 2019 22:00:45 -0400 Subject: [PATCH 07/10] fwupd: correct aarch64 support --- .../linux/firmware/fwupd/default.nix | 35 +++++++++++++++---- 1 file changed, 29 insertions(+), 6 deletions(-) diff --git a/pkgs/os-specific/linux/firmware/fwupd/default.nix b/pkgs/os-specific/linux/firmware/fwupd/default.nix index e0d70b5d43e..b4d5d54137c 100644 --- a/pkgs/os-specific/linux/firmware/fwupd/default.nix +++ b/pkgs/os-specific/linux/firmware/fwupd/default.nix @@ -17,6 +17,18 @@ let fontsConf = makeFontsConf { fontDirectories = [ freefont_ttf ]; }; + + isx86 = stdenv.isx86_64 || stdenv.isi686; + + # Dell isn't supported on Aarch64 + haveDell = isx86; + + # only redfish for x86_64 + haveRedfish = stdenv.isx86_64; + + # Currently broken on Aarch64 + haveFlashrom = isx86; + in stdenv.mkDerivation rec { pname = "fwupd"; version = "1.2.8"; @@ -32,11 +44,12 @@ in stdenv.mkDerivation rec { meson ninja gtk-doc pkgconfig gobject-introspection intltool shared-mime-info valgrind gcab docbook_xml_dtd_43 docbook_xsl help2man libxslt python wrapGAppsHook vala ]; + buildInputs = [ - polkit libxmlb gusb sqlite libarchive libsoup elfutils libsmbios gnu-efi libyaml - libgudev colord gpgme libuuid gnutls glib-networking efivar json-glib umockdev - bash-completion cairo freetype fontconfig pango - ]; + polkit libxmlb gusb sqlite libarchive libsoup elfutils gnu-efi libyaml + libgudev colord gpgme libuuid gnutls glib-networking json-glib umockdev + bash-completion cairo freetype fontconfig pango efivar + ] ++ stdenv.lib.optionals haveDell [ libsmbios ]; patches = [ ./fix-paths.patch @@ -71,11 +84,14 @@ in stdenv.mkDerivation rec { # /etc/os-release not available in sandbox # doCheck = true; - preFixup = '' + preFixup = let + binPath = [ efibootmgr bubblewrap tpm2-tools ] ++ stdenv.lib.optional haveFlashrom flashrom; + in + '' gappsWrapperArgs+=( --prefix XDG_DATA_DIRS : "${shared-mime-info}/share" # See programs reached with fu_common_find_program_in_path in source - --prefix PATH : "${stdenv.lib.makeBinPath [ flashrom efibootmgr bubblewrap tpm2-tools ]}" + --prefix PATH : "${stdenv.lib.makeBinPath binPath}" ) ''; @@ -89,6 +105,13 @@ in stdenv.mkDerivation rec { "--localstatedir=/var" "--sysconfdir=/etc" "-Dsysconfdir_install=${placeholder "out"}/etc" + ] ++ stdenv.lib.optionals (!haveDell) [ + "-Dplugin_dell=false" + "-Dplugin_synaptics=false" + ] ++ stdenv.lib.optionals (!haveRedfish) [ + "-Dplugin_redfish=false" + ] ++ stdenv.lib.optionals (!haveFlashrom) [ + "-Dplugin_flashrom=false" ]; # TODO: We need to be able to override the directory flags from meson setup hook From 5ee8efb7c500ba2226172b8e6c9e50cd9b54600e Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Wed, 7 Aug 2019 14:19:05 -0400 Subject: [PATCH 08/10] gnome3.gnome-software: disable fwupd aarch64 Needed temporarily because of #66277. --- .../gnome-3/core/gnome-software/default.nix | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/gnome-3/core/gnome-software/default.nix b/pkgs/desktops/gnome-3/core/gnome-software/default.nix index e301305d405..6d487597900 100644 --- a/pkgs/desktops/gnome-3/core/gnome-software/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-software/default.nix @@ -3,6 +3,12 @@ , gtk3, gsettings-desktop-schemas, gnome-desktop, libxmlb, gnome-online-accounts, hicolor-icon-theme , json-glib, libsecret, valgrind-light, docbook_xsl, docbook_xml_dtd_42, docbook_xml_dtd_43, gtk-doc, desktop-file-utils }: +let + + withFwupd = stdenv.isx86_64 || stdenv.isi686; + +in + stdenv.mkDerivation rec { name = "gnome-software-${version}"; version = "3.32.4"; @@ -29,13 +35,16 @@ stdenv.mkDerivation rec { gtk3 glib packagekit appstream-glib libsoup gsettings-desktop-schemas gnome-desktop gspell json-glib libsecret ostree - polkit flatpak fwupd - libxmlb gnome-online-accounts + polkit flatpak libxmlb gnome-online-accounts + ] ++ stdenv.lib.optionals withFwupd [ + fwupd ]; mesonFlags = [ "-Dubuntu_reviews=false" "-Dgudev=false" + ] ++ stdenv.lib.optionals (!withFwupd) [ + "-Dfwupd=false" ]; passthru = { From 63a1787ed53595fd0e9857ac4c589f906805581c Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Tue, 6 Aug 2019 22:01:17 -0400 Subject: [PATCH 09/10] nixosTests.gnome{xorg}: re-enable on aarch64 --- nixos/release-combined.nix | 4 ++-- nixos/tests/all-tests.nix | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix index e4f1736f1a7..fc2b288a042 100644 --- a/nixos/release-combined.nix +++ b/nixos/release-combined.nix @@ -68,8 +68,8 @@ in rec { nixos.tests.chromium.x86_64-linux or [] (all nixos.tests.firefox) (all nixos.tests.firewall) - (except ["aarch64-linux"] nixos.tests.gnome3-xorg) - (except ["aarch64-linux"] nixos.tests.gnome3) + (all nixos.tests.gnome3-xorg) + (all nixos.tests.gnome3) (except ["aarch64-linux"] nixos.tests.pantheon) nixos.tests.installer.zfsroot.x86_64-linux or [] # ZFS is 64bit only (except ["aarch64-linux"] nixos.tests.installer.lvm) diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 9e426a1acda..eee48dd079e 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -93,8 +93,8 @@ in gitlab = handleTest ./gitlab.nix {}; gitolite = handleTest ./gitolite.nix {}; gjs = handleTest ./gjs.nix {}; - gnome3-xorg = handleTestOn ["x86_64-linux"] ./gnome3-xorg.nix {}; # libsmbios is unsupported on aarch64 - gnome3 = handleTestOn ["x86_64-linux"] ./gnome3.nix {}; # libsmbios is unsupported on aarch64 + gnome3-xorg = handleTest ./gnome3-xorg.nix {}; + gnome3 = handleTest ./gnome3.nix {}; gocd-agent = handleTest ./gocd-agent.nix {}; gocd-server = handleTest ./gocd-server.nix {}; google-oslogin = handleTest ./google-oslogin {}; From 45643baf2265826e05488064144cdd5911f62788 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Wed, 7 Aug 2019 14:40:44 -0400 Subject: [PATCH 10/10] nixosTests.pantheon: enable for all platforms --- nixos/release-combined.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix index fc2b288a042..7146aebf54b 100644 --- a/nixos/release-combined.nix +++ b/nixos/release-combined.nix @@ -70,7 +70,7 @@ in rec { (all nixos.tests.firewall) (all nixos.tests.gnome3-xorg) (all nixos.tests.gnome3) - (except ["aarch64-linux"] nixos.tests.pantheon) + (all nixos.tests.pantheon) nixos.tests.installer.zfsroot.x86_64-linux or [] # ZFS is 64bit only (except ["aarch64-linux"] nixos.tests.installer.lvm) (except ["aarch64-linux"] nixos.tests.installer.luksroot)