- gettext is required since the switch to binary translations catalogs
- add shellcheck and shfmt to the optional dependencies for linting
- clarify minimum required and recommended versions
- remove unnecessary LUA requirements already provided by the build system
- clarify necessary vs optional requirements
- simplify macOS instructions around the minimum targeted deployment version
- add `findutils`: we need the real deal (for `-printf`)
- add `nasm`: for building libjpeg-turbo' SIMD support
- drop `ninja-is-really-ninja` in favor of `ninja-build`:
the former now conflicts with `samurai` (required by `meson`)
* Iterate over varargs directly via select if possible
* Use table.pack otherwise (https://github.com/koreader/koreader-base/pull/1535).
* This allows us to simplify a few Logger calls, as logger now handles nil values.
* Simplify flash_ui handling (by handling the unhighlight pre-callback, c.f., #7262 for more details).
* UIManager: Handle translucent window-level widgets (and those wrapped in a translucent MovableContainer) properly in setDirty directly, making sure what's *underneath* them gets repainted to avoid alpha layering glitches. (This was previously handled via localized hacks).
* Update UIManager's documentation, and format it properly for ldoc parsing, making the HTML docs more useful.
* ReaderView: Reinitialize the various page areas when opening a new document, to prevent poisoning from the previous document.
* Event: Handle nils in an event's arguments.
* CheckButton/RadioButton: Switch to simple inversion to handle highlighting
* CheckButton: Make the highlight span the inner frame's width, instead of just the text's width, if possible.
* AlphaContainer: Fix & simplify, given the UIManager alpha handling.
* MovableContainer: When translucent, cache the canvas bb used for composition.
* Avoid spurious refreshes in a few widgets using various dummy *TextWidgets in order to first compute a text height.
* KeyValuePage: Avoid floats in size computations.
* Update log android to match the current issue template
* Fix GUI gdb frontends getting wrecked by the older glib library we ship w/
KOReader
* Slightly more aggressive valgrind defaults
It's slower, but interpreting results without leak-check=full ends up
costing more time than just running with it.
* Add a callgrind shortcut
* Use getopt instead of a hand-rolled hack for option parsing
* Make it clearer that complex args should be quoted
* Document prompt
* Add a Valgrind suppression file for libdrm/mesa on AMD hardware
Because mesa/libdrm isn't built w/ -D valgrind=enabled on Gentoo,
and Valgrind is very much not happy with mesa ;p.
* Allow toggling reader.lua's sane return mode
(Enabled automatically under gdb/valgrind).
Should hopefully weed out some noise from valgrind reports.
* Propagate reader.lua's return code
* Sim a few other common devices
* Handle assigning values to short options with an equal instead of a space, like the previous solution
(This is purely for backward compatibility purposes, this is a syntax that'd fail with the C getopt, too).
* Add gnu-getopt to the build requirement on macOS, because of course everything is terrible.
* Steer people more strongly towards koxtoolchain
And stop mentioning blatantly broken/outdated stuff
* Add macOS to the list
Also, put 'em in hierarchical order, and link to the main build docs for
the native emulator.
* Update macOS PATH shenanigans.
c.f., https://github.com/koreader/koreader-base/pull/1052
* Prefer coreutils, it now ships everything we need.
(Or it always did? I apparently don't actually have coreutils
installed on my end).
* Also recommend putting Homebrew first in PATH
Mainly because it turns out that's how I tested this the last time ;).
Also, it just makes sense, and might be part of Homebrew's
recommendations anyway.