forked from rosa/hakurei
Compare commits
44 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 8a38b614c6 | |||
| 3286fff076 | |||
| fd1884a84b | |||
| fe6424bd6d | |||
| 004ac511a9 | |||
| ba17f9d4f3 | |||
| ea62f64b8f | |||
| 86669363ac | |||
| 6f5b7964f4 | |||
| a195c3760c | |||
| cfe52dce82 | |||
| 8483d8a005 | |||
| 5bc5aed024 | |||
| 9465649d13 | |||
| 33c461aa67 | |||
| dee0204fc0 | |||
| 2f916ed0c0 | |||
| 55ce3a2f90 | |||
| 3f6a07ef59 | |||
| 02941e7c23 | |||
| b9601881b7 | |||
| 58596f0af5 | |||
| 02cde40289 | |||
| 5014534884 | |||
| 13cf99ced4 | |||
| 6bfb258fd0 | |||
| b649645189 | |||
| 3ddba4e21f | |||
| 40a906c6c2 | |||
| 06894e2104 | |||
| 56f0392b86 | |||
| e2315f6c1a | |||
| e4aee49eb0 | |||
| 6c03cc8b8a | |||
| 59ade6a86b | |||
| 59ab493035 | |||
| d80a3346e2 | |||
| 327a34aacb | |||
| ea7c6b3b48 | |||
|
5647c3a91f
|
|||
|
992139c75d
|
|||
|
57c69b533e
|
|||
|
6f0c2a80f2
|
|||
|
08dfefb28d
|
@@ -47,7 +47,7 @@ func main() {
|
||||
return err
|
||||
}
|
||||
|
||||
cache, err = pkg.Open(ctx, msg, 0, 0, baseDir)
|
||||
cache, err = pkg.Open(ctx, msg, 0, 0, 0, baseDir)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
+36
-16
@@ -10,26 +10,46 @@ import (
|
||||
func (t Toolchain) newMeson() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.11.0"
|
||||
checksum = "b7oo3U_cklhzsTfsyYsjPGyeEufiS-Pm06JPLzodseS125Ach62ZBly7R6dSDiAc"
|
||||
checksum = "QJolMPzypTiS65GReSNPPlkUjHI6b1EDpZ-avIk3n6b6TQ93KfUM57DVUpY97Hf7"
|
||||
)
|
||||
return t.New("meson-"+version, 0, []pkg.Artifact{
|
||||
t.Load(Zlib),
|
||||
t.Load(Python),
|
||||
t.Load(Setuptools),
|
||||
}, nil, nil, `
|
||||
cd /usr/src/meson
|
||||
chmod -R +w meson.egg-info
|
||||
python3 setup.py \
|
||||
install \
|
||||
--prefix=/system \
|
||||
--root=/work
|
||||
`, pkg.Path(AbsUsrSrc.Append("meson"), true, newFromGitHubRelease(
|
||||
return t.NewPackage("meson", version, newFromGitHub(
|
||||
"mesonbuild/meson",
|
||||
version,
|
||||
"meson-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
))), version
|
||||
), &PackageAttr{
|
||||
Env: []string{
|
||||
"CMAKE_MAKE_PROGRAM=ninja",
|
||||
},
|
||||
}, &PipHelper{
|
||||
EnterSource: true,
|
||||
Script: `
|
||||
cd 'test cases'
|
||||
rm -rf \
|
||||
'common/32 has header' \
|
||||
'common/66 vcstag' \
|
||||
'common/153 wrap file should not failed' \
|
||||
'common/184 openmp' \
|
||||
'common/189 check header' \
|
||||
'linuxlike/6 subdir include order' \
|
||||
'linuxlike/9 compiler checks with dependencies' \
|
||||
'linuxlike/13 cmake dependency' \
|
||||
'frameworks/15 llvm' \
|
||||
'frameworks/29 blocks'
|
||||
cd ..
|
||||
|
||||
python3 ./run_project_tests.py \
|
||||
-v \
|
||||
` + jobsFlagE + ` \
|
||||
--failfast \
|
||||
--backend=ninja
|
||||
`,
|
||||
},
|
||||
Setuptools,
|
||||
PkgConfig,
|
||||
CMake,
|
||||
Ninja,
|
||||
PythonPyTest,
|
||||
), version
|
||||
}
|
||||
func init() {
|
||||
artifactsM[Meson] = Metadata{
|
||||
|
||||
+60
-10
@@ -81,6 +81,62 @@ func init() {
|
||||
}
|
||||
}
|
||||
|
||||
// PipHelper is the [Python] pip packaging helper.
|
||||
type PipHelper struct {
|
||||
// Whether to omit --no-build-isolation.
|
||||
BuildIsolation bool
|
||||
// Whether to enter source after install.
|
||||
EnterSource bool
|
||||
// Runs after install.
|
||||
Script string
|
||||
}
|
||||
|
||||
var _ Helper = new(PipHelper)
|
||||
|
||||
// extra returns python.
|
||||
func (*PipHelper) extra(int) P { return P{Python} }
|
||||
|
||||
// wantsChmod returns true.
|
||||
func (*PipHelper) wantsChmod() bool { return true }
|
||||
|
||||
// wantsWrite is equivalent to wantsChmod.
|
||||
func (attr *PipHelper) wantsWrite() bool { return attr.wantsChmod() }
|
||||
|
||||
// scriptEarly is a noop.
|
||||
func (*PipHelper) scriptEarly() string { return "" }
|
||||
|
||||
// createDir returns false.
|
||||
func (*PipHelper) createDir() bool { return false }
|
||||
|
||||
// wantsDir requests a new directory in TMPDIR.
|
||||
func (*PipHelper) wantsDir() string { return `"$(mktemp -d)"` }
|
||||
|
||||
// script generates the pip3 install command.
|
||||
func (attr *PipHelper) script(name string) string {
|
||||
if attr == nil {
|
||||
attr = new(PipHelper)
|
||||
}
|
||||
|
||||
var extra string
|
||||
if !attr.BuildIsolation {
|
||||
extra += `
|
||||
--no-build-isolation \`
|
||||
}
|
||||
|
||||
script := attr.Script
|
||||
if attr.EnterSource {
|
||||
script = "cd '/usr/src/" + name + "'\n" + script
|
||||
}
|
||||
|
||||
return `
|
||||
pip3 install \
|
||||
--no-index \
|
||||
--prefix=/system \
|
||||
--root=/work \` + extra + `
|
||||
'/usr/src/` + name + `'
|
||||
` + script
|
||||
}
|
||||
|
||||
// newViaPip installs a pip wheel from a url.
|
||||
func (t Toolchain) newViaPip(
|
||||
name, version, url, checksum string,
|
||||
@@ -134,18 +190,12 @@ func (t Toolchain) newSetuptools() (pkg.Artifact, string) {
|
||||
version = "82.0.1"
|
||||
checksum = "nznP46Tj539yqswtOrIM4nQgwLA1h-ApKX7z7ghazROCpyF5swtQGwsZoI93wkhc"
|
||||
)
|
||||
return t.New("setuptools-"+version, 0, t.AppendPresets(nil,
|
||||
Python,
|
||||
), nil, nil, `
|
||||
pip3 install \
|
||||
--no-index \
|
||||
--prefix=/system \
|
||||
--root=/work \
|
||||
/usr/src/setuptools
|
||||
`, pkg.Path(AbsUsrSrc.Append("setuptools"), true, newFromGitHub(
|
||||
return t.NewPackage("setuptools", version, newFromGitHub(
|
||||
"pypa/setuptools",
|
||||
"v"+version, checksum,
|
||||
))), version
|
||||
), nil, &PipHelper{
|
||||
BuildIsolation: true,
|
||||
}), version
|
||||
}
|
||||
func init() {
|
||||
artifactsM[Setuptools] = Metadata{
|
||||
|
||||
Reference in New Issue
Block a user