diff --git a/packages/kmod/brioche.lock b/packages/kmod/brioche.lock new file mode 100644 index 0000000..12dee34 --- /dev/null +++ b/packages/kmod/brioche.lock @@ -0,0 +1,9 @@ +{ + "dependencies": {}, + "downloads": { + "https://www.kernel.org/pub/linux/utils/kernel/kmod/kmod-33.tar.xz": { + "type": "sha256", + "value": "dc768b3155172091f56dc69430b5481f2d76ecd9ccb54ead8c2540dbcf5ea9bc" + } + } +} diff --git a/packages/kmod/project.bri b/packages/kmod/project.bri new file mode 100644 index 0000000..f15c2c5 --- /dev/null +++ b/packages/kmod/project.bri @@ -0,0 +1,43 @@ +import * as std from "std"; +import scdoc from "scdoc"; +import openssl from "openssl"; + +export const project = { + name: "kmod", + version: "33", +}; + +const source = Brioche.download( + `https://www.kernel.org/pub/linux/utils/kernel/kmod/kmod-${project.version}.tar.xz`, +) + .unarchive("tar", "xz") + .peel(); + +export default function kmod(): std.Recipe { + return std.runBash` + ./configure \ + --prefix=/ \ + --sysconfdir=/etc \ + --with-zstd \ + --with-xz \ + --with-zlib \ + --with-openssl \ + CFLAGS="-g -O2" + make + make install DESTDIR="$BRIOCHE_OUTPUT" + ` + .workDir(source) + .dependencies(std.toolchain(), scdoc(), openssl()) + .toDirectory(); +} + +export function test() { + return std.runBash` + depmod --version | tee -a "$BRIOCHE_OUTPUT" + insmod --version | tee -a "$BRIOCHE_OUTPUT" + lsmod | tee -a "$BRIOCHE_OUTPUT" + modinfo --version | tee -a "$BRIOCHE_OUTPUT" + modprobe --version | tee -a "$BRIOCHE_OUTPUT" + rmmod --version | tee -a "$BRIOCHE_OUTPUT" + `.dependencies(kmod()); +}