nix-community / nix-on-droid

Nix-enabled environment for your Android device. [maintainers=@t184256,@Gerschtli]
https://nix-on-droid.unboiled.info
MIT License
1.33k stars 74 forks source link

Update to 24.05 #372

Closed taranarmo closed 4 months ago

taranarmo commented 5 months ago

Following the update to 23.11 I updated the inputs and copyrights to 24.05 as it is considered stable now. Also in current version nixpkgs docs input is still at 23.05, fix for that also included

t184256 commented 5 months ago

Thanks for taking the time to look into this. Unfortunately, that might be just one piece of the whole 24.05 puzzle:

  1. be783dd251 you've linked to is just one commit out of https://github.com/nix-community/nix-on-droid/pull/336, reading that one and also https://github.com/nix-community/nix-on-droid/projects/8 should help piece together the bigger picture of what it entails.
  2. 24.05 release might be run significantly late this time because I have several ambitious things planned for this release:

    a. make use of the am-powered integrations (sounds like a low-hanging fruit at this point, see the comments #133) b. figure out DNS at last (#2, still sounds hard to me, cause turns out I'm bad with writing NSS plugins) c. CI needs to be fixed. I gave up on figuring out what's wrong with downloads stalling under fakedroid, so I'm afraid I'll explore running a proper Android emulator instead

So, I was planning to do the regular release preparations after completing 2-3 of these. Though if you're not afraid of rebasing later, you can prepare a PR now and rebase it later.

Also in current version nixpkgs docs input is still at 23.05, fix for that also included

And do the docs build fine with the new version?

taranarmo commented 5 months ago

Okay, I see.

  1. I will read, thanks for the links. Don't know why I didn't do that prior.
  2. I can try playing with CI, I wanted to get more experience in it.

Yeah, rebasing is possible. Shouldn't be too hard.

I tried to fix the docs input in current version (by linking it to my fork) and no warning or errors were faced. Though now flake based configuration throws warning that home manager is at 24.05 while its input is at 23.11 :)

t184256 commented 4 months ago

As a first stepping stone towards a release, #379 should greatly rework our CI; that'd be one important point to rebase onto.

taranarmo commented 4 months ago

I successfully rebased my branch on emulator-powered-ci

t184256 commented 4 months ago

Good, now you can see what fails to build.

The first obstacle on the way to nix build ".#aarch64.bootstrapZip" is the patches to nixpkgs I had to apply last release: compiler-rt.patch and libunwind.patch. Hope the issues they have worked around have resolved themselves and the patches can be just dropped; otherwise, they'll have to be updated for new nixpkgs.

t184256 commented 4 months ago

if I try to unpin docs nixpkgs like you did in dbd80b49d8a39f772809c90d03fd4b9c4e4bfb88, I get

$ nix --print-build-logs --option keep-going true --show-trace build '.#manualHtml'
warning: updating lock file '/home/monk/code/nix-on-droid/prerelease-24.05/flake.lock':
• Updated input 'nixpkgs-docs':
    'github:NixOS/nixpkgs/9a333eaa80901efe01df07eade2c16d183761fa3' (2024-01-22)
  → 'github:NixOS/nixpkgs/7144d6241f02d171d25fba3edeaf15e0f2592105' (2024-07-02)
warning: Git tree '/home/monk/code/nix-on-droid/prerelease-24.05' is dirty
options.json> Traceback (most recent call last):
options.json>   File "/nix/store/0damjdjmnbf31gh3y6hvgz2v9nranaaw-docbookify-options-json.py", line 72, in <module>
options.json>     class Renderer(mistune.renderers.BaseRenderer):
options.json>                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
options.json> AttributeError: module 'mistune.renderers' has no attribute 'BaseRenderer'
error: builder for '/nix/store/0cmcr94p86q0rpawwxkvpbmf6hf5lb6j-options.json.drv' failed with exit code 1;
       last 5 log lines:
       > Traceback (most recent call last):
       >   File "/nix/store/0damjdjmnbf31gh3y6hvgz2v9nranaaw-docbookify-options-json.py", line 72, in <module>
       >     class Renderer(mistune.renderers.BaseRenderer):
       >                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
       > AttributeError: module 'mistune.renderers' has no attribute 'BaseRenderer'
       For full logs, run 'nix log /nix/store/0cmcr94p86q0rpawwxkvpbmf6hf5lb6j-options.json.drv'.
error: 1 dependencies of derivation '/nix/store/mg8ic0p68mf6bwmlcmch1wk68sckxdh1-options-db.xml.drv' failed to build
error: 1 dependencies of derivation '/nix/store/lf6x66ccp9zw9903k59z40aw1mfv3yw4-nmd-documents.drv' failed to build
error: 1 dependencies of derivation '/nix/store/ha48w4gx1zxbryi1xw3k89dv1ji4h4ab-manual-combined.drv' failed to build
error: 1 dependencies of derivation '/nix/store/ailwdc73zzdz1v1kfkk0g9b0y9fmhjji-manual-olinkdb.drv' failed to build
error: 2 dependencies of derivation '/nix/store/3spyvlli759r7lhxnvjyn05w8xpk9vfb-html-manual.drv' failed to build

so, there is a reason it was frozen =(

t184256 commented 4 months ago

Amended the other commit and incorporated it into #384. Thank you.