summary refs log tree commit diff
path: root/pkgs/os-specific/linux/firmware/fwupd/default.nix
diff options
context:
space:
mode:
authorJan Tojnar <jtojnar@gmail.com>2022-07-29 15:19:10 +0200
committerJan Tojnar <jtojnar@gmail.com>2022-07-29 16:14:04 +0200
commit9249634151a3e6510d2a6dd9e65c9271b8bba463 (patch)
treedba696673e70c0709ba33c22c45644f709bdda53 /pkgs/os-specific/linux/firmware/fwupd/default.nix
parentce49cb7792a7ffd65ef352dda1110a4e4a204eac (diff)
downloadnixpkgs-9249634151a3e6510d2a6dd9e65c9271b8bba463.tar
nixpkgs-9249634151a3e6510d2a6dd9e65c9271b8bba463.tar.gz
nixpkgs-9249634151a3e6510d2a6dd9e65c9271b8bba463.tar.bz2
nixpkgs-9249634151a3e6510d2a6dd9e65c9271b8bba463.tar.lz
nixpkgs-9249634151a3e6510d2a6dd9e65c9271b8bba463.tar.xz
nixpkgs-9249634151a3e6510d2a6dd9e65c9271b8bba463.tar.zst
nixpkgs-9249634151a3e6510d2a6dd9e65c9271b8bba463.zip
fwupd: 1.8.1 → 1.8.3
https://github.com/fwupd/fwupd/releases/tag/1.8.2
https://github.com/fwupd/fwupd/releases/tag/1.8.3

https://blogs.gnome.org/hughsie/2022/07/29/emulated-host-profiles-in-fwupd/
Diffstat (limited to 'pkgs/os-specific/linux/firmware/fwupd/default.nix')
-rw-r--r--pkgs/os-specific/linux/firmware/fwupd/default.nix33
1 files changed, 21 insertions, 12 deletions
diff --git a/pkgs/os-specific/linux/firmware/fwupd/default.nix b/pkgs/os-specific/linux/firmware/fwupd/default.nix
index 94a5c2ac036..ce6dc1a1b27 100644
--- a/pkgs/os-specific/linux/firmware/fwupd/default.nix
+++ b/pkgs/os-specific/linux/firmware/fwupd/default.nix
@@ -4,7 +4,7 @@
 , lib
 , fetchurl
 , fetchFromGitHub
-, gtk-doc
+, gi-docgen
 , pkg-config
 , gobject-introspection
 , gettext
@@ -17,7 +17,6 @@
 , libarchive
 , curl
 , libjcat
-, libxslt
 , elfutils
 , libsmbios
 , efivar
@@ -25,8 +24,6 @@
 , meson
 , libuuid
 , colord
-, docbook_xml_dtd_43
-, docbook-xsl-nons
 , ninja
 , gcab
 , gnutls
@@ -117,7 +114,7 @@ let
 
   self = stdenv.mkDerivation rec {
     pname = "fwupd";
-    version = "1.8.1";
+    version = "1.8.3";
 
     # libfwupd goes to lib
     # daemon, plug-ins and libfwupdplugin go to out
@@ -126,7 +123,7 @@ let
 
     src = fetchurl {
       url = "https://people.freedesktop.org/~hughsient/releases/fwupd-${version}.tar.xz";
-      sha256 = "sha256-V1ZGZELrkTT7QM3IpG+eAQAyR8jqyC+l2LFvZCA3W3k=";
+      sha256 = "sha256-ciIpd86KhmJRH/o8CIFWb2xFjsjWHSUNlGYRfWEiOOw=";
     };
 
     patches = [
@@ -152,7 +149,7 @@ let
     nativeBuildInputs = [
       meson
       ninja
-      gtk-doc
+      gi-docgen
       pkg-config
       gobject-introspection
       gettext
@@ -160,9 +157,6 @@ let
       valgrind
       gcab
       gnutls
-      docbook_xml_dtd_43
-      docbook-xsl-nons
-      libxslt
       protobufc # for protoc
       python
       wrapGAppsHook
@@ -201,7 +195,7 @@ let
     ];
 
     mesonFlags = [
-      "-Ddocs=gtkdoc"
+      "-Ddocs=enabled"
       "-Dplugin_dummy=true"
       # We are building the official releases.
       "-Dsupported_build=enabled"
@@ -216,6 +210,8 @@ let
       "-Dsysconfdir_install=${placeholder "out"}/etc"
       "-Defi_os_dir=nixos"
       "-Dplugin_modem_manager=enabled"
+      # Requires Meson 0.63
+      "-Dgresource_quirks=disabled"
 
       # We do not want to place the daemon into lib (cyclic reference)
       "--libexecdir=${placeholder "out"}/libexec"
@@ -261,10 +257,20 @@ let
         meson_post_install.sh \
         po/test-deps
 
+      # This checks a version of a dependency of gi-docgen but gi-docgen is self-contained in Nixpkgs.
+      echo "Clearing docs/test-deps.py"
+      test -f docs/test-deps.py
+      echo > docs/test-deps.py
+
       substituteInPlace data/installed-tests/fwupdmgr-p2p.sh \
         --replace "gdbus" ${glib.bin}/bin/gdbus
     '';
 
+    preBuild = ''
+      # jcat-tool at buildtime requires a home directory
+      export HOME="$(mktemp -d)"
+    '';
+
     preCheck = ''
       addToSearchPath XDG_DATA_DIRS "${shared-mime-info}/share"
     '';
@@ -298,8 +304,8 @@ let
       )
     '';
 
-    # Since we had to disable wrapGAppsHook, we need to wrap the executables manually.
     postFixup = ''
+      # Since we had to disable wrapGAppsHook, we need to wrap the executables manually.
       find -L "$out/bin" "$out/libexec" -type f -executable -print0 \
         | while IFS= read -r -d ''' file; do
         if [[ "$file" != *.efi ]]; then
@@ -307,6 +313,9 @@ let
           wrapGApp "$file"
         fi
       done
+
+      # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
+      moveToOutput "share/doc" "$devdoc"
     '';
 
     separateDebugInfo = true;