import os from lib.make import * from lib import cpp version("5.3") description("the Bourne Again SHell") maintainer("sisungo ") source_url("https://ftp.gnu.org/gnu/bash/bash-5.3.tar.gz") builddep("shortcut/c") builddep("shortcut/autotools") builddep(f"libncurses-dev @{arch.get_target()}") def build(): cpp.configure([ f"--prefix={get_prefix('bash')}", f"--datarootdir={get_prefix('bash-doc')}/share", f"--localedir={get_prefix('bash')}/share/locale", "--enable-alias", "--enable-alt-array-implementation", "--enable-arith-for-command", "--enable-array-variables", "--enable-bang-history", "--enable-brace-expansion", "--enable-casemod-attributes", "--enable-casemod-expansions", "--enable-command-timing", "--enable-cond-command", "--enable-cond-regexp", "--enable-coprocesses", "--enable-directory-stack", "--enable-dparen-arithmetic", "--enable-extended-glob", "--enable-function-import", "--enable-glob-asciiranges-default", "--enable-help-builtin", "--enable-history", "--enable-job-control", "--enable-multibyte", "--enable-net-redirections", "--enable-process-substitution", "--enable-progcomp", "--enable-prompt-string-decoding", "--enable-readline", "--enable-restricted", "--enable-select", "--enable-separate-helpfiles", "--enable-single-help-strings", "--enable-translatable-strings", "--without-bash-malloc", ]) cpp.make() cpp.make_install() on_build(build) def pack_bash(composer): composer.add_dir("bin", "bin") composer.makedir("lib") composer.add_dir("lib/bash", "lib/bash") os.remove(f"{composer.workdir}/bundle/lib/bash/loadables.h") os.remove(f"{composer.workdir}/bundle/lib/bash/Makefile.inc") os.remove(f"{composer.workdir}/bundle/lib/bash/Makefile.sample") composer.makedir("share") composer.add_dir("share/locale", "share/locale") def pack_doc(composer): composer.makedir("share") composer.add_dir("share/bash", "share/bash") composer.add_dir("share/doc", "share/doc") composer.add_dir("share/info", "share/info") composer.add_dir("share/man", "share/man") package("bash") dep("semi-libc @same-arch") dep("libncurses @same-arch") on_pack(pack_bash) package("bash-dev") dep("bash (same)") cpp.use_auto_pack(["dev"]) package("bash-doc") on_pack(pack_doc)