Commit Graph

27 Commits

Author SHA1 Message Date
d3894392d5 Replace clang-format with uncrustify
LLVM/clang is not used for any compilation due to it not supporting the
8-bit architectures we use (MCS-51, AVR). This means we are effectively
installing 250+ MiB of dependencies for a C formatting tool.

Replace it with uncrustify, which uses only ~600 KiB of space and has
more granular control of formatting (800+ options).

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2024-07-03 15:58:28 -06:00
d60a8e4c8e scripts: Remove explicit rustup self update
Commit 17f8e37ed5 ("Convert toolchain file to TOML syntax") switched
from the bare toolchain file to the TOML-based one for better management
of the toolchain and components used.

Commit 1cb61e6918 ("deps.sh: Update rustup or inform user of env
vars") added an explicit `rustup self update` because there were still
cases, a year later, of people not having a rustup new enough to support
the TOML-based toolchain file.

Now 2 years after that, it should be safe to drop the explicit self
update. The TOML format has widespread adoption and rustup now self
updates by default. This should allow distro-provided rustup, which
disables the self update feature, to work if it is already installed in
place of the one downloaded from https://rustup.rs.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2024-03-18 14:20:31 -06:00
347bbf0d9a reuse make target for board list 2023-06-15 13:45:12 -06:00
faede6264a Generate matrix from directory 2023-06-15 13:45:12 -06:00
7205f1a49e Add shellcheck lint
Run shellcheck [1] on the bash files.

[1]: https://www.shellcheck.net/

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-01-18 13:52:14 -07:00
58f9ed4051 Run lints at pre-commit
Install a hook to run lints at pre-commit to force issues to be fixed
during development.

This introduces a 5-10 second delay when committing due to how slow
clang-format is.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-01-18 13:52:14 -07:00
1aadc68257 scripts: Rewrite lint scripts
Rewrite lint scripts to report what they do and if they pass. In the
case they fail list the files that caused the failure, except for
clang-format, which will be slow to run of every file individually
(should just run `make fmt` anyway). Also add a script to run all the
lints in order with a single command.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-01-18 13:52:14 -07:00
004c7acf6c Remove scripts/layouts.sh
Superseded by `keyboard-configurator/layouts.py`.
2022-11-29 09:20:41 -07:00
04df6ae311 Add .clang-format
Most options are configured to keep most of the current style.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2022-03-22 12:52:47 -06:00
1cb61e6918 deps.sh: Update rustup or inform user of env vars
Ensure rustup is up-to-date to avoid users having a version that is too
old to support the TOML format.

If rustup was just installed, tell the user to source the new env vars
to use the correct version of the toolchain.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2022-01-18 08:09:56 -07:00
7d75235081 Fix ectool path in power.sh 2021-12-02 10:35:56 -07:00
e8ce6d9096 Add libhidapi-dev to deps 2021-11-17 18:26:26 -07:00
3fe0e2f4e4 Add hidapi deps
ectool uses hidapi, which requires cc and pkg-config to be available.

This fixes building ectool on a minimal install system.
2021-05-25 09:15:02 -06:00
aa880033e3 Add missing xxd dep 2021-05-14 12:48:34 -06:00
316376c271 Add deps for Arch Linux 2021-05-14 12:48:34 -06:00
8bdcf243ec Add lint to ensure spaces are used for indentation 2021-05-07 12:44:48 -06:00
4963e04a83 Reindent files using spaces 2021-05-07 12:44:48 -06:00
9a3ecba010 scripts: Add coccinelle file to use BIT macro 2021-05-07 11:24:25 -06:00
1ea21aedbe deps.sh: Run apt-get update
Hopefully this will fix the CI tests. This is a common enough issue on
CI that Travis mentions it in their documentation:
https://docs.travis-ci.com/user/common-build-problems/#linux-apt-fails-to-install-package-with-404-error
2021-04-13 11:04:51 -06:00
17f8e37ed5 Convert toolchain file to TOML syntax
rustup 1.23.0 (2020-11-27) introduced support for TOML syntax for the
toolchain file. Use this and specify required compoenents.

To ensure you are using a new enough rustup, run:

    rustup self update
2021-03-15 10:09:42 -06:00
9ad6b54aed Fix requiring sudo to run power.sh 2021-03-08 15:54:19 -07:00
340ddd2e81 deps: Install libudev 2021-02-23 09:29:16 -07:00
ba99aec1b7 deps: Skip installing Rust if rustup is available
Saves time and prevents errors with trying to install rustup twice or
potentially overriding the user's default toolchain.
2021-02-22 16:26:14 -07:00
3e154d7f00 Add missing SPDX identifiers 2021-02-22 14:02:18 -07:00
3e742b0da7 Add script to check for SPDX identifiers 2021-02-22 14:02:18 -07:00
55b6256ed6 Add script for installing dependencies 2021-02-22 09:04:50 -07:00
2ac214352b Move scripts from top-level to scripts/ 2021-02-22 09:04:50 -07:00