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/
If the user what to make a custom_app locally, he will need to download
the zim file before. As he has already the zim, it is better to give
the zim_path instead of give the zim_url and have `build_custom_app.py`
download a second time the zim.
Not all target platform can be compiled on all platform.
For instance, all `static` target or `win32`, `armhf` and `android` targets
cannot be compiled on macOS.
Simply check that the current host is supported by TargetInfo and exit
nicely if needed.