diff options
Diffstat (limited to 'pkgs/os-specific/linux/firmware')
6 files changed, 71 insertions, 13 deletions
diff --git a/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch b/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch index c136f935e03..2a6ae96cef1 100644 --- a/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch +++ b/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch @@ -1,5 +1,16 @@ +diff --git a/data/bios-settings.d/meson.build b/data/bios-settings.d/meson.build +index b0ff5b106..13ac380d0 100644 +--- a/data/bios-settings.d/meson.build ++++ b/data/bios-settings.d/meson.build +@@ -1,5 +1,5 @@ + if build_standalone and host_machine.system() == 'linux' + install_data('README.md', +- install_dir: join_paths(sysconfdir, 'fwupd', 'bios-settings.d') ++ install_dir: join_paths(sysconfdir_install, 'fwupd', 'bios-settings.d') + ) + endif diff --git a/data/meson.build b/data/meson.build -index d8494020d..7c896fa0d 100644 +index 3a77a7bfc..747bd1988 100644 --- a/data/meson.build +++ b/data/meson.build @@ -26,7 +26,7 @@ endif @@ -83,7 +94,7 @@ index 1d1698a7e..5469d00a6 100644 + install_dir: join_paths(sysconfdir_install, 'fwupd', 'remotes.d'), ) diff --git a/meson.build b/meson.build -index e6b717078..f8a7a7455 100644 +index e7980e965..2c66e2dc4 100644 --- a/meson.build +++ b/meson.build @@ -195,6 +195,12 @@ endif @@ -100,7 +111,7 @@ index e6b717078..f8a7a7455 100644 gio = dependency('gio-2.0', version: '>= 2.45.8') giounix = dependency('gio-unix-2.0', version: '>= 2.45.8', required: false) diff --git a/meson_options.txt b/meson_options.txt -index 06d242371..d9e517fc0 100644 +index 6cf92e72e..2e8568292 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -1,3 +1,4 @@ @@ -121,7 +132,7 @@ index 67bd3b9d9..ad04a91b6 100644 ) endif diff --git a/plugins/msr/meson.build b/plugins/msr/meson.build -index 13f03ccd4..9235ebe33 100644 +index d626c3ad3..5a2f847d5 100644 --- a/plugins/msr/meson.build +++ b/plugins/msr/meson.build @@ -10,7 +10,7 @@ install_data(['fwupd-msr.conf'], diff --git a/pkgs/os-specific/linux/firmware/fwupd/default.nix b/pkgs/os-specific/linux/firmware/fwupd/default.nix index 541bef93a8a..66cfbef940b 100644 --- a/pkgs/os-specific/linux/firmware/fwupd/default.nix +++ b/pkgs/os-specific/linux/firmware/fwupd/default.nix @@ -114,7 +114,7 @@ let self = stdenv.mkDerivation rec { pname = "fwupd"; - version = "1.8.3"; + version = "1.8.4"; # libfwupd goes to lib # daemon, plug-ins and libfwupdplugin go to out @@ -123,7 +123,7 @@ let src = fetchurl { url = "https://people.freedesktop.org/~hughsient/releases/fwupd-${version}.tar.xz"; - sha256 = "sha256-ciIpd86KhmJRH/o8CIFWb2xFjsjWHSUNlGYRfWEiOOw="; + sha256 = "sha256-rfoHQ0zcKexBxA/vRg6Nlwlj/gx+hJ3sfzkyrbFh+IY="; }; patches = [ @@ -322,6 +322,7 @@ let passthru = { filesInstalledToEtc = [ + "fwupd/bios-settings.d/README.md" "fwupd/daemon.conf" "fwupd/remotes.d/lvfs-testing.conf" "fwupd/remotes.d/lvfs.conf" diff --git a/pkgs/os-specific/linux/firmware/linux-firmware/default.nix b/pkgs/os-specific/linux/firmware/linux-firmware/default.nix index 20058e7bc82..e882ddd69b4 100644 --- a/pkgs/os-specific/linux/firmware/linux-firmware/default.nix +++ b/pkgs/os-specific/linux/firmware/linux-firmware/default.nix @@ -1,12 +1,18 @@ -{ stdenvNoCC, fetchzip, lib }: +let + source = import ./source.nix; +in { + stdenvNoCC, + fetchzip, + lib, +}: stdenvNoCC.mkDerivation rec { pname = "linux-firmware"; - version = "20220815"; + version = source.version; src = fetchzip { url = "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/snapshot/linux-firmware-${version}.tar.gz"; - sha256 = "sha256-StPlnwn4KOvOf4fRblDzJQqyI8iIz8e9fo/BsTyCKjI="; + hash = source.sourceHash; }; installFlags = [ "DESTDIR=$(out)" ]; @@ -16,7 +22,7 @@ stdenvNoCC.mkDerivation rec { outputHashMode = "recursive"; outputHashAlgo = "sha256"; - outputHash = "sha256-VTRrOOkdWepUCKAkziO/0egb3oaQEOJCtsuDEgs/W78="; + outputHash = source.outputHash; meta = with lib; { description = "Binary firmware collection packaged by kernel.org"; diff --git a/pkgs/os-specific/linux/firmware/linux-firmware/source.nix b/pkgs/os-specific/linux/firmware/linux-firmware/source.nix new file mode 100644 index 00000000000..a0f049ce134 --- /dev/null +++ b/pkgs/os-specific/linux/firmware/linux-firmware/source.nix @@ -0,0 +1,6 @@ +# This file is autogenerated! Run ./update.sh to regenerate. +{ + version = "20220913"; + sourceHash = "sha256-qxSgkytJBW9ux95tEOHfz/4pvOp5TII3ICAY7dg5UC8="; + outputHash = "sha256-eVDXNyx9gwa46pBmsoTU9bQ2XBzkjVocIHydieJ9ruU="; +} diff --git a/pkgs/os-specific/linux/firmware/linux-firmware/update.sh b/pkgs/os-specific/linux/firmware/linux-firmware/update.sh new file mode 100755 index 00000000000..cd711db7de4 --- /dev/null +++ b/pkgs/os-specific/linux/firmware/linux-firmware/update.sh @@ -0,0 +1,34 @@ +#!/usr/bin/env bash +set -euo pipefail +cd "$(dirname "$(readlink -f "$0")")" || exit + +# step 1: figure out the latest version from the tags +repo="https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git" +latestTag="$(git ls-remote --refs --tags --sort refname "$repo" | tail -n1 | cut -f2 | cut -d '/' -f3)" + +# step 2: prefetch the source tarball +snapshotUrl="$repo/snapshot/linux-firmware-$latestTag.tar.gz" +hash="$(nix-prefetch-url --unpack "$snapshotUrl")" +sriHash="$(nix --experimental-features nix-command hash to-sri "sha256:$hash")" + +# step 3: rebuild as a non-FO derivation to get the right hash +cat > source.nix << EOF +{ + version = "$latestTag"; + sourceHash = "$sriHash"; + outputHash = null; +} +EOF + +outPath="$(nix --experimental-features "nix-command flakes" build ".#linux-firmware" --no-link --print-out-paths)" +outHash="$(nix --experimental-features nix-command hash path "$outPath")" + +# step 4: generate the final file +cat > source.nix << EOF +# This file is autogenerated! Run ./update.sh to regenerate. +{ + version = "$latestTag"; + sourceHash = "$sriHash"; + outputHash = "$outHash"; +} +EOF diff --git a/pkgs/os-specific/linux/firmware/system76-firmware/default.nix b/pkgs/os-specific/linux/firmware/system76-firmware/default.nix index 9e3a8209a4d..24eb4dcdf61 100644 --- a/pkgs/os-specific/linux/firmware/system76-firmware/default.nix +++ b/pkgs/os-specific/linux/firmware/system76-firmware/default.nix @@ -2,13 +2,13 @@ rustPlatform.buildRustPackage rec { pname = "system76-firmware"; # Check Makefile when updating, make sure postInstall matches make install - version = "1.0.42"; + version = "1.0.43"; src = fetchFromGitHub { owner = "pop-os"; repo = pname; rev = version; - sha256 = "sha256-8raRfmNAvgxBVsFeOu/XPs5YU1wPpRBo3Cog/UpE5/o="; + sha256 = "sha256-0NlM5ugpJzwzXgm8TqM6/aj3b+lDYbLeYOHNHM3g8aw="; }; nativeBuildInputs = [ pkg-config makeWrapper ]; @@ -17,7 +17,7 @@ rustPlatform.buildRustPackage rec { cargoBuildFlags = [ "--workspace" ]; - cargoSha256 = "sha256-aKyLAISZlQz5e8MvOoydAZ4bwCEZ1K3FldyoG6R9FJU="; + cargoSha256 = "sha256-oyHnEWtQ0pl4SaJsnao+oTDBuu9PJdU3uqLTDowRWQw="; # Purposefully don't install systemd unit file, that's for NixOS postInstall = '' |