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:
# 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

9
.gitmodules vendored
View file

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

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

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

View file

@ -5,10 +5,14 @@
<name>Start RetroArch</name>
<sortname>RetroArch</sortname>
<desc>Start RetroArch to manually tweak your settings.</desc>
<releasedate>20100525T000000</releasedate>
<developer>Libretro</developer>
<publisher>Libretro</publisher>
<genre>Emulator</genre>
<nogamecount>true</nogamecount>
<nomultiscrape>true</nomultiscrape>
</game>
<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>
<nomultiscrape>true</nomultiscrape>
</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
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