Commit Graph

555 Commits

Author SHA1 Message Date
Matthieu Gautier 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
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