diff options
Diffstat (limited to 'pkgs/os-specific/linux/firmware')
7 files changed, 99 insertions, 61 deletions
diff --git a/pkgs/os-specific/linux/firmware/facetimehd-firmware/default.nix b/pkgs/os-specific/linux/firmware/facetimehd-firmware/default.nix index c9723c944ab1..1a1c1ec39d7b 100644 --- a/pkgs/os-specific/linux/firmware/facetimehd-firmware/default.nix +++ b/pkgs/os-specific/linux/firmware/facetimehd-firmware/default.nix @@ -2,7 +2,7 @@ let - version = "1.43_4"; + version = "1.43_5"; # Updated according to https://github.com/patjak/bcwc_pcie/pull/81/files @@ -10,8 +10,8 @@ let # and https://github.com/patjak/bcwc_pcie/blob/5a7083bd98b38ef3bd223f7ee531d58f4fb0fe7c/firmware/extract-firmware.sh # From the Makefile: - dmgUrl = "https://support.apple.com/downloads/DL1877/en_US/osxupd10.11.5.dmg"; - dmgRange = "205261917-208085450"; # the whole download is 1.3GB, this cuts it down to 2MB + dmgUrl = "https://updates.cdn-apple.com/2019/cert/041-88431-20191011-e7ee7d98-2878-4cd9-bc0a-d98b3a1e24b1/OSXUpd10.11.5.dmg"; + dmgRange = "204909802-207733123"; # the whole download is 1.3GB, this cuts it down to 2MB # Notes: # 1. Be sure to update the sha256 below in the fetch_url # 2. Be sure to update the homepage in the meta @@ -39,7 +39,7 @@ stdenv.mkDerivation { inherit version; src = fetchurl { url = dmgUrl; - sha256 = "0xqkl4yds0n9fdjvnk0v5mj382q02crry6wm2q7j3ncdqwsv02sv"; + sha256 = "0s8crlh8rvpanzk1w4z3hich0a3mw0m5xhpcg07bxy02calhpdk1"; curlOpts = "-r ${dmgRange}"; }; @@ -56,7 +56,7 @@ stdenv.mkDerivation { meta = with stdenv.lib; { description = "facetimehd firmware"; - homepage = https://support.apple.com/downloads/DL1877; + homepage = https://support.apple.com/kb/DL1877; license = licenses.unfree; maintainers = with maintainers; [ womfoo grahamc ]; platforms = [ "i686-linux" "x86_64-linux" ]; diff --git a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix index 3b5867837bda..8db9d4fb3b5d 100644 --- a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix +++ b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix @@ -1,13 +1,13 @@ -{ stdenv, fetchgit }: +{ stdenv, fetchgit, lib }: stdenv.mkDerivation rec { pname = "firmware-linux-nonfree"; - version = "2019-09-23"; + version = "2019-10-22"; src = fetchgit { url = "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git"; - rev = "20190923"; - sha256 = "1gq55ny6lb2nh6rr1w55bslzysyj0bwdl6rbpv882hhyjrnsma0n"; + rev = lib.replaceStrings ["-"] [""] version; + sha256 = "03ycc55h7vgd4fmb7v7gl7lplf7pg7acs16aa2rramgldxqvyx7j"; }; installFlags = [ "DESTDIR=$(out)" ]; @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { outputHashMode = "recursive"; outputHashAlgo = "sha256"; - outputHash = "1y2z3wxqq2km6x08kfdqgcr9xczbq1h2jqyrqr6h31bapjb8x0k9"; + outputHash = "15nm0xh2xq8mnk7a66iljcklc15gvh6jcpz2d9llg1fkv6w8lqc6"; meta = with stdenv.lib; { description = "Binary firmware collection packaged by kernel.org"; 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 4903eadef4b5..81e82d68dbc4 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,30 +1,21 @@ diff --git a/data/meson.build b/data/meson.build -index 61664cd6..f10abbba 100644 +index 25db9509..f394eb25 100644 --- a/data/meson.build +++ b/data/meson.build -@@ -11,7 +11,7 @@ if get_option('daemon') +@@ -13,7 +13,7 @@ + if build_daemon + subdir('installed-tests') + install_data(['daemon.conf'], +- install_dir : join_paths(sysconfdir, 'fwupd') ++ install_dir : join_paths(sysconfdir_install, 'fwupd') + ) endif - install_data(['daemon.conf'], -- install_dir : join_paths(sysconfdir, 'fwupd') -+ install_dir : join_paths(sysconfdir_install, 'fwupd') - ) - - install_data(['org.freedesktop.fwupd.metainfo.xml'], -@@ -23,7 +23,7 @@ install_data(['org.freedesktop.fwupd.svg'], - ) - - install_data(['org.freedesktop.fwupd.conf'], -- install_dir : join_paths(sysconfdir, 'dbus-1', 'system.d') -+ install_dir : join_paths(sysconfdir_install, 'dbus-1', 'system.d') - ) - - if get_option('daemon') diff --git a/data/pki/meson.build b/data/pki/meson.build index eefcc914..dc801fa1 100644 --- a/data/pki/meson.build +++ b/data/pki/meson.build -@@ -4,14 +4,14 @@ if get_option('gpg') +@@ -4,14 +4,14 @@ 'GPG-KEY-Linux-Foundation-Firmware', 'GPG-KEY-Linux-Vendor-Firmware-Service', ], @@ -41,7 +32,7 @@ index eefcc914..dc801fa1 100644 ) endif -@@ -19,12 +19,12 @@ if get_option('pkcs7') +@@ -19,12 +19,12 @@ install_data([ 'LVFS-CA.pem', ], @@ -57,10 +48,10 @@ index eefcc914..dc801fa1 100644 endif diff --git a/data/remotes.d/meson.build b/data/remotes.d/meson.build -index a27c31ef..374e09b6 100644 +index 826a3c1d..b78db663 100644 --- a/data/remotes.d/meson.build +++ b/data/remotes.d/meson.build -@@ -3,7 +3,7 @@ if get_option('daemon') and get_option('lvfs') +@@ -3,7 +3,7 @@ 'lvfs.conf', 'lvfs-testing.conf', ], @@ -69,7 +60,7 @@ index a27c31ef..374e09b6 100644 ) i18n.merge_file( input: 'lvfs.metainfo.xml', -@@ -37,12 +37,12 @@ configure_file( +@@ -37,12 +37,12 @@ output : 'vendor.conf', configuration : con2, install: true, @@ -85,10 +76,10 @@ index a27c31ef..374e09b6 100644 + install_dir: join_paths(sysconfdir_install, 'fwupd', 'remotes.d'), ) diff --git a/meson.build b/meson.build -index a89f9b3f..736896eb 100644 +index 8e1de887..a5bb1fe6 100644 --- a/meson.build +++ b/meson.build -@@ -145,6 +145,12 @@ localstatedir = join_paths(prefix, get_option('localstatedir')) +@@ -158,6 +158,12 @@ mandir = join_paths(prefix, get_option('mandir')) localedir = join_paths(prefix, get_option('localedir')) @@ -99,13 +90,13 @@ index a89f9b3f..736896eb 100644 +endif + gio = dependency('gio-2.0', version : '>= 2.45.8') + giounix = dependency('gio-unix-2.0', version : '>= 2.45.8') if gio.version().version_compare ('>= 2.55.0') - conf.set('HAVE_GIO_2_55_0', '1') diff --git a/meson_options.txt b/meson_options.txt -index 5d4163e8..db81fd1f 100644 +index 71b50c6a..561c2031 100644 --- a/meson_options.txt +++ b/meson_options.txt -@@ -21,6 +21,7 @@ option('plugin_modem_manager', type : 'boolean', value : false, description : 'e +@@ -24,6 +24,7 @@ option('systemd', type : 'boolean', value : true, description : 'enable systemd support') option('systemdunitdir', type: 'string', value: '', description: 'Directory for systemd units') option('elogind', type : 'boolean', value : false, description : 'enable elogind support') @@ -117,7 +108,7 @@ diff --git a/plugins/dell-esrt/meson.build b/plugins/dell-esrt/meson.build index cb9f4555..b972d7fb 100644 --- a/plugins/dell-esrt/meson.build +++ b/plugins/dell-esrt/meson.build -@@ -36,5 +36,5 @@ configure_file( +@@ -36,5 +36,5 @@ output : 'dell-esrt.conf', configuration : con2, install: true, @@ -128,7 +119,7 @@ diff --git a/plugins/redfish/meson.build b/plugins/redfish/meson.build index 5c88504e..7706da71 100644 --- a/plugins/redfish/meson.build +++ b/plugins/redfish/meson.build -@@ -26,7 +26,7 @@ shared_module('fu_plugin_redfish', +@@ -26,7 +26,7 @@ ) install_data(['redfish.conf'], @@ -137,11 +128,24 @@ index 5c88504e..7706da71 100644 ) if get_option('tests') +diff --git a/plugins/thunderbolt/meson.build b/plugins/thunderbolt/meson.build +index 42718abf..bc815491 100644 +--- a/plugins/thunderbolt/meson.build ++++ b/plugins/thunderbolt/meson.build +@@ -46,7 +46,7 @@ + ) + + install_data(['thunderbolt.conf'], +- install_dir: join_paths(sysconfdir, 'fwupd') ++ install_dir: join_paths(sysconfdir_install, 'fwupd') + ) + # we use functions from 2.52 in the tests + if get_option('tests') and umockdev.found() and gio.version().version_compare('>= 2.52') diff --git a/plugins/uefi/meson.build b/plugins/uefi/meson.build -index ac9f5dd8..1ab51b5e 100644 +index 45b18d7d..ef8e0b04 100644 --- a/plugins/uefi/meson.build +++ b/plugins/uefi/meson.build -@@ -79,7 +79,7 @@ executable( +@@ -85,7 +85,7 @@ ) install_data(['uefi.conf'], diff --git a/pkgs/os-specific/linux/firmware/fwupd/default.nix b/pkgs/os-specific/linux/firmware/fwupd/default.nix index 75144799d014..1f6a7145b779 100644 --- a/pkgs/os-specific/linux/firmware/fwupd/default.nix +++ b/pkgs/os-specific/linux/firmware/fwupd/default.nix @@ -45,6 +45,7 @@ , freetype , fontconfig , pango +, tpm2-tss , bubblewrap , efibootmgr , flashrom @@ -79,18 +80,18 @@ let # # Currently broken on Aarch64 # haveFlashrom = isx86; - # Experimental in 1.2.10 + # Experimental haveFlashrom = false; in stdenv.mkDerivation rec { pname = "fwupd"; - version = "1.2.10"; + version = "1.3.3"; src = fetchurl { url = "https://people.freedesktop.org/~hughsient/releases/fwupd-${version}.tar.xz"; - sha256 = "0inngs7i48akm9c7fmdsf9zjif595rkaba69rl76jfwfv8r21vjb"; + sha256 = "0nqzqvx8nzflhb4kzvkdcv7kixb50vh6h21kpkd7pjxp942ndzql"; }; outputs = [ "out" "lib" "dev" "devdoc" "man" "installedTests" ]; @@ -137,6 +138,7 @@ stdenv.mkDerivation rec { freetype fontconfig pango + tpm2-tss efivar ] ++ stdenv.lib.optionals haveDell [ libsmbios @@ -146,6 +148,10 @@ stdenv.mkDerivation rec { ./fix-paths.patch ./add-option-for-installation-sysconfdir.patch + # do not require which + # https://github.com/fwupd/fwupd/pull/1568 + ./no-which.patch + # installed tests are installed to different output # we also cannot have fwupd-tests.conf in $out/etc since it would form a cycle (substituteAll { @@ -195,6 +201,7 @@ stdenv.mkDerivation rec { ''; mesonFlags = [ + "-Dgtkdoc=true" "-Dplugin_dummy=true" "-Dudevdir=lib/udev" "-Dsystemdunitdir=lib/systemd/system" @@ -209,8 +216,8 @@ stdenv.mkDerivation rec { "-Dplugin_synaptics=false" ] ++ stdenv.lib.optionals (!haveRedfish) [ "-Dplugin_redfish=false" - ] ++ stdenv.lib.optionals (!haveFlashrom) [ - "-Dplugin_flashrom=false" + ] ++ stdenv.lib.optionals haveFlashrom [ + "-Dplugin_flashrom=true" ]; # TODO: We need to be able to override the directory flags from meson setup hook @@ -231,6 +238,9 @@ stdenv.mkDerivation rec { # 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; # so we need to wrap the executables manually @@ -247,11 +257,15 @@ stdenv.mkDerivation rec { # /etc/fwupd/uefi.conf is created by the services.hardware.fwupd NixOS module passthru = { filesInstalledToEtc = [ + # "fwupd/daemon.conf" # already created by the module + "fwupd/redfish.conf" "fwupd/remotes.d/dell-esrt.conf" "fwupd/remotes.d/lvfs-testing.conf" "fwupd/remotes.d/lvfs.conf" "fwupd/remotes.d/vendor.conf" "fwupd/remotes.d/vendor-directory.conf" + "fwupd/thunderbolt.conf" + # "fwupd/uefi.conf" # already created by the module "pki/fwupd/GPG-KEY-Hughski-Limited" "pki/fwupd/GPG-KEY-Linux-Foundation-Firmware" "pki/fwupd/GPG-KEY-Linux-Vendor-Firmware-Service" @@ -262,12 +276,12 @@ stdenv.mkDerivation rec { ]; tests = { - installedTests = nixosTests.fwupd; + installedTests = nixosTests.installed-tests.fwupd; }; }; meta = with stdenv.lib; { - homepage = https://fwupd.org/; + homepage = "https://fwupd.org/"; maintainers = with maintainers; [ jtojnar ]; license = [ licenses.gpl2 ]; platforms = platforms.linux; diff --git a/pkgs/os-specific/linux/firmware/fwupd/fix-paths.patch b/pkgs/os-specific/linux/firmware/fwupd/fix-paths.patch index 9efd7b8d6abd..474b250097d0 100644 --- a/pkgs/os-specific/linux/firmware/fwupd/fix-paths.patch +++ b/pkgs/os-specific/linux/firmware/fwupd/fix-paths.patch @@ -6,14 +6,3 @@ index c7a430c0..e69de29b 100644 -install_data('README.md', - install_dir : join_paths(localstatedir, 'lib', 'fwupd', 'builder') -) -diff --git a/meson_post_install.sh b/meson_post_install.sh -index 0cbb6f41..d757a81a 100755 ---- a/meson_post_install.sh -+++ b/meson_post_install.sh -@@ -11,6 +11,4 @@ LOCALSTATEDIR=$2 - echo 'Updating systemd deps' - mkdir -p ${DESTDIR}${SYSTEMDUNITDIR}/system-update.target.wants - ln -sf ../fwupd-offline-update.service ${DESTDIR}${SYSTEMDUNITDIR}/system-update.target.wants/fwupd-offline-update.service -- echo 'Creating stateful directory' -- mkdir -p ${DESTDIR}${LOCALSTATEDIR}/lib/fwupd - #fi diff --git a/pkgs/os-specific/linux/firmware/fwupd/no-which.patch b/pkgs/os-specific/linux/firmware/fwupd/no-which.patch new file mode 100644 index 000000000000..c0c65e42539d --- /dev/null +++ b/pkgs/os-specific/linux/firmware/fwupd/no-which.patch @@ -0,0 +1,31 @@ +--- a/plugins/uefi/efi/generate_binary.sh ++++ b/plugins/uefi/efi/generate_binary.sh +@@ -1,9 +1,9 @@ + #!/bin/sh + output=$2 +-objcopy_cmd=$(which objcopy) +-genpeimg_cmd=$(which genpeimg) ++objcopy_cmd=$(command -v objcopy) ++genpeimg_cmd=$(command -v genpeimg) + +-$objcopy_cmd -j .text \ ++"$objcopy_cmd" -j .text \ + -j .sdata \ + -j .data \ + -j .dynamic \ +@@ -11,7 +11,7 @@ + -j .rel \ + -j .rela \ + -j .reloc \ +- $* ++ "$@" + + if [ -n "${genpeimg_cmd}" ]; then + $genpeimg_cmd -d \ +@@ -20,5 +20,5 @@ + +n \ + -d \ + +s \ +- $output ++ "$output" + fi diff --git a/pkgs/os-specific/linux/firmware/raspberrypi/default.nix b/pkgs/os-specific/linux/firmware/raspberrypi/default.nix index 98cf56f799ef..a8c4bd559d3c 100644 --- a/pkgs/os-specific/linux/firmware/raspberrypi/default.nix +++ b/pkgs/os-specific/linux/firmware/raspberrypi/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "raspberrypi-firmware"; - version = "1.20190819"; + version = "1.20190925"; src = fetchFromGitHub { owner = "raspberrypi"; repo = "firmware"; rev = version; - sha256 = "0qzpc092qg748i5s23xa1jk6qpga9wn0441r2awsz0apkysqx5fj"; + sha256 = "0xyj3f04dcfnl9hp8hakgwcb1msqh7934n0pclcmzy47xjkz7ris"; }; installPhase = '' |