package rosa import ( "hakurei.app/internal/pkg" ) func (t Toolchain) newGit() pkg.Artifact { const ( version = "2.52.0" checksum = "uH3J1HAN_c6PfGNJd2OBwW4zo36n71wmkdvityYnrh8Ak0D1IifiAvEWz9Vi9DmS" ) return t.NewViaMake("git", version, t.NewPatchedSource( "git", version, pkg.NewHTTPGetTar( nil, "https://www.kernel.org/pub/software/scm/git/"+ "git-"+version+".tar.gz", mustDecode(checksum), pkg.TarGzip, ), false, ), &MakeAttr{ // uses source tree as scratch space Writable: true, InPlace: true, // test suite in subdirectory SkipCheck: true, Make: []string{"all"}, ScriptEarly: ` cd /usr/src/git make configure `, Script: ` ln -s ../../system/bin/perl /usr/bin/ || true 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 make \ -C t \ GIT_PROVE_OPTS="--jobs 32 --failures" \ prove `, }, t.Load(Perl), t.Load(Diffutils), t.Load(M4), t.Load(Autoconf), t.Load(Gettext), t.Load(Zlib), ) } func init() { artifactsF[Git] = Toolchain.newGit }