summaryrefslogtreecommitdiff
path: root/dev-build
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-07-30 03:04:49 -0500
committerroot <root@alpha.trunkmasters.com>2026-07-30 03:04:49 -0500
commit0fb86e044f244e00302b1878b3e15e0db0e4b7e5 (patch)
tree01eeaaaafa24d9c759103aa30b91c5999ae52a1d /dev-build
parent8087a9548fbac1dade3245660600d025f43d6732 (diff)
downloadbaldeagleos-repo-0fb86e044f244e00302b1878b3e15e0db0e4b7e5.tar.gz
baldeagleos-repo-0fb86e044f244e00302b1878b3e15e0db0e4b7e5.tar.xz
baldeagleos-repo-0fb86e044f244e00302b1878b3e15e0db0e4b7e5.zip
Adding metadata
Diffstat (limited to 'dev-build')
-rw-r--r--dev-build/b2/Manifest1
-rw-r--r--dev-build/b2/b2-5.5.3.ebuild72
-rw-r--r--dev-build/buildstream-plugins-community/Manifest1
-rw-r--r--dev-build/buildstream-plugins-community/buildstream-plugins-community-2.3.1.ebuild82
-rw-r--r--dev-build/buildstream-plugins-community/metadata.xml9
-rw-r--r--dev-build/buildstream-plugins/Manifest1
-rw-r--r--dev-build/buildstream-plugins/buildstream-plugins-2.7.0.ebuild75
-rw-r--r--dev-build/buildstream-plugins/metadata.xml9
-rw-r--r--dev-build/buildstream/Manifest2
-rw-r--r--dev-build/buildstream/buildstream-2.7.0.ebuild179
-rw-r--r--dev-build/buildstream/files/buildstream-2.7.0-rename-the-destination-of-the-plugins-option.patch28
-rw-r--r--dev-build/buildstream/metadata.xml14
12 files changed, 473 insertions, 0 deletions
diff --git a/dev-build/b2/Manifest b/dev-build/b2/Manifest
index 15ca52d2d1d7..6082e505b77b 100644
--- a/dev-build/b2/Manifest
+++ b/dev-build/b2/Manifest
@@ -1 +1,2 @@
DIST b2-5.4.2.tar.gz 1201271 BLAKE2B 573a94ce0300fee53a161e1ba7838890e0a8ea074b568eb2df479f70639d05e28b6d2b4a301d82dddc58f26a83f8d2c41cac41272fe689d456007acb49d1ca6f SHA512 fd68cedc9936a463525df47b87b10c8fb72d9eec8355fd1b460ddf4a9c25369beb282a6a8229d54a01d56a82fcc5224af837fc8bc58042af02e688e9c0d4f4c6
+DIST b2-5.5.3.tar.gz 1225841 BLAKE2B bb20b0aae65ac3c7aa2025d875dee8d50ee4e79eadc8d90dbce5b0fb614fb8811990b883cac026f1dce23a78b837ad00dba0107afcde8d1c1c4f73168593f516 SHA512 60fbca138ab3e066b1864ffdeba4f5461fd1b05c825d3553d7a3d79056798e51b87717e7248305384b492f993088ca7bff2273ddce599dd40bdf4cf6a721d70e
diff --git a/dev-build/b2/b2-5.5.3.ebuild b/dev-build/b2/b2-5.5.3.ebuild
new file mode 100644
index 000000000000..82457644e856
--- /dev/null
+++ b/dev-build/b2/b2-5.5.3.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=9
+
+inherit flag-o-matic toolchain-funcs
+
+MY_PV="$(ver_rs 1- _)"
+
+DESCRIPTION="A system for large project software construction, simple to use and powerful"
+HOMEPAGE="https://www.bfgroup.xyz/b2/"
+SRC_URI="https://github.com/bfgroup/b2/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P}/src"
+
+LICENSE="Boost-1.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
+IUSE="examples"
+RESTRICT="test"
+
+RDEPEND="!dev-util/boost-build"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.9.2-disable_python_rpath.patch
+ "${FILESDIR}"/${PN}-4.9.2-darwin-gentoo-toolchain.patch
+ "${FILESDIR}"/${PN}-4.9.2-add-none-feature-options.patch
+ "${FILESDIR}"/${PN}-5.4.2-no-implicit-march-flags.patch
+)
+
+src_configure() {
+ # need to enable LFS explicitly for 64-bit offsets on 32-bit hosts (#761100)
+ append-lfs-flags
+}
+
+src_compile() {
+ cd engine || die
+
+ # don't call windres since it leads to broken relocations
+ export B2_DONT_EMBED_MANIFEST=1
+
+ # upstream doesn't want separate flags for CPPFLAGS/LDFLAGS
+ # https://github.com/bfgroup/b2/pull/187#issuecomment-1335688424
+ edo ${CONFIG_SHELL:-${BASH}} ./build.sh cxx \
+ --cxx="$(tc-getCXX)" \
+ --cxxflags="-pthread ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS}" \
+ -d+2 \
+ --without-python
+}
+
+src_test() {
+ # Forget tests, b2 is a lost cause
+ :
+}
+
+src_install() {
+ dobin engine/b2
+
+ insinto /usr/share/b2/src
+ doins -r "${FILESDIR}/site-config.jam" \
+ build-system.jam ../example/user-config.jam \
+ build contrib options tools util
+
+ find "${ED}"/usr/share/b2/src -iname '*.py' -delete || die
+
+ dodoc ../notes/relative_source_paths.txt
+
+ if use examples; then
+ docinto examples
+ dodoc -r ../example/.
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-build/buildstream-plugins-community/Manifest b/dev-build/buildstream-plugins-community/Manifest
new file mode 100644
index 000000000000..0ee30077a879
--- /dev/null
+++ b/dev-build/buildstream-plugins-community/Manifest
@@ -0,0 +1 @@
+DIST buildstream-plugins-community-2.3.1.tar.bz2 130547 BLAKE2B f31634f526d6768615a98d59c1c100c4906441e636965eb990e6b330693e54517a9108760d1e28ac3eba96729c6fb8ba378880a635860f55c042534b342ce1c1 SHA512 cdebe7b88d0c528ff23166a1065bff952c136411b587dddd7454f8903b0d399319da120596aee424a5e6e9c482d52b11c31b27acbe2fff2e3c77aaf9621a0181
diff --git a/dev-build/buildstream-plugins-community/buildstream-plugins-community-2.3.1.ebuild b/dev-build/buildstream-plugins-community/buildstream-plugins-community-2.3.1.ebuild
new file mode 100644
index 000000000000..bc043cfa8ce3
--- /dev/null
+++ b/dev-build/buildstream-plugins-community/buildstream-plugins-community-2.3.1.ebuild
@@ -0,0 +1,82 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="A collection of community maintained plugins for the BuildStream project"
+HOMEPAGE="https://buildstream.gitlab.io/buildstream-plugins-community/"
+SRC_URI="https://gitlab.com/BuildStream/buildstream-plugins-community/-/archive/${PV}/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="2"
+KEYWORDS="~amd64"
+IUSE="test"
+
+RDEPEND="
+ dev-build/buildstream:2[${PYTHON_USEDEP}]
+ dev-python/arpy[${PYTHON_USEDEP}]
+ dev-python/dulwich[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/tomlkit[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/pycodestyle[${PYTHON_USEDEP}]
+ dev-python/pyftpdlib[${PYTHON_USEDEP}]
+ dev-python/pylint[${PYTHON_USEDEP}]
+ dev-python/pytest-datafiles[${PYTHON_USEDEP}]
+ dev-python/pytest-env[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/responses[${PYTHON_USEDEP}]
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ dev-util/ostree
+ dev-util/quilt
+ dev-vcs/git-lfs
+ )
+"
+
+RESTRICT="!test? ( test )"
+
+EPYTEST_PLUGINS=( pytest-datafiles )
+
+distutils_enable_tests pytest
+
+src_configure() {
+ # pyproject contains `version=dynamic`
+ export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+ distutils-r1_src_configure
+}
+
+python_test() {
+ # UNKNOWN:Path name should not have more than 107 characters
+ local TMPDIR=/tmp
+
+ # fuse: failed to open /dev/fuse: Permission denied
+ addwrite "/dev/fuse"
+ # still fails inside a bubblewrap container :/
+ # fusermount3: mount failed: Operation not permitted
+
+ EPYTEST_DESELECT=(
+ # fuse tests
+ tests/sources/bazel.py::test_basic
+ tests/sources/bazel.py::test_multi_url
+ tests/sources/bazel.py::test_no_sha
+ # tests using network
+ tests/sources/bazel_file.py::test_basic
+ tests/sources/bazel_file.py::test_multi_url
+ source_determinism.py::test_deterministic_source_umask[git_tag]
+ source_determinism.py::test_deterministic_source_umask[zip]
+ )
+
+ # to not pollute the source directory and make grepping hard.
+ # can't just use ${T} as the --basetemp option removes the directory
+ # if it exists
+ epytest --basetemp "${T}"/test_dir
+}
diff --git a/dev-build/buildstream-plugins-community/metadata.xml b/dev-build/buildstream-plugins-community/metadata.xml
new file mode 100644
index 000000000000..976a61e93dd8
--- /dev/null
+++ b/dev-build/buildstream-plugins-community/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>zyx@envs.net</email>
+ <name>zyxhere💭</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/dev-build/buildstream-plugins/Manifest b/dev-build/buildstream-plugins/Manifest
new file mode 100644
index 000000000000..466dbf0dfb73
--- /dev/null
+++ b/dev-build/buildstream-plugins/Manifest
@@ -0,0 +1 @@
+DIST buildstream-plugins-2.7.0.tar.gz 125853 BLAKE2B 3ca7f1af10c0d649eaecb42602c5e0940c82209e546afcc0cdf32f110a778c6f524cf0bfbf99ff26d0e86916a0e1b2b9de57cbab9376f049381e841306bd3eb2 SHA512 2cd34d78ec7efe91d462eea12b48f9286349d1e07406258f564acf1de5d9736d6e2531cf401379212991060b935b19bf031d6f97e849446b0fdbf589c902c57a
diff --git a/dev-build/buildstream-plugins/buildstream-plugins-2.7.0.ebuild b/dev-build/buildstream-plugins/buildstream-plugins-2.7.0.ebuild
new file mode 100644
index 000000000000..c53c125fd88f
--- /dev/null
+++ b/dev-build/buildstream-plugins/buildstream-plugins-2.7.0.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="A collection of plugins for the BuildStream project"
+HOMEPAGE="https://apache.github.io/buildstream-plugins/"
+SRC_URI="
+ https://github.com/apache/buildstream-plugins/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="2"
+KEYWORDS="~amd64"
+IUSE="test"
+
+RDEPEND="
+ dev-build/buildstream:2[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ virtual/pkgconfig
+ test? (
+ dev-python/pycodestyle[${PYTHON_USEDEP}]
+ dev-python/pyftpdlib[${PYTHON_USEDEP}]
+ dev-python/pylint[${PYTHON_USEDEP}]
+ dev-python/pytest-datafiles[${PYTHON_USEDEP}]
+ dev-python/pytest-env[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/responses[${PYTHON_USEDEP}]
+ )
+"
+
+RESTRICT="!test? ( test )"
+
+EPYTEST_PLUGINS=( pytest-datafiles )
+distutils_enable_tests pytest
+
+python_test() {
+ # UNKNOWN:Path name should not have more than 107 characters
+ local TMPDIR=/tmp
+
+ # fuse: failed to open /dev/fuse: Permission denied
+ addwrite "/dev/fuse"
+ # still fails inside a bubblewrap container :/
+ # fusermount3: mount failed: Operation not permitted
+
+ local EPYTEST_DESELECT=(
+ # fuse tests
+ tests/sources/cargo.py::test_cargo_track_fetch_build
+ tests/sources/patch.py::test_stage_and_patch
+ tests/sources/patch.py::test_stage_file_nonexistent_dir
+ tests/sources/patch.py::test_stage_file_empty_dir
+ tests/sources/patch.py::test_stage_separate_patch_dir
+ tests/sources/patch.py::test_stage_multiple_patches
+ tests/sources/patch.py::test_patch_strip_level
+ # tests using network
+ tests/sources/docker.py::test_docker_fetch
+ tests/sources/docker.py::test_docker_source_checkout
+ tests/sources/docker.py::test_handle_network_error
+ tests/sources/docker.py::test_fetch_duplicate_layers
+ source_determinism.py::test_deterministic_source_umask[git]
+ )
+
+ # to not pollute the source directory and make grepping hard.
+ # can't just use ${T} as the --basetemp option removes the directory
+ # if it exists
+ epytest --basetemp "${T}"/test_dir
+}
diff --git a/dev-build/buildstream-plugins/metadata.xml b/dev-build/buildstream-plugins/metadata.xml
new file mode 100644
index 000000000000..976a61e93dd8
--- /dev/null
+++ b/dev-build/buildstream-plugins/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>zyx@envs.net</email>
+ <name>zyxhere💭</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/dev-build/buildstream/Manifest b/dev-build/buildstream/Manifest
new file mode 100644
index 000000000000..8b970d222ee2
--- /dev/null
+++ b/dev-build/buildstream/Manifest
@@ -0,0 +1,2 @@
+DIST buildstream-2.7.0-docs.tgz 8981333 BLAKE2B d1da63006ce45f9ef338735a1cf62f419e210c7728f27b49d4925603e344cbfa3ead3d25ec360a3835f292f4c7436e99a15089cc7987f92531b1088c2ab06cfc SHA512 afa9fa659fce87e0ce2afff74441c8a21d7aa5c1412739f9d26fb66779e2fcb3a2d91760bf9e8217e3b058e55971937a29de638416a3de38fc51a1e5425d7a60
+DIST buildstream-2.7.0.tar.gz 1663951 BLAKE2B 6bc97ad498195a9559b8652aac0f31e44b553578d146ad2cee592fdbf15f7efb61b0e7c6943715e0ef9559670c1bd0b01aafa086b51975495b6a5e24d803491c SHA512 75478cbb7d43aac0d3238b906bd00665cab5ff93a3d88a6105687a917da61db5ba5a6b26eec7c86305a09c773168133a98bd6c9f3003e20e9dc964d0ac84433f
diff --git a/dev-build/buildstream/buildstream-2.7.0.ebuild b/dev-build/buildstream/buildstream-2.7.0.ebuild
new file mode 100644
index 000000000000..f0da8fcef676
--- /dev/null
+++ b/dev-build/buildstream/buildstream-2.7.0.ebuild
@@ -0,0 +1,179 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 linux-info optfeature shell-completion
+
+DESCRIPTION="The software integration tool"
+HOMEPAGE="https://buildstream.build/"
+# zsh completion & docs not packaged in pypi tarball
+SRC_URI="
+ https://github.com/apache/buildstream/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.tar.gz
+
+ doc? ( https://github.com/apache/buildstream/releases/download/${PV}/docs.tgz
+ -> ${P}-docs.tgz )
+"
+
+LICENSE="Apache-2.0"
+SLOT="2"
+KEYWORDS="~amd64"
+IUSE="doc test"
+
+# https://docs.buildstream.build/master/main_install.html#runtime-requirements
+# pyproject.toml, requiremnts/*.txt
+RDEPEND="
+ dev-util/buildbox[casd,fuse,recc]
+ dev-vcs/git
+ app-alternatives/tar
+ sys-devel/patch
+ dev-python/click[${PYTHON_USEDEP}]
+ dev-python/grpcio[${PYTHON_USEDEP}]
+ dev-python/jinja2[${PYTHON_USEDEP}]
+ dev-python/pluginbase[${PYTHON_USEDEP}]
+ dev-python/protobuf[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/ruamel-yaml[${PYTHON_USEDEP}]
+ dev-python/ruamel-yaml-clib[${PYTHON_USEDEP}]
+ dev-python/pyroaring[${PYTHON_USEDEP}]
+ dev-python/ujson[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ test? (
+ app-alternatives/lzip
+ dev-build/buildstream-plugins:2[${PYTHON_USEDEP}]
+ dev-python/astroid[${PYTHON_USEDEP}]
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/dill[${PYTHON_USEDEP}]
+ dev-python/exceptiongroup[${PYTHON_USEDEP}]
+ dev-python/execnet[${PYTHON_USEDEP}]
+ dev-python/iniconfig[${PYTHON_USEDEP}]
+ dev-python/isort[${PYTHON_USEDEP}]
+ dev-python/markupsafe[${PYTHON_USEDEP}]
+ dev-python/mccabe[${PYTHON_USEDEP}]
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ dev-python/platformdirs[${PYTHON_USEDEP}]
+ dev-python/ptyprocess[${PYTHON_USEDEP}]
+ dev-python/pylint[${PYTHON_USEDEP}]
+ dev-python/pyftpdlib[${PYTHON_USEDEP}]
+ dev-python/pytest-cov[${PYTHON_USEDEP}]
+ dev-python/pytest-datafiles[${PYTHON_USEDEP}]
+ dev-python/pytest-env[${PYTHON_USEDEP}]
+ dev-python/pytest-expect[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ dev-python/tomli[${PYTHON_USEDEP}]
+ dev-python/tomlkit[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ dev-util/ostree
+ )
+"
+
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-rename-the-destination-of-the-plugins-option.patch
+)
+
+EPYTEST_PLUGINS=( pytest-{timeout,datafiles,env} )
+
+distutils_enable_tests pytest
+
+src_unpack() {
+ if use doc; then
+ # docs don't contain a parent directory, just spills into ${WORKDIR}
+ unpack ${P}-docs.tgz
+ mkdir "${T}"/docs || die
+ mv ./* "${T}"/docs || die
+ fi
+
+ unpack ${P}.tar.gz
+}
+
+pkg_setup() {
+ CONFIG_CHECK="~FUSE_FS"
+ linux-info_pkg_setup
+}
+
+python_test() {
+ # https://projects.gentoo.org/python/guide/test.html#installing-extra-dependencies-in-test-environment-pep-517-mode
+ cp -a "${BUILD_DIR}"/{install,test} || die
+ local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH}
+
+ # install the samples plugins or else tests using it get skipped
+ pushd tests/plugins/sample-plugins >/dev/null || die
+ distutils_pep517_install "${BUILD_DIR}"/test
+ popd >/dev/null || die
+
+ # tox.ini
+ export BST_TEST_HOME=${HOME}
+ export BST_TEST_XDG_CACHE_HOME=${HOME}/cache
+ export BST_TEST_XDG_CONFIG_HOME=${HOME}/config
+ export BST_TEST_XDG_DATA_HOME=${HOME}/share
+
+ # fuse: failed to open /dev/fuse: Permission denied
+ addwrite "/dev/fuse"
+ # still fails inside a bubblewrap container :/
+ # fusermount3: mount failed: Operation not permitted
+
+ local EPYTEST_DESELECT=(
+ # the git_tag and zip tests fail
+ # `no sample plugin available for {zip,git_tag}`
+ tests/frontend/workspace.py::test_build[project-no-guess-strict-git_tag]
+ tests/frontend/workspace.py::test_build[project-no-guess-strict-zip]
+ tests/frontend/workspace.py::test_build[project-no-guess-non-strict-git_tag]
+ tests/frontend/workspace.py::test_build[project-no-guess-non-strict-zip]
+ tests/frontend/workspace.py::test_build[workspace-guess-strict-git_tag]
+ tests/frontend/workspace.py::test_build[workspace-guess-strict-zip]
+ tests/frontend/workspace.py::test_build[workspace-guess-non-strict-git_tag]
+ tests/frontend/workspace.py::test_build[workspace-guess-non-strict-zip]
+ tests/frontend/workspace.py::test_build[workspace-no-guess-strict-git_tag]
+ tests/frontend/workspace.py::test_build[workspace-no-guess-strict-zip]
+ tests/frontend/workspace.py::test_build[workspace-no-guess-non-strict-git_tag]
+ tests/frontend/workspace.py::test_build[workspace-no-guess-non-strict-zip]
+ # fuse tests
+ # "std::runtime_error exception thrown at [buildboxcommon_fusestager.cpp:149], errMsg = "The FUSE stager child process unexpectedly died with exit code 2""
+ # TODO: test on host instead of container with /dev/fuse mounted
+ tests/sourcecache
+ tests/sources
+ )
+
+ # to not pollute the source directory and make grepping hard.
+ # can't just use ${T} as the --basetemp option removes the directory
+ # if it exists
+ epytest --basetemp "${T}"/test_dir
+}
+
+src_install() {
+ distutils-r1_src_install
+
+ dobashcomp src/${PN}/data/bst
+ dozshcomp src/${PN}/data/zsh/_bst
+
+ if use doc; then
+ HTML_DOCS=( "${T}"/docs/* )
+ einstalldocs
+ fi
+}
+
+pkg_postinst() {
+ for i in dev-build/buildstream-plugins{,-community}; do
+ if ! has_version ${i}; then
+ elog "Please install ${i} for additional functionality via plugins."
+ fi
+ done
+
+ ! has_version app-arch/lzip && \
+ optfeature "extraction of .tar.lz sources" app-alternatives/lzip
+ ! has_version dev-util/ostree && \
+ optfeature "ostree based source integration" dev-util/ostree
+}
diff --git a/dev-build/buildstream/files/buildstream-2.7.0-rename-the-destination-of-the-plugins-option.patch b/dev-build/buildstream/files/buildstream-2.7.0-rename-the-destination-of-the-plugins-option.patch
new file mode 100644
index 000000000000..71d157a2ce7d
--- /dev/null
+++ b/dev-build/buildstream/files/buildstream-2.7.0-rename-the-destination-of-the-plugins-option.patch
@@ -0,0 +1,28 @@
+https://github.com/apache/buildstream/pull/2130
+
+From a263b4d2ac31ce1a2fb190e737464245dde3686c Mon Sep 17 00:00:00 2001
+From: Abderrahim Kitouni <akitouni@gnome.org>
+Date: Tue, 2 Jun 2026 15:50:56 +0100
+Subject: [PATCH] conftest: rename the destination of the --plugins option
+
+This conflicts with the `-p` option of pytest
+--- a/tests/conftest.py
++++ b/tests/conftest.py
+@@ -41,7 +41,7 @@
+ #################################################
+ def pytest_addoption(parser):
+ parser.addoption("--integration", action="store_true", default=False, help="Run integration tests")
+- parser.addoption("--plugins", action="store_true", default=False, help="Run only plugins tests")
++ parser.addoption("--plugins", action="store_true", dest="bst_plugins", default=False, help="Run only plugins tests")
+ parser.addoption("--remote-execution", action="store_true", default=False, help="Run remote-execution tests only")
+ parser.addoption("--remote-cache", action="store_true", default=False, help="Run remote-cache tests only")
+
+@@ -74,7 +74,7 @@ def pytest_collection_modifyitems(session, config, items):
+ item.add_marker(pytest.mark.skip("skipping remote-cache test"))
+
+ # With --plugins only run plugins tests
+- if config.getvalue("plugins"):
++ if config.getvalue("bst_plugins"):
+ if not item.get_closest_marker("generic_source_test"):
+ item.add_marker(pytest.mark.skip("Skipping not generic source test"))
+
diff --git a/dev-build/buildstream/metadata.xml b/dev-build/buildstream/metadata.xml
new file mode 100644
index 000000000000..49bf0b5bdf10
--- /dev/null
+++ b/dev-build/buildstream/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>zyx@envs.net</email>
+ <name>zyxhere💭</name>
+ </maintainer>
+ <longdescription>
+ BuildStream is a powerful software integration tool that allows developers
+ to automate the integration of software components including operating
+ systems, and to streamline the software development and production process.
+ </longdescription>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>