summary refs log tree commit diff
path: root/pkgs/os-specific/linux/firmware/fwupd
diff options
context:
space:
mode:
authorJan Tojnar <jtojnar@gmail.com>2018-02-14 05:03:20 +0100
committerJan Tojnar <jtojnar@gmail.com>2018-02-15 01:11:13 +0100
commit201cc158cb88b989eda48a5b4da12e187798b7b2 (patch)
tree7edf54cda65d7ca3ea7a0df836757dc1346946a1 /pkgs/os-specific/linux/firmware/fwupd
parentbe54e4b07e11bafd2ee91e91c781b7b06542d5e0 (diff)
downloadnixpkgs-201cc158cb88b989eda48a5b4da12e187798b7b2.tar
nixpkgs-201cc158cb88b989eda48a5b4da12e187798b7b2.tar.gz
nixpkgs-201cc158cb88b989eda48a5b4da12e187798b7b2.tar.bz2
nixpkgs-201cc158cb88b989eda48a5b4da12e187798b7b2.tar.lz
nixpkgs-201cc158cb88b989eda48a5b4da12e187798b7b2.tar.xz
nixpkgs-201cc158cb88b989eda48a5b4da12e187798b7b2.tar.zst
nixpkgs-201cc158cb88b989eda48a5b4da12e187798b7b2.zip
nixos/fwupd: add test
Diffstat (limited to 'pkgs/os-specific/linux/firmware/fwupd')
-rw-r--r--pkgs/os-specific/linux/firmware/fwupd/default.nix23
1 files changed, 19 insertions, 4 deletions
diff --git a/pkgs/os-specific/linux/firmware/fwupd/default.nix b/pkgs/os-specific/linux/firmware/fwupd/default.nix
index 8e5342e5e11..24cca3596c4 100644
--- a/pkgs/os-specific/linux/firmware/fwupd/default.nix
+++ b/pkgs/os-specific/linux/firmware/fwupd/default.nix
@@ -1,12 +1,14 @@
 { stdenv, fetchurl, fetchpatch, gtk_doc, pkgconfig, gobjectIntrospection, intltool
 , libgudev, polkit, appstream-glib, gusb, sqlite, libarchive, glib_networking
 , libsoup, docbook2x, gpgme, libxslt, elfutils, libsmbios, efivar, glibcLocales
-, fwupdate, libyaml, valgrind, meson, libuuid, pygobject3, colord
-, pillow, ninja, gcab, gnutls, python3Packages, wrapGAppsHook, json_glib
+, fwupdate, libyaml, valgrind, meson, libuuid, colord
+, ninja, gcab, gnutls, python3, wrapGAppsHook, json_glib
 , shared_mime_info, umockdev
 }:
 let
   version = "1.0.4";
+  python = python3.withPackages (p: with p; [ pygobject3 pycairo pillow ]);
+  installedTestsPython = python3.withPackages (p: with p; [ pygobject3 requests ]);
 in stdenv.mkDerivation {
   name = "fwupd-${version}";
   src = fetchurl {
@@ -18,11 +20,11 @@ in stdenv.mkDerivation {
 
   nativeBuildInputs = [
     meson ninja gtk_doc pkgconfig gobjectIntrospection intltool glibcLocales shared_mime_info
-    valgrind gcab docbook2x libxslt pygobject3 python3Packages.pycairo wrapGAppsHook
+    valgrind gcab docbook2x libxslt python wrapGAppsHook
   ];
   buildInputs = [
     polkit appstream-glib gusb sqlite libarchive libsoup elfutils libsmbios fwupdate libyaml
-    libgudev colord gpgme libuuid pillow gnutls glib_networking efivar json_glib umockdev
+    libgudev colord gpgme libuuid gnutls glib_networking efivar json_glib umockdev
   ];
 
   LC_ALL = "en_US.UTF-8"; # For po/make-images
@@ -34,8 +36,18 @@ in stdenv.mkDerivation {
       url = https://github.com/hughsie/fwupd/commit/bd6082574989e4f48b66c7270bb408d439b77a06.patch;
       sha256 = "17pixyizkmn6wlsjmr1wwya17ivn770hdv9mp769vifxinya8w9y";
     })
+    # https://github.com/hughsie/fwupd/issues/405
+    (fetchpatch {
+      url = https://github.com/hughsie/fwupd/pull/407.patch;
+      sha256 = "1dxhqps12x7bz0s974xk5hfpk4nwn1gs29vl0dfi9j54wy18f688";
+    })
   ];
+
   postPatch = ''
+    # needs a different set of modules than po/make-images
+    escapedInterpreterLine=$(echo "${installedTestsPython}/bin/python3" | sed 's|\\|\\\\|g')
+    sed -i -e "1 s|.*|#\!$escapedInterpreterLine|" data/installed-tests/hardware.py
+
     patchShebangs .
     substituteInPlace data/installed-tests/fwupdmgr.test.in --subst-var-by installedtestsdir "$installedTests/share/installed-tests/fwupd"
   '';
@@ -48,6 +60,7 @@ in stdenv.mkDerivation {
 
   mesonFlags = [
     "-Dman=false"
+    "-Dplugin_dummy=true"
     "-Dgtkdoc=false"
     "-Dbootdir=/boot"
     "-Dudevdir=lib/udev"
@@ -57,6 +70,8 @@ in stdenv.mkDerivation {
 
   postInstall = ''
     moveToOutput share/installed-tests "$installedTests"
+    wrapProgram $installedTests/share/installed-tests/fwupd/hardware.py \
+      --prefix GI_TYPELIB_PATH : "$out/lib/girepository-1.0:${libsoup}/lib/girepository-1.0"
   '';
 
   enableParallelBuilding = true;