flatpak/org.suyu_emu.suyu.json

361 lines
14 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": "rapidjson",
"buildsystem": "cmake-ninja",
"config-opts": [
"-DCMAKE_BUILD_TYPE=None",
"-DRAPIDJSON_HAS_STDSTRING=ON",
"-DRAPIDJSON_BUILD_CXX11=ON",
"-DRAPIDJSON_BUILD_DOC=OFF",
"-DRAPIDJSON_BUILD_EXAMPLES=OFF",
"-DRAPIDJSON_BUILD_TESTS=OFF"
],
"sources": [
{
"type": "archive",
"url": "https://github.com/Tencent/rapidjson/archive/v1.1.0/rapidjson-1.1.0.tar.gz",
"sha256": "bf7ced29704a1e696fbccf2a2b4ea068e7774fa37f6d7dd4039d0787f8bed98e",
"x-checker-data": {
"type": "anitya",
"stable-only": true,
"versions": {
"=": "1.1.0"
},
"project-id": 7422,
"url-template": "https://github.com/Tencent/rapidjson/archive/v$version.tar.gz"
}
}
]
},
{
"name": "suyu",
"buildsystem": "cmake-ninja",
"builddir": true,
"config-opts": [
"-DCMAKE_BUILD_TYPE=RelWithDebInfo",
"-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON",
"-DENABLE_QT_TRANSLATION=ON",
"-DSUYU_ENABLE_COMPATIBILITY_REPORTING=ON",
"-DENABLE_COMPATIBILITY_LIST_DOWNLOAD=OFF",
"-DSUYU_USE_QT_WEB_ENGINE=ON",
"-DSUYU_USE_BUNDLED_FFMPEG=ON",
"-DBUILD_TAG=dev",
"-USE_DISCORD_PRESENCE=ON",
"-DBUILD_REPOSITORY=suyu-emu/suyu"
],
"build-options": {
"env": {
"TITLEBARFORMATIDLE": "suyu | dev-flatpak",
"TITLEBARFORMATRUNNING": "suyu | dev-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"
}
]
}
]
}