Commit Graph

1505 Commits

Author SHA1 Message Date
Matthieu Gautier 5a1175cf2d Format our code with black 2024-02-05 11:41:09 +01:00
Matthieu Gautier 939f323709
Merge pull request #675 from kiwix/appveyor_update
Last appveyor platform version doesn't have python 3.6
2024-01-08 17:41:34 +01:00
Matthieu Gautier fa6fcb1c9f Last appveyor platform version doesn't have python 3.6 2024-01-08 16:29:29 +01:00
Kelson c91db165ba
Merge pull request #674 from kiwix/zim-tools-3.4.0
Release zim-tools 3.4.0
2023-12-31 16:41:13 +01:00
Emmanuel Engelhart aeaee8e075
Release zim-tools 3.4.0 2023-12-31 16:34:20 +01:00
Matthieu Gautier e000eddfd7
Merge pull request #669 from kiwix/download_deps_action
Download deps action
2023-12-19 13:49:06 +01:00
Matthieu Gautier 0aa09ca7c5 Remove `a` flag 2023-12-19 11:56:46 +01:00
Matthieu Gautier 0886129cab Correctly import path 2023-12-19 11:56:31 +01:00
Matthieu Gautier 4078003c98 Add path dependency. 2023-12-19 11:54:49 +01:00
Matthieu Gautier b97bd8e4ed New github's action to download dependencies archive.
To be used by other projects instead of the small bash script we currently have.
2023-12-19 11:54:46 +01:00
Kelson 2f39aedfa6
Merge pull request #672 from kiwix/libzim-9.1.0
Release libzim 9.1.0
2023-12-16 11:58:18 +01:00
Emmanuel Engelhart 817c46a529
Release libzim 9.1.0 2023-12-16 11:23:27 +01:00
Kelson 455cd2e181
Merge pull request #670 from kiwix/libkiwix-13.0.0-1
New build #1 of libkiwix-13.0.0
2023-12-08 14:10:13 +01:00
Emmanuel Engelhart 7f4dea0b89
New build #1 of libkiwix-13.0.0 2023-12-08 14:09:33 +01:00
Matthieu Gautier 6695af6014
Merge pull request #668 from kiwix/667-xcf
CoreKiwix for iOS Simulator
2023-12-05 11:09:09 +01:00
renaud gaudin 8c5bca05b7
Updated CI and builddef for renamed platform ; including new arm64 simulator 2023-12-05 07:04:53 +00:00
renaud gaudin afb7c504ea
Fixed #667: CoreKiwix for iOS Simulator
When we introduced CoreKiwix.xcframework, we made two mistakes:

- We forgot that some devs are on Apple Silicon and did not include arm64 arch for simulator
- We kept the `x86_64-apple-ios` target thinking simulator is a “just” an iOS on x64

This target mistake prevented XCode from finding our lib usable with the Simulator on x64.
Not including an arm64 version obviously prevented Silicon-using devs from using the Simulator.

The included libs changes now from

| Name                         | Content                                               |
| ---------------------------- | ----------------------------------------------------- |
| `ios-arm64`                  | All iOS devices are arm64                             |
| `ios-x86_64-simulator`       | Single x64 binary for Simulator                       |
| `macos-arm64_x86_64`         | Fat binary for macOS with both x64 and arm64          |

To

| Name                         | Content                                               |
| ---------------------------- | ----------------------------------------------------- |
| `ios-arm64`                  | All iOS devices are arm64                             |
| `ios-arm64_x86_64-simulator` | Fsat binary for iOS Simulator with both x64 and arm64 |
| `macos-arm64_x86_64`         | Fat binary for macOS with both x64 and arm64          |

- `iOSx64` Platforn renamed to `iOSx64Simulator` with its target fixed to `x86-apple-ios-simulator` (was `x86_64-apple-ios`)
- Added platformn `iOSArm64Simulator` for Apple Silicon devs to run Simulator
- `AppleXCFramework` dependency gets two changes:
    - Depends on all those platforms
    - `_make_macos_fat()` turned generic and called both for macOS fat binary and iOS Simulator one
2023-12-04 14:20:24 +00:00
Matthieu Gautier 98b5f3e84f
Merge pull request #654 from kiwix/no_shell
Run command without using shell.
2023-12-04 14:11:15 +01:00
Matthieu Gautier ab273f7d12 Run apple command as list. 2023-12-01 11:12:32 +01:00
Matthieu Gautier b7c4854d83 Build only libzim dependencies on bionic.
We compile only libzim on bionic, for compatibility with old libc.
No need to compile all other dependencies (and fight with some of them not
compiling)
2023-12-01 11:12:32 +01:00
Matthieu Gautier a0978a6ab4 Remove SvnClone.
We don't use it since a long time.
2023-12-01 11:12:32 +01:00
Matthieu Gautier c753e62913 Change base deps_meta version. 2023-12-01 11:12:24 +01:00
Matthieu Gautier 985643089a Detect the command instead of hardcoding them. 2023-12-01 11:11:26 +01:00
Matthieu Gautier c99a9bd91f Run the command without using shell=True.
It mainly allow to run command in directory containing space.
(Hello, `C:\Program Files\...`)
It would also allow to work on directory containning spaces
(`C:\Users\John Doe`) but xapian configure (at least) expressly doesn't
support it :/

- Run the command without shell=True
- The command must be a list instead of a string.
- All options must also be a list (or an iterable).
2023-12-01 11:11:24 +01:00
Matthieu Gautier e87835c61d Correctly set the environment.
When running command without `shell=True`, python's subproccess will look
for variable `"PATH"` and `b"PATH"` and will complain if both are set.
So the defaultdict should not return something for `b"PATH"`.

We also escape space ` ` in the environment variables to not break
everything with directory containing space.
2023-12-01 11:10:34 +01:00
Matthieu Gautier 738bfa6744
Merge pull request #665 from kiwix/ios_deps_publish 2023-11-20 17:21:31 +01:00
Matthieu Gautier 1a48bb509b Publish CI libkiwix's dependencies for iOS cross-compilation
See kiwix/libkiwix#1018
2023-11-20 14:17:50 +01:00
Matthieu Gautier e121d04dbf
Merge pull request #664 from kiwix/android_debug 2023-11-20 14:17:42 +01:00
Matthieu Gautier 88cc75475c Build libzim and libkiwix in debug mode on android.
Fix #623
2023-11-20 11:10:24 +01:00
Kelson 2467771891
Merge pull request #663 from kiwix/release-kiwix-tools-3.6.0
Release kiwix-tools 3.6.0
2023-11-19 14:52:28 +01:00
Emmanuel Engelhart 78225e865e
Relase kiwix-tools 3.6.0 2023-11-19 14:22:29 +01:00
Kelson 2130ec1255
Merge pull request #662 from kiwix/osname
Add OS_NAME to docker trigger job
2023-11-17 16:03:37 +01:00
renaud gaudin d59902f460
Add OS_NAME to docker trigger job 2023-11-17 15:01:32 +00:00
Kelson b97e5d20b8
Merge pull request #661 from kiwix/release-libkiwix-13.0.0
Release libkiwix 13.0.0
2023-11-17 15:49:45 +01:00
Emmanuel Engelhart 5da02d9ccc
Release libkiwix 13.0.0 2023-11-17 15:15:24 +01:00
Matthieu Gautier 2b6e02853d
Merge pull request #658 from kiwix/docker-trigger 2023-11-17 13:23:28 +01:00
Kelson 84193ab80c
Merge pull request #637 from kiwix/emsdk
Update emsdk version.
2023-11-17 12:49:52 +01:00
Matthieu Gautier 861682ecaa Update emsdk version. 2023-11-17 12:28:14 +01:00
Kelson 9ef684747f
Merge pull request #657 from kiwix/aria2-1.37.0
Bump-up aria2 to 1.37.0
2023-11-17 12:23:25 +01:00
Emmanuel Engelhart 6a9093642c Bump-up aria2 to 1.37.0 2023-11-17 12:21:39 +01:00
Kelson 8a47b3e4d4
Merge pull request #659 from kiwix/zim-tools-3.3.0
Release zim-tools 3.3.0
2023-11-17 12:18:54 +01:00
Emmanuel Engelhart f76ce0069b
Release zim-tools 3.3.0 2023-11-17 10:58:35 +01:00
renaud gaudin aa29f5029a
Fixed docker workflow trigger
There is no such thing as a `LINUX_DOCKER_TRIGGER` platform target nor expected OS_NAME.
BuildDefinition expects the docker publish trigger to happen for native_static
2023-11-16 10:54:27 +00:00
renaud gaudin 1d70d1a0c4
Fixed incorrect py3 exception raising 2023-11-16 10:53:15 +00:00
rgaudin 1b81500c0b
Merge pull request #653 from kiwix/xcframework
Build CoreKiwix.xcframework
2023-11-15 09:39:51 +00: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
renaud gaudin 6cfbd0c297
Use TMP_DIR (standard) instead of hard-coded /tmp
Allows overriding it
2023-11-15 08:40:22 +00:00
Kelson 5a8f8c90ff
Merge pull request #655 from kiwix/build-libzim-release-9.0.0
Release libzim 9.0.0
2023-11-13 21:26:34 +01:00
Emmanuel Engelhart adf3ed801a
Release libzim 9.0.0 2023-11-12 12:38:25 +01:00