package rosa import "hakurei.app/internal/pkg" // NewNinja returns a [pkg.Artifact] containing an installation of Ninja. func (t Toolchain) NewNinja() pkg.Artifact { const ( version = "1.13.2" checksum = "ygKWMa0YV2lWKiFro5hnL-vcKbc_-RACZuPu0Io8qDvgQlZ0dxv7hPNSFkt4214v" ) return t.New("ninja-"+version, []pkg.Artifact{ t.NewCMake(), t.NewPython(), }, nil, nil, ` chmod -R +w /usr/src/ninja/ mkdir -p /work/system/bin/ && cd /work/system/bin/ python3 /usr/src/ninja/configure.py \ --bootstrap \ --gtest-source-dir=/usr/src/googletest ./ninja all ./ninja_test `, pkg.Path(AbsUsrSrc.Append("googletest"), false, pkg.NewHTTPGetTar( nil, "https://github.com/google/googletest/releases/download/"+ "v1.16.0/googletest-1.16.0.tar.gz", mustDecode("NjLGvSbgPy_B-y-o1hdanlzEzaYeStFcvFGxpYV3KYlhrWWFRcugYhM3ZMzOA9B_"), pkg.TarGzip, )), pkg.Path(AbsUsrSrc.Append("ninja"), true, pkg.NewHTTPGetTar( nil, "https://github.com/ninja-build/ninja/archive/refs/tags/"+ "v"+version+".tar.gz", mustDecode(checksum), pkg.TarGzip, ))) }