diff options
Diffstat (limited to 'pkgs/os-specific/linux/firmware')
-rw-r--r-- | pkgs/os-specific/linux/firmware/broadcom-bt-firmware/default.nix | 6 | ||||
-rw-r--r-- | pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix | 8 | ||||
-rw-r--r-- | pkgs/os-specific/linux/firmware/fwupd/default.nix | 48 | ||||
-rw-r--r-- | pkgs/os-specific/linux/firmware/fwupd/fix-paths.patch (renamed from pkgs/os-specific/linux/firmware/fwupd/fix-missing-deps.patch) | 25 | ||||
-rw-r--r-- | pkgs/os-specific/linux/firmware/intel2200BGFirmware/default.nix | 36 | ||||
-rw-r--r-- | pkgs/os-specific/linux/firmware/zd1211/default.nix | 21 |
6 files changed, 74 insertions, 70 deletions
diff --git a/pkgs/os-specific/linux/firmware/broadcom-bt-firmware/default.nix b/pkgs/os-specific/linux/firmware/broadcom-bt-firmware/default.nix index 01609c8779dd..a57a6f1d70f6 100644 --- a/pkgs/os-specific/linux/firmware/broadcom-bt-firmware/default.nix +++ b/pkgs/os-specific/linux/firmware/broadcom-bt-firmware/default.nix @@ -27,11 +27,15 @@ stdenv.mkDerivation rec { linkname=$(basename $filename | awk 'match($0,/^(BCM)[0-9A-Z]+(-[0-9a-z]{4}-[0-9a-z]{4}\.hcd)$/,c) { print c[1]c[2] }') if ! [ -z $linkname ] then - ln -s -T $filename $out/lib/firmware/brcm/$linkname + ln -s --relative -T $filename $out/lib/firmware/brcm/$linkname fi done ''; + outputHashMode = "recursive"; + outputHashAlgo = "sha256"; + outputHash = "042frb2dmrqfj8q83h5p769q6hg2b3i8fgnyvs9r9a71z7pbsagq"; + meta = with stdenv.lib; { description = "Firmware for Broadcom WIDCOMM® Bluetooth devices"; homepage = http://www.catalog.update.microsoft.com/Search.aspx?q=Broadcom+bluetooth; 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 47d56cbf7967..47fe2e446c3e 100644 --- a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix +++ b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix @@ -10,15 +10,15 @@ stdenv.mkDerivation rec { sha256 = "110vxgahyx5dvylqrxsm5cmx4a32cl2zchvm6cgc270jz75fg7wd"; }; - preInstall = '' - mkdir -p $out - ''; - installFlags = [ "DESTDIR=$(out)" ]; # Firmware blobs do not need fixing and should not be modified dontFixup = true; + outputHashMode = "recursive"; + outputHashAlgo = "sha256"; + outputHash = "0r2g91hc7csp2fbp2ny4s4rwv0mw2m130gpnisxnhzi05hkwki66"; + meta = with stdenv.lib; { description = "Binary firmware collection packaged by kernel.org"; homepage = http://packages.debian.org/sid/firmware-linux-nonfree; diff --git a/pkgs/os-specific/linux/firmware/fwupd/default.nix b/pkgs/os-specific/linux/firmware/fwupd/default.nix index 646c18860c5d..fec1b3ed6f04 100644 --- a/pkgs/os-specific/linux/firmware/fwupd/default.nix +++ b/pkgs/os-specific/linux/firmware/fwupd/default.nix @@ -1,40 +1,48 @@ { stdenv, fetchurl, fetchpatch, gtk-doc, pkgconfig, gobjectIntrospection, intltool , libgudev, polkit, appstream-glib, gusb, sqlite, libarchive, glib-networking , libsoup, help2man, gpgme, libxslt, elfutils, libsmbios, efivar, glibcLocales -, fwupdate, libyaml, valgrind, meson, libuuid, colord, docbook_xml_dtd_43, docbook_xsl -, ninja, gcab, gnutls, python3, wrapGAppsHook, json-glib -, shared-mime-info, umockdev +, gnu-efi, libyaml, valgrind, meson, libuuid, colord, docbook_xml_dtd_43, docbook_xsl +, ninja, gcab, gnutls, python3, wrapGAppsHook, json-glib, bash-completion +, shared-mime-info, umockdev, vala, makeFontsConf, freefont_ttf }: let # Updating? Keep $out/etc synchronized with passthru.filesInstalledToEtc - version = "1.0.5"; + version = "1.1.0"; python = python3.withPackages (p: with p; [ pygobject3 pycairo pillow ]); installedTestsPython = python3.withPackages (p: with p; [ pygobject3 requests ]); + + fontsConf = makeFontsConf { + fontDirectories = [ freefont_ttf ]; + }; in stdenv.mkDerivation { name = "fwupd-${version}"; src = fetchurl { url = "https://people.freedesktop.org/~hughsient/releases/fwupd-${version}.tar.xz"; - sha256 = "0wm195vkf6x1kg1dz0sbfwpdcn9f6638l7vyzplcfrb3v07pqxpq"; + sha256 = "0flfpzb0fxgixxddpwak4s63i35kr915pdfq5mfrnxq4bwcj24yd"; }; - outputs = [ "out" "devdoc" "man" "installedTests" ]; + outputs = [ "out" "lib" "dev" "devdoc" "man" "installedTests" ]; nativeBuildInputs = [ meson ninja gtk-doc pkgconfig gobjectIntrospection intltool glibcLocales shared-mime-info - valgrind gcab docbook_xml_dtd_43 docbook_xsl help2man libxslt python wrapGAppsHook + valgrind gcab docbook_xml_dtd_43 docbook_xsl help2man libxslt python wrapGAppsHook vala ]; buildInputs = [ - polkit appstream-glib gusb sqlite libarchive libsoup elfutils libsmbios fwupdate libyaml + polkit appstream-glib gusb sqlite libarchive libsoup elfutils libsmbios gnu-efi libyaml libgudev colord gpgme libuuid gnutls glib-networking efivar json-glib umockdev + bash-completion ]; LC_ALL = "en_US.UTF-8"; # For po/make-images patches = [ - ./fix-missing-deps.patch + ./fix-paths.patch + + # Allow localedir in lib output + # https://github.com/hughsie/fwupd/pull/626 (fetchpatch { - url = https://github.com/hughsie/fwupd/commit/767210e4b1401d5d5bb7ac1e7c052a60b6529d88.patch; - sha256 = "00adfabxpgdg74jx7i6jihhh8njjk2r7v3fxqs4scj3vn06k5fmw"; + url = https://github.com/hughsie/fwupd/commit/9822c387ea13419a0eb2624fcd13d50735cb89f8.patch; + sha256 = "12bk6ga2hvsswpc4gal95l2z5a6gp3vdjq16zm2npligcvf37b6i"; }) ]; @@ -47,7 +55,8 @@ in stdenv.mkDerivation { substituteInPlace data/installed-tests/fwupdmgr.test.in --subst-var-by installedtestsdir "$installedTests/share/installed-tests/fwupd" ''; - doCheck = true; + # /etc/os-release not available in sandbox + # doCheck = true; preFixup = '' gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "${shared-mime-info}/share") @@ -55,18 +64,29 @@ in stdenv.mkDerivation { mesonFlags = [ "-Dplugin_dummy=true" - "-Dbootdir=/boot" "-Dudevdir=lib/udev" "-Dsystemdunitdir=lib/systemd/system" + "-Defi-libdir=${gnu-efi}/lib" + "-Defi-ldsdir=${gnu-efi}/lib" + "-Defi-includedir=${gnu-efi}/include/efi" "--localstatedir=/var" ]; + # TODO: We need to be able to override the directory flags from meson setup hook + # better – declaring them multiple times might become an error. + preConfigure = '' + mesonFlagsArray+=("--libexecdir=$out/libexec") + ''; + postInstall = '' moveToOutput share/installed-tests "$installedTests" wrapProgram $installedTests/share/installed-tests/fwupd/hardware.py \ --prefix GI_TYPELIB_PATH : "$out/lib/girepository-1.0:${libsoup}/lib/girepository-1.0" ''; + FONTCONFIG_FILE = fontsConf; # Fontconfig error: Cannot load default config file + + # /etc/fwupd/uefi.conf is created by the services.hardware.fwupd NixOS module passthru = { filesInstalledToEtc = [ "fwupd/remotes.d/fwupd.conf" @@ -74,8 +94,10 @@ in stdenv.mkDerivation { "fwupd/remotes.d/lvfs.conf" "fwupd/remotes.d/vendor.conf" "pki/fwupd/GPG-KEY-Hughski-Limited" + "pki/fwupd/GPG-KEY-Linux-Foundation-Metadata" "pki/fwupd/GPG-KEY-Linux-Vendor-Firmware-Service" "pki/fwupd/LVFS-CA.pem" + "pki/fwupd-metadata/GPG-KEY-Linux-Foundation-Metadata" "pki/fwupd-metadata/GPG-KEY-Linux-Vendor-Firmware-Service" "pki/fwupd-metadata/LVFS-CA.pem" ]; diff --git a/pkgs/os-specific/linux/firmware/fwupd/fix-missing-deps.patch b/pkgs/os-specific/linux/firmware/fwupd/fix-paths.patch index d1d7c06027f9..1cd9eb0e8f17 100644 --- a/pkgs/os-specific/linux/firmware/fwupd/fix-missing-deps.patch +++ b/pkgs/os-specific/linux/firmware/fwupd/fix-paths.patch @@ -6,7 +6,7 @@ -) --- a/data/meson.build +++ b/data/meson.build -@@ -7,16 +7,12 @@ +@@ -8,16 +8,12 @@ subdir('installed-tests') endif @@ -26,8 +26,8 @@ install_data(['metadata.xml'], --- a/data/pki/meson.build +++ b/data/pki/meson.build -@@ -3,13 +3,13 @@ - 'GPG-KEY-Hughski-Limited', +@@ -4,14 +4,14 @@ + 'GPG-KEY-Linux-Foundation-Firmware', 'GPG-KEY-Linux-Vendor-Firmware-Service', ], - install_dir : join_paths(sysconfdir, 'pki', 'fwupd') @@ -35,6 +35,7 @@ ) install_data([ + 'GPG-KEY-Linux-Foundation-Metadata', 'GPG-KEY-Linux-Vendor-Firmware-Service', ], - install_dir : join_paths(sysconfdir, 'pki', 'fwupd-metadata') @@ -42,7 +43,7 @@ ) endif -@@ -17,12 +17,12 @@ +@@ -19,12 +19,12 @@ install_data([ 'LVFS-CA.pem', ], @@ -66,9 +67,9 @@ - install_dir : join_paths(sysconfdir, 'fwupd', 'remotes.d') + install_dir : join_paths(get_option('prefix'), 'etc', 'fwupd', 'remotes.d') ) - endif - -@@ -19,12 +19,12 @@ + i18n.merge_file( + input: 'lvfs.metainfo.xml', +@@ -37,12 +37,12 @@ output : 'fwupd.conf', configuration : con2, install: true, @@ -92,13 +93,3 @@ - echo 'Creating stateful directory' - mkdir -p ${DESTDIR}${LOCALSTATEDIR}/lib/fwupd #fi ---- a/po/make-images.sh -+++ b/po/make-images.sh -@@ -7,6 +7,7 @@ - # - install -m 0755 -d ${MESON_INSTALL_DESTDIR_PREFIX}/share/locale/ - ${MESON_SOURCE_ROOT}/po/make-images "Installing firmware update…" ${MESON_INSTALL_DESTDIR_PREFIX}/share/locale/ ${MESON_SOURCE_ROOT}/po/LINGUAS -+shopt -s nullglob - for x in ${MESON_INSTALL_DESTDIR_PREFIX}/share/locale/*/LC_IMAGES/*.bmp ; do - gzip -f ${x} - done diff --git a/pkgs/os-specific/linux/firmware/intel2200BGFirmware/default.nix b/pkgs/os-specific/linux/firmware/intel2200BGFirmware/default.nix index bf8bcf387261..372be2d71f2c 100644 --- a/pkgs/os-specific/linux/firmware/intel2200BGFirmware/default.nix +++ b/pkgs/os-specific/linux/firmware/intel2200BGFirmware/default.nix @@ -1,35 +1,25 @@ -{ stdenv, fetchurl }: +{ lib, fetchzip }: let version = "3.1"; in -stdenv.mkDerivation { +fetchzip { name = "intel2200BGFirmware-${version}"; + url = "https://src.fedoraproject.org/repo/pkgs/ipw2200-firmware/ipw2200-fw-${version}.tgz/eaba788643c7cc7483dd67ace70f6e99/ipw2200-fw-${version}.tgz"; + sha256 = "0zjyjndyc401pn5x5lgypxdal21n82ymi3vbb2ja1b89yszj432b"; - src = fetchurl { - url = "https://src.fedoraproject.org/repo/pkgs/ipw2200-firmware/ipw2200-fw-${version}.tgz/eaba788643c7cc7483dd67ace70f6e99/ipw2200-fw-${version}.tgz"; - sha256 = "c6818c11c18cc030d55ff83f64b2bad8feef485e7742f84f94a61d811a6258bd"; - }; - - phases = [ "unpackPhase" "installPhase" ]; - - installPhase = '' - mkdir -p $out/lib/firmware - for fw in \ - ipw2200-bss.fw \ - ipw2200-ibss.fw \ - ipw2200-sniffer.fw - do - cp -f $fw $out/lib/firmware/$fw - done - mkdir -p $out/share/doc/intel2200BGFirmware - cp -f LICENSE.ipw2200-fw $out/share/doc/intel2200BGFirmware/LICENSE + postFetch = '' + tar -xzvf $downloadedFile --strip-components=1 + install -D -m644 ipw2200-bss.fw $out/lib/firmware/ipw2200-bss.fw + install -D -m644 ipw2200-ibss.fw $out/lib/firmware/ipw2200-ibss.fw + install -D -m644 ipw2200-sniffer.fw $out/lib/firmware/ipw2200-sniffer.fw + install -D -m644 LICENSE.ipw2200-fw $out/share/doc/intel2200BGFirmware/LICENSE ''; - meta = with stdenv.lib; { + meta = with lib; { description = "Firmware for Intel 2200BG cards"; homepage = http://ipw2200.sourceforge.net/firmware.php; - license = stdenv.lib.licenses.unfreeRedistributableFirmware; + license = licenses.unfreeRedistributableFirmware; maintainers = with maintainers; [ sternenseemann ]; - platforms = with platforms; linux; + platforms = platforms.linux; }; } diff --git a/pkgs/os-specific/linux/firmware/zd1211/default.nix b/pkgs/os-specific/linux/firmware/zd1211/default.nix index e28a85ab0b27..2c9db47539f7 100644 --- a/pkgs/os-specific/linux/firmware/zd1211/default.nix +++ b/pkgs/os-specific/linux/firmware/zd1211/default.nix @@ -1,23 +1,20 @@ -{ stdenv, fetchurl }: +{ stdenv, fetchzip }: -stdenv.mkDerivation rec { +let pname = "zd1211-firmware"; version = "1.5"; - +in fetchzip rec { name = "${pname}-${version}"; + url = "mirror://sourceforge/zd1211/${name}.tar.bz2"; - src = fetchurl { - url = "mirror://sourceforge/zd1211/${name}.tar.bz2"; - sha256 = "04ibs0qw8bh6h6zmm5iz6lddgknwhsjq8ib3gyck6a7psw83h7gi"; - }; - - dontBuild = true; - - installPhase = '' + postFetch = '' + tar -xjvf $downloadedFile mkdir -p $out/lib/firmware/zd1211 - cp * $out/lib/firmware/zd1211 + cp zd1211-firmware/* $out/lib/firmware/zd1211 ''; + sha256 = "0sj2zl3r0549mjz37xy6iilm1hm7ak5ax02gwrn81r5yvphqzd52"; + meta = { description = "Firmware for the ZyDAS ZD1211(b) 802.11a/b/g USB WLAN chip"; homepage = https://sourceforge.net/projects/zd1211/; |