Ryujinx (Test build)

This commit is contained in:
Steam OS User 2022-04-16 19:21:53 +09:00
parent 0a11c0085b
commit 1c576b5890

View file

@ -677,93 +677,93 @@ modules:
# Disabled because of this error: # Disabled because of this error:
# https://github.com/flathub/net.rpcs3.RPCS3/issues/854 # https://github.com/flathub/net.rpcs3.RPCS3/issues/854
- name: rpcs3-llvm # - name: rpcs3-llvm
buildsystem: cmake-ninja # buildsystem: cmake-ninja
builddir: true # builddir: true
build-options: # build-options:
cflags: &optflags -O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong # cflags: &optflags -O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong
-grecord-gcc-switches -fasynchronous-unwind-tables -fstack-clash-protection # -grecord-gcc-switches -fasynchronous-unwind-tables -fstack-clash-protection
-fcf-protection -fno-omit-frame-pointer # -fcf-protection -fno-omit-frame-pointer
cflags-override: true # cflags-override: true
cxxflags: -O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong # cxxflags: -O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong
-grecord-gcc-switches -fasynchronous-unwind-tables -fstack-clash-protection # -grecord-gcc-switches -fasynchronous-unwind-tables -fstack-clash-protection
-fcf-protection -fno-omit-frame-pointer -msse -msse2 -mcx16 # -fcf-protection -fno-omit-frame-pointer -msse -msse2 -mcx16
cxxflags-override: true # cxxflags-override: true
env: # env:
AR: llvm-ar # AR: llvm-ar
CC: clang # CC: clang
CXX: clang++ # CXX: clang++
RANLIB: llvm-ranlib # RANLIB: llvm-ranlib
ldflags: -fuse-ld=lld # ldflags: -fuse-ld=lld
prepend-ld-library-path: /usr/lib/sdk/llvm13/lib # prepend-ld-library-path: /usr/lib/sdk/llvm13/lib
prepend-path: /usr/lib/sdk/llvm13/bin # prepend-path: /usr/lib/sdk/llvm13/bin
config-opts: # config-opts:
- -DCMAKE_BUILD_TYPE=Release # - -DCMAKE_BUILD_TYPE=Release
- -DBUILD_SHARED_LIBS=OFF # - -DBUILD_SHARED_LIBS=OFF
- -DLLVM_CCACHE_BUILD=ON # - -DLLVM_CCACHE_BUILD=ON
- -DLLVM_TARGETS_TO_BUILD='X86' # - -DLLVM_TARGETS_TO_BUILD='X86'
- -DLLVM_BUILD_RUNTIME=OFF # - -DLLVM_BUILD_RUNTIME=OFF
- -DLLVM_BUILD_TOOLS=OFF # - -DLLVM_BUILD_TOOLS=OFF
- -DLLVM_INCLUDE_DOCS=OFF # - -DLLVM_INCLUDE_DOCS=OFF
- -DLLVM_INCLUDE_EXAMPLES=OFF # - -DLLVM_INCLUDE_EXAMPLES=OFF
- -DLLVM_INCLUDE_TESTS=OFF # - -DLLVM_INCLUDE_TESTS=OFF
- -DLLVM_INCLUDE_TOOLS=OFF # - -DLLVM_INCLUDE_TOOLS=OFF
- -DLLVM_INCLUDE_UTILS=OFF # - -DLLVM_INCLUDE_UTILS=OFF
- -DLLVM_USE_INTEL_JITEVENTS=ON # - -DLLVM_USE_INTEL_JITEVENTS=ON
- -DLLVM_USE_PERF=ON # - -DLLVM_USE_PERF=ON
- -DLLVM_ENABLE_Z3_SOLVER=OFF # - -DLLVM_ENABLE_Z3_SOLVER=OFF
- -DCMAKE_CXX_STANDARD=17 # - -DCMAKE_CXX_STANDARD=17
- -DITTAPI_SOURCE_DIR=/run/build/rpcs3-llvm/ittapi # - -DITTAPI_SOURCE_DIR=/run/build/rpcs3-llvm/ittapi
- -Wno-dev # - -Wno-dev
cleanup: # cleanup:
- '*' # - '*'
sources: # sources:
- type: git # - type: git
url: https://github.com/RPCS3/llvm-mirror.git # url: https://github.com/RPCS3/llvm-mirror.git
commit: 509d31ad89676522f7121b3bb8688f7d29b7ee60 # commit: 509d31ad89676522f7121b3bb8688f7d29b7ee60
- type: git # - type: git
url: https://github.com/intel/ittapi.git # url: https://github.com/intel/ittapi.git
dest: ittapi/ittapi # dest: ittapi/ittapi
disable-shallow-clone: true # disable-shallow-clone: true
- name: rpcs3 # - name: rpcs3
buildsystem: cmake-ninja # buildsystem: cmake-ninja
builddir: true # builddir: true
build-options: # build-options:
append-ld-library-path: /usr/lib/sdk/llvm13/lib # append-ld-library-path: /usr/lib/sdk/llvm13/lib
append-path: /usr/lib/sdk/llvm13/bin # append-path: /usr/lib/sdk/llvm13/bin
cflags: *optflags # cflags: *optflags
cflags-override: true # cflags-override: true
cxxflags: *optflags # cxxflags: *optflags
cxxflags-override: true # cxxflags-override: true
env: # env:
AR: llvm-ar # AR: llvm-ar
CC: clang # CC: clang
CXX: clang++ # CXX: clang++
RANLIB: llvm-ranlib # RANLIB: llvm-ranlib
ldflags: -fuse-ld=lld # ldflags: -fuse-ld=lld
config-opts: # config-opts:
- -DCMAKE_BUILD_TYPE=RelWithDebInfo # - -DCMAKE_BUILD_TYPE=RelWithDebInfo
- -DBUILD_LLVM_SUBMODULE=OFF # - -DBUILD_LLVM_SUBMODULE=OFF
- -DUSE_NATIVE_INSTRUCTIONS=OFF # - -DUSE_NATIVE_INSTRUCTIONS=OFF
- -DUSE_PRECOMPILED_HEADERS=OFF # - -DUSE_PRECOMPILED_HEADERS=OFF
- -DUSE_SYSTEM_CURL=ON # - -DUSE_SYSTEM_CURL=ON
- -DUSE_SYSTEM_FFMPEG=ON # - -DUSE_SYSTEM_FFMPEG=ON
- -DUSE_SYSTEM_LIBPNG=ON # - -DUSE_SYSTEM_LIBPNG=ON
- -DUSE_SYSTEM_ZLIB=ON # - -DUSE_SYSTEM_ZLIB=ON
- -Wno-dev # - -Wno-dev
post-install: # post-install:
- | # - |
set -eux; # set -eux;
sed -i 's|<id>RPCS3</id>|<id>net.rpcs3.RPCS3</id>|' ${FLATPAK_DEST}/share/metainfo/rpcs3.metainfo.xml; # sed -i 's|<id>RPCS3</id>|<id>net.rpcs3.RPCS3</id>|' ${FLATPAK_DEST}/share/metainfo/rpcs3.metainfo.xml;
COMM_TAG="$(awk -F'[\{,]' '/version{.*}/{printf "%d.%d.%d", $2, $3, $4}' ../rpcs3/rpcs3_version.cpp)"; # COMM_TAG="$(awk -F'[\{,]' '/version{.*}/{printf "%d.%d.%d", $2, $3, $4}' ../rpcs3/rpcs3_version.cpp)";
COMM_COUNT="$(git rev-list --count HEAD)"; # COMM_COUNT="$(git rev-list --count HEAD)";
COMM_HASH="$(git rev-parse --short=8 HEAD)"; # COMM_HASH="$(git rev-parse --short=8 HEAD)";
sed -i 's|</component>|<content_rating type="oars-1.1"/><releases><release date="'$(git show -s --format=%cs)'" version="'"${COMM_TAG}"'-'"${COMM_COUNT}"'-'"${COMM_HASH}"'"/></releases></component>|' ${FLATPAK_DEST}/share/metainfo/rpcs3.metainfo.xml; # sed -i 's|</component>|<content_rating type="oars-1.1"/><releases><release date="'$(git show -s --format=%cs)'" version="'"${COMM_TAG}"'-'"${COMM_COUNT}"'-'"${COMM_HASH}"'"/></releases></component>|' ${FLATPAK_DEST}/share/metainfo/rpcs3.metainfo.xml;
sources: # sources:
- type: git # - type: git
url: https://github.com/RPCS3/rpcs3.git # url: https://github.com/RPCS3/rpcs3.git
commit: d6b026314409980734605e9275950f835f04e8df # commit: d6b026314409980734605e9275950f835f04e8df
# RPCS3 - END # RPCS3 - END
@ -832,54 +832,54 @@ modules:
# Ryujinx - START # Ryujinx - START
# - name: Ryujinx - name: Ryujinx
# buildsystem: simple buildsystem: simple
# build-options: build-options:
# append-path: /usr/lib/sdk/dotnet6/bin append-path: /usr/lib/sdk/dotnet6/bin
# append-ld-library-path: /usr/lib/sdk/dotnet6/lib append-ld-library-path: /usr/lib/sdk/dotnet6/lib
# arch: arch:
# x86_64: x86_64:
# env: env:
# RUNTIME: linux-x64 RUNTIME: linux-x64
# env: env:
# PKG_CONFIG_PATH: /app/lib/pkgconfig:/app/share/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig:/usr/lib/sdk/dotnet6/lib/pkgconfig 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_CLI_TELEMETRY_OPTOUT: 'true'
# DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 'true' DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 'true'
# RYUJINX_VERSION: 1.1.102 RYUJINX_VERSION: 1.1.102
# RYUJINX_TARGET_RELEASE_CHANNEL_OWNER: flathub RYUJINX_TARGET_RELEASE_CHANNEL_OWNER: flathub
# RYUJINX_TARGET_RELEASE_CHANNEL_REPO: org.ryujinx.Ryujinx RYUJINX_TARGET_RELEASE_CHANNEL_REPO: org.ryujinx.Ryujinx
# RYUJINX_TARGET_RELEASE_CHANNEL_NAME: master RYUJINX_TARGET_RELEASE_CHANNEL_NAME: master
# build-commands: build-commands:
# - | - |
# export RYUJINX_GIT_SHORT_HASH=$(git rev-parse --short HEAD) 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_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_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_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_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 sed -r --in-place "s/\%\%RYUJINX_TARGET_RELEASE_CHANNEL_REPO\%\%/$RYUJINX_TARGET_RELEASE_CHANNEL_REPO/g;" Ryujinx.Common/ReleaseInformations.cs
# mkdir -p /app/bin 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 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 if [ $? -ne 0 ]; then
# exit 1; exit 1;
# fi; fi;
# cp -r --remove-destination /run/build/Ryujinx/Ryujinx/bin/Release/net6.0/$RUNTIME/publish/* /app/bin/ cp -r --remove-destination /run/build/Ryujinx/Ryujinx/bin/Release/net6.0/$RUNTIME/publish/* /app/bin/
# mkdir -p /app/lib/ffmpeg mkdir -p /app/lib/ffmpeg
# ln -s /usr/lib/x86_64-linux-gnu/libX11.so.6 /app/lib/libX11.so 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 -Dm644 $FLATPAK_ID.appdata.xml /app/share/metainfo/$FLATPAK_ID.appdata.xml
# install -Dm755 ryujinx-wrapper /app/bin/ryujinx-wrapper 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-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-mime.xml /app/share/mime/packages/$FLATPAK_ID.mime.xml
# install -Dm644 distribution/linux/ryujinx.desktop /app/share/applications/$FLATPAK_ID.desktop 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 desktop-file-edit --set-key="Exec" --set-value="ryujinx-wrapper %f" /app/share/applications/$FLATPAK_ID.desktop
# sources: sources:
# - nuget_sources.json - nuget_sources.json
# - type: git - type: git
# url: https://github.com/Ryujinx/Ryujinx.git url: https://github.com/Ryujinx/Ryujinx.git
# commit: 247d26b4b50df8a068b9bfbb412a29f0c9f6a97b commit: 247d26b4b50df8a068b9bfbb412a29f0c9f6a97b
# - type: file - type: file
# path: ryujinx-wrapper path: ryujinx-wrapper
# - type: file - type: file
# path: org.ryujinx.Ryujinx.appdata.xml path: org.ryujinx.Ryujinx.appdata.xml
# Ryujinx - END # Ryujinx - END