Commit Graph

176 Commits

Author SHA1 Message Date
Matthieu Gautier beadc3b16c Use custom data.
ICU is used to:
- List locales (`locales_tree`)
- Get information about those locales in different languages (`lang_tree`)
- Remove accents (`translit`)

Tracing ICU without custom data, we also load `likelySubtags` and
`metadata`. Not sure why and what happen when missing but let's be
conservatives and include them.
2023-11-02 11:14:04 +01:00
Matthieu Gautier 717dcd801d Move to ICU 73.2 2023-11-02 11:14:04 +01:00
Matthieu Gautier 8cf6c39d11 Extend `ReleaseDownload` source to be composed of several archives. 2023-11-02 11:13:29 +01:00
Emmanuel Engelhart e966385069 Bump-up Xapian to version 1.4.23 2023-10-31 11:39:29 +01:00
Matthieu Gautier b57f83ed25 Move all toolchain installation in TOOLCHAIN directory.
This is a clearer install and it simplify the base_deps archive creation.
2023-10-24 10:53:31 +02:00
Matthieu Gautier 149c1d25fb Use musl toolchain with gcc 10.
We need a "old" gcc version to be able to run on "old" systems
(libstdc++.6.0.28)
2023-10-23 10:19:12 +02:00
Matthieu Gautier c3d3cc5a97 Add x86_64 musl toolchain and platform. 2023-10-23 10:19:12 +02:00
Matthieu Gautier f0ad7b126a Rename `arm_musl.py` to `musl.py`.
Those files will contain toolchain for musl. Not specific to arm.
2023-10-23 10:19:12 +02:00
Matthieu Gautier 7807e10325 Rename files containing toolchain to `tc_*` 2023-10-23 10:19:12 +02:00
Matthieu Gautier 65dd03e58f Move back to the old toolchain for aarch64
Fix #634
2023-08-11 16:18:25 +02:00
Matthieu Gautier 5884909b25 Add target aarch64_musl_*
I have to mention that adding a new cross compiled target never seems
so simple.
2023-06-14 15:57:49 +02:00
Matthieu Gautier 897e7f292c Switch (again) to new arm cross-compilation toolchain.
This introduce a difference between armv6 and armv8.
2023-05-22 19:03:57 +02:00
Emmanuel Engelhart 5057444acd
Disable decompression feature in libmagic 2023-05-20 13:23:25 +02:00
Emmanuel Engelhart e0d4eea050
Bump-up libmagic to version 5.44 2023-05-19 15:28:34 +02:00
Matthieu Gautier fd85b80b2c Move back to gcc 6.3.0 when compiling to aarch64. 2023-04-26 16:54:35 +02:00
Matthieu Gautier 5ef7e2a017 New version of xapian 1.4.22
Fix #599
2023-04-25 16:54:40 +02:00
Matthieu Gautier ab2cbdbe5b Introduce aarch64 target.
In opposition to 32 bits, it is adapted to all PI (as long as they are
in 64 bits).
2023-03-28 17:47:48 +02:00
Matthieu Gautier 4e88c6eb10 Correctly set the armhf toolchain to a 32 bits arch.
cross-gcc-10.3.0-pi_64.tar.gz for 64 bits architecture and armhf
is about 32 bits.

However, we know use a pi 2 and 3 and Stretch only[*] toolchains

[*] To be tested. Maybe the only is for the target compilation but binary
run elsewhere too.
2023-03-28 17:46:31 +02:00
Matthieu Gautier 31771fa35c Introduce MixedMixin
We will need to create "mixed linkage" library for other arch than native.
It is better to move associated code in a separate part.
2023-03-28 17:40:12 +02:00
Matthieu Gautier b8cd12a360 Update armhf toolschain. 2023-03-28 16:16:22 +02:00
Emmanuel Engelhart 7e88bf14a2
Bumpup libmicrohttpd to 0.9.76 2023-03-01 10:10:15 +01:00
Matthieu Gautier 1f8ccde487 "main" is now our default branch for all our projects. 2023-01-03 10:19:52 +01:00
Matthieu Gautier 344b9328c3 libzim and zim-tools are now using "main" for the default branch. 2022-12-22 14:32:13 +01:00
Matthieu Gautier d76819390e Do not always fallback to master. 2022-12-22 14:31:20 +01:00
Matthieu Gautier f6cd94366a Fix wasm compilation.
On wasm, we cannot do mmap. We have to do plain read.

Fix openzim/libzim#751
2022-12-06 19:01:38 +01:00
Matthieu Gautier cd0c2da542 Correctly compile libkiwix on native_mixed 2022-11-30 12:20:40 +01:00
Matthieu Gautier fd8044ba76 Reduce base dependencies to ony what needed on wasm. 2022-11-16 16:37:05 +01:00
Matthieu Gautier 6f8b82ad7d Fallback to lzma-5.2.6
Version 5.2.7 include this commit
https://git.tukaani.org/?p=xz.git;a=commit;h=31d80c6b261b24220776dfaeb8a04f80f80e0a24

With this change, compiling libzim mixed (libzim dynamic and dependencies,
so lzma, statically) fails at libzim linking with a
`src/libzim.so.8.0.1: version node not found for symbol lzma_get_progress@XZ_5.2.2`
error message.

This can be "workaround" by passing `--disable-symbol-versions` to
configure script but then, it is the compilation of kiwix-desktop in
native_dyn which falling with

```
/usr/bin/ld: /usr/lib64/libsystemd.so.0: undefined reference to `lzma_code@XZ_5.0'
/usr/bin/ld: /usr/lib64/libsystemd.so.0: undefined reference to `lzma_end@XZ_5.0'
/usr/bin/ld: /usr/lib64/libsystemd.so.0: undefined reference to `lzma_stream_decoder@XZ_5.0'
/usr/bin/ld: /usr/lib64/libxml2.so.2: undefined reference to `lzma_auto_decoder@XZ_5.0'
/usr/bin/ld: /usr/lib64/libxml2.so.2: undefined reference to `lzma_properties_decode@XZ_5.0'
```

Probably because some native dependencies (Qt ?) use versionned symbols.

This have to be fixed somehow but until then, let's go back to 5.2.6
2022-11-16 16:37:05 +01:00
Matthieu Gautier 180fb249f6 Add a support to compile libzim for wasm.
`icu4c_wasm.patch` is build by :
 - Copying config.sub from liblzma source as new version of config.sub there
   knows about wasm architecture.
 - Copying `mh-linux` on `mh-unknown` as specified in (origin) `mh-unknown`.
   This is because icu4c configure doesn't detect `emscripten` platform and
   "fallback" to `mh-unknown`.
2022-11-16 16:37:05 +01:00
Matthieu Gautier b8c120b179 Pass the path of the patch in the command line instead of as stdin.
This way, we can see the applied patch in the log.
2022-11-16 10:46:06 +01:00
Matthieu Gautier a7809b33fc Update lzma version to 5.2.7
On top of using a more recent version (which is good it itself),
version 5.2.7 use a autotools version which knows about wasm.
2022-11-16 10:46:06 +01:00
Matthieu Gautier ce82860b85 Introduce configure and make wrapper.
This way, we can use small wrapper tools from sdk to run configure and
make.
2022-11-16 10:45:57 +01:00
Matthieu Gautier 3847844c54 Update android_ndk to version r21e
To do this, we need to update the android api to 24.
We lost all users using a android under api 24.
2022-09-29 09:45:15 +02:00
Matthieu Gautier bcbb164d49 Build libzim dynamically on android. 2022-06-28 12:23:35 +02:00
Matthieu Gautier aa4250dd41 Build libkiwix with the right new option on android 2022-06-09 10:30:37 +02:00
Matthieu Gautier 72c271a74c Remove LibkiwixApp
The project was used to assemble all android compilation in one
multiplatform java archive.

This allow use to remove android_sdk and Gradle builder
2022-06-09 10:28:59 +02:00
Matthieu Gautier b7a3187b45 Update version of zstd.
No need to update base_deps_meta_version as it is already updated in
this same PR.
2022-04-11 18:08:08 +02:00
Emmanuel Engelhart 500d3bec86 Use zlib 1.2.12 2022-04-11 17:47:56 +02:00
Matthieu Gautier 8b9b74d577 Better flatpak command options.
This mainly add the option `--nointeractive` when installing the sdk.
2022-03-10 16:21:14 +01:00
Matthieu Gautier fe74ad7aff Do not compile libkiwix on android with werror
The java wrapper is using deprecated methods,
so we cannot compile with `werror`.
2022-01-18 11:42:16 +01:00
Matthieu Gautier 462538f4a5 Do not try to cross compile aria2.
Aria2 is a special case. We actually don't really need to compile it.
kiwix-desktop through libkiwix use the aria2c binary but we always
use (package) the system binary or a prebuild release.

And we don't cross compile kiwix-desktop to windows, so we don't need
aria2c neither.
2021-12-24 13:08:29 +01:00
Matthieu Gautier ea7fa1f207 Remove unnecessary aria2 patch
This patch was to compile libaria2 on android.
But we don't compile it for android since a long time.
As it doesn't apply anymore, let's remove it.
2021-12-23 18:50:50 +01:00
Emmanuel Engelhart 71b1c2799a Update aria2c to 1.36.0 2021-12-23 18:50:50 +01:00
Matthieu Gautier 276343c6af Add missing dependency `aria2` to "all" dependencies.
`AllBaseDependencies` is used as a dummy target to build all base
dependencies in the CI.
2021-12-23 18:50:50 +01:00
Matthieu Gautier 4ee28541cd Remove unnecessary zstd patch. 2021-12-23 18:50:48 +01:00
Emmanuel Engelhart 1a3df6fa3b Use recent zstdlib 1.5.1 2021-12-22 16:04:27 +01:00
renaud gaudin a3f662a3de Fixed #501: disable extra libcurl dependencies 2021-10-26 18:13:15 +02:00
Matthieu Gautier 274aec60d2 Copy the right directory on libkiwix android.
The sub-directory `android-kiwix-lib-publisher` has not been renamed.
We plan to move this code in another repository anyway.
It is better for now to use the existing name instead of change the
directory.
2021-07-02 11:19:18 +02:00
Matthieu Gautier 11fc5a0a9c Use correct name for the qtwebengine class.
Wrong copy/paste.
This is not important as we reference dependencies by their name
attribute, not by the class name.
But it is better to have a correct name.
2021-07-02 11:16:02 +02:00
Matthieu Gautier c7ea2a31cb Correctly detect qmake command.
qmake may be named qmake-qt5 on some distribution.
2021-07-02 11:14:13 +02:00