Commit Graph

417 Commits (master)

Author SHA1 Message Date
Frans de Jonge 6ff19b2caf
[AppImage] AppImageTool 12 (#5275)
https://github.com/AppImage/AppImageKit/releases/tag/12
5 years ago
Frans de Jonge ec25cea01d
[fix] Cervantes package generation (#5272)
Forgotten line from https://github.com/koreader/koreader/pull/5268.
5 years ago
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>.
5 years ago
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)
```
5 years ago
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.
5 years ago
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.
5 years ago
NiLuJe 327933d12f
Make the KUAL extension autonomous on Kindle (#5112)
* Sever its dependency on various things from KOReader's own directory.
5 years ago
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.
5 years ago
Frans de Jonge f38918a6f2
[Ubuntu Touch] Strip OTA update code (#4962)
It distracts the developers. ;-)
5 years ago
Frans de Jonge 4371422898
[fix, Ubuntu Touch] Actually bundle libSDL2.so! (#4946)
Accidentally broken in https://github.com/koreader/koreader/pull/2132.
5 years ago
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.
5 years ago
Martín Fernández dde301e765 [Android] use the same tag for all logs (#4862) 5 years ago
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.
5 years ago
Martín Fernández ae0861eda8 [Android] Set flavor at build time 5 years ago
Frans de Jonge 365a5ad876
[chore] Deprecate Android OTA code (#4636)
Fixes #4632.
5 years ago
Frans de Jonge a607629129
[fix, AppImage] Add libbsd.so.0 & libXss.so.1 dummy (#4634)
Fixes #4627.
5 years ago
Frans de Jonge 1cc32362aa
[build, Android] Use faster lzma2 compression (#4562)
This greatly speeds up package creation and somewhat speeds up resource bundle extraction.
5 years ago
Martín Fernández 3f415604b9 fix android release version (#4549) 5 years ago
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.
5 years ago
Frans de Jonge b68cdc202d
[Android] Add release/debug APK switch (#4532)
References #2040.

Includes https://github.com/koreader/android-luajit-launcher/pull/99
5 years ago
Frans de Jonge b7eb2f7e7f
[fix] AppImage: include libsndio for SDL (#4488)
Better than #4487.
5 years ago
Frans de Jonge 9351910657
[fix] AppImage: also include libsndio (#4487)
Should fix #4485.
5 years ago
Martín Fernández 6de5927dc2 [build] Add support for Debian packages (#4434)
* Add support for Debian packages

* SDL: add device probe
5 years ago
Martín Fernández a57fd4fef8 dismiss errors checking if in Docker 5 years ago
Martín Fernández 0a63ee5a11 [cervantes] fix ota updates (#4386) 5 years ago
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)
6 years ago
Frans de Jonge d1298ff8e5
[feat] Smaller version on annotated tag (#4295) 6 years ago
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
6 years ago
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
6 years ago
Matias N 94d8f2d397 Sony PRSTUX support (#4198)
* Sony PRSTUX support
6 years ago
NiLuJe ababbd7aad
Enhanced visual feedback around tar & zsync! (#4194)
* Move Kindle scripts to FBInk
* Proper progress bars around tar invocations
* Spinner during zsync processing
6 years ago
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.
6 years ago
NiLuJe 75df3fcea3
Dismiss Wi-Fi scan popup after connection (#4055)
* Add a config switch to automatically dismiss the WiFi scan popup on connect
6 years ago
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).
6 years ago
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
6 years ago
onde2rock c6c740d1da [build] Remove kindle5 target (#3902) 6 years ago
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.
6 years ago
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
6 years ago
Frans de Jonge 1934ebd911
[fix] Build AppImage on more system configurations (#3892) 6 years ago
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
6 years ago
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.
6 years ago
Frans de Jonge 88dee4194d
[feat] SDL2: add window icon (new logo) (#3884)
Also update Ubuntu Touch icon

Fixes #2000, fixes #3858
6 years ago
onde2rock ed36173e38 [fix, build] release kindle5 and kindlepw2 (#3883) 6 years ago
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.
6 years ago
Frans de Jonge e39ed902e9
[build] AppImage: support creation in Docker container (#3852) 6 years ago
Frans de Jonge ab712f1a29
[feat] Build AppImage (#3850)
References #1417.
6 years ago
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
6 years ago
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
6 years ago
Huang Xin a44b39fda6
[build] Darwin build of Android port (#3520) 7 years ago
Frans de Jonge 9000ed1bd3
[build] Add -debug suffix to KODEBUG builds (#3439) 7 years ago
Frans de Jonge 6e52e99b5b [fix] verbose_print deprecated by gtest 7 years ago
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
7 years ago
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.
7 years ago
Huang Xin a4e1a3ba5e reflect changes in koreader/android-luajit-launcher#62 (#3254) 7 years ago
Qingping Hou b33c9268d2 build(fix): fail release command by default if make po failed 7 years ago
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
7 years ago
Qingping Hou 2aa9d5d64e test: add unit tests for docsettings 7 years ago
Qingping Hou 0871100367 minor(fix): update koreader-misc path 7 years ago
Qingping Hou dae4a5a413 refactor: move bootstrap code into setupkoenv.lua
add ffi.load patch
add kodev prompt command
8 years ago
Qingping Hou 854043e18d chore: fix all luacheck errors for plugins 8 years ago
Qingping Hou 816d0a551a kobo: handle charging/uncharging event 8 years ago
Qingping Hou d0c6ea1308 build(chore): use DIST to label kindle artifacts 8 years ago
Qingping Hou 3d79d44381 build: fix android and pocketbook builds 8 years ago
Qingping Hou 8ff9a916da kodev(minor): style clean up & fixes 8 years ago
Qingping Hou e41e489528 kodev(fix): update plugins before tests 8 years ago
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
8 years ago
chrox 001433e6bc various test/coverage optimization 8 years ago
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.
8 years ago
chrox 9afad43a3e refactoring utils to tools as discussed in #2197 8 years ago
chrox 41f2fe85b7 fix #2119 by updating libSDL2.so and fix Evernote Plugin 8 years ago
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.
8 years ago
Qingping Hou 31206cb80f ci: fix coverage report 8 years ago
Qingping Hou 357477b2be test: disable auto insulate 8 years ago
Qingping Hou 144fd170f1 uimanager(refactor): replace autosuspend if check with noop 8 years ago
chrox dd9dde510c don't update git-rev file in android ota package 8 years ago
chrox 3a9cb659d1 add OTA update on Android 8 years ago
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
8 years ago
Qingping Hou 8f4fae7a09 minore: more static check fixes 8 years ago
Qingping Hou e2096ed8d9 doc: add documentation build infrastructure 8 years ago
Qingping Hou 73a048e320 build: set dependency for .busted 8 years ago
Qingping Hou b480145134 build: add kodev script 8 years ago
Qingping Hou 0e8eb3320c minor(build): replace comment with echo 8 years ago
Qingping Hou cdbc8e594d build: add dist-clean target 8 years ago
Qingping Hou 83b35fc99a minor: create git-rev inside install dir 8 years ago
Qingping Hou c06209265a build: use install instead of mkdir -p 8 years ago
chrox a284ca147f l10n for modules in utils 9 years ago
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.
9 years ago
chrox 970f9a7801 verbose coverage test 9 years ago
chrox 429eeed372 verbose unit test log so that we have a clue when there is segfault 9 years ago
chrox 5bab00ff9b add apparmor.openstore file for openstore submission 9 years ago
chrox 8c0ca1c5e5 comments for the targz file extension 9 years ago
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`.
9 years ago
chrox dce9e50bde don't use tar.gz file extension for OTA
because ISP may cache gz files and confuse zsync protocol
When I wget the gz file it's redirected to a ISP cached file and zsync
will fail.
```
~ $ wget http://vislab.bjmu.edu.cn/apps/koreader/ota/koreader-kindle-arm-linux-gnueabi-v2014.11-348-gddc3619.tar.gz
--2015-09-26 10:55:54--
http://vislab.bjmu.edu.cn/apps/koreader/ota/koreader-kindle-arm-linux-gnueabi-v2014.11-348-gddc3619.tar.gz
Resolving vislab.bjmu.edu.cn (vislab.bjmu.edu.cn)... 202.112.180.24
Connecting to vislab.bjmu.edu.cn
(vislab.bjmu.edu.cn)|202.112.180.24|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location:
http://202.112.191.194/file/gz/2cd4eae05d961f8afe9ad99fb20288d4e735fbf4/vislab.bjmu.edu.cn/apps/koreader/ota/koreader-kindle-arm-linux-gnueabi-v2014.11-348-gddc3619.tar.gz
[following]
--2015-09-26 10:55:55--
http://202.112.191.194/file/gz/2cd4eae05d961f8afe9ad99fb20288d4e735fbf4/vislab.bjmu.edu.cn/apps/koreader/ota/koreader-kindle-arm-linux-gnueabi-v2014.11-348-gddc3619.tar.gz
```
9 years ago
NiLuJe 89e8e4297c DroidFallbackFull went buh-bye, don't break the recipe by failing so near the
end ;).
9 years ago
Frans de Jonge 21c51a9162 Travis update
The new container-based format doesn't do sudo anymore, so there are some extensive changes.

It does, however, allow cache.

I also took the opportunity to switch to a newer busted. The root element for that now needs to be a table.
9 years ago
chrox 34ea9ac574 add datastorage module to handle data directory on various platform
On kindle, kobo and pocketbook the data directory is the current
running directory but on Android the app is installed in system
defined location and users may have no access to that location.
The same circumstances should be true for the upcoming Koreader for
Ubuntu touch, so the data directory (in which tessdata, dictionaries,
global settings, persistant defaults and probably history data are
stored) could be stored in another place.
9 years ago
NiLuJe 3fdd90cf3b Fix a few Droid font paths 9 years ago
Qingping Hou e695a3c30d build: add luacheck for static analysis 9 years ago
chrox 2f2611af42 fix Travis test 9 years ago
chrox 0191dc6530 revert busted to v1.10.0 to avoid segmentation fault in testing 9 years ago