Commit Graph

44 Commits

Author SHA1 Message Date
Matthieu Gautier 0d18fbfd3d Add a longer timeout for meson test. 2018-03-20 16:03:09 +01:00
Matthieu Gautier e0171379c7 Add an intermediate target that build all base dependencies.
This will allow travis to build all base dependencies all by once.
2018-03-19 17:50:17 +01:00
Matthieu Gautier f0391a638b Move projects' versions in a separated file.
This way, versions can be imported by external scripts (ie travis)
2018-03-19 17:25:09 +01:00
Matthieu Gautier f88f27edac Indicate release tag of zimwriterfs. 2018-03-15 17:42:41 +01:00
Matthieu Gautier 47b00fe5dc Update subproject version. 2018-02-01 16:51:22 +01:00
Matthieu Gautier b8f913ce69 Backport icu4c patch to not include `xlocale.h`
Last version of glibc 2.26 has removed the `xlocal.h` file.
(https://sourceware.org/glibc/wiki/Release/2.26#Removal_of_.27xlocale.h.27)

We cannot use last version of icu4c (60.1) because it used a feature not
yet exported in mingw32 releases.

So we need to backport a patch for this.

Fix #110
2018-01-29 11:15:50 +01:00
Matthieu Gautier ba7028f0a8 Force the source_dir of ctpp2 source.
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.
2017-12-05 09:32:47 +00:00
Matthieu Gautier e4f8b6c7a9 Add a option to kiwix-build.py to build release version of subproject.
With `--make-release` option, kiwix-build.py will build the tagged
version of the subproject.
2017-11-28 22:42:16 +00:00
Matthieu Gautier 7c7471e01c Update version of gradle.
`kiwix-android` changes the minimum version of gradle to use
kiwix/kiwix-android#289

Let's adapt.
2017-11-28 15:18:37 +00:00
Matthieu Gautier d7ffc4bd34 Add gumbo dependency.
This is needed by zimwriterfs and the package doesn't exist on
ubuntu trusty (used by travis CI).
2017-11-28 14:30:31 +00:00
Matthieu Gautier 00bc8238f0 Add support of `zim-tools` in kiwix-build. 2017-11-14 11:46:54 +01:00
kelson42 1d1dc3a5f5 Move to Xapian 1.4.5 2017-11-07 21:07:01 +01:00
Matthieu Gautier e76ca14d63 Keep the symlinks.
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.
2017-09-11 13:24:29 +02:00
Chris Li a1f45321be Do not compile uuid on macos or ios
We don't need it as it is available is "standard" sdk.
2017-08-15 11:10:37 -04:00
Chris Li 39fcdcca8f Do not try to compile ctpp2 and ctpp2c on Darwin.
kiwix-lid doesn't need them on Darwin (as on Android).
2017-08-14 16:32:50 -04:00
Matthieu Gautier f16c909090 [CUSTOM_APP] Correctly set the version_name.
The version_name need to be set a compilation time.
By default the version_name is taken from json info file.
But a user may want to change it.
2017-07-18 15:57:12 +02:00
Matthieu Gautier 39501fe724 Copy icu data at the right place.
`kiwix-android` now use all files in "icu" assets directory.
Not anymore directly the `icudt.dat` file.
2017-07-18 15:56:28 +02:00
Matthieu Gautier 9a73c5796e [CTPP2] Always depend on ctpp2c.
Even on android we are compiling the resources. So we need ctpp2c all the
time.
2017-07-17 11:05:53 +02:00
Matthieu Gautier 1fda646708 Always build ctpp2c for the host and static.
We are using `ctpp2c` when building kiwix-lib to compile embedded resources.

As `ctpp2c` will be used in the host machine, it always need to be
compiled for the host (native).
But we still want tho ctpp2 library compiled for the target platform.
As we don't want handle the conflict between two dynamic lib with the same
name but for two different platforms, we build ctpp2c statically.
2017-07-12 14:31:37 +02:00
Matthieu Gautier 22fffcee51 Add script to build customapp 2017-06-25 15:49:49 +02:00
Matthieu Gautier cfa7f0cb42 Use ICU data as external archive on android platform.
On android platform, we load the ICU data as external data, not embeded
in the kiwix-lib.

So we need to generate correctly the dat file and use it in kiwix-android.
2017-05-09 14:02:37 +02:00
Matthieu Gautier fbb84e9d27 Patch ICU to remove unwanted data.
We don't need all the ICU data and we need to reduce binaries' size
(Especially for android where we have a limit of 50Mo per APK).

By removing unwanted ICU data, we reduce a lot the data size and so
the final binaries' size.

There is also some "problems" to compile the `ja.txt` collfiles,
the "resource compiler" crashes.
As we don't need it, we also remove it.
2017-05-09 14:02:37 +02:00
Matthieu Gautier e50dc846a5 Get ICU source from SVN instead of Release archive.
ICU doesn't provide data sources in their release archives but directly
pre-compiled data.

As we need to compile ourselves our data to remove unwanted data, we need
to get the sources directly from the SVN.
2017-05-09 14:02:37 +02:00
Matthieu Gautier f044fd15bf Add support to build kiwix android custom app.
The custom app to build must be specified as an option when running
kiwix-build.
In the same way, the zim file to download must be specified in the
`info.json` (`zim_url` key) or given as option.
2017-05-02 17:30:07 +02:00
Matthieu Gautier a86d0b143b Do not fail if the `kiwixlib/src/main` doesn't exist when deleting him.
When deleting the directory, this is not a problem if the directory
doesn't exist.
2017-05-02 17:30:07 +02:00
Matthieu Gautier 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
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 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 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 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 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 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 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 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 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 bd4e7d3550 Move some common options for static/shared libs in the common class. 2017-03-13 13:18:14 +01:00
Matthieu Gautier 77137e0908 Add lzma dependency. 2017-03-13 13:18:14 +01:00
Matthieu Gautier ffee068fd0 Split the too long kiwix-build.py file into several smaller ones. 2017-03-13 13:18:14 +01:00