From c346aeba91e3f554646643e33f461cd6cced1e53 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Thu, 7 Apr 2022 00:02:00 +0900 Subject: [PATCH] Initial Yuzu support --- com.xargon.retrodeck.yml | 348 ++++++++++++++++++++------------------- 1 file changed, 180 insertions(+), 168 deletions(-) diff --git a/com.xargon.retrodeck.yml b/com.xargon.retrodeck.yml index 62287a69..a0deb0ab 100644 --- a/com.xargon.retrodeck.yml +++ b/com.xargon.retrodeck.yml @@ -33,6 +33,20 @@ cleanup: - /lib/libfreeimage.a - /lib/libogg.a - /lib/libvpx.a + # Yuzu + - /include + - /bin/glslangValidator + - /bin/zip* + - /bin/zstd* + - /lib/pkg-config + - /share/doc + - /share/man + - /src + - '*.a' + - '*.la' +cleanup-commands: + # Yuzu + - /app/cleanup-BaseApp.sh modules: @@ -178,7 +192,6 @@ modules: # External manifests start # RetroArch - https://github.com/flathub/org.libretro.RetroArch - # nope: remember to put ' /org.libretro.RetroArch/' as submodules prefix - name: retroarch config-opts: @@ -310,173 +323,172 @@ modules: # Yuzu - https://github.com/flathub/org.yuzu_emu.yuzu - #- shared-modules/libusb/libusb.json - #- name: libzip - # buildsystem: cmake-ninja - # config-opts: - # - '-DCMAKE_BUILD_TYPE=RelWithDebInfo' - # sources: - # - type: archive - # url: https://github.com/nih-at/libzip/archive/v1.8.0.tar.gz - # sha256: 83e5d6d5dbe8f9df80aad388fa523ca3558398ed440a5afda6ef9b36b0ffdc1f - # x-checker-data: - # type: anitya - # project-id: 10649 - # url-template: https://github.com/nih-at/libzip/archive/v$version.tar.gz - #- name: zstd - # buildsystem: simple - # build-commands: - # - make -j $FLATPAK_BUILDER_N_JOBS - # - make PREFIX=/ DESTDIR="${FLATPAK_DEST}" install - # sources: - # - type: archive - # url: >- - # https://github.com/facebook/zstd/releases/download/v1.5.2/zstd-1.5.2.tar.gz - # sha256: 7c42d56fac126929a6a85dbc73ff1db2411d04f104fae9bdea51305663a83fd0 - # x-checker-data: - # type: anitya - # project-id: 12083 - # url-template: >- - # https://github.com/facebook/zstd/releases/download/v$version/zstd-$version.tar.gz - #- name: fmt - # buildsystem: cmake-ninja - # config-opts: - # - '-DFMT_TEST=OFF' - # sources: - # - type: archive - # url: https://github.com/fmtlib/fmt/releases/download/8.1.1/fmt-8.1.1.zip - # sha256: 23778bad8edba12d76e4075da06db591f3b0e3c6c04928ced4a7282ca3400e5d - # x-checker-data: - # type: anitya - # project-id: 11526 - # 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/11.8.0.tar.gz - # sha256: 9e5fbe5b844d203da5e61bcd84eda76326e0ff5dc696cb862147bbe01d2febb0 - # x-checker-data: - # type: anitya - # stable-only: true - # project-id: 205796 - # url-template: https://github.com/KhronosGroup/glslang/archive/$version.tar.gz - #- name: catch2 - # buildsystem: cmake-ninja - # config-opts: - # - '-DCMAKE_BUILD_TYPE=Release' - # - '-DCATCH_BUILD_TESTING=OFF' - # builddir: true - # sources: - # - type: archive - # url: https://github.com/catchorg/Catch2/archive/v2.13.8.tar.gz - # sha256: b9b592bd743c09f13ee4bf35fc30eeee2748963184f6bea836b146e6cc2a585a - # x-checker-data: - # type: anitya - # stable-only: true - # 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' - # - '-DJSON_BuildTests=OFF' - # sources: - # - type: archive - # url: https://github.com/nlohmann/json/archive/v3.10.5.tar.gz - # sha256: 5daca6ca216495edf89d167f808d1d03c4a4d929cef7da5e10f135ae1540c7e4 - # x-checker-data: - # type: anitya - # project-id: 141453 - # 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.78.0/source/boost_1_78_0.tar.bz2 - # sha256: 8681f175d4bdb26c52222665793eef08490d7758529330f98d3b29dd0735bccc - # x-checker-data: - # type: anitya - # project-id: 6845 - # url-template: >- - # https://boostorg.jfrog.io/artifactory/main/release/$version/source/boost_1_78_0.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: n11.1.5.1 - # commit: 84483da70d903239d4536763fde8c7e6c4e80784 - # x-checker-data: - # type: git - # tag-pattern: ^n([\d.]+)$ - #- name: yuzu - # 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=ON' - # - '-DYUZU_USE_QT_WEB_ENGINE=ON' - # - '-DYUZU_USE_BUNDLED_FFMPEG=ON' - # - '-DDISPLAY_VERSION=963' - # - '-DBUILD_TAG=mainline-963' - # - '-DBUILD_REPOSITORY=yuzu-emu/yuzu-mainline' - # build-options: - # env: - # TITLEBARFORMATIDLE: yuzu {} - # TITLEBARFORMATRUNNING: yuzu {} | {} - # LDFLAGS: '-L/app/lib -Wl,-z,relro,-z,now -Wl,--as-needed' - # cleanup: - # - /share/man - # - /share/pixmaps - # post-install: - # - install -Dm755 ../yuzu-launcher.sh /app/bin/yuzu-launcher - # - >- - # install -Dm644 ../org.yuzu_emu.yuzu.metainfo.xml - # /app/share/appdata/org.yuzu_emu.yuzu.metainfo.xml - # - desktop-file-install --dir=/app/share/applications ../dist/yuzu.desktop - # - >- - # desktop-file-edit --set-key StartupWMClass --set-value yuzu --set-key - # Exec --set-value yuzu-launcher /app/share/applications/yuzu.desktop - # - >- - # install -Dm644 ../dist/yuzu.svg - # /app/share/icons/hicolor/scalable/apps/yuzu.svg - # - >- - # mv /app/share/mime/packages/yuzu.xml - # /app/share/mime/packages/org.yuzu_emu.yuzu.xml - # - >- - # sed 's/yuzu/org.yuzu_emu.yuzu/g' -i - # /app/share/mime/packages/org.yuzu_emu.yuzu.xml - # sources: - # - type: git - # url: https://github.com/yuzu-emu/yuzu-mainline.git - # tag: mainline-0-963 - # commit: 15bf148daf441e69265ea99771e0f1d327c5c10e - # disable-shallow-clone: true - # x-checker-data: - # type: git - # tag-pattern: ^(mainline-0-\d+)$ - # - type: file - # path: org.yuzu_emu.yuzu.metainfo.xml - # - type: file - # path: yuzu-launcher.sh - # - type: file - # path: compatibility_list.json - + - name: libzip + buildsystem: cmake-ninja + config-opts: + - '-DCMAKE_BUILD_TYPE=RelWithDebInfo' + sources: + - type: archive + url: https://github.com/nih-at/libzip/archive/v1.8.0.tar.gz + sha256: 83e5d6d5dbe8f9df80aad388fa523ca3558398ed440a5afda6ef9b36b0ffdc1f + x-checker-data: + type: anitya + project-id: 10649 + url-template: https://github.com/nih-at/libzip/archive/v$version.tar.gz + - name: zstd + buildsystem: simple + build-commands: + - make -j $FLATPAK_BUILDER_N_JOBS + - make PREFIX=/ DESTDIR="${FLATPAK_DEST}" install + sources: + - type: archive + url: >- + https://github.com/facebook/zstd/releases/download/v1.5.2/zstd-1.5.2.tar.gz + sha256: 7c42d56fac126929a6a85dbc73ff1db2411d04f104fae9bdea51305663a83fd0 + x-checker-data: + type: anitya + project-id: 12083 + url-template: >- + https://github.com/facebook/zstd/releases/download/v$version/zstd-$version.tar.gz + - name: fmt + buildsystem: cmake-ninja + config-opts: + - '-DFMT_TEST=OFF' + sources: + - type: archive + url: https://github.com/fmtlib/fmt/releases/download/8.1.1/fmt-8.1.1.zip + sha256: 23778bad8edba12d76e4075da06db591f3b0e3c6c04928ced4a7282ca3400e5d + x-checker-data: + type: anitya + project-id: 11526 + 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/11.8.0.tar.gz + sha256: 9e5fbe5b844d203da5e61bcd84eda76326e0ff5dc696cb862147bbe01d2febb0 + x-checker-data: + type: anitya + stable-only: true + project-id: 205796 + url-template: https://github.com/KhronosGroup/glslang/archive/$version.tar.gz + - name: catch2 + buildsystem: cmake-ninja + config-opts: + - '-DCMAKE_BUILD_TYPE=Release' + - '-DCATCH_BUILD_TESTING=OFF' + builddir: true + sources: + - type: archive + url: https://github.com/catchorg/Catch2/archive/v2.13.8.tar.gz + sha256: b9b592bd743c09f13ee4bf35fc30eeee2748963184f6bea836b146e6cc2a585a + x-checker-data: + type: anitya + stable-only: true + 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' + - '-DJSON_BuildTests=OFF' + sources: + - type: archive + url: https://github.com/nlohmann/json/archive/v3.10.5.tar.gz + sha256: 5daca6ca216495edf89d167f808d1d03c4a4d929cef7da5e10f135ae1540c7e4 + x-checker-data: + type: anitya + project-id: 141453 + 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.78.0/source/boost_1_78_0.tar.bz2 + sha256: 8681f175d4bdb26c52222665793eef08490d7758529330f98d3b29dd0735bccc + x-checker-data: + type: anitya + project-id: 6845 + url-template: >- + https://boostorg.jfrog.io/artifactory/main/release/$version/source/boost_1_78_0.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: n11.1.5.1 + commit: 84483da70d903239d4536763fde8c7e6c4e80784 + x-checker-data: + type: git + tag-pattern: ^n([\d.]+)$ + - name: yuzu + 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=ON' + - '-DYUZU_USE_QT_WEB_ENGINE=ON' + - '-DYUZU_USE_BUNDLED_FFMPEG=ON' + - '-DDISPLAY_VERSION=969' + - '-DBUILD_TAG=mainline-969' + - '-DBUILD_REPOSITORY=yuzu-emu/yuzu-mainline' + build-options: + env: + TITLEBARFORMATIDLE: yuzu {} + TITLEBARFORMATRUNNING: yuzu {} | {} + LDFLAGS: '-L/app/lib -Wl,-z,relro,-z,now -Wl,--as-needed' + cleanup: + - /share/man + - /share/pixmaps + post-install: + - install -Dm755 ../yuzu-launcher.sh /app/bin/yuzu-launcher + - >- + install -Dm644 ../org.yuzu_emu.yuzu.metainfo.xml + /app/share/appdata/org.yuzu_emu.yuzu.metainfo.xml + - desktop-file-install --dir=/app/share/applications ../dist/yuzu.desktop + - >- + desktop-file-edit --set-key StartupWMClass --set-value yuzu --set-key + Exec --set-value yuzu-launcher /app/share/applications/yuzu.desktop + - >- + install -Dm644 ../dist/yuzu.svg + /app/share/icons/hicolor/scalable/apps/yuzu.svg + - >- + mv /app/share/mime/packages/yuzu.xml + /app/share/mime/packages/org.yuzu_emu.yuzu.xml + - >- + sed 's/yuzu/org.yuzu_emu.yuzu/g' -i + /app/share/mime/packages/org.yuzu_emu.yuzu.xml + sources: + - type: git + url: https://github.com/yuzu-emu/yuzu-mainline.git + tag: mainline-0-969 + commit: d179e12137cd8ff88b0eade7d13de801661f869b + disable-shallow-clone: true + x-checker-data: + type: git + tag-pattern: ^(mainline-0-\d+)$ + - type: file + path: org.yuzu_emu.yuzu.metainfo.xml + - type: file + path: yuzu-launcher.sh + - type: file + path: compatibility_list.json + # Yuzu - END