single_version_override(
module_name = "rules_python",
patch_strip = 1,
patches = [
"//third_party:rules_python/0002-Allow-users-to-inject-extra-deps.patch",
"//third_party:rules_python/0003-Add-sysroot-dep.patch",
],
version = "1.5.3",
)
single_version_override(
module_name = "glib",
patch_strip = 1,
patches = [
"third_party/glib/0001-Add-sysroot-select.patch",
],
version = "2.82.2.bcr.10",
)
# protobuf's crate extension has no lockfile, which rules_rust 0.71 rejects in a
# non-root module. Fixed in protobuf 37.
single_version_override(
module_name = "protobuf",
patch_strip = 1,
patches = ["//third_party:protobuf/0001-Make-the-crate-extension-a-dev-dependency.patch"],
version = "35.1",
)
# The version pin has to exist because other modules ask for abseil versions
# that are not in BCR-compatible ranges (tcmalloc wants 20250814.0), and
# forcing one version is what makes the graph resolve. The patches below are
# root-only by design -- an override is ignored for anyone but the root
# module: 0001/0002 are weak-symbol hooks with
# safe defaults, so a dependent that resolves plain BCR abseil still links and
# runs -- it just keeps realtime priority while a fatal message formats.
single_version_override(
module_name = "abseil-cpp",
patch_strip = 1,
patches = [
"//third_party/abseil:0001-Add-hooks-for-using-abseil-with-AOS.patch",
"//third_party/abseil:0002-Suppress-the-stack-trace-on-SIGABRT.patch",
"//third_party/abseil:0005-Expose-google_benchmark-and-downgrade-dependencies.patch",
],
version = "20260526.0",
)
single_version_override(
module_name = "googletest",
patch_strip = 1,
patches = ["third_party/googletest/0001-Expose-rules_python-dependency.patch"],
version = "1.17.0.bcr.2",
)
single_version_override(
module_name = "snappy",
patch_strip = 1,
patches = ["third_party/snappy/0001-Zero-the-tag-scratch-buffer-for-MemorySanitizer.patch"],
)
single_version_override(
module_name = "xz",
patch_strip = 1,
patches = [
"third_party/xz/0001-Add-sysroot-select.patch",
"third_party/xz/0002-Add-ARMv7-support.patch",
],
version = "5.4.5.bcr.7",
)
single_version_override(
module_name = "rules_rust_bindgen",
patch_strip = 1,
patches = [
"//third_party:rules_rust_bindgen-0.71.3.patch",
],
version = "0.71.3",
)
# The websocketpp patch is required for the ROBORIO build (arm-frc-linux-gnueabi-gcc)
# which fails to compile cpp/foxglove-websocket/src/server_factory.cpp because of
# syntax errors in basic.hpp:
# error: expected ')' before 'h'
# basic<concurrency,names>(channel_type_hint::value h =
# Nothing downstream needs the patch.
single_version_override(
module_name = "websocketpp",
patch_strip = 1,
patches = ["third_party/websocketpp/websocketpp.patch"],
)
Welcome to AOS's main code repository. It contains two things:
Pleaes note: AOS moved here fairly recently and we are still cleaning up a few things, especially documentation.
All development of AOS is done on our gerrit instance at https://realtimeroboticsgroup.org/gerrit with github being a read-only mirror. We are happy to add external contributors. If you are interested, reach out to Austin Schuh and he will help you get access. In case of disputes over if a patch should be taken or not, Austin has final say.
Submissions must be made under the terms of the following Developer Certificate of Origin.
By making a contribution to this project, I certify that:
(a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file; or
(b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the same open source license (unless I am
permitted to submit under a different license), as indicated
in the file; or
(c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified
it.
(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.
To do this, add the following to your commit message. Gerrit will enforce that all commits have been signed off.
Signed-off-by: Random J Developer <random@developer.example.org>
Git has support for adding Signed-off-by lines by using git commit -s, or you can setup a git commit hook to automatically sign off your commits. Stack Overflow has instructions for how to do this if you are interested.
1.0.02026-11-12 |