summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCrucible <crucible@localhost>2026-10-22 18:39:33 -0500
committerCrucible <crucible@localhost>2026-10-22 18:39:33 -0500
commit032b21359e8d878084b088e1142b1ee7fed127d8 (patch)
treeda25be4511823319fdfa8b0868a6b1e2a81f35be
parent058de4ff4e41e583e68f54b458f2404e9860539d (diff)
downloadsrcux-032b21359e8d878084b088e1142b1ee7fed127d8.tar.gz
srcux-032b21359e8d878084b088e1142b1ee7fed127d8.tar.xz
srcux-032b21359e8d878084b088e1142b1ee7fed127d8.zip
Publish srcux candidate 0000000812-20261022-183510
-rw-r--r--app-misc/smith/Manifest1
-rw-r--r--app-misc/smith/smith-0.13.1.ebuild64
-rw-r--r--profiles/package.mask/srcux-workarounds2
3 files changed, 67 insertions, 0 deletions
diff --git a/app-misc/smith/Manifest b/app-misc/smith/Manifest
index 241a9984204a..d5b987f0134e 100644
--- a/app-misc/smith/Manifest
+++ b/app-misc/smith/Manifest
@@ -266,3 +266,4 @@ DIST zerovec-derive-0.11.6.crate 23102 BLAKE2B 879195255bc944ccfb1a711d5f3056ef2
DIST zmij-1.0.23.crate 28612 BLAKE2B 5b1fda50a365ae6bba79ed8444f15dd184d0ba0d7b993c8f119355029b5d7cf6a4fe5d9f36eec722221725ed747cad5108eb707ef14920670ffa45843edcbfec SHA512 12f8d9726b232b6be68cefbe294505debb7a98715c11b95d89682a596fe1a02d9d7b2a6cdba97f2e8d47fa947ffbce9506a18568f2cab749ca3d03121e5fb66d
DIST smith-0.11.1.tar.gz 214524 BLAKE2B 25fc7748a1e911819b09606d4b7a3b48e2d1298ceec48563a164f97184560eecfdf0d8a1eef154e01968e2b4880cbc62f23c2818fbb0423f89b20312eda7081f SHA512 64f7de9081dd3ee77496597ced23f202b5554af6c1f2335ef46c2e2f533d225c6f1deacff73251dd0661f15c4bcf5845977b33af1fc037f090748419acb7f756
DIST smith-0.13.0.tar.gz 221206 BLAKE2B 34b83778468f0697635606adeb7ce4b7b1f78fc1acc3d52262880be7204b6bc6dbb55fe921e82ba8140e89d487771496d3e79285285d9586e8f8785788e07adf SHA512 377478ff7960342814703d90557e12f1fec7967071b7a2648b360352294b9833eb7a0cfdf576b514436ca12e07aba899eaff0f485d79234e14450bdad8bea0fa
+DIST smith-0.13.1.tar.gz 221228 BLAKE2B 5a835d07ddca10950cd1498c51fd4a8c62d89c11bc6b3f75be6bfd35bcdaf7b82fa640801387aeb6b1d21d9f3fc851b43509e88dad70390bc3964fedac4b4666 SHA512 7fd65bd572eef19389dbe48eb5321be6e88c5c21e2b85d7061e943d0f2103f497c0b9bd3e52b158373699ce8334f97ab61c61f4684309b2c378564441898218e
diff --git a/app-misc/smith/smith-0.13.1.ebuild b/app-misc/smith/smith-0.13.1.ebuild
new file mode 100644
index 000000000000..bae408aca3dd
--- /dev/null
+++ b/app-misc/smith/smith-0.13.1.ebuild
@@ -0,0 +1,64 @@
+EAPI=8
+
+inherit cmake flag-o-matic
+
+DESCRIPTION="Agent Smith: terminal assistant with tools on this host, sessions on alpha (C++)"
+HOMEPAGE="https://trunkmasters.com/smith"
+SRC_URI="https://www.srcux.com/distfiles/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="server"
+
+DEPEND="
+ =dev-libs/boost-1.91.0*
+ =dev-libs/openssl-3.6.5*
+ >=dev-db/sqlite-3.53:3
+ =dev-cpp/nlohmann_json-3.12.0*
+ =dev-cpp/tomlplusplus-3.4.0*
+"
+# The client runs sandboxed commands in bubblewrap and logs in over OpenSSH. The
+# server runs as an existing `smith` account (on Alpha it predates any acct package).
+RDEPEND="
+ ${DEPEND}
+ dev-vcs/git
+ net-misc/openssh
+ sys-apps/bubblewrap
+"
+BDEPEND="
+ dev-vcs/git
+ =dev-cpp/catch-3.15.3*
+ >=dev-lang/python-3.11
+"
+
+src_configure() {
+ # The project refuses in-source builds and requires an absolute build root.
+ export SMITH_CPP_BUILD_ROOT="${WORKDIR}/build"
+ local mycmakeargs=( -DSMITH_SANITIZER=none )
+ cmake_src_configure
+}
+
+src_test() {
+ # The end-to-end tests (sockets, TLS, a pty) run in CI, outside the Portage sandbox.
+ cmake_src_test -R '^unit$'
+}
+
+src_install() {
+ cmake_src_install
+ if use server; then
+ newinitd "${ED}"/usr/share/smith/openrc/smithd.initd smithd
+ newconfd "${ED}"/usr/share/smith/openrc/smithd.confd smithd
+ else
+ rm "${ED}"/usr/sbin/smithd "${ED}"/usr/libexec/smith/smith-mcp || die
+ fi
+}
+
+pkg_postinst() {
+ use server || return
+ elog "Server: needs the system account smith (and AIRouter's account in group of the"
+ elog "relay socket). Start from /usr/share/smith/server.toml.example as /etc/smith/server.toml"
+ elog "(root:smith 0640). AIRouter needs a smith principal, the smith role and a profile"
+ elog "pinned to it whose resource server is /usr/libexec/smith/smith-mcp with"
+ elog "SMITH_MCP_SOCKET=/run/smith/relay/relay.sock. Then: rc-service smithd start."
+}
diff --git a/profiles/package.mask/srcux-workarounds b/profiles/package.mask/srcux-workarounds
index 705ba0bef4fd..c6c0df2ffe3a 100644
--- a/profiles/package.mask/srcux-workarounds
+++ b/profiles/package.mask/srcux-workarounds
@@ -37,8 +37,10 @@
# desktop). Masked so hosts with Rust smith are not upgraded by a world update; unmask
# per host. USE=server also needs a smith account, a PKI and a local AIRouter node.
# 2026-10-22: 0.13.0 added (`smith work` needs AIRouter >= _pre20261022, `shared_work = true` _p1).
+# 2026-10-22: 0.13.1 added (same as 0.13.0; builds with GCC 16).
=app-misc/smith-0.11.1
=app-misc/smith-0.13.0
+=app-misc/smith-0.13.1
=acct-user/smith-0
=acct-group/smith-0