ibus-engines.mozc-ut: init at 2.30.5544.102
Description of changes
This is an attempt to package ibus-engines.mozc-ut which enables a new UT dictionaries option.
It copies a lot of the work in #296035 but changes every dictionary as an derivation. By making every dictionary a derivation each update to the dictionary will keep the IME up to date.
I am still unsure if this is the right way to implement it, so I will put this up as a draft for now. Edit: changed the title so it only shows the mozc-ut
Things done
- Built on platform(s)
- [x] x86_64-linux
- [ ] aarch64-linux
- [ ] x86_64-darwin
- [ ] aarch64-darwin
- For non-Linux: Is sandboxing enabled in
nix.conf? (See Nix manual)- [ ]
sandbox = relaxed - [ ]
sandbox = true
- [ ]
- [ ] Tested, as applicable:
- NixOS test(s) (look inside nixos/tests)
- and/or package tests
- or, for functions and "core" functionality, tests in lib/tests or pkgs/test
- made sure NixOS tests are linked to the relevant packages
- [ ] Tested compilation of all packages that depend on this change using
nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage - [x] Tested basic functionality of all binary files (usually in
./result/bin/) -
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)
- [ ] (Package updates) Added a release notes entry if the change is major or breaking
- [ ] (Module updates) Added a release notes entry if the change is significant
- [ ] (Module addition) Added a release notes entry if adding a new NixOS module
- [ ] Fits CONTRIBUTING.md.
Add a :+1: reaction to pull requests you find important.
Also the old PR title is just way too long haha, caught my attention immediately
@pineapplehunter thanks for the PR! Was going to take a crack at it myself but didn't get around to it in time...
All of the dictionaries have build scripts, e.g. mozcdic-ut-place-name (except for mozcdic-ut-personal-names). Is there any merit in packaging the dictionaries "from source" rather than relying on the manually updated .txt.tar.bz2? I looked at some of the dictionary URLs and they seem not stable (updated in place) so there would need to be mirroring. If so, it'd probably be more trouble than it's worth since these dictionary repositories are already essentially mirrors.
Secondly, what concrete steps need to be taken to go from draft status to a mergeable state? Given that this PR is already functionally correct (in that it matches upstream + works with IME) and dictionaries are easily updated by nixpkgs-update the PR looks good to me. Given the 3-4 PRs I've seen, missing the ut dictionary has been a sore point for some time now and personally speaking, I'd like to stop compiling ibus every time I update my system ;).
All of the dictionaries have build scripts, e.g. mozcdic-ut-place-name (except for mozcdic-ut-personal-names). Is there any merit in packaging the dictionaries "from source" rather than relying on the manually updated .txt.tar.bz2?
It's more a principle thing, I think — aside from some core bootstrapping libraries, Nixpkgs tries to compile things from source as much as possible to ensure that the compilation process is reproducible. Unwrapping and repackaging prebuilt files should only be done if there's no way to build the package correctly and/or reproducibly
I see. I'll try to take a shot at it at some point. Either way, I don't think it's a blocker for this PR since a "from source" derivation can transparently replace any of the "repacked" derivations (which are their own derivations already).
@pineapplehunter Is there anything keeping this PR from being undrafted? @musjj would you be okay with merging this PR first, and rebasing your work onto it in #251706? I'd be happy if we could get the new mozc stuff in before 24.11
would you be okay with merging this PR first, and rebasing your work onto it
Yeah, I'd be okay with that.
@h7x4 @musjj Thanks for the comments, and sorry for the late reply. I originally started this PR as a PoC to see if making all the dictionaries as packages would work. I wasn't quite sure if this was the right way to go. But I'm happy to undrafted and merge this. Feel free to let me know if there's anything I should fix.
I just remembered I have to double-check the licenses on the dictionaries. I remember each of them having slightly different licenses.
All licenses have been checked and should now be good to go.
Missed the license for jp-zip-codes
Thank you all for the great work!