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 dc2a5278fdc2..206787ecb8b7 100644 --- a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix +++ b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix @@ -2,51 +2,12 @@ stdenv.mkDerivation rec { name = "firmware-linux-nonfree-${version}"; - version = "2018-03-20-${src.iwlRev}"; + version = "2018-03-20"; - # The src runCommand automates the process of building a merged repository of both - # - # https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/ - # https://git.kernel.org/cgit/linux/kernel/git/iwlwifi/linux-firmware.git/ - # - # This gives us up to date iwlwifi firmware as well as - # the usual set of firmware. firmware/linux-firmware usually lags kernel releases - # so iwlwifi cards will fail to load on newly released kernels. - # - # To update, go to the above repositories and look for latest tags / commits, then - # update version to the more recent commit date - - src = runCommand "firmware-linux-nonfree-src-merged-${version}" { - shallowSince = "2017-10-01"; - baseRev = "44476f2465dac9c22bce90da66e86b2b56ba34f0"; - iwlRev = "iwlwifi-fw-2018-03-02"; - - # When updating this, you need to let it run with a wrong hash, in order to find out the desired hash - # randomly mutate the hash to break out of fixed hash, when updating - outputHash = "1gh5a2km33jj151j3q7mgkjzzhaaxlqxbb53n4ff46q658gv0wma"; - - outputHashAlgo = "sha256"; - outputHashMode = "recursive"; - - # Doing the download on a remote machine just duplicates network - # traffic, so don't do that. - preferLocalBuild = true; - - nativeBuildInputs = [ cacert git gnupg ]; - } '' - git init src && ( - cd src - git config user.email "build-daemon@nixos.org" - git config user.name "Nixos Build Daemon $name" - git remote add base https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git - git remote add iwl https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/linux-firmware.git - git fetch --shallow-since=$shallowSince base - git fetch --shallow-since=$shallowSince iwl - git checkout -b work $baseRev - git merge $iwlRev) - rm -rf src/.git - cp -a src $out - ''; + src = fetchgit { + url = "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git"; + sha256 = "1gh5a2km33jj151j3q7mgkjzzhaaxlqxbb53n4ff46q658gv0wma"; + }; preInstall = '' mkdir -p $out