forked from semios/ports
61 lines
1.6 KiB
Python
61 lines
1.6 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_managed("github://kmod-project/kmod#v34")
|
|
|
|
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"-Dlibdir={get_prefix('libkmod')}/lib",
|
|
f"-Dincludedir={get_prefix('libkmod-dev')}/include",
|
|
f"-Dbindir={get_prefix('kmod')}/bin",
|
|
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)")
|
|
dep("libzstd-dev @same-arch")
|
|
dep("libz-dev @same-arch")
|
|
dep("liblzma-dev @same-arch")
|