2022-07-06 17:53:51 +00:00
app-id : net.retrodeck.retrodeck
runtime : org.kde.Platform
runtime-version : 5.15 -21.08
2022-08-31 14:20:00 +00:00
#runtime-version: 6.3 # bumped because of pcsx2-qt
2022-07-06 17:53:51 +00:00
sdk : org.kde.Sdk
sdk-extensions :
2022-09-14 10:17:47 +00:00
- org.freedesktop.Sdk.Extension.llvm14 # Needed for rpcs3
2022-11-29 16:47:42 +00:00
#- org.freedesktop.Sdk.Extension.dotnet6 # Needed for Ryujinx - Removed, check if it's not breaking something else
2022-08-10 21:13:55 +00:00
base : io.qt.qtwebengine.BaseApp # Needed for Yuzu
2022-08-30 07:28:30 +00:00
base-version : 5.15 -21.08 # Needed for Yuzu
2022-07-06 17:53:51 +00:00
command : retrodeck.sh
finish-args :
- --socket=x11
2022-10-27 12:26:55 +00:00
#- --socket=wayland
2022-07-06 17:53:51 +00:00
- --socket=pulseaudio
- --share=ipc
- --share=network
- --device=all
2022-11-21 01:05:11 +00:00
- --filesystem=home # Needed to be able to relocate / remove / create symlink at ~/retrodeck
2022-07-06 17:53:51 +00:00
- --filesystem=/run/media
- --filesystem=/media
- --allow=multiarch
- --talk-name=org.freedesktop.ScreenSaver
- --talk-name=org.freedesktop.PowerManagement.Inhibit
2022-11-05 14:55:53 +00:00
- --talk-name=org.freedesktop.login1.Manager
2022-07-06 17:53:51 +00:00
- --filesystem=xdg-run/app/com.discordapp.Discord:create
# Yuzu
# - --filesystem=home:ro # This may break Yuzu, let's see
# - --filesystem=/run/media:ro
# Dolphin
- --allow=bluetooth
#- --env=QT_QPA_PLATFORM=xcb #not sure if this will break something
# rpcs3
2022-10-27 12:26:55 +00:00
#- --socket=fallback-x11
2022-07-06 17:53:51 +00:00
cleanup :
# ES-DE
- /include
- /share/ffmpeg
- /lib/cmake
#- /lib/debug
- /lib/pkgconfig
# 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 :
2023-03-14 08:40:16 +00:00
- rd-submodules/shared-modules/libusb/libusb.json
2022-11-05 14:55:53 +00:00
2022-07-06 17:53:51 +00:00
# This module is used to define the RetroDECK version
# If the version is set as cooker it will automatically generate the version tag based on the date
# else it will just put what is written, "v" is not needed
2022-09-06 12:46:59 +00:00
# The version number is hardcoded in /app/retrodeck/version
2022-10-24 19:49:47 +00:00
#
2022-07-06 17:53:51 +00:00
# UPDATE STEPS FOR MAIN:
2023-03-15 12:49:07 +00:00
# [X] Update the VERSION variable
# [X] Update the appdata.xml with the version number and notes
# [X] change branch into main in version-initialization (first one)
# [X] change branch into main in retrodeck module (last one)
# [X] if header (before modules) was edited, edit it even in flathub.yml
2022-07-06 17:53:51 +00:00
#
- name : version-initialization
buildsystem : simple
build-commands :
- |
git checkout ${GITHUB_REF_NAME}
mkdir -p ${FLATPAK_DEST}/retrodeck/
2023-03-18 13:54:32 +00:00
VERSION="cooker-0.6.3b"
2022-07-18 07:54:51 +00:00
if [[ $VERSION == *"cooker"* ]];
2022-07-06 17:53:51 +00:00
then
2022-11-22 13:21:26 +00:00
VERSION="$VERSION-[$(git rev-parse --short HEAD)]"
2022-07-06 17:53:51 +00:00
fi
echo $VERSION >> ${FLATPAK_DEST}/retrodeck/version
cat ${FLATPAK_DEST}/retrodeck/version
sources :
- type : git
url : https://github.com/XargonWan/RetroDECK.git
2023-03-21 08:13:39 +00:00
branch : cooker-0.6.3b
2022-07-06 17:53:51 +00:00
- name : xmlstarlet
config-opts :
- --disable-static-libs
- --with-libxml-libs-prefix=/usr/lib
- --with-libxml-include-prefix=/usr/include/libxml2
sources :
- type : archive
url : https://downloads.sourceforge.net/xmlstar/xmlstarlet-1.6.1.tar.gz
sha256 : 15d838c4f3375332fd95554619179b69e4ec91418a3a5296e7c631b7ed19e7ca
- type : shell
commands :
- cp -p /usr/share/automake-*/config.{sub,guess} .
- autoreconf -vfi
post-install :
- ln -s "xml" "${FLATPAK_DEST}/bin/xmlstarlet" ||:
cleanup : [ '*' ]
2022-08-30 07:59:43 +00:00
# pcsx2-qt needs QT6, maybe others, here until every qt emulator will support qt6 (not yuzu atm)
2022-08-30 08:01:21 +00:00
# from: https://github.com/flathub/org.profex_xrd.Profex
2022-08-30 07:59:43 +00:00
2022-08-31 10:07:28 +00:00
# - name: qt6-core5compat
# buildsystem: cmake-ninja
# builddir: true
# sources:
# - type: archive
# url: https://download.qt.io/official_releases/qt/6.2/6.2.4/submodules/qt5compat-everywhere-src-6.2.4.tar.xz
# sha256: 5de2b9e25bf7de161fbb88ecdd468ed1788bc899392fc05ed80aa590ebb352fa
# x-checker-data:
# type: html
# url: https://download.qt.io/official_releases/qt/6.2/
# version-pattern: '>([\d\.-]*)/<'
# url-template: https://download.qt.io/official_releases/qt/6.2/$version/submodules/qt5compat-everywhere-src-$version.tar.xz
# post-install:
# - mkdir -p /app/lib/mkspecs
# - cp -R /app/mkspecs/* /app/lib/mkspecs/
# - ln -fsr ${FLATPAK_DEST}/lib/${FLATPAK_ARCH}-linux-gnu/libQt*.so* -t ${FLATPAK_DEST}/lib/
# - sed -i 's/\\([0-9]\\+\\.[0-9]\\+\\)\\.[0-9]\\+ ${_Qt6.*_FIND_VERSION_EXACT}/\\1/'
# ${FLATPAK_DEST}/lib/${FLATPAK_ARCH}-linux-gnu/cmake/Qt6*/Qt6*Config.cmake
# - sed -e 's@PATHS \"${CMAKE_CURRENT_LIST_DIR}/..\" NO_DEFAULT_PATH@PATHS \"${CMAKE_CURRENT_LIST_DIR}/..\"
# \"/usr/lib/${CMAKE_CXX_LIBRARY_ARCHITECTURE}/cmake/\" NO_DEFAULT_PATH@' -i
# ${FLATPAK_DEST}/lib/${FLATPAK_ARCH}-linux-gnu/cmake/Qt6*/Qt6*Config.cmake
# - sed -e 's@\\($$QT_MODULE_BIN_BASE\\)@\\1 '${FLATPAK_DEST}'/bin @' -i ${FLATPAK_DEST}/lib/mkspecs/modules/*.pri
# - sed -e 's@\\($$QT_MODULE_INCLUDE_BASE \\)@\\1'${FLATPAK_DEST}'/include @'
# -i ${FLATPAK_DEST}/lib/mkspecs/modules/*.pri
# - sed -e 's@$$QT_MODULE_INCLUDE_BASE/@'${FLATPAK_DEST}'/include/@g' -i ${FLATPAK_DEST}/lib/mkspecs/modules/*.pri
# - sed -e 's@$$QT_MODULE_LIB_BASE@'${FLATPAK_DEST}'/lib@g' -i ${FLATPAK_DEST}/lib/mkspecs/modules/*.pri
# cleanup:
# - /app/mkspecs
2022-10-24 19:49:47 +00:00
2022-07-06 17:53:51 +00:00
# mesa repo got a double certificate issue and gnutils cannot handle that so GLU download fails,
# this affects even the shared-modules's glu so I have to replace it temporarly
# more info there: https://gitlab.com/gnutls/gnutls/-/issues/1335
- name : glu
buildsystem : meson
cleanup :
- /include
- /lib/debug
- /lib/pkgconfig
- /lib/*.a
sources :
- type : archive
url : https://ftp.osuosl.org/pub/blfs/conglomeration/glu/glu-9.0.2.tar.xz
sha256 : 6e7280ff585c6a1d9dfcdf2fca489251634b3377bfc33c29e4002466a38d02d4
- name : libgudev
buildsystem : meson
config-opts :
- -Dtests=disabled
- -Dvapi=disabled
- -Dintrospection=disabled
- -Dgtk_doc=false
cleanup :
- /include
- /etc
- /libexec
- /sbin
- /lib/pkgconfig
- /lib/systemd
- /man
- /share/aclocal
- /share/doc
- /share/gtk-doc
- /share/man
- /share/pkgconfig
- '*.la'
- '*.a'
sources :
- type : archive
url : https://ftp.osuosl.org/pub/blfs/conglomeration/libgudev/libgudev-237.tar.xz
sha256 : 0d06b21170d20c93e4f0534dbb9b0a8b4f1119ffb00b4031aaeb5b9148b686aa
2023-02-01 15:38:25 +00:00
- name : chdman-tool
buildsystem : simple
build-commands :
- cmake -B . -G Ninja
- cmake --build .
- cp chdman /app/bin
sources :
- type : git
url : https://github.com/CharlesThobe/chdman.git
commit : f7cadf1720cbeba8a14f2685830ff424a0c7f6cd
2022-07-06 17:53:51 +00:00
# ES-DE - START
# https://gitlab.com/es-de/emulationstation-de
- name : ffmpeg
config-opts :
- --disable-static
- --disable-programs
- --disable-doc
- --enable-gpl
- --enable-shared
- --enable-libvorbis
- --enable-libopus
- --enable-libvpx
- --enable-postproc
sources :
- type : git
url : https://github.com/FFmpeg/FFmpeg.git
2022-09-21 18:36:12 +00:00
tag : n5.1.1
2022-07-06 17:53:51 +00:00
- name : freeimage
no-autogen : true
build-options :
cxxflags : -std=c++14
make-args :
- DESTDIR=/app
sources :
- type : archive
url : http://downloads.sourceforge.net/freeimage/FreeImage3180.zip
sha256 : f41379682f9ada94ea7b34fe86bf9ee00935a3147be41b6569c9605a53e438fd
- type : shell
commands :
- sed -i 's|-o root -g root ||' ./Makefile.gnu
- sed -i 's|/usr|/app|' ./Makefile.gnu
- name : pugixml
buildsystem : cmake-ninja
config-opts :
- -DBUILD_SHARED_LIBS=on .
sources :
- type : archive
url : https://github.com/zeux/pugixml/releases/download/v1.11.4/pugixml-1.11.4.tar.gz
sha256 : 8ddf57b65fb860416979a3f0640c2ad45ddddbbafa82508ef0a0af3ce7061716
2022-08-30 15:05:25 +00:00
# When updating this module remember to check those: https://gitlab.com/es-de/emulationstation-de/-/tree/v1.2.6/resources/systems/unix
2022-07-06 17:53:51 +00:00
# But we don't include them 1:1 as RetroDECK got some specific configs in some cases
- name : emulationstation-de
buildsystem : cmake-ninja
cleanup :
- es-app
- es-core
sources :
- type : git
url : https://gitlab.com/es-de/emulationstation-de
2022-10-13 13:53:30 +00:00
branch : f8d782f1f3b1fba8a119b793edd01f37e0258953
2022-07-06 17:53:51 +00:00
- type : shell
commands :
- sed -i 's/QUIT EMULATIONSTATION/QUIT RETRODECK/g' es-app/src/guis/GuiMenu.cpp
- sed -i 's#"EMULATIONSTATION-DE V" + Utils::String::toUpper(PROGRAM_VERSION_STRING)#"RetroDECK
v'$(cat ${FLATPAK_DEST}/retrodeck/version)', ES-DE v" + Utils::String::toUpper(PROGRAM_VERSION_STRING)#g'
es-app/src/guis/GuiMenu.cpp
# ES-DE - END
2022-09-05 12:38:37 +00:00
# ES-DE Themes - START
2022-10-24 19:49:47 +00:00
2022-07-06 17:53:51 +00:00
- name : art-book-next
buildsystem : simple
build-commands :
2022-07-18 08:13:35 +00:00
- mkdir -p ${FLATPAK_DEST}/share/emulationstation/themes/art-book-next/
- mv -f * ${FLATPAK_DEST}/share/emulationstation/themes/art-book-next/
2022-03-23 01:31:09 +00:00
sources :
- type : git
2022-07-03 18:40:57 +00:00
url : https://github.com/anthonycaccese/art-book-next-retropie.git
2022-09-10 13:39:26 +00:00
commit : 23932f484a9949313baf80f92b2fbca38a7a8f37
2022-10-24 19:49:47 +00:00
2022-09-05 12:38:37 +00:00
- name : alekfull-nx-light
2022-07-18 08:13:35 +00:00
buildsystem : simple
build-commands :
2022-09-05 12:38:37 +00:00
- mkdir -p ${FLATPAK_DEST}/share/emulationstation/themes/alekfull-nx-light/
- mv -f * ${FLATPAK_DEST}/share/emulationstation/themes/alekfull-nx-light/
2022-07-18 08:13:35 +00:00
sources :
- type : git
2022-09-05 12:38:37 +00:00
url : https://github.com/anthonycaccese/alekfull-nx-retropie.git
2022-09-05 20:02:58 +00:00
commit : 67c8c8dee086bd06bcdc6dc34bb9bef1e1c11be7
2022-10-24 19:49:47 +00:00
2022-09-05 12:38:37 +00:00
- name : retrofix-revisited
2022-08-01 16:51:30 +00:00
buildsystem : simple
build-commands :
2022-09-05 12:38:37 +00:00
- mkdir -p ${FLATPAK_DEST}/share/emulationstation/themes/retrofix-revisited/
- mv -f * ${FLATPAK_DEST}/share/emulationstation/themes/retrofix-revisited/
2022-07-06 17:53:51 +00:00
sources :
- type : git
2022-09-05 12:38:37 +00:00
url : https://github.com/anthonycaccese/retrofix-revisited-retropie.git
commit : 6e75c9521426e69eb9abcb39d135d97a17d14568
2022-07-06 17:53:51 +00:00
2022-09-05 12:38:37 +00:00
# ES-DE Themes - END
2022-07-06 17:53:51 +00:00
# External manifests start
# RetroArch - START
# https://github.com/flathub/org.libretro.RetroArch
2023-02-01 15:38:25 +00:00
2022-07-06 17:53:51 +00:00
- name : retroarch
config-opts :
2022-12-02 08:09:22 +00:00
- '--enable-dbus'
2022-07-06 17:53:51 +00:00
make-args :
- GLOBAL_CONFIG_DIR=${FLATPAK_DEST}/etc
sources :
- type : git
url : https://github.com/libretro/RetroArch.git
2023-03-13 16:50:41 +00:00
commit : 938ab716bd290b0f469068500966a834b5782929
2022-07-06 17:53:51 +00:00
- type : file
path : rd-submodules/retroarch/retroarch.cfg
post-install :
- mkdir -p ${FLATPAK_DEST}/share/icons/hicolor/scalable/apps/
2022-12-02 08:09:22 +00:00
- >-
mv ${FLATPAK_DEST}/share/pixmaps/retroarch.svg
${FLATPAK_DEST}/share/icons/hicolor/scalable/apps/
2022-07-06 17:53:51 +00:00
- rmdir --ignore-fail-on-non-empty ${FLATPAK_DEST}/share/pixmaps/
- mkdir -p ${FLATPAK_DEST}/etc
2022-12-02 08:09:22 +00:00
- >-
sed s:@prefix@:${FLATPAK_DEST}:g retroarch.cfg >
${FLATPAK_DEST}/etc/retroarch.cfg
- mkdir -p ${FLATPAK_DEST}/share/appdata
2022-07-06 17:53:51 +00:00
modules :
2023-03-14 07:51:00 +00:00
- rd-submodules/retroarch/modules/libpng/libpng-1.6.35.json
- rd-submodules/retroarch/modules/nvidia-cg-toolkit/nvidia-cg-toolkit-3.1.0013.json
2023-03-14 08:40:16 +00:00
- rd-submodules/shared-modules/SDL/SDL-1.2.15.json
- rd-submodules/shared-modules/SDL/SDL_image-1.2.12.json
- rd-submodules/shared-modules/SDL/SDL_mixer-1.2.12.json
- rd-submodules/shared-modules/SDL/SDL_net-1.2.8.json
- rd-submodules/shared-modules/SDL/SDL_ttf-2.0.11.json
#- rd-submodules/shared-modules/libusb/libusb.json moved outside
2022-07-06 17:53:51 +00:00
# certificate glu issue
2023-03-14 08:40:16 +00:00
#- rd-submodules/shared-modules/gudev/gudev.json
2023-03-14 07:51:00 +00:00
- rd-submodules/retroarch/modules/libbz2/libbz2-1.0.8.json
- rd-submodules/retroarch/modules/xrandr/xrandr-1.5.1.json
- rd-submodules/retroarch/modules/libaio/libaio-0.3.112.json
2022-07-06 17:53:51 +00:00
# certificate issue, check libglu module for more info
2023-03-14 08:40:16 +00:00
#- rd-submodules/shared-modules/glu/glu-9.json
- rd-submodules/shared-modules/libdecor/libdecor-0.1.1.json
2022-07-06 17:53:51 +00:00
- name : retroarch-filers-video
subdir : gfx/video_filters
make-install-args :
- PREFIX=${FLATPAK_DEST}
sources :
- type : git
url : https://github.com/libretro/RetroArch.git
2023-03-13 16:50:41 +00:00
commit : 938ab716bd290b0f469068500966a834b5782929
2022-07-06 17:53:51 +00:00
- name : retroarch-filers-audio
subdir : libretro-common/audio/dsp_filters
make-install-args :
- PREFIX=${FLATPAK_DEST}
sources :
- type : git
url : https://github.com/libretro/RetroArch.git
2023-03-13 16:50:41 +00:00
commit : 938ab716bd290b0f469068500966a834b5782929
2022-07-06 17:53:51 +00:00
- name : retroarch-assets
make-install-args :
- PREFIX=${FLATPAK_DEST}
sources :
- type : git
url : https://github.com/libretro/retroarch-assets.git
2022-12-02 08:09:22 +00:00
commit : 4ec80faf1b5439d1654f407805bb66141b880826
2022-07-06 17:53:51 +00:00
- name : libretro-database
make-install-args :
- PREFIX=${FLATPAK_DEST}
sources :
- type : git
url : https://github.com/libretro/libretro-database.git
2023-03-13 16:50:41 +00:00
commit : 6a8d65d2bc1b7ffa7accb882e80c0a77b931bcc6
2022-07-06 17:53:51 +00:00
- name : libretro-core-info
make-install-args :
- PREFIX=${FLATPAK_DEST}
sources :
- type : git
url : https://github.com/libretro/libretro-core-info.git
2023-03-13 16:50:41 +00:00
commit : eb7e3ff064c3fdaae46b89c9da9f49e15a8e9c2b
2022-07-06 17:53:51 +00:00
- name : retroarch-joypad-autoconfig
make-install-args :
- PREFIX=${FLATPAK_DEST}
sources :
- type : git
url : https://github.com/libretro/retroarch-joypad-autoconfig.git
2023-03-13 16:50:41 +00:00
commit : 8ec6304a14bd37cf927ebe7555a274ac4fefeb69
2022-08-10 20:37:16 +00:00
- name : common-shaders
make-install-args :
- PREFIX=${FLATPAK_DEST}
sources :
- type : git
url : https://github.com/libretro/common-shaders.git
2022-10-01 19:25:19 +00:00
commit : 86cfa146a8dfddf6377ddb5dbcff552feae2e5bf
2022-08-10 20:37:16 +00:00
- name : slang-shaders
make-install-args :
- PREFIX=${FLATPAK_DEST}
sources :
- type : git
url : https://github.com/libretro/slang-shaders.git
2023-03-13 16:50:41 +00:00
commit : 8b35477a934739b1db193f22e7057754e7a87381
2022-08-10 20:37:16 +00:00
- name : glsl-shaders
make-install-args :
- PREFIX=${FLATPAK_DEST}
sources :
- type : git
url : https://github.com/libretro/glsl-shaders.git
2023-03-13 16:50:41 +00:00
commit : 799aa9e4d567db0874111d2aed9c9b9058a19641
2022-08-10 20:37:16 +00:00
- name : common-overlays
make-install-args :
- PREFIX=${FLATPAK_DEST}
sources :
- type : git
url : https://github.com/libretro/common-overlays.git
2022-12-02 08:09:22 +00:00
commit : b3827a2c63834ed9e1902acc7cf9019f64771ed3
2022-07-06 17:53:51 +00:00
# RetroArch - END
# Not part of the offical RetroArch manifest
- name : retroarch-cores
buildsystem : simple
build-commands :
- mkdir -p /app/share/libretro/cores/
- mv ./RetroArch-Linux-x86_64.AppImage.home/.config/retroarch/cores/* /app/share/libretro/cores/
sources :
- type : archive
2023-03-13 16:50:41 +00:00
url : https://buildbot.libretro.com/stable/1.15.0/linux/x86_64/RetroArch_cores.7z
2023-03-18 13:54:32 +00:00
sha256 : 2230bc38eaf87406efd0c2b7bdd1cf9e813ba113505600f14a7ef9eb06f8c7c0
2022-03-27 01:34:37 +00:00
2022-09-16 18:26:44 +00:00
# PPSSPP - START
# https://github.com/flathub/org.ppsspp.PPSSPP
- name : ppsspp
buildsystem : cmake-ninja
config-opts :
2022-09-21 21:46:02 +00:00
- -DUSE_SYSTEM_FFMPEG=OFF # default : off , turn this on?
2022-09-16 18:26:44 +00:00
- -DUSE_SYSTEM_LIBZIP=ON
- -DUSE_SYSTEM_ZSTD=ON
- -DUSE_WAYLAND_WSI=ON
2022-10-31 11:31:15 +00:00
#- -DUSING_X11_VULKAN=ON
2022-09-16 18:26:44 +00:00
- -DUSING_QT_UI=OFF
- -DBUILD_TESTING=OFF
- -DOpenGL_GL_PREFERENCE=GLVND
2023-02-18 10:19:10 +00:00
build-options :
arch :
aarch64 :
config-opts :
- -DUSING_EGL=ON
- -DUSING_GLES2=ON
post-install :
- install -Dm644 icons/icon-512.svg ${FLATPAK_DEST}/share/icons/hicolor/scalable/apps/ppsspp.svg
2022-10-31 11:31:15 +00:00
cleanup :
- /share/ppsspp/assets/lang/README.md
2022-09-16 18:26:44 +00:00
sources :
- type : git
2022-10-31 11:31:15 +00:00
url : &ppsspp-url https://github.com/hrydgard/ppsspp.git
2023-02-18 10:19:10 +00:00
tag : v1.14.4
commit : cd535263c1ad65fd03869591a8bd706680cbf04b
2022-09-16 18:26:44 +00:00
x-checker-data :
type : git
tag-pattern : ^v([\d.]+)$
2022-10-31 11:31:15 +00:00
is-main-source : true
- name : ppsspp-localization
buildsystem : simple
build-commands :
- |
for LANG_FILE in assets/lang/*.ini; do
LANG_FILE_NAME="$(basename "$LANG_FILE")"
LANG_PREFIX="${LANG_FILE_NAME:0:2}"
LANG_DEST="$FLATPAK_DEST/share/locale/$LANG_PREFIX/ppsspp/$LANG_FILE_NAME";
ln -fsr "$LANG_DEST" "$FLATPAK_DEST/share/ppsspp/$LANG_FILE"
install -Dm644 "$LANG_FILE" "$LANG_DEST"
done
sources :
- type : shell
commands :
- cp -a $FLATPAK_DEST/share/ppsspp/assets .
2022-09-16 18:26:44 +00:00
# PPSSPP - END
2022-07-06 17:53:51 +00:00
# Yuzu - START
2022-11-14 10:45:40 +00:00
# https://github.com/yuzu-emu/yuzu-mainline/releases
2022-07-06 17:53:51 +00:00
2022-11-14 10:43:51 +00:00
- name : Yuzu
2022-07-06 17:53:51 +00:00
buildsystem : simple
build-commands :
2022-11-14 10:43:51 +00:00
- chmod +x yuzu*.AppImage
- ./yuzu*.AppImage --appimage-extract
- mkdir -p "${FLATPAK_DEST}/yuzu"
- cp -r squashfs-root/* "${FLATPAK_DEST}/yuzu"
- ln -s "${FLATPAK_DEST}/yuzu/usr/bin/yuzu" "${FLATPAK_DEST}/bin/yuzu"
2022-07-06 17:53:51 +00:00
sources :
- type : file
2023-03-13 16:50:41 +00:00
url : https://github.com/yuzu-emu/yuzu-mainline/releases/download/mainline-0-1369/yuzu-mainline-20230312-54c359d1e.AppImage
sha256 : 219874f72ea09856c8f1349d7bf744ecbd2823a469bd29f036b386924f5c5a97
2022-07-06 17:53:51 +00:00
2022-11-14 10:43:51 +00:00
# Yuzu - END
2022-07-06 17:53:51 +00:00
2022-07-08 07:07:20 +00:00
# CITRA - START
2022-09-13 11:38:23 +00:00
# https://github.com/flathub/org.citra_emu.citra
2022-07-08 07:07:20 +00:00
2023-03-14 08:40:16 +00:00
- rd-submodules/shared-modules/SDL2/SDL2-with-libdecor.json
2023-03-13 16:50:41 +00:00
2022-07-08 07:07:20 +00:00
- name : citra
buildsystem : cmake-ninja
builddir : true
config-opts :
2023-02-18 10:19:10 +00:00
- '-DCMAKE_BUILD_TYPE=Release'
- '-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON'
- '-DENABLE_LTO=ON'
- '-DENABLE_QT_TRANSLATION=ON'
- '-DCITRA_ENABLE_COMPATIBILITY_REPORTING=ON'
- '-DENABLE_COMPATIBILITY_LIST_DOWNLOAD=OFF'
2023-02-18 15:20:23 +00:00
# - '-DENABLE_FFMPEG_VIDEO_DUMPER=ON'
2023-02-18 10:19:10 +00:00
# FFMPEG VIDEO DUMPER was disabled because of this: https://github.com/citra-emu/citra/issues/5949
- '-DUSE_SYSTEM_SDL2=ON'
- '-DCMAKE_POLICY_DEFAULT_CMP0069=NEW'
- '-DENABLE_FDK=ON'
2022-07-08 07:07:20 +00:00
cleanup :
- /share/man
- /share/pixmaps
post-install :
2022-08-31 12:05:30 +00:00
- install -Dm644 ../dist/citra.svg /app/share/icons/hicolor/scalable/apps/citra.svg
- install -Dm644 ../dist/icon.png /app/share/icons/hicolor/512x512/apps/citra.png
2022-07-08 07:07:20 +00:00
sources :
2023-02-18 10:19:10 +00:00
- type : archive
url : >-
2023-03-13 16:50:41 +00:00
https://github.com/citra-emu/citra-nightly/releases/download/nightly-1854/citra-unified-source-20230312-2cbf6fb.tar.xz
sha256 : 018cb7dce3aa29a548a6e4cbad65d97babd98d2cdd1a4848a7c95c117f92fdf5
2022-07-08 07:07:20 +00:00
x-checker-data :
2023-02-18 10:19:10 +00:00
type : json
url : https://api.github.com/repos/citra-emu/citra-nightly/releases/latest
version-query : .tag_name
url-query : >-
.assets[] | .browser_download_url |
match("https://.+citra-unified-source-.+.xz$") | .string
is-main-source : true
- type : patch
path : rd-submodules/citra/unified-source-compat.patch
2022-07-08 07:07:20 +00:00
# CITRA - END
2022-07-06 17:53:51 +00:00
# PCSX2 - START
2022-09-01 11:55:12 +00:00
# Inspired by:
# https://github.com/flathub/com.zettlr.Zettlr/blob/master/com.zettlr.Zettlr.yaml
2022-09-13 11:42:30 +00:00
# https://pcsx2.net/downloads/
2022-09-01 14:14:51 +00:00
2022-11-14 10:43:51 +00:00
- name : pcsx2-qt
2022-09-01 18:20:06 +00:00
buildsystem : simple
build-commands :
- chmod +x pcsx2*.AppImage
- ./pcsx2*.AppImage --appimage-extract
- mkdir -p "${FLATPAK_DEST}/pcsx2-qt"
- cp -r squashfs-root/* "${FLATPAK_DEST}/pcsx2-qt"
2022-09-04 19:44:01 +00:00
- ln -s "${FLATPAK_DEST}/pcsx2-qt/usr/bin/pcsx2-qt" "${FLATPAK_DEST}/bin/pcsx2-qt"
2022-09-01 18:20:06 +00:00
sources :
- type : file
2023-03-13 16:50:41 +00:00
url : https://github.com/PCSX2/pcsx2/releases/download/v1.7.4225/pcsx2-v1.7.4225-linux-AppImage-64bit-Qt.AppImage
sha256 : e8ed326851941b212193c2bd193ca87efdcc70c18971f45749273a32893fec68
2022-09-01 11:55:12 +00:00
2022-07-06 17:53:51 +00:00
# PCSX2 - END
# Dolphin - START
# https://github.com/flathub/org.DolphinEmu.dolphin-emu
2022-11-14 13:55:20 +00:00
# WHEN UPADTING: remember to update rd-submodules/dolphin contents
2022-07-06 17:53:51 +00:00
# needed for the emulate bluetooth adapter feature to work
- name : bluez
config-opts :
- --enable-library
- --disable-manpages
- --disable-udev
- --disable-tools
- --disable-cups
- --disable-monitor
- --disable-client
- --disable-systemd
- --disable-a2dp
- --disable-avrcp
- --disable-network
2023-02-18 10:19:10 +00:00
- --disable-obex
2023-03-20 21:47:49 +00:00
- --disable-bap
2023-02-18 10:19:10 +00:00
- --disable-mcp
2022-07-06 17:53:51 +00:00
- --with-dbusconfdir=/app/etc
- --with-dbussessionbusdir=/app/usr/lib/system-services
sources :
- type : archive
2023-02-18 10:19:10 +00:00
url : https://www.kernel.org/pub/linux/bluetooth/bluez-5.66.tar.xz
sha256 : 39fea64b590c9492984a0c27a89fc203e1cdc74866086efb8f4698677ab2b574
2022-07-06 17:53:51 +00:00
x-checker-data :
type : anitya
project-id : 10029
stable-only : true
url-template : https://www.kernel.org/pub/linux/bluetooth/bluez-$version.tar.xz
# enables motion controls on non-wii controllers (switch, ps4, etc)
# requires a udev rule enabling Motion Sensors access
- name : libevdev
buildsystem : meson
config-opts :
- -Dtests=disabled
- -Ddocumentation=disabled
sources :
- type : archive
2022-09-13 11:49:30 +00:00
url : https://www.freedesktop.org/software/libevdev/libevdev-1.13.0.tar.xz
sha256 : 9edf2006cc86a5055279647c38ec923d11a821ee4dc2c3033e8d20e8ee237cd9
2022-07-06 17:53:51 +00:00
x-checker-data :
type : anitya
project-id : 20540
stable-only : true
url-template : https://www.freedesktop.org/software/libevdev/libevdev-$version.tar.xz
# needed for screensaver inhibition
- name : xdg-screensaver-shim
buildsystem : meson
sources :
- type : archive
url : https://github.com/Unrud/xdg-screensaver-shim/archive/0.0.2.tar.gz
sha256 : 0ed2a69fe6ee6cbffd2fe16f85116db737f17fb1e79bfb812d893cf15c728399
- name : dolphin-emu
buildsystem : cmake-ninja
config-opts :
- -DCMAKE_BUILD_TYPE=Release
- -DENABLE_ALSA=OFF
- -DENABLE_SDL=ON
- -DENABLE_EVDEV=ON
- -DDISTRIBUTOR=Flathub
cleanup :
- /share/man
post-install :
2023-01-10 16:25:50 +00:00
- install -D -t ${FLATPAK_DEST}/bin/ dolphin-emu-wrapper
2022-07-06 17:53:51 +00:00
- sed -i -e 's/"2048"/"512"/g' /app/share/icons/hicolor/scalable/apps/dolphin-emu.svg
sources :
- type : git
2023-03-19 12:31:42 +00:00
# Sometimes Dolphin or its submodules clone are failing in https so it must done in ssh
# fatal: remote transport reported error
2023-03-19 12:54:33 +00:00
# url: ssh://git@github.com/dolphin-emu/dolphin.git
url : https://github.com/dolphin-emu/dolphin.git
2023-02-18 10:19:10 +00:00
commit : 46b99671d9158e0ca840c1d8ef249db0f321ced7
2022-10-31 13:35:54 +00:00
x-checker-data :
type : json
url : https://dolphin-emu.org/update/latest/beta
commit-query : .hash
version-query : .shortrev
timestamp-query : .date
is-main-source : true
2022-07-06 17:53:51 +00:00
# detects whether dolphin is running in a flatpak sandbox
# and makes it use xdg directories if it is.
# prevents dolphin from attempting to write conf files
# in non-writable paths, typically happens when a user
# has leftover files from a previous non-flatpak install
- type : patch
path : rd-submodules/dolphin/detectflatpak.patch
# version strings must match exactly for online multiplayer
- type : patch
path : rd-submodules/dolphin/nodirtyversion.patch
- type : script
commands :
2022-10-31 13:35:54 +00:00
- |
for i in {0..9}; do
test -S $XDG_RUNTIME_DIR/discord-ipc-$i ||
ln -sf {app/com.discordapp.Discord,$XDG_RUNTIME_DIR}/discord-ipc-$i;
done
2023-01-10 16:25:50 +00:00
dolphin-emu "$@"
2022-07-06 17:53:51 +00:00
dest-filename : dolphin-emu-wrapper
# Dolphin - END
# XEMU - START
# https://github.com/flathub/app.xemu.xemu
# certificate issue, check libglu module for more info
# - name: libglu
# buildsystem: meson
# cleanup:
# - /include
# - /lib/debug
# - /lib/pkgconfig
# - /lib/*.a
# sources:
# - type: archive
# url: http://mesa.freedesktop.org/archive/glu/glu-9.0.2.tar.xz
# sha256: 6e7280ff585c6a1d9dfcdf2fca489251634b3377bfc33c29e4002466a38d02d4
# x-checker-data:
# type: anitya
# project-id: 13518
# stable-only: true
# url-template: http://mesa.freedesktop.org/archive/glu/glu-$version.tar.xz
2022-11-18 11:37:43 +00:00
- name : libpcap
buildsystem : cmake-ninja
cleanup :
- /bin
- /include
- /lib/debug
- /lib/pkgconfig
- /lib/*.a
- /share
sources :
- type : archive
2023-02-18 10:19:10 +00:00
url : https://www.tcpdump.org/release/libpcap-1.10.3.tar.gz
sha256 : 2a8885c403516cf7b0933ed4b14d6caa30e02052489ebd414dc75ac52e7559e6
2022-11-18 11:37:43 +00:00
x-checker-data :
type : anitya
project-id : 1702
stable-only : true
url-template : https://www.tcpdump.org/release/libpcap-$version.tar.gz
2022-07-06 17:53:51 +00:00
- name : PyYAML
buildsystem : simple
build-commands :
- python3 setup.py install --prefix=/app --root=/
sources :
- type : archive
url : https://github.com/yaml/pyyaml/archive/refs/tags/6.0.tar.gz
sha256 : f33eaba25d8e0c1a959bbf00655198c287dfc5868f5b7b01e401eaa1796cc778
- name : xemu
buildsystem : autotools
builddir : true
no-make-install : true
build-options :
cflags : -O3 -DXBOX=1 -Wno-error=redundant-decls
config-opts :
- --audio-drv-list=sdl
- --disable-werror
- --target-list=i386-softmmu
make-args :
- qemu-system-i386
post-install :
- |-
for px in 16 32 48 64 128 256 512; do
2023-02-18 10:19:10 +00:00
install -Dm644 ../ui/icons/xemu_${px}x${px}.png $FLATPAK_DEST/share/icons/hicolor/${px}x${px}/apps/app.xemu.xemu.png
2022-07-06 17:53:51 +00:00
done
2023-02-18 10:19:10 +00:00
- install -Dm644 ../ui/icons/xemu.svg $FLATPAK_DEST/share/icons/hicolor/scalable/apps/app.xemu.xemu.svg
- mv qemu-system-i386 $FLATPAK_DEST/bin/xemu
- mkdir -p $FLATPAK_DEST/share/licenses/xemu
- cd .. && python3 scripts/gen-license.py > $FLATPAK_DEST/share/licenses/xemu/LICENSE.txt
2022-07-06 17:53:51 +00:00
sources :
- type : git
2023-02-18 10:19:10 +00:00
url : https://github.com/xemu-project/xemu.git
2023-03-08 14:09:03 +00:00
tag : v0.7.85
commit : 065c74a00fe402f65147e9b0d1a1eeac1b4b609f
2022-07-06 17:53:51 +00:00
x-checker-data :
type : json
2023-02-18 10:19:10 +00:00
url : https://api.github.com/repos/xemu-project/xemu/releases/latest
2022-07-06 17:53:51 +00:00
tag-query : .tag_name
timestamp-query : .published_at
2022-09-13 11:44:51 +00:00
version-query : .tag_name
2022-07-06 17:53:51 +00:00
# XEMU - END
# MELONDS - START
# https://github.com/flathub/net.kuribo64.melonDS
# ちっちゃい、かわいい!
- name : libslirp
buildsystem : meson
sources :
- type : git
url : https://gitlab.freedesktop.org/slirp/libslirp.git
2023-02-18 10:19:10 +00:00
tag : v4.7.0
2022-07-06 17:53:51 +00:00
- name : melonds
buildsystem : cmake-ninja
builddir : true
build-options :
arch :
aarch64 :
config-opts :
2023-02-18 10:19:10 +00:00
- -DENABLE_LTO_RELEASE=OFF
2022-07-06 17:53:51 +00:00
sources :
- type : git
2023-02-18 10:19:10 +00:00
url : https://github.com/melonDS-emu/melonDS.git
commit : 430de6b2702bb93faa8c2004aff3fbd084db4a1e
2022-07-06 17:53:51 +00:00
# MELONDS - END
# RPCS3 - START
# https://github.com/flathub/net.rpcs3.RPCS3
# glu issue, check libglu module for more info
2023-03-14 08:40:16 +00:00
#- rd-submodules/shared-modules/glu/glu-9.json
- rd-submodules/shared-modules/glew/glew.json
2022-07-06 17:53:51 +00:00
- name : rpcs3
buildsystem : cmake-ninja
builddir : true
build-options :
2022-09-13 11:49:30 +00:00
append-ld-library-path : /usr/lib/sdk/llvm14/lib
append-path : /usr/lib/sdk/llvm14/bin
2022-10-31 13:35:54 +00:00
cflags : &optflags -O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong
-grecord-gcc-switches -fasynchronous-unwind-tables -fstack-clash-protection
-fcf-protection -fno-omit-frame-pointer
2022-07-06 17:53:51 +00:00
cflags-override : true
cxxflags : *optflags
cxxflags-override : true
env :
AR : llvm-ar
CC : clang
CXX : clang++
RANLIB : llvm-ranlib
ldflags : -fuse-ld=lld
config-opts :
- -DCMAKE_BUILD_TYPE=RelWithDebInfo
2022-10-31 13:35:54 +00:00
- -DBUILD_LLVM_SUBMODULE=ON
2022-07-06 17:53:51 +00:00
- -DUSE_NATIVE_INSTRUCTIONS=OFF
- -DUSE_PRECOMPILED_HEADERS=OFF
- -DUSE_SYSTEM_CURL=ON
- -DUSE_SYSTEM_FFMPEG=ON
- -DUSE_SYSTEM_LIBPNG=ON
- -DUSE_SYSTEM_ZLIB=ON
2022-10-31 13:35:54 +00:00
- -DITTAPI_SOURCE_DIR=/run/build/rpcs3/ittapi
2022-07-06 17:53:51 +00:00
- -Wno-dev
post-install :
2023-02-18 10:19:10 +00:00
- |-
set -eux
COMM_TAG="$(awk -F'[\{,]' '/version{.*}/{printf "%d.%d.%d", $2, $3, $4}' ../rpcs3/rpcs3_version.cpp)"
2022-07-06 17:53:51 +00:00
COMM_COUNT="$(git rev-list --count HEAD)";
COMM_HASH="$(git rev-parse --short=8 HEAD)";
sources :
- type : git
url : https://github.com/RPCS3/rpcs3.git
2023-03-13 16:50:41 +00:00
commit : cf5346c263111760752cabb94767c07c501207c4
2022-10-31 13:35:54 +00:00
- type : git
url : https://github.com/intel/ittapi.git
2023-02-18 10:19:10 +00:00
commit : 2de8a23f6130036dcd4d1b78d05df3187951d298
2022-10-31 13:35:54 +00:00
dest : ittapi/ittapi
disable-shallow-clone : true
2023-02-18 10:19:10 +00:00
# remove git-lfs hook
- type : inline
dest : ittapi/ittapi/.git/hooks
dest-filename : post-checkout
contents :
2022-07-06 17:53:51 +00:00
# RPCS3 - END
2022-08-10 20:43:09 +00:00
2022-11-22 09:09:39 +00:00
# # PRIMEHACK - START
# # https://github.com/flathub/io.github.shiiion.primehack
# # Disabled because it's overwriting Dolphin
2022-11-21 11:10:21 +00:00
2022-11-22 20:43:38 +00:00
- name : primehack
buildsystem : cmake-ninja
config-opts :
- -DCMAKE_BUILD_TYPE=Release
- -DENABLE_ALSA=OFF
- -DENABLE_SDL=ON
- -DENABLE_EVDEV=ON
- -DDISTRIBUTOR=Flathub
cleanup :
- /share/man
post-install :
- install -D primehack-wrapper /app/bin/primehack-wrapper
sources :
- type : git
2023-03-17 18:41:31 +00:00
url : https://github.com/TheDrifter363/primehack.git
commit : 6295c695307a67f11ee202b05cbdd7b5c1edae5c
2022-11-22 20:38:28 +00:00
# detects whether dolphin is running in a flatpak sandbox
# and makes it use xdg directories if it is.
# prevents dolphin from attempting to write conf files
# in non-writable paths, typically happens when a user
# has leftover files from a previous non-flatpak install
2022-11-22 20:43:38 +00:00
- type : patch
path : rd-submodules/dolphin/detectflatpak.patch
2022-11-22 20:38:28 +00:00
# version strings must match exactly for online multiplayer
2022-11-22 20:43:38 +00:00
- type : patch
path : rd-submodules/dolphin/nodirtyversion.patch
- type : script
commands :
- for i in {0..9}; do
- test -S $XDG_RUNTIME_DIR/discord-ipc-$i || ln -sf {app/com.discordapp.Discord,$XDG_RUNTIME_DIR}/discord-ipc-$i;
- done
2022-11-22 20:44:39 +00:00
- primehack "$@"
2022-11-22 20:43:38 +00:00
dest-filename : primehack-wrapper
2022-11-22 09:09:39 +00:00
# # PRIMEHACK - END
2022-04-27 06:46:14 +00:00
2022-11-22 20:38:28 +00:00
# # PRIMEHACK APPIMAGE START
2022-08-10 20:43:09 +00:00
# Duckstation - START
# https://github.com/flathub/org.duckstation.DuckStation
2022-11-18 14:55:59 +00:00
# Disabled until we completely switch to QT6
2022-07-06 17:53:51 +00:00
2022-11-18 14:55:59 +00:00
# - name: duckstation
2022-07-06 17:53:51 +00:00
# buildsystem: cmake-ninja
2022-11-18 14:55:59 +00:00
# no-make-install: true
# builddir: true
2022-07-06 17:53:51 +00:00
# config-opts:
2022-11-18 14:55:59 +00:00
# - -DCMAKE_BUILD_TYPE=RelWithDebInfo
# - -DUSE_EGL=ON
# - -DUSE_SDL2=ON
# - -DUSE_WAYLAND=ON
# - -DUSE_X11=ON
# - -DUSE_DRMKMS=ON
# - -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON
2022-07-06 17:53:51 +00:00
# post-install:
2022-11-18 14:55:59 +00:00
# - install -m755 bin/duckstation-qt /app/bin
# - cp -r ../data/* bin/translations /app/bin
2022-07-06 17:53:51 +00:00
# sources:
# - type: git
2022-11-18 14:55:59 +00:00
# url: https://github.com/stenzek/duckstation.git
# commit: 6f709468601183083b8581d4952aaba7baf77084
# # Cloning dep/msvc/qt is only necessary for Windows
# disable-submodules: true
2022-07-06 17:53:51 +00:00
2022-11-18 14:55:59 +00:00
# Duckstation - END
2022-07-06 17:53:51 +00:00
2022-11-18 14:55:59 +00:00
# Duckstation-DontUpdate - START
# Old version moved to QT6 so it's either this or AppImage
# But AppImage is a single one that keep getting updated at the same link so the sha (that's mandatory) will break the build
# So yeah we're stuck with this for a while
- name : duckstation-DontUpdate
2022-07-06 17:53:51 +00:00
buildsystem : cmake-ninja
2022-08-10 20:43:09 +00:00
no-make-install : true
builddir : true
2022-07-06 17:53:51 +00:00
config-opts :
2022-08-10 20:43:09 +00:00
- -DCMAKE_BUILD_TYPE=Release
- -DUSE_EGL=ON
- -DUSE_SDL2=ON
- -DUSE_WAYLAND=ON
- -DUSE_X11=ON
- -DUSE_DRMKMS=ON
- -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON
post-install :
- install -m 755 -t /app/bin/ bin/duckstation-nogui bin/duckstation-qt
- |-
for px in 16 32 48 64 128 256; do
install -Dm644 ../extras/icons/icon-${px}px.png /app/share/icons/hicolor/${px}x${px}/apps/org.duckstation.DuckStation.png
done
- cp -r ../data/* bin/translations /app/bin
2022-07-06 17:53:51 +00:00
sources :
- type : git
2022-08-10 20:43:09 +00:00
url : https://github.com/stenzek/duckstation.git
commit : 3fb61865e505ba639609fbf16cb8bdf5c66e020c
2022-11-18 14:55:59 +00:00
# Duckstation-DontUpdate - END
# Duckstation-AppImage - START
# https://github.com/stenzek/duckstation/releases/tag/preview
# - name: Duckstation-AppImage
# buildsystem: simple
# build-commands:
# - chmod +x DuckStation-*.AppImage
# - ./DuckStation-x64*.AppImage --appimage-extract
# - mkdir -p "${FLATPAK_DEST}/duckstation"
# - cp -r squashfs-root/* "${FLATPAK_DEST}/duckstation"
# - ln -s "${FLATPAK_DEST}/duckstation/usr/bin/duckstation" "${FLATPAK_DEST}/bin/duckstation"
# sources:
# - type: file
# url: https://github.com/stenzek/duckstation/releases/download/preview/DuckStation-x64.AppImage
# sha256: a107d1837df020cb4e7b8a542059665428883af69c1cf063edd29e2d75634867
# Duckstation-AppImage - END
2022-08-10 20:43:09 +00:00
2022-11-14 10:43:51 +00:00
# Cemu - START
# https://github.com/cemu-project/Cemu/releases
2022-11-29 16:22:04 +00:00
# Yes, this is old, do not update as we need libespol.so.1
2022-11-28 15:51:11 +00:00
2022-12-01 16:05:45 +00:00
#- name: Cemu-binary
# buildsystem: simple
# build-commands:
# - mv Cemu ${FLATPAK_DEST}/bin/Cemu
# - chmod 777 ${FLATPAK_DEST}/bin/Cemu
# - mkdir -p ${FLATPAK_DEST}/config/cemu
# - mv gameProfiles ${FLATPAK_DEST}/config/cemu/gameProfiles
# - mv resources ${FLATPAK_DEST}/config/cemu/resources
# - mv shaderCache ${FLATPAK_DEST}/config/cemu/shaderCache
# sources:
# - type: archive
# url: https://github.com/cemu-project/Cemu/releases/download/v2.0-10/cemu-2.0-10-ubuntu-20.04-x64.zip
# sha256: b6cb5560e9a15be5991db4ca0ce1de70d233d094e388477b05d663a542dbbd5c
2022-11-14 10:43:51 +00:00
# Cemu - END
2022-07-06 17:53:51 +00:00
2022-12-02 08:09:22 +00:00
# Ryujinx - START
# https://github.com/flathub/org.ryujinx.Ryujinx
#
# THIS MUST BE AT THE END OF THE MANIFEST OR THE BINARY WILL GET CORRUPTED
#
2023-01-02 13:28:55 +00:00
# - name: Ryujinx
# buildsystem: simple
# build-options:
# no-debuginfo: true
# no-debuginfo-compression: true
# strip: false
# arch:
# x86_64:
# env:
# RUNTIME: linux-x64
# env:
# PKG_CONFIG_PATH: /app/lib/pkgconfig:/app/share/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig
# DOTNET_CLI_TELEMETRY_OPTOUT: 'true'
# DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 'true'
# RYUJINX_VERSION: 1.1.500
# RYUJINX_TARGET_RELEASE_CHANNEL_OWNER: flathub
# RYUJINX_TARGET_RELEASE_CHANNEL_REPO: org.ryujinx.Ryujinx
# RYUJINX_TARGET_RELEASE_CHANNEL_NAME: master
# build-commands:
# - |
# export PATH=$PATH:/run/build/Ryujinx/dotnet-sdk
# export RYUJINX_GIT_SHORT_HASH=$(git rev-parse --short HEAD)
# export RUNTIME_FRAMEWORK_VERSION=$(find nuget-sources -name 'microsoft.netcore.app.host.linux-x64.*' | grep -oP '(\d.\d.\d+.nupkg)' | grep -oP '(\d.\d.\d+)')
# sed -r --in-place "s/\%\%RYUJINX_BUILD_VERSION\%\%/$RYUJINX_VERSION/g;" Ryujinx.Common/ReleaseInformations.cs
# sed -r --in-place "s/\%\%RYUJINX_BUILD_GIT_HASH\%\%/$RYUJINX_GIT_SHORT_HASH/g;" Ryujinx.Common/ReleaseInformations.cs
# sed -r --in-place "s/\%\%RYUJINX_TARGET_RELEASE_CHANNEL_NAME\%\%/$RYUJINX_TARGET_RELEASE_CHANNEL_NAME/g;" Ryujinx.Common/ReleaseInformations.cs
# sed -r --in-place "s/\%\%RYUJINX_TARGET_RELEASE_CHANNEL_OWNER\%\%/$RYUJINX_TARGET_RELEASE_CHANNEL_OWNER/g;" Ryujinx.Common/ReleaseInformations.cs
# sed -r --in-place "s/\%\%RYUJINX_TARGET_RELEASE_CHANNEL_REPO\%\%/$RYUJINX_TARGET_RELEASE_CHANNEL_REPO/g;" Ryujinx.Common/ReleaseInformations.cs
# mkdir -p /app/bin
# dotnet publish -c Release -r $RUNTIME /p:DebugType=embedded Ryujinx /p:Version=$RYUJINX_VERSION /p:SourceRevisionId=$RYUJINX_GIT_SHORT_HASH /p:ExtraDefineConstants=DISABLE_UPDATER /p:RuntimeFrameworkVersion=$RUNTIME_FRAMEWORK_VERSION --self-contained --source nuget-sources
# if [ $? -ne 0 ]; then
# exit 1;
# fi;
# cp -r --remove-destination /run/build/Ryujinx/Ryujinx/bin/Release/net7.0/$RUNTIME/publish/* /app/bin/
# mkdir -p /app/lib/ffmpeg
# ln -s /usr/lib/x86_64-linux-gnu/libX11.so.6 /app/lib/libX11.so
# install -Dm755 ryujinx-wrapper /app/bin/ryujinx-wrapper
# sources:
# - type: git
# url: https://github.com/Ryujinx/Ryujinx.git
# commit: 2b23463daa01226c5569d8e61d1d0959570354cf
# - type: archive
# only-arches:
# - x86_64
# dest: dotnet-sdk
# url: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/7.0.101/dotnet-sdk-7.0.101-linux-x64.tar.gz
# sha256: 454e2da3d02c74c2f6d2446c94fd9075f8db80ff6c9b9d41d5e470683e16a1d5
# x-checker-data:
# type: html
# url: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/7.0/latest.version
# version-pattern: ^([\d\.a-z-]+)$
# url-template: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/$version/dotnet-sdk-$version-linux-x64.tar.gz
# - rd-submodules/ryujinx/nuget_sources.json
# - type: file
# path: rd-submodules/ryujinx/ryujinx-wrapper
2022-12-02 08:09:22 +00:00
2022-12-30 08:56:52 +00:00
# Ryujinx - END
2022-07-06 17:53:51 +00:00
# External manifests end
- name : retrodeck
buildsystem : simple
build-commands :
2023-03-09 16:52:28 +00:00
# Initializing retrodeck and emulationstation config folders
2023-03-09 20:10:26 +00:00
- mkdir -p ${FLATPAK_DEST}/retrodeck
- mkdir -p ${FLATPAK_DEST}/emulationstation
2022-09-24 18:28:49 +00:00
# Prep the ES-DE and RetroArch config files - I will have to SED/XMLSTARLET them soon
2022-07-06 17:53:51 +00:00
- rm -rf /app/share/emulationstation/resources/systems/unix/es_find_rules.xml
- cp es-configs/es_find_rules.xml /app/share/emulationstation/resources/systems/unix/
- rm -rf /app/share/emulationstation/resources/systems/unix/es_systems.xml
- cp es-configs/es_systems.xml /app/share/emulationstation/resources/systems/unix/
2022-09-24 18:28:49 +00:00
# These must be put in home folder, managed by retrodeck.sh
2022-07-06 17:53:51 +00:00
- cp es-configs/es_settings.xml ${FLATPAK_DEST}/retrodeck/es_settings.xml
2023-03-08 20:07:28 +00:00
# Logo, res, move graphics directory to mutable space so splash can be changed after build
2023-03-20 21:47:49 +00:00
- mv -f -t ${FLATPAK_DEST}/emulationstation /app/share/emulationstation/resources/graphics
2023-03-09 20:07:26 +00:00
- ln -s ${FLATPAK_DEST}/emulationstation/graphics /app/share/emulationstation/resources/graphics
- cp -f res/extra-splashes/* ${FLATPAK_DEST}/emulationstation/graphics
- cp -f res/splash.svg ${FLATPAK_DEST}/emulationstation/graphics/splash.svg
- cp -f res/splash.svg ${FLATPAK_DEST}/emulationstation/graphics/splash-orig.svg
2022-10-05 18:43:11 +00:00
- cp -f res/icon.svg /app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg
2022-07-06 17:53:51 +00:00
2023-03-21 19:08:08 +00:00
# RetroDECK core script
2022-07-06 17:53:51 +00:00
- cp retrodeck.sh /app/bin/retrodeck.sh
- chmod +x /app/bin/retrodeck.sh
2023-03-21 19:08:08 +00:00
# Tools
2023-03-21 23:25:24 +00:00
- mkdir -p /app/tools
- cp tools/configurator.sh /app/tools/configurator.sh
- chmod +x /app/tools/configurator.sh
- cp es-configs/tools-gamelist.xml /app/tools/tools-gamelist.xml
2022-07-06 17:53:51 +00:00
2023-03-09 20:58:13 +00:00
# Function libraries
- mkdir -p /app/libexec
2022-12-01 16:43:13 +00:00
- cp global.sh /app/libexec/global.sh
- cp functions.sh /app/libexec/functions.sh
- cp post_update.sh /app/libexec/post_update.sh
2022-09-24 18:28:49 +00:00
# Desktop entry
2022-07-06 17:53:51 +00:00
- cp net.retrodeck.retrodeck.desktop /app/share/applications/net.retrodeck.retrodeck.desktop
2022-09-24 18:28:49 +00:00
# TODO: group the configs per-emu and optimize the following cps, like already done with Dolphin. Please not that some files may be renamed, check retrodeck.sh to know how (and fix it after the edit)
2022-07-06 17:53:51 +00:00
2022-09-24 18:28:49 +00:00
# Initializing default emulator configs
2022-07-10 09:21:54 +00:00
- cp -r emu-configs ${FLATPAK_DEST}/retrodeck/emu-configs/
2022-07-06 17:53:51 +00:00
2022-09-24 18:28:49 +00:00
# Overlays
#- cp -r overlays ${FLATPAK_DEST}/retrodeck/overlays Disabled in 0.4.2b as it will be introduced in 0.5.0b
2022-07-06 17:53:51 +00:00
2022-09-24 18:28:49 +00:00
# Placing appdata
2022-07-06 17:53:51 +00:00
- mkdir -p ${FLATPAK_DEST}/share/appdata
- cp net.retrodeck.retrodeck.appdata.xml ${FLATPAK_DEST}/share/appdata
sources :
- type : git
url : https://github.com/XargonWan/RetroDECK.git
2023-03-21 08:13:52 +00:00
branch : cooker-0.6.3b