from lib import cpp, arch from lib.make import * version("1.34") description("a set of tools to handle common tasks with Linux kernel modules like insert, remove, list, check properties, resolve dependencies and aliases") maintainer("sisungo ") source_url("https://github.com/kmod-project/kmod/archive/refs/tags/v34.tar.gz") builddep("shortcut/c") builddep("shortcut/meson") builddep(f"linux-dev @{arch.get_target()}") builddep(f"libzstd-dev @{arch.get_target()}") builddep(f"aws-lc-dev @{arch.get_target()}") builddep(f"liblzma-dev @{arch.get_target()}") builddep(f"libz-ng-dev @{arch.get_target()}") builddep("pkgconf") def build(): cpp.meson_setup([ "-Dprefix=/", f"-Ddistconfdir={get_prefix('libkmod')}/share", "-Dmoduledir=/lib/lkm", "-Dtools=true", "-Ddlopen=all", "-Dmanpages=false", ]) cpp.meson_compile() cpp.meson_install() on_build(build) package("libkmod") cpp.use_auto_pack(["lib"]) dep("semi-libc @same-arch") dep("libcrypto @same-arch") recommend("libzstd @same-arch") recommend("libz @same-arch") recommend("liblzma @same-arch") package("kmod") cpp.use_auto_pack(["bin"]) dep("libkmod (same)") link("bin/kmod", "/bin/depmod") link("bin/kmod", "/bin/insmod") link("bin/kmod", "/bin/lsmod") link("bin/kmod", "/bin/modinfo") link("bin/kmod", "/bin/modprobe") link("bin/kmod", "/bin/rmmod") package("libkmod-dev") cpp.use_auto_pack(["dev"]) dep("libkmod (same)")