diff mbox series

[bug#46278,v2] Add fwupd

Message ID rhXPCJBRiIXCySJqk3GOgM4btnX0jJBp0cJ1vL7X6Zc0Oqc9Y9jq7MB32nglDz5Z8vTqVk3-YsU-wItE-A0H-24KnNoSRz6qtfAJiz_eLvc=@protonmail.com
State Accepted
Headers show
Series [bug#46278,v2] Add fwupd | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git-branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue

Commit Message

phodina Aug. 14, 2022, 9:44 p.m. UTC
Hi,

here's updated patch for fwupd.

I attempted to add also Gnome GUI but for some reason the pkgconfig in meson is not detecting the fwupd even though that when ran manually it finds it.

Here's the error:

Found pkg-config: /gnu/store/2b3blhwbag1ial0dhxw7wh4zjxl0cqpk-pkg-config-0.29.2/bin/pkg-config (0.29.2)
Run-time dependency gtk4 found: YES 4.6.6
Run-time dependency gio-2.0 found: YES 2.70.2
Did not find CMake 'cmake'
Found CMake: NO
Run-time dependency fwupd found: NO (tried pkgconfig and cmake)
Looking for a fallback subproject for the dependency fwupd

../source/meson.build:81:0: ERROR: Git program not found, cannot download fwupd.wrap via git.

A full log can be found at /tmp/guix-build-gnome-firmware-42.2.drv-0/build/meson-logs/meson-log.txterror: in phase 'configure': uncaught exception:

And here's the search result (I sourced the environment first):

/tmp/guix-build-gnome-firmware-42.2.drv-0/source$ pkg-config --list-all | grep fwupd
fwupdplugin fwupdplugin - library for plugins to use to interact with fwupd daemonfwupd fwupd - fwupd is a system daemon for installing device firmware

FIY Same error happens when I attempt to build the libaccounts-qt for KDE updates.[1][2]

[1] https://gitlab.com/accounts-sso/libaccounts-qt/-/issues/5
[2] https://issues.guix.gnu.org/50862#38
diff mbox series

Patch

From d5bb4d798b40d91119d54077514d70234f6f3818 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Tue, 4 Jan 2022 06:58:51 +0100
Subject: [PATCH v2 1/2] gnu: Add fwupd.

* gnu/packages/firmware.scm (fwupd): New variable.

diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm
index a258af30bf..a29f3d2b6a 100644
--- a/gnu/packages/firmware.scm
+++ b/gnu/packages/firmware.scm
@@ -36,21 +36,43 @@  (define-module (gnu packages firmware)
   #:use-module (guix build-system meson)
   #:use-module (gnu packages)
   #:use-module (gnu packages admin)
+  #:use-module (gnu packages autotools)
   #:use-module (gnu packages assembly)
+  #:use-module (gnu packages backup)
   #:use-module (gnu packages base)
+  #:use-module (gnu packages bash)
   #:use-module (gnu packages bison)
+  #:use-module (gnu packages check)
   #:use-module (gnu packages cmake)
-  #:use-module (gnu packages curl)
+  #:use-module (gnu packages compression)
   #:use-module (gnu packages cross-base)
+  #:use-module (gnu packages curl)
+  #:use-module (gnu packages efi)
+  #:use-module (gnu packages elf)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages gcc)
+  #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gnupg)
+  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages hardware)
   #:use-module (gnu packages libusb)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages man)
+  #:use-module (gnu packages mingw)
+  #:use-module (gnu packages package-management)
   #:use-module (gnu packages perl)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages polkit)
+  #:use-module (gnu packages protobuf)
   #:use-module (gnu packages python)
-  #:use-module (gnu packages pkg-config))
+  #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages sqlite)
+  #:use-module (gnu packages tls)
+  #:use-module (gnu packages version-control)
+  #:use-module (gnu packages web)
+  #:use-module (gnu packages xml))
 
 (define-public ath9k-htc-firmware
   (package
@@ -168,6 +190,89 @@  (define-public b43-tools
 driver.")
       (license license:gpl2))))
 
+(define-public fwupd
+  (package
+    (name "fwupd")
+    (version "1.8.3")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/fwupd/fwupd")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "02jf052qj1nl47ppqrgz3s9qapq4pajgkf6lbj5rxr5sshlrw44n"))))
+    (build-system meson-build-system)
+    (arguments
+     (list #:configure-flags #~(list "--wrap-mode=nofallback"
+                                     "-Dsystemd=false"
+                                     (string-append "-Defi_os_dir="
+                                                    #$gnu-efi "/lib")
+                                     "-Defi_binary=false"
+                                     (string-append "-Dudevdir="
+                                                    #$output "/lib/udev")
+                                     "--localstatedir=/var"
+                                     (string-append "--libexecdir="
+                                                    #$output "/libexec")
+                                     "-Dsupported_build=true")
+           #:glib-or-gtk? #t ;To wrap binaries and/or compile schemas
+           #:phases #~(modify-phases %standard-phases
+                        (add-after 'unpack 'make-source-writable
+                          (lambda _
+                            (for-each make-file-writable
+                                      (find-files "."))
+                            (substitute* "src/fu-self-test.c"
+                              (("/bin/sh")
+                               (which "sh")))))
+                        (add-before 'build 'setup-home
+                          (lambda _
+                            (setenv "HOME" "/tmp")))
+                        (add-before 'install 'no-polkit-magic
+                          (lambda _
+                            (setenv "PKEXEC_UID" "something"))))))
+    (native-inputs (list gobject-introspection
+                         python-pygobject
+                         python-pillow
+                         python-pycairo
+                         python
+                         pkg-config
+                         vala
+                         gtk-doc
+                         which
+                         umockdev
+                         `(,glib "bin")
+                         help2man
+                         gettext-minimal))
+    (inputs (list bash-completion
+                  glib
+                  libgudev
+                  libxmlb
+                  gusb
+                  sqlite
+                  libarchive
+                  libjcat
+                  json-glib
+                  curl
+                  polkit
+                  eudev
+                  gcab
+                  gnutls
+                  libelf
+                  tpm2-tss
+                  cairo
+                  efivar
+                  pango
+                  protobuf-c
+                  mingw-w64-tools
+                  libsmbios
+                  gnu-efi))
+    (home-page "https://fwupd.org/")
+    (synopsis "A simple daemon to allow session software to update firmware")
+    (description "This package aims to make updating firmware on Linux
+automatic, safe and reliable.")
+    (license license:lgpl2.1+)))
+
 (define-public openfwwf-firmware
   (package
     (name "openfwwf-firmware")
-- 
2.37.0