diff --git a/.github/workflows/cooker.yml b/.github/workflows/cooker.yml
index 8f197aa1..4d27c088 100644
--- a/.github/workflows/cooker.yml
+++ b/.github/workflows/cooker.yml
@@ -6,9 +6,17 @@ name: Cooker
on:
# Triggers the workflow on push or pull request events but only for the main branch
push:
+<<<<<<< HEAD
+ branches:
+ - cooker
+ pull_request:
+ branches:
+ - cooker
+=======
branches: [ '*' ]
pull_request:
branches: [ '*' ]
+>>>>>>> main
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
@@ -27,9 +35,19 @@ jobs:
- name: Prepearing enviornment
run: |
+<<<<<<< HEAD
+ git submodule init
+ git submodule update
+ sudo add-apt-repository ppa:alexlarsson/flatpak
+ sudo apt-get update
+ sudo apt install flatpak flatpak-builder p7zip-full
+ sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
+ sudo flatpak install -y org.kde.Sdk//5.15-21.08 org.kde.Platform//5.15-21.08 io.qt.qtwebengine.BaseApp/x86_64/5.15-21.08
+=======
sudo apt install flatpak flatpak-builder
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
sudo flatpak install -y org.kde.Sdk//5.15-21.08 org.kde.Platform//5.15-21.08
+>>>>>>> main
# Runs a set of commands using the runners shell
- name: Building flatpak
@@ -38,14 +56,29 @@ jobs:
sudo flatpak-builder --repo=local --force-clean localrepo com.xargon.retrodeck.yml
sudo flatpak build-bundle local RetroDECK.flatpak com.xargon.retrodeck
+<<<<<<< HEAD
+ - name: Get date for artifacts
+ id: date
+ run: echo "::set-output name=date::$(date +'%Y%m%d_%H%M')"
+
+ - name: Publish the flatpak in a new cooker release
+ uses: ncipollo/release-action@v1
+ with:
+ tag: "${{ steps.date.outputs.date }}"
+=======
- name: Publish the flatpak in a new cooker release
uses: ncipollo/release-action@v1
with:
tag: "${{ steps.version.outputs.version }}"
+>>>>>>> main
body: |
# Release Notes (Cooker)
This is a cooker snapshot based on the commit: ${{ github.event.repository.full_name }}@${{github.sha}}.
+<<<<<<< HEAD
+ Cooker channel is provided for the community to test fixes and explore new functionality.
+ Please DO NOT open issues or ask support on this build.
+=======
Cooker channel is provided for the community to test fixes and explore new functionality. Please DO NOT open issues on this build and instead post in the `#pre-release-feedback` section of discord.
See the [wiki](https://amberelec.org/Contributing-to-AmberELEC) for more info.
@@ -56,6 +89,7 @@ jobs:
### Upgrade Instructions
You can update to this release using the `prerelease` channel on your device. This is the recommended way to use prerelease versions.
+>>>>>>> main
artifacts: "RetroDECK.flatpak"
allowUpdates: true
diff --git a/.gitmodules b/.gitmodules
index 1e7a9909..c4ddce75 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +1,12 @@
[submodule "shared-modules"]
path = shared-modules
url = https://github.com/flathub/shared-modules.git
+[submodule "rd-submodules/retroarch"]
+ path = rd-submodules/retroarch
+ url = https://github.com/flathub/org.libretro.RetroArch.git
+[submodule "rd-submodules/yuzu"]
+ path = rd-submodules/yuzu
+ url = https://github.com/flathub/org.yuzu_emu.yuzu
+[submodule "rd-submodules/pcsx2"]
+ path = rd-submodules/pcsx2
+ url = https://github.com/flathub/net.pcsx2.PCSX2.git
diff --git a/build-flatpak.sh b/build-flatpak.sh
deleted file mode 100755
index 0d7a145f..00000000
--- a/build-flatpak.sh
+++ /dev/null
@@ -1,73 +0,0 @@
-#!/bin/bash
-
-INSTALL_DIR=$PWD
-PREVIOUS_DIR=$PWD
-
-echo "Welcome to the RetroDECK flatpak builder."
-echo "This script is helping the flatpak building in $INSTALL_DIR."
-
-read -n 1 -r -s -p $'Press enter to continue...\n'
-echo "Building RetroDECK, please stand by."
-
-if command -v apt >/dev/null; then
- sudo apt install flatpak flatpak-builder
-elif command -v apt-get >/dev/null; then
- sudo apt-get install flatpak flatpak-builder
-elif command -v yum >/dev/null; then
- sudo yum install flatpak flatpak-builder # not sure about this
-else
- sudo pacman -S flatpak flatpak-builder
-fi
-
-echo "Initializing Flatpak"
-flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
-flatpak install -y org.kde.Sdk//5.15-21.08 org.kde.Platform//5.15-21.08
-
-cd $INSTALL_DIR
-
-# External flatpaks import
-# To update change branch and update the manifest.
-# Some json must be converted with this: https://codebeautify.org/json-to-yaml
-
-# RetroArch
-# https://github.com/flathub/org.libretro.RetroArch/blob/master/org.libretro.RetroArch.json
-git clone --recursive --branch update-v1.10.2 https://github.com/flathub/org.libretro.RetroArch.git
-# removing not needed and potentially dangerous files
-#rm -rf org.libretro.RetroArch/shared-modules
-#rm -f org.libretro.RetroArch/retroarch.cfg
-#rm -f org.libretro.RetroArch/README.md
-#rm -f org.libretro.RetroArch/org.libretro.RetroArch.json
-#rm -f org.libretro.RetroArch/COPYING
-#rm -rf org.libretro.RetroArch/.*
-ln -s org.libretro.RetroArch/* $INSTALL_DIR/
-
-# Yuzu
-# https://github.com/flathub/org.yuzu_emu.yuzu/blob/master/org.yuzu_emu.yuzu.json
-#git clone --recursive https://github.com/flathub/org.yuzu_emu.yuzu
-#rm -rf org.yuzu_emu.yuzu/shared-modules
-#rm -rf org.yuzu_emu.yuzu/.*
-#ln -s org.yuzu_emu.yuzu/* $INSTALL_DIR/
-
-
-cd $INSTALL_DIR
-flatpak-builder retrodeck-flatpak com.xargon.retrodeck.yml --force-clean
-
-# Useful commands:
-# flatpak-builder --user --install --force-clean retrodeck-flatpak com.xargon.retrodeck.yml
-# flatpak run com.xargon.retrodeck
-#
-# flatpak --user remote-add --no-gpg-verify xargon-dev repo
-# flatpak --user install xargon-dev com.xargon.retrodeck
-#
-# flatpak run --command=/bin/bash com.xargon.retrodeck
-
-# Cleaning up
-#rm -rf org.libretro.RetroArch
-#rm -rf org.yuzu_emu.yuzu
-
-# removing orphaned symlinks
-find -L . -name . -o -type d -prune -o -type l -exec rm {} +
-
-echo "Building terminated, you can install retrodeck by typing: flatpak run com.xargon.retrodeck"
-
-cd $PREVIOUS_DIR
\ No newline at end of file
diff --git a/com.xargon.retrodeck.yml b/com.xargon.retrodeck.yml
index 77833256..f66195e9 100644
--- a/com.xargon.retrodeck.yml
+++ b/com.xargon.retrodeck.yml
@@ -2,6 +2,10 @@ app-id: com.xargon.retrodeck
runtime: org.kde.Platform
runtime-version: '5.15-21.08'
sdk: org.kde.Sdk
+# Needed for Yuzu
+base: io.qt.qtwebengine.BaseApp
+base-version: 5.15-21.08
+# /Needed for Yuzu
command: retrodeck.sh
finish-args:
@@ -33,6 +37,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 +196,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:
@@ -190,9 +207,9 @@ modules:
url: https://github.com/libretro/RetroArch.git
branch: de4e56ecf28a09057734f8624af6d62f3088734f
- type: file
- path: org.libretro.RetroArch.appdata.xml
+ path: rd-submodules/retroarch/org.libretro.RetroArch.appdata.xml
- type: file
- path: retroarch.cfg
+ path: rd-submodules/retroarch/retroarch.cfg
post-install:
- mkdir -p ${FLATPAK_DEST}/share/icons/hicolor/scalable/apps/
- >-
@@ -310,183 +327,318 @@ 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: rd-submodules/yuzu/org.yuzu_emu.yuzu.metainfo.xml
+ - type: file
+ path: rd-submodules/yuzu/yuzu-launcher.sh
+ - type: file
+ path: rd-submodules/yuzu/compatibility_list.json
+
# Yuzu - END
+ # pcsx2 - https://github.com/flathub/net.pcsx2.PCSX2
+
+ - name: wxWidgets
+ buildsystem: cmake-ninja
+ config-opts:
+ - '-DCMAKE_BUILD_TYPE=Release'
+ cleanup:
+ - /bin
+ - /include
+ - /lib/wx/include
+ sources:
+ - type: git
+ url: https://github.com/wxWidgets/wxWidgets.git
+ tag: v3.1.5
+ commit: 9c0a8be1dc32063d91ed1901fd5fcd54f4f955a1
+ x-checker-data:
+ type: git
+ tag-pattern: ^v([\d.]+)$
+ modules:
+ - shared-modules/glu/glu-9.json
+ - name: libaio
+ no-autogen: true
+ make-install-args:
+ - prefix=${FLATPAK_DEST}
+ sources:
+ - type: git
+ url: https://pagure.io/libaio.git
+ tag: libaio-0.3.112
+ commit: d025927efa75a0d1b46ca3a5ef331caa2f46ee0e
+ x-checker-data:
+ type: git
+ tag-pattern: ^libaio-([\d.]+)$
+ cleanup:
+ - /include
+ - /lib/*.a
+ - name: portaudio
+ buildsystem: cmake-ninja
+ config-opts:
+ - '-DCMAKE_BUILD_TYPE=Release'
+ cleanup:
+ - /include
+ - /share/doc
+ - /lib/cmake
+ - /lib/pkgconfig
+ - /lib/*.a
+ sources:
+ - type: git
+ url: https://github.com/PortAudio/portaudio.git
+ tag: v19.7.0
+ commit: 147dd722548358763a8b649b3e4b41dfffbcfbb6
+ x-checker-data:
+ type: git
+ tag-pattern: ^v([\d.]+)$
+ - name: soundtouch
+ buildsystem: cmake-ninja
+ sources:
+ - type: git
+ url: https://codeberg.org/soundtouch/soundtouch.git
+ tag: 2.3.1
+ commit: e1f315f5358d9db5cee35a7a2886425489fcefe8
+ x-checker-data:
+ type: git
+ tag-pattern: ^([\d.]+)$
+ cleanup:
+ - /bin
+ - /include
+ - /lib/cmake
+ - /lib/pkgconfig
+ - /share/doc
+ - /lib/*.a
+ - name: png++
+ disabled: true
+ buildsystem: simple
+ build-commands:
+ - make
+ - make prefix=/app install
+ sources:
+ - type: archive
+ url: >-
+ https://download.savannah.nongnu.org/releases/pngpp/png++-0.2.10.tar.gz
+ sha256: 998af216ab16ebb88543fbaa2dbb9175855e944775b66f2996fc945c8444eee1
+ - name: libpcap
+ buildsystem: cmake-ninja
+ sources:
+ - type: git
+ url: https://github.com/the-tcpdump-group/libpcap.git
+ tag: libpcap-1.10.1
+ commit: c7642e2cc0c5bd65754685b160d25dc23c76c6bd
+ x-checker-data:
+ type: git
+ tag-pattern: ^libpcap-([\d.]+)$
+ cleanup:
+ - /bin
+ - /include
+ - /share/man
+ - /lib/pkgconfig
+ - /lib/*.a
+ - name: pcsx2
+ buildsystem: cmake-ninja
+ builddir: true
+ config-opts:
+ - '-DCMAKE_BUILD_TYPE=Release'
+ - '-DPACKAGE_MODE=TRUE'
+ - '-DXDG_STD=TRUE'
+ - '-DDISABLE_BUILD_DATE=TRUE'
+ - '-DDISABLE_PCSX2_WRAPPER=TRUE'
+ - '-DDISABLE_ADVANCE_SIMD=TRUE'
+ - '-DSDL2_API=TRUE'
+ cleanup:
+ - /share/pixmaps
+ - /share/man
+ - /share/doc
+ post-install:
+ - >-
+ desktop-file-edit --set-key=Exec --set-value=pcsx2
+ /app/share/applications/PCSX2.desktop
+ - >-
+ install -Dm644 ../AppIcon128.png
+ /app/share/icons/hicolor/128x128/apps/PCSX2.png
+ - >-
+ install -Dm644 ../net.pcsx2.PCSX2.metainfo.xml
+ /app/share/metainfo/net.pcsx2.PCSX2.metainfo.xml
+ sources:
+ - type: git
+ url: https://github.com/PCSX2/pcsx2.git
+ tag: v1.7.2554
+ commit: 0d1675fbaa0d40874df98eed6270efc55620271b
+ - type: file
+ path: rd-submodules/pcsx2/net.pcsx2.PCSX2.metainfo.xml
+ - type: file
+ path: rd-submodules/pcsx2/AppIcon128.png
+
+ # pcsx2 - END
+
# Ryujinx
# Xemu
# Rpcs3
- # pcsx2
# vita3k
# dolphin
# arduboy
+ # pocket station
+ # cemu - win only: wine
+ # Anbox?
# External manifests end
@@ -514,6 +666,7 @@ modules:
# Tools
- mkdir -p ${FLATPAK_DEST}/retrodeck/tools/
- cp start-retroarch.sh ${FLATPAK_DEST}/retrodeck/tools/
+ - cp move-roms.sh ${FLATPAK_DEST}/retrodeck/tools/
- cp tools-gamelist.xml ${FLATPAK_DEST}/retrodeck/
- cp retrodeck.sh /app/bin/retrodeck.sh
diff --git a/rd-submodules/pcsx2 b/rd-submodules/pcsx2
new file mode 160000
index 00000000..68a40d61
--- /dev/null
+++ b/rd-submodules/pcsx2
@@ -0,0 +1 @@
+Subproject commit 68a40d61b37b6f9c9033dc93d426570b86938e3f
diff --git a/rd-submodules/retroarch b/rd-submodules/retroarch
new file mode 160000
index 00000000..bcd152ba
--- /dev/null
+++ b/rd-submodules/retroarch
@@ -0,0 +1 @@
+Subproject commit bcd152baf434eea464b9e58e48078ff674c13886
diff --git a/rd-submodules/yuzu b/rd-submodules/yuzu
new file mode 160000
index 00000000..c2395647
--- /dev/null
+++ b/rd-submodules/yuzu
@@ -0,0 +1 @@
+Subproject commit c23956479d76c12b559316cfd30755eef5e09902
diff --git a/retrodeck.sh b/retrodeck.sh
old mode 100644
new mode 100755
index dadd3c21..de186d2e
--- a/retrodeck.sh
+++ b/retrodeck.sh
@@ -22,20 +22,20 @@ then
if is_mounted "/run/media/mmcblk0p1"
then
roms_folder=/run/media/mmcblk0p1/retrodeck/roms
- mkdir -p /run/media/mmcblk0p1/retrodeck/
else
kdialog --title "RetroDECK" --error "SD Card is not readable, please check if it inserted or mounted correctly and run RetroDECK again."
exit 0
fi
fi
+ mkdir -p $roms_folder
+
# initializing ES-DE
mkdir -p /var/config/retrodeck/tools
# Cleaning
rm -rf /var/config/emulationstation/
- rm ~/retrodeck/bios
rm /var/config/retrodeck/tools/*
kdialog --title "RetroDECK" --msgbox "EmulationStation will now initialize the system, please don't edit the roms location, just select:\n\nCREATE DIRECTORIES, YES, QUIT\n\nRetroDECK will manage the rest."
@@ -46,9 +46,9 @@ then
kdialog --title "RetroDECK" --msgbox "RetroDECK will now install the needed files, please wait one minute, another message will notify when the process will be finished.\n\nPress OK to continue."
- mv /var/config/emulationstation/ROMs /var/config/emulationstation/ROMs.bak
+ mv -f /var/config/emulationstation/ROMs /var/config/emulationstation/ROMs.bak
ln -s $roms_folder /var/config/emulationstation/ROMs
- mv /var/config/emulationstation/ROMs.bak $roms_folder
+ mv -f /var/config/emulationstation/ROMs.bak/* $roms_folder/
# XMLSTARLET HERE
cp /app/retrodeck/es_settings.xml /var/config/emulationstation/.emulationstation/es_settings.xml
@@ -56,15 +56,17 @@ then
mkdir -p ~/retrodeck/saves
mkdir -p ~/retrodeck/states
mkdir -p ~/retrodeck/screenshots
+ mkdir -p ~/retrodeck/bios
+ mkdir -p /var/config/retroarch/
- cp -r /app/retrodeck/tools/* /var/config/retrodeck/tools
+ cp -r /app/retrodeck/tools/* /var/config/retrodeck/tools/
- mkdir -p /var/config/retroarch/system
- ln -s ~/.var/app/com.xargon.retrodeck/config/retroarch/system ~/retrodeck/bios
+ rm -rf /var/config/retroarch/system
+ ln -s ~/retrodeck/bios /var/config/retroarch/system
cp /app/retrodeck/retrodeck-retroarch.cfg /var/config/retroarch/retroarch.cfg
- mkdir -p /var/config/emulationstation/.emulationstation/gamelists/tools/
+ mkdir -p /var/config/emulationstation/.emulationstation/custom_systems/tools/
cp /app/retrodeck/tools-gamelist.xml /var/config/emulationstation/.emulationstation/custom_systems/tools/gamelist.xml
mkdir -p /var/config/retroarch/cores/
@@ -72,7 +74,7 @@ then
touch ~/retrodeck/.lock
- kdialog --title "RetroDECK" --msgbox "Initialization completed, please put your roms in: $roms_folder.\nIf you wish to change the roms location you may use the tool located the tools section of RetroDECK (coming soon)."
+ kdialog --title "RetroDECK" --msgbox "Initialization completed.\nplease put your roms in:\n\n$roms_folder\n\nand your bioses in\n\n~/retrodeck/bios\n\nThen start the program again.\nIf you wish to change the roms location, you may use the tool located the tools section of RetroDECK.\n\nIt's suggested to add RetroDECK to your Steam Library for a quick access."
else
emulationstation --home /var/config/emulationstation
fi
diff --git a/tools-gamelist.xml b/tools-gamelist.xml
index 99e1e1f5..3c867b28 100644
--- a/tools-gamelist.xml
+++ b/tools-gamelist.xml
@@ -5,10 +5,14 @@
Start RetroArch
RetroArch
Start RetroArch to manually tweak your settings.
- 20100525T000000
- Libretro
- Libretro
- Emulator
+ true
+ true
+
+
+ ./move-roms.sh
+ Move roms folder
+ Move roms folder
+ Move roms folder from internal to external and vice versa.
true
true
diff --git a/tools/move-roms.sh b/tools/move-roms.sh
new file mode 100644
index 00000000..6128ab9a
--- /dev/null
+++ b/tools/move-roms.sh
@@ -0,0 +1,25 @@
+#!/bin/bash
+
+if [ -d ~/retrodeck/roms ] && [ -d ~/retrodeck/roms ]
+then # found both internal and sd folders
+ kdialog --title "RetroDECK" --warning "I found a roms folder both in internal and SD Card, in order to make this tool useful you should remove one of the two."
+ exit 0
+fi
+
+if [ -d ~/retrodeck/roms ] && [ ! -d /run/media/mmcblk0p1/retrodeck/roms ]
+then # found internal folder and not the external
+ roms_path=~/retrodeck
+ new_roms_path=/run/media/mmcblk0p1/retrodeck
+fi
+
+if [ ! -d ~/retrodeck/roms ] && [ -d /run/media/mmcblk0p1/retrodeck/roms ]
+then # found external folder and not the internal
+ roms_path=/run/media/mmcblk0p1/retrodeck
+ new_roms_path=~/retrodeck
+fi
+
+mkdir -p $new_roms_path
+mv -f $roms_path/roms $new_roms_path/roms
+rm -f /var/config/emulationstation/ROMs
+ln -s $new_roms_path/roms /var/config/emulationstation/ROMs
+rm -f $roms_path/roms
diff --git a/tools/start-retroarch.sh b/tools/start-retroarch.sh
index 11de5e1a..621a1b24 100644
--- a/tools/start-retroarch.sh
+++ b/tools/start-retroarch.sh
@@ -1,5 +1,5 @@
#!/bin/bash
-kdialog --title "RetroDECK" --warningyesno "Doing some changes in the RetroArch configuration may create serious issues, please continue only if you know what you're doing. Are you sure do you want to continue?"
+kdialog --title "RetroDECK" --warningyesno "Doing some changes in the RetroArch configuration may create serious issues, please continue only if you know what you're doing.\n\nDo you want to continue?"
if [ $? == 0 ]; then
retroarch
\ No newline at end of file