diff --git a/cmd/mbf/main.go b/cmd/mbf/main.go index 944fd75..ed4422b 100644 --- a/cmd/mbf/main.go +++ b/cmd/mbf/main.go @@ -174,6 +174,8 @@ func main() { p = rosa.Gperf case "kernel-headers": p = rosa.KernelHeaders + case "libXau": + p = rosa.LibXau case "libexpat": p = rosa.Libexpat case "libseccomp": @@ -208,6 +210,12 @@ func main() { p = rosa.Wayland case "wayland-protocols": p = rosa.WaylandProtocols + case "xcb": + p = rosa.XCB + case "xcb-proto": + p = rosa.XCBProto + case "xproto": + p = rosa.Xproto case "zlib": p = rosa.Zlib diff --git a/internal/rosa/all.go b/internal/rosa/all.go index 4d95d4e..686422c 100644 --- a/internal/rosa/all.go +++ b/internal/rosa/all.go @@ -23,6 +23,7 @@ const ( Go Gperf KernelHeaders + LibXau Libexpat Libffi Libgd @@ -40,6 +41,9 @@ const ( Setuptools Wayland WaylandProtocols + XCB + XCBProto + Xproto Zlib // _presetEnd is the total number of presets and does not denote a preset. diff --git a/internal/rosa/libgd.go b/internal/rosa/libgd.go index 0ab414c..6eb199e 100644 --- a/internal/rosa/libgd.go +++ b/internal/rosa/libgd.go @@ -19,7 +19,8 @@ mkdir /dev/shm/gd cd "$(mktemp -d)" /usr/src/libgd/configure \ --prefix=/system \ - --build="${ROSA_TRIPLE}" + --build="${ROSA_TRIPLE}" \ + --enable-static make "-j$(nproc)" check make DESTDIR=/work install `, pkg.Path(AbsUsrSrc.Append("libgd"), true, pkg.NewHTTPGetTar( diff --git a/internal/rosa/x.go b/internal/rosa/x.go new file mode 100644 index 0000000..a10f6ba --- /dev/null +++ b/internal/rosa/x.go @@ -0,0 +1,52 @@ +package rosa + +import "hakurei.app/internal/pkg" + +func (t Toolchain) newXproto() pkg.Artifact { + const ( + version = "7.0.23" + checksum = "goxwWxV0jZ_3pNczXFltZWHAhq92x-aEreUGyp5Ns8dBOoOmgbpeNIu1nv0Zx07z" + ) + return t.New("xproto-"+version, false, []pkg.Artifact{ + t.Load(Make), + 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), + pkg.TarBzip2, + ))) +} +func init() { artifactsF[Xproto] = Toolchain.newXproto } + +func (t Toolchain) newLibXau() pkg.Artifact { + const ( + version = "1.0.7" + checksum = "bm768RoZZnHRe9VjNU1Dw3BhfE60DyS9D_bgSR-JLkEEyUWT_Hb_lQripxrXto8j" + ) + return t.New("libXau-"+version, false, []pkg.Artifact{ + t.Load(Make), + 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/"+ + "libXau-"+version+".tar.bz2", + mustDecode(checksum), + pkg.TarBzip2, + ))) +} +func init() { artifactsF[LibXau] = Toolchain.newLibXau } diff --git a/internal/rosa/xcb.go b/internal/rosa/xcb.go new file mode 100644 index 0000000..5886356 --- /dev/null +++ b/internal/rosa/xcb.go @@ -0,0 +1,56 @@ +package rosa + +import "hakurei.app/internal/pkg" + +func (t Toolchain) newXCBProto() pkg.Artifact { + const ( + version = "1.17.0" + checksum = "_NtbKaJ_iyT7XiJz25mXQ7y-niTzE8sHPvLXZPcqtNoV_-vTzqkezJ8Hp2U1enCv" + ) + return t.New("xcb-proto-"+version, false, []pkg.Artifact{ + t.Load(Make), + t.Load(Python), + }, nil, nil, ` +cd "$(mktemp -d)" +/usr/src/xcb-proto/configure \ + --prefix=/system \ + --build="${ROSA_TRIPLE}" \ + --enable-static +make "-j$(nproc)" check +make DESTDIR=/work install +`, pkg.Path(AbsUsrSrc.Append("xcb-proto"), true, pkg.NewHTTPGetTar( + nil, "https://xcb.freedesktop.org/dist/xcb-proto-"+version+".tar.gz", + mustDecode(checksum), + pkg.TarGzip, + ))) +} +func init() { artifactsF[XCBProto] = Toolchain.newXCBProto } + +func (t Toolchain) newXCB() pkg.Artifact { + const ( + version = "1.17.0" + checksum = "hjjsc79LpWM_hZjNWbDDS6qRQUXREjjekS6UbUsDq-RR1_AjgNDxhRvZf-1_kzDd" + ) + return t.New("xcb-"+version, false, []pkg.Artifact{ + t.Load(Make), + t.Load(Python), + t.Load(PkgConfig), + + t.Load(XCBProto), + t.Load(Xproto), + 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 }