Commit graph

435 commits

Author SHA1 Message Date
Matthieu Gautier
2159763527 Fix conflict between -dead_strip_dylibs and -bitcode_bundle. 2023-06-21 17:24:59 +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
7f7156ece5 New build of libzim, kiwix-tools and zim-tools.
Previous build was broken on arm and aarch64.
With new toolschain, it should be ok, but we need a new build for them.
2023-06-01 15:29:18 +02:00
Matthieu Gautier
ae4dcac4e5 Update base_deps_meta_version 2023-05-22 19:03:57 +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
7db62390f1
We should build using macos11 2023-05-20 16:15:24 +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
647304c253 New releaes of libzim, zim-tools and kiwix-tools. 2023-04-28 11:39:29 +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
2b6e305911 Install things in lib/aarch64-linux-gnu 2023-04-19 11:36:08 +02:00
Matthieu Gautier
c9e9c5c070 Move all our CI to focal instead of bionic
Bionic is EOL.
2023-04-12 16:53:32 +02:00
Matthieu Gautier
7b7afc36e7 Mixed platform are not static. 2023-03-31 10:51:11 +02:00
Matthieu Gautier
260b93a51d Correctly set the include dirs for mixed_target.
Until now, mixed targets was only about native build and so we were not
using a meson cross_config file and env var was enough.

But now we also to correctly set it in the cross_config file.
2023-03-30 16:40:20 +02:00
Matthieu Gautier
b218875d49 Rename macOS_arm64 to macOS_arm64_static.
Publication code in `.github/scripts` expected that `foo_mixed` target
is tied to a `foo_static` target.
2023-03-30 14:18:53 +02:00
Matthieu Gautier
de25a1e63b Add macOS_arm64_mixed platform. 2023-03-30 14:18:53 +02:00
Matthieu Gautier
7ae3afd805 Introduce mixed target for armhf and aarch64. 2023-03-28 17:48:08 +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
b6f49efcda Update meta version to not used cached library. 2023-03-28 16:16:22 +02:00
Matthieu Gautier
b8cd12a360 Update armhf toolschain. 2023-03-28 16:16:22 +02:00
Matthieu Gautier
556f02cf48 Set back the version of libzim to 8.1.0
The version of libzim (and other project too) is used to know what we
need to package in the published archive (nightly and releasee).

So the version must correspond to what is build.
For nightlies, we build the `main` branch and the main branch of libzim
is still on 8.1.0 so we must have the same version.

Fix openzim/libzim#772
2023-03-28 11:47:56 +02:00
Matthieu Gautier
61fb624f66 Correctly set the release version of libzim.
As we have change the version of libzim, release build must be 0.
2023-03-22 14:04:36 +01:00
Matthieu Gautier
efff7abbfc New release of libzim 8.1.1
As this is just a ABI fix and we recompile everything when we do
a release of our projects, we don't need to recompile our projects.
Building with libzim 8.1.0 was enough, no need to trigger a update in all
the users of prebuild binary.
2023-03-22 13:29:52 +01:00
Matthieu Gautier
7a23bb5b8b Fix creation of base dependencies archive.
The `INSTALL_DIR` was added twice. It was not a issue as we then transform
the list into a set to remove duplicated.

But with `filter_install_dir` call only on one "add", the (textual)
entries are not duplicated and so, not removed. So the files where add
twice.

Now we correctly filter initial `INSTALL_DIR` and we remove the second add.
2023-03-14 17:17:30 +01:00
Matthieu Gautier
674c29c351 Bump the base_deps_meta_version.
As we install base library in a different directory, we have to
regenereate the base_deps archives.
2023-03-01 14:17:48 +01:00
Matthieu Gautier
6181d7bb08 Install wasm libraries in INSTALL/lib directory.
The default detected libdir is based on the build architecture.
On ubuntu, it is `lib/x86_64-linux-gnu` which is obviously not the right
directory.

Let's simply use `lib`.

Fix #556
2023-03-01 14:16:36 +01:00
Emmanuel Engelhart
7e88bf14a2
Bumpup libmicrohttpd to 0.9.76 2023-03-01 10:10:15 +01:00
Matthieu Gautier
f6a7f43ece Fix the iOsMacABI target in the CI
It seems that on last version of CI envirronement, ios' clang doesnt
recognize ios13.0.

Moving to ios 14.0
2023-02-07 09:52:37 +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
bcbcbb525f Trigger a new build of libzim.
With the wasm arch fixed, we need to do a new build release.
2022-12-09 10:55:14 +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
fb095d91e6 Retrigger a build for wasm.
Other platforms will fail at upload because archives are read only but
the wasm build should be ok.
2022-12-01 22:09:51 +01:00
Matthieu Gautier
3be9eca1a9 New version of all projects
- libzim 8.1.0
- libkiwix 12.0.0
- zim-tools 3.1.3
- kiwix-tools 3.4.0
- kiwix-desktop 2.3.1
2022-11-30 18:16:21 +01:00
Matthieu Gautier
ab2458c1c4 Add "static" include dir when compiling native_mixed. 2022-11-30 14:22:13 +01:00
Matthieu Gautier
cd0c2da542 Correctly compile libkiwix on native_mixed 2022-11-30 12:20:40 +01:00
Matthieu Gautier
9695737ca1 Update meta_version to trigger a build on the CI 2022-11-16 16:37:05 +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
e21cb8971a Add an option to set the build directory of kiwix-build. 2022-09-21 16:15:14 +02:00
Matthieu Gautier
6d4aa756b5 New versions of zim-tools (3.1.2) and kiwix-desktop (2.3.0) 2022-09-07 18:53:14 +02:00