-
-
Notifications
You must be signed in to change notification settings - Fork 15
Add Linux support with Nix packaging, Flatpak, desktop integration, and CI #197
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
|
Thanks a ton for this! This is a fairly sizable diff and I do have software engineering employment, so my apologies if this takes me a little bit to merge, but thanks a ton for all your work! It does look like CMakeLists has some conflicts, but those should be easy to fix. |
|
No problem, I'm in no rush here. FWIW, I'm partway through a fix for the inaccessible TOC tree--creating a tree widget type that either loosely wraps the native WX widget on most platforms, or just uses a GTK TreeView under WXGTK. I can either add that to this branch or to a followup PR--just wanted to let you know I wasn't done. That one will include a pile of C++ though, so it'll probably need closer review. |
|
|
I just fixed the conflicts between this branch and master. I also have, on separate branches rebased on this one, fixes for both the inaccessible ToC tree under Linux, as well as a fix for the menu accelerators not working in the text area, including a GTK-based live region implementation. Again, no rush on reviewing any of this--I can run my own branch indefinitely under Nix pretty easily. Just wanted to keep the PR updated as to the state of things. |
|
Seems I just broke some of your hard work when I merged in my Rust branch. Sorry about that :( |
|
Also, FWIW, a custom implementation of the tree for linux would be great, we're already going to have to do this for the mac :( wxWidgets really sucks at treeviews on not Windows, I guess. |
|
Please hold off just a bit, there's an odd issue where it segfaults if I attempt to open a book when launching from the desktop but works fine when opened from the CLI. Going to attach a debugger and investigate that today, should hopefully have a fix later this afternoon. |
This gets most of Paperback running under Linux, either directly on Nix via
nix run, or via Flatpak standalone bundles attached to each PR/release.What doesn't work?
Even with these limitations, having something I can throw just about any document I might want to read at under Linux and get back an accessible version is something I was going to write myself 6 months ago, so thanks for saving me the trouble! I think this is very useful even in its current form.
Followup
Additional tasks to pursue once this gets merged--I'm happy to look into them but I'll put them here in case others might be interested:
Disclosure
This PR was made largely with the help of Claude Code. As per my usual agentic workflow, I've reviewed every line of this PR. While nothing appears to
rm -rf /or exfiltrate the nuclear launch codes, I can't speak to:-Werrorflagged a bunch of issues with my version of GCC, and not having done C++ in a couple decades, I let Claude fix them. At first glance it looks like pedantic style/correctness fixes, and a variable rename to prevent a shadowing-related error, but that's the smallest part of the diff so hopefully should be easy to review.