diff --git a/pkgs/by-name/fw/fwupd/add-option-for-installation-sysconfdir.patch b/pkgs/by-name/fw/fwupd/add-option-for-installation-sysconfdir.patch index 8846d06f5e5f..99799f10e717 100644 --- a/pkgs/by-name/fw/fwupd/add-option-for-installation-sysconfdir.patch +++ b/pkgs/by-name/fw/fwupd/add-option-for-installation-sysconfdir.patch @@ -207,8 +207,3 @@ index 2dfc4d2f0..e5ac73edd 100644 ) endif -@@ -146,4 +146,3 @@ summary({ - 'capsule splash': get_option('plugin_uefi_capsule_splash'), - }, section:'uefi capsule options') - endif -- diff --git a/pkgs/by-name/fw/fwupd/package.nix b/pkgs/by-name/fw/fwupd/package.nix index e90970e10460..b9a5657f83b7 100644 --- a/pkgs/by-name/fw/fwupd/package.nix +++ b/pkgs/by-name/fw/fwupd/package.nix @@ -26,6 +26,7 @@ gobject-introspection, meson, ninja, + protobuf, protobufc, shared-mime-info, vala, @@ -49,6 +50,7 @@ libqmi, libuuid, libxmlb, + libxml2, modemmanager, pango, polkit, @@ -131,7 +133,7 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "fwupd"; - version = "2.0.9"; + version = "2.0.12"; # libfwupd goes to lib # daemon, plug-ins and libfwupdplugin go to out @@ -149,7 +151,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "fwupd"; repo = "fwupd"; tag = finalAttrs.version; - hash = "sha256-Izh6PHMgUsOeez9uWSLoA2GhvawYQlEZo480vovxn38="; + hash = "sha256-AYPrQzk28CS4Yhj2+KARt3b1SC02YifEftsSF+fKJ+Y="; }; patches = [ @@ -170,14 +172,19 @@ stdenv.mkDerivation (finalAttrs: { # EFI capsule is located in fwupd-efi now. ./efi-app-path.patch + + # See https://github.com/fwupd/fwupd/pull/8959 + ./uefi-capsule-no-splash-fix-test.diff ]; postPatch = '' patchShebangs \ - contrib/generate-version-script.py \ - contrib/generate-man.py \ - po/test-deps + generate-build/generate-version-script.py \ + generate-build/generate-man.py \ + po/test-deps \ + plugins/uefi-capsule/tests/grub2-mkconfig \ + plugins/uefi-capsule/tests/grub2-reboot '' # in nixos test tries to chmod 0777 $out/share/installed-tests/fwupd/tests/redfish.conf + '' @@ -202,10 +209,12 @@ stdenv.mkDerivation (finalAttrs: { gettext gi-docgen gobject-introspection + libxml2 meson ninja pkg-config - protobufc # for protoc + protobuf # for protoc + protobufc # for protoc-gen-c shared-mime-info vala wrapGAppsNoGuiHook diff --git a/pkgs/by-name/fw/fwupd/uefi-capsule-no-splash-fix-test.diff b/pkgs/by-name/fw/fwupd/uefi-capsule-no-splash-fix-test.diff new file mode 100644 index 000000000000..e95b8f23357f --- /dev/null +++ b/pkgs/by-name/fw/fwupd/uefi-capsule-no-splash-fix-test.diff @@ -0,0 +1,82 @@ +commit 90d854ca68543ed117a5a49c28a027972088b568 +Author: r-vdp +Date: Wed Jun 25 11:31:45 2025 +0200 + + Fix uefi self-test when plugin_uefi_capsule_splash is disabled + +diff --git a/meson.build b/meson.build +index 922e87c23..d36850422 100644 +--- a/meson.build ++++ b/meson.build +@@ -564,6 +564,10 @@ conf.set_quoted('MOTD_DIR', motd_dir) + + conf.set_quoted('FU_DEFAULT_P2P_POLICY', get_option('p2p_policy')) + ++if get_option('plugin_uefi_capsule_splash') ++ conf.set('FWUPD_UEFI_CAPSULE_SPLASH_ENABLED', '1') ++endif ++ + configure_file( + output: 'config.h', + configuration: conf +diff --git a/plugins/uefi-capsule/fu-self-test.c b/plugins/uefi-capsule/fu-self-test.c +index d8ffdd913..d99b72fc7 100644 +--- a/plugins/uefi-capsule/fu-self-test.c ++++ b/plugins/uefi-capsule/fu-self-test.c +@@ -534,6 +534,7 @@ fu_uefi_plugin_nvram_func(void) + g_assert_no_error(error); + g_assert_true(ret); + ++#ifdef FWUPD_UEFI_CAPSULE_SPLASH_ENABLED + /* check UX splash was created */ + g_assert_true(fu_uefi_plugin_esp_file_exists( + esp, +@@ -541,14 +542,17 @@ fu_uefi_plugin_nvram_func(void) + g_assert_true(fu_efivars_exists(fu_context_get_efivars(ctx), + FU_EFIVARS_GUID_FWUPDATE, + "fwupd-ux-capsule")); ++#endif + + /* check FW was created */ + g_assert_true(fu_uefi_plugin_esp_file_exists( + esp, + "EFI/" EFI_OS_DIR "/fw/fwupd-cc4cbfa9-bf9d-540b-b92b-172ce31013c1.cap")); ++#ifdef FWUPD_UEFI_CAPSULE_SPLASH_ENABLED + g_assert_true(fu_efivars_exists(fu_context_get_efivars(ctx), + FU_EFIVARS_GUID_FWUPDATE, + "fwupd-ux-capsule")); ++#endif + g_assert_true(fu_efivars_exists(fu_context_get_efivars(ctx), + FU_EFIVARS_GUID_FWUPDATE, + "fwupd-cc4cbfa9-bf9d-540b-b92b-172ce31013c1-0")); +diff --git a/plugins/uefi-capsule/fu-uefi-capsule-plugin.c b/plugins/uefi-capsule/fu-uefi-capsule-plugin.c +index 6623ccd06..419d86565 100644 +--- a/plugins/uefi-capsule/fu-uefi-capsule-plugin.c ++++ b/plugins/uefi-capsule/fu-uefi-capsule-plugin.c +@@ -327,6 +327,7 @@ fu_uefi_capsule_plugin_add_security_attrs(FuPlugin *plugin, FuSecurityAttrs *att + fu_uefi_capsule_plugin_add_security_attrs_bootservices(plugin, attrs); + } + ++#ifdef FWUPD_UEFI_CAPSULE_SPLASH_ENABLED + static GBytes * + fu_uefi_capsule_plugin_get_splash_data(guint width, guint height, GError **error) + { +@@ -544,6 +545,7 @@ fu_uefi_capsule_plugin_update_splash(FuPlugin *plugin, FuDevice *device, GError + /* perform the upload */ + return fu_uefi_capsule_plugin_write_splash_data(self, device, image_bmp, error); + } ++#endif // FWUPD_UEFI_CAPSULE_SPLASH_ENABLED + + static gboolean + fu_uefi_capsule_plugin_write_firmware(FuPlugin *plugin, +@@ -583,8 +585,10 @@ fu_uefi_capsule_plugin_write_firmware(FuPlugin *plugin, + + /* perform the update */ + fu_progress_set_status(progress, FWUPD_STATUS_SCHEDULING); ++#ifdef FWUPD_UEFI_CAPSULE_SPLASH_ENABLED + if (!fu_uefi_capsule_plugin_update_splash(plugin, device, &error_splash)) + g_info("failed to upload UEFI UX capsule text: %s", error_splash->message); ++#endif + + return fu_device_write_firmware(device, firmware, progress, flags, error); + }