From de117ef36587e8ac0ae483f03c11907821403175 Mon Sep 17 00:00:00 2001 From: Ophestra Date: Sun, 22 Feb 2026 18:07:24 +0900 Subject: [PATCH] internal/rosa: ncurses artifact For running menuconfig. Signed-off-by: Ophestra --- internal/rosa/all.go | 2 ++ internal/rosa/ncurses.go | 26 ++++++++++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 internal/rosa/ncurses.go diff --git a/internal/rosa/all.go b/internal/rosa/all.go index 7684289..532264b 100644 --- a/internal/rosa/all.go +++ b/internal/rosa/all.go @@ -65,6 +65,7 @@ const ( MuslObstack NSS NSSCACert + Ncurses Ninja OpenSSL PCRE2 @@ -189,6 +190,7 @@ func ResolveName(name string) (p PArtifact, ok bool) { "musl-obstack": MuslObstack, "nss": NSS, "nss-cacert": NSSCACert, + "ncurses": Ncurses, "ninja": Ninja, "openssl": OpenSSL, "pcre2": PCRE2, diff --git a/internal/rosa/ncurses.go b/internal/rosa/ncurses.go new file mode 100644 index 0000000..9af85fc --- /dev/null +++ b/internal/rosa/ncurses.go @@ -0,0 +1,26 @@ +package rosa + +import "hakurei.app/internal/pkg" + +func (t Toolchain) newNcurses() pkg.Artifact { + const ( + version = "6.6" + checksum = "XvWp4xi6hR_hH8XUoGY26L_pqBSDapJYulhzZqPuR0KNklqypqNc1yNXU-nOjf5w" + ) + return t.NewViaMake("ncurses", version, pkg.NewHTTPGetTar( + nil, "https://ftpmirror.gnu.org/gnu/ncurses/ncurses-"+version+".tar.gz", + mustDecode(checksum), + pkg.TarGzip, + ), &MakeAttr{ + // "tests" are actual demo programs, not a test suite. + SkipCheck: true, + + Configure: [][2]string{ + {"with-pkg-config"}, + {"enable-pc-files"}, + }, + }, + t.Load(PkgConfig), + ) +} +func init() { artifactsF[Ncurses] = Toolchain.newNcurses }