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:
parent
81e4901c7e
commit
99e783ca8f
3 changed files with 95 additions and 26 deletions
58
BUILDING.md
Normal file
58
BUILDING.md
Normal 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
25
CONTRIBUTING.md
Normal 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.
|
38
README.md
38
README.md
|
@ -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
|

|
||||||
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.
|
|
Loading…
Add table
Reference in a new issue