import glob from lib import arch, cpp from lib.make import * version("1.7.2") description("Linux PAM (Pluggable Authentication Modules for Linux) project") maintainer("sisungo ") source_url("https://github.com/linux-pam/linux-pam/releases/download/v1.7.2/Linux-PAM-1.7.2.tar.xz") supported_arch(lambda x: "linux" in x) builddep("shortcut/c") builddep("shortcut/meson") builddep("linux-dev @target") def build(): cpp.meson_setup([ f"--libdir={get_prefix('linux-pam')}/lib", f"--includedir={get_prefix('linux-pam-dev')}/include", "--sysconfdir=/var/config", "-Di18n=disabled", "-Daudit=disabled", "-Deconf=disabled", "-Dlogind=disabled", "-Delogind=disabled", "-Dopenssl=disabled", "-Dpwaccess=disabled", "-Dselinux=disabled", "-Dnis=disabled", f"-Dsecuredir=/lib/{arch.get_target()}/pam", f"-Dvendordir={get_prefix('linux-pam')}/share/pam", "-Dpam_userdb=disabled", "-Dpam_unix=disabled", ]) cpp.meson_compile() cpp.meson_install() on_build(build) def pack(composer): composer.makedir("lib") for i in glob.glob("lib/*.so*"): composer.addfile(i) composer.add_dir(f"lib/{arch.get_target()}/pam", "linux/pam") composer.makedir("share") composer.add_dir("share/pam") composer.add_dir("sbin", "bin") package("linux-pam") dep("semi-libc @same-arch") on_pack(pack) package("linux-pam-dev") dep("linux-pam (same)") dep("semi-libc-dev @same-arch") cpp.use_auto_pack(["dev"])