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

425 Commits

Author SHA1 Message Date
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
Qingping Hou
73a048e320 build: set dependency for .busted 2016-02-03 20:28:39 -08:00
Qingping Hou
b480145134 build: add kodev script 2016-02-01 00:26:07 -08:00
Qingping Hou
0e8eb3320c minor(build): replace comment with echo 2016-01-31 14:58:05 -08:00
Qingping Hou
cdbc8e594d build: add dist-clean target 2016-01-09 12:12:10 -08:00
Qingping Hou
83b35fc99a minor: create git-rev inside install dir 2016-01-02 23:53:40 -08:00
Qingping Hou
c06209265a build: use install instead of mkdir -p 2016-01-02 23:45:23 -08:00
chrox
a284ca147f l10n for modules in utils 2015-10-18 00:34:57 +08:00
chrox
9654e9ce6c fix #1608 with touch coordinates detection
Some kobo touch devices have X Y coordinates in touch events swapped.
This patch provides a GUI to probe if the device needs to swap the XY.
The Kobo Touch users will be directed to tap on the upper right corner
of the screen and the probe will check if the X value is smaller than
the Y value in the tap event.
2015-10-18 00:25:40 +08:00
chrox
970f9a7801 verbose coverage test 2015-10-07 22:41:14 +08:00
chrox
429eeed372 verbose unit test log so that we have a clue when there is segfault 2015-10-07 15:14:27 +08:00
chrox
5bab00ff9b add apparmor.openstore file for openstore submission 2015-10-06 22:15:38 +08:00
chrox
8c0ca1c5e5 comments for the targz file extension 2015-10-03 15:07:31 +08:00
chrox
a60544b1ad Koreader Ubuntu-touch port
Currently only tested on Ubuntu-touch emulator with framework
ubuntu-sdk-14.10 for armhf.
The ubuntu-touch port is binary compatible with the Kobo port
major changes in this PR are:
1. rename the emulator device to sdl device since both the emulator
and the ubuntu-touch target use libsdl to handle input/output.
2. ubuntu-touch app has no write access to the installation dir so
all write-outs should be in a seperate dir definded in `datastorage`.
2015-10-03 14:48:51 +08:00