diff --git a/dev-util/grok-build/Manifest b/dev-util/grok-build/Manifest index d448a70af8..5d33128641 100644 --- a/dev-util/grok-build/Manifest +++ b/dev-util/grok-build/Manifest @@ -3,4 +3,6 @@ DIST grok-build-1.0.5-crates.tar.xz 91705144 BLAKE2B e5fcd73668373b0227794a3ebb9 DIST grok-build-1.0.5.gh.tar.gz 14374661 BLAKE2B 4ee74d5c7288988eb41be4d14556f93481ff00b67435402844de9601003111edf8910e65d4243023efddb37f97a3e1e4476ace8f5742fde093ffa243edf465a5 SHA512 8f5628711e1e07ee6a77b45afec25684d3b2b733f5b9195c40a45d58dd86ad81e7e155080028753bc2b6479ee4fd8907425ccff3cce637c34deb0ae2f39a8b3c DIST grok-build-1.0.6-crates.tar.xz 91705144 BLAKE2B e5fcd73668373b0227794a3ebb96d41a1ce154ffe29a83ebee9b5bff5fa003c2732c944ac5b471b97f7e81d7ef4f41bd92d0cea75384b599961d5ec348c28f74 SHA512 f8dc9e93e151b95305917aeae1cabda00d0ff8fd274a28bd5779d331b056875fa7ebfbc55e770601cafcb3e2c5d33ca82032bccfc27625c7c5c70849c4f00833 DIST grok-build-1.0.6.gh.tar.gz 14535309 BLAKE2B 51957828ebf6d61165129213fe3c352c2e817e6e2b69e45a9ce3c4cab06b73761d756c0854077d6f30e5e3556ac41d6a8dc6376468aa81b823a8a508038f2384 SHA512 1f5d0997622f361d76399ebf0290c4dec3f930afd8290d42dd33ebf00b46c64138ed104228581d1737df775a025642ab1561e11ed0de47c5a1aa455bfe9c14e1 +DIST grok-build-1.0.8-crates.tar.xz 91758864 BLAKE2B 5bb780e1d8670343eac7c67ebbd78e03db4e73814dcb4f91b96a5069ba54febd6cf4f7354987b9797c1d47590ede9b58998ca3da892917c4d4d1a682cf9cb2b5 SHA512 b4acbbea7b91ef7f85d447ae81e787800cabb451de31ef8c8c0d94c02dcd210befcb39d8afdbdd60f4fa87c8a2e48e53396b01411dc12f0a78a319622d8ee8a7 +DIST grok-build-1.0.8.gh.tar.gz 14810649 BLAKE2B 88f7efe22390d05871dcc3aa808d33b6fd1311202d41e0dbcdf91d690c9e7b5750ef675b0e902bc0b9246b809aaaf8eb111434292356aaf96b56a0e9ac6a5103 SHA512 cb106e388a455353a3b982c17f8dcd4b0f211285290684c893c1de5e89decb7c91e0304f050447eb588adaf25fb8b393848f7f5529e5cc753a5d6503076d135f DIST nucleo-5b74652e482f7c07d827f18c6d21e7540c242c69.gh.tar.gz 86764 BLAKE2B 006ac7e8c4c7e35a9fd690cd699c7c6d45f9368ed5ac8e1ad2b098128b530ef1f72aeccc6e87dd7d84f98b402f72313be8716f1eeae954b25898359f1037b41a SHA512 a8762638ef79da9dc344664342779c9aecb1b19facc23614d87b639d21b356aab3715cbdb51e541b7dd569a2d4e5cbf97591d4341e3ae538e5aa4a620f4f72f6 diff --git a/dev-util/grok-build/grok-build-1.0.8.ebuild b/dev-util/grok-build/grok-build-1.0.8.ebuild new file mode 100644 index 0000000000..c183b5b458 --- /dev/null +++ b/dev-util/grok-build/grok-build-1.0.8.ebuild @@ -0,0 +1,112 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.16.0 + +EAPI=8 + +RUST_MIN_VER="1.92.0" + +CRATES=" +" + +declare -A GIT_CRATES=( + [async-openai-macros]='https://github.com/our-forks/async-openai;95b52ebdedf42143083cf3d6f0e0be7c84e9c808;async-openai-%commit%/async-openai-macros' + [async-openai]='https://github.com/our-forks/async-openai;95b52ebdedf42143083cf3d6f0e0be7c84e9c808;async-openai-%commit%/async-openai' + [nucleo-matcher]='https://github.com/helix-editor/nucleo;5b74652e482f7c07d827f18c6d21e7540c242c69;nucleo-%commit%/matcher' + [nucleo]='https://github.com/helix-editor/nucleo;5b74652e482f7c07d827f18c6d21e7540c242c69;nucleo-%commit%' +) + +inherit cargo check-reqs shell-completion + +# no tagged releases +MY_COMMIT="076efb340401bf33999d6f9bb0289ab480d75984" +DESCRIPTION="SpaceXAI's coding agent harness and TUI" +HOMEPAGE=" + https://x.ai/cli + https://x.ai/open-source + https://github.com/xai-org/grok-build +" +SRC_URI=" + https://github.com/xai-org/${PN}/archive/${MY_COMMIT}.tar.gz -> ${P}.gh.tar.gz + https://github.com/fasys-crate-dist/${PN}/releases/download/v${PV}/${P}-crates.tar.xz + ${CARGO_CRATE_URIS} +" +S="${WORKDIR}/${PN}-${MY_COMMIT}" + +LICENSE="Apache-2.0" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 BSD-2 BSD Boost-1.0 CC0-1.0 CDLA-Permissive-2.0 EPL-2.0 + ISC MIT MIT-0 MPL-2.0 MPL-2.0 Unicode-3.0 Unicode-DFS-2016 WTFPL-2 + ZLIB +" +SLOT="0" +KEYWORDS="~amd64" # ~arm64: ugrep +# TODO add feature USE flags? + +DEPEND=" + sys-apps/bfs + sys-apps/ripgrep + sys-apps/ugrep +" +RDEPEND="${DEPEND}" +BDEPEND=" + >=dev-libs/protobuf-25.6[protoc] +" + +QA_FLAGS_IGNORED="usr/bin/.*" + +CHECKREQS_DISK_BUILD=10G # 9.7G + +pkg_setup() { + check-reqs_pkg_setup + rust_pkg_setup +} + +src_prepare() { + default + + # Do not bundle ripgrep + local f + for f in crates/codegen/xai-grok-{shell,tools}/build.rs; do + sed \ + -e '1i #![allow(unreachable_code)]' \ + -e '/fn main()/a \ return Ok(());' \ + -i "$f" || die + done + + # Disable auto-updates + sed \ + -e '1i #![allow(unreachable_code)]' \ + -e '/fn env_installer(/a \ return Some("portage");' \ + -i crates/codegen/xai-grok-update/src/auto_update.rs || die + + # Cargo offline fetch workaround + local url commit path + IFS=";" read -r url commit path <<<"${GIT_CRATES[async-openai]}" + local ASYNC_OPENAI_GIT="async-openai = { git = \"${url}.git\", rev = \"${commit}\"" + local ASYNC_OPENAI_PATH="async-openai = \\{ path = \"${WORKDIR}/async-openai-${commit}/async-openai\"" + + sed "s|${ASYNC_OPENAI_GIT}|${ASYNC_OPENAI_PATH}|" \ + -i "${S}/Cargo.toml" || die +} + +src_test() { + # TODO more tests + cargo_src_test --package xai-grok-pager-bin +} + +src_install() { + newbin "$(cargo_target_dir)/xai-grok-pager" grok + dosym grok /usr/bin/agent + + local grok_bin="${ED}/usr/bin/grok" + "${grok_bin}" completions bash > grok || die + "${grok_bin}" completions fish > grok.fish || die + "${grok_bin}" completions zsh > _grok || die + + dobashcomp grok + dofishcomp grok.fish + dozshcomp _grok +}