mirror of
https://github.com/redstrate/Astra.git
synced 2025-04-20 03:37:47 +00:00
Improve appstream metadata, and change project id
This commit is contained in:
parent
1e54d0aa85
commit
81e4901c7e
28 changed files with 123 additions and 60 deletions
|
@ -28,11 +28,7 @@ tasks:
|
|||
cmake --build build-cmake
|
||||
- flatpak: |
|
||||
cd astra
|
||||
flatpak remote-add --if-not-exists --user flathub https://dl.flathub.org/repo/flathub.flatpakrepo
|
||||
flatpak install --user -y runtime/org.kde.Platform/x86_64/5.15-22.08 runtime/org.kde.Sdk/x86_64/5.15-22.08 org.freedesktop.Sdk.Extension.rust-stable/x86_64/22.08
|
||||
flatpak-builder build --user --force-clean zone.xiv.astra.yml
|
||||
flatpak build-export export build
|
||||
flatpak build-bundle export astra.flatpak zone.xiv.astra --runtime-repo=https://flathub.org/repo/flathub.flatpakrepo
|
||||
./build-flatpak.sh
|
||||
artifacts:
|
||||
- astra/build-cmake/bin/astra
|
||||
- astra/astra.flatpak
|
|
@ -3,11 +3,11 @@ Upstream-Name: Astra
|
|||
Upstream-Contact: Joshua Goins <josh@redstrate.com>
|
||||
Source: https://git.sr.ht/~redstrate/astra
|
||||
|
||||
Files: README.md .build.yml .editorconfig zone.xiv.astra.yml com.redstrate.astra.desktop test-steamdeck.sh compatibilitytool/* misc/*
|
||||
Files: README.md .build.yml .editorconfig zone.xiv.astra.yml zone.xiv.astra.desktop build-flatpak.sh compatibilitytool/* misc/*
|
||||
Copyright: Joshua Goins <josh@redstrate.com>
|
||||
License: CC0-1.0
|
||||
|
||||
Files: com.redstrate.astra.svg
|
||||
Files: zone.xiv.astra.svg
|
||||
Copyright: Joshua Goins <josh@redstrate.com>
|
||||
License: CC-BY-SA-4.0
|
||||
|
||||
|
|
|
@ -74,8 +74,9 @@ find_package(QuaZip-Qt5 REQUIRED)
|
|||
add_subdirectory(external)
|
||||
add_subdirectory(launcher)
|
||||
|
||||
install(FILES com.redstrate.astra.desktop DESTINATION ${KDE_INSTALL_APPDIR})
|
||||
install(FILES com.redstrate.astra.svg DESTINATION ${KDE_INSTALL_FULL_ICONDIR}/hicolor/scalable/apps)
|
||||
install(FILES zone.xiv.astra.desktop DESTINATION ${KDE_INSTALL_APPDIR})
|
||||
install(FILES zone.xiv.astra.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR})
|
||||
install(FILES zone.xiv.astra.svg DESTINATION ${KDE_INSTALL_FULL_ICONDIR}/hicolor/scalable/apps)
|
||||
|
||||
feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)
|
||||
|
||||
|
|
7
build-flatpak.sh
Executable file
7
build-flatpak.sh
Executable file
|
@ -0,0 +1,7 @@
|
|||
#!/bin/sh
|
||||
|
||||
flatpak remote-add --if-not-exists --user flathub https://dl.flathub.org/repo/flathub.flatpakrepo &&
|
||||
flatpak install --user -y runtime/org.kde.Platform/x86_64/5.15-22.08 runtime/org.kde.Sdk/x86_64/5.15-22.08 org.freedesktop.Sdk.Extension.rust-stable/x86_64/22.08 &&
|
||||
flatpak-builder build --user --force-clean zone.xiv.astra.yml &&
|
||||
flatpak build-export export build &&
|
||||
flatpak build-bundle export astra.flatpak zone.xiv.astra --runtime-repo=https://flathub.org/repo/flathub.flatpakrepo
|
|
@ -36,10 +36,10 @@ int main(int argc, char *argv[])
|
|||
about.setHomepage("https://xiv.zone/astra");
|
||||
about.addComponent("physis", "Library to access FFXIV data", physis_get_physis_version(), "https://xiv.zone/physis", KAboutLicense::GPL_V3);
|
||||
about.addComponent("libphysis", "C bindings for physis", physis_get_libphysis_version(), "", KAboutLicense::GPL_V3);
|
||||
about.setDesktopFileName("com.redstrate.astra");
|
||||
about.setDesktopFileName("zone.xiv.astra");
|
||||
about.setBugAddress("https://lists.sr.ht/~redstrate/public-inbox");
|
||||
about.setComponentName("astra");
|
||||
about.setProgramLogo("com.redstrate.astra");
|
||||
about.setProgramLogo("zone.xiv.astra");
|
||||
|
||||
KAboutData::setApplicationData(about);
|
||||
|
||||
|
@ -70,16 +70,16 @@ int main(int argc, char *argv[])
|
|||
LauncherCore c(false);
|
||||
#endif
|
||||
|
||||
qmlRegisterSingletonInstance("com.redstrate.astra", 1, 0, "LauncherCore", &c);
|
||||
qmlRegisterUncreatableType<GameInstaller>("com.redstrate.astra", 1, 0, "GameInstaller", QStringLiteral("Use LauncherCore::createInstaller"));
|
||||
qmlRegisterUncreatableType<AccountManager>("com.redstrate.astra", 1, 0, "AccountManager", QStringLiteral("Use LauncherCore::accountManager"));
|
||||
qmlRegisterUncreatableType<ProfileManager>("com.redstrate.astra", 1, 0, "ProfileManager", QStringLiteral("Use LauncherCore::profileManager"));
|
||||
qmlRegisterUncreatableType<Profile>("com.redstrate.astra", 1, 0, "Profile", QStringLiteral("Use from ProfileManager"));
|
||||
qmlRegisterUncreatableType<Account>("com.redstrate.astra", 1, 0, "Account", QStringLiteral("Use from AccountManager"));
|
||||
qmlRegisterSingletonType("com.redstrate.astra", 1, 0, "About", [](QQmlEngine *engine, QJSEngine *) -> QJSValue {
|
||||
qmlRegisterSingletonInstance("zone.xiv.astra", 1, 0, "LauncherCore", &c);
|
||||
qmlRegisterUncreatableType<GameInstaller>("zone.xiv.astra", 1, 0, "GameInstaller", QStringLiteral("Use LauncherCore::createInstaller"));
|
||||
qmlRegisterUncreatableType<AccountManager>("zone.xiv.astra", 1, 0, "AccountManager", QStringLiteral("Use LauncherCore::accountManager"));
|
||||
qmlRegisterUncreatableType<ProfileManager>("zone.xiv.astra", 1, 0, "ProfileManager", QStringLiteral("Use LauncherCore::profileManager"));
|
||||
qmlRegisterUncreatableType<Profile>("zone.xiv.astra", 1, 0, "Profile", QStringLiteral("Use from ProfileManager"));
|
||||
qmlRegisterUncreatableType<Account>("zone.xiv.astra", 1, 0, "Account", QStringLiteral("Use from AccountManager"));
|
||||
qmlRegisterSingletonType("zone.xiv.astra", 1, 0, "About", [](QQmlEngine *engine, QJSEngine *) -> QJSValue {
|
||||
return engine->toScriptValue(KAboutData::applicationData());
|
||||
});
|
||||
qmlRegisterUncreatableType<Headline>("com.redstrate.astra", 1, 0, "Headline", QStringLiteral("Use from AccountManager"));
|
||||
qmlRegisterUncreatableType<Headline>("zone.xiv.astra", 1, 0, "Headline", QStringLiteral("Use from AccountManager"));
|
||||
qRegisterMetaType<Banner>("Banner");
|
||||
qRegisterMetaType<QList<Banner>>("QList<Banner>");
|
||||
qRegisterMetaType<QList<News>>("QList<News>");
|
||||
|
|
|
@ -8,7 +8,7 @@ import QtQuick.Controls 2.15 as Controls
|
|||
import QtQuick.Layouts 1.15
|
||||
import org.kde.kirigamiaddons.labs.mobileform 0.1 as MobileForm
|
||||
import QtQuick.Dialogs 1.0
|
||||
import com.redstrate.astra 1.0
|
||||
import zone.xiv.astra 1.0
|
||||
|
||||
MobileForm.FormButtonDelegate {
|
||||
id: control
|
||||
|
|
|
@ -8,7 +8,7 @@ import QtQuick.Controls 2.15 as Controls
|
|||
import QtQuick.Layouts 1.15
|
||||
import org.kde.kirigamiaddons.labs.mobileform 0.1 as MobileForm
|
||||
import QtQuick.Dialogs 1.0
|
||||
import com.redstrate.astra 1.0
|
||||
import zone.xiv.astra 1.0
|
||||
|
||||
MobileForm.FormButtonDelegate {
|
||||
id: control
|
||||
|
|
|
@ -7,7 +7,6 @@ import org.kde.kirigami 2.20 as Kirigami
|
|||
import QtQuick.Controls 2.15 as Controls
|
||||
import QtQuick.Layouts 1.15
|
||||
import QtWebEngine 1.10
|
||||
import com.redstrate.astra 1.0
|
||||
|
||||
Kirigami.Page {
|
||||
id: page
|
||||
|
|
|
@ -7,7 +7,7 @@ import org.kde.kirigami 2.20 as Kirigami
|
|||
import QtQuick.Controls 2.15 as Controls
|
||||
import QtQuick.Layouts 1.15
|
||||
import org.kde.kirigamiaddons.labs.mobileform 0.1 as MobileForm
|
||||
import com.redstrate.astra 1.0
|
||||
import zone.xiv.astra 1.0
|
||||
|
||||
Controls.Control {
|
||||
id: page
|
||||
|
|
|
@ -7,7 +7,7 @@ import org.kde.kirigami 2.20 as Kirigami
|
|||
import QtQuick.Controls 2.15 as Controls
|
||||
import QtQuick.Layouts 1.15
|
||||
import org.kde.kirigamiaddons.labs.mobileform 0.1 as MobileForm
|
||||
import com.redstrate.astra 1.0
|
||||
import zone.xiv.astra 1.0
|
||||
|
||||
Kirigami.Page {
|
||||
id: page
|
||||
|
|
|
@ -8,7 +8,7 @@ import QtQuick.Controls 2.15 as Controls
|
|||
import QtQuick.Layouts 1.15
|
||||
import org.kde.kirigamiaddons.labs.mobileform 0.1 as MobileForm
|
||||
import QtGraphicalEffects 1.0
|
||||
import com.redstrate.astra 1.0
|
||||
import zone.xiv.astra 1.0
|
||||
|
||||
Controls.Control {
|
||||
id: page
|
||||
|
|
|
@ -6,7 +6,7 @@ import QtQuick.Window 2.15
|
|||
import org.kde.kirigami 2.20 as Kirigami
|
||||
import QtQuick.Controls 2.15 as Controls
|
||||
import QtQuick.Layouts 1.15
|
||||
import com.redstrate.astra 1.0
|
||||
import zone.xiv.astra 1.0
|
||||
|
||||
Kirigami.Page {
|
||||
property var gameInstaller
|
||||
|
|
|
@ -7,7 +7,7 @@ import org.kde.kirigami 2.20 as Kirigami
|
|||
import QtQuick.Controls 2.15 as Controls
|
||||
import QtQuick.Layouts 1.15
|
||||
import org.kde.kirigamiaddons.labs.mobileform 0.1 as MobileForm
|
||||
import com.redstrate.astra 1.0
|
||||
import zone.xiv.astra 1.0
|
||||
|
||||
Kirigami.ScrollablePage {
|
||||
id: page
|
||||
|
|
|
@ -7,7 +7,7 @@ import org.kde.kirigami 2.20 as Kirigami
|
|||
import QtQuick.Controls 2.15 as Controls
|
||||
import QtQuick.Layouts 1.15
|
||||
import org.kde.kirigamiaddons.labs.mobileform 0.1 as MobileForm
|
||||
import com.redstrate.astra 1.0
|
||||
import zone.xiv.astra 1.0
|
||||
|
||||
import "../Components"
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ import org.kde.kirigami 2.20 as Kirigami
|
|||
import QtQuick.Controls 2.15 as Controls
|
||||
import QtQuick.Layouts 1.15
|
||||
import org.kde.kirigamiaddons.labs.mobileform 0.1 as MobileForm
|
||||
import com.redstrate.astra 1.0
|
||||
import zone.xiv.astra 1.0
|
||||
|
||||
MobileForm.FormCard {
|
||||
Layout.topMargin: Kirigami.Units.largeSpacing
|
||||
|
|
|
@ -7,7 +7,7 @@ import org.kde.kirigami 2.20 as Kirigami
|
|||
import QtQuick.Controls 2.15 as Controls
|
||||
import QtQuick.Layouts 1.15
|
||||
import org.kde.kirigamiaddons.labs.mobileform 0.1 as MobileForm
|
||||
import com.redstrate.astra 1.0
|
||||
import zone.xiv.astra 1.0
|
||||
|
||||
import "../Components"
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ import org.kde.kirigami 2.20 as Kirigami
|
|||
import QtQuick.Controls 2.15 as Controls
|
||||
import QtQuick.Layouts 1.15
|
||||
import org.kde.kirigamiaddons.labs.mobileform 0.1 as MobileForm
|
||||
import com.redstrate.astra 1.0
|
||||
import zone.xiv.astra 1.0
|
||||
|
||||
Kirigami.ScrollablePage {
|
||||
id: page
|
||||
|
|
|
@ -7,7 +7,7 @@ import org.kde.kirigami 2.20 as Kirigami
|
|||
import QtQuick.Controls 2.15 as Controls
|
||||
import QtQuick.Layouts 1.15
|
||||
import org.kde.kirigamiaddons.labs.mobileform 0.1 as MobileForm
|
||||
import com.redstrate.astra 1.0
|
||||
import zone.xiv.astra 1.0
|
||||
|
||||
Kirigami.Page {
|
||||
id: page
|
||||
|
|
|
@ -7,7 +7,7 @@ import org.kde.kirigami 2.20 as Kirigami
|
|||
import QtQuick.Controls 2.15 as Controls
|
||||
import QtQuick.Layouts 1.15
|
||||
import org.kde.kirigamiaddons.labs.mobileform 0.1 as MobileForm
|
||||
import com.redstrate.astra 1.0
|
||||
import zone.xiv.astra 1.0
|
||||
|
||||
Kirigami.Page {
|
||||
id: page
|
||||
|
|
|
@ -7,7 +7,7 @@ import org.kde.kirigami 2.20 as Kirigami
|
|||
import QtQuick.Controls 2.15 as Controls
|
||||
import QtQuick.Layouts 1.15
|
||||
import org.kde.kirigamiaddons.labs.mobileform 0.1 as MobileForm
|
||||
import com.redstrate.astra 1.0
|
||||
import zone.xiv.astra 1.0
|
||||
|
||||
Kirigami.Page {
|
||||
id: page
|
||||
|
|
|
@ -7,7 +7,7 @@ import org.kde.kirigami 2.20 as Kirigami
|
|||
import QtQuick.Controls 2.15 as Controls
|
||||
import QtQuick.Layouts 1.15
|
||||
import org.kde.kirigamiaddons.labs.mobileform 0.1 as MobileForm
|
||||
import com.redstrate.astra 1.0
|
||||
import zone.xiv.astra 1.0
|
||||
|
||||
Kirigami.Page {
|
||||
id: page
|
||||
|
|
|
@ -6,7 +6,7 @@ import QtQuick.Window 2.15
|
|||
import org.kde.kirigami 2.20 as Kirigami
|
||||
import QtQuick.Controls 2.15 as Controls
|
||||
import QtQuick.Layouts 1.15
|
||||
import com.redstrate.astra 1.0
|
||||
import zone.xiv.astra 1.0
|
||||
|
||||
Kirigami.Page {
|
||||
property var gameInstaller
|
||||
|
|
|
@ -6,7 +6,7 @@ import QtQuick.Window 2.15
|
|||
import org.kde.kirigami 2.20 as Kirigami
|
||||
import QtQuick.Controls 2.15 as Controls
|
||||
import QtQuick.Layouts 1.15
|
||||
import com.redstrate.astra 1.0
|
||||
import zone.xiv.astra 1.0
|
||||
|
||||
import "Pages"
|
||||
|
||||
|
|
|
@ -1,8 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
flatpak-builder build --force-clean zone.xiv.astra.yml &&
|
||||
flatpak build-export export build &&
|
||||
flatpak build-bundle export astra-next.flatpak zone.xiv.astra --runtime-repo=https://flathub.org/repo/flathub.flatpakrepo &&
|
||||
rsync ./astra-next.flatpak deck@steamdeck:~/astra-next.flatpak
|
||||
ssh deck@steamdeck 'flatpak install --user --noninteractive -y astra-next.flatpak'
|
||||
#ssh deck@steamdeck 'flatpak run --user zone.xiv.astra'
|
53
zone.xiv.astra.appdata.xml
Normal file
53
zone.xiv.astra.appdata.xml
Normal file
|
@ -0,0 +1,53 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
- SPDX-License-Identifier: CC0-1.0
|
||||
- SPDX-FileCopyrightText: 2023 Joshua Goins <josh@redstrate.com>
|
||||
-->
|
||||
<component type="desktop-application">
|
||||
<id>zone.xiv.astra</id>
|
||||
<metadata_license>CC0-1.0</metadata_license>
|
||||
<name>Astra</name>
|
||||
<summary>Linux FFXIV Launcher</summary>
|
||||
<description>
|
||||
<p>A custom FFXIV launcher that supports multiple accounts, Dalamud plugins and runs natively on Linux!</p>
|
||||
</description>
|
||||
<categories>
|
||||
<category>Game</category>
|
||||
</categories>
|
||||
<keywords>
|
||||
<keyword>launcher</keyword>
|
||||
<keyword translate="no">ffxiv</keyword>
|
||||
<keyword translate="no">ff14</keyword>
|
||||
</keywords>
|
||||
<url type="homepage">https://xiv.zone/astra</url>
|
||||
<url type="bugtracker">https://todo.sr.ht/~redstrate/astra</url>
|
||||
<url type="faq">https://xiv.zone/astra/faq</url>
|
||||
<url type="donation">https://redstrate.com/fund</url>
|
||||
<url type="contact">https://redstrate.com/contact</url>
|
||||
<url type="vcs-browser">https://sr.ht/~redstrate/astra</url>
|
||||
<launchable type="desktop-id">zone.xiv.astra.desktop</launchable>
|
||||
<releases>
|
||||
<release version="0.5.0"/>
|
||||
</releases>
|
||||
<provides>
|
||||
<binary>astra</binary>
|
||||
</provides>
|
||||
<requires>
|
||||
<internet>always</internet>
|
||||
</requires>
|
||||
<recommends>
|
||||
<display_length compare="ge">600</display_length>
|
||||
</recommends>
|
||||
<supports>
|
||||
<control>pointing</control>
|
||||
<control>keyboard</control>
|
||||
<control>touch</control>
|
||||
</supports>
|
||||
<project_license>GPL-3.0</project_license>
|
||||
<developer_name>redstrate</developer_name>
|
||||
<screenshots>
|
||||
<screenshot type="default">
|
||||
<image width="1033" height="667">https://xiv.zone/astra/main-screenshot.png</image>
|
||||
</screenshot>
|
||||
</screenshots>
|
||||
</component>
|
|
@ -6,8 +6,8 @@ GenericName=FFXIV Launcher
|
|||
Comment=Linux launcher for FFXIV
|
||||
Exec=astra %u
|
||||
Terminal=false
|
||||
Icon=com.redstrate.astra
|
||||
Icon=zone.xiv.astra
|
||||
Type=Application
|
||||
Categories=Games;
|
||||
Categories=X-Games;
|
||||
X-KDE-FormFactor=desktop;tablet;
|
||||
SingleMainWindow=true
|
|
@ -2,18 +2,18 @@
|
|||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="56mm"
|
||||
height="56mm"
|
||||
viewBox="0 0 56 56"
|
||||
version="1.1"
|
||||
id="svg5"
|
||||
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
|
||||
sodipodi:docname="com.redstrate.astra.svg"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
width="56mm"
|
||||
height="56mm"
|
||||
viewBox="0 0 56 56"
|
||||
version="1.1"
|
||||
id="svg5"
|
||||
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
|
||||
sodipodi:docname="com.redstrate.astra.svg"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<sodipodi:namedview
|
||||
id="namedview7"
|
||||
pagecolor="#ffffff"
|
Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 6.2 KiB |
|
@ -37,6 +37,20 @@ modules:
|
|||
sources:
|
||||
- type: git
|
||||
url: https://github.com/stachenov/quazip.git
|
||||
- name: kirigami-addons
|
||||
config-opts:
|
||||
- -DBUILD_TESTING=OFF
|
||||
- -DCMAKE_BUILD_TYPE=RelWithDebInfo
|
||||
buildsystem: cmake-ninja
|
||||
sources:
|
||||
- type: archive
|
||||
url: https://download.kde.org/stable/kirigami-addons/kirigami-addons-0.10.0.tar.xz
|
||||
sha256: 9897e70bf167f579cec06d09d49a9a27aba184cbd1b2fce2c3ae757a87b01216
|
||||
- name: icon
|
||||
buildsystem: simple
|
||||
build-commands:
|
||||
- mkdir -p /app/share/icons/hicolor/32x32/apps/
|
||||
- install -D /usr/share/icons/breeze/mimetypes/64/none.svg /app/share/icons/hicolor/32x32/apps/zone.xiv.astra.svg
|
||||
- name: astra
|
||||
buildsystem: cmake-ninja
|
||||
config-opts:
|
||||
|
@ -44,8 +58,9 @@ modules:
|
|||
- -DRust_COMPILER=/usr/lib/sdk/rust-stable/bin/rustc
|
||||
- -DENABLE_GAMEMODE=OFF
|
||||
- -DENABLE_CLI=OFF
|
||||
- -DBUILD_FLATPAK=ON
|
||||
build-options:
|
||||
build-args:
|
||||
build-args:
|
||||
- --share=network # needed for cargo unfortunately, flatpak has no native support (yet)
|
||||
sources:
|
||||
- type: dir
|
||||
|
|
Loading…
Add table
Reference in a new issue