1
Fork 0
mirror of https://github.com/redstrate/Astra.git synced 2025-04-22 20:47:45 +00:00

Improve README, add CONTRIBUTING and BUILDING

This commit is contained in:
Joshua Goins 2023-08-18 12:17:12 -04:00
parent 81e4901c7e
commit 99e783ca8f
3 changed files with 95 additions and 26 deletions

58
BUILDING.md Normal file
View file

@ -0,0 +1,58 @@
# Building Astra
## Dependencies
### Required
All of these packages are required for Astra to build with a minimal set of features.
* Linux
* Windows, macOS and other systems may work but are currently unsupported.
* CMake 3.16 or later
* Qt 5.15 or later
* KDE Frameworks 5.83 or later
* Extra CMake Modules, Kirigami, I18n, Config, and CoreAddons.
* Rust
* unshield
* QtKeychain 5
* QuaZip 5
### Optional
* Steamworks SDK
* You must specify `STEAMWORKS_INCLUDE_DIRS` and `STEAMWORKS_LIBRARIES` yourself.
* Gamemode
* Tesseract
## Configuring
**Note:** Some dependencies will automatically be downloaded from the Internet if not found on your system. This functionality may change in the future.
When configuring Astra, there are several optional features you may want to enable or disable:
* `ENABLE_WATCHDOG`: Watchdog support, requires Tesseract and X11.
* `ENABLE_STEAM`: Steam integration, requires the Steamworks SDK.
* `ENABLE_GAMEMODE`: Gamemode integration, reqires Gamemode.
To configure, run `cmake` in the source directory:
```bash
$ cd astra
$ cmake -S . -B build
```
This command will create a new build directory and configure the source directory (`.`). If you want to enable more options, pass the mnow:
```bash
$ cmake -S . -B build -DENABLE_STEAM=ON
```
## Building
Now begin building the project:
```bash
$ cmake --build build
```
If the build was successful, an `astra` binary will be found in `./build/bin/astra`.

25
CONTRIBUTING.md Normal file
View file

@ -0,0 +1,25 @@
# Contributing to Astra
I appreciate any code contributions to Astra, whether they are bugfixes or new features! this repository is managed on [sourcehut](https://git.sr.ht/~redstrate/astra).
Once you finished your changes, use [git send-email](https://git-send-email.io/) or the [sourcehut web contributor interface](https://git.sr.ht/~redstrate/astra/send-email) to upload them. Please send your patches to [~redstrate/public-inbox@lists.sr.ht](mailto:~redstrate/public-inbox@lists.sr.ht).
## What Needs Doing
The current TODO list can be located [here](https://todo.sr.ht/~redstrate/astra). It's the best place for feature requests and bug reports.
## Where Stuff Is
Everything code-wise for Astra in the [/launcher](/launcher) directory. Astra follows modern Kirigami and Qt practices, meaning the frontend is written in QML and the backend is C++.
### Backend
The backend code is written in C++, and we're currently requiring C++20 to build.
### Frontend
The user interface is written in QML, using technologies such as Kirigami. Please see the [KDE API Documentation](https://api.kde.org/) for more information. The frontend files are located in [/launcher/ui](/launcher/ui).
## Conventions
Astra follows the standard KDE coding style, which is enforced by the use of [clang-format](https://clang.llvm.org/docs/ClangFormat.html) and a git hook. There is nothing else you need to do, please commit any fixes the tool makes.

View file

@ -1,7 +1,6 @@
# Astra # Astra
A custom FFXIV launcher that supports multiple accounts, [Dalamud](https://github.com/goatcorp/Dalamud) plugins and runs A FFXIV launcher for Linux that supports profiles, multiple accounts and [Dalamud](https://github.com/goatcorp/Dalamud) plugins!
natively on Linux!
### Notice ### Notice
@ -27,39 +26,26 @@ If you still have questions, please read the [FAQ](https://xiv.zone/astra/faq) f
* Saving account usernames and passwords are also supported, and is never stored plaintext. * Saving account usernames and passwords are also supported, and is never stored plaintext.
* Can install FFXIV on new systems for you, bypassing the normal InstallShield installer. * Can install FFXIV on new systems for you, bypassing the normal InstallShield installer.
## Installation ## Get It
Precompiled binaries are available [to download from the website](https://xiv.zone/astra/install). Details on where to find stable releases of Astra can be found on its [homepage](https://xiv.zone/astra).
There are also numerous options available: Distribution packaging is encouraged, so please send an [email through the mailing list](https://lists.sr.ht/~redstrate/public-inbox) for any concerns.
* _Flatpak_ - Instructions can be found in the [Flatpak installation](https://xiv.zone/astra/install/#linux) section. ## Support
* _AUR_ - You can find the [AUR package here](https://aur.archlinux.org/packages/astra-launcher).
* _Gentoo Overlay_ - You can find a Gentoo ebuild in my [personal overlay](https://git.sr.ht/~redstrate/ebuilds/tree/master/item/games-misc/astra).
* _Tarball_ - You can download the latest release's tarball from [the website](https://xiv.zone/astra/install).
Distribution packaging is encouraged, so please send If you have an issue with Astra, please [send an email to the mailing list](https://lists.sr.ht/~redstrate/public-inbox).
an [email through the mailing list](https://lists.sr.ht/~redstrate/public-inbox) for any concerns.
## Building ## Building
**Note:** Some dependencies will automatically be downloaded from the Internet if not found on your system. Please refer to the [building document](BUILDING.md) for instructions on how to build Astra.
This functionality will change in the future to ease distribution packaging. You can control this functionality using
the `USE_OWN_LIBRARIES` CMake option.
[The wiki](https://man.sr.ht/~redstrate/astra/) has dedicated platform-specific pages for build instructions as well as ## Contributing
[important usage information](https://man.sr.ht/~redstrate/astra/linux-usage.md).
## Contributing and Support Please refer to the [contributing document](CONTRIBUTING.md) for everything you need to know to get started contributing to Novus.
The best way you can help Astra is by [monetarily supporting me](https://ko-fi.com/redstrate) or by submitting patches ## License
to fix bugs or add functionality.
I work on Astra and my other FFXIV projects in my free time, so any support helps to let me continue what I do!
If you have changes you wish to submit, you can use [git send-email](https://git-send-email.io/) or ![GPLv3](https://www.gnu.org/graphics/gplv3-127x51.png)
the [sourcehut web contributor interface](https://git.sr.ht/~redstrate/astra/send-email)!
If you wish to file a bug report, or feature request please see [the bug tracker](https://todo.sr.ht/~redstrate/astra). This project is licensed under the [GNU General Public License 3](LICENSE). Some code or assets may be licensed differently, please refer to the [REUSE](https://reuse.software/spec/) metadata.
For general discussion about the launcher, potential features and so on, send an [email through the mailing list](https://lists.sr.ht/~redstrate/public-inbox).
I discourage contacting me privately unless necessary, so that everyone can benefit from the discussion.