package rosa import "hakurei.app/internal/pkg" func (t Toolchain) newGit() (pkg.Artifact, string) { const ( version = "2.52.0" checksum = "uH3J1HAN_c6PfGNJd2OBwW4zo36n71wmkdvityYnrh8Ak0D1IifiAvEWz9Vi9DmS" ) return t.NewPackage("git", version, pkg.NewHTTPGetTar( nil, "https://www.kernel.org/pub/software/scm/git/"+ "git-"+version+".tar.gz", mustDecode(checksum), pkg.TarGzip, ), &PackageAttr{ ScriptEarly: ` ln -s ../../system/bin/perl /usr/bin/ || true `, // uses source tree as scratch space EnterSource: true, }, &MakeHelper{ InPlace: true, Generate: "make configure", ScriptMakeEarly: ` function disable_test { local test=$1 pattern=${2:-''} if [ $# -eq 1 ]; then rm "t/${test}.sh" else sed -i "t/${test}.sh" \ -e "/^\s*test_expect_.*$pattern/,/^\s*' *\$/{s/^/: #/}" fi } disable_test t5319-multi-pack-index disable_test t1305-config-include disable_test t3900-i18n-commit disable_test t3507-cherry-pick-conflict disable_test t4201-shortlog disable_test t5303-pack-corruption-resilience disable_test t4301-merge-tree-write-tree disable_test t8005-blame-i18n disable_test t9350-fast-export disable_test t9300-fast-import disable_test t0211-trace2-perf disable_test t1517-outside-repo disable_test t2200-add-update `, Check: []string{ "-C t", `GIT_PROVE_OPTS="--jobs 32 --failures"`, "prove", }, }, Perl, Diffutils, M4, Autoconf, Gettext, Zlib, Curl, OpenSSL, Libexpat, ), version } func init() { artifactsM[Git] = Metadata{ f: Toolchain.newGit, Name: "git", Description: "distributed version control system", Website: "https://www.git-scm.com/", } } // NewViaGit returns a [pkg.Artifact] for cloning a git repository. func (t Toolchain) NewViaGit( name, url, rev string, checksum pkg.Checksum, ) pkg.Artifact { return t.New(name+"-"+rev, 0, []pkg.Artifact{ t.Load(NSSCACert), t.Load(OpenSSL), t.Load(Libpsl), t.Load(Curl), t.Load(Libexpat), t.Load(Git), }, &checksum, nil, ` git \ -c advice.detachedHead=false \ clone \ --revision=`+rev+` \ `+url+` \ /work rm -rf /work/.git `, resolvconf()) }