124 lines
2.9 KiB
Python
124 lines
2.9 KiB
Python
import os
|
|
|
|
from lib import cpp, arch
|
|
from lib.make import *
|
|
|
|
upstream_version = "3.2.25"
|
|
|
|
version(upstream_version)
|
|
source_url("https://www.infradead.org/~tgr/libnl/files/libnl-3.2.25.tar.gz")
|
|
|
|
builddep("shortcut/c")
|
|
builddep("shortcut/autotools")
|
|
builddep("flex")
|
|
builddep("bison")
|
|
builddep(f"linux-dev @{arch.get_target()}")
|
|
|
|
def build():
|
|
cpp.configure([
|
|
"--prefix=/",
|
|
"--sysconfdir=/var/config",
|
|
f"--includedir={get_prefix('libnl-dev')}/include",
|
|
])
|
|
cpp.make()
|
|
cpp.make_install()
|
|
|
|
|
|
on_build(build)
|
|
|
|
SO_SUFFIX = ["", ".200", ".200.20.0"]
|
|
|
|
|
|
def pack_core(composer):
|
|
composer.makedir("lib")
|
|
for i in SO_SUFFIX:
|
|
composer.addfile(f"lib/libnl-3.so{i}", f"lib/libnl-3.so{i}")
|
|
|
|
package("libnl-core")
|
|
dep("semi-libc @same-arch")
|
|
on_pack(pack_core)
|
|
|
|
def pack_genl(composer):
|
|
composer.makedir("lib")
|
|
for i in SO_SUFFIX:
|
|
composer.addfile(f"lib/libnl-genl-3.so{i}", f"lib/libnl-genl-3.so{i}")
|
|
|
|
package("libnl-genl")
|
|
dep("libnl-core (same)")
|
|
on_pack(pack_genl)
|
|
|
|
def pack_idiag(composer):
|
|
composer.makedir("lib")
|
|
for i in SO_SUFFIX:
|
|
composer.addfile(f"lib/libnl-idiag-3.so{i}", f"lib/libnl-idiag-3.so{i}")
|
|
|
|
package("libnl-idiag")
|
|
dep("libnl-core (same)")
|
|
on_pack(pack_idiag)
|
|
|
|
def pack_route(composer):
|
|
composer.makedir("lib")
|
|
for i in SO_SUFFIX:
|
|
composer.addfile(f"lib/libnl-route-3.so{i}", f"lib/libnl-route-3.so{i}")
|
|
|
|
package("libnl-route")
|
|
dep("libnl-core (same)")
|
|
on_pack(pack_route)
|
|
|
|
def pack_nf(composer):
|
|
composer.makedir("lib")
|
|
for i in SO_SUFFIX:
|
|
composer.addfile(f"lib/libnl-nf-3.so{i}", f"lib/libnl-nf-3.so{i}")
|
|
|
|
package("libnl-nf")
|
|
dep("libnl-core (same)")
|
|
dep("libnl-route (same)")
|
|
on_pack(pack_nf)
|
|
|
|
def pack_cli(composer):
|
|
composer.makedir("lib")
|
|
for i in SO_SUFFIX:
|
|
composer.addfile(f"lib/libnl-cli-3.so{i}", f"lib/libnl-cli-3.so{i}")
|
|
|
|
package("libnl-cli")
|
|
dep("libnl-core (same)")
|
|
dep("libnl-nf (same)")
|
|
dep("libnl-route (same)")
|
|
on_pack(pack_cli)
|
|
|
|
def pack_libnl(composer):
|
|
composer.makedir("lib")
|
|
for soname in ["-3", "-nf-3", "-route-3", "-idiag-3", "-genl-3"]:
|
|
if soname == "-3":
|
|
pkgname = "libnl-core"
|
|
elif "nf" in soname:
|
|
pkgname = "libnl-nf"
|
|
elif "route" in soname:
|
|
pkgname = "libnl-route"
|
|
elif "idiag" in soname:
|
|
pkgname = "libnl-idiag"
|
|
elif "genl" in soname:
|
|
pkgname = "libnl-genl"
|
|
for suffix in SO_SUFFIX:
|
|
fullname = f"libnl{soname}.so{suffix}"
|
|
os.symlink(
|
|
f"/pkg/{pkgname}={upstream_version}@{arch.get_target()}/lib/{fullname}",
|
|
f"{composer.workdir}/bundle/lib/{fullname}",
|
|
)
|
|
|
|
package("libnl")
|
|
dep("libnl-core (same)")
|
|
dep("libnl-nf (same)")
|
|
dep("libnl-route (same)")
|
|
dep("libnl-idiag (same)")
|
|
dep("libnl-genl (same)")
|
|
on_pack(pack_libnl)
|
|
|
|
package("libnl-tools")
|
|
dep("libnl (same)")
|
|
cpp.use_auto_pack(["bin"])
|
|
|
|
package("libnl-dev")
|
|
dep("libnl (same)")
|
|
cpp.use_auto_pack(["dev"])
|