lib: add fetchb4
This commit is contained in:
parent
517e0fe22d
commit
481871e5af
19
README.md
19
README.md
|
@ -182,6 +182,25 @@ pkgs.fetchFromSteam {
|
|||
}
|
||||
```
|
||||
|
||||
### [`fetchb4`](./lib/fetchb4)
|
||||
|
||||
A fetcher that uses `b4` to download patchsets from <https://lore.kernel.org> so that they can be applied in `boot.kernelPatches`
|
||||
|
||||
Usage:
|
||||
|
||||
```nix
|
||||
pkgs.fetchb4 {
|
||||
msgid = "2024042069.1337-example@example";
|
||||
hash = pkgs.lib.fakeHash;
|
||||
|
||||
# optional args
|
||||
version = "3"; # default: latest
|
||||
single_message = true; # default: false
|
||||
}
|
||||
```
|
||||
|
||||
note that not specifying a version may make cause future invocations to return different output if a newer version is sent to the thread
|
||||
|
||||
### [`mkNginxServer`](./lib/dev-nginx)
|
||||
|
||||
creates a shell script that launches nginx in the foreground as the current user. the nginx is
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
nixpkgs.overlays = [
|
||||
(final: prev: {
|
||||
fetchFromSteam = prev.callPackage ./lib/fetchsteam {};
|
||||
fetchb4 = prev.callPackage ./lib/fetchb4 {};
|
||||
|
||||
gitSource = prev.callPackage ./lib/git-source {};
|
||||
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
if [ -e "$NIX_ATTRS_SH_FILE" ]; then . "$NIX_ATTRS_SH_FILE"; elif [ -f .attrs.sh ]; then . .attrs.sh; fi
|
||||
source $stdenv/setup
|
||||
|
||||
echo "Downloading kernel patch $msgid into $out"
|
||||
export HOME="/tmp"
|
||||
PYTHONHASHSEED=0 b4 am -C -T $b4_flags -o- "$msgid" > "$out"
|
|
@ -0,0 +1,24 @@
|
|||
{ lib, stdenvNoCC, b4, git, cacert }:
|
||||
|
||||
{
|
||||
msgid,
|
||||
hash,
|
||||
single_message ? false,
|
||||
version ? null
|
||||
}: stdenvNoCC.mkDerivation {
|
||||
name = "patch-${msgid}";
|
||||
builder = ./builder.sh;
|
||||
|
||||
inherit msgid;
|
||||
b4_flags = with lib.strings; concatStringsSep " " [
|
||||
(optionalString single_message "--single-message")
|
||||
(optionalString (version != null) "--use-version ${version}")
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ b4 git cacert ];
|
||||
SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
|
||||
|
||||
outputHashMode = "recursive";
|
||||
outputHash = hash;
|
||||
preferLocalBuild = true;
|
||||
}
|
Loading…
Reference in New Issue