| 4 Jun 2025 |
matthewcroughan - nix.zone | do you have a fork then | 14:46:59 |
matthewcroughan - nix.zone | I only see 22.1 in mainline | 14:47:05 |
pentane ⭔ | Yep, it's under https://codeberg.org/cyclopentane/robotnix | 14:47:11 |
pentane ⭔ | Atemu and I wanted to merge the git-repo handling rewrite for a while now but we never got around doing so | 14:47:34 |
pentane ⭔ | Basically it's a rewrite of mk_repo_file.py and the LOS-specific device repo updater scripts in Rust to make the handling easier | 14:48:19 |
matthewcroughan - nix.zone | Ah interesting, using your repo I get this | 14:48:40 |
matthewcroughan - nix.zone | evaluation warning: hlte is not an officially-supported device for LineageOS
error:
… while calling the 'derivationStrict' builtin
at <nix/derivation-internal.nix>:37:12:
36|
37| strict = derivationStrict drvAttrs;
| ^
38|
… while evaluating the derivation attribute 'name'
at /nix/store/n67nldl8x3f44w9mvk5zvij0q1rwnsmq-source/pkgs/stdenv/generic/make-derivation.nix:336:7:
335| // (optionalAttrs (attrs ? name || (attrs ? pname && attrs ? version)) {
336| name =
| ^
337| let
… while evaluating the option `buildNumber':
… while evaluating the option `buildDateTime':
… while evaluating the option `source.dirs':
… while evaluating definitions from `/nix/store/xifnlh6fjhk1axipz9c943smq76bcmiz-source/modules/source.nix':
… while evaluating the option `source.manifests.lineage.branch':
… while evaluating definitions from `/nix/store/xifnlh6fjhk1axipz9c943smq76bcmiz-source/flavors/lineageos':
(stack trace truncated; use '--show-trace' to show the full, detailed trace)
error: attribute 'hlte' missing
at /nix/store/xifnlh6fjhk1axipz9c943smq76bcmiz-source/flavors/lineageos/default.nix:26:19:
25| LineageOSRelease = androidVersionToLineageBranch.${builtins.toString config.androidVersion};
26| defaultBranch = deviceMetadata.${config.device}.branch;
| ^
27|
| 14:48:54 |
matthewcroughan - nix.zone | So in this setup you no longer support adding your own unsupported devices? | 14:49:20 |
pentane ⭔ | Currently I'm just pulling the device list from https://github.com/LineageOS/hudson/blob/main/lineage-build-targets | 14:49:52 |
pentane ⭔ | Providing a mechanism for building officially unsupported devices is on my todo list though :) | 14:50:12 |
pentane ⭔ | The official LOS build scripts are pretty dumb in that regard - when you breakfast some device, it literally just searches the https://github.com/LineageOS/android_device_*_* namespace for some repo that ends with the requested device name | 14:51:43 |
pentane ⭔ | so ideally I'd just pull the default branch from github:LineageOS/hudson and take the remaining info directly from the device repos | 14:52:10 |
matthewcroughan - nix.zone | But your work is unlikely to solve my issue of the build scripts thinking that the Robotnixprebuiltwebview package is missing, right? | 14:52:50 |
pentane ⭔ | Yep | 14:53:01 |
matthewcroughan - nix.zone | How is this string even constructed? I couldn't find it anywhere in Robontix | 14:53:01 |
matthewcroughan - nix.zone | * How is this string even constructed? I couldn't find it anywhere in Robotnix | 14:53:05 |
pentane ⭔ | No idea tbh, haven't interacted with that part of LOS yet | 14:53:40 |
pentane ⭔ | have you already tried building a debug env and taking a look at device/samsung/hlte/lineage_hlte.mk to see whether it actually includes the string Robotnixprebuiltwebview? | 14:54:15 |
matthewcroughan - nix.zone | Debug env? | 14:54:34 |
matthewcroughan - nix.zone | I can do a --keep-failed | 14:55:16 |
pentane ⭔ | That won't work because it uses bind mounts | 14:55:31 |
matthewcroughan - nix.zone | I'll add github.com/NixOS/nixpkgs/pull/334924 then | 14:55:41 |
matthewcroughan - nix.zone | Then you can get in :P | 14:56:15 |
pentane ⭔ | Shouldn't be necessary, Robotnix has its own debug env functionality | 14:56:29 |
matthewcroughan - nix.zone | I did a google search for robotnix docs and gave up when I couldn't find it | 14:56:43 |
matthewcroughan - nix.zone | I also ctrl + f''d for debug on the readme | 14:57:02 |
matthewcroughan - nix.zone | I searched the repo for debug and found a lot of things that aren't what you're referencing | 14:57:24 |
pentane ⭔ | If you've defined a robotnix system with foo = lib.robotnixSystem { ... }, you can access the debug env script with foo.config.build.debugEnterEnv | 14:57:41 |
pentane ⭔ | Just remember to cd into an empty directory before, it'll create lots of bind mounts ;) | 14:58:04 |
pentane ⭔ | But yeah I agree that robotnix needs better docs | 14:58:22 |