Commit Graph

587 Commits

Author SHA1 Message Date
19ef9178b0 Trigger a new build of libzim.
With the fallback of aarc64 toolchain, we need to rebuild libzim.
2023-09-01 11:06:49 +02:00
65dd03e58f Move back to the old toolchain for aarch64
Fix #634
2023-08-11 16:18:25 +02:00
1876b5f542 New version of libzim and libkiwix
- libzim 8.2.1
- libkiwix 12.1.0
2023-07-20 15:58:54 +02:00
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
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
ae4dcac4e5 Update base_deps_meta_version 2023-05-22 19:03:57 +02:00
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
7db62390f1 We should build using macos11 2023-05-20 16:15:24 +02:00
5057444acd Disable decompression feature in libmagic 2023-05-20 13:23:25 +02:00
e0d4eea050 Bump-up libmagic to version 5.44 2023-05-19 15:28:34 +02:00
647304c253 New releaes of libzim, zim-tools and kiwix-tools. 2023-04-28 11:39:29 +02:00
fd85b80b2c Move back to gcc 6.3.0 when compiling to aarch64. 2023-04-26 16:54:35 +02:00
5ef7e2a017 New version of xapian 1.4.22
Fix #599
2023-04-25 16:54:40 +02:00
2b6e305911 Install things in lib/aarch64-linux-gnu 2023-04-19 11:36:08 +02:00
c9e9c5c070 Move all our CI to focal instead of bionic
Bionic is EOL.
2023-04-12 16:53:32 +02:00
7b7afc36e7 Mixed platform are not static. 2023-03-31 10:51:11 +02:00
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
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
de25a1e63b Add macOS_arm64_mixed platform. 2023-03-30 14:18:53 +02:00
7ae3afd805 Introduce mixed target for armhf and aarch64. 2023-03-28 17:48:08 +02:00
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
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
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
b6f49efcda Update meta version to not used cached library. 2023-03-28 16:16:22 +02:00
b8cd12a360 Update armhf toolschain. 2023-03-28 16:16:22 +02:00
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
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
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
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
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
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
7e88bf14a2 Bumpup libmicrohttpd to 0.9.76 2023-03-01 10:10:15 +01:00
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
1f8ccde487 "main" is now our default branch for all our projects. 2023-01-03 10:19:52 +01:00
344b9328c3 libzim and zim-tools are now using "main" for the default branch. 2022-12-22 14:32:13 +01:00
d76819390e Do not always fallback to master. 2022-12-22 14:31:20 +01:00
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
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
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
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
ab2458c1c4 Add "static" include dir when compiling native_mixed. 2022-11-30 14:22:13 +01:00
cd0c2da542 Correctly compile libkiwix on native_mixed 2022-11-30 12:20:40 +01:00
9695737ca1 Update meta_version to trigger a build on the CI 2022-11-16 16:37:05 +01:00
fd8044ba76 Reduce base dependencies to ony what needed on wasm. 2022-11-16 16:37:05 +01:00
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
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
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
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
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
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