mirror of
https://github.com/RetroDECK/Duckstation.git
synced 2024-11-24 14:45:41 +00:00
CI/Flatpak: Switch from JSON -> YAML
Actually lets me have comments...
This commit is contained in:
parent
0517aef5bd
commit
cabba81a76
6
.github/workflows/rolling-release.yml
vendored
6
.github/workflows/rolling-release.yml
vendored
|
@ -295,14 +295,14 @@ jobs:
|
||||||
run: flatpak-builder-lint appstream scripts/flatpak/org.duckstation.DuckStation.metainfo.xml
|
run: flatpak-builder-lint appstream scripts/flatpak/org.duckstation.DuckStation.metainfo.xml
|
||||||
|
|
||||||
- name: Validate manifest
|
- name: Validate manifest
|
||||||
run: flatpak-builder-lint manifest scripts/flatpak/org.duckstation.DuckStation.json
|
run: flatpak-builder-lint manifest scripts/flatpak/org.duckstation.DuckStation.yaml
|
||||||
|
|
||||||
- name: Build Flatpak
|
- name: Build Flatpak
|
||||||
uses: flathub-infra/flatpak-github-actions/flatpak-builder@23796715b3dfa4c86ddf50cf29c3cc8b3c82dca8
|
uses: flathub-infra/flatpak-github-actions/flatpak-builder@23796715b3dfa4c86ddf50cf29c3cc8b3c82dca8
|
||||||
with:
|
with:
|
||||||
bundle: duckstation-x64.flatpak
|
bundle: duckstation-x64.flatpak
|
||||||
upload-artifact: false
|
upload-artifact: false
|
||||||
manifest-path: scripts/flatpak/org.duckstation.DuckStation.json
|
manifest-path: scripts/flatpak/org.duckstation.DuckStation.yaml
|
||||||
arch: x86_64
|
arch: x86_64
|
||||||
build-bundle: true
|
build-bundle: true
|
||||||
verbose: true
|
verbose: true
|
||||||
|
@ -310,7 +310,7 @@ jobs:
|
||||||
branch: stable
|
branch: stable
|
||||||
cache: true
|
cache: true
|
||||||
restore-cache: true
|
restore-cache: true
|
||||||
cache-key: flatpak-x64-${{ hashFiles('scripts/flatpak/**/*.json') }}
|
cache-key: flatpak-x64-${{ hashFiles('scripts/flatpak/**/*.yaml') }}
|
||||||
|
|
||||||
- name: Push to Flathub stable
|
- name: Push to Flathub stable
|
||||||
if: github.ref == 'refs/heads/dev'
|
if: github.ref == 'refs/heads/dev'
|
||||||
|
|
|
@ -1,30 +0,0 @@
|
||||||
{
|
|
||||||
"name": "sdl2",
|
|
||||||
"buildsystem": "cmake-ninja",
|
|
||||||
"builddir": true,
|
|
||||||
"config-opts": [
|
|
||||||
"-DBUILD_SHARED_LIBS=ON",
|
|
||||||
"-DSDL_SHARED=ON",
|
|
||||||
"-DSDL_STATIC=OFF",
|
|
||||||
"-DSDL_TESTS=OFF"
|
|
||||||
],
|
|
||||||
"build-options": {
|
|
||||||
"strip": true
|
|
||||||
},
|
|
||||||
"sources": [
|
|
||||||
{
|
|
||||||
"type": "archive",
|
|
||||||
"url": "https://github.com/libsdl-org/SDL/releases/download/release-2.30.6/SDL2-2.30.6.tar.gz",
|
|
||||||
"sha256": "c6ef64ca18a19d13df6eb22df9aff19fb0db65610a74cc81dae33a82235cacd4"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"cleanup": [
|
|
||||||
"/bin",
|
|
||||||
"/include",
|
|
||||||
"/lib/*.a",
|
|
||||||
"/lib/*.la",
|
|
||||||
"/lib/cmake",
|
|
||||||
"/lib/pkgconfig",
|
|
||||||
"/share/aclocal"
|
|
||||||
]
|
|
||||||
}
|
|
23
scripts/flatpak/modules/20-sdl2.yaml
Normal file
23
scripts/flatpak/modules/20-sdl2.yaml
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
name: sdl2
|
||||||
|
buildsystem: cmake-ninja
|
||||||
|
builddir: true
|
||||||
|
config-opts:
|
||||||
|
- "-DCMAKE_BUILD_TYPE=Release"
|
||||||
|
- "-DBUILD_SHARED_LIBS=ON"
|
||||||
|
- "-DSDL_SHARED=ON"
|
||||||
|
- "-DSDL_STATIC=OFF"
|
||||||
|
- "-DSDL_TESTS=OFF"
|
||||||
|
build-options:
|
||||||
|
strip: true
|
||||||
|
sources:
|
||||||
|
- type: archive
|
||||||
|
url: "https://github.com/libsdl-org/SDL/releases/download/release-2.30.6/SDL2-2.30.6.tar.gz"
|
||||||
|
sha256: "c6ef64ca18a19d13df6eb22df9aff19fb0db65610a74cc81dae33a82235cacd4"
|
||||||
|
cleanup:
|
||||||
|
- /bin
|
||||||
|
- /include
|
||||||
|
- /lib/*.a
|
||||||
|
- /lib/*.la
|
||||||
|
- /lib/cmake
|
||||||
|
- /lib/pkgconfig
|
||||||
|
- /share/aclocal
|
|
@ -1,21 +0,0 @@
|
||||||
{
|
|
||||||
"name": "libbacktrace",
|
|
||||||
"buildsystem": "autotools",
|
|
||||||
"no-autogen": true,
|
|
||||||
"build-options": {
|
|
||||||
"strip": false,
|
|
||||||
"no-debuginfo": true
|
|
||||||
},
|
|
||||||
"sources": [
|
|
||||||
{
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/ianlancetaylor/libbacktrace.git",
|
|
||||||
"commit": "ad106d5fdd5d960bd33fae1c48a351af567fd075"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"cleanup": [
|
|
||||||
"/include",
|
|
||||||
"/lib/*.a",
|
|
||||||
"/lib/*.la"
|
|
||||||
]
|
|
||||||
}
|
|
14
scripts/flatpak/modules/21-libbacktrace.yaml
Normal file
14
scripts/flatpak/modules/21-libbacktrace.yaml
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
name: libbacktrace
|
||||||
|
buildsystem: autotools
|
||||||
|
no-autogen: true
|
||||||
|
build-options:
|
||||||
|
strip: false
|
||||||
|
no-debuginfo: true
|
||||||
|
sources:
|
||||||
|
- type: git
|
||||||
|
url: "https://github.com/ianlancetaylor/libbacktrace.git"
|
||||||
|
commit: "ad106d5fdd5d960bd33fae1c48a351af567fd075"
|
||||||
|
cleanup:
|
||||||
|
- /include
|
||||||
|
- /lib/*.a
|
||||||
|
- /lib/*.la
|
|
@ -1,29 +0,0 @@
|
||||||
{
|
|
||||||
"name": "shaderc",
|
|
||||||
"buildsystem": "cmake-ninja",
|
|
||||||
"builddir": true,
|
|
||||||
"config-opts": [
|
|
||||||
"-DCMAKE_BUILD_TYPE=Release",
|
|
||||||
"-DSHADERC_SKIP_TESTS=ON",
|
|
||||||
"-DSHADERC_SKIP_EXAMPLES=ON",
|
|
||||||
"-DSHADERC_SKIP_COPYRIGHT_CHECK=ON"
|
|
||||||
],
|
|
||||||
"build-options": {
|
|
||||||
"strip": true
|
|
||||||
},
|
|
||||||
"sources": [
|
|
||||||
{
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/stenzek/shaderc.git",
|
|
||||||
"commit": "feb2460bf3a504d67011246edeb810c45ea58826"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"cleanup": [
|
|
||||||
"/bin",
|
|
||||||
"/include",
|
|
||||||
"/lib/*.a",
|
|
||||||
"/lib/*.la",
|
|
||||||
"/lib/cmake",
|
|
||||||
"/lib/pkgconfig"
|
|
||||||
]
|
|
||||||
}
|
|
21
scripts/flatpak/modules/22-shaderc.yaml
Normal file
21
scripts/flatpak/modules/22-shaderc.yaml
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
name: shaderc
|
||||||
|
buildsystem: cmake-ninja
|
||||||
|
builddir: true
|
||||||
|
config-opts:
|
||||||
|
- "-DCMAKE_BUILD_TYPE=Release"
|
||||||
|
- "-DSHADERC_SKIP_TESTS=ON"
|
||||||
|
- "-DSHADERC_SKIP_EXAMPLES=ON"
|
||||||
|
- "-DSHADERC_SKIP_COPYRIGHT_CHECK=ON"
|
||||||
|
build-options:
|
||||||
|
strip: true
|
||||||
|
sources:
|
||||||
|
- type: git
|
||||||
|
url: "https://github.com/stenzek/shaderc.git"
|
||||||
|
commit: "feb2460bf3a504d67011246edeb810c45ea58826"
|
||||||
|
cleanup:
|
||||||
|
- /bin
|
||||||
|
- /include
|
||||||
|
- /lib/*.a
|
||||||
|
- /lib/*.la
|
||||||
|
- /lib/cmake
|
||||||
|
- /lib/pkgconfig
|
|
@ -1,39 +0,0 @@
|
||||||
{
|
|
||||||
"name": "spirv-cross",
|
|
||||||
"buildsystem": "cmake-ninja",
|
|
||||||
"builddir": true,
|
|
||||||
"config-opts": [
|
|
||||||
"-DCMAKE_BUILD_TYPE=Release",
|
|
||||||
"-DSPIRV_CROSS_SHARED=ON",
|
|
||||||
"-DSPIRV_CROSS_STATIC=OFF",
|
|
||||||
"-DSPIRV_CROSS_CLI=OFF",
|
|
||||||
"-DSPIRV_CROSS_ENABLE_TESTS=OFF",
|
|
||||||
"-DSPIRV_CROSS_ENABLE_GLSL=ON",
|
|
||||||
"-DSPIRV_CROSS_ENABLE_HLSL=OFF",
|
|
||||||
"-DSPIRV_CROSS_ENABLE_MSL=OFF",
|
|
||||||
"-DSPIRV_CROSS_ENABLE_CPP=OFF",
|
|
||||||
"-DSPIRV_CROSS_ENABLE_REFLECT=OFF",
|
|
||||||
"-DSPIRV_CROSS_ENABLE_C_API=ON",
|
|
||||||
"-DSPIRV_CROSS_ENABLE_UTIL=ON"
|
|
||||||
],
|
|
||||||
"build-options": {
|
|
||||||
"strip": true
|
|
||||||
},
|
|
||||||
"sources": [
|
|
||||||
{
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/KhronosGroup/SPIRV-Cross.git",
|
|
||||||
"tag": "vulkan-sdk-1.3.290.0",
|
|
||||||
"commit": "5d127b917f080c6f052553c47170ec0ba702e54f"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"cleanup": [
|
|
||||||
"/bin",
|
|
||||||
"/include",
|
|
||||||
"/lib/*.a",
|
|
||||||
"/lib/*.la",
|
|
||||||
"/lib/cmake",
|
|
||||||
"/lib/pkgconfig",
|
|
||||||
"/share"
|
|
||||||
]
|
|
||||||
}
|
|
31
scripts/flatpak/modules/23-spirv-cross.yaml
Normal file
31
scripts/flatpak/modules/23-spirv-cross.yaml
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
name: spirv-cross
|
||||||
|
buildsystem: cmake-ninja
|
||||||
|
builddir: true
|
||||||
|
config-opts:
|
||||||
|
- "-DCMAKE_BUILD_TYPE=Release"
|
||||||
|
- "-DSPIRV_CROSS_SHARED=ON"
|
||||||
|
- "-DSPIRV_CROSS_STATIC=OFF"
|
||||||
|
- "-DSPIRV_CROSS_CLI=OFF"
|
||||||
|
- "-DSPIRV_CROSS_ENABLE_TESTS=OFF"
|
||||||
|
- "-DSPIRV_CROSS_ENABLE_GLSL=ON"
|
||||||
|
- "-DSPIRV_CROSS_ENABLE_HLSL=OFF"
|
||||||
|
- "-DSPIRV_CROSS_ENABLE_MSL=OFF"
|
||||||
|
- "-DSPIRV_CROSS_ENABLE_CPP=OFF"
|
||||||
|
- "-DSPIRV_CROSS_ENABLE_REFLECT=OFF"
|
||||||
|
- "-DSPIRV_CROSS_ENABLE_C_API=ON"
|
||||||
|
- "-DSPIRV_CROSS_ENABLE_UTIL=ON"
|
||||||
|
build-options:
|
||||||
|
strip: true
|
||||||
|
sources:
|
||||||
|
- type: git
|
||||||
|
url: "https://github.com/KhronosGroup/SPIRV-Cross.git"
|
||||||
|
tag: "vulkan-sdk-1.3.290.0"
|
||||||
|
commit: "5d127b917f080c6f052553c47170ec0ba702e54f"
|
||||||
|
cleanup:
|
||||||
|
- /bin
|
||||||
|
- /include
|
||||||
|
- /lib/*.a
|
||||||
|
- /lib/*.la
|
||||||
|
- /lib/cmake
|
||||||
|
- /lib/pkgconfig
|
||||||
|
- /share
|
|
@ -1,36 +0,0 @@
|
||||||
{
|
|
||||||
"name": "cpuinfo",
|
|
||||||
"buildsystem": "cmake-ninja",
|
|
||||||
"builddir": true,
|
|
||||||
"config-opts": [
|
|
||||||
"-DCMAKE_BUILD_TYPE=Release",
|
|
||||||
"-DCPUINFO_LIBRARY_TYPE=shared",
|
|
||||||
"-DCPUINFO_RUNTIME_TYPE=shared",
|
|
||||||
"-DCPUINFO_LOG_LEVEL=error",
|
|
||||||
"-DCPUINFO_LOG_TO_STDIO=ON",
|
|
||||||
"-DCPUINFO_BUILD_TOOLS=OFF",
|
|
||||||
"-DCPUINFO_BUILD_UNIT_TESTS=OFF",
|
|
||||||
"-DCPUINFO_BUILD_MOCK_TESTS=OFF",
|
|
||||||
"-DCPUINFO_BUILD_BENCHMARKS=OFF",
|
|
||||||
"-DUSE_SYSTEM_LIBS=ON"
|
|
||||||
],
|
|
||||||
"build-options": {
|
|
||||||
"strip": true
|
|
||||||
},
|
|
||||||
"sources": [
|
|
||||||
{
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/stenzek/cpuinfo.git",
|
|
||||||
"commit": "7524ad504fdcfcf75a18a133da6abd75c5d48053"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"cleanup": [
|
|
||||||
"/bin",
|
|
||||||
"/include",
|
|
||||||
"/lib/*.a",
|
|
||||||
"/lib/*.la",
|
|
||||||
"/lib/cmake",
|
|
||||||
"/lib/pkgconfig",
|
|
||||||
"/share"
|
|
||||||
]
|
|
||||||
}
|
|
28
scripts/flatpak/modules/24-cpuinfo.yaml
Normal file
28
scripts/flatpak/modules/24-cpuinfo.yaml
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
name: cpuinfo
|
||||||
|
buildsystem: cmake-ninja
|
||||||
|
builddir: true
|
||||||
|
config-opts:
|
||||||
|
- "-DCMAKE_BUILD_TYPE=Release"
|
||||||
|
- "-DCPUINFO_LIBRARY_TYPE=shared"
|
||||||
|
- "-DCPUINFO_RUNTIME_TYPE=shared"
|
||||||
|
- "-DCPUINFO_LOG_LEVEL=error"
|
||||||
|
- "-DCPUINFO_LOG_TO_STDIO=ON"
|
||||||
|
- "-DCPUINFO_BUILD_TOOLS=OFF"
|
||||||
|
- "-DCPUINFO_BUILD_UNIT_TESTS=OFF"
|
||||||
|
- "-DCPUINFO_BUILD_MOCK_TESTS=OFF"
|
||||||
|
- "-DCPUINFO_BUILD_BENCHMARKS=OFF"
|
||||||
|
- "-DUSE_SYSTEM_LIBS=ON"
|
||||||
|
build-options:
|
||||||
|
strip: true
|
||||||
|
sources:
|
||||||
|
- type: git
|
||||||
|
url: "https://github.com/stenzek/cpuinfo.git"
|
||||||
|
commit: "7524ad504fdcfcf75a18a133da6abd75c5d48053"
|
||||||
|
cleanup:
|
||||||
|
- /bin
|
||||||
|
- /include
|
||||||
|
- /lib/*.a
|
||||||
|
- /lib/*.la
|
||||||
|
- /lib/cmake
|
||||||
|
- /lib/pkgconfig
|
||||||
|
- /share
|
|
@ -1,28 +0,0 @@
|
||||||
{
|
|
||||||
"name": "discord-rpc",
|
|
||||||
"buildsystem": "cmake-ninja",
|
|
||||||
"builddir": true,
|
|
||||||
"config-opts": [
|
|
||||||
"-DCMAKE_BUILD_TYPE=Release",
|
|
||||||
"-DBUILD_SHARED_LIBS=ON"
|
|
||||||
],
|
|
||||||
"build-options": {
|
|
||||||
"strip": true
|
|
||||||
},
|
|
||||||
"sources": [
|
|
||||||
{
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/stenzek/discord-rpc.git",
|
|
||||||
"commit": "144f3a3f1209994d8d9e8a87964a989cb9911c1e"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"cleanup": [
|
|
||||||
"/bin",
|
|
||||||
"/include",
|
|
||||||
"/lib/*.a",
|
|
||||||
"/lib/*.la",
|
|
||||||
"/lib/cmake",
|
|
||||||
"/lib/pkgconfig",
|
|
||||||
"/share"
|
|
||||||
]
|
|
||||||
}
|
|
20
scripts/flatpak/modules/25-discord-rpc.yaml
Normal file
20
scripts/flatpak/modules/25-discord-rpc.yaml
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
name: discord-rpc
|
||||||
|
buildsystem: cmake-ninja
|
||||||
|
builddir: true
|
||||||
|
config-opts:
|
||||||
|
- "-DCMAKE_BUILD_TYPE=Release"
|
||||||
|
- "-DBUILD_SHARED_LIBS=ON"
|
||||||
|
build-options:
|
||||||
|
strip: true
|
||||||
|
sources:
|
||||||
|
- type: git
|
||||||
|
url: "https://github.com/stenzek/discord-rpc.git"
|
||||||
|
commit: "144f3a3f1209994d8d9e8a87964a989cb9911c1e"
|
||||||
|
cleanup:
|
||||||
|
- /bin
|
||||||
|
- /include
|
||||||
|
- /lib/*.a
|
||||||
|
- /lib/*.la
|
||||||
|
- /lib/cmake
|
||||||
|
- /lib/pkgconfig
|
||||||
|
- /share
|
|
@ -1,28 +0,0 @@
|
||||||
{
|
|
||||||
"name": "soundtouch",
|
|
||||||
"buildsystem": "cmake-ninja",
|
|
||||||
"builddir": true,
|
|
||||||
"config-opts": [
|
|
||||||
"-DCMAKE_BUILD_TYPE=Release",
|
|
||||||
"-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON"
|
|
||||||
],
|
|
||||||
"build-options": {
|
|
||||||
"strip": true
|
|
||||||
},
|
|
||||||
"sources": [
|
|
||||||
{
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/stenzek/soundtouch.git",
|
|
||||||
"commit": "463ade388f3a51da078dc9ed062bf28e4ba29da7"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"cleanup": [
|
|
||||||
"/bin",
|
|
||||||
"/include",
|
|
||||||
"/lib/*.a",
|
|
||||||
"/lib/*.la",
|
|
||||||
"/lib/cmake",
|
|
||||||
"/lib/pkgconfig",
|
|
||||||
"/share"
|
|
||||||
]
|
|
||||||
}
|
|
27
scripts/flatpak/modules/26-soundtouch.yaml
Normal file
27
scripts/flatpak/modules/26-soundtouch.yaml
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
name: soundtouch
|
||||||
|
buildsystem: cmake-ninja
|
||||||
|
builddir: true
|
||||||
|
config-opts:
|
||||||
|
- "-DCMAKE_BUILD_TYPE=Release"
|
||||||
|
|
||||||
|
# Use clang with LTO for speed.
|
||||||
|
- "-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON"
|
||||||
|
- "-DCMAKE_C_COMPILER=/usr/lib/sdk/llvm17/bin/clang"
|
||||||
|
- "-DCMAKE_CXX_COMPILER=/usr/lib/sdk/llvm17/bin/clang++"
|
||||||
|
- "-DCMAKE_EXE_LINKER_FLAGS_INIT=-fuse-ld=lld"
|
||||||
|
- "-DCMAKE_MODULE_LINKER_FLAGS_INIT=-fuse-ld=lld"
|
||||||
|
- "-DCMAKE_SHARED_LINKER_FLAGS_INIT=-fuse-ld=lld"
|
||||||
|
build-options:
|
||||||
|
strip: true
|
||||||
|
sources:
|
||||||
|
- type: git
|
||||||
|
url: "https://github.com/stenzek/soundtouch.git"
|
||||||
|
commit: "463ade388f3a51da078dc9ed062bf28e4ba29da7"
|
||||||
|
cleanup:
|
||||||
|
- /bin
|
||||||
|
- /include
|
||||||
|
- /lib/*.a
|
||||||
|
- /lib/*.la
|
||||||
|
- /lib/cmake
|
||||||
|
- /lib/pkgconfig
|
||||||
|
- /share
|
|
@ -1,67 +0,0 @@
|
||||||
{
|
|
||||||
"app-id": "org.duckstation.DuckStation",
|
|
||||||
"runtime": "org.kde.Platform",
|
|
||||||
"runtime-version": "6.7",
|
|
||||||
"sdk": "org.kde.Sdk",
|
|
||||||
"sdk-extensions": [
|
|
||||||
"org.freedesktop.Sdk.Extension.llvm17"
|
|
||||||
],
|
|
||||||
"command": "duckstation-qt",
|
|
||||||
"finish-args": [
|
|
||||||
"--device=all",
|
|
||||||
"--allow=bluetooth",
|
|
||||||
"--share=network",
|
|
||||||
"--share=ipc",
|
|
||||||
"--socket=x11",
|
|
||||||
"--socket=pulseaudio",
|
|
||||||
"--talk-name=org.freedesktop.ScreenSaver",
|
|
||||||
"--env=QT_QPA_PLATFORM=xcb"
|
|
||||||
],
|
|
||||||
"modules": [
|
|
||||||
"modules/20-sdl2.json",
|
|
||||||
"modules/21-libbacktrace.json",
|
|
||||||
"modules/22-shaderc.json",
|
|
||||||
"modules/23-spirv-cross.json",
|
|
||||||
"modules/24-cpuinfo.json",
|
|
||||||
"modules/25-discord-rpc.json",
|
|
||||||
"modules/26-soundtouch.json",
|
|
||||||
{
|
|
||||||
"name": "duckstation",
|
|
||||||
"buildsystem": "cmake-ninja",
|
|
||||||
"builddir": true,
|
|
||||||
"no-make-install": true,
|
|
||||||
"build-options": {
|
|
||||||
"strip": false,
|
|
||||||
"no-debuginfo": true,
|
|
||||||
"cflags": "",
|
|
||||||
"cflags-override": true,
|
|
||||||
"cxxflags": "",
|
|
||||||
"cxxflags-override": true,
|
|
||||||
"config-opts": [
|
|
||||||
"-DCMAKE_BUILD_TYPE=Release",
|
|
||||||
"-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON",
|
|
||||||
"-DBUILD_NOGUI_FRONTEND=OFF",
|
|
||||||
"-DBUILD_QT_FRONTEND=ON",
|
|
||||||
"-DBUILD_TESTS=OFF",
|
|
||||||
"-DCMAKE_C_COMPILER=/usr/lib/sdk/llvm17/bin/clang",
|
|
||||||
"-DCMAKE_CXX_COMPILER=/usr/lib/sdk/llvm17/bin/clang++",
|
|
||||||
"-DCMAKE_EXE_LINKER_FLAGS_INIT=-fuse-ld=lld",
|
|
||||||
"-DCMAKE_MODULE_LINKER_FLAGS_INIT=-fuse-ld=lld",
|
|
||||||
"-DCMAKE_SHARED_LINKER_FLAGS_INIT=-fuse-ld=lld"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"sources": [
|
|
||||||
{
|
|
||||||
"type": "dir",
|
|
||||||
"path": "../.."
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"post-install": [
|
|
||||||
"cp -a bin \"${FLATPAK_DEST}\"",
|
|
||||||
"install -Dm644 \"${FLATPAK_BUILDER_BUILDDIR}/scripts/org.duckstation.DuckStation.png\" \"${FLATPAK_DEST}/share/icons/hicolor/512x512/apps/org.duckstation.DuckStation.png\"",
|
|
||||||
"install -Dm644 \"${FLATPAK_BUILDER_BUILDDIR}/scripts/org.duckstation.DuckStation.desktop\" \"${FLATPAK_DEST}/share/applications/org.duckstation.DuckStation.desktop\"",
|
|
||||||
"install -Dm644 \"${FLATPAK_BUILDER_BUILDDIR}/scripts/flatpak/org.duckstation.DuckStation.metainfo.xml\" \"${FLATPAK_DEST}/share/metainfo/org.duckstation.DuckStation.metainfo.xml\""
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
82
scripts/flatpak/org.duckstation.DuckStation.yaml
Normal file
82
scripts/flatpak/org.duckstation.DuckStation.yaml
Normal file
|
@ -0,0 +1,82 @@
|
||||||
|
app-id: "org.duckstation.DuckStation"
|
||||||
|
runtime: "org.kde.Platform"
|
||||||
|
runtime-version: "6.7"
|
||||||
|
sdk: "org.kde.Sdk"
|
||||||
|
sdk-extensions:
|
||||||
|
- "org.freedesktop.Sdk.Extension.llvm17"
|
||||||
|
|
||||||
|
command: "duckstation-qt"
|
||||||
|
|
||||||
|
finish-args:
|
||||||
|
- "--device=all"
|
||||||
|
- "--allow=bluetooth"
|
||||||
|
- "--share=network"
|
||||||
|
- "--share=ipc"
|
||||||
|
- "--socket=pulseaudio"
|
||||||
|
- "--talk-name=org.freedesktop.ScreenSaver"
|
||||||
|
|
||||||
|
# Wayland is disabled due to various QtWayland issues, causing broken UI.
|
||||||
|
- "--socket=x11"
|
||||||
|
- "--env=QT_QPA_PLATFORM=xcb"
|
||||||
|
|
||||||
|
modules:
|
||||||
|
# Dependencies.
|
||||||
|
- "modules/20-sdl2.yaml"
|
||||||
|
- "modules/21-libbacktrace.yaml"
|
||||||
|
- "modules/22-shaderc.yaml"
|
||||||
|
- "modules/23-spirv-cross.yaml"
|
||||||
|
- "modules/24-cpuinfo.yaml"
|
||||||
|
- "modules/25-discord-rpc.yaml"
|
||||||
|
- "modules/26-soundtouch.yaml"
|
||||||
|
|
||||||
|
# Main module.
|
||||||
|
- name: duckstation
|
||||||
|
buildsystem: cmake-ninja
|
||||||
|
builddir: true
|
||||||
|
no-make-install: true
|
||||||
|
build-options:
|
||||||
|
# Preserve debug information, it is needed for backtraces.
|
||||||
|
strip: false
|
||||||
|
no-debuginfo: true
|
||||||
|
|
||||||
|
# Prevent flatpak defaults of fortify etc from creeping in.
|
||||||
|
cflags: ""
|
||||||
|
cflags-override: true
|
||||||
|
cxxflags: ""
|
||||||
|
cxxflags-override: true
|
||||||
|
|
||||||
|
config-opts:
|
||||||
|
# Flatpak build does not appear to default to Release.
|
||||||
|
- "-DCMAKE_BUILD_TYPE=Release"
|
||||||
|
|
||||||
|
# We're not running tests as part of the flatpak build.
|
||||||
|
- '-DBUILD_TESTS=OFF'
|
||||||
|
|
||||||
|
# Make sure we're using ThinLTO.
|
||||||
|
- "-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON"
|
||||||
|
- "-DCMAKE_C_COMPILER=/usr/lib/sdk/llvm17/bin/clang"
|
||||||
|
- "-DCMAKE_CXX_COMPILER=/usr/lib/sdk/llvm17/bin/clang++"
|
||||||
|
- "-DCMAKE_EXE_LINKER_FLAGS_INIT=-fuse-ld=lld"
|
||||||
|
- "-DCMAKE_MODULE_LINKER_FLAGS_INIT=-fuse-ld=lld"
|
||||||
|
- "-DCMAKE_SHARED_LINKER_FLAGS_INIT=-fuse-ld=lld"
|
||||||
|
sources:
|
||||||
|
- type: dir
|
||||||
|
path: ../..
|
||||||
|
|
||||||
|
post-install:
|
||||||
|
# Copy the binary distribution.
|
||||||
|
- "cp -a bin \"${FLATPAK_DEST}\""
|
||||||
|
|
||||||
|
# Manually copy desktop file/metadata, it's not done as part of the regular build.
|
||||||
|
- >-
|
||||||
|
install -Dm644
|
||||||
|
"${FLATPAK_BUILDER_BUILDDIR}/scripts/org.duckstation.DuckStation.png"
|
||||||
|
"${FLATPAK_DEST}/share/icons/hicolor/512x512/apps/org.duckstation.DuckStation.png"
|
||||||
|
- >-
|
||||||
|
install -Dm644
|
||||||
|
"${FLATPAK_BUILDER_BUILDDIR}/scripts/org.duckstation.DuckStation.desktop"
|
||||||
|
"${FLATPAK_DEST}/share/applications/org.duckstation.DuckStation.desktop"
|
||||||
|
- >-
|
||||||
|
install -Dm644
|
||||||
|
"${FLATPAK_BUILDER_BUILDDIR}/scripts/flatpak/org.duckstation.DuckStation.metainfo.xml"
|
||||||
|
"${FLATPAK_DEST}/share/metainfo/org.duckstation.DuckStation.metainfo.xml"
|
|
@ -31,6 +31,6 @@
|
||||||
<release version="@GIT_VERSION@" date="@GIT_DATE@" />
|
<release version="@GIT_VERSION@" date="@GIT_DATE@" />
|
||||||
</releases>
|
</releases>
|
||||||
<custom>
|
<custom>
|
||||||
<value key="flathub::manifest">https://raw.githubusercontent.com/stenzek/duckstation/@GIT_HASH@/scripts/flatpak/org.duckstation.DuckStation.json</value>
|
<value key="flathub::manifest">https://raw.githubusercontent.com/stenzek/duckstation/@GIT_HASH@/scripts/flatpak/org.duckstation.DuckStation.yaml</value>
|
||||||
</custom>
|
</custom>
|
||||||
</component>
|
</component>
|
||||||
|
|
Loading…
Reference in a new issue