Commit Graph

1118 Commits

Author SHA1 Message Date
d8473e6a9a Merge pull request #41 from kiwix/android_arch
Remove CROSS_ENV global variable (and fix android compilation).
2017-04-28 11:23:20 +02:00
f26c2274b4 Remove CROSS_ENV global variable (and fix android compilation).
The target (`platform_info.build`) is not enough to get a correct
cross_env. For android apk, the target is always "android" but we want
different cross_env depending of the target arch.

The `platform_info` already know for which arch we are building so
let's make platform_info generate the cross_env directly.
2017-04-28 10:40:31 +02:00
2f1a7bff77 Merge pull request #20 from kiwix/android_apk
Android apk
2017-04-25 10:04:28 +02:00
c15ddde6eb Make travisCI publish nightly kiwix-android APKs. 2017-04-24 18:21:25 +02:00
3beb6d81f2 Add a option to kiwix-build.py to clean intermediate directories.
Travis fails if we try to build a lot of targets in the same job because
of quota limit. By removing intermediate build files, we limit our disk
usage.
2017-04-24 15:29:52 +02:00
86c1547f88 Allow kiwix-build to build android APK.
Previous script (from kiwix repository) created a APK with all architecture embeded.
Now, we generated a APK per architecture. It simplify the build process and
generate smaller APKs.
2017-04-24 15:26:51 +02:00
56862b09d6 Add (and use) the utility function add_execution_right. 2017-04-24 14:53:50 +02:00
a49fb15964 BuildEnv.run_command now take a str as input instead of a file object.
We can get a str from a file object. The contrary is more difficult.
2017-04-24 14:53:50 +02:00
ff97a67844 Merge pull request #37 from kiwix/better_git
Better git
2017-04-24 14:53:22 +02:00
0199092f62 Clone git repository with a depth of one.
This avoid downloading all the history.

With recent git, a `git fetch --unshallow` allow a user to get all
the history if needed.
2017-04-24 14:13:01 +02:00
6d13ee8a4e Use the git_dir to clone the repository in the right directory. 2017-04-24 14:13:01 +02:00
311af61de3 Merge pull request #40 from kiwix/ctpp2_patche_mingw32
Update ctpp2 patches to handle mingw32 compilation with meson 0.40.0
2017-04-24 13:57:17 +02:00
2e14765a38 Update ctpp2 patches to handle mingw32 compilation with meson 0.40.0
It seems that last meson version (0.40.0) do not pass cross compilation
extra_args to compiler when checking for headers.
Thus, the kiwix-lib check for ctpp2 headers fails because the WIN32
define is not present. So kiwix-lib is compiled without CTPP2 but
kiwix-tool compile as if kiwix-lib where compile with CTPP2 and fails.

By making CTPP2 headers check for `__WINGW32__` we workaround this problem.

I don't know if this is a bug in meson, ctpp2 or kiwix-lib but this small
fix allow to compile correctly with last meson version.
2017-04-24 11:12:17 +02:00
db9f277188 Merge pull request #38 from kiwix/travis_ssh_key
Use absolute path to reference ssh key.
2017-04-19 17:11:11 +02:00
b8f242c504 Use absolute path to reference ssh key.
Relative path is a bad idea, it fails if we change the current directory.
(And it actually fails with the scp)
2017-04-18 18:35:05 +02:00
e7377e2e86 Merge pull request #36 from kiwix/deps_through_http
Deps through http
2017-04-18 13:29:46 +02:00
254d036c42 Publish the dependencies archives as soon as they are generated.
We may end in a deadlock if we publish dependencies archives at the end
of the compilation and if all compilation succeed.

For example project B may depend on project A.
If we change the project A API and the project B code to reflect the API
change and merge A' API in master and create a PR for B, the PR for B
will need a new archive with new project A' API.
However, as B' master fails with new A, the whole compilation fails and
nothing is publish. So B'PR is never compiled successfully.

By publish the archives as soons as generated, the A' new API will be
published and B'PR will compile correctly, even if master fails.
Will be able to merge B'PR without bypassing travisCI.
2017-04-18 11:58:51 +02:00
2290d0a135 Add a manifest describing the archive in the archive.
This is not especially necessary but it may help for future debugging.
2017-04-18 11:09:14 +02:00
cab89b38c0 Publish intermediate dependencies in a http accessible directory.
Those dependencies will be used by travis CI in other projects.
We want to avoid other project to need a ssh key to get them :
- To avoid spread(and maintenance) of ssh key.
- For PR coming from another repositories, ssh key is not available.

By making those dependencies available by http, we simplify the process.

Fix partially #34.
Archives download need to be updated in client projects.
2017-04-18 11:07:46 +02:00
a66dfecc31 Merge pull request #35 from kiwix/no_context_old_python
Use the `urllib.request.urlopen`'s `context` argument only if available.
2017-04-18 10:31:16 +02:00
73669f59c8 Use the urllib.request.urlopen's context argument only if available.
The `context` argument has been added to python 3.4.3 version.
We must not use it for older version.

Fix #31
2017-04-17 12:09:10 +02:00
21abfd97de Merge pull request #24 from kiwix/search_in_libzim
Update dependencies tree.

This PR fails on travis but it is because of fix waiting to be merged in libzim.
But for the libzim PR to be validated by travis, we need to generate the libzim's dependencies archives here. But as master is broken, we do not generate the dependencies..

I've tested the two fixes together and it is working. So I merge this PR to solve this deadlock
2017-04-12 02:24:28 +02:00
57ac912824 Add missing installation of packages on debian. 2017-04-12 01:44:34 +02:00
6a24b38169 Add WIN32 flag definition.
When switching to c++11, the WIN32 flags is no more automatically defined.
So let's define it in the meson crossfile itself.
2017-04-11 16:57:51 +02:00
2fc1b7ebe8 pdate dependencies tree.
Now that the search is in zimlib we have to reflect it in our
configuration :
- Zimlib depends of Xapian
- Kiwixlib doesn't depend of Xapian anymore.
2017-04-10 09:46:38 +02:00
1494adc943 Merge pull request #23 from kiwix/add_automake
Added the Debian automake package to the dependencies.
2017-04-10 09:44:56 +02:00
103a6aa5db Added the Debian automake package to the dependencies. 2017-04-08 22:44:08 +02:00
8b52e9012b Merge pull request #25 from kiwix/prepare_deps
Prepare deps
2017-04-08 22:40:28 +02:00
77f66b6363 Cron job now publish dependencies archives for other travis projects.
If we want to build other projects (kiwix-lib, kiwix-tools) with travis,
it is better to have all dependencies already compiled.

kiwix-build project now compiles them and publishes the dependencies
archive at the right place where other projects can use them.
2017-04-08 21:34:25 +02:00
716ffbc9ff Change the right of travisci_builder_id_key in the .travis.yml
This is better there. Instructions to prepare the ssh should be in the
same place.
2017-04-08 21:34:25 +02:00
bea2d13feb Add a option to compile the dependencies only of a target.
This is useful to generate directory (and archive) of dependencies for
a particular target.
2017-04-08 21:34:25 +02:00
a021f8e739 Add missing declarations of libzim.
The dependencies of libzim were missing.
If we run a single run to compile everything everything run correctly
as zlib and lzma will be installed because of kiwix-lib (and other)
dependencies.
2017-04-08 21:34:25 +02:00
d1e7653fa5 Merge pull request #26 from kiwix/dependencies_update
Dependencies update
2017-04-08 21:33:51 +02:00
e816979d51 Limit the choice of the targets argument to target we know about.
By limiting the choices in the argument parser, we catch argument error
at parsing and we can provide useful output (the names of dependencies
we can handle) to user in the help or in the error message.
2017-04-08 18:19:42 +02:00
82625ed62e Update url of libzim and zimwriterfs.
The openzim repository has been split into different smaller repositories.
Especially libzim and zimwriterfs.
2017-04-08 18:19:20 +02:00
308cfa6986 Use dependency names as reference instead of class names.
Class names are implementation names.
Using the dependency names is better as it surprise less the user.
2017-04-08 18:19:17 +02:00
81796e7125 Add a option to skip the source installation.
It make the kiwix-build.py script run a bit father.
2017-04-08 17:58:26 +02:00
0390135a42 Merge pull request #21 from kiwix/zimwriterfs
Zimwriterfs
2017-03-28 11:29:23 +02:00
3d9ab94195 Add Zimwriterfs dependency.
Now kiwix-build.py can compile zimwriterfs.
2017-03-28 10:10:12 +02:00
4bb20c6a49 Fix dependencies declaration of Kiwixlib. 2017-03-28 10:10:12 +02:00
b62388bae1 Allow a dependency to declare extra_packages to install.
This is different from declaring a dependency as dependency may be build
by kiwix-build.py.
2017-03-28 10:10:12 +02:00
50c56804b1 Move the OpenZim source outside of Zimlib dependency.
The OpenZim source contains the zimlib source but also the zimwriterfs
source.
There is no zimwriterfs dependency for now but it is better to separate
source from the dependency for latter commit.
2017-03-28 10:10:12 +02:00
a212ec622b Allow a dependency to have _post_prepare_script in this GitClone source. 2017-03-28 10:10:12 +02:00
fa17b5e200 Add the lib64 path to LDFLAGS. 2017-03-28 10:10:12 +02:00
9d45158f42 Add print of current directory for command in the log file. 2017-03-28 10:10:12 +02:00
59125244bf Merge pull request #19 from kiwix/readme
Fix few typos in the README.
2017-03-15 18:23:49 +01:00
2dfedaab8d Fix few typos in the README. 2017-03-13 14:47:05 +01:00
4996711d73 Merge pull request #14 from kiwix/android
Android
2017-03-13 13:57:28 +01:00
eac3b79151 Do not install unneeded package in travis/install_extra_deps.sh 2017-03-13 13:18:14 +01:00
c8e2e14b5c Update README.md 2017-03-13 13:18:14 +01:00