Swiftpack.co - matrix-org/matrix-rust-components-swift as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by matrix-org.
matrix-org/matrix-rust-components-swift v1.0.13-alpha
Swift package providing components from the matrix-rust-sdk
⭐️ 9
🕓 1 week ago
iOS macOS
.package(url: "https://github.com/matrix-org/matrix-rust-components-swift.git", from: "v1.0.13-alpha")

Swift package for Matrix Rust components

This repository is a Swift Package for distributing releases of the Matrix Rust SDK. It provides the Swift source code packaged in a format understood by the Swift package manager, and depends on a pre-compiled binary release of the underlying Rust code published from Matrix Rust SDK.

Releasing

Whenever a new release of the underlying components is available, we need to tag a new release in this repo to make them available to Swift components. To do so we need to:

  • running the .xcframework build script from matrix-rust-sdk/apple
  • copy the generated .swift files to this repository under Sources/MatrixRustComponentsSwift
  • update the tag version and checksum inside Package.swift
  • create a new tag and upload the zipped version of the .xcframework to it's artefacts section

Testing locally

The package can be added to an Xcode project from a local checkout and the binary target can be configured by toggling the useLocalBinary boolean. It might be necessary to manually add the resulting library to your project's General/Frameworks, Libraries, and Embedded Content for it to work.

Requirements

To build the package you will need the following installed:

  1. cargo + rustup https://www.rust-lang.org/tools/install
  2. uniffi-bindgen cargo install uniffi_bindgen --version x.x.x where version needs to match the ones defined in the rust-sdk-ffi crate Cargo.toml.
  3. nightly toolchain and simulator targets for your desired platform. See the release script for all possible options.
rustup toolchain install nightly
rustup default nightly
rustup target add aarch64-apple-ios --toolchain nightly
rustup target add aarch64-apple-darwin --toolchain nightly
rustup target add aarch64-apple-ios-sim --toolchain nightly
rustup target add x86_64-apple-ios --toolchain nightly
rustup target add x86_64-apple-darwin --toolchain nightly
  1. matrix-rust-sdk cloned next to this repo git clone https://github.com/matrix-org/matrix-rust-sdk
  2. When running the debug_build_xcframework.sh script, enable the useLocalBinary flag in Package.swift.

GitHub

link
Stars: 9
Last commit: 1 week ago
jonrohan Something's broken? Yell at me @ptrpavlik. Praise and feedback (and money) is also welcome.

Release Notes

v0.0.4-demo
1 week ago

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics