aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/os-specific/linux/firmware/fwupd/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/os-specific/linux/firmware/fwupd/default.nix')
-rw-r--r--nixpkgs/pkgs/os-specific/linux/firmware/fwupd/default.nix47
1 files changed, 18 insertions, 29 deletions
diff --git a/nixpkgs/pkgs/os-specific/linux/firmware/fwupd/default.nix b/nixpkgs/pkgs/os-specific/linux/firmware/fwupd/default.nix
index 86a2bfbcc9e..2a0e52c658a 100644
--- a/nixpkgs/pkgs/os-specific/linux/firmware/fwupd/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/firmware/fwupd/default.nix
@@ -2,6 +2,7 @@
{ stdenv
, fetchurl
+, fetchpatch
, substituteAll
, gtk-doc
, pkgconfig
@@ -16,7 +17,7 @@
, glib-networking
, libsoup
, help2man
-, gpgme
+, libjcat
, libxslt
, elfutils
, libsmbios
@@ -31,7 +32,6 @@
, docbook_xsl
, ninja
, gcab
-, gnutls
, python3
, wrapGAppsHook
, json-glib
@@ -87,11 +87,11 @@ in
stdenv.mkDerivation rec {
pname = "fwupd";
- version = "1.3.9";
+ version = "1.4.1";
src = fetchurl {
url = "https://people.freedesktop.org/~hughsient/releases/fwupd-${version}.tar.xz";
- sha256 = "ZuRG+UN8ebXv5Z8fOYWT0eCtHykGXoB8Ysu3wAeqx0A=";
+ sha256 = "ga8MpbY9tTwr0jsmjEAMyFxDC+yD4LBTx5gXRXig31M=";
};
# libfwupd goes to lib
@@ -130,9 +130,8 @@ stdenv.mkDerivation rec {
libyaml
libgudev
colord
- gpgme
+ libjcat
libuuid
- gnutls
glib-networking
json-glib
umockdev
@@ -151,15 +150,15 @@ stdenv.mkDerivation rec {
./fix-paths.patch
./add-option-for-installation-sysconfdir.patch
- # install plug-ins and libfwupdplugin to out,
- # they are not really part of the library
+ # Install plug-ins and libfwupdplugin to out,
+ # they are not really part of the library.
./install-fwupdplugin-to-out.patch
- # installed tests are installed to different output
- # we also cannot have fwupd-tests.conf in $out/etc since it would form a cycle
+ # Installed tests are installed to different output
+ # we also cannot have fwupd-tests.conf in $out/etc since it would form a cycle.
(substituteAll {
src = ./installed-tests-path.patch;
- # needs a different set of modules than po/make-images
+ # Needs a different set of modules than po/make-images.
inherit installedTestsPython;
})
];
@@ -172,14 +171,6 @@ stdenv.mkDerivation rec {
po/make-images \
po/make-images.sh \
po/test-deps
-
- # we cannot use placeholder in substituteAll
- # https://github.com/NixOS/nix/issues/1846
- substituteInPlace data/installed-tests/meson.build --subst-var installedTests
-
- substituteInPlace data/meson.build --replace \
- "install_dir: systemd.get_pkgconfig_variable('systemdshutdowndir')" \
- "install_dir: '${placeholder "out"}/lib/systemd/system-shutdown'"
'';
# /etc/os-release not available in sandbox
@@ -203,7 +194,8 @@ stdenv.mkDerivation rec {
"-Dgtkdoc=true"
"-Dplugin_dummy=true"
"-Dudevdir=lib/udev"
- "-Dsystemdunitdir=lib/systemd/system"
+ "-Dsystemd_root_prefix=${placeholder "out"}"
+ "-Dinstalled_test_prefix=${placeholder "installedTests"}"
"-Defi-libdir=${gnu-efi}/lib"
"-Defi-ldsdir=${gnu-efi}/lib"
"-Defi-includedir=${gnu-efi}/include/efi"
@@ -225,23 +217,19 @@ stdenv.mkDerivation rec {
"-Dplugin_flashrom=true"
];
- 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"
- '';
-
FONTCONFIG_FILE = fontsConf; # Fontconfig error: Cannot load default config file
# error: “PolicyKit files are missing”
# https://github.com/NixOS/nixpkgs/pull/67625#issuecomment-525788428
PKG_CONFIG_POLKIT_GOBJECT_1_ACTIONDIR = "/run/current-system/sw/share/polkit-1/actions";
- # cannot install to systemd prefix
- PKG_CONFIG_SYSTEMD_SYSTEMDSYSTEMPRESETDIR = "${placeholder "out"}/lib/systemd/system-preset";
-
# TODO: wrapGAppsHook wraps efi capsule even though it is not elf
dontWrapGApps = true;
+
+ preCheck = ''
+ addToSearchPath XDG_DATA_DIRS "${shared-mime-info}/share"
+ '';
+
# so we need to wrap the executables manually
postFixup = ''
find -L "$out/bin" "$out/libexec" -type f -executable -print0 \
@@ -256,6 +244,7 @@ stdenv.mkDerivation rec {
# /etc/fwupd/uefi.conf is created by the services.hardware.fwupd NixOS module
passthru = {
filesInstalledToEtc = [
+ "fwupd/ata.conf"
# "fwupd/daemon.conf" # already created by the module
"fwupd/redfish.conf"
"fwupd/remotes.d/dell-esrt.conf"