From 2a7def094d1c3d72b08c4313473d936bfc972c6a Mon Sep 17 00:00:00 2001 From: sisungo Date: Sat, 8 Aug 2026 01:45:44 +0800 Subject: [PATCH] feat: add package bash Signed-off-by: sisungo --- packages/bash/pkgbuild.py | 84 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 packages/bash/pkgbuild.py diff --git a/packages/bash/pkgbuild.py b/packages/bash/pkgbuild.py new file mode 100644 index 0000000..7bb0367 --- /dev/null +++ b/packages/bash/pkgbuild.py @@ -0,0 +1,84 @@ +import os + +from lib.make import * +from lib import cpp + +version("5.3") +description("the Bourne Again SHell") +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) -- 2.55.0