Skip to content

Commit c1a43f4

Browse files
authored
Merge pull request #251 from LedgerHQ/y333/remove_nanos_support
Remove Nano S support
2 parents 4376c0c + 7e81604 commit c1a43f4

File tree

31 files changed

+109
-844
lines changed

31 files changed

+109
-844
lines changed

.github/workflows/ci.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
image: ghcr.io/ledgerhq/ledger-app-builder/ledger-app-dev-tools:latest
2222
strategy:
2323
matrix:
24-
target: ["nanos", "nanox", "nanosplus", "stax", "flex"]
24+
target: ["nanox", "nanosplus", "stax", "flex"]
2525
package: [include_gif, testmacro, ledger_secure_sdk_sys, ledger_device_sdk]
2626
steps:
2727
- name: Print Environment variables
@@ -66,7 +66,7 @@ jobs:
6666
image: ghcr.io/ledgerhq/ledger-app-builder/ledger-app-dev-tools:latest
6767
strategy:
6868
matrix:
69-
target: ["nanos", "nanox", "nanosplus", "stax", "flex"]
69+
target: ["nanox", "nanosplus", "stax", "flex"]
7070
steps:
7171
- name: Clone
7272
uses: actions/checkout@v4
@@ -95,7 +95,7 @@ jobs:
9595
image: ghcr.io/ledgerhq/ledger-app-builder/ledger-app-dev-tools:latest
9696
strategy:
9797
matrix:
98-
target: ["nanos", "nanox", "nanosplus", "stax", "flex"]
98+
target: ["nanox", "nanosplus", "stax", "flex"]
9999
steps:
100100
- name: Clone
101101
uses: actions/checkout@v4

.github/workflows/publish.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
- name: Test Dry-Run Publish for Each Package
2525
run: |
2626
# Iterate through package names retrieved
27-
PACKAGE_NAMES="testmacro include_gif ledger_secure_sdk_sys ledger_device_sdk"
27+
PACKAGE_NAMES="testmacro include_gif ledger_secure_sdk_sys ledger_device_sdk cargo-ledger"
2828
for PACKAGE_NAME in $PACKAGE_NAMES; do
2929
# Test a dry-run publish for each package within the workspace if required
3030
last_published_version=$(cargo search -q --limit 1 $PACKAGE_NAME | grep -oP '\d+\.\d+\.\d+')
@@ -60,7 +60,7 @@ jobs:
6060
- name: Publish Package on crates.io if required
6161
run: |
6262
# Iterate through package names retrieved
63-
PACKAGE_NAMES="testmacro include_gif ledger_secure_sdk_sys ledger_device_sdk"
63+
PACKAGE_NAMES="testmacro include_gif ledger_secure_sdk_sys ledger_device_sdk cargo-ledger"
6464
for PACKAGE_NAME in $PACKAGE_NAMES; do
6565
# Publish each package within the workspace if required
6666
last_published_version=$(cargo search -q --limit 1 $PACKAGE_NAME | grep -oP '\d+\.\d+\.\d+')

Cargo.lock

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cargo-ledger/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "cargo-ledger"
3-
version = "1.7.0"
3+
version = "1.8.0"
44
authors = ["yhql", "agrojean-ledger", "y333"]
55
description = "Build and sideload Ledger devices apps"
66
categories = ["development-tools::cargo-plugins"]

cargo-ledger/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,10 @@ cargo ledger build flex
5050

5151
Loading on device can optionally be performed by appending `--load` or `-l` to the command.
5252

53-
By default, this program will attempt to build the current program with in `release` mode (full command: `cargo build --release --target=nanos --message-format=json`)
53+
By default, this program will attempt to build the current program with in `release` mode (full command: `cargo build --release --target=nanosplus --message-format=json`)
5454

5555
Arguments can be passed to modify this behaviour after inserting a `--` like so:
5656

5757
```
58-
cargo ledger build nanos --load -- --features one -Z unstable-options --out-dir ./output/
58+
cargo ledger build nanosplus --load -- --features one -Z unstable-options --out-dir ./output/
5959
```

cargo-ledger/src/main.rs

Lines changed: 6 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,6 @@ struct CliArgs {
5252

5353
#[derive(ValueEnum, Clone, Copy, Debug, PartialEq)]
5454
enum Device {
55-
Nanos,
5655
Nanox,
5756
Nanosplus,
5857
Stax,
@@ -68,7 +67,6 @@ impl Display for Device {
6867
impl AsRef<str> for Device {
6968
fn as_ref(&self) -> &str {
7069
match self {
71-
Device::Nanos => "nanos",
7270
Device::Nanox => "nanox",
7371
Device::Nanosplus => "nanosplus",
7472
Device::Stax => "stax",
@@ -159,7 +157,6 @@ fn build_app(
159157
let exe_path = match use_prebuilt {
160158
None => {
161159
let c_sdk_path = match device {
162-
Device::Nanos => std::env::var("NANOS_SDK"),
163160
Device::Nanosplus => std::env::var("NANOSP_SDK"),
164161
Device::Nanox => std::env::var("NANOX_SDK"),
165162
Device::Stax => std::env::var("STAX_SDK"),
@@ -264,7 +261,7 @@ fn build_app(
264261
None => match metadata_ledger.flags {
265262
Some(flags) => match device {
266263
// Modify flags to enable BLE if targeting Nano X
267-
Device::Nanos | Device::Nanosplus => flags,
264+
Device::Nanosplus => flags,
268265
Device::Nanox | Device::Stax | Device::Flex => {
269266
let base =
270267
u32::from_str_radix(flags.trim_start_matches("0x"), 16)
@@ -279,7 +276,6 @@ fn build_app(
279276
// Target ID according to target, in case it
280277
// is not present in the retrieved ELF infos.
281278
let backup_targetid: String = match device {
282-
Device::Nanos => String::from("0x31100004"),
283279
Device::Nanox => String::from("0x33000004"),
284280
Device::Nanosplus => String::from("0x33100004"),
285281
Device::Stax => String::from("0x33200004"),
@@ -301,13 +297,8 @@ fn build_app(
301297
"binary": hex_file,
302298
"dataSize": infos.size
303299
});
304-
// Ignore apiLevel for Nano S as it is unsupported for now
305-
match device {
306-
Device::Nanos => (),
307-
_ => {
308-
json["apiLevel"] = infos.api_level.into();
309-
}
310-
}
300+
301+
json["apiLevel"] = infos.api_level.into();
311302
serde_json::to_writer_pretty(file, &json).unwrap();
312303

313304
// Copy icon to the same directory as the app.json
@@ -359,41 +350,37 @@ mod tests {
359350
#[test]
360351
fn valid_metadata() {
361352
let (_, metadata_ledger, metadata_nanos) =
362-
retrieve_metadata(Device::Nanos, Some("./tests/valid/Cargo.toml"));
353+
retrieve_metadata(Device::Flex, Some("./tests/valid/Cargo.toml"));
363354

364355
assert_eq!(metadata_ledger.name, Some("TestApp".to_string()));
365356
assert_eq!(metadata_ledger.curve, ["secp256k1"]);
366357
assert_eq!(metadata_ledger.flags, "0x38");
367358
assert_eq!(metadata_ledger.path, ["'44/123"]);
368-
369-
assert_eq!(metadata_nanos.icon, "./assets/nanos.gif")
370359
}
371360

372361
#[test]
373362
fn valid_metadata_variant() {
374363
let (_, metadata_ledger, metadata_nanos) = retrieve_metadata(
375-
Device::Nanos,
364+
Device::Flex,
376365
Some("./tests/valid_variant/Cargo.toml"),
377366
);
378367

379368
assert_eq!(metadata_ledger.name, Some("TestApp".to_string()));
380369
assert_eq!(metadata_ledger.curve, ["secp256k1"]);
381370
assert_eq!(metadata_ledger.flags, "0x38");
382371
assert_eq!(metadata_ledger.path, ["'44/123"]);
383-
assert_eq!(metadata_nanos.icon, "./assets/nanos.gif")
384372
}
385373

386374
#[test]
387375
fn valid_outdated_metadata() {
388376
let (_, metadata_ledger, metadata_nanos) = retrieve_metadata(
389-
Device::Nanos,
377+
Device::Flex,
390378
Some("./tests/valid_outdated/Cargo.toml"),
391379
);
392380

393381
assert_eq!(metadata_ledger.name, Some("TestApp".to_string()));
394382
assert_eq!(metadata_ledger.curve, ["secp256k1"]);
395383
assert_eq!(metadata_ledger.flags, "0");
396384
assert_eq!(metadata_ledger.path, ["'44/123"]);
397-
assert_eq!(metadata_nanos.icon, "nanos.gif")
398385
}
399386
}

cargo-ledger/src/setup.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ pub fn install_targets() {
3939

4040
// Retrieve each target file independently
4141
// TODO: handle target.json modified upstream
42-
for target in &["nanos", "nanox", "nanosplus", "stax", "flex"] {
42+
for target in &["nanox", "nanosplus", "stax", "flex"] {
4343
let outfilepath = sysroot.join(target).join("target.json");
4444
let targetpath =
4545
outfilepath.clone().into_os_string().into_string().unwrap();

cargo-ledger/tests/valid/Cargo.toml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,6 @@ curve = ["secp256k1"]
1212
flags = "0x38"
1313
path = ["'44/123"]
1414

15-
[package.metadata.ledger.nanos]
16-
icon = "./assets/nanos.gif"
17-
1815
[package.metadata.ledger.nanox]
1916
icon = "./assets/nanox.gif"
2017

cargo-ledger/tests/valid_outdated/Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@ version = "0.0.0"
66
name = "test"
77
path = ""
88

9-
[package.metadata.nanos]
9+
[package.metadata.ledger]
1010
api_level = "1"
1111
name = "TestApp"
1212
curve = ["secp256k1"]
1313
flags = "0"
14-
icon = "nanos.gif"
15-
icon_small = "nanox.gif"
14+
nanosplus.icon = "nanosplus.gif"
15+
nanox.icon = "nanox.gif"
1616
path = ["'44/123"]

cargo-ledger/tests/valid_variant/Cargo.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,5 @@ name = "TestApp"
1111
curve = ["secp256k1"]
1212
flags = "0x38"
1313
path = ["'44/123"]
14-
nanos.icon = "./assets/nanos.gif"
1514
nanox.icon = "./assets/nanox.gif"
1615
nanosplus.icon = "./assets/nanosplus.gif"

0 commit comments

Comments
 (0)