204 Commits

Author SHA1 Message Date
Matthieu Gautier
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
Matthieu Gautier
e7377e2e86 Merge pull request #36 from kiwix/deps_through_http
Deps through http
2017-04-18 13:29:46 +02:00
Matthieu Gautier
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
Matthieu Gautier
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
Matthieu Gautier
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
Matthieu Gautier
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
Matthieu Gautier
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
Matthieu Gautier
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
Matthieu Gautier
57ac912824 Add missing installation of packages on debian. 2017-04-12 01:44:34 +02:00
Matthieu Gautier
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
Matthieu Gautier
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
Matthieu Gautier
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
Julian Harty
103a6aa5db Added the Debian automake package to the dependencies. 2017-04-08 22:44:08 +02:00
Matthieu Gautier
8b52e9012b Merge pull request #25 from kiwix/prepare_deps
Prepare deps
2017-04-08 22:40:28 +02:00
Matthieu Gautier
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
Matthieu Gautier
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
Matthieu Gautier
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
Matthieu Gautier
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
Matthieu Gautier
d1e7653fa5 Merge pull request #26 from kiwix/dependencies_update
Dependencies update
2017-04-08 21:33:51 +02:00
Matthieu Gautier
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
Matthieu Gautier
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
Matthieu Gautier
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
Matthieu Gautier
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
Matthieu Gautier
0390135a42 Merge pull request #21 from kiwix/zimwriterfs
Zimwriterfs
2017-03-28 11:29:23 +02:00
Matthieu Gautier
3d9ab94195 Add Zimwriterfs dependency.
Now kiwix-build.py can compile zimwriterfs.
2017-03-28 10:10:12 +02:00
Matthieu Gautier
4bb20c6a49 Fix dependencies declaration of Kiwixlib. 2017-03-28 10:10:12 +02:00
Matthieu Gautier
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
Matthieu Gautier
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
Matthieu Gautier
a212ec622b Allow a dependency to have _post_prepare_script in this GitClone source. 2017-03-28 10:10:12 +02:00
Matthieu Gautier
fa17b5e200 Add the lib64 path to LDFLAGS. 2017-03-28 10:10:12 +02:00
Matthieu Gautier
9d45158f42 Add print of current directory for command in the log file. 2017-03-28 10:10:12 +02:00
Kelson
59125244bf Merge pull request #19 from kiwix/readme
Fix few typos in the README.
2017-03-15 18:23:49 +01:00
Matthieu Gautier
2dfedaab8d Fix few typos in the README. 2017-03-13 14:47:05 +01:00
Matthieu Gautier
4996711d73 Merge pull request #14 from kiwix/android
Android
2017-03-13 13:57:28 +01:00
Matthieu Gautier
eac3b79151 Do not install unneeded package in travis/install_extra_deps.sh 2017-03-13 13:18:14 +01:00
Matthieu Gautier
c8e2e14b5c Update README.md 2017-03-13 13:18:14 +01:00
Matthieu Gautier
411f861b13 Move log dir in a subdir of BUILD_* 2017-03-13 13:18:14 +01:00
Matthieu Gautier
5ae802b707 Do not pass -Dctpp2-install-prefix to KiwixTools.
We don't need it anymore with last version of KiwixTools.
2017-03-13 13:18:14 +01:00
Matthieu Gautier
0845a5a53b Move to last version of ICU.
There is a bug in 56_1 version when compiling resource.
This is fixed in 58_2.

However the last version 58_2 use _create_local and _free_locale symbols on
Windows and we need to add the right libs to the compilation command.
2017-03-13 13:18:14 +01:00
Matthieu Gautier
6b85f7d012 Update xapian patch for pkg_config.
AC_SEARCH_LIBS try to compile and use a symbol (timer_create) using
a lib (rt).

But, in fact, it also try to use the symbol but without using the lib.
If it's work, it consider that the libs is found and set the ac_res
variable to "none required".

So, we must check the value of ac_res to know if we must add '-lrt' to
the pkg-config file.
2017-03-13 13:18:14 +01:00
Matthieu Gautier
6d7adf0f04 Add a patch for icu4c on android 64 bits.
On recent version of the NDK (r13b), `exec_elf.h` has been removed for
API level >= 20. On 64 bits, we need the API level 21, and then,
a defined (ELF64_ST_INFO) is missing.

We readd it where (and if) we need it.
2017-03-13 13:18:14 +01:00
Matthieu Gautier
600f1b55aa Add the android ndk toolchains and compile android on travis. 2017-03-13 13:18:14 +01:00
Matthieu Gautier
e3c0c5db82 Toolchains now can have a builder and a source. 2017-03-13 13:18:14 +01:00
Matthieu Gautier
940cea290d Use a 'extra_libs' key instead of 'properties'.
'properties' is too close of the meson definition and we need to duplicate
the entries for 'c_link_args' and 'cpp_link_args'.

By using 'extra_libs' we have a more functional definition of what we want.
2017-03-13 13:18:14 +01:00
Matthieu Gautier
29bba313bc [API change] Use just one option to specify the build target.
There is no more option for static or share build. This value is
integrated in the build-target.
2017-03-13 13:18:14 +01:00
Matthieu Gautier
c31a29488a [API Change] User can specify the target to build.
This is a API change, the working directory is set using the
--working-dir option, not as an argument.
2017-03-13 13:18:14 +01:00
Matthieu Gautier
83d6d00acd Force name of ICU to differentiate icu_native from icu_cross-compile. 2017-03-13 13:18:14 +01:00
Matthieu Gautier
cbb0ce83b5 Disable compilation of unused stuff in UUID. 2017-03-13 13:18:14 +01:00
Matthieu Gautier
960f6c9e82 zlib now compile using configure/make instead of cmake.
With cmake it is not possible to install only one kind of library
(static or shared).
2017-03-13 13:18:14 +01:00
Matthieu Gautier
dd7a0660c0 Allow the use of pre/post build script in dependencies. 2017-03-13 13:18:14 +01:00