Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use XLM to bootstrap XLCore instead #51

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.flatpak-builder
158 changes: 76 additions & 82 deletions dev.goats.xivlauncher.yml
Original file line number Diff line number Diff line change
@@ -1,90 +1,84 @@
app-id: dev.goats.xivlauncher
build-options:
append-ld-library-path: /usr/lib/sdk/dotnet8/lib
append-path: /usr/lib/sdk/dotnet8/bin
append-pkg-config-path: :/usr/lib/sdk/dotnet8/lib/pkgconfig
env:
DOTNET_CLI_TELEMETRY_OPTOUT: 'true'
command: xivlauncher
command: start.sh
copy-icon: true
finish-args:
- --share=ipc
- --socket=x11 # We can switch to Wayland once some launcher issues are resolved.
- --share=network
- --filesystem=home
- --socket=pulseaudio
- --talk-name=org.freedesktop.secrets
- --system-talk-name=org.freedesktop.UDisks2
- --device=all
- --allow=devel
- --share=ipc
- --socket=wayland # needed for xlm, SDL should still ignore this.
- --socket=fallback-x11
- --share=network
- --filesystem=home
- --socket=pulseaudio
- --talk-name=org.freedesktop.secrets
- --system-talk-name=org.freedesktop.UDisks2
- --device=all
- --allow=devel
build-options:
append-path: "/usr/lib/sdk/rust-stable/bin"
modules:
- shared-modules/SDL2/SDL2-with-libdecor.json
- buildsystem: meson
config-opts:
- -Dwith-examples=false
- -Dwith-util=false
- -Dwith-sd-bus-provider=no-daemon
name: gamemode
sources:
- commit: c54d6d4243b0dd0afcb49f2c9836d432da171a2b
tag: 1.8.2
type: git
url: https://github.com/FeralInteractive/gamemode.git
x-checker-data:
type: git
- buildsystem: meson
cleanup:
- /bin
- /include
- /lib/pkgconfig
- /share/gir-1.0
- /share/man
config-opts:
- -Dmanpage=false
- -Dvapi=false
- -Dgtk_doc=false
name: libsecret
sources:
- sha256: 8583e10179456ae2c83075d95455f156dc08db6278b32bf4bd61819335a30e3a
type: archive
url: https://download.gnome.org/sources/libsecret/0.19/libsecret-0.19.1.tar.xz
- config-opts:
- --with-ca-bundle=/etc/ssl/certs/ca-certificates.crt
name: aria2
sources:
- sha256: 60a420ad7085eb616cb6e2bdf0a7206d68ff3d37fb5a956dc44242eb2f79b66b
type: archive
url: https://github.com/aria2/aria2/releases/download/release-1.37.0/aria2-1.37.0.tar.xz
- build-commands:
- install -d "${FLATPAK_DEST}/opt/XIVLauncher/"
- dotnet publish -r linux-x64 --sc --source ./nuget-sources -o "${FLATPAK_DEST}/opt/XIVLauncher/"
src/XIVLauncher.Core/XIVLauncher.Core.csproj --configuration Release -p:ExtraDefineConstants=FLATPAK
- install -D -m644 misc/linux_distrib/XIVLauncher.desktop "${FLATPAK_DEST}/share/applications/dev.goats.xivlauncher.desktop"
- install -D -m644 misc/linux_distrib/512.png "${FLATPAK_DEST}/share/icons/hicolor/512x512/apps/xivlauncher.png"
- install -D -m644 dev.goats.xivlauncher.appdata.xml "${FLATPAK_DEST}/share/metainfo/dev.goats.xivlauncher.appdata.xml"
- ln -s "${FLATPAK_DEST}/opt/XIVLauncher/XIVLauncher.Core" "${FLATPAK_DEST}/bin/xivlauncher"
buildsystem: simple
name: xivlauncher
sources:
- commit: 12e550b7d3197b2b4122bde275717755c96aafac
tag: 1.1.1
type: git
url: https://github.com/goatcorp/XIVLauncher.Core.git
- dest: nuget-sources
dest-filename: microsoft.aspnetcore.app.runtime.linux-x64.6.0.1.nupkg
sha512: 865af2ac328070403202eb5f0c436abbf8edb3fd484dec92b4c0cd6d42d36c8c7e396bc9bfd13cd0b6f877baf72b3fbfb0b425a794711dbab4b0297b20143ce5
type: file
url: https://api.nuget.org/v3-flatcontainer/microsoft.aspnetcore.app.runtime.linux-x64/6.0.1/microsoft.aspnetcore.app.runtime.linux-x64.6.0.1.nupkg
- dest: nuget-sources
sha512: 01d0e6c885a357270dabb65878deed2c147841297d8688a543b7605f4704d2507c70f86f825a59a975ff7789a4b74677262947fc97a7a25f23556292266b50ef
type: file
url: https://api.nuget.org/v3-flatcontainer/microsoft.netcore.app.runtime.linux-x64/6.0.1/microsoft.netcore.app.runtime.linux-x64.6.0.1.nupkg
- path: dev.goats.xivlauncher.appdata.xml
type: file
- nuget-dependencies.json
# xivlauncher
- name: xivlauncher
build-commands:
- install -d "${FLATPAK_DEST}/opt/XIVLauncher/"
- install -D -m644 XIVLauncher.desktop "${FLATPAK_DEST}/share/applications/dev.goats.xivlauncher.desktop"
- install -D -m644 512.png "${FLATPAK_DEST}/share/icons/hicolor/512x512/apps/xivlauncher.png"
- install -D -m644 dev.goats.xivlauncher.appdata.xml "${FLATPAK_DEST}/share/metainfo/dev.goats.xivlauncher.appdata.xml"
- install -D start.sh ${FLATPAK_DEST}/bin/start.sh
- cargo --offline fetch --manifest-path Cargo.toml --verbose
- cargo --offline build --release --no-default-features --verbose # --no-default-features disables XLMs self-updater for better security.
- install -D target/release/xlm ${FLATPAK_DEST}/bin/xlm
buildsystem: simple
build-options:
env:
CARGO_HOME: /run/build/xivlauncher/cargo
sources:
- commit: c09345087ab0fb95088bdf7b45c9a9694041237e
tag: v0.3.6
type: git
url: https://github.com/Blooym/XLM.git
- type: file
path: ./distrib/512.png
- type: file
path: ./distrib/start.sh
- type: file
path: distrib/XIVLauncher.desktop
- path: dev.goats.xivlauncher.appdata.xml
type: file
- generated-sources.json
- shared-modules/SDL2/SDL2-with-libdecor.json
# gamemode
- name: gamemode
buildsystem: meson
config-opts:
- -Dwith-examples=false
- -Dwith-util=false
- -Dwith-sd-bus-provider=no-daemon
sources:
- commit: c54d6d4243b0dd0afcb49f2c9836d432da171a2b
tag: 1.8.2
type: git
url: https://github.com/FeralInteractive/gamemode.git
x-checker-data:
type: git
# libsecret
- name: libsecret
buildsystem: meson
cleanup:
- /bin
- /include
- /lib/pkgconfig
- /share/gir-1.0
- /share/man
config-opts:
- -Dmanpage=false
- -Dvapi=false
- -Dgtk_doc=false
sources:
- sha256: 8583e10179456ae2c83075d95455f156dc08db6278b32bf4bd61819335a30e3a
type: archive
url: https://download.gnome.org/sources/libsecret/0.19/libsecret-0.19.1.tar.xz
rename-icon: xivlauncher
runtime: org.freedesktop.Platform
runtime-version: '23.08'
runtime-version: "24.08"
sdk: org.freedesktop.Sdk
sdk-extensions:
- org.freedesktop.Sdk.Extension.dotnet8
- org.freedesktop.Sdk.Extension.rust-stable
Binary file added distrib/512.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 9 additions & 0 deletions distrib/XIVLauncher.desktop
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
[Desktop Entry]
Name=XIVLauncher
Comment=Custom launcher for the most critically acclaimed MMO
Exec=start.sh
Icon=xivlauncher
Terminal=false
Type=Application
Categories=Game;
StartupWMClass=XIVLauncher.Core
1 change: 1 addition & 0 deletions distrib/start.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
xlm launch --run-as-steam-compat-tool=false --xlcore-release-asset XIVLauncher.Core-flatpak.tar.gz $@
Loading