Commit Graph

593 Commits

Author SHA1 Message Date
f00fa4cbd6 Use prebuild aria2c on Windows 2024-08-21 15:11:42 +02:00
5905de35a1 Bump base_deps_meta_version to rebuild libmicrohttpd and libcurl 2024-08-21 13:33:26 +02:00
85d1bcff7e Do not build pugixml in release mode.
All project must be either compile in debug or release on Windows.
2024-08-21 13:33:26 +02:00
6c8a9540bd Build libmicrohttpd with meson 2024-08-21 13:33:26 +02:00
23a6b93fcc Build libcurl with meson. 2024-08-21 13:33:26 +02:00
04d0ba6a92 Temporary deactivate test for libkiwix on Windows. 2024-08-21 13:33:26 +02:00
294c34ca80 Fix extract of meson archive.
Previous commit was removing the meson_archive.

Fix #723
2024-08-21 10:02:33 +02:00
edf1e4ce03 Fix pkg_config template for icu4c on Windows.
We must use `/` separator.
Meson post-process output of pkg-config. If we use `\`,  it miss-interpret it
and libdir is broken.
2024-08-20 18:15:24 +02:00
00363fdc8c Use prebuilt icu on Windows 2024-08-20 17:07:45 +02:00
f433b25013 Kiwix-build doesn't try to build qt nor qtwebengine
Fix #714
2024-08-19 12:11:38 +02:00
be232d790e Add xapian-core to base dependencies on Windows. 2024-08-15 14:10:17 +02:00
28d02bfd7a Deactivate xapian fuller compact on libzim.
This flag used on xapian-meson build on Windows ends in a crash in
libzim when compacting the database.

To be fixed at a moment but let's not use this flag for now on Windows
2024-08-15 14:09:15 +02:00
752bdd18ac Build xapian with classic autotools on other platform than Windows.
The meson build fails on cross compiliation `win32_*` and
on `native_dyn` on Macos (but doesn't fail on `native_static` or
`native_mixed`...)

On top of that, the fact that xapian-meson build system is fluky on
Windows doesn't make me confident.
As I will be out for few months, I prefer keep the autotool build system
on already working configs.
2024-08-15 14:07:24 +02:00
16654f9563 All native config are compatible with windows. 2024-08-15 14:07:16 +02:00
b026e7e06c Bump base_deps_meta_version to rebuild xapian-core 2024-08-15 14:04:26 +02:00
942dba4d9c Use git source for xapian.
We have move the meson build system (and various fixes) in a git
repository.
2024-08-15 14:03:59 +02:00
b589496076 Do not use custom data for icu4c on Windows.
Meson build system of ICU seems to not support custom data on Windows.
So let's use the default data on Windows.
2024-08-15 14:03:55 +02:00
f9b890c58d Build xapian using meson build system. 2024-08-15 14:03:49 +02:00
8648e8bc27 Revert "Do not build libzim with xapian dependency on Windows."
This reverts commit 6bfe9ec8b1.
2024-08-15 14:03:45 +02:00
907d39ab84 Update flatpak build
Fix https://github.com/flathub/org.kiwix.desktop/issues/10
Fix https://github.com/kiwix/kiwix-desktop/issues/961
2024-08-14 17:12:41 +02:00
2a1b18066f New version 3.4.2 of zim-tools 2024-07-10 19:12:25 +02:00
c7bd6182e0 Do not hard-code qmake command 2024-07-08 15:25:54 +02:00
d066655a73 Rebuild libkiwix 13.1.0
When releasing libzim and libkiwix, we use config native_mixed with is a
mix of static and dynamic linking:

- Dependencies are build as static libraries.
- Released projects (libzim/libkiwix) are build as dynamic libraries,
  statically linked to dependencies.

This way, we have only one `.so` file which contain all our needed symbols.

However, this logic is "local" to each project.
This mean that libkiwix is linked **statically** to libzim.
So libkiwix.so is containing libzim symbols.

But on "java-libkiwix", we are both linking to libzim.so and libkiwix.so.
If the version of the (dynamically) used libzim.so is not the same that the
version on which we have (statically) linked libkiwix.so, we end with
symbols of two different versions being loaded and conflicting.

So let's rebuild libkiwix with last version of libzim to avoid this conflict.
2024-06-28 09:50:52 +02:00
35ca7068a1 Bump-up version of base_deps_meta_version 2024-06-22 15:00:08 +02:00
4b6c4a2547 Use version 0.6.0 of ZIM testing suite 2024-06-22 14:55:32 +02:00
2b25f3cfc3 Release libzim 9.2.2 2024-06-22 14:24:20 +02:00
e31147c7e5 Revert "WIP Use windows branch on windows CI"
This reverts commit 05fc3b409c.

This was a temporary commit to make the PR compile with a dev branch of libzim.
Now PR on libzim is merged. We must remove this commit.
2024-06-17 10:11:03 +02:00
05fc3b409c WIP Use windows branch on windows CI 2024-06-07 18:34:30 +02:00
d2d1f686b1 Build libzim on windows with werror=false
MSVC throw a lot of warning because we also must re-export stl symbols
used in our exported class.

See [1] and [2] (and links inside) for more information.

Especially [3] which seems to say that we should have issue at link time if
it compatibility issue occurs (and so easily catchable).

So I just remove the `werror=true` for now.

[1] https://stackoverflow.com/questions/16419318/one-way-of-eliminating-c4251-warning-when-using-stl-classes-in-the-dll-interface
[2] https://stackoverflow.com/questions/2132747/warning-c4251-when-building-a-dll-that-exports-a-class-containing-an-atlcstrin
2024-06-07 18:33:55 +02:00
46e58b763d Don't depend on lzma. 2024-06-07 15:38:45 +02:00
6bfe9ec8b1 Do not build libzim with xapian dependency on Windows. 2024-06-07 15:38:05 +02:00
e3656ab3f6 Do not print warning on windows 2024-06-07 15:36:58 +02:00
cd04a895fb Bump base_deps_meta_version 2024-06-07 15:36:58 +02:00
0e0ac010bb Build icu4c using meson on Windows. 2024-06-07 15:36:58 +02:00
93a8c89996 Do not set permission to 0 for extracted file. 2024-06-07 15:36:58 +02:00
ca3d90d793 Use the correct path separator on Windows 2024-06-07 15:36:58 +02:00
baa4470ebb Use setup command in meson. 2024-06-07 15:36:58 +02:00
3b0532b395 Update zstd 2024-06-07 15:36:58 +02:00
45255078f9 Build lzma using meson build system. 2024-06-07 15:36:58 +02:00
04942020d7 Fix extracting of several archives.
- Archive already existing must not stop download of other archives.
- Use copytree instead of rename to use second archive as patch on existing
  directory. (No need to remove tmpdir, as it is a temporary directory)
2024-06-07 15:36:58 +02:00
941cbc8310 Build zlib using meson.
Use the wrap coming from meson's wrapdb.
2024-06-07 15:36:58 +02:00
62dc698fad Build only libzim (and dependencies on Windows) 2024-06-07 15:36:54 +02:00
bfb029bd6c Rebuild libzim and libkiwix.
This rebuild is for android arm compilation fix.
2024-06-05 15:43:36 +02:00
b1f7beef4f Exclude libgcc and libunwind from linked libraries on Android.
As said in [1], unwinder is linked automatically by Clang and shared
library must not re-export it.

ndk after r23 (we are using r21) should be this. Else we must take care to
not re-export it.

From [2], we should pass the flags `Wl,--exclude-libs,libgcc.a` and
`-Wl,--exclude-libs,libunwind.a` to avoid re-export `_Unwind_Resume` methods.

Fix https://github.com/kiwix/kiwix-android/issues/3661

[1] https://android.googlesource.com/platform/ndk/+/master/docs/BuildSystemMaintainers.md#Unwinding
[2] https://github.com/android/ndk/issues/889#issuecomment-464334469
2024-06-04 15:12:40 +02:00
8832888aaa Add almalinux as compatible host for native and aarch config 2024-06-03 10:43:37 +02:00
683250ca9d Use manylinux container instead of bionic
Alignement of the table in build_definition will be fixed in later commit
to not mix functionnal and cosmetic changes in the same commit.
2024-06-03 10:42:49 +02:00
652af505a6 Release libzim 3.4.1 2024-05-16 19:20:45 +02:00
29c7780d4f Build libzim 9.2.1 and subsequent projects 2024-05-02 13:11:35 +02:00
6aa661a474 New libzim version 9.2.0 2024-04-16 18:28:32 +02:00
9235f8b048 Do not expect a full working environment when only asking for build dir.
Job `Trigger_Docker` is run in a simple environment not configured.
So tools as `ninja` are not installed. But we don't care as we just want
to trigger a docker build.
But `common` script now start by asking kiwix-build the build dir.
kiwix-build must not fail in this case.
2024-04-11 17:05:45 +02:00