All checks were successful
Test / Create distribution (push) Successful in 1m0s
Test / Sandbox (push) Successful in 2m40s
Test / Hakurei (push) Successful in 3m55s
Test / ShareFS (push) Successful in 3m59s
Test / Hpkg (push) Successful in 4m34s
Test / Sandbox (race detector) (push) Successful in 5m2s
Test / Hakurei (race detector) (push) Successful in 6m12s
Test / Flake checks (push) Successful in 1m45s
For obtaining sources of projects that stubbornly refuse to provide release tarballs. Signed-off-by: Ophestra <cat@gensokyo.uk>
102 lines
2.1 KiB
Go
102 lines
2.1 KiB
Go
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
|
|
disable_test t0211-trace2-perf
|
|
disable_test t1517-outside-repo
|
|
disable_test t2200-add-update
|
|
|
|
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),
|
|
t.Load(Curl),
|
|
t.Load(OpenSSL),
|
|
t.Load(Libexpat),
|
|
)
|
|
}
|
|
func init() { artifactsF[Git] = Toolchain.newGit }
|
|
|
|
// 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())
|
|
}
|