Skip to content
Merged
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
17 changes: 17 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -332,6 +332,23 @@ jobs:

- name: Archive artifacts
uses: actions/upload-artifact@v4
if: runner.os == 'Windows'
with:
name: ${{ runner.os }}-package
path: ${{ steps.strings.outputs.build-output-dir }}/bin

flatpak:
name: "Flatpak"
runs-on: ubuntu-latest
container:
image: ghcr.io/flathub-infra/flatpak-github-actions:gnome-48
options: --privileged
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: flatpak/flatpak-github-actions/flatpak-builder@v6
with:
bundle: astra.flatpak
manifest-path: zone.xiv.novus.yml
cache-key: flatpak-builder-${{ github.sha }}
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ Here is an exhaustive list of tooling available here:

## Usage

There are no releases at the moment, but experimental builds are currently available for Windows and Linux via [GitHub Actions](https://github.com/redstrate/Novus/actions). Note that the Linux binaries may not be completely portable.
There are no releases at the moment, but we have Windows binaries and Flatpaks built for each commit via [GitHub Actions](https://github.com/redstrate/Novus/actions).

## Building

Expand Down
11 changes: 7 additions & 4 deletions extern/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,10 @@ add_subdirectory(tinygltf EXCLUDE_FROM_ALL)
add_subdirectory(imgui EXCLUDE_FROM_ALL)
add_subdirectory(dxbc EXCLUDE_FROM_ALL)

# For some reason, FFXIV uses a *32-bit* Lua compiler. We have to build it as 32-bit or else loading the bytecode fails.
add_compile_options(-m32)
add_link_options(-m32)
add_subdirectory(luadec51 EXCLUDE_FROM_ALL)
# TODO: Enable in the Flatpak, it's a bit annoying though as we would have to build it separately
if (NOT BUILD_FLATPAK)
# For some reason, FFXIV uses a *32-bit* Lua compiler. We have to build it as 32-bit or else loading the bytecode fails.
add_compile_options(-m32)
add_link_options(-m32)
add_subdirectory(luadec51 EXCLUDE_FROM_ALL)
endif()
6 changes: 4 additions & 2 deletions parts/luab/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ target_link_libraries(luabpart
Qt6::Widgets)
target_include_directories(luabpart PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
target_compile_definitions(luabpart PRIVATE TRANSLATION_DOMAIN="novus")
add_dependencies(luabpart luadec)
if (NOT BUILD_FLATPAK)
add_dependencies(luabpart luadec)
endif()

add_library(Novus::LuabPart ALIAS luabpart)
add_library(Novus::LuabPart ALIAS luabpart)
11 changes: 11 additions & 0 deletions zone.xiv.novus.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ runtime-version: '6.8'
sdk: org.kde.Sdk
sdk-extensions:
- org.freedesktop.Sdk.Extension.rust-stable
- org.freedesktop.Sdk.Compat.i386
- org.freedesktop.Sdk.Extension.toolchain-i386
command: novus-launcher
build-options:
append-path: /usr/lib/sdk/rust-stable/bin
Expand All @@ -20,6 +22,11 @@ finish-args:
- --socket=wayland
- --share=network
- --device=dri
- --allow=multiarch
add-extensions:
org.freedesktop.Platform.Compat.i386:
directory: lib/i386-linux-gnu
version: '24.08'
modules:
- name: qt6-qthttpserver
buildsystem: cmake-ninja
Expand All @@ -34,12 +41,16 @@ modules:
sha256: 2d9517c1049a5b330831f7adc1de26d8db5357fdebe616c0a29e9ae1d8900692
- name: glm
buildsystem: cmake-ninja
config-opts:
- -DBUILD_TESTING=OFF
sources:
- type: archive
url: https://github.com/g-truc/glm/archive/efec5db081e3aad807d0731e172ac597f6a39447.zip
sha256: e7a1abc208278cc3f0dba59c5170d83863b3375f98136d588b8beb74825e503c
- name: json
buildsystem: cmake-ninja
config-opts:
- -DBUILD_TESTING=OFF
sources:
- type: archive
url: "https://github.com/nlohmann/json/archive/refs/tags/v3.11.3.tar.gz"
Expand Down