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
A custom FFXIV launcher that supports multiple accounts, [Dalamud](https://github.com/goatcorp/Dalamud) plugins and runs
natively on Linux!
A FFXIV launcher for Linux that supports profiles, multiple accounts and [Dalamud](https://github.com/goatcorp/Dalamud) plugins!
### 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.
* 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.
* _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).
## Support
Distribution packaging is encouraged, so please send
an [email through the mailing list](https://lists.sr.ht/~redstrate/public-inbox) for any concerns.
If you have an issue with Astra, please [send an email to the mailing list](https://lists.sr.ht/~redstrate/public-inbox).
## Building
**Note:** Some dependencies will automatically be downloaded from the Internet if not found on your system.
This functionality will change in the future to ease distribution packaging. You can control this functionality using
the `USE_OWN_LIBRARIES` CMake option.
Please refer to the [building document](BUILDING.md) for instructions on how to build Astra.
[The wiki](https://man.sr.ht/~redstrate/astra/) has dedicated platform-specific pages for build instructions as well as
[important usage information](https://man.sr.ht/~redstrate/astra/linux-usage.md).
## Contributing
## 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
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!
## License
If you have changes you wish to submit, you can use [git send-email](https://git-send-email.io/) or
the [sourcehut web contributor interface](https://git.sr.ht/~redstrate/astra/send-email)!
![GPLv3](https://www.gnu.org/graphics/gplv3-127x51.png)
If you wish to file a bug report, or feature request please see [the bug tracker](https://todo.sr.ht/~redstrate/astra).
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.
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.