2
0
mirror of https://github.com/koreader/koreader synced 2024-11-10 01:10:34 +00:00
Commit Graph

438 Commits

Author SHA1 Message Date
Martín Fernández
1adea4a497 Add macOS target
Co-authored-by: Jason Benwell <jbenwell@hotmail.com>
2020-07-11 01:29:49 +02:00
yparitcher
d6b820fd5a
Do not link cache dir as it may already exist (#6358)
use bash with extglob to not match one result

closes koreader/koreader#6357
2020-07-09 08:39:36 +02:00
zwim
488721e62e
[Android] Add support for custom startup scripts (#6275)
Add the possibility to run *.sh scripts:

After an update of koreader all *.sh scripts in /sdcard/koreader/scripts.afterupdate
are executed.

On every start of koreader run all *.sh scripts in /sdcard/koreader/scripts.always
2020-06-19 21:23:47 +02:00
Martín Fernández
4d8cf983e2
Debian - fix some lintian errors (#6099) 2020-05-14 14:26:00 +02:00
NiLuJe
9ce22f53b9
[Kindle] Hide the status bar on current FW, too. (#5943)
Via wmctrl
2020-03-15 01:28:37 +01:00
NiLuJe
12e54a17b3
Get rid of the old PB TC (#5860) 2020-02-15 23:49:04 +01:00
NiLuJe
ca4f05d7db
Actually ship the Cervantes version of spinning_zsync (#5853)
Followup to #5850 ;).

Ooops. Thanks @avsej
2020-02-12 17:42:17 +01:00
NiLuJe
de15ab3a87
Unbreak OTA on crappy shells (#5850)
* Unbreak OTA on crappy shells

  Very, very old ash versions abort on set -o failures (as mandated by
POSIX, granted). This makes it impossible to reliably catch failures in
a single step.

So do it from the Lua side instead.

Should fix #5844

* Launch the zsync wrapper through bash on Cervantes
2020-02-12 00:07:05 +01:00
Martín Fernández
67627ce2d9
Remarkable port (#5828)
Touchscreen is mirrored in X & Y and has a different resolution from the eink panel.

Uses systemd for time/date/suspend/poweroff/reboot
Two systemd units for platform integration. button-listen is a very
simple launcher.
to-do: add support for wifi by implementing  a wpa supplicant dbus client.

Authored-by: Thomas Spurden <tcrs@users.noreply.github.com>
2020-02-08 01:58:10 +01:00
NiLuJe
72fd93c4dd
Unbreak OTA on Kindle (#5758)
* Deref hardlinks in tarballs
* Ensure an OTA won't break the launcher script, which'd screw the user on exit.
2020-01-11 04:05:14 +01:00
Frans de Jonge
d647c62c67
[i18n] Use sort to keep POT order more stable (#5716) 2019-12-31 17:47:54 +01:00
NiLuJe
47da0ae1cd
Unbreak the KUAL extension (#5715)
* Prefer our own FBInk binary
* Get rid of the CRe config tweaks
* Oops, actually ship libkohelper in the KUAL extension.
* Bump extension version
* Flush to disk before printing final status message
2019-12-31 17:07:33 +01:00
Frans de Jonge
8a474e6922
Finish Weblate migration (#5713)
Closes #3754.

Adds an automated source file push to the koreader/koreader-translations repo and a cute little badge.
2019-12-31 15:39:15 +01:00
Martín Fernández
a5069f1c26 android: make system fonts toggable (#5670)
Also add droid font back to android and remove the workaround
2019-12-08 14:54:14 +01:00
Frans de Jonge
d167b74823
Transifex pull on release build (#5674)
There's some delay on the Weblate end. Partially reverts #5507. Fixes #5673.
2019-12-07 17:11:29 +01:00
Frans de Jonge
c7079c80be
[fix] kodev: Allow nightly build to succeed (#5507)
Translations live in a submodule since <https://github.com/koreader/koreader/pull/5506>,
and without initialized submodules `kodev release` will therefore fail.

The specifics need a fair bit more attention once Weblate has been set up, but this should
suffice for the nightly/stable build to succeed.
2019-10-19 17:45:49 +02:00
Frans de Jonge
d79771f4d9
[Android] Ship Noto (#5458)
Reverts a small part of #5310.

I don't really have the time to investigate doing font fallback better and the Android landscape is a tad far from uniform.

Fixes #5381.
2019-10-08 16:10:55 +02:00
Frans de Jonge
2cd9b50137
[Android] Don't ship Noto (#5310)
Follow-up to <https://github.com/koreader/koreader/pull/5252>. This greatly reduces the Android package size.

See discussion in <https://github.com/koreader/koreader/pull/5264#issuecomment-525517001>.
2019-09-04 20:50:25 +02:00
Frans de Jonge
503a57b32b [Android] Don't package Droid Sans
This comes preinstalled on every Android device. It's only 105.6 KiB, but every space reduction is a good one.

Also opens the way to dropping Noto.

Cf. <https://github.com/koreader/koreader/pull/5200#issuecomment-524501845>.
2019-08-30 19:53:36 +02:00
Martín Fernández
4910dbc6d2 android: migrate from lzma to zip file 2019-08-30 16:42:57 +02:00
Frans de Jonge
a9f24815c6
[chore] Makefile cleanups (#5273)
I overlooked the Kindle cleanup line in https://github.com/koreader/koreader/pull/5268, but that kind of thing is what variables are made for.
2019-08-27 15:22:34 +02:00
Frans de Jonge
6ff19b2caf
[AppImage] AppImageTool 12 (#5275)
https://github.com/AppImage/AppImageKit/releases/tag/12
2019-08-27 14:31:59 +02:00
Frans de Jonge
ec25cea01d
[fix] Cervantes package generation (#5272)
Forgotten line from https://github.com/koreader/koreader/pull/5268.
2019-08-26 22:17:21 +02:00
Frans de Jonge
8e38b1c90b
[feat] Friendly filename (#5268)
Changes Cervantes, Kindle, Kobo, Pocketbook, and Sony to the following format:

```
koreader-kobo-v2018.11.1.zip
koreader-kobo-debug-v2018.11.1.zip
```

Changes Android to the following format:
```
koreader-android-arm-v2019.09.apk
koreader-android-arm-debug-v2019.09.apk
koreader-android-x86-v2019.09.apk
koreader-android-x86-debug-v2019.09.apk
```

Fixes <https://github.com/koreader/koreader/issues/4297>.
2019-08-26 20:29:08 +02:00
Frans de Jonge
2c555830f9
[feat, i18n] Implement ngettext (#5257)
Fixes <https://github.com/koreader/koreader/issues/5249>.

See https://www.gnu.org/software/gettext/manual/html_node/Plural-forms.html and https://www.gnu.org/software/gettext/manual/html_node/Translating-plural-forms.html for more information.

Usage:
```lua
local T = ffiUtil.template
local _ = require("gettext")
local N_ = _.ngettext

local items_string = T(N_("1 item", "%1 items", num_items), num_items)
```
2019-08-24 23:06:06 +02:00
Frans de Jonge
6ed58346a1
[i18n] Add translator notes (#5250)
Thanks to <https://github.com/koreader/koreader/pull/5237> we can now  extract the knowledge currently embedded in Transifex and put it directly in our source. This positively affects <https://github.com/koreader/koreader/issues/3754>.

Translation instructions and knowledge that comes out of localization-related questions should be preserved in the source, because Transifex is too ephemeral. For example, the links from <https://github.com/koreader/koreader/pull/2290> are no longer accessible. Even when they are, it's quite useful to have this information around while dealing with the code as well, and I also hope it'll be informative to contributors who seldom visit Transifex.

This commit also makes a few minor changes to obviate the need for comments where possible.
2019-08-24 09:25:38 +02:00
Frans de Jonge
fbd331dd07
[i18n] Switch make pot to xgettext (#5237)
This introduces context to our strings to differentiate them when necessary.

The syntax chosen is `C_()`, following [glib](https://developer.gnome.org/glib/2.28/glib-I18N.html#C-:CAPS).

```lua
local _ = require("gettext")
local C_ = _.pgettext

C_("Menu|StyleTweaks|", "Pages")
```

Closes #5232.
2019-08-21 22:18:14 +02:00
NiLuJe
327933d12f
Make the KUAL extension autonomous on Kindle (#5112)
* Sever its dependency on various things from KOReader's own directory.
2019-07-09 19:38:32 +02:00
Frans de Jonge
27ddd6f313
[spec] Better insulation (#4972)
Some combination of Travis and/or older Busted necessitated insufficient insulation.

Follow-up to https://github.com/koreader/koreader/pull/4970

Space condensing carried over; reset at the start of readertoc.
2019-04-25 23:33:47 +02:00
Frans de Jonge
f38918a6f2
[Ubuntu Touch] Strip OTA update code (#4962)
It distracts the developers. ;-)
2019-04-22 15:48:40 +02:00
Frans de Jonge
4371422898
[fix, Ubuntu Touch] Actually bundle libSDL2.so! (#4946)
Accidentally broken in https://github.com/koreader/koreader/pull/2132.
2019-04-19 22:14:59 +02:00
Frans de Jonge
1887708012
[Android] Add F-Droid latest file (#4869)
This can be added to the build server as an artifact and used for automatic F-Droid updates. Cf. https://github.com/koreader/koreader/issues/2040#issuecomment-474925297 pointed out by @pazos.
2019-04-02 18:28:46 +02:00
Martín Fernández
dde301e765 [Android] use the same tag for all logs (#4862) 2019-04-01 15:48:10 +02:00
Frans de Jonge
523be5e7d9
[fix] Makefile: declare all phonies (#4819)
It's generally working as expected at the moment because you're unlikely to have a file named `clean`. But if you were to create a file named `all` or `clean` you could have a pretty difficult time figuring out why nothing's happening anymore.

Pointed out by https://github.com/mrtazz/checkmake which I ran out of sheer curiosity.
2019-03-19 16:08:13 +01:00
Martín Fernández
ae0861eda8 [Android] Set flavor at build time 2019-03-03 11:47:52 +01:00
Frans de Jonge
365a5ad876
[chore] Deprecate Android OTA code (#4636)
Fixes #4632.
2019-02-22 12:02:26 +01:00
Frans de Jonge
a607629129
[fix, AppImage] Add libbsd.so.0 & libXss.so.1 dummy (#4634)
Fixes #4627.
2019-02-21 20:14:20 +01:00
Frans de Jonge
1cc32362aa
[build, Android] Use faster lzma2 compression (#4562)
This greatly speeds up package creation and somewhat speeds up resource bundle extraction.
2019-02-08 18:18:32 +01:00
Martín Fernández
3f415604b9 fix android release version (#4549) 2019-02-04 13:52:20 +01:00
Frans de Jonge
81a2423982
[Android, feat] Set APK version to a sane automated value (#4546)
Includes "set android versionCode and android versionName at buildtime" (<https://github.com/koreader/android-luajit-launcher/pull/106>)

* versionCode uses the number of Git commits, because Google doesn't like values larger than `2100000000`
* versionName uses our existing version string

References #2040.
2019-02-03 20:19:52 +01:00
Frans de Jonge
b68cdc202d
[Android] Add release/debug APK switch (#4532)
References #2040.

Includes https://github.com/koreader/android-luajit-launcher/pull/99
2019-01-31 17:34:13 +01:00
Frans de Jonge
b7eb2f7e7f
[fix] AppImage: include libsndio for SDL (#4488)
Better than #4487.
2019-01-17 16:04:34 +01:00
Frans de Jonge
9351910657
[fix] AppImage: also include libsndio (#4487)
Should fix #4485.
2019-01-17 15:28:18 +01:00
Martín Fernández
6de5927dc2 [build] Add support for Debian packages (#4434)
* Add support for Debian packages

* SDL: add device probe
2019-01-03 18:21:35 +01:00
Martín Fernández
a57fd4fef8 dismiss errors checking if in Docker 2018-12-18 11:57:57 +01:00
Martín Fernández
0a63ee5a11 [cervantes] fix ota updates (#4386) 2018-12-08 07:28:59 +00:00
Martín Fernández
1e69fae7bc [feat] Add support for BQ/Fnac devices (#4294)
Adds support for devices found in https://blog.bq.com/es/bq-ereaders-developers-program/. Tested on BQ Cervantes 4 (last BQ device from 2017).

It adds a new touch input event handler (discussed in #4275) which should work on other single touch devices (ie: Kobo Touch, Mini, Glo, Aura HD) but wasn't tested.

Includes base bump with: [feat] Add BQ/Fnac device support (https://github.com/koreader/koreader-base/pull/745)
2018-10-31 23:48:36 +01:00
Frans de Jonge
d1298ff8e5
[feat] Smaller version on annotated tag (#4295) 2018-10-31 23:34:11 +01:00
Frans de Jonge
c01d105bb3
[build, AppImage] Update to AppImageTool 11 (#4288)
It came out last week: https://github.com/AppImage/AppImageKit/releases/tag/11

I also fixed the `libcairo` issue from https://github.com/koreader/koreader-base/issues/730 in https://github.com/koreader/virdevenv/pull/21
2018-10-28 07:12:30 +01:00
Frans de Jonge
3cfa42b3f7 [build] Stick to AppImageTool 10 (#4209)
This should unbreak the AppImage build without having to update the Docker image.

Fixes https://github.com/koreader/koreader-base/issues/730
2018-09-08 22:52:04 +02:00
Matias N
94d8f2d397 Sony PRSTUX support (#4198)
* Sony PRSTUX support
2018-09-08 01:37:04 +02:00
NiLuJe
ababbd7aad
Enhanced visual feedback around tar & zsync! (#4194)
* Move Kindle scripts to FBInk
* Proper progress bars around tar invocations
* Spinner during zsync processing
2018-09-06 01:35:48 +02:00
NiLuJe
5f4841e277
Tweak JIT's loopunroll threshold on Kobo 16bpp (#4157)
* Tweak JIT's loopunroll threshold on Kobo 16bpp
    To avoid early blacklist of the blitbuffer code on alpha-blending
    workloads.
    Least terrible workaround we could come up with to "fix" #4137

* gzip kindle/kobo/pb OTA tarballs w/ --rsyncable
    Should make them more zsync friendly.
2018-08-12 20:01:04 +02:00
NiLuJe
75df3fcea3
Dismiss Wi-Fi scan popup after connection (#4055)
* Add a config switch to automatically dismiss the WiFi scan popup on connect
2018-07-07 17:06:58 +02:00
NiLuJe
8089d916a5
Visual feedback around tar/zsync on Kobo during OTA updates (#4043)
* With a bonus version normalizer fix.
  * And a zsync bump/fix to avoid softlocks with OpenStack HTTP frontends (also, pull those from the OTA mirror list).
2018-07-03 23:16:45 +02:00
NiLuJe
ebf47771d8
Update Google Fonts (#3942)
* Minor cleanup

We don't ship Droid Sans Fallback anymore

* Tweak UI fallback font list for better coverage

* Bump base & fonts

To pickup related changes
2018-05-16 10:28:06 -04:00
onde2rock
c6c740d1da [build] Remove kindle5 target (#3902) 2018-04-22 15:22:11 +02:00
NiLuJe
95bc5d7081 [fix] tar args order & Kobo IR grid regression (#3895)
* Fix order of tar args

Otherwise, current tar versions abort

* Unbreak Kobo IR grid resume workaround

Regression after f402ee5f6f

I'm going to assume my H2O is really, really weird, because that
commit's more than a year old o_O.
2018-04-19 21:08:55 +02:00
Frans de Jonge
138cc0f497
[fix] Better fix for libSDL2-2.0.so.0 (#3893)
Systems with libSDL2.so seem to have libSDL2-2.0.so.0, but those without only have libSDL2-2.0.so.0
2018-04-18 16:21:53 +02:00
Frans de Jonge
1934ebd911
[fix] Build AppImage on more system configurations (#3892) 2018-04-18 15:35:34 +02:00
NiLuJe
a36407080b Don't use a square icon on Kobo (#3889)
We ship it for use with fmon, and that means it gets processed by
Nickel, which expects an optimal AR of 0.75
2018-04-18 00:32:40 +02:00
Frode Austvik
f12f317e9d [spec] Replace custom assert[Not]AlmostEquals with assert.is[_not].near (#3885)
Also, change "make static-check" to also check the tests.
2018-04-15 23:49:08 +02:00
Frans de Jonge
88dee4194d
[feat] SDL2: add window icon (new logo) (#3884)
Also update Ubuntu Touch icon

Fixes #2000, fixes #3858
2018-04-15 23:39:42 +02:00
onde2rock
ed36173e38 [fix, build] release kindle5 and kindlepw2 (#3883) 2018-04-15 22:52:58 +02:00
NiLuJe
bdb82d09c1 [chore] A round of Kobo specific script cleanup (#3876)
* Flag those scripts as executable in git

Somewhat irrelevant because we'll end up living on a FAT32 drive, but,
still.

* Cleanup Kobo startup script

Support KFMon >= 0.9.5

Don't siphon PRODUCT from nickel, it's exported by rcS, so fmon/KFMon
already inherit it.
Siphon NICKEL_HOME, on the off-chance nickel fails to figure that one
out for itself on restart.
Siphon LANG (This may be a terrible idea, rcS sets LANG to en_US.UTF-8,
while we set LC_ALL to en_US.UTF-8, but I don't know if nickel itself
ever updates LANG, since I have mine set to en_US also ;)).
My secret hope if that everything's working as it should and this ensures
we default to Nickel's locale on fresh installs?

Remove the extra sync on startup, both @Baskerville's fmon and KFMon are
smart enough not to do anything overly stupid, and recent FW versions
have a slightly more resilient DB anyway (rollback journal -> WAL).
This effectively shaves over a second off our startup time.

* Slimmed down the nickel restart script.

Based on current rcS
Scrapped a bucketload of irrelevant & legacy crap, since we're never
bootstrapping nickel, only restarting it.

* Update Kobo install instrcutions.

Point to KSM09, @Baskerville's fmon, and KFMon.
Deprecate legacy fmon, and as such, stop shipping a useless KoboRoot
tarball.
2018-04-15 15:05:45 +02:00
Frans de Jonge
e39ed902e9
[build] AppImage: support creation in Docker container (#3852) 2018-04-09 23:17:06 +02:00
Frans de Jonge
ab712f1a29
[feat] Build AppImage (#3850)
References #1417.
2018-04-08 22:39:52 +02:00
Frans de Jonge
6c3ace9940
[Android] Makefile: only use VERSION, not REVISION (#3811)
Fixes always reinstalling resource package.

See https://github.com/koreader/koreader/pull/3723#issuecomment-376508917
2018-03-29 16:59:13 +02:00
Frans de Jonge
16061370f4
Add date to git-rev version (#3723)
Adds an extra part at the end of the git-rev.

Before: `blablabla-21-g076bf406`
After: `blablabla-21-g076bf406_2018-03-05`

Fixes #2896
2018-03-07 19:26:56 +01:00
Huang Xin
a44b39fda6
[build] Darwin build of Android port (#3520) 2017-11-28 02:23:54 +08:00
Frans de Jonge
9000ed1bd3
[build] Add -debug suffix to KODEBUG builds (#3439) 2017-10-27 20:36:36 +02:00
Frans de Jonge
6e52e99b5b [fix] verbose_print deprecated by gtest 2017-10-11 09:08:18 +02:00
Frans de Jonge
53c0756def CircleCI: finishing touches (#3340)
* junit test results; unfortunately this seems to conflict with the verbose out

* fix deps cache: two files can change independently

* verbose print obsoleted by gtest in upsream busted
2017-10-11 08:38:30 +02:00
Frans de Jonge
868860a62e CircleCI parallelization
* Enable parallelism in .circleci/config.yml
* Add BUSTED_SPEC_FILE to Makefile testfront
* Use it in .ci/test.sh with xargs for test parallelization

NB This is the dumb method of improving test time.
Ideally we want a workflow fan-in/fan-out approach.
2017-10-10 14:08:49 +02:00
Huang Xin
a4e1a3ba5e reflect changes in koreader/android-luajit-launcher#62 (#3254) 2017-09-24 05:58:34 +08:00
Qingping Hou
b33c9268d2 build(fix): fail release command by default if make po failed 2017-05-11 03:23:13 -07:00
Qingping Hou
1461574894 Support configurable extra plugin lookup path (#2693)
* plugin loader(feat): support loading plugins from user defined directories
Extra plugin lookup paths can be set in global reader setting via key
`extra_plugin_paths`. Value of the key can either be a string or an array
of strings.
* build(fix): also purge non-exist plugins on build
* plugin: migrate debug plugin to menu sorter
2017-04-06 11:12:35 +02:00
Qingping Hou
2aa9d5d64e test: add unit tests for docsettings 2017-03-06 07:47:20 +01:00
Qingping Hou
0871100367 minor(fix): update koreader-misc path 2017-03-06 07:47:20 +01:00
Qingping Hou
dae4a5a413 refactor: move bootstrap code into setupkoenv.lua
add ffi.load patch
add kodev prompt command
2016-11-12 23:48:56 -08:00
Qingping Hou
854043e18d chore: fix all luacheck errors for plugins 2016-11-07 21:24:34 -08:00
Qingping Hou
816d0a551a kobo: handle charging/uncharging event 2016-10-30 15:25:51 -07:00
Qingping Hou
d0c6ea1308 build(chore): use DIST to label kindle artifacts 2016-10-16 01:28:54 -07:00
Qingping Hou
3d79d44381 build: fix android and pocketbook builds 2016-10-09 23:28:16 -07:00
Qingping Hou
8ff9a916da kodev(minor): style clean up & fixes 2016-10-09 12:05:12 -07:00
Qingping Hou
e41e489528 kodev(fix): update plugins before tests 2016-10-08 15:53:02 -07:00
Hzj_jie
da2c57f93a Automatically connect WIFI after Kobo has been resumed (#2215)
* Add bash scripts to control WIFI / IP, so we can share them with frontend/device/kobo/device.lua.

* add test cases
2016-09-01 00:05:40 -07:00
chrox
001433e6bc various test/coverage optimization 2016-08-15 00:32:40 +08:00
chrox
9ab005a1d3 fix unit test of readerlink and readerpaging
and have more confidence with the unit testing framework.

Now `make testfront` won't retry on failure and testing files are
ordered in each run so that it's possible to reproduce testing failure.

And this patch also fix flush settings not working before suspend issue:
at some point the `FlushSettings` event is sent to `UIManager` instead
of `ReaderUI`, but `UIManager` only delegated events to active widgets
and `ReaderUI` is actually not an active widgets thus will miss the event.

This patch also add a verbose debug mode with "-v" as a switch to turn
on this mode. With verbose mode on, event handling will be logged.
2016-08-12 17:05:07 +08:00
chrox
9afad43a3e refactoring utils to tools as discussed in #2197 2016-08-11 19:29:09 +08:00
chrox
41f2fe85b7 fix #2119 by updating libSDL2.so and fix Evernote Plugin 2016-07-05 22:16:42 +08:00
chrox
df65d2972a experimental port to Mac OSX
Currently it can open cre-based docs and Djvu docs
It still has some problems with PDF docs and the touch input.
2016-04-22 20:13:44 +08:00
Qingping Hou
31206cb80f ci: fix coverage report 2016-04-20 23:56:38 -07:00
Qingping Hou
357477b2be test: disable auto insulate 2016-04-19 00:01:35 -07:00
Qingping Hou
144fd170f1 uimanager(refactor): replace autosuspend if check with noop 2016-03-29 10:02:53 -07:00
chrox
dd9dde510c don't update git-rev file in android ota package 2016-03-15 20:43:12 +08:00
chrox
3a9cb659d1 add OTA update on Android 2016-03-13 23:43:05 +08:00
Qingping Hou
70266c3b35 force set MACHINE from toolchain dumpmachine
Looks like leaving it out as optional variable is more like to cause issue...
ref: https://github.com/koreader/koreader/issues/1832#issuecomment-185870105
2016-02-18 15:32:04 -08:00
Qingping Hou
8f4fae7a09 minore: more static check fixes 2016-02-10 10:30:05 -08:00
Qingping Hou
e2096ed8d9 doc: add documentation build infrastructure 2016-02-04 10:24:53 -08:00