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

This migrates artifacts that the helper cannot produce an identical instance of.

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
2026-01-31 05:09:17 +09:00
parent 29ebc52e26
commit 8b4576bc5f
15 changed files with 262 additions and 263 deletions

View File

@@ -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"},
}, },

View File

@@ -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 }

View File

@@ -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),
) )
} }

View File

@@ -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 }

View File

@@ -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",

View File

@@ -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 }

View File

@@ -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 }

View File

@@ -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,

View File

@@ -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{

View File

@@ -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"},

View File

@@ -12,57 +12,52 @@ 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(
// requires internet access (http://www.pythontest.net/) nil, "https://www.python.org/ftp/python/"+version+
"test_asyncio", "/Python-"+version+".tgz",
"test_socket", mustDecode(checksum),
"test_urllib2", pkg.TarGzip,
"test_urllibnet", ), false), &MakeAttr{
"test_urllib2net", // test_synopsis_sourceless assumes this is writable and checks __pycache__
Writable: true,
// makes assumptions about uid_map/gid_map Env: []string{
"test_os", "EXTRATESTOPTS=-j0 -x " + strings.Join([]string{
"test_subprocess", // requires internet access (http://www.pythontest.net/)
"test_asyncio",
"test_socket",
"test_urllib2",
"test_urllibnet",
"test_urllib2net",
// somehow picks up mtime of source code // makes assumptions about uid_map/gid_map
"test_zipfile", "test_os",
"test_subprocess",
// requires gcc // somehow picks up mtime of source code
"test_ctypes", "test_zipfile",
// breaks on llvm // requires gcc
"test_dbm_gnu", "test_ctypes",
}
return t.New("python-"+version, 0, []pkg.Artifact{
t.Load(Make),
t.Load(Gawk),
t.Load(Coreutils),
// breaks on llvm
"test_dbm_gnu",
}, " -x "),
// _ctypes appears to infer something from the linker name
"LDFLAGS=-Wl,--dynamic-linker=/system/lib/" +
"ld-musl-" + linuxArch() + ".so.1",
},
ScriptEarly: `
export HOME="$(mktemp -d)"
`,
CheckName: "test",
},
t.Load(Zlib), t.Load(Zlib),
t.Load(Libffi), t.Load(Libffi),
}, nil, []string{ )
"EXTRATESTOPTS=-j0 -x " + strings.Join(skipTests, " -x "),
// _ctypes appears to infer something from the linker name
"LDFLAGS=-Wl,--dynamic-linker=/system/lib/" +
"ld-musl-" + linuxArch() + ".so.1",
}, `
export HOME="$(mktemp -d)"
cd "$(mktemp -d)"
/usr/src/python/configure \
--prefix=/system \
--build="${ROSA_TRIPLE}"
make "-j$(nproc)"
make test
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 }

View File

@@ -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 }

View File

@@ -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 }

View File

@@ -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 }

View File

@@ -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, "https://zlib.net/zlib-"+version+".tar.gz",
}, nil, nil, ` mustDecode(checksum),
cd "$(mktemp -d)" pkg.TarGzip,
CC="clang -fPIC" /usr/src/zlib/configure \ ), &MakeAttr{
--prefix /system OmitDefaults: true,
make "-j$(nproc)" test Env: []string{
make DESTDIR=/work install "CC=clang -fPIC",
`, pkg.Path(AbsUsrSrc.Append("zlib"), true, },
pkg.NewHTTPGetTar( Build: `""`,
nil, "https://zlib.net/zlib-"+version+".tar.gz", })
mustDecode(checksum),
pkg.TarGzip,
)))
} }
func init() { artifactsF[Zlib] = Toolchain.newZlib } func init() { artifactsF[Zlib] = Toolchain.newZlib }