332 lines
13 KiB
JSON
332 lines
13 KiB
JSON
{
|
|
"app-id": "org.suyu_emu.suyu",
|
|
"runtime": "org.kde.Platform",
|
|
"runtime-version": "5.15-23.08",
|
|
"sdk": "org.kde.Sdk",
|
|
"base": "io.qt.qtwebengine.BaseApp",
|
|
"base-version": "5.15-23.08",
|
|
"command": "suyu-launcher",
|
|
"finish-args": [
|
|
"--device=all",
|
|
"--socket=fallback-x11",
|
|
"--socket=wayland",
|
|
"--socket=pulseaudio",
|
|
"--share=network",
|
|
"--share=ipc",
|
|
"--filesystem=xdg-run/app/com.discordapp.Discord:ro",
|
|
"--filesystem=home:ro",
|
|
"--filesystem=/run/media:ro",
|
|
"--talk-name=org.freedesktop.login1.Manager",
|
|
"--env=QTWEBENGINEPROCESS_PATH=/app/bin/QtWebEngineProcess"
|
|
],
|
|
"cleanup": [
|
|
"/include",
|
|
"/bin/glslang",
|
|
"/bin/glslangValidator",
|
|
"/bin/zip*",
|
|
"/bin/zstd*",
|
|
"/bin/spirv-*",
|
|
"/bin/sdl2-config",
|
|
"/lib/pkgconfig",
|
|
"/lib/cmake",
|
|
"/share/doc",
|
|
"/share/man",
|
|
"/src",
|
|
"*.a",
|
|
"*.la"
|
|
],
|
|
"cleanup-commands": [
|
|
"/app/cleanup-BaseApp.sh"
|
|
],
|
|
"modules": [
|
|
"shared-modules/libusb/libusb.json",
|
|
{
|
|
"name": "libzip",
|
|
"buildsystem": "cmake-ninja",
|
|
"config-opts": [
|
|
"-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON",
|
|
"-DCMAKE_BUILD_TYPE=RelWithDebInfo"
|
|
],
|
|
"sources": [
|
|
{
|
|
"type": "archive",
|
|
"url": "https://github.com/nih-at/libzip/archive/v1.10.1.tar.gz",
|
|
"sha256": "d56d857d1c3ad4a7f3a4c01a51c6a6e5530e35ab93503f62276e8ba2b306186a",
|
|
"x-checker-data": {
|
|
"type": "anitya",
|
|
"project-id": 10649,
|
|
"url-template": "https://github.com/nih-at/libzip/archive/v$version.tar.gz"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "zstd",
|
|
"buildsystem": "meson",
|
|
"subdir": "build/meson",
|
|
"config-opts": [
|
|
"-Dbin_programs=false",
|
|
"-Dbin_contrib=false"
|
|
],
|
|
"sources": [
|
|
{
|
|
"type": "archive",
|
|
"url": "https://github.com/facebook/zstd/releases/download/v1.5.5/zstd-1.5.5.tar.gz",
|
|
"sha256": "9c4396cc829cfae319a6e2615202e82aad41372073482fce286fac78646d3ee4",
|
|
"x-checker-data": {
|
|
"type": "anitya",
|
|
"project-id": 12083,
|
|
"stable-only": true,
|
|
"url-template": "https://github.com/facebook/zstd/releases/download/v$version/zstd-$version.tar.gz"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "fmt",
|
|
"buildsystem": "cmake-ninja",
|
|
"config-opts": [
|
|
"-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON",
|
|
"-DFMT_TEST=OFF"
|
|
],
|
|
"sources": [
|
|
{
|
|
"type": "archive",
|
|
"url": "https://github.com/fmtlib/fmt/releases/download/10.2.1/fmt-10.2.1.zip",
|
|
"sha256": "312151a2d13c8327f5c9c586ac6cf7cddc1658e8f53edae0ec56509c8fa516c9",
|
|
"x-checker-data": {
|
|
"type": "anitya",
|
|
"project-id": 11526,
|
|
"versions": {
|
|
"<": "11.0.0"
|
|
},
|
|
"url-template": "https://github.com/fmtlib/fmt/releases/download/$version/fmt-$version.zip"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "glslang",
|
|
"buildsystem": "cmake-ninja",
|
|
"config-opts": [
|
|
"-DCMAKE_BUILD_TYPE=Release"
|
|
],
|
|
"sources": [
|
|
{
|
|
"type": "archive",
|
|
"url": "https://github.com/KhronosGroup/glslang/archive/14.0.0.tar.gz",
|
|
"sha256": "80bbb916a23e94ea9cbfb1acb5d1a44a7e0c9613bcf5b5947c03f2273bdc92b0",
|
|
"x-checker-data": {
|
|
"type": "anitya",
|
|
"stable-only": true,
|
|
"project-id": 205796,
|
|
"url-template": "https://github.com/KhronosGroup/glslang/archive/$version.tar.gz"
|
|
}
|
|
},
|
|
{
|
|
"type": "archive",
|
|
"url": "https://github.com/KhronosGroup/SPIRV-Tools/archive/refs/tags/sdk-1.3.261.1.tar.gz",
|
|
"sha256": "ead95c626ad482882a141d1aa0ce47b9453871f72c42c0b28d39c82f60a52008",
|
|
"dest": "External/spirv-tools",
|
|
"x-checker-data": {
|
|
"type": "anitya",
|
|
"stable-only": true,
|
|
"project-id": 334920,
|
|
"url-template": "https://github.com/KhronosGroup/SPIRV-Tools/archive/refs/tags/sdk-$version.tar.gz"
|
|
}
|
|
},
|
|
{
|
|
"type": "archive",
|
|
"url": "https://github.com/KhronosGroup/SPIRV-Headers/archive/refs/tags/sdk-1.3.261.1.tar.gz",
|
|
"sha256": "32b4c6ae6a2fa9b56c2c17233c8056da47e331f76e117729925825ea3e77a739",
|
|
"dest": "External/spirv-tools/external/spirv-headers",
|
|
"x-checker-data": {
|
|
"type": "anitya",
|
|
"stable-only": true,
|
|
"project-id": 334920,
|
|
"url-template": "https://github.com/KhronosGroup/SPIRV-Headers/archive/refs/tags/sdk-$version.tar.gz"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "catch2",
|
|
"buildsystem": "cmake-ninja",
|
|
"config-opts": [
|
|
"-DCMAKE_BUILD_TYPE=Release",
|
|
"-DCATCH_INSTALL_EXTRAS=ON",
|
|
"-DCATCH_BUILD_TESTING=OFF"
|
|
],
|
|
"builddir": true,
|
|
"sources": [
|
|
{
|
|
"type": "archive",
|
|
"url": "https://github.com/catchorg/Catch2/archive/v3.5.3.tar.gz",
|
|
"sha256": "8d723b0535c94860ef8cf6231580fa47d67a3416757ecb10639e40d748ab6c71",
|
|
"x-checker-data": {
|
|
"type": "anitya",
|
|
"stable-only": true,
|
|
"versions": {
|
|
"<": "4.0.0"
|
|
},
|
|
"project-id": 7680,
|
|
"url-template": "https://github.com/catchorg/Catch2/archive/v$version.tar.gz"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "nlohmann-json",
|
|
"buildsystem": "cmake-ninja",
|
|
"config-opts": [
|
|
"-DCMAKE_BUILD_TYPE=Release",
|
|
"-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON",
|
|
"-DJSON_BuildTests=OFF"
|
|
],
|
|
"sources": [
|
|
{
|
|
"type": "archive",
|
|
"url": "https://github.com/nlohmann/json/archive/v3.11.3.tar.gz",
|
|
"sha256": "0d8ef5af7f9794e3263480193c491549b2ba6cc74bb018906202ada498a79406",
|
|
"x-checker-data": {
|
|
"type": "anitya",
|
|
"project-id": 11152,
|
|
"url-template": "https://github.com/nlohmann/json/archive/v$version.tar.gz"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "boost",
|
|
"buildsystem": "simple",
|
|
"build-commands": [
|
|
"./bootstrap.sh --with-libraries=context,container,system,headers",
|
|
"./b2 -j $FLATPAK_BUILDER_N_JOBS install --prefix=/app"
|
|
],
|
|
"sources": [
|
|
{
|
|
"type": "archive",
|
|
"url": "https://boostorg.jfrog.io/artifactory/main/release/1.84.0/source/boost_1_84_0.tar.bz2",
|
|
"sha256": "cc4b893acf645c9d4b698e9a0f08ca8846aa5d6c68275c14c3e7949c24109454",
|
|
"x-checker-data": {
|
|
"type": "anitya",
|
|
"project-id": 6845,
|
|
"url-template": "https://boostorg.jfrog.io/artifactory/main/release/$version/source/boost_${version0}_${version1}_${version2}.tar.bz2"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "nv-codec-headers",
|
|
"make-install-args": [
|
|
"PREFIX=/app"
|
|
],
|
|
"no-autogen": true,
|
|
"cleanup": [
|
|
"*"
|
|
],
|
|
"sources": [
|
|
{
|
|
"type": "git",
|
|
"url": "https://git.videolan.org/git/ffmpeg/nv-codec-headers.git",
|
|
"tag": "n12.1.14.0",
|
|
"commit": "1889e62e2d35ff7aa9baca2bceb14f053785e6f1",
|
|
"x-checker-data": {
|
|
"type": "git",
|
|
"tag-pattern": "^n([\\d.]+)$"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "gamemode",
|
|
"buildsystem": "meson",
|
|
"config-opts": [
|
|
"-Dwith-sd-bus-provider=no-daemon",
|
|
"-Dwith-examples=false"
|
|
],
|
|
"sources": [
|
|
{
|
|
"type": "archive",
|
|
"url": "https://github.com/FeralInteractive/gamemode/releases/download/1.8.1/gamemode-1.8.1.tar.xz",
|
|
"sha256": "cdb117d05d65dbd03c0bd2104df874a1f878db8f23cc4d55bfa44e832482269e",
|
|
"x-checker-data": {
|
|
"type": "anitya",
|
|
"project-id": 17418,
|
|
"stable-only": true,
|
|
"url-template": "https://github.com/FeralInteractive/gamemode/releases/download/$version/gamemode-$version.tar.xz"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "suyu",
|
|
"buildsystem": "cmake-ninja",
|
|
"builddir": true,
|
|
"config-opts": [
|
|
"-DCMAKE_BUILD_TYPE=RelWithDebInfo",
|
|
"-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON",
|
|
"-DENABLE_QT_TRANSLATION=ON",
|
|
"-DYUZU_ENABLE_COMPATIBILITY_REPORTING=ON",
|
|
"-DENABLE_COMPATIBILITY_LIST_DOWNLOAD=OFF",
|
|
"-DYUZU_USE_QT_WEB_ENGINE=ON",
|
|
"-DYUZU_USE_BUNDLED_FFMPEG=ON",
|
|
"-DBUILD_TAG=dev",
|
|
"-DBUILD_REPOSITORY=suyu-emu/suyu"
|
|
],
|
|
"build-options": {
|
|
"env": {
|
|
"TITLEBARFORMATIDLE": "suyu | {}-flatpak",
|
|
"TITLEBARFORMATRUNNING": "suyu | {}-flatpak | {}"
|
|
},
|
|
"arch": {
|
|
"aarch64": {
|
|
"config-opts": [
|
|
"-DENABLE_OPENGL=OFF"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"cleanup": [
|
|
"/share/man",
|
|
"/share/pixmaps"
|
|
],
|
|
"post-install": [
|
|
"install -Dm755 ../suyu-launcher.sh /app/bin/suyu-launcher",
|
|
"install -Dm644 ../org.suyu_emu.suyu.metainfo.xml /app/share/metainfo/org.suyu_emu.suyu.metainfo.xml",
|
|
"install -Dm644 ../org.suyu_emu.suyu.svg /app/share/icons/hicolor/scalable/apps/org.suyu_emu.suyu.svg",
|
|
"desktop-file-edit --set-key StartupWMClass --set-value suzu --set-key Exec --set-value suyu-launcher /app/share/applications/org.suyu_emu.suyu.desktop",
|
|
"rm -rf /app/share/appdata"
|
|
],
|
|
"sources": [
|
|
{
|
|
"type": "git",
|
|
"url": "https://gitlab.com/suyu-emu/suyu.git",
|
|
"tag": "dev",
|
|
"disable-shallow-clone": true,
|
|
"x-checker-data": {
|
|
"type": "git",
|
|
"tag-pattern": "^(dev-0-\\d+)$"
|
|
}
|
|
},
|
|
{
|
|
"type": "file",
|
|
"path": "org.suyu_emu.suyu.metainfo.xml"
|
|
},
|
|
{
|
|
"type": "file",
|
|
"path": "org.suyu_emu.suyu.svg"
|
|
},
|
|
{
|
|
"type": "file",
|
|
"path": "suyu-launcher.sh"
|
|
},
|
|
{
|
|
"type": "file",
|
|
"path": "compatibility_list.json",
|
|
"dest": "dist/compatibility_list"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|