Skip to content

maxrdz/spacelink

Repository files navigation

Spacelink

A graphical application for sending SMS/MMS messages, built with libcosmic for the COSMIC desktop environment, and in the future, the COSMIC mobile shell.

Pipeline

Building

Spacelink uses Git for version control, Meson/Ninja as the build system, and Flatpak for packaging the application. The quickest way to build for release is to do the following:

Getting the source

git clone https://gitlab.com/maxrdz/spacelink.git
cd spacelink/

Dependencies

To build Spacelink, run the following in the repo root directory:

meson setup build
meson compile -C build

You can append the -Dprofile=debug argument to build for debug.

Building the Flatpak

First, install the required dependencies on your Flatpak environment:

# Install flatpak builder and runtime
flatpak install flathub org.flatpak.Builder org.freedesktop.Platform
# Install runtime extensions (rust toolchain & LLVM)
flatpak install flathub org.freedesktop.Sdk.Extension.rust-stable org.freedesktop.Sdk.Extension.llvm18

To build the flatpak, run:

flatpak run org.flatpak.Builder --user --install --force-clean flatpakbuild/ com.maxrdz.Spacelink.json

Installing

To install a build of Spacelink, run:

meson install -C build

Cross Compiling

PLEASE install cross-rs via:

cargo install cross --git https://github.com/cross-rs/cross

The cross project is in a weird state where it doesn't have much motivation and/or time to cut a release, so you need to pull from the main branch to get a lot of bug fixes since the 'latest' release as of December 2024.

Then, you can run:

meson setup build -Dtarget=aarch64-unknown-linux-gnu
meson compile -C build

Copyright and Software License

Copyright (c) 2024 Max Rodriguez [email protected]

"Spacelink" can be found at https://gitlab.com/maxrdz/spacelink

"Spacelink" is distributed under the terms of the GNU General Public License, either version 3.0 or, at your option, any later version WITHOUT ANY WARRANTY. You can read the full copy of the software license in the COPYING file.