diff --git a/pkgs/by-name/li/linux-scripts/package.nix b/pkgs/by-name/li/linux-scripts/package.nix new file mode 100644 index 000000000000..f317538be7e7 --- /dev/null +++ b/pkgs/by-name/li/linux-scripts/package.nix @@ -0,0 +1,64 @@ +{ lib +, linuxHeaders # Linux source tree +, makeWrapper +, stdenvNoCC + +, binutils +, coreutils +, gnugrep + + # decompressors for possible kernel image formats +, bzip2 +, gzip +, lz4 +, lzop +, xz +, zstd +}: + +let + commonDeps = [ + binutils + coreutils + gnugrep + gzip + xz + bzip2 + lzop + lz4 + zstd + ]; + + toWrapScriptLines = scriptName: '' + install -Dm 0755 scripts/${scriptName} $out/bin/${scriptName} + wrapProgram $out/bin/${scriptName} --prefix PATH : ${lib.makeBinPath commonDeps} + ''; +in +stdenvNoCC.mkDerivation +{ + inherit (linuxHeaders) version; + pname = "linux-scripts"; + + # These scripts will rarely change and are usually not bound to a specific + # version of Linux. So it is okay to just use whatever Linux version comes + # from `linuxHeaders. + src = linuxHeaders.src; + + nativeBuildInputs = [ makeWrapper ]; + + dontConfigure = true; + dontBuild = true; + + installPhase = '' + ${toWrapScriptLines "extract-ikconfig"} + ${toWrapScriptLines "extract-vmlinux"} + ''; + + meta = with lib; { + description = "Standalone scripts from /scripts"; + homepage = "https://www.kernel.org/"; + license = licenses.gpl2Only; + maintainers = [ maintainers.phip1611 ]; + platforms = platforms.all; + }; +}