diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..7b747ad --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "flatpak-builder-tools"] + path = flatpak-builder-tools + url = https://github.com/flatpak/flatpak-builder-tools.git diff --git a/flathub.json b/flathub.json index c75b742..1c81239 100644 --- a/flathub.json +++ b/flathub.json @@ -1,3 +1,4 @@ { - "only-arches": ["x86_64"] + "only-arches": ["x86_64"], + "publish-delay-hours": 0 } diff --git a/flatpak-builder-tools b/flatpak-builder-tools new file mode 160000 index 0000000..ef1417e --- /dev/null +++ b/flatpak-builder-tools @@ -0,0 +1 @@ +Subproject commit ef1417ed337189fc43eba4f88f5595456f479935 diff --git a/org.ryujinx.Ryujinx.appdata.xml b/org.ryujinx.Ryujinx.appdata.xml index 1d9e52a..0382309 100644 --- a/org.ryujinx.Ryujinx.appdata.xml +++ b/org.ryujinx.Ryujinx.appdata.xml @@ -35,7 +35,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/org.ryujinx.Ryujinx.yml b/org.ryujinx.Ryujinx.yml index 3153d88..9b1ccef 100644 --- a/org.ryujinx.Ryujinx.yml +++ b/org.ryujinx.Ryujinx.yml @@ -3,76 +3,68 @@ runtime: org.freedesktop.Platform runtime-version: '21.08' sdk: org.freedesktop.Sdk sdk-extensions: - - org.freedesktop.Sdk.Extension.dotnet6 +- org.freedesktop.Sdk.Extension.dotnet6 add-extensions: org.freedesktop.Platform.ffmpeg-full: version: '21.08' directory: lib/ffmpeg add-ld-path: . finish-args: - # IPC access (required by X11) - - --share=ipc - # X11 access (TODO: Allows Wayland when EGL is supported correctly on SPB side) - - --socket=x11 - # OpenGL and hidraw (SDL2 controllers) access - - --device=all - # PulseAudio access - - --socket=pulseaudio - # Network access (Used by Amiibo API and emulated games) - - --share=network - # Allows access to home to grab possible console keys (in $HOME/.switch/) - - --filesystem=home:ro - - --filesystem=xdg-run/app/com.discordapp.Discord:create +- --share=ipc +- --socket=x11 +- --device=all +- --socket=pulseaudio +- --share=network +- --filesystem=home:ro +- --filesystem=xdg-run/app/com.discordapp.Discord:create rename-icon: ryujinx command: ryujinx-wrapper modules: - - name: Ryujinx - buildsystem: simple - build-options: - append-path: /usr/lib/sdk/dotnet6/bin - append-ld-library-path: /usr/lib/sdk/dotnet6/lib - arch: - x86_64: - env: - RUNTIME: linux-x64 - env: - PKG_CONFIG_PATH: /app/lib/pkgconfig:/app/share/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig:/usr/lib/sdk/dotnet6/lib/pkgconfig - DOTNET_CLI_TELEMETRY_OPTOUT: 'true' - DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 'true' - - RYUJINX_VERSION: "1.1.56" - RYUJINX_TARGET_RELEASE_CHANNEL_OWNER: "flathub" - RYUJINX_TARGET_RELEASE_CHANNEL_REPO: "org.ryujinx.Ryujinx" - RYUJINX_TARGET_RELEASE_CHANNEL_NAME: "master" - build-commands: - - | - export RYUJINX_GIT_SHORT_HASH=$(git rev-parse --short HEAD) - sed -r --in-place "s/\%\%RYUJINX_BUILD_VERSION\%\%/$RYUJINX_VERSION/g;" Ryujinx.Common/ReleaseInformations.cs - sed -r --in-place "s/\%\%RYUJINX_BUILD_GIT_HASH\%\%/$RYUJINX_GIT_SHORT_HASH/g;" Ryujinx.Common/ReleaseInformations.cs - sed -r --in-place "s/\%\%RYUJINX_TARGET_RELEASE_CHANNEL_NAME\%\%/$RYUJINX_TARGET_RELEASE_CHANNEL_NAME/g;" Ryujinx.Common/ReleaseInformations.cs - sed -r --in-place "s/\%\%RYUJINX_TARGET_RELEASE_CHANNEL_OWNER\%\%/$RYUJINX_TARGET_RELEASE_CHANNEL_OWNER/g;" Ryujinx.Common/ReleaseInformations.cs - sed -r --in-place "s/\%\%RYUJINX_TARGET_RELEASE_CHANNEL_REPO\%\%/$RYUJINX_TARGET_RELEASE_CHANNEL_REPO/g;" Ryujinx.Common/ReleaseInformations.cs - mkdir -p /app/bin - dotnet publish -c Release -r $RUNTIME /p:DebugType=embedded Ryujinx /p:Version=$RYUJINX_VERSION /p:SourceRevisionId=$RYUJINX_GIT_SHORT_HASH /p:ExtraDefineConstants=DISABLE_UPDATER --self-contained --source nuget-sources - if [ $? -ne 0 ]; then - exit 1; - fi; - cp -r --remove-destination /run/build/Ryujinx/Ryujinx/bin/Release/net6.0/$RUNTIME/publish/* /app/bin/ - mkdir -p /app/lib/ffmpeg - ln -s /usr/lib/x86_64-linux-gnu/libX11.so.6 /app/lib/libX11.so - install -Dm644 $FLATPAK_ID.appdata.xml /app/share/metainfo/$FLATPAK_ID.appdata.xml - install -Dm755 ryujinx-wrapper /app/bin/ryujinx-wrapper - install -Dm644 distribution/linux/ryujinx-logo.svg /app/share/icons/hicolor/scalable/apps/ryujinx.svg - install -Dm644 distribution/linux/ryujinx-mime.xml /app/share/mime/packages/$FLATPAK_ID.mime.xml - install -Dm644 distribution/linux/ryujinx.desktop /app/share/applications/$FLATPAK_ID.desktop - desktop-file-edit --set-key="Exec" --set-value="ryujinx-wrapper %f" /app/share/applications/$FLATPAK_ID.desktop - sources: - - nuget_sources.json - - type: git - url: https://github.com/Ryujinx/Ryujinx.git - commit: ac21abbb9d23432879b1026eb5bc48ad3d4583d8 - - type: file - path: ryujinx-wrapper - - type: file - path: org.ryujinx.Ryujinx.appdata.xml - +- name: Ryujinx + buildsystem: simple + build-options: + append-path: /usr/lib/sdk/dotnet6/bin + append-ld-library-path: /usr/lib/sdk/dotnet6/lib + arch: + x86_64: + env: + RUNTIME: linux-x64 + env: + PKG_CONFIG_PATH: /app/lib/pkgconfig:/app/share/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig:/usr/lib/sdk/dotnet6/lib/pkgconfig + DOTNET_CLI_TELEMETRY_OPTOUT: 'true' + DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 'true' + RYUJINX_VERSION: 1.1.69 + RYUJINX_TARGET_RELEASE_CHANNEL_OWNER: flathub + RYUJINX_TARGET_RELEASE_CHANNEL_REPO: org.ryujinx.Ryujinx + RYUJINX_TARGET_RELEASE_CHANNEL_NAME: master + build-commands: + - | + export RYUJINX_GIT_SHORT_HASH=$(git rev-parse --short HEAD) + sed -r --in-place "s/\%\%RYUJINX_BUILD_VERSION\%\%/$RYUJINX_VERSION/g;" Ryujinx.Common/ReleaseInformations.cs + sed -r --in-place "s/\%\%RYUJINX_BUILD_GIT_HASH\%\%/$RYUJINX_GIT_SHORT_HASH/g;" Ryujinx.Common/ReleaseInformations.cs + sed -r --in-place "s/\%\%RYUJINX_TARGET_RELEASE_CHANNEL_NAME\%\%/$RYUJINX_TARGET_RELEASE_CHANNEL_NAME/g;" Ryujinx.Common/ReleaseInformations.cs + sed -r --in-place "s/\%\%RYUJINX_TARGET_RELEASE_CHANNEL_OWNER\%\%/$RYUJINX_TARGET_RELEASE_CHANNEL_OWNER/g;" Ryujinx.Common/ReleaseInformations.cs + sed -r --in-place "s/\%\%RYUJINX_TARGET_RELEASE_CHANNEL_REPO\%\%/$RYUJINX_TARGET_RELEASE_CHANNEL_REPO/g;" Ryujinx.Common/ReleaseInformations.cs + mkdir -p /app/bin + dotnet publish -c Release -r $RUNTIME /p:DebugType=embedded Ryujinx /p:Version=$RYUJINX_VERSION /p:SourceRevisionId=$RYUJINX_GIT_SHORT_HASH /p:ExtraDefineConstants=DISABLE_UPDATER --self-contained --source nuget-sources + if [ $? -ne 0 ]; then + exit 1; + fi; + cp -r --remove-destination /run/build/Ryujinx/Ryujinx/bin/Release/net6.0/$RUNTIME/publish/* /app/bin/ + mkdir -p /app/lib/ffmpeg + ln -s /usr/lib/x86_64-linux-gnu/libX11.so.6 /app/lib/libX11.so + install -Dm644 $FLATPAK_ID.appdata.xml /app/share/metainfo/$FLATPAK_ID.appdata.xml + install -Dm755 ryujinx-wrapper /app/bin/ryujinx-wrapper + install -Dm644 distribution/linux/ryujinx-logo.svg /app/share/icons/hicolor/scalable/apps/ryujinx.svg + install -Dm644 distribution/linux/ryujinx-mime.xml /app/share/mime/packages/$FLATPAK_ID.mime.xml + install -Dm644 distribution/linux/ryujinx.desktop /app/share/applications/$FLATPAK_ID.desktop + desktop-file-edit --set-key="Exec" --set-value="ryujinx-wrapper %f" /app/share/applications/$FLATPAK_ID.desktop + sources: + - nuget_sources.json + - type: git + url: https://github.com/Ryujinx/Ryujinx.git + commit: aac7bbd378418791823e338d8bc174856aabfae6 + - type: file + path: ryujinx-wrapper + - type: file + path: org.ryujinx.Ryujinx.appdata.xml