internal/rosa: migrate to make helper
All checks were successful
Test / Create distribution (push) Successful in 1m0s
Test / Sandbox (push) Successful in 2m43s
Test / ShareFS (push) Successful in 4m0s
Test / Hpkg (push) Successful in 4m29s
Test / Sandbox (race detector) (push) Successful in 5m6s
Test / Hakurei (race detector) (push) Successful in 5m57s
Test / Hakurei (push) Successful in 2m41s
Test / Flake checks (push) Successful in 1m45s
All checks were successful
Test / Create distribution (push) Successful in 1m0s
Test / Sandbox (push) Successful in 2m43s
Test / ShareFS (push) Successful in 4m0s
Test / Hpkg (push) Successful in 4m29s
Test / Sandbox (race detector) (push) Successful in 5m6s
Test / Hakurei (race detector) (push) Successful in 5m57s
Test / Hakurei (push) Successful in 2m41s
Test / Flake checks (push) Successful in 1m45s
This migrates artifacts that the helper cannot produce an identical instance of. Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
@@ -7,22 +7,7 @@ func (t Toolchain) newAttr() pkg.Artifact {
|
|||||||
version = "2.5.2"
|
version = "2.5.2"
|
||||||
checksum = "YWEphrz6vg1sUMmHHVr1CRo53pFXRhq_pjN-AlG8UgwZK1y6m7zuDhxqJhD0SV0l"
|
checksum = "YWEphrz6vg1sUMmHHVr1CRo53pFXRhq_pjN-AlG8UgwZK1y6m7zuDhxqJhD0SV0l"
|
||||||
)
|
)
|
||||||
return t.New("attr-"+version, 0, []pkg.Artifact{
|
return t.NewViaMake("attr", version, t.NewPatchedSource(
|
||||||
t.Load(Make),
|
|
||||||
t.Load(Perl),
|
|
||||||
t.Load(Gawk),
|
|
||||||
t.Load(Coreutils),
|
|
||||||
}, nil, nil, `
|
|
||||||
ln -s ../../system/bin/perl /usr/bin
|
|
||||||
|
|
||||||
cd "$(mktemp -d)"
|
|
||||||
/usr/src/attr/configure \
|
|
||||||
--prefix=/system \
|
|
||||||
--build="${ROSA_TRIPLE}" \
|
|
||||||
--enable-static
|
|
||||||
make "-j$(nproc)" check
|
|
||||||
make DESTDIR=/work install
|
|
||||||
`, pkg.Path(AbsUsrSrc.Append("attr"), true, t.NewPatchedSource(
|
|
||||||
"attr", version, pkg.NewHTTPGetTar(
|
"attr", version, pkg.NewHTTPGetTar(
|
||||||
nil, "https://download.savannah.nongnu.org/releases/attr/"+
|
nil, "https://download.savannah.nongnu.org/releases/attr/"+
|
||||||
"attr-"+version+".tar.gz",
|
"attr-"+version+".tar.gz",
|
||||||
@@ -67,7 +52,16 @@ index 6ce2f9b..e9bde92 100644
|
|||||||
$ setfattr -n user. -v value f
|
$ setfattr -n user. -v value f
|
||||||
> setfattr: f: Invalid argument
|
> setfattr: f: Invalid argument
|
||||||
`},
|
`},
|
||||||
)))
|
), &MakeAttr{
|
||||||
|
ScriptEarly: `
|
||||||
|
ln -s ../../system/bin/perl /usr/bin
|
||||||
|
`,
|
||||||
|
Configure: [][2]string{
|
||||||
|
{"enable-static"},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
t.Load(Perl),
|
||||||
|
)
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Attr] = Toolchain.newAttr }
|
func init() { artifactsF[Attr] = Toolchain.newAttr }
|
||||||
|
|
||||||
@@ -83,8 +77,6 @@ func (t Toolchain) newACL() pkg.Artifact {
|
|||||||
mustDecode(checksum),
|
mustDecode(checksum),
|
||||||
pkg.TarGzip,
|
pkg.TarGzip,
|
||||||
), &MakeAttr{
|
), &MakeAttr{
|
||||||
Writable: true,
|
|
||||||
|
|
||||||
Configure: [][2]string{
|
Configure: [][2]string{
|
||||||
{"enable-static"},
|
{"enable-static"},
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -9,29 +9,64 @@ func (t Toolchain) newGit() pkg.Artifact {
|
|||||||
version = "2.52.0"
|
version = "2.52.0"
|
||||||
checksum = "uH3J1HAN_c6PfGNJd2OBwW4zo36n71wmkdvityYnrh8Ak0D1IifiAvEWz9Vi9DmS"
|
checksum = "uH3J1HAN_c6PfGNJd2OBwW4zo36n71wmkdvityYnrh8Ak0D1IifiAvEWz9Vi9DmS"
|
||||||
)
|
)
|
||||||
return t.New("git-"+version, 0, stage3Concat(t, []pkg.Artifact{},
|
return t.NewViaMake("git", version, t.NewPatchedSource(
|
||||||
t.Load(Make),
|
|
||||||
t.Load(Gawk),
|
|
||||||
t.Load(Coreutils),
|
|
||||||
t.Load(Perl),
|
|
||||||
t.Load(M4),
|
|
||||||
t.Load(Autoconf),
|
|
||||||
t.Load(Gettext),
|
|
||||||
|
|
||||||
t.Load(Zlib),
|
|
||||||
), nil, nil, `
|
|
||||||
cd /usr/src/git
|
|
||||||
make configure
|
|
||||||
./configure --prefix=/system
|
|
||||||
make "-j$(nproc)" all
|
|
||||||
make DESTDIR=/work install
|
|
||||||
`, pkg.Path(AbsUsrSrc.Append("git"), true, t.NewPatchedSource(
|
|
||||||
"git", version, pkg.NewHTTPGetTar(
|
"git", version, pkg.NewHTTPGetTar(
|
||||||
nil, "https://www.kernel.org/pub/software/scm/git/"+
|
nil, "https://www.kernel.org/pub/software/scm/git/"+
|
||||||
"git-"+version+".tar.gz",
|
"git-"+version+".tar.gz",
|
||||||
mustDecode(checksum),
|
mustDecode(checksum),
|
||||||
pkg.TarGzip,
|
pkg.TarGzip,
|
||||||
), false,
|
), 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 }
|
func init() { artifactsF[Git] = Toolchain.newGit }
|
||||||
|
|||||||
@@ -1,6 +1,11 @@
|
|||||||
package rosa
|
package rosa
|
||||||
|
|
||||||
import "hakurei.app/internal/pkg"
|
import (
|
||||||
|
"runtime"
|
||||||
|
"strconv"
|
||||||
|
|
||||||
|
"hakurei.app/internal/pkg"
|
||||||
|
)
|
||||||
|
|
||||||
func (t Toolchain) newM4() pkg.Artifact {
|
func (t Toolchain) newM4() pkg.Artifact {
|
||||||
const (
|
const (
|
||||||
@@ -43,30 +48,21 @@ func (t Toolchain) newAutoconf() pkg.Artifact {
|
|||||||
version = "2.72"
|
version = "2.72"
|
||||||
checksum = "-c5blYkC-xLDer3TWEqJTyh1RLbOd1c5dnRLKsDnIrg_wWNOLBpaqMY8FvmUFJ33"
|
checksum = "-c5blYkC-xLDer3TWEqJTyh1RLbOd1c5dnRLKsDnIrg_wWNOLBpaqMY8FvmUFJ33"
|
||||||
)
|
)
|
||||||
return t.New("autoconf-"+version, 0, []pkg.Artifact{
|
return t.NewViaMake("autoconf", version, pkg.NewHTTPGetTar(
|
||||||
t.Load(Make),
|
|
||||||
t.Load(M4),
|
|
||||||
t.Load(Perl),
|
|
||||||
t.Load(Bash),
|
|
||||||
t.Load(Gawk),
|
|
||||||
t.Load(Coreutils),
|
|
||||||
t.Load(Diffutils),
|
|
||||||
}, nil, nil, `
|
|
||||||
cd "$(mktemp -d)"
|
|
||||||
/usr/src/autoconf/configure \
|
|
||||||
--prefix=/system \
|
|
||||||
--build="${ROSA_TRIPLE}"
|
|
||||||
make \
|
|
||||||
"-j$(nproc)" \
|
|
||||||
TESTSUITEFLAGS="-j$(nproc)" \
|
|
||||||
check
|
|
||||||
make DESTDIR=/work install
|
|
||||||
`, pkg.Path(AbsUsrSrc.Append("autoconf"), false, pkg.NewHTTPGetTar(
|
|
||||||
nil,
|
nil,
|
||||||
"https://ftp.gnu.org/gnu/autoconf/autoconf-"+version+".tar.gz",
|
"https://ftp.gnu.org/gnu/autoconf/autoconf-"+version+".tar.gz",
|
||||||
mustDecode(checksum),
|
mustDecode(checksum),
|
||||||
pkg.TarGzip,
|
pkg.TarGzip,
|
||||||
)))
|
), &MakeAttr{
|
||||||
|
Env: []string{
|
||||||
|
"TESTSUITEFLAGS=" + strconv.Itoa(runtime.NumCPU()),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
t.Load(M4),
|
||||||
|
t.Load(Perl),
|
||||||
|
t.Load(Bash),
|
||||||
|
t.Load(Diffutils),
|
||||||
|
)
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Autoconf] = Toolchain.newAutoconf }
|
func init() { artifactsF[Autoconf] = Toolchain.newAutoconf }
|
||||||
|
|
||||||
@@ -178,8 +174,6 @@ func (t Toolchain) newBash() pkg.Artifact {
|
|||||||
mustDecode(checksum),
|
mustDecode(checksum),
|
||||||
pkg.TarGzip,
|
pkg.TarGzip,
|
||||||
), &MakeAttr{
|
), &MakeAttr{
|
||||||
Writable: true,
|
|
||||||
|
|
||||||
Script: "ln -s bash /work/system/bin/sh\n",
|
Script: "ln -s bash /work/system/bin/sh\n",
|
||||||
Configure: [][2]string{
|
Configure: [][2]string{
|
||||||
{"without-bash-malloc"},
|
{"without-bash-malloc"},
|
||||||
@@ -227,9 +221,7 @@ func (t Toolchain) newGperf() pkg.Artifact {
|
|||||||
nil, "https://ftp.gnu.org/pub/gnu/gperf/gperf-"+version+".tar.gz",
|
nil, "https://ftp.gnu.org/pub/gnu/gperf/gperf-"+version+".tar.gz",
|
||||||
mustDecode(checksum),
|
mustDecode(checksum),
|
||||||
pkg.TarGzip,
|
pkg.TarGzip,
|
||||||
), &MakeAttr{
|
), nil,
|
||||||
Writable: true,
|
|
||||||
},
|
|
||||||
t.Load(Diffutils),
|
t.Load(Diffutils),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,25 +11,18 @@ func (t Toolchain) newLibexpat() pkg.Artifact {
|
|||||||
version = "2.7.3"
|
version = "2.7.3"
|
||||||
checksum = "GmkoD23nRi9cMT0cgG1XRMrZWD82UcOMzkkvP1gkwSFWCBgeSXMuoLpa8-v8kxW-"
|
checksum = "GmkoD23nRi9cMT0cgG1XRMrZWD82UcOMzkkvP1gkwSFWCBgeSXMuoLpa8-v8kxW-"
|
||||||
)
|
)
|
||||||
return t.New("libexpat-"+version, 0, []pkg.Artifact{
|
return t.NewViaMake("libexpat", version, pkg.NewHTTPGetTar(
|
||||||
t.Load(Make),
|
|
||||||
t.Load(Bash),
|
|
||||||
t.Load(Gawk),
|
|
||||||
t.Load(Coreutils),
|
|
||||||
}, nil, nil, `
|
|
||||||
cd "$(mktemp -d)"
|
|
||||||
/usr/src/libexpat/configure \
|
|
||||||
--prefix=/system \
|
|
||||||
--build="${ROSA_TRIPLE}" \
|
|
||||||
--enable-static
|
|
||||||
make "-j$(nproc)" check
|
|
||||||
make DESTDIR=/work install
|
|
||||||
`, pkg.Path(AbsUsrSrc.Append("libexpat"), false, pkg.NewHTTPGetTar(
|
|
||||||
nil, "https://github.com/libexpat/libexpat/releases/download/"+
|
nil, "https://github.com/libexpat/libexpat/releases/download/"+
|
||||||
"R_"+strings.ReplaceAll(version, ".", "_")+"/"+
|
"R_"+strings.ReplaceAll(version, ".", "_")+"/"+
|
||||||
"expat-"+version+".tar.bz2",
|
"expat-"+version+".tar.bz2",
|
||||||
mustDecode(checksum),
|
mustDecode(checksum),
|
||||||
pkg.TarBzip2,
|
pkg.TarBzip2,
|
||||||
)))
|
), &MakeAttr{
|
||||||
|
Configure: [][2]string{
|
||||||
|
{"enable-static"},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
t.Load(Bash),
|
||||||
|
)
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Libexpat] = Toolchain.newLibexpat }
|
func init() { artifactsF[Libexpat] = Toolchain.newLibexpat }
|
||||||
|
|||||||
@@ -13,8 +13,6 @@ func (t Toolchain) newLibgd() pkg.Artifact {
|
|||||||
mustDecode(checksum),
|
mustDecode(checksum),
|
||||||
pkg.TarGzip,
|
pkg.TarGzip,
|
||||||
), &MakeAttr{
|
), &MakeAttr{
|
||||||
Writable: true,
|
|
||||||
|
|
||||||
OmitDefaults: true,
|
OmitDefaults: true,
|
||||||
Env: []string{
|
Env: []string{
|
||||||
"TMPDIR=/dev/shm/gd",
|
"TMPDIR=/dev/shm/gd",
|
||||||
|
|||||||
@@ -9,31 +9,25 @@ func (t Toolchain) newLibseccomp() pkg.Artifact {
|
|||||||
version = "2.6.0"
|
version = "2.6.0"
|
||||||
checksum = "mMu-iR71guPjFbb31u-YexBaanKE_nYPjPux-vuBiPfS_0kbwJdfCGlkofaUm-EY"
|
checksum = "mMu-iR71guPjFbb31u-YexBaanKE_nYPjPux-vuBiPfS_0kbwJdfCGlkofaUm-EY"
|
||||||
)
|
)
|
||||||
return t.New("libseccomp-"+version, 0, []pkg.Artifact{
|
return t.NewViaMake("libseccomp", version, pkg.NewHTTPGetTar(
|
||||||
t.Load(Make),
|
|
||||||
t.Load(Bash),
|
|
||||||
t.Load(Gawk),
|
|
||||||
t.Load(Coreutils),
|
|
||||||
t.Load(Diffutils),
|
|
||||||
t.Load(Gperf),
|
|
||||||
|
|
||||||
t.Load(KernelHeaders),
|
|
||||||
}, nil, nil, `
|
|
||||||
ln -s ../system/bin/bash /bin/bash
|
|
||||||
|
|
||||||
cd "$(mktemp -d)"
|
|
||||||
/usr/src/libseccomp/configure \
|
|
||||||
--prefix=/system \
|
|
||||||
--build="${ROSA_TRIPLE}" \
|
|
||||||
--enable-static
|
|
||||||
make "-j$(nproc)" check
|
|
||||||
make DESTDIR=/work install
|
|
||||||
`, pkg.Path(AbsUsrSrc.Append("libseccomp"), false, pkg.NewHTTPGetTar(
|
|
||||||
nil,
|
nil,
|
||||||
"https://github.com/seccomp/libseccomp/releases/download/"+
|
"https://github.com/seccomp/libseccomp/releases/download/"+
|
||||||
"v"+version+"/libseccomp-"+version+".tar.gz",
|
"v"+version+"/libseccomp-"+version+".tar.gz",
|
||||||
mustDecode(checksum),
|
mustDecode(checksum),
|
||||||
pkg.TarGzip,
|
pkg.TarGzip,
|
||||||
)))
|
), &MakeAttr{
|
||||||
|
ScriptEarly: `
|
||||||
|
ln -s ../system/bin/bash /bin/
|
||||||
|
`,
|
||||||
|
Configure: [][2]string{
|
||||||
|
{"enable-static"},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
t.Load(Bash),
|
||||||
|
t.Load(Diffutils),
|
||||||
|
t.Load(Gperf),
|
||||||
|
|
||||||
|
t.Load(KernelHeaders),
|
||||||
|
)
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Libseccomp] = Toolchain.newLibseccomp }
|
func init() { artifactsF[Libseccomp] = Toolchain.newLibseccomp }
|
||||||
|
|||||||
@@ -11,29 +11,24 @@ func (t Toolchain) newLibxml2() pkg.Artifact {
|
|||||||
version = "2.15.1"
|
version = "2.15.1"
|
||||||
checksum = "pYzAR3cNrEHezhEMirgiq7jbboLzwMj5GD7SQp0jhSIMdgoU4G9oU9Gxun3zzUIU"
|
checksum = "pYzAR3cNrEHezhEMirgiq7jbboLzwMj5GD7SQp0jhSIMdgoU4G9oU9Gxun3zzUIU"
|
||||||
)
|
)
|
||||||
return t.New("libxml2-"+version, 0, []pkg.Artifact{
|
return t.NewViaMake("libxml2", version, pkg.NewHTTPGet(
|
||||||
t.Load(Make),
|
|
||||||
t.Load(Gawk),
|
|
||||||
t.Load(Coreutils),
|
|
||||||
t.Load(Diffutils),
|
|
||||||
t.Load(XZ),
|
|
||||||
}, nil, nil, `
|
|
||||||
cd /usr/src/
|
|
||||||
tar xf libxml2.tar.xz
|
|
||||||
mv libxml2-`+version+` libxml2
|
|
||||||
|
|
||||||
cd "$(mktemp -d)"
|
|
||||||
/usr/src/libxml2/configure \
|
|
||||||
--prefix=/system \
|
|
||||||
--build="${ROSA_TRIPLE}" \
|
|
||||||
--enable-static
|
|
||||||
make "-j$(nproc)" check
|
|
||||||
make DESTDIR=/work install
|
|
||||||
`, pkg.Path(AbsUsrSrc.Append("libxml2.tar.xz"), false, pkg.NewHTTPGet(
|
|
||||||
nil, "https://download.gnome.org/sources/libxml2/"+
|
nil, "https://download.gnome.org/sources/libxml2/"+
|
||||||
strings.Join(strings.Split(version, ".")[:2], ".")+
|
strings.Join(strings.Split(version, ".")[:2], ".")+
|
||||||
"/libxml2-"+version+".tar.xz",
|
"/libxml2-"+version+".tar.xz",
|
||||||
mustDecode(checksum),
|
mustDecode(checksum),
|
||||||
)))
|
), &MakeAttr{
|
||||||
|
ScriptEarly: `
|
||||||
|
cd /usr/src/
|
||||||
|
tar xf libxml2.tar.xz
|
||||||
|
mv libxml2-` + version + ` libxml2
|
||||||
|
`,
|
||||||
|
Configure: [][2]string{
|
||||||
|
{"enable-static"},
|
||||||
|
},
|
||||||
|
SourceSuffix: ".tar.xz",
|
||||||
|
},
|
||||||
|
t.Load(Diffutils),
|
||||||
|
t.Load(XZ),
|
||||||
|
)
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Libxml2] = Toolchain.newLibxml2 }
|
func init() { artifactsF[Libxml2] = Toolchain.newLibxml2 }
|
||||||
|
|||||||
@@ -21,8 +21,7 @@ cd "$(mktemp -d)"
|
|||||||
./build.sh
|
./build.sh
|
||||||
./make DESTDIR=/work install check
|
./make DESTDIR=/work install check
|
||||||
`, pkg.Path(AbsUsrSrc.Append("make"), false, pkg.NewHTTPGetTar(
|
`, pkg.Path(AbsUsrSrc.Append("make"), false, pkg.NewHTTPGetTar(
|
||||||
nil,
|
nil, "https://ftp.gnu.org/gnu/make/make-"+version+".tar.gz",
|
||||||
"https://ftp.gnu.org/gnu/make/make-"+version+".tar.gz",
|
|
||||||
mustDecode(checksum),
|
mustDecode(checksum),
|
||||||
pkg.TarGzip,
|
pkg.TarGzip,
|
||||||
)))
|
)))
|
||||||
@@ -37,6 +36,8 @@ type MakeAttr struct {
|
|||||||
|
|
||||||
// Do not include default extras.
|
// Do not include default extras.
|
||||||
OmitDefaults bool
|
OmitDefaults bool
|
||||||
|
// Dependencies not provided by stage3.
|
||||||
|
NonStage3 []pkg.Artifact
|
||||||
|
|
||||||
// Additional environment variables.
|
// Additional environment variables.
|
||||||
Env []string
|
Env []string
|
||||||
@@ -45,12 +46,19 @@ type MakeAttr struct {
|
|||||||
// Runs after cmake.
|
// Runs after cmake.
|
||||||
Script string
|
Script string
|
||||||
|
|
||||||
|
// Remain in working directory set up during ScriptEarly.
|
||||||
|
InPlace bool
|
||||||
|
|
||||||
// Flags passed to the configure script.
|
// Flags passed to the configure script.
|
||||||
Configure [][2]string
|
Configure [][2]string
|
||||||
|
// Extra make targets.
|
||||||
|
Make []string
|
||||||
// Target triple, zero value is equivalent to the Rosa OS triple.
|
// Target triple, zero value is equivalent to the Rosa OS triple.
|
||||||
Build string
|
Build string
|
||||||
// Whether to skip the check target.
|
// Whether to skip the check target.
|
||||||
SkipCheck bool
|
SkipCheck bool
|
||||||
|
// Name of the check target, zero value is equivalent to "check".
|
||||||
|
CheckName string
|
||||||
|
|
||||||
// Suffix appended to the source pathname.
|
// Suffix appended to the source pathname.
|
||||||
SourceSuffix string
|
SourceSuffix string
|
||||||
@@ -101,30 +109,50 @@ func (t Toolchain) NewViaMake(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
defaults := []pkg.Artifact{
|
var buildFlag string
|
||||||
|
if attr.Build != `""` {
|
||||||
|
buildFlag = ` \
|
||||||
|
--build=` + build
|
||||||
|
}
|
||||||
|
|
||||||
|
makeTargets := make([]string, 1, 2+len(attr.Make))
|
||||||
|
if !attr.SkipCheck {
|
||||||
|
if attr.CheckName == "" {
|
||||||
|
makeTargets = append(makeTargets, "check")
|
||||||
|
} else {
|
||||||
|
makeTargets = append(makeTargets, attr.CheckName)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
makeTargets = append(makeTargets, attr.Make...)
|
||||||
|
if len(makeTargets) == 1 {
|
||||||
|
makeTargets = nil
|
||||||
|
}
|
||||||
|
|
||||||
|
finalExtra := []pkg.Artifact{
|
||||||
t.Load(Make),
|
t.Load(Make),
|
||||||
}
|
}
|
||||||
if attr.OmitDefaults || attr.Flag&TEarly == 0 {
|
if attr.OmitDefaults || attr.Flag&TEarly == 0 {
|
||||||
defaults = append(defaults,
|
finalExtra = append(finalExtra,
|
||||||
t.Load(Gawk),
|
t.Load(Gawk),
|
||||||
t.Load(Coreutils),
|
t.Load(Coreutils),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
finalExtra = append(finalExtra, extra...)
|
||||||
|
|
||||||
var makeSuffix string
|
scriptEarly := attr.ScriptEarly
|
||||||
if !attr.SkipCheck {
|
if !attr.InPlace {
|
||||||
makeSuffix += " check"
|
scriptEarly += "\ncd \"$(mktemp -d)\""
|
||||||
|
} else if scriptEarly == "" {
|
||||||
|
panic("cannot remain in root")
|
||||||
}
|
}
|
||||||
|
|
||||||
return t.New(name+"-"+version, attr.Flag, stage3Concat(t,
|
return t.New(name+"-"+version, attr.Flag, stage3Concat(t,
|
||||||
defaults,
|
attr.NonStage3,
|
||||||
extra...,
|
finalExtra...,
|
||||||
), nil, attr.Env, attr.ScriptEarly+`
|
), nil, attr.Env, scriptEarly+`
|
||||||
cd "$(mktemp -d)"
|
|
||||||
/usr/src/`+name+`/configure \
|
/usr/src/`+name+`/configure \
|
||||||
--prefix=/system \
|
--prefix=/system`+buildFlag+configureFlags+`
|
||||||
--build=`+build+configureFlags+`
|
make "-j$(nproc)"`+strings.Join(makeTargets, " ")+`
|
||||||
make "-j$(nproc)"`+makeSuffix+`
|
|
||||||
make DESTDIR=/work install
|
make DESTDIR=/work install
|
||||||
`+attr.Script, pkg.Path(AbsUsrSrc.Append(
|
`+attr.Script, pkg.Path(AbsUsrSrc.Append(
|
||||||
name+attr.SourceSuffix,
|
name+attr.SourceSuffix,
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ func (t Toolchain) newMksh() pkg.Artifact {
|
|||||||
checksum = "0Zj-k4nXEu3IuJY4lvwD2OrC2t27GdZj8SPy4DoaeuBRH1padWb7oREpYgwY8JNq"
|
checksum = "0Zj-k4nXEu3IuJY4lvwD2OrC2t27GdZj8SPy4DoaeuBRH1padWb7oREpYgwY8JNq"
|
||||||
)
|
)
|
||||||
return t.New("mksh-"+version, 0, stage3Concat(t, []pkg.Artifact{},
|
return t.New("mksh-"+version, 0, stage3Concat(t, []pkg.Artifact{},
|
||||||
t.Load(Make),
|
|
||||||
t.Load(Perl),
|
t.Load(Perl),
|
||||||
t.Load(Coreutils),
|
t.Load(Coreutils),
|
||||||
), nil, []string{
|
), nil, []string{
|
||||||
|
|||||||
@@ -14,8 +14,6 @@ func (t Toolchain) newPkgConfig() pkg.Artifact {
|
|||||||
mustDecode(checksum),
|
mustDecode(checksum),
|
||||||
pkg.TarGzip,
|
pkg.TarGzip,
|
||||||
), &MakeAttr{
|
), &MakeAttr{
|
||||||
Writable: true,
|
|
||||||
|
|
||||||
Configure: [][2]string{
|
Configure: [][2]string{
|
||||||
{"CFLAGS", "'-Wno-int-conversion'"},
|
{"CFLAGS", "'-Wno-int-conversion'"},
|
||||||
{"with-internal-glib"},
|
{"with-internal-glib"},
|
||||||
|
|||||||
@@ -12,7 +12,17 @@ func (t Toolchain) newPython() pkg.Artifact {
|
|||||||
version = "3.14.2"
|
version = "3.14.2"
|
||||||
checksum = "7nZunVMGj0viB-CnxpcRego2C90X5wFsMTgsoewd5z-KSZY2zLuqaBwG-14zmKys"
|
checksum = "7nZunVMGj0viB-CnxpcRego2C90X5wFsMTgsoewd5z-KSZY2zLuqaBwG-14zmKys"
|
||||||
)
|
)
|
||||||
skipTests := []string{
|
return t.NewViaMake("python", version, t.NewPatchedSource("python", version, pkg.NewHTTPGetTar(
|
||||||
|
nil, "https://www.python.org/ftp/python/"+version+
|
||||||
|
"/Python-"+version+".tgz",
|
||||||
|
mustDecode(checksum),
|
||||||
|
pkg.TarGzip,
|
||||||
|
), false), &MakeAttr{
|
||||||
|
// test_synopsis_sourceless assumes this is writable and checks __pycache__
|
||||||
|
Writable: true,
|
||||||
|
|
||||||
|
Env: []string{
|
||||||
|
"EXTRATESTOPTS=-j0 -x " + strings.Join([]string{
|
||||||
// requires internet access (http://www.pythontest.net/)
|
// requires internet access (http://www.pythontest.net/)
|
||||||
"test_asyncio",
|
"test_asyncio",
|
||||||
"test_socket",
|
"test_socket",
|
||||||
@@ -32,37 +42,22 @@ func (t Toolchain) newPython() pkg.Artifact {
|
|||||||
|
|
||||||
// breaks on llvm
|
// breaks on llvm
|
||||||
"test_dbm_gnu",
|
"test_dbm_gnu",
|
||||||
}
|
}, " -x "),
|
||||||
return t.New("python-"+version, 0, []pkg.Artifact{
|
|
||||||
t.Load(Make),
|
|
||||||
t.Load(Gawk),
|
|
||||||
t.Load(Coreutils),
|
|
||||||
|
|
||||||
t.Load(Zlib),
|
|
||||||
t.Load(Libffi),
|
|
||||||
}, nil, []string{
|
|
||||||
"EXTRATESTOPTS=-j0 -x " + strings.Join(skipTests, " -x "),
|
|
||||||
|
|
||||||
// _ctypes appears to infer something from the linker name
|
// _ctypes appears to infer something from the linker name
|
||||||
"LDFLAGS=-Wl,--dynamic-linker=/system/lib/" +
|
"LDFLAGS=-Wl,--dynamic-linker=/system/lib/" +
|
||||||
"ld-musl-" + linuxArch() + ".so.1",
|
"ld-musl-" + linuxArch() + ".so.1",
|
||||||
}, `
|
},
|
||||||
|
|
||||||
|
ScriptEarly: `
|
||||||
export HOME="$(mktemp -d)"
|
export HOME="$(mktemp -d)"
|
||||||
cd "$(mktemp -d)"
|
`,
|
||||||
/usr/src/python/configure \
|
|
||||||
--prefix=/system \
|
CheckName: "test",
|
||||||
--build="${ROSA_TRIPLE}"
|
},
|
||||||
make "-j$(nproc)"
|
t.Load(Zlib),
|
||||||
make test
|
t.Load(Libffi),
|
||||||
make DESTDIR=/work install
|
)
|
||||||
`, pkg.Path(AbsUsrSrc.Append("python"), true,
|
|
||||||
// test_synopsis_sourceless assumes this is writable and checks __pycache__
|
|
||||||
t.NewPatchedSource("python", version, pkg.NewHTTPGetTar(
|
|
||||||
nil, "https://www.python.org/ftp/python/"+version+
|
|
||||||
"/Python-"+version+".tgz",
|
|
||||||
mustDecode(checksum),
|
|
||||||
pkg.TarGzip,
|
|
||||||
), false)))
|
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Python] = Toolchain.newPython }
|
func init() { artifactsF[Python] = Toolchain.newPython }
|
||||||
|
|
||||||
|
|||||||
@@ -7,24 +7,25 @@ func (t Toolchain) newRsync() pkg.Artifact {
|
|||||||
version = "3.4.1"
|
version = "3.4.1"
|
||||||
checksum = "VBlTsBWd9z3r2-ex7GkWeWxkUc5OrlgDzikAC0pK7ufTjAJ0MbmC_N04oSVTGPiv"
|
checksum = "VBlTsBWd9z3r2-ex7GkWeWxkUc5OrlgDzikAC0pK7ufTjAJ0MbmC_N04oSVTGPiv"
|
||||||
)
|
)
|
||||||
return t.New("rsync-"+version, TEarly, []pkg.Artifact{
|
return t.NewViaMake("rsync", version, pkg.NewHTTPGetTar(
|
||||||
t.Load(Make),
|
nil, "https://download.samba.org/pub/rsync/src/"+
|
||||||
t.Load(Gawk),
|
"rsync-"+version+".tar.gz",
|
||||||
}, nil, nil, `
|
|
||||||
cd "$(mktemp -d)"
|
|
||||||
/usr/src/rsync/configure --prefix=/system \
|
|
||||||
--build="${ROSA_TRIPLE}" \
|
|
||||||
--disable-openssl \
|
|
||||||
--disable-xxhash \
|
|
||||||
--disable-zstd \
|
|
||||||
--disable-lz4
|
|
||||||
make "-j${nproc}"
|
|
||||||
make DESTDIR=/work install
|
|
||||||
`, pkg.Path(AbsUsrSrc.Append("rsync"), false, pkg.NewHTTPGetTar(
|
|
||||||
nil,
|
|
||||||
"https://download.samba.org/pub/rsync/src/rsync-"+version+".tar.gz",
|
|
||||||
mustDecode(checksum),
|
mustDecode(checksum),
|
||||||
pkg.TarGzip,
|
pkg.TarGzip,
|
||||||
)))
|
), &MakeAttr{
|
||||||
|
Configure: [][2]string{
|
||||||
|
{"disable-openssl"},
|
||||||
|
{"disable-xxhash"},
|
||||||
|
{"disable-zstd"},
|
||||||
|
{"disable-lz4"},
|
||||||
|
},
|
||||||
|
|
||||||
|
// circular dependency
|
||||||
|
SkipCheck: true,
|
||||||
|
|
||||||
|
Flag: TEarly,
|
||||||
|
},
|
||||||
|
t.Load(Gawk),
|
||||||
|
)
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Rsync] = Toolchain.newRsync }
|
func init() { artifactsF[Rsync] = Toolchain.newRsync }
|
||||||
|
|||||||
@@ -7,23 +7,17 @@ func (t Toolchain) newXproto() pkg.Artifact {
|
|||||||
version = "7.0.23"
|
version = "7.0.23"
|
||||||
checksum = "goxwWxV0jZ_3pNczXFltZWHAhq92x-aEreUGyp5Ns8dBOoOmgbpeNIu1nv0Zx07z"
|
checksum = "goxwWxV0jZ_3pNczXFltZWHAhq92x-aEreUGyp5Ns8dBOoOmgbpeNIu1nv0Zx07z"
|
||||||
)
|
)
|
||||||
return t.New("xproto-"+version, 0, []pkg.Artifact{
|
return t.NewViaMake("xproto", version, pkg.NewHTTPGetTar(
|
||||||
t.Load(Make),
|
nil, "https://www.x.org/releases/X11R7.7/src/proto/"+
|
||||||
t.Load(Gawk),
|
"xproto-"+version+".tar.bz2",
|
||||||
t.Load(Coreutils),
|
|
||||||
t.Load(PkgConfig),
|
|
||||||
}, nil, nil, `
|
|
||||||
cd "$(mktemp -d)"
|
|
||||||
/usr/src/xproto/configure \
|
|
||||||
--prefix=/system \
|
|
||||||
--enable-static
|
|
||||||
make "-j$(nproc)" check
|
|
||||||
make DESTDIR=/work install
|
|
||||||
`, pkg.Path(AbsUsrSrc.Append("xproto"), true, pkg.NewHTTPGetTar(
|
|
||||||
nil, "https://www.x.org/releases/X11R7.7/src/proto/xproto-"+version+".tar.bz2",
|
|
||||||
mustDecode(checksum),
|
mustDecode(checksum),
|
||||||
pkg.TarBzip2,
|
pkg.TarBzip2,
|
||||||
)))
|
), &MakeAttr{
|
||||||
|
// buggy configure script
|
||||||
|
Build: `""`,
|
||||||
|
},
|
||||||
|
t.Load(PkgConfig),
|
||||||
|
)
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Xproto] = Toolchain.newXproto }
|
func init() { artifactsF[Xproto] = Toolchain.newXproto }
|
||||||
|
|
||||||
@@ -32,25 +26,22 @@ func (t Toolchain) newLibXau() pkg.Artifact {
|
|||||||
version = "1.0.7"
|
version = "1.0.7"
|
||||||
checksum = "bm768RoZZnHRe9VjNU1Dw3BhfE60DyS9D_bgSR-JLkEEyUWT_Hb_lQripxrXto8j"
|
checksum = "bm768RoZZnHRe9VjNU1Dw3BhfE60DyS9D_bgSR-JLkEEyUWT_Hb_lQripxrXto8j"
|
||||||
)
|
)
|
||||||
return t.New("libXau-"+version, 0, []pkg.Artifact{
|
return t.NewViaMake("libXau", version, pkg.NewHTTPGetTar(
|
||||||
t.Load(Make),
|
|
||||||
t.Load(Gawk),
|
|
||||||
t.Load(Coreutils),
|
|
||||||
t.Load(PkgConfig),
|
|
||||||
|
|
||||||
t.Load(Xproto),
|
|
||||||
}, nil, nil, `
|
|
||||||
cd "$(mktemp -d)"
|
|
||||||
/usr/src/libXau/configure \
|
|
||||||
--prefix=/system \
|
|
||||||
--enable-static
|
|
||||||
make "-j$(nproc)" check
|
|
||||||
make DESTDIR=/work install
|
|
||||||
`, pkg.Path(AbsUsrSrc.Append("libXau"), true, pkg.NewHTTPGetTar(
|
|
||||||
nil, "https://www.x.org/releases/X11R7.7/src/lib/"+
|
nil, "https://www.x.org/releases/X11R7.7/src/lib/"+
|
||||||
"libXau-"+version+".tar.bz2",
|
"libXau-"+version+".tar.bz2",
|
||||||
mustDecode(checksum),
|
mustDecode(checksum),
|
||||||
pkg.TarBzip2,
|
pkg.TarBzip2,
|
||||||
)))
|
), &MakeAttr{
|
||||||
|
Configure: [][2]string{
|
||||||
|
{"enable-static"},
|
||||||
|
},
|
||||||
|
|
||||||
|
// buggy configure script
|
||||||
|
Build: `""`,
|
||||||
|
},
|
||||||
|
t.Load(PkgConfig),
|
||||||
|
|
||||||
|
t.Load(Xproto),
|
||||||
|
)
|
||||||
}
|
}
|
||||||
func init() { artifactsF[LibXau] = Toolchain.newLibXau }
|
func init() { artifactsF[LibXau] = Toolchain.newLibXau }
|
||||||
|
|||||||
@@ -12,8 +12,6 @@ func (t Toolchain) newXCBProto() pkg.Artifact {
|
|||||||
mustDecode(checksum),
|
mustDecode(checksum),
|
||||||
pkg.TarGzip,
|
pkg.TarGzip,
|
||||||
), &MakeAttr{
|
), &MakeAttr{
|
||||||
Writable: true,
|
|
||||||
|
|
||||||
Configure: [][2]string{
|
Configure: [][2]string{
|
||||||
{"enable-static"},
|
{"enable-static"},
|
||||||
},
|
},
|
||||||
@@ -28,28 +26,21 @@ func (t Toolchain) newXCB() pkg.Artifact {
|
|||||||
version = "1.17.0"
|
version = "1.17.0"
|
||||||
checksum = "hjjsc79LpWM_hZjNWbDDS6qRQUXREjjekS6UbUsDq-RR1_AjgNDxhRvZf-1_kzDd"
|
checksum = "hjjsc79LpWM_hZjNWbDDS6qRQUXREjjekS6UbUsDq-RR1_AjgNDxhRvZf-1_kzDd"
|
||||||
)
|
)
|
||||||
return t.New("xcb-"+version, 0, []pkg.Artifact{
|
return t.NewViaMake("xcb", version, pkg.NewHTTPGetTar(
|
||||||
t.Load(Make),
|
nil, "https://xcb.freedesktop.org/dist/libxcb-"+version+".tar.gz",
|
||||||
t.Load(Gawk),
|
mustDecode(checksum),
|
||||||
t.Load(Coreutils),
|
pkg.TarGzip,
|
||||||
|
), &MakeAttr{
|
||||||
|
Configure: [][2]string{
|
||||||
|
{"enable-static"},
|
||||||
|
},
|
||||||
|
},
|
||||||
t.Load(Python),
|
t.Load(Python),
|
||||||
t.Load(PkgConfig),
|
t.Load(PkgConfig),
|
||||||
|
|
||||||
t.Load(XCBProto),
|
t.Load(XCBProto),
|
||||||
t.Load(Xproto),
|
t.Load(Xproto),
|
||||||
t.Load(LibXau),
|
t.Load(LibXau),
|
||||||
}, nil, nil, `
|
)
|
||||||
cd "$(mktemp -d)"
|
|
||||||
/usr/src/xcb/configure \
|
|
||||||
--prefix=/system \
|
|
||||||
--build="${ROSA_TRIPLE}" \
|
|
||||||
--enable-static
|
|
||||||
make "-j$(nproc)" check
|
|
||||||
make DESTDIR=/work install
|
|
||||||
`, pkg.Path(AbsUsrSrc.Append("xcb"), true, pkg.NewHTTPGetTar(
|
|
||||||
nil, "https://xcb.freedesktop.org/dist/libxcb-"+version+".tar.gz",
|
|
||||||
mustDecode(checksum),
|
|
||||||
pkg.TarGzip,
|
|
||||||
)))
|
|
||||||
}
|
}
|
||||||
func init() { artifactsF[XCB] = Toolchain.newXCB }
|
func init() { artifactsF[XCB] = Toolchain.newXCB }
|
||||||
|
|||||||
@@ -7,19 +7,16 @@ func (t Toolchain) newZlib() pkg.Artifact {
|
|||||||
version = "1.3.1"
|
version = "1.3.1"
|
||||||
checksum = "E-eIpNzE8oJ5DsqH4UuA_0GDKuQF5csqI8ooDx2w7Vx-woJ2mb-YtSbEyIMN44mH"
|
checksum = "E-eIpNzE8oJ5DsqH4UuA_0GDKuQF5csqI8ooDx2w7Vx-woJ2mb-YtSbEyIMN44mH"
|
||||||
)
|
)
|
||||||
return t.New("zlib-"+version, 0, []pkg.Artifact{
|
return t.NewViaMake("zlib", version, pkg.NewHTTPGetTar(
|
||||||
t.Load(Make),
|
|
||||||
}, nil, nil, `
|
|
||||||
cd "$(mktemp -d)"
|
|
||||||
CC="clang -fPIC" /usr/src/zlib/configure \
|
|
||||||
--prefix /system
|
|
||||||
make "-j$(nproc)" test
|
|
||||||
make DESTDIR=/work install
|
|
||||||
`, pkg.Path(AbsUsrSrc.Append("zlib"), true,
|
|
||||||
pkg.NewHTTPGetTar(
|
|
||||||
nil, "https://zlib.net/zlib-"+version+".tar.gz",
|
nil, "https://zlib.net/zlib-"+version+".tar.gz",
|
||||||
mustDecode(checksum),
|
mustDecode(checksum),
|
||||||
pkg.TarGzip,
|
pkg.TarGzip,
|
||||||
)))
|
), &MakeAttr{
|
||||||
|
OmitDefaults: true,
|
||||||
|
Env: []string{
|
||||||
|
"CC=clang -fPIC",
|
||||||
|
},
|
||||||
|
Build: `""`,
|
||||||
|
})
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Zlib] = Toolchain.newZlib }
|
func init() { artifactsF[Zlib] = Toolchain.newZlib }
|
||||||
|
|||||||
Reference in New Issue
Block a user