Commit Graph

466 Commits

Author SHA1 Message Date
Emmanuel Engelhart 78225e865e
Relase kiwix-tools 3.6.0 2023-11-19 14:22:29 +01:00
Emmanuel Engelhart 5da02d9ccc
Release libkiwix 13.0.0 2023-11-17 15:15:24 +01:00
Matthieu Gautier 861682ecaa Update emsdk version. 2023-11-17 12:28:14 +01:00
Emmanuel Engelhart 6a9093642c Bump-up aria2 to 1.37.0 2023-11-17 12:21:39 +01:00
Emmanuel Engelhart f76ce0069b
Release zim-tools 3.3.0 2023-11-17 10:58:35 +01:00
renaud gaudin ac22caca6d
Don't set context.no_skip on meson builder
no_skip is thus computed automatically depending on project being our or not.
We dont want to skip configure on our own projetcs (limited impact, simplifies deps mgmt)
2023-11-15 08:50:38 +00:00
renaud gaudin a063b91349
Build CoreKiwix.xcframework
CoreKiwix.xcframework is the packaging format required by Kiwix apple (macOS/iOS) reader for libkiwix.
Naming will hopefully be revisited later (libkiwix.xcframework?)

This folder is a combination of all static archive (*.a): dependencies and libkiwix itself
for all apple-supported platforms: macOS x86_64, macOS arm64, iOS arm64 and iOS x86_64.
It also includes the headers.
Note: while iOS archs are separated in the framework, the macOS archs are bundled as a fat binary.

This thus adds:

- A new `apple_all_static` target that lists mentioned sub-platforms.
- A new `AppleXCFramework` virtual dependency and builder
  -  requires `libkiwix`
  - merges the archives into one per target
  - creates the fat binary for macOS
  - creates the xcframework
- `libkiwix_xcframework-VERSION.tar.gz` because platformname is xcframework
  - it only contains the xcframework but in libkiwix_xcframework-VERSION/lib folder
    Because with this virtual target, there are no other files
  - requires a new `xcframework` platform_name in builddef
- subplatforms deps and macOS/iOS _ok files to make_deps_archive

---

https://developer.apple.com/documentation/xcode/creating-a-multi-platform-binary-framework-bundle
2023-11-15 08:50:00 +00:00
Emmanuel Engelhart adf3ed801a
Release libzim 9.0.0 2023-11-12 12:38:25 +01:00
renaud gaudin 12b176bf85
fixed typo in native (using min-macos-version) 2023-11-10 11:26:44 +00:00
Matthieu Gautier 1000bfecbe
Set `min_macos_version` also on native platform.
`-min_macos_version` define our minimum targeted macos version.
We need to set it even if we build native on macos.
2023-11-10 11:26:37 +00:00
renaud gaudin 670bbb0417
removed iOSMacABI target as useless 2023-11-09 08:14:52 +00:00
renaud gaudin 7be0b3b586
generalized min macOS/iOS target versions. bumped to iOS15 and macOS12 2023-11-09 08:14:52 +00:00
renaud gaudin 09dacaa25e
disabled bitcode support, as deprecated since xcode14
See https://stackoverflow.com/questions/72543728/xcode-14-deprecates-bitcode-but-why
2023-11-09 08:14:52 +00:00
renaud gaudin fbc1ca11f2
removed -stdlib=libc++ flag to clang as required by xcode 15 2023-11-09 08:14:52 +00:00
Matthieu Gautier 2a5a5c3a42 Correctly build ICU data when building for wasm.
When we use `--disable-tools` (ie, when we are cross-compiling), ICU
will build the data only if it detects we are cross-compiling.

This make sens until we cross-compiling for wasm.
Wasm output is a script file with the interpreter in the sdk we have
installed. So ICU's configure can run the test binary and so doesn't detect
we are cross-compiling.

So we have to patch ICU Makefile to make it build the ICU data anyway.
2023-11-02 17:33:51 +01:00
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 9a2a9ca188 Do not follow symlink when we copy a directory. 2023-10-24 10:53:31 +02: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 750eeedc42 Update base_deps_meta_version. 2023-10-23 10:19:12 +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 2c258d52eb Revert back the libkiwix version to 12.1.1
We don't have a version 13.0.0 for libkiwix.
So the master branch of libkiwix is generating version 12.1.1.

We must use the correct version as we try to fix the rpath on macos
and we we don't have the right version, we fail because the lib file
doesn't exist.
2023-10-20 11:20:57 +02:00
Matthieu Gautier 44a8963c50 New version libkiwix 13.0.0
This is mainly a release of libkiwix 12.1.0 as 12.1.0 introduce breaking
changes.

No need to rebuild kiwix-tools (it is already builded with 12.1.0)
Don't build kiwix-destkop as current version of kiwix-desktop is not
ported to kiwix-13.0.0 (`main` is, but not last release).
2023-09-14 16:06:13 +02:00
Matthieu Gautier 6ee003bf9b New version of libkiwix.
Libkiwix 12.1.1 is just a hot patch to avoid a breaking change in 12.1.0

No need to rebuild kiwix-tools.
2023-09-14 13:49:16 +02:00
Matthieu Gautier 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
Matthieu Gautier 65dd03e58f Move back to the old toolchain for aarch64
Fix #634
2023-08-11 16:18:25 +02:00
Matthieu Gautier 1876b5f542 New version of libzim and libkiwix
- libzim 8.2.1
- libkiwix 12.1.0
2023-07-20 15:58:54 +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