kiwix-desktop needs the aria2 binary to download content.
kiwix-desktop will use aria2 throw lib-kiwix so it is somehow a kiwix-lib
dependency, but it is used only by kiwix-desktop.
And we know to install it only on platforms where we are supporting
kiwix-destkop.
This commit add a first version code to build a flatpak of kiwix-desktop.
It is mainly based on the PR #254 of @birros (hence he is the author of this commit)
However there is some differences :
- I (@mgautier) create a new builder to run the flatpak build instead of using a new
dependency.
- Use the flatpak platform to install org.kde.Platform and org.kde.Sdk
This code version doesn't correctly work but I wanted to commit the birros' code
without too many modification (even if there is a lot).
On ubuntu, the libcurl package is compiled with libkrb (kerberos).
However, no libkrb5.a is provided and so, we cannot link statically.
As we are not using kerberos, we can (and must) compile ourselves libcurl.
qmake seems to generate wrong "dist" rules for "make".
It try to copy the translation files as if it was in current directory
instead of looking the source dir.
dist archive is usefull with autotools where we want to run autogen before.
Or with meson when meson run tests before making the archive.
With qmake, it seems useless, let's simply archive what is git.
We new release of a project is made, projects dependending of it are
rebuild and republish to keep the binaries up-to-date.
To avoid overwrite the already build archives and silent the fact that
new archives are available, we need to have a extra build version.
`release_versions[project]` has to be set each time a dependency of
`project` is bump but the project version has not changed.
If the `project` version changes, the `release_versions[project]`
has to be cleared.
If we don't want to release this version again, remove project from
`release_versions`.
See kiwix/kiwix-tools#222
SVN checkout can be pretty long to do (especially if icu serveur is pretty
slow).
By downloading an archive on our own server, we avoid a spending too many
time downloading.
The archive is a simple targz of the SVN checkout.
The CI is using ubuntu artful and the deb package is compiled with another
compiler that gcc-4.8 (used in other project CI).
As we compile everything with gcc-4.8, we must compile our own ctpp2.
We build with gcc-5 because of zimSplit using ofstream.swap method.
Latest version of zimSplit doesn't use it anymore so let's compile
everything with default gcc.
See openzim/zim-tools@a959609839
We also explicitly set the list of package to install per job, so
less packages are installed.