Merge pull request #3 from XargonWan/cooker

Merging cooker on main
This commit is contained in:
XargonWan 2022-04-11 21:01:25 +09:00 committed by GitHub
commit aeaa781a0b
11 changed files with 415 additions and 258 deletions

View file

@ -6,9 +6,17 @@ name: Cooker
on: on:
# Triggers the workflow on push or pull request events but only for the main branch # Triggers the workflow on push or pull request events but only for the main branch
push: push:
<<<<<<< HEAD
branches:
- cooker
pull_request:
branches:
- cooker
=======
branches: [ '*' ] branches: [ '*' ]
pull_request: pull_request:
branches: [ '*' ] branches: [ '*' ]
>>>>>>> main
# Allows you to run this workflow manually from the Actions tab # Allows you to run this workflow manually from the Actions tab
workflow_dispatch: workflow_dispatch:
@ -27,9 +35,19 @@ jobs:
- name: Prepearing enviornment - name: Prepearing enviornment
run: | 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 apt install flatpak flatpak-builder
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo 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 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 # Runs a set of commands using the runners shell
- name: Building flatpak - name: Building flatpak
@ -38,14 +56,29 @@ jobs:
sudo flatpak-builder --repo=local --force-clean localrepo com.xargon.retrodeck.yml sudo flatpak-builder --repo=local --force-clean localrepo com.xargon.retrodeck.yml
sudo flatpak build-bundle local RetroDECK.flatpak com.xargon.retrodeck 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 - name: Publish the flatpak in a new cooker release
uses: ncipollo/release-action@v1 uses: ncipollo/release-action@v1
with: with:
tag: "${{ steps.version.outputs.version }}" tag: "${{ steps.version.outputs.version }}"
>>>>>>> main
body: | body: |
# Release Notes (Cooker) # Release Notes (Cooker)
This is a cooker snapshot based on the commit: ${{ github.event.repository.full_name }}@${{github.sha}}. 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. 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. See the [wiki](https://amberelec.org/Contributing-to-AmberELEC) for more info.
@ -56,6 +89,7 @@ jobs:
### Upgrade Instructions ### Upgrade Instructions
You can update to this release using the `prerelease` channel on your device. This is the recommended way to use prerelease versions. 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" artifacts: "RetroDECK.flatpak"
allowUpdates: true allowUpdates: true

9
.gitmodules vendored
View file

@ -1,3 +1,12 @@
[submodule "shared-modules"] [submodule "shared-modules"]
path = shared-modules path = shared-modules
url = https://github.com/flathub/shared-modules.git 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

View file

@ -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

View file

@ -2,6 +2,10 @@ app-id: com.xargon.retrodeck
runtime: org.kde.Platform runtime: org.kde.Platform
runtime-version: '5.15-21.08' runtime-version: '5.15-21.08'
sdk: org.kde.Sdk sdk: org.kde.Sdk
# Needed for Yuzu
base: io.qt.qtwebengine.BaseApp
base-version: 5.15-21.08
# /Needed for Yuzu
command: retrodeck.sh command: retrodeck.sh
finish-args: finish-args:
@ -33,6 +37,20 @@ cleanup:
- /lib/libfreeimage.a - /lib/libfreeimage.a
- /lib/libogg.a - /lib/libogg.a
- /lib/libvpx.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: modules:
@ -178,7 +196,6 @@ modules:
# External manifests start # External manifests start
# RetroArch - https://github.com/flathub/org.libretro.RetroArch # RetroArch - https://github.com/flathub/org.libretro.RetroArch
# nope: remember to put ' /org.libretro.RetroArch/' as submodules prefix
- name: retroarch - name: retroarch
config-opts: config-opts:
@ -190,9 +207,9 @@ modules:
url: https://github.com/libretro/RetroArch.git url: https://github.com/libretro/RetroArch.git
branch: de4e56ecf28a09057734f8624af6d62f3088734f branch: de4e56ecf28a09057734f8624af6d62f3088734f
- type: file - type: file
path: org.libretro.RetroArch.appdata.xml path: rd-submodules/retroarch/org.libretro.RetroArch.appdata.xml
- type: file - type: file
path: retroarch.cfg path: rd-submodules/retroarch/retroarch.cfg
post-install: post-install:
- mkdir -p ${FLATPAK_DEST}/share/icons/hicolor/scalable/apps/ - mkdir -p ${FLATPAK_DEST}/share/icons/hicolor/scalable/apps/
- >- - >-
@ -310,183 +327,318 @@ modules:
# Yuzu - https://github.com/flathub/org.yuzu_emu.yuzu # Yuzu - https://github.com/flathub/org.yuzu_emu.yuzu
#- shared-modules/libusb/libusb.json - name: libzip
#- name: libzip buildsystem: cmake-ninja
# buildsystem: cmake-ninja config-opts:
# config-opts: - '-DCMAKE_BUILD_TYPE=RelWithDebInfo'
# - '-DCMAKE_BUILD_TYPE=RelWithDebInfo' sources:
# sources: - type: archive
# - type: archive url: https://github.com/nih-at/libzip/archive/v1.8.0.tar.gz
# url: https://github.com/nih-at/libzip/archive/v1.8.0.tar.gz sha256: 83e5d6d5dbe8f9df80aad388fa523ca3558398ed440a5afda6ef9b36b0ffdc1f
# sha256: 83e5d6d5dbe8f9df80aad388fa523ca3558398ed440a5afda6ef9b36b0ffdc1f x-checker-data:
# x-checker-data: type: anitya
# type: anitya project-id: 10649
# project-id: 10649 url-template: https://github.com/nih-at/libzip/archive/v$version.tar.gz
# url-template: https://github.com/nih-at/libzip/archive/v$version.tar.gz - name: zstd
#- name: zstd buildsystem: simple
# buildsystem: simple build-commands:
# build-commands: - make -j $FLATPAK_BUILDER_N_JOBS
# - make -j $FLATPAK_BUILDER_N_JOBS - make PREFIX=/ DESTDIR="${FLATPAK_DEST}" install
# - make PREFIX=/ DESTDIR="${FLATPAK_DEST}" install sources:
# sources: - type: archive
# - type: archive url: >-
# url: >- https://github.com/facebook/zstd/releases/download/v1.5.2/zstd-1.5.2.tar.gz
# https://github.com/facebook/zstd/releases/download/v1.5.2/zstd-1.5.2.tar.gz sha256: 7c42d56fac126929a6a85dbc73ff1db2411d04f104fae9bdea51305663a83fd0
# sha256: 7c42d56fac126929a6a85dbc73ff1db2411d04f104fae9bdea51305663a83fd0 x-checker-data:
# x-checker-data: type: anitya
# type: anitya project-id: 12083
# project-id: 12083 url-template: >-
# url-template: >- https://github.com/facebook/zstd/releases/download/v$version/zstd-$version.tar.gz
# https://github.com/facebook/zstd/releases/download/v$version/zstd-$version.tar.gz - name: fmt
#- name: fmt buildsystem: cmake-ninja
# buildsystem: cmake-ninja config-opts:
# config-opts: - '-DFMT_TEST=OFF'
# - '-DFMT_TEST=OFF' sources:
# sources: - type: archive
# - type: archive url: https://github.com/fmtlib/fmt/releases/download/8.1.1/fmt-8.1.1.zip
# url: https://github.com/fmtlib/fmt/releases/download/8.1.1/fmt-8.1.1.zip sha256: 23778bad8edba12d76e4075da06db591f3b0e3c6c04928ced4a7282ca3400e5d
# sha256: 23778bad8edba12d76e4075da06db591f3b0e3c6c04928ced4a7282ca3400e5d x-checker-data:
# x-checker-data: type: anitya
# type: anitya project-id: 11526
# project-id: 11526 url-template: >-
# url-template: >- https://github.com/fmtlib/fmt/releases/download/$version/fmt-$version.zip
# https://github.com/fmtlib/fmt/releases/download/$version/fmt-$version.zip - name: glslang
#- name: glslang buildsystem: cmake-ninja
# buildsystem: cmake-ninja config-opts:
# config-opts: - '-DCMAKE_BUILD_TYPE=Release'
# - '-DCMAKE_BUILD_TYPE=Release' sources:
# sources: - type: archive
# - type: archive url: https://github.com/KhronosGroup/glslang/archive/11.8.0.tar.gz
# url: https://github.com/KhronosGroup/glslang/archive/11.8.0.tar.gz sha256: 9e5fbe5b844d203da5e61bcd84eda76326e0ff5dc696cb862147bbe01d2febb0
# sha256: 9e5fbe5b844d203da5e61bcd84eda76326e0ff5dc696cb862147bbe01d2febb0 x-checker-data:
# x-checker-data: type: anitya
# type: anitya stable-only: true
# stable-only: true project-id: 205796
# project-id: 205796 url-template: https://github.com/KhronosGroup/glslang/archive/$version.tar.gz
# url-template: https://github.com/KhronosGroup/glslang/archive/$version.tar.gz - name: catch2
#- name: catch2 buildsystem: cmake-ninja
# buildsystem: cmake-ninja config-opts:
# config-opts: - '-DCMAKE_BUILD_TYPE=Release'
# - '-DCMAKE_BUILD_TYPE=Release' - '-DCATCH_BUILD_TESTING=OFF'
# - '-DCATCH_BUILD_TESTING=OFF' builddir: true
# builddir: true sources:
# sources: - type: archive
# - type: archive url: https://github.com/catchorg/Catch2/archive/v2.13.8.tar.gz
# url: https://github.com/catchorg/Catch2/archive/v2.13.8.tar.gz sha256: b9b592bd743c09f13ee4bf35fc30eeee2748963184f6bea836b146e6cc2a585a
# sha256: b9b592bd743c09f13ee4bf35fc30eeee2748963184f6bea836b146e6cc2a585a x-checker-data:
# x-checker-data: type: anitya
# type: anitya stable-only: true
# stable-only: true project-id: 7680
# project-id: 7680 url-template: https://github.com/catchorg/Catch2/archive/v$version.tar.gz
# url-template: https://github.com/catchorg/Catch2/archive/v$version.tar.gz - name: nlohmann-json
#- name: nlohmann-json buildsystem: cmake-ninja
# buildsystem: cmake-ninja config-opts:
# config-opts: - '-DCMAKE_BUILD_TYPE=Release'
# - '-DCMAKE_BUILD_TYPE=Release' - '-DJSON_BuildTests=OFF'
# - '-DJSON_BuildTests=OFF' sources:
# sources: - type: archive
# - type: archive url: https://github.com/nlohmann/json/archive/v3.10.5.tar.gz
# url: https://github.com/nlohmann/json/archive/v3.10.5.tar.gz sha256: 5daca6ca216495edf89d167f808d1d03c4a4d929cef7da5e10f135ae1540c7e4
# sha256: 5daca6ca216495edf89d167f808d1d03c4a4d929cef7da5e10f135ae1540c7e4 x-checker-data:
# x-checker-data: type: anitya
# type: anitya project-id: 141453
# project-id: 141453 url-template: https://github.com/nlohmann/json/archive/v$version.tar.gz
# url-template: https://github.com/nlohmann/json/archive/v$version.tar.gz - name: boost
#- name: boost buildsystem: simple
# buildsystem: simple build-commands:
# build-commands: - ./bootstrap.sh --with-libraries=context,container,system,headers
# - ./bootstrap.sh --with-libraries=context,container,system,headers - ./b2 -j $FLATPAK_BUILDER_N_JOBS install --prefix=/app
# - ./b2 -j $FLATPAK_BUILDER_N_JOBS install --prefix=/app sources:
# sources: - type: archive
# - type: archive url: >-
# url: >- https://boostorg.jfrog.io/artifactory/main/release/1.78.0/source/boost_1_78_0.tar.bz2
# https://boostorg.jfrog.io/artifactory/main/release/1.78.0/source/boost_1_78_0.tar.bz2 sha256: 8681f175d4bdb26c52222665793eef08490d7758529330f98d3b29dd0735bccc
# sha256: 8681f175d4bdb26c52222665793eef08490d7758529330f98d3b29dd0735bccc x-checker-data:
# x-checker-data: type: anitya
# type: anitya project-id: 6845
# project-id: 6845 url-template: >-
# url-template: >- https://boostorg.jfrog.io/artifactory/main/release/$version/source/boost_1_78_0.tar.bz2
# https://boostorg.jfrog.io/artifactory/main/release/$version/source/boost_1_78_0.tar.bz2 - name: nv-codec-headers
#- name: nv-codec-headers make-install-args:
# make-install-args: - PREFIX=/app
# - PREFIX=/app no-autogen: true
# no-autogen: true cleanup:
# cleanup: - '*'
# - '*' sources:
# sources: - type: git
# - type: git url: https://git.videolan.org/git/ffmpeg/nv-codec-headers.git
# url: https://git.videolan.org/git/ffmpeg/nv-codec-headers.git tag: n11.1.5.1
# tag: n11.1.5.1 commit: 84483da70d903239d4536763fde8c7e6c4e80784
# commit: 84483da70d903239d4536763fde8c7e6c4e80784 x-checker-data:
# x-checker-data: type: git
# type: git tag-pattern: ^n([\d.]+)$
# tag-pattern: ^n([\d.]+)$ - name: yuzu
#- name: yuzu buildsystem: cmake-ninja
# buildsystem: cmake-ninja builddir: true
# builddir: true config-opts:
# config-opts: - '-DCMAKE_BUILD_TYPE=RelWithDebInfo'
# - '-DCMAKE_BUILD_TYPE=RelWithDebInfo' - '-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON'
# - '-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON' - '-DENABLE_QT_TRANSLATION=ON'
# - '-DENABLE_QT_TRANSLATION=ON' - '-DYUZU_ENABLE_COMPATIBILITY_REPORTING=ON'
# - '-DYUZU_ENABLE_COMPATIBILITY_REPORTING=ON' - '-DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON'
# - '-DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON' - '-DYUZU_USE_QT_WEB_ENGINE=ON'
# - '-DYUZU_USE_QT_WEB_ENGINE=ON' - '-DYUZU_USE_BUNDLED_FFMPEG=ON'
# - '-DYUZU_USE_BUNDLED_FFMPEG=ON' - '-DDISPLAY_VERSION=969'
# - '-DDISPLAY_VERSION=963' - '-DBUILD_TAG=mainline-969'
# - '-DBUILD_TAG=mainline-963' - '-DBUILD_REPOSITORY=yuzu-emu/yuzu-mainline'
# - '-DBUILD_REPOSITORY=yuzu-emu/yuzu-mainline' build-options:
# build-options: env:
# env: TITLEBARFORMATIDLE: yuzu {}
# TITLEBARFORMATIDLE: yuzu {} TITLEBARFORMATRUNNING: yuzu {} | {}
# TITLEBARFORMATRUNNING: yuzu {} | {} LDFLAGS: '-L/app/lib -Wl,-z,relro,-z,now -Wl,--as-needed'
# LDFLAGS: '-L/app/lib -Wl,-z,relro,-z,now -Wl,--as-needed' cleanup:
# cleanup: - /share/man
# - /share/man - /share/pixmaps
# - /share/pixmaps post-install:
# post-install: - install -Dm755 ../yuzu-launcher.sh /app/bin/yuzu-launcher
# - install -Dm755 ../yuzu-launcher.sh /app/bin/yuzu-launcher - >-
# - >- install -Dm644 ../org.yuzu_emu.yuzu.metainfo.xml
# install -Dm644 ../org.yuzu_emu.yuzu.metainfo.xml /app/share/appdata/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-install --dir=/app/share/applications ../dist/yuzu.desktop - >-
# - >- desktop-file-edit --set-key StartupWMClass --set-value yuzu --set-key
# desktop-file-edit --set-key StartupWMClass --set-value yuzu --set-key Exec --set-value yuzu-launcher /app/share/applications/yuzu.desktop
# Exec --set-value yuzu-launcher /app/share/applications/yuzu.desktop - >-
# - >- install -Dm644 ../dist/yuzu.svg
# install -Dm644 ../dist/yuzu.svg /app/share/icons/hicolor/scalable/apps/yuzu.svg
# /app/share/icons/hicolor/scalable/apps/yuzu.svg - >-
# - >- mv /app/share/mime/packages/yuzu.xml
# mv /app/share/mime/packages/yuzu.xml /app/share/mime/packages/org.yuzu_emu.yuzu.xml
# /app/share/mime/packages/org.yuzu_emu.yuzu.xml - >-
# - >- sed 's/yuzu/org.yuzu_emu.yuzu/g' -i
# sed 's/yuzu/org.yuzu_emu.yuzu/g' -i /app/share/mime/packages/org.yuzu_emu.yuzu.xml
# /app/share/mime/packages/org.yuzu_emu.yuzu.xml sources:
# sources: - type: git
# - type: git url: https://github.com/yuzu-emu/yuzu-mainline.git
# url: https://github.com/yuzu-emu/yuzu-mainline.git tag: mainline-0-969
# tag: mainline-0-963 commit: d179e12137cd8ff88b0eade7d13de801661f869b
# commit: 15bf148daf441e69265ea99771e0f1d327c5c10e disable-shallow-clone: true
# disable-shallow-clone: true x-checker-data:
# x-checker-data: type: git
# type: git tag-pattern: ^(mainline-0-\d+)$
# tag-pattern: ^(mainline-0-\d+)$ - type: file
# - type: file path: rd-submodules/yuzu/org.yuzu_emu.yuzu.metainfo.xml
# path: org.yuzu_emu.yuzu.metainfo.xml - type: file
# - type: file path: rd-submodules/yuzu/yuzu-launcher.sh
# path: yuzu-launcher.sh - type: file
# - type: file path: rd-submodules/yuzu/compatibility_list.json
# path: compatibility_list.json
# Yuzu - END # 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 # Ryujinx
# Xemu # Xemu
# Rpcs3 # Rpcs3
# pcsx2
# vita3k # vita3k
# dolphin # dolphin
# arduboy # arduboy
# pocket station
# cemu - win only: wine
# Anbox?
# External manifests end # External manifests end
@ -514,6 +666,7 @@ modules:
# Tools # Tools
- mkdir -p ${FLATPAK_DEST}/retrodeck/tools/ - mkdir -p ${FLATPAK_DEST}/retrodeck/tools/
- cp start-retroarch.sh ${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 tools-gamelist.xml ${FLATPAK_DEST}/retrodeck/
- cp retrodeck.sh /app/bin/retrodeck.sh - cp retrodeck.sh /app/bin/retrodeck.sh

1
rd-submodules/pcsx2 Submodule

@ -0,0 +1 @@
Subproject commit 68a40d61b37b6f9c9033dc93d426570b86938e3f

@ -0,0 +1 @@
Subproject commit bcd152baf434eea464b9e58e48078ff674c13886

1
rd-submodules/yuzu Submodule

@ -0,0 +1 @@
Subproject commit c23956479d76c12b559316cfd30755eef5e09902

20
retrodeck.sh Normal file → Executable file
View file

@ -22,20 +22,20 @@ then
if is_mounted "/run/media/mmcblk0p1" if is_mounted "/run/media/mmcblk0p1"
then then
roms_folder=/run/media/mmcblk0p1/retrodeck/roms roms_folder=/run/media/mmcblk0p1/retrodeck/roms
mkdir -p /run/media/mmcblk0p1/retrodeck/
else else
kdialog --title "RetroDECK" --error "SD Card is not readable, please check if it inserted or mounted correctly and run RetroDECK again." kdialog --title "RetroDECK" --error "SD Card is not readable, please check if it inserted or mounted correctly and run RetroDECK again."
exit 0 exit 0
fi fi
fi fi
mkdir -p $roms_folder
# initializing ES-DE # initializing ES-DE
mkdir -p /var/config/retrodeck/tools mkdir -p /var/config/retrodeck/tools
# Cleaning # Cleaning
rm -rf /var/config/emulationstation/ rm -rf /var/config/emulationstation/
rm ~/retrodeck/bios
rm /var/config/retrodeck/tools/* 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." 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." 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 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 # XMLSTARLET HERE
cp /app/retrodeck/es_settings.xml /var/config/emulationstation/.emulationstation/es_settings.xml 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/saves
mkdir -p ~/retrodeck/states mkdir -p ~/retrodeck/states
mkdir -p ~/retrodeck/screenshots 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 rm -rf /var/config/retroarch/system
ln -s ~/.var/app/com.xargon.retrodeck/config/retroarch/system ~/retrodeck/bios ln -s ~/retrodeck/bios /var/config/retroarch/system
cp /app/retrodeck/retrodeck-retroarch.cfg /var/config/retroarch/retroarch.cfg 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 cp /app/retrodeck/tools-gamelist.xml /var/config/emulationstation/.emulationstation/custom_systems/tools/gamelist.xml
mkdir -p /var/config/retroarch/cores/ mkdir -p /var/config/retroarch/cores/
@ -72,7 +74,7 @@ then
touch ~/retrodeck/.lock 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 else
emulationstation --home /var/config/emulationstation emulationstation --home /var/config/emulationstation
fi fi

View file

@ -5,10 +5,14 @@
<name>Start RetroArch</name> <name>Start RetroArch</name>
<sortname>RetroArch</sortname> <sortname>RetroArch</sortname>
<desc>Start RetroArch to manually tweak your settings.</desc> <desc>Start RetroArch to manually tweak your settings.</desc>
<releasedate>20100525T000000</releasedate> <nogamecount>true</nogamecount>
<developer>Libretro</developer> <nomultiscrape>true</nomultiscrape>
<publisher>Libretro</publisher> </game>
<genre>Emulator</genre> <game>
<path>./move-roms.sh</path>
<name>Move roms folder</name>
<sortname>Move roms folder</sortname>
<desc>Move roms folder from internal to external and vice versa.</desc>
<nogamecount>true</nogamecount> <nogamecount>true</nogamecount>
<nomultiscrape>true</nomultiscrape> <nomultiscrape>true</nomultiscrape>
</game> </game>

25
tools/move-roms.sh Normal file
View file

@ -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

View file

@ -1,5 +1,5 @@
#!/bin/bash #!/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 if [ $? == 0 ]; then
retroarch retroarch