aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPetr Hodina <phodina@protonmail.com>2022-01-04 06:58:51 +0100
committerLudovic Courtès <ludo@gnu.org>2022-08-31 13:04:46 +0200
commit23152ff70f0ed4966d8207846f54c793d7cb4f86 (patch)
tree92e46c1ce0172cec16bfeb3af9791928cd39f9dd
parent0bb0e84396d1c985d6d05e34e20abfb145a21d00 (diff)
downloadguix-23152ff70f0ed4966d8207846f54c793d7cb4f86.tar
guix-23152ff70f0ed4966d8207846f54c793d7cb4f86.tar.gz
gnu: Add fwupd.
* gnu/packages/firmware.scm (fwupd): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r--gnu/packages/firmware.scm109
1 files changed, 107 insertions, 2 deletions
diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm
index 3ba5078b63..3a5ade4b77 100644
--- a/gnu/packages/firmware.scm
+++ b/gnu/packages/firmware.scm
@@ -36,21 +36,43 @@
#: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 @@ assembler, disassembler, and debugging tools for the Linux kernel b43 wireless
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 "Daemon to allow session software to update firmware")
+ (description "This package aims to make updating firmware on GNU/Linux
+automatic, safe and reliable. It is used by tools such as GNOME Software.")
+ (license license:lgpl2.1+)))
+
(define-public openfwwf-firmware
(package
(name "openfwwf-firmware")