Commit Graph

545 Commits

Author SHA1 Message Date
Matthieu Gautier 3bdce3069a Patch libmicrohttpd's meson to correctly detect size of `timeval.tv_sec` 2024-08-22 15:21:53 +02:00
Matthieu Gautier d87b37fba2 Fix flatpak builder for source with several archives 2024-08-21 15:43:28 +02:00
Matthieu Gautier f00fa4cbd6 Use prebuild aria2c on Windows 2024-08-21 15:11:42 +02:00
Matthieu Gautier 5905de35a1 Bump base_deps_meta_version to rebuild libmicrohttpd and libcurl 2024-08-21 13:33:26 +02:00
Matthieu Gautier 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
Matthieu Gautier 6c8a9540bd Build libmicrohttpd with meson 2024-08-21 13:33:26 +02:00
Matthieu Gautier 23a6b93fcc Build libcurl with meson. 2024-08-21 13:33:26 +02:00
Matthieu Gautier 04d0ba6a92 Temporary deactivate test for libkiwix on Windows. 2024-08-21 13:33:26 +02:00
Matthieu Gautier 294c34ca80 Fix extract of meson archive.
Previous commit was removing the meson_archive.

Fix #723
2024-08-21 10:02:33 +02:00
Matthieu Gautier 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
Matthieu Gautier 00363fdc8c Use prebuilt icu on Windows 2024-08-20 17:07:45 +02:00
Matthieu Gautier f433b25013 Kiwix-build doesn't try to build qt nor qtwebengine
Fix #714
2024-08-19 12:11:38 +02:00
Matthieu Gautier be232d790e Add xapian-core to base dependencies on Windows. 2024-08-15 14:10:17 +02:00
Matthieu Gautier 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
Matthieu Gautier 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
Matthieu Gautier 16654f9563 All native config are compatible with windows. 2024-08-15 14:07:16 +02:00
Matthieu Gautier b026e7e06c Bump base_deps_meta_version to rebuild xapian-core 2024-08-15 14:04:26 +02:00
Matthieu Gautier 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
Matthieu Gautier 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
Matthieu Gautier f9b890c58d Build xapian using meson build system. 2024-08-15 14:03:49 +02:00
Matthieu Gautier 8648e8bc27 Revert "Do not build libzim with xapian dependency on Windows."
This reverts commit 6bfe9ec8b1.
2024-08-15 14:03:45 +02:00
Matthieu Gautier 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
Matthieu Gautier 2a1b18066f New version 3.4.2 of zim-tools 2024-07-10 19:12:25 +02:00
Matthieu Gautier c7bd6182e0 Do not hard-code qmake command 2024-07-08 15:25:54 +02:00
Matthieu Gautier 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
Emmanuel Engelhart 35ca7068a1
Bump-up version of base_deps_meta_version 2024-06-22 15:00:08 +02:00
Emmanuel Engelhart 4b6c4a2547
Use version 0.6.0 of ZIM testing suite 2024-06-22 14:55:32 +02:00
Emmanuel Engelhart 2b25f3cfc3
Release libzim 9.2.2 2024-06-22 14:24:20 +02:00
Matthieu Gautier 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
Matthieu Gautier 05fc3b409c WIP Use windows branch on windows CI 2024-06-07 18:34:30 +02:00
Matthieu Gautier 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
Matthieu Gautier 46e58b763d Don't depend on lzma. 2024-06-07 15:38:45 +02:00
Matthieu Gautier 6bfe9ec8b1 Do not build libzim with xapian dependency on Windows. 2024-06-07 15:38:05 +02:00
Matthieu Gautier e3656ab3f6 Do not print warning on windows 2024-06-07 15:36:58 +02:00
Matthieu Gautier cd04a895fb Bump base_deps_meta_version 2024-06-07 15:36:58 +02:00
Matthieu Gautier 0e0ac010bb Build icu4c using meson on Windows. 2024-06-07 15:36:58 +02:00
Matthieu Gautier 93a8c89996 Do not set permission to 0 for extracted file. 2024-06-07 15:36:58 +02:00
Matthieu Gautier ca3d90d793 Use the correct path separator on Windows 2024-06-07 15:36:58 +02:00
Matthieu Gautier baa4470ebb Use setup command in meson. 2024-06-07 15:36:58 +02:00
Matthieu Gautier 3b0532b395 Update zstd 2024-06-07 15:36:58 +02:00
Matthieu Gautier 45255078f9 Build lzma using meson build system. 2024-06-07 15:36:58 +02:00
Matthieu Gautier 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
Matthieu Gautier 941cbc8310 Build zlib using meson.
Use the wrap coming from meson's wrapdb.
2024-06-07 15:36:58 +02:00
Matthieu Gautier 62dc698fad Build only libzim (and dependencies on Windows) 2024-06-07 15:36:54 +02:00
Matthieu Gautier bfb029bd6c Rebuild libzim and libkiwix.
This rebuild is for android arm compilation fix.
2024-06-05 15:43:36 +02:00
Matthieu Gautier 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
Matthieu Gautier 8832888aaa Add almalinux as compatible host for native and aarch config 2024-06-03 10:43:37 +02:00
Matthieu Gautier 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
Emmanuel Engelhart 652af505a6
Release libzim 3.4.1 2024-05-16 19:20:45 +02:00
Emmanuel Engelhart 29c7780d4f
Build libzim 9.2.1 and subsequent projects 2024-05-02 13:11:35 +02:00