Skip to content

Commit ad774d4

Browse files
merge upstream
2 parents a229fd5 + 7378767 commit ad774d4

10 files changed

+277
-59
lines changed

.circleci/config.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
exec: &exec
22
name: build-tools/nerves-system-br
3-
version: 1.18.3
4-
elixir: 1.13.2-otp-24
3+
version: 1.21.2
4+
elixir: 1.14.1-otp-25
55

66
version: 2.1
77

CHANGELOG.md

+95
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,101 @@ follows:
1212
releases, and Linux kernel updates. They're also made to fix bugs and add
1313
features to the build infrastructure.
1414

15+
## v1.21.1
16+
17+
* Changes
18+
* Reduce first-time Linux kernel download by using tarball source
19+
20+
* Updated dependencies
21+
* [nerves_system_br v1.21.2](https://github.com/nerves-project/nerves_system_br/releases/tag/v1.21.2)
22+
* [Erlang/OTP 25.1.2](https://erlang.org/download/OTP-25.1.2.README)
23+
24+
## v1.21.0
25+
26+
* Changes
27+
* Support aarch64 Linux builds
28+
* Add libdtc to support runtime loading of device tree overlays
29+
30+
* Updated dependencies
31+
* [nerves_system_br v1.21.1](https://github.com/nerves-project/nerves_system_br/releases/tag/v1.21.1)
32+
and also see [nerves_system_br v1.21.0](https://github.com/nerves-project/nerves_system_br/releases/tag/v1.21.0)
33+
* [Buildroot 2022.08.1](http://lists.busybox.net/pipermail/buildroot/2022-October/652816.html)
34+
* [Erlang/OTP 25.1.1](https://erlang.org/download/OTP-25.1.1.README)
35+
36+
## v1.20.2
37+
38+
* Updated dependencies
39+
* [nerves_system_br v1.20.6](https://github.com/nerves-project/nerves_system_br/releases/tag/v1.20.6)
40+
* [Erlang/OTP 25.0.4](https://erlang.org/download/OTP-25.0.4.README)
41+
* [Buildroot 2022.05.2](http://lists.busybox.net/pipermail/buildroot/2022-August/650546.html)
42+
* Also see [Buildroot 2022.05.1 changes](http://lists.busybox.net/pipermail/buildroot/2022-July/647814.html)
43+
44+
## v1.20.1
45+
46+
* Updated dependencies
47+
* [nerves_system_br v1.20.4](https://github.com/nerves-project/nerves_system_br/releases/tag/v1.20.4)
48+
* [Erlang/OTP 25.0.3](https://erlang.org/download/OTP-25.0.3.README)
49+
50+
## v1.20.0
51+
52+
This release updates to Buildroot 2022.05, Linux 5.15.32 (from Linux 5.10) and
53+
uses GCC 11.3 (from GCC 10.3). The Linux kernel upgrade could introduce a
54+
regression, so please verify hardware-specific functionality in your firmware.
55+
56+
If you have cloned this repository for a custom system, please make sure that
57+
you have `CONFIG_NOP_USB_XCEIV=y` in your Linux kernel configuration.
58+
59+
* Updated dependencies
60+
* [nerves_system_br v1.20.3](https://github.com/nerves-project/nerves_system_br/releases/tag/v1.20.3)
61+
* [Buildroot 2022.05](http://lists.busybox.net/pipermail/buildroot/2022-June/644349.html)
62+
* [Erlang/OTP 25.0.2](https://erlang.org/download/OTP-25.0.2.README)
63+
64+
## v1.19.0
65+
66+
This release updates to Buildroot 2022.02.1 and OTP 25.0. While this should be
67+
an easy update for most projects, many programs have been updated. Please review
68+
the changes in the updated dependencies for details.
69+
70+
* Updated dependencies
71+
* [nerves_system_br v1.19.0](https://github.com/nerves-project/nerves_system_br/releases/tag/v1.19.0)
72+
* [Buildroot 2022.02.1](http://lists.busybox.net/pipermail/buildroot/2022-April/640712.html). Also see [Buildroot 2022.02](http://lists.busybox.net/pipermail/buildroot/2022-March/638160.html)
73+
* [Erlang/OTP 25.0](https://erlang.org/download/OTP-25.0.README)
74+
75+
## v1.18.4
76+
77+
This release bumps Erlang to 24.3.2 and should be a low risk upgrade from the
78+
previous release.
79+
80+
* Changes
81+
* Pull in upstream Linux SquashFS patch to improve file system performance
82+
83+
* Updated dependencies
84+
* [nerves_system_br v1.18.6](https://github.com/nerves-project/nerves_system_br/releases/tag/v1.18.6)
85+
86+
## v1.18.3
87+
88+
This is a Buildroot and Erlang bug and security fix release. It should be a low
89+
risk upgrade from the previous release.
90+
91+
* Updated dependencies
92+
* [nerves_system_br v1.18.5](https://github.com/nerves-project/nerves_system_br/releases/tag/v1.18.5)
93+
94+
## v1.18.2
95+
96+
This is a Buildroot and Erlang bug fix release. It should be a low risk upgrade
97+
from the previous release.
98+
99+
* Updated dependencies
100+
* [nerves_system_br v1.18.4](https://github.com/nerves-project/nerves_system_br/releases/tag/v1.18.4)
101+
102+
* Changes
103+
* Specify CPU-specific flags when compiling NIFs and ports. This fixes an
104+
issue where some optimizations could not be enabled in NIFs even though it
105+
should be possible to have them. E.g., ARM NEON support for CPUs that have
106+
it.
107+
* Build the Wireguard kernel driver. This is a small device driver that
108+
enables a number of VPN-based use cases.
109+
15110
## v1.18.1
16111

17112
* Updated dependencies

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ This is the base Nerves System configuration for the Raspberry Pi 3 Model B.
1313
| CPU | 1.2 GHz quad-core Cortex-A53 (ARMv8) |
1414
| Memory | 1 GB DRAM |
1515
| Storage | MicroSD |
16-
| Linux kernel | 5.10 w/ Raspberry Pi patches |
16+
| Linux kernel | 5.15 w/ Raspberry Pi patches |
1717
| IEx terminal | HDMI and USB keyboard (can be changed to UART) |
1818
| GPIO, I2C, SPI | Yes - [Elixir Circuits](https://github.com/elixir-circuits) |
1919
| ADC | No |

VERSION

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.18.1-farmbot.1
1+
1.21.1-farmbot.1

linux-5.10.defconfig linux-5.15.defconfig

+4-3
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,6 @@ CONFIG_VFP=y
4747
CONFIG_NEON=y
4848
CONFIG_KERNEL_MODE_NEON=y
4949
# CONFIG_SUSPEND is not set
50-
CONFIG_PM=y
51-
CONFIG_RASPBERRYPI_FIRMWARE=y
5250
CONFIG_JUMP_LABEL=y
5351
CONFIG_MODULES=y
5452
CONFIG_MODULE_UNLOAD=y
@@ -137,6 +135,7 @@ CONFIG_RFKILL=y
137135
CONFIG_DEVTMPFS=y
138136
CONFIG_DEVTMPFS_MOUNT=y
139137
CONFIG_CONNECTOR=m
138+
CONFIG_RASPBERRYPI_FIRMWARE=y
140139
CONFIG_OF_CONFIGFS=y
141140
CONFIG_BLK_DEV_LOOP=y
142141
CONFIG_BLK_DEV_RAM=y
@@ -147,6 +146,7 @@ CONFIG_BLK_DEV_SD=y
147146
CONFIG_CHR_DEV_SG=m
148147
CONFIG_SCSI_ISCSI_ATTRS=y
149148
CONFIG_NETDEVICES=y
149+
CONFIG_WIREGUARD=m
150150
CONFIG_TUN=m
151151
# CONFIG_NET_VENDOR_AMAZON is not set
152152
# CONFIG_NET_VENDOR_ARC is not set
@@ -352,7 +352,6 @@ CONFIG_V4L_PLATFORM_DRIVERS=y
352352
# CONFIG_DVB_DS3000 is not set
353353
# CONFIG_DVB_MB86A16 is not set
354354
# CONFIG_DVB_TDA10071 is not set
355-
# CONFIG_DVB_SP8870 is not set
356355
# CONFIG_DVB_SP887X is not set
357356
# CONFIG_DVB_CX22700 is not set
358357
# CONFIG_DVB_CX22702 is not set
@@ -460,6 +459,8 @@ CONFIG_USB_SERIAL_GENERIC=y
460459
CONFIG_USB_SERIAL_CH341=y
461460
CONFIG_USB_SERIAL_CP210X=y
462461
CONFIG_USB_SERIAL_FTDI_SIO=y
462+
CONFIG_USB_SERIAL_PL2303=m
463+
CONFIG_NOP_USB_XCEIV=y
463464
CONFIG_MMC=y
464465
CONFIG_MMC_BLOCK_MINORS=32
465466
CONFIG_MMC_BCM2835_MMC=y
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
From 9eec1d897139e5de287af5d559a02b811b844d82 Mon Sep 17 00:00:00 2001
2+
From: Zheng Liang <[email protected]>
3+
Date: Fri, 14 Jan 2022 14:03:31 -0800
4+
Subject: [PATCH] squashfs: provide backing_dev_info in order to disable
5+
read-ahead
6+
7+
Commit c1f6925e1091 ("mm: put readahead pages in cache earlier") causes
8+
the read performance of squashfs to deteriorate.Through testing, we find
9+
that the performance will be back by closing the readahead of squashfs.
10+
11+
So we want to learn the way of ubifs, provides backing_dev_info and
12+
disable read-ahead
13+
14+
We tested the following data by fio.
15+
squashfs image blocksize=128K
16+
test command:
17+
18+
fio --name basic --bs=? --filename="/mnt/test_file" --rw=? --iodepth=1 --ioengine=psync --runtime=200 --time_based
19+
20+
turn on squashfs readahead in 5.10 kernel
21+
bs(k) read/randread MB/s
22+
4 randread 271
23+
128 randread 231
24+
1024 randread 246
25+
4 read 310
26+
128 read 245
27+
1024 read 247
28+
29+
turn off squashfs readahead in 5.10 kernel
30+
bs(k) read/randread MB/s
31+
4 randread 293
32+
128 randread 330
33+
1024 randread 363
34+
4 read 338
35+
128 read 360
36+
1024 read 365
37+
38+
turn on squashfs readahead and revert the
39+
commit c1f6925e1091("mm: put readahead
40+
pages in cache earlier") in 5.10 kernel
41+
bs(k) read/randread MB/s
42+
4 randread 289
43+
128 randread 306
44+
1024 randread 335
45+
4 read 337
46+
128 read 336
47+
1024 read 338
48+
49+
Link: https://lkml.kernel.org/r/[email protected]
50+
Signed-off-by: Zheng Liang <[email protected]>
51+
Reviewed-by: Phillip Lougher <[email protected]>
52+
Cc: Zhang Yi <[email protected]>
53+
Cc: Hou Tao <[email protected]>
54+
Cc: Miao Xie <[email protected]>
55+
Signed-off-by: Andrew Morton <[email protected]>
56+
Signed-off-by: Linus Torvalds <[email protected]>
57+
---
58+
fs/squashfs/super.c | 33 +++++++++++++++++++++++++++++++++
59+
1 file changed, 33 insertions(+)
60+
61+
diff --git a/fs/squashfs/super.c b/fs/squashfs/super.c
62+
index bb44ff4c5cc6..b1b556dbce12 100644
63+
--- a/fs/squashfs/super.c
64+
+++ b/fs/squashfs/super.c
65+
@@ -29,6 +29,7 @@
66+
#include <linux/module.h>
67+
#include <linux/magic.h>
68+
#include <linux/xattr.h>
69+
+#include <linux/backing-dev.h>
70+
71+
#include "squashfs_fs.h"
72+
#include "squashfs_fs_sb.h"
73+
@@ -112,6 +113,24 @@ static const struct squashfs_decompressor *supported_squashfs_filesystem(
74+
return decompressor;
75+
}
76+
77+
+static int squashfs_bdi_init(struct super_block *sb)
78+
+{
79+
+ int err;
80+
+ unsigned int major = MAJOR(sb->s_dev);
81+
+ unsigned int minor = MINOR(sb->s_dev);
82+
+
83+
+ bdi_put(sb->s_bdi);
84+
+ sb->s_bdi = &noop_backing_dev_info;
85+
+
86+
+ err = super_setup_bdi_name(sb, "squashfs_%u_%u", major, minor);
87+
+ if (err)
88+
+ return err;
89+
+
90+
+ sb->s_bdi->ra_pages = 0;
91+
+ sb->s_bdi->io_pages = 0;
92+
+
93+
+ return 0;
94+
+}
95+
96+
static int squashfs_fill_super(struct super_block *sb, struct fs_context *fc)
97+
{
98+
@@ -127,6 +146,20 @@ static int squashfs_fill_super(struct super_block *sb, struct fs_context *fc)
99+
100+
TRACE("Entered squashfs_fill_superblock\n");
101+
102+
+ /*
103+
+ * squashfs provides 'backing_dev_info' in order to disable read-ahead. For
104+
+ * squashfs, I/O is not deferred, it is done immediately in readpage,
105+
+ * which means the user would always have to wait their own I/O. So the effect
106+
+ * of readahead is very weak for squashfs. squashfs_bdi_init will set
107+
+ * sb->s_bdi->ra_pages and sb->s_bdi->io_pages to 0 and close readahead for
108+
+ * squashfs.
109+
+ */
110+
+ err = squashfs_bdi_init(sb);
111+
+ if (err) {
112+
+ errorf(fc, "squashfs init bdi failed");
113+
+ return err;
114+
+ }
115+
+
116+
sb->s_fs_info = kzalloc(sizeof(*msblk), GFP_KERNEL);
117+
if (sb->s_fs_info == NULL) {
118+
ERROR("Failed to allocate squashfs_sb_info\n");
119+
--
120+
2.25.1
121+

mix.exs

+9-11
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ defmodule FarmbotSystemRpi3.Mixfile do
1717
description: description(),
1818
package: package(),
1919
deps: deps(),
20-
aliases: [loadconfig: [&bootstrap/1], docs: ["docs", &copy_images/1]],
20+
aliases: [loadconfig: [&bootstrap/1]],
2121
docs: docs(),
2222
preferred_cli_env: %{
2323
docs: :docs,
@@ -55,17 +55,19 @@ defmodule FarmbotSystemRpi3.Mixfile do
5555
{"TARGET_ARCH", "arm"},
5656
{"TARGET_CPU", "cortex_a53"},
5757
{"TARGET_OS", "linux"},
58-
{"TARGET_ABI", "gnueabihf"}
58+
{"TARGET_ABI", "gnueabihf"},
59+
{"TARGET_GCC_FLAGS",
60+
"-mabi=aapcs-linux -mfpu=neon-vfpv4 -marm -fstack-protector-strong -mfloat-abi=hard -mcpu=cortex-a53 -fPIE -pie -Wl,-z,now -Wl,-z,relro"}
5961
],
6062
checksum: package_files()
6163
]
6264
end
6365

6466
defp deps do
6567
[
66-
{:nerves, "~> 1.5.4 or ~> 1.6.0 or ~> 1.7.4", runtime: false},
67-
{:nerves_system_br, "1.18.3", runtime: false},
68-
{:nerves_toolchain_armv7_nerves_linux_gnueabihf, "~> 1.5.0", runtime: false},
68+
{:nerves, "~> 1.5.4 or ~> 1.6.0 or ~> 1.7.15 or ~> 1.8", runtime: false},
69+
{:nerves_system_br, "1.21.2", runtime: false},
70+
{:nerves_toolchain_armv7_nerves_linux_gnueabihf, "~> 1.6.0", runtime: false},
6971
{:nerves_system_linter, "~> 0.4", only: [:dev, :test], runtime: false},
7072
{:ex_doc, "~> 0.22", only: :docs, runtime: false}
7173
]
@@ -81,6 +83,7 @@ defmodule FarmbotSystemRpi3.Mixfile do
8183
[
8284
extras: ["README.md", "CHANGELOG.md"],
8385
main: "readme",
86+
assets: "assets",
8487
source_ref: "v#{@version}",
8588
source_url: @source_url,
8689
skip_undefined_reference_warnings_on: ["CHANGELOG.md"]
@@ -105,7 +108,7 @@ defmodule FarmbotSystemRpi3.Mixfile do
105108
"fwup-revert.conf",
106109
"fwup.conf",
107110
"LICENSE",
108-
"linux-5.10.defconfig",
111+
"linux-5.15.defconfig",
109112
"mix.exs",
110113
"nerves_defconfig",
111114
"post-build.sh",
@@ -116,11 +119,6 @@ defmodule FarmbotSystemRpi3.Mixfile do
116119
]
117120
end
118121

119-
# Copy the images referenced by docs, since ex_doc doesn't do this.
120-
defp copy_images(_) do
121-
File.cp_r("assets", "doc/assets")
122-
end
123-
124122
defp build_runner_opts() do
125123
# Download source files first to get download errors right away.
126124
[make_args: primary_site() ++ ["source", "all", "legal-info"]]

mix.lock

+11-11
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
%{
2-
"castore": {:hex, :castore, "0.1.14", "3f6d7c7c1574c402fef29559d3f1a7389ba3524bc6a090a5e9e6abc3af65dcca", [:mix], [], "hexpm", "b34af542eadb727e6c8b37fdf73e18b2e02eb483a4ea0b52fd500bc23f052b7b"},
3-
"earmark_parser": {:hex, :earmark_parser, "1.4.19", "de0d033d5ff9fc396a24eadc2fcf2afa3d120841eb3f1004d138cbf9273210e8", [:mix], [], "hexpm", "527ab6630b5c75c3a3960b75844c314ec305c76d9899bb30f71cb85952a9dc45"},
4-
"elixir_make": {:hex, :elixir_make, "0.6.3", "bc07d53221216838d79e03a8019d0839786703129599e9619f4ab74c8c096eac", [:mix], [], "hexpm", "f5cbd651c5678bcaabdbb7857658ee106b12509cd976c2c2fca99688e1daf716"},
5-
"ex_doc": {:hex, :ex_doc, "0.27.3", "d09ed7ab590b71123959d9017f6715b54a448d76b43cf909eb0b2e5a78a977b2", [:mix], [{:earmark_parser, "~> 1.4.19", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "ee60b329d08195039bfeb25231a208749be4f2274eae42ce38f9be0538a2f2e6"},
6-
"makeup": {:hex, :makeup, "1.0.5", "d5a830bc42c9800ce07dd97fa94669dfb93d3bf5fcf6ea7a0c67b2e0e4a7f26c", [:mix], [{:nimble_parsec, "~> 0.5 or ~> 1.0", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "cfa158c02d3f5c0c665d0af11512fed3fba0144cf1aadee0f2ce17747fba2ca9"},
7-
"makeup_elixir": {:hex, :makeup_elixir, "0.15.2", "dc72dfe17eb240552857465cc00cce390960d9a0c055c4ccd38b70629227e97c", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.1", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "fd23ae48d09b32eff49d4ced2b43c9f086d402ee4fd4fcb2d7fad97fa8823e75"},
2+
"castore": {:hex, :castore, "0.1.20", "62a0126cbb7cb3e259257827b9190f88316eb7aa3fdac01fd6f2dfd64e7f46e9", [:mix], [], "hexpm", "a020b7650529c986c454a4035b6b13a328e288466986307bea3aadb4c95ac98a"},
3+
"earmark_parser": {:hex, :earmark_parser, "1.4.29", "149d50dcb3a93d9f3d6f3ecf18c918fb5a2d3c001b5d3305c926cddfbd33355b", [:mix], [], "hexpm", "4902af1b3eb139016aed210888748db8070b8125c2342ce3dcae4f38dcc63503"},
4+
"elixir_make": {:hex, :elixir_make, "0.7.2", "e83548b0500e654d1a595f1134af4862a2e92ec3282ec4c2a17641e9aa45ee73", [:mix], [{:castore, "~> 0.1", [hex: :castore, repo: "hexpm", optional: true]}], "hexpm", "05fb44abf9582381c2eb1b73d485a55288c581071de0ee3ee1084ee69d6a8e5f"},
5+
"ex_doc": {:hex, :ex_doc, "0.29.1", "b1c652fa5f92ee9cf15c75271168027f92039b3877094290a75abcaac82a9f77", [:mix], [{:earmark_parser, "~> 1.4.19", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "b7745fa6374a36daf484e2a2012274950e084815b936b1319aeebcf7809574f6"},
6+
"makeup": {:hex, :makeup, "1.1.0", "6b67c8bc2882a6b6a445859952a602afc1a41c2e08379ca057c0f525366fc3ca", [:mix], [{:nimble_parsec, "~> 1.2.2 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "0a45ed501f4a8897f580eabf99a2e5234ea3e75a4373c8a52824f6e873be57a6"},
7+
"makeup_elixir": {:hex, :makeup_elixir, "0.16.0", "f8c570a0d33f8039513fbccaf7108c5d750f47d8defd44088371191b76492b0b", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.2.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "28b2cbdc13960a46ae9a8858c4bebdec3c9a6d7b4b9e7f4ed1502f8159f338e7"},
88
"makeup_erlang": {:hex, :makeup_erlang, "0.1.1", "3fcb7f09eb9d98dc4d208f49cc955a34218fc41ff6b84df7c75b3e6e533cc65f", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm", "174d0809e98a4ef0b3309256cbf97101c6ec01c4ab0b23e926a9e17df2077cbb"},
9-
"nerves": {:hex, :nerves, "1.7.13", "3a3c4aedd0d7204748c2e7f4d0acac9bfb8c022d2e489d5018cea5be733d2525", [:make, :mix], [{:castore, "~> 0.1", [hex: :castore, repo: "hexpm", optional: false]}, {:elixir_make, "~> 0.6", [hex: :elixir_make, repo: "hexpm", optional: false]}, {:jason, "~> 1.2", [hex: :jason, repo: "hexpm", optional: true]}], "hexpm", "906a67bbe35970a0a09cff32b137fa8db8f661a672a7b853115af0f9eba9a321"},
10-
"nerves_system_br": {:hex, :nerves_system_br, "1.18.3", "24e374ee3a98f3ebe4d012b536656f4a2d36302ad205a845ca2fa3c9a04bdc19", [:mix], [], "hexpm", "4c19b5c6b0653eb2c890e0a991a22afcf4ef0c407b4e689b61b792ac77dc8e08"},
9+
"nerves": {:hex, :nerves, "1.9.1", "09cfd3589af81c4b1ac35179aee5f6d94bde36548a905c2d4d4efa9ff311222e", [:make, :mix], [{:castore, "~> 0.1", [hex: :castore, repo: "hexpm", optional: false]}, {:elixir_make, "~> 0.6", [hex: :elixir_make, repo: "hexpm", optional: false]}, {:jason, "~> 1.2", [hex: :jason, repo: "hexpm", optional: true]}], "hexpm", "011409116923e1dbab250a6dc241ab529790163233c44e374ff352af72d09a56"},
10+
"nerves_system_br": {:hex, :nerves_system_br, "1.21.2", "b4d7df6525a695c85b30deb4ed69c94686e0c7ab7b9d6736f73e97cb7ed91d13", [:mix], [], "hexpm", "df94bf9941aec3bcb5aea858eb5c6f6ea70906fb495ae4fa557b02aa08c81c05"},
1111
"nerves_system_linter": {:hex, :nerves_system_linter, "0.4.0", "81e9a6f5018fe5fb67d7b43a04dca36156f62b55b5554eb2fa3964d3889d09cd", [:mix], [], "hexpm", "b5bd8480ce7a6317f4601ff41fd2f594bdf76aff0bdf6dcfac571c3fa1ec5f82"},
12-
"nerves_toolchain_armv7_nerves_linux_gnueabihf": {:hex, :nerves_toolchain_armv7_nerves_linux_gnueabihf, "1.5.0", "51be4f07c4922add6cd342ac1f13c3110a425c33af4d45533d246012b8fd0878", [:mix], [{:nerves, "~> 1.0", [hex: :nerves, repo: "hexpm", optional: false]}, {:nerves_toolchain_ctng, "~> 1.8.5", [hex: :nerves_toolchain_ctng, repo: "hexpm", optional: false]}], "hexpm", "3b569f34b71892adae706640638cb9677f687ec941647b8f871479da79468b1a"},
13-
"nerves_toolchain_ctng": {:hex, :nerves_toolchain_ctng, "1.8.5", "f2dfd6e3b5f85889561b9f00c71510eea87c3d05760d20780285deb3c29ca212", [:mix], [{:nerves, "~> 1.0", [hex: :nerves, repo: "hexpm", optional: false]}], "hexpm", "2f65b1866f034054f3d61ee672b6d02f4de1d0b40bef74f49527b98ab46a39fc"},
14-
"nimble_parsec": {:hex, :nimble_parsec, "1.2.0", "b44d75e2a6542dcb6acf5d71c32c74ca88960421b6874777f79153bbbbd7dccc", [:mix], [], "hexpm", "52b2871a7515a5ac49b00f214e4165a40724cf99798d8e4a65e4fd64ebd002c1"},
12+
"nerves_toolchain_armv7_nerves_linux_gnueabihf": {:hex, :nerves_toolchain_armv7_nerves_linux_gnueabihf, "1.6.1", "4014bc32142ef980e39af90e1377747095f3f3f8517e41815a23638ef1711702", [:mix], [{:nerves, "~> 1.0", [hex: :nerves, repo: "hexpm", optional: false]}, {:nerves_toolchain_ctng, "~> 1.9.0", [hex: :nerves_toolchain_ctng, repo: "hexpm", optional: false]}], "hexpm", "20a529ce1ab54677f121ac97333cc6b7c32f75ebb4b83cee7e0934867d61bbb5"},
13+
"nerves_toolchain_ctng": {:hex, :nerves_toolchain_ctng, "1.9.2", "5c0556175d03ea1d70dce66f26c4cebb5f63ecbbf4bd8f265202af818505e8ea", [:mix], [{:nerves, "~> 1.0", [hex: :nerves, repo: "hexpm", optional: false]}], "hexpm", "3a058db641b0d3c0a93867459a2655fdf8f005eded6f5fb0575b279b1887b0ed"},
14+
"nimble_parsec": {:hex, :nimble_parsec, "1.2.3", "244836e6e3f1200c7f30cb56733fd808744eca61fd182f731eac4af635cc6d0b", [:mix], [], "hexpm", "c8d789e39b9131acf7b99291e93dae60ab48ef14a7ee9d58c6964f59efb570b0"},
1515
}

0 commit comments

Comments
 (0)