Babel requirement is <2.9 and nixpkgs provides 2.9.0
Updated the requirement definition. Upstream did this as well and
according to the Babel changelogs, there were no breaking changes
between 2.8 and 2.9. Server started up properly, no functionality
test, though.
There are two patches applied to 'calibre-web' in order to make it more
NixOS friendly:
- default-logger.patch switches default log output to /dev/stdout, as
otherwise calibre-web tries to open a file relative to its location,
which it can't do as the store is read-only. It's not possible to
pass log file location via command line flags.
- run-migrations.patch adds an env var __RUN_MIGRATIONS_AND_EXIT that,
when set, instructs calibre-web to run DB migrations and exit. As
almost all config parameters are configured via UI in sqlite3 DB,
this patch allows the DB to be pre-created so it can be updated by
systemd pre-start script later. Thus, allowing calibre-web to be
configured declaratively.