55 lines
1.4 KiB
Python
55 lines
1.4 KiB
Python
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 <[email protected]>")
|
|
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)")
|