`compile_all.sh` script starts to be very complex.
Let's rewrite it in python.
In the same time, update the travis scripts to handle deployement of
release versions.
There are some problem in meson 0.44.0.
`meson` change the way it detects static libraries (to something that seems
better to me), but it breaks some of our build that we have to fix.
Until we have fixed our dependencies declaration, let's force meson to
be in 0.43.0.
The `source_dir` is automatically infer from the name of the dependency.
As the ctpp2 source is use in two dependencies (ctpp2 and ctpp2c), if
we use the default source_dir, kiwix-build will use one name and the
other dependency will not find the source directory.
By forcing the `source_dir`, both dependencies will use the same directory.
If specified, kiwix-build will not "make/install" the target but make
the dist archive (source).
It will build dependencies, as the make dist will try to compile and test
the target.
This publish the same this that nightly build except that :
- Use the `--make-release` option to force kiwix-build to use tagged
version of subprojects.
- The archives are named using the tag name.
- The archives are pushed to "releases" directory in download.kiwix.org.
Recent changes on android side make the build fails.
While this is not fixed, do not block MR not related to kiwix-android.
This should be reverted as soon as kiwix-android build is fixed.
The previous patch was overly complex and finally wrong.
We should simply use `@XAPIAN_LIBS` as `Libs.private`.
Next release of xapian will integrate this
(https://trac.xapian.org/ticket/751), but for now, we still a patch
on our side.
To run unit-test (meson) on cross-compilation, we need a wrapper to run
the binary (wine, qemu, ...), but:
- We have no emulator for android (we have one for the system, but we can't
simply run a binary)
- With dynamic compilation, it seems pretty complex to configure them
correctly.
- For mingw32 compilation, `wine` need to be correctly configured to
find dll from the system mingw32 installation.
It seems that shutil.copytree on travis fails to copy symlinks to
directory. It is probably due to last travis changes.
Let's keep the symlinks as they are.
I don't know why, but the travis build doesn't work since few days.
It seems that pip3 cannot install in `/usr/local` anymore.
Probably related to last travis change* as a lot of people seems to have
problem with this update and python (even if this is not the same problems)
Anyway, we should not install a dependencies in global environment without
a sudo. Let's install the pip3 dependencies for the user only.
[*] https://docs.travis-ci.com/user/build-environment-updates/2017-09-06/