flatpak-org.ryujinx.Ryujinx/org.ryujinx.Ryujinx.yml
2022-11-16 18:36:27 +00:00

83 lines
3.8 KiB
YAML

app-id: org.ryujinx.Ryujinx
runtime: org.freedesktop.Platform
runtime-version: '22.08'
sdk: org.freedesktop.Sdk
add-extensions:
org.freedesktop.Platform.ffmpeg-full:
version: '22.08'
directory: lib/ffmpeg
add-ld-path: .
finish-args:
- --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:
no-debuginfo: true
no-debuginfo-compression: true,
strip: false
arch:
x86_64:
env:
RUNTIME: linux-x64
env:
PKG_CONFIG_PATH: /app/lib/pkgconfig:/app/share/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig
DOTNET_CLI_TELEMETRY_OPTOUT: 'true'
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 'true'
RYUJINX_VERSION: 1.1.346
RYUJINX_TARGET_RELEASE_CHANNEL_OWNER: flathub
RYUJINX_TARGET_RELEASE_CHANNEL_REPO: org.ryujinx.Ryujinx
RYUJINX_TARGET_RELEASE_CHANNEL_NAME: master
build-commands:
- |
export PATH=$PATH:/run/build/Ryujinx/dotnet-sdk
export RYUJINX_GIT_SHORT_HASH=$(git rev-parse --short HEAD)
export RUNTIME_FRAMEWORK_VERSION=$(find nuget-sources -name 'microsoft.netcore.app.host.linux-x64.*' | grep -oP '(\d.\d.\d+.nupkg)' | grep -oP '(\d.\d.\d+)')
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 /p:RuntimeFrameworkVersion=$RUNTIME_FRAMEWORK_VERSION --self-contained --source nuget-sources
if [ $? -ne 0 ]; then
exit 1;
fi;
cp -r --remove-destination /run/build/Ryujinx/Ryujinx/bin/Release/net7.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:
- type: archive
only-arches:
- x86_64
dest: dotnet-sdk
url: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/7.0.100/dotnet-sdk-7.0.100-linux-x64.tar.gz
sha256: 5d4a58eeca1a4ab095b55e6486b1278147b0ab121ce883b2bcde3d3626c9a81c
x-checker-data:
type: html
url: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/7.0/latest.version
version-pattern: ^([\d\.a-z-]+)$
url-template: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/$version/dotnet-sdk-$version-linux-x64.tar.gz
- nuget_sources.json
- type: git
url: https://github.com/Ryujinx/Ryujinx.git
commit: 11aae9cfbc07d337c8b222e15f5d8e676f3bf46f
- type: file
path: ryujinx-wrapper
- type: file
path: org.ryujinx.Ryujinx.appdata.xml