2022-04-24 01:35:28 +00:00
app-id : net.retrodeck.retrodeck
2022-03-20 14:31:16 +00:00
runtime : org.kde.Platform
2022-08-31 14:20:00 +00:00
runtime-version : 5.15 -21.08
#runtime-version: 6.3 # bumped because of pcsx2-qt
2022-03-20 14:31:16 +00:00
sdk : org.kde.Sdk
2022-04-24 01:35:28 +00:00
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-03-28 13:01:47 +00:00
command : retrodeck.sh
2022-03-20 14:31:16 +00:00
finish-args :
2022-07-06 17:53:51 +00:00
- --socket=x11
- --socket=wayland
- --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
2022-03-27 01:34:37 +00:00
# Yuzu
2022-05-19 03:03:43 +00:00
# - --filesystem=home:ro # This may break Yuzu, let's see
2022-04-14 03:39:03 +00:00
# - --filesystem=/run/media:ro
2022-04-24 01:35:28 +00:00
# Dolphin
2022-07-06 17:53:51 +00:00
- --allow=bluetooth
2022-05-19 03:03:43 +00:00
#- --env=QT_QPA_PLATFORM=xcb #not sure if this will break something
2022-04-27 06:21:48 +00:00
# rpcs3
2022-07-06 17:53:51 +00:00
- --socket=fallback-x11
2022-03-20 14:31:16 +00:00
2022-03-27 00:03:50 +00:00
cleanup :
# ES-DE
- /include
- /share/ffmpeg
- /lib/cmake
2022-04-14 03:39:03 +00:00
#- /lib/debug
2022-03-27 00:03:50 +00:00
- /lib/pkgconfig
2022-04-06 15:02:00 +00:00
# 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
2022-03-27 00:03:50 +00:00
2022-03-20 14:31:16 +00:00
modules :
2022-11-05 14:55:53 +00:00
- shared-modules/libusb/libusb.json
2022-05-19 03:03:43 +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-05-19 03:03:43 +00:00
# UPDATE STEPS FOR MAIN:
2022-06-22 13:31:39 +00:00
# [ ] Update the VERSION variable
# [ ] Update the appdata.xml with the version number and notes
2022-10-11 20:05:02 +00:00
# [ ] change branch into main in version-initialization (first one)
2022-06-22 20:38:22 +00:00
# [ ] change branch into main in retrodeck module (last one)
2022-10-08 10:17:04 +00:00
# [ ] if header (before modules) was edited, edit it even in flathub.yml
2022-05-19 03:03:43 +00:00
#
2022-05-18 14:10:32 +00:00
- name : version-initialization
2022-05-18 14:43:19 +00:00
buildsystem : simple
2022-05-19 03:03:43 +00:00
build-commands :
2022-05-25 13:27:51 +00:00
- |
git checkout ${GITHUB_REF_NAME}
mkdir -p ${FLATPAK_DEST}/retrodeck/
2022-11-14 10:43:51 +00:00
VERSION="0.6.0b-cooker"
2022-07-18 07:54:51 +00:00
if [[ $VERSION == *"cooker"* ]];
2022-05-25 13:27:51 +00:00
then
2022-11-22 13:21:26 +00:00
VERSION="$VERSION-[$(git rev-parse --short HEAD)]"
2022-05-25 13:27:51 +00:00
fi
echo $VERSION >> ${FLATPAK_DEST}/retrodeck/version
cat ${FLATPAK_DEST}/retrodeck/version
sources :
2022-07-06 17:53:51 +00:00
- type : git
url : https://github.com/XargonWan/RetroDECK.git
2022-11-14 10:43:51 +00:00
branch : cooker-0.6.0b
2022-05-18 14:10:32 +00:00
2022-03-31 06:03:00 +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 :
2022-04-14 03:39:03 +00:00
- cp -p /usr/share/automake-*/config.{sub,guess} .
- autoreconf -vfi
2022-03-31 06:03:00 +00:00
post-install :
2022-04-14 03:39:03 +00:00
- ln -s "xml" "${FLATPAK_DEST}/bin/xmlstarlet" ||:
2022-07-06 17:53:51 +00:00
cleanup : [ '*' ]
2022-03-31 06:03:00 +00:00
2022-11-29 16:52:07 +00:00
# Ryujinx - START
# https://ryujinx.org/download
- 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 .398
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 -Dm644 $FLATPAK_ID.appdata.xml /app/share/metainfo/$FLATPAK_ID.appdata.xml
install -Dm755 ryujinx-wrapper /app/bin/ryujinx-wrapper
install -Dm644 distribution/linux/ryujinx-logo.svg /app/share/icons/hicolor/scalable/apps/ryujinx.svg
install -Dm644 distribution/linux/ryujinx-mime.xml /app/share/mime/packages/$FLATPAK_ID.mime.xml
install -Dm644 distribution/linux/ryujinx.desktop /app/share/applications/$FLATPAK_ID.desktop
desktop-file-edit --set-key="Exec" --set-value="ryujinx-wrapper %f" /app/share/applications/$FLATPAK_ID.desktop
sources :
- type : archive
only-arches :
- x86_64
dest : dotnet-sdk
url : https://dotnetcli.blob.core.windows.net/dotnet/Sdk/7.0.100/dotnet-sdk-7.0.100-linux-x64.tar.gz
sha256 : 5d4a58eeca1a4ab095b55e6486b1278147b0ab121ce883b2bcde3d3626c9a81c
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 : git
url : https://github.com/Ryujinx/Ryujinx.git
commit : a5c2aead6795192158caeb79e785543a15b5b2f4
# - type: file
# path: ryujinx-wrapper
# Ryujinx - END
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-06-07 07:07:54 +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
2022-06-11 21:30:41 +00:00
- name : glu
2022-06-07 07:07:54 +00:00
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
2022-06-11 21:30:41 +00:00
- name : libgudev
buildsystem : meson
config-opts :
2022-07-06 17:53:51 +00:00
- -Dtests=disabled
- -Dvapi=disabled
- -Dintrospection=disabled
- -Dgtk_doc=false
2022-06-11 21:30:41 +00:00
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
2022-06-22 20:38:22 +00:00
# ES-DE - START
# https://gitlab.com/es-de/emulationstation-de
2022-03-27 00:03:50 +00:00
2022-06-16 09:59:57 +00:00
- name : ffmpeg
config-opts :
2022-07-06 17:53:51 +00:00
- --disable-static
- --disable-programs
- --disable-doc
- --enable-gpl
- --enable-shared
- --enable-libvorbis
- --enable-libopus
- --enable-libvpx
- --enable-postproc
2022-06-16 09:59:57 +00:00
sources :
2022-07-06 17:53:51 +00:00
- type : git
url : https://github.com/FFmpeg/FFmpeg.git
2022-09-21 18:36:12 +00:00
tag : n5.1.1
2022-03-25 15:31:26 +00:00
- name : freeimage
no-autogen : true
build-options :
2022-07-06 17:53:51 +00:00
cxxflags : -std=c++14
2022-03-25 15:31:26 +00:00
make-args :
2022-07-06 17:53:51 +00:00
- DESTDIR=/app
2022-03-25 15:31:26 +00:00
sources :
2022-07-06 17:53:51 +00:00
- 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
2022-03-25 15:31:26 +00:00
2022-03-27 00:03:50 +00:00
- name : pugixml
2022-04-14 03:39:03 +00:00
buildsystem : cmake-ninja
2022-03-25 15:31:26 +00:00
config-opts :
2022-07-06 17:53:51 +00:00
- -DBUILD_SHARED_LIBS=on .
2022-03-25 15:31:26 +00:00
sources :
2022-07-06 17:53:51 +00:00
- type : archive
url : https://github.com/zeux/pugixml/releases/download/v1.11.4/pugixml-1.11.4.tar.gz
sha256 : 8ddf57b65fb860416979a3f0640c2ad45ddddbbafa82508ef0a0af3ce7061716
2022-03-25 15:31:26 +00:00
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-06-08 10:32:44 +00:00
# But we don't include them 1:1 as RetroDECK got some specific configs in some cases
2022-03-25 15:31:26 +00:00
- name : emulationstation-de
2022-04-14 03:39:03 +00:00
buildsystem : cmake-ninja
2022-03-25 15:31:26 +00:00
cleanup :
- es-app
- es-core
sources :
2022-07-06 17:53:51 +00:00
- 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
2022-03-25 15:31:26 +00:00
2022-03-27 00:03:50 +00:00
# ES-DE - END
2022-09-05 12:38:37 +00:00
# ES-DE Themes - START
2022-10-24 19:49:47 +00:00
2022-03-23 01:31:09 +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-08-01 16:51:30 +00:00
sources :
- type : git
2022-09-05 12:38:37 +00:00
url : https://github.com/anthonycaccese/retrofix-revisited-retropie.git
commit : 6e75c9521426e69eb9abcb39d135d97a17d14568
# ES-DE Themes - END
2022-03-26 03:53:39 +00:00
# External manifests start
2022-06-22 20:38:22 +00:00
# RetroArch - START
# https://github.com/flathub/org.libretro.RetroArch
2022-03-26 03:53:39 +00:00
2022-06-15 13:18:00 +00:00
- name : retroarch
config-opts :
2022-07-06 17:53:51 +00:00
- --enable-dbus
2022-06-15 13:18:00 +00:00
make-args :
- GLOBAL_CONFIG_DIR=${FLATPAK_DEST}/etc
2022-06-15 18:37:11 +00:00
sources :
2022-06-15 13:18:00 +00:00
- type : git
url : https://github.com/libretro/RetroArch.git
2022-10-31 11:31:15 +00:00
commit : 840c4481ab7cb0720025c30ea609d16e60927a02
2022-06-15 13:18:00 +00:00
- type : file
2022-06-15 18:45:36 +00:00
path : rd-submodules/retroarch/retroarch.cfg
2022-06-15 13:18:00 +00:00
post-install :
- mkdir -p ${FLATPAK_DEST}/share/icons/hicolor/scalable/apps/
2022-06-30 18:15:50 +00:00
- mv ${FLATPAK_DEST}/share/pixmaps/retroarch.svg ${FLATPAK_DEST}/share/icons/hicolor/scalable/apps/
2022-06-15 13:18:00 +00:00
- rmdir --ignore-fail-on-non-empty ${FLATPAK_DEST}/share/pixmaps/
- mkdir -p ${FLATPAK_DEST}/etc
2022-06-30 18:15:50 +00:00
- sed s:@prefix@:${FLATPAK_DEST}:g retroarch.cfg > ${FLATPAK_DEST}/etc/retroarch.cfg
2022-06-15 13:18:00 +00:00
modules :
2022-06-22 20:38:22 +00:00
- rd-submodules/retroarch/libpng/libpng-1.6.35.json
#nvidia-cg-toolkit/nvidia-cg-toolkit-3.1.0013.json
2022-06-15 13:18:00 +00:00
- shared-modules/SDL/SDL-1.2.15.json
- shared-modules/SDL/SDL_image-1.2.12.json
- shared-modules/SDL/SDL_mixer-1.2.12.json
- shared-modules/SDL/SDL_net-1.2.8.json
2022-06-22 20:38:22 +00:00
- shared-modules/SDL/SDL_ttf-2.0.11.json
2022-11-05 14:55:53 +00:00
#- shared-modules/libusb/libusb.json moved outside
2022-06-15 13:18:00 +00:00
# certificate glu issue
#- shared-modules/gudev/gudev.json
2022-06-15 18:45:36 +00:00
- rd-submodules/retroarch/libbz2/libbz2-1.0.8.json
2022-06-22 20:38:22 +00:00
- rd-submodules/retroarch/xrandr/xrandr-1.5.1.json
2022-06-15 18:45:36 +00:00
- rd-submodules/retroarch/libaio/libaio-0.3.112.json
2022-06-15 13:18:00 +00:00
# certificate issue, check libglu module for more info
#- shared-modules/glu/glu-9.json
2022-06-15 18:45:36 +00:00
- rd-submodules/retroarch/libdecor/libdecor-0.1.0.json
2022-06-15 13:18:00 +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
2022-10-31 11:31:15 +00:00
commit : 840c4481ab7cb0720025c30ea609d16e60927a02
2022-06-15 13:18:00 +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
2022-10-31 11:31:15 +00:00
commit : 840c4481ab7cb0720025c30ea609d16e60927a02
2022-06-15 13:18:00 +00:00
- name : retroarch-assets
make-install-args :
- PREFIX=${FLATPAK_DEST}
sources :
- type : git
url : https://github.com/libretro/retroarch-assets.git
2022-10-01 19:25:19 +00:00
commit : ee33f8ef693b42a8e23ca3fd48f43f345e7cd087
2022-06-15 13:18:00 +00:00
- name : libretro-database
make-install-args :
- PREFIX=${FLATPAK_DEST}
sources :
- type : git
url : https://github.com/libretro/libretro-database.git
2022-10-31 11:31:15 +00:00
commit : bc488c79cdc36ea1076a2941f2e6e32365d5f53e
2022-06-15 13:18:00 +00:00
- name : libretro-core-info
make-install-args :
- PREFIX=${FLATPAK_DEST}
sources :
- type : git
url : https://github.com/libretro/libretro-core-info.git
2022-10-31 11:31:15 +00:00
commit : 7744a25a0e418703e24a4bd7a2208d5a12ae8a7a
2022-06-15 13:18:00 +00:00
- name : retroarch-joypad-autoconfig
make-install-args :
- PREFIX=${FLATPAK_DEST}
sources :
- type : git
url : https://github.com/libretro/retroarch-joypad-autoconfig.git
2022-10-31 11:31:15 +00:00
commit : 948fff0a12e487266eebef14774f17b7b881a728
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
2022-10-31 11:31:15 +00:00
commit : 9e89aafe0f6a63645445ca8302b88e4060274c72
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
2022-10-01 19:25:19 +00:00
commit : 46a00f15e09ffbd4fba46ab41f0653aeea918fd1
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-10-01 19:25:19 +00:00
commit : e2ba730083769b45bac62d164115e7dc197c8b63
2022-03-26 03:53:39 +00:00
# RetroArch - END
2022-03-27 01:34:37 +00:00
# Not part of the offical RetroArch manifest
- name : retroarch-cores
buildsystem : simple
build-commands :
2022-07-06 17:53:51 +00:00
- mkdir -p /app/share/libretro/cores/
- mv ./RetroArch-Linux-x86_64.AppImage.home/.config/retroarch/cores/* /app/share/libretro/cores/
2022-03-27 01:34:37 +00:00
sources :
- type : archive
2022-10-24 19:49:47 +00:00
url : https://buildbot.libretro.com/stable/1.12.0/linux/x86_64/RetroArch_cores.7z
sha256 : b5c87aa3462c023fa4e1aa171d1bd4f5b0b5cf9d8e4f0a6b5606ff26b05e0059
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
2022-10-31 11:31:15 +00:00
#build-options:
#- -DX86_64=ON
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
tag : &ppsspp-tag v1.13.2
commit : &ppsspp-commit 9fe6338e3bf397f8a009a51a282c139dfa180eb6
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-06-15 13:18:00 +00:00
# Yuzu - START
2022-11-14 10:45:40 +00:00
# https://github.com/yuzu-emu/yuzu-mainline/releases
2022-03-26 08:45:56 +00:00
2022-11-14 10:43:51 +00:00
- name : Yuzu
2022-04-06 15:02:00 +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-04-06 15:02:00 +00:00
sources :
2022-11-14 10:43:51 +00:00
- type : file
2022-11-29 16:29:05 +00:00
url : https://github.com/yuzu-emu/yuzu-mainline/releases/download/mainline-0-1255/yuzu-mainline-20221129-9034d5328.AppImage
sha256 : efa8ee53ba17b3296a59573d4f2dd838bf6f0fd7455f58f4dbf4ad82a7585427
2022-08-30 20:14:52 +00:00
2022-11-14 10:43:51 +00:00
# Yuzu - END
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
- name : citra
buildsystem : cmake-ninja
builddir : true
config-opts :
- -DCMAKE_BUILD_TYPE=Release
2022-09-13 11:38:23 +00:00
- -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON
2022-07-08 07:07:20 +00:00
- -DENABLE_QT_TRANSLATION=ON
- -DCITRA_ENABLE_COMPATIBILITY_REPORTING=ON
- -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON
#- '-DENABLE_FFMPEG_VIDEO_DUMPER=ON'
# Disabled because of this: https://github.com/citra-emu/citra/issues/5949
- -DENABLE_FDK=ON
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 :
- type : git
url : https://github.com/citra-emu/citra-nightly.git
2022-09-13 11:38:23 +00:00
tag : nightly-1785
commit : baecc18d8c5365af0dddb231bc8c0a9c03850bf6
2022-07-08 07:07:20 +00:00
disable-shallow-clone : true
x-checker-data :
type : git
tag-pattern : ^(nightly-\d+)$
# CITRA - END
2022-11-14 10:43: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
2022-10-31 13:35:54 +00:00
url : https://github.com/PCSX2/pcsx2/releases/download/v1.7.3501/pcsx2-v1.7.3501-linux-AppImage-64bit-AVX2-Qt.AppImage
sha256 : 104e8dae653aeb1fa7c75a4cc0fd07038715e75c1f7d40d111428ae83279356c
2022-09-01 11:55:12 +00:00
2022-06-22 20:38:22 +00:00
# PCSX2 - END
2022-04-07 07:56:36 +00:00
2022-11-17 10:29:54 +00:00
- name : debug
buildsystem : simple
build-commands :
- whoami
2022-04-24 01:35:28 +00:00
# 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-03-26 08:45:56 +00:00
2022-04-24 01:35:28 +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
- --with-dbusconfdir=/app/etc
- --with-dbussessionbusdir=/app/usr/lib/system-services
sources :
- type : archive
2022-10-31 13:35:54 +00:00
url : https://www.kernel.org/pub/linux/bluetooth/bluez-5.65.tar.xz
sha256 : 2565a4d48354b576e6ad92e25b54ed66808296581c8abb80587051f9993d96d4
2022-04-24 01:35:28 +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-04-24 01:35:28 +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 :
- install -D dolphin-emu-wrapper /app/bin/dolphin-emu-wrapper
- sed -i -e 's/"2048"/"512"/g' /app/share/icons/hicolor/scalable/apps/dolphin-emu.svg
sources :
- type : git
2022-11-17 08:44:38 +00:00
url : ssh://git@github.com/dolphin-emu/dolphin.git
2022-11-21 10:59:42 +00:00
#url: https://github.com/dolphin-emu/dolphin.git
2022-10-31 13:35:54 +00:00
commit : 48c9c224cf9f82f0f9f2690b7cc6283d7448480c
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-04-24 01:35: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
- type : patch
path : rd-submodules/dolphin/detectflatpak.patch
# version strings must match exactly for online multiplayer
- type : patch
path : rd-submodules/dolphin/nodirtyversion.patch
2022-06-22 16:08:16 +00:00
- type : script
2022-04-24 01:35:28 +00:00
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
# use gtk3 filechooser on steamdeck
bv=`cat /sys/devices/virtual/dmi/id/board_vendor`
bv=$bv`cat /sys/devices/virtual/dmi/id/board_name`
if [[ $bv == "ValveJupiter" ]]; then
QT_QPA_PLATFORMTHEME=gtk3 dolphin-emu "$@"
else
dolphin-emu "$@"
fi
2022-04-24 01:35:28 +00:00
dest-filename : dolphin-emu-wrapper
2022-03-26 08:45:56 +00:00
2022-04-24 01:35:28 +00:00
# Dolphin - END
# XEMU - START
2022-06-22 20:38:22 +00:00
# https://github.com/flathub/app.xemu.xemu
2022-04-24 01:35:28 +00:00
2022-06-11 21:30:41 +00:00
# certificate issue, check libglu module for more info
2022-06-07 07:07:54 +00:00
# - 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-04-24 01:35:28 +00:00
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
url : https://www.tcpdump.org/release/libpcap-1.10.1.tar.gz
sha256 : ed285f4accaf05344f90975757b3dbfe772ba41d1c401c2648b7fa45b711bdd4
x-checker-data :
type : anitya
project-id : 1702
stable-only : true
url-template : https://www.tcpdump.org/release/libpcap-$version.tar.gz
2022-06-22 20:38:22 +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
2022-04-24 01:35:28 +00:00
- 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
install -Dm644 ../ui/icons/xemu_${px}x${px}.png /app/share/icons/hicolor/${px}x${px}/apps/app.xemu.xemu.png
done
- install -Dm644 ../ui/icons/xemu.svg /app/share/icons/hicolor/scalable/apps/app.xemu.xemu.svg
- mv qemu-system-i386 /app/bin/xemu
- mkdir -p /app/share/licenses/xemu
- cd .. && python3 scripts/gen-license.py > /app/share/licenses/xemu/LICENSE.txt
sources :
- type : git
url : https://github.com/mborgerson/xemu.git
2022-10-31 13:35:54 +00:00
tag : v0.7.71
commit : 22db3304a454b2d289a9d5ea488fa3c3dec836f4
2022-04-24 01:35:28 +00:00
x-checker-data :
type : json
url : https://api.github.com/repos/mborgerson/xemu/releases/latest
tag-query : .tag_name
timestamp-query : .published_at
2022-09-13 11:44:51 +00:00
version-query : .tag_name
2022-04-24 01:35:28 +00:00
# XEMU - END
2022-03-26 03:53:39 +00:00
2022-04-27 06:46:14 +00:00
# MELONDS - START
# https://github.com/flathub/net.kuribo64.melonDS
# ちっちゃい、かわいい!
- name : libslirp
buildsystem : meson
sources :
- type : git
url : https://gitlab.freedesktop.org/slirp/libslirp.git
tag : v4.4.0
- name : melonds
buildsystem : cmake-ninja
builddir : true
build-options :
arch :
aarch64 :
config-opts :
- -DENABLE_OGLRENDERER=OFF
sources :
- type : git
url : https://github.com/Arisotura/melonDS.git
commit : cce9de5ee1f51e906a644922b2ada6644d81287a
# MELONDS - END
2022-04-27 06:21:48 +00:00
# RPCS3 - START
# https://github.com/flathub/net.rpcs3.RPCS3
2022-06-07 07:07:54 +00:00
# glu issue, check libglu module for more info
#- shared-modules/glu/glu-9.json
2022-04-27 13:38:07 +00:00
- shared-modules/glew/glew.json
2022-04-27 06:21:48 +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-06-14 12:15:58 +00:00
cflags-override : true
cxxflags : *optflags
cxxflags-override : true
2022-04-27 06:21:48 +00:00
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-04-27 06:21:48 +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-04-27 06:21:48 +00:00
- -Wno-dev
post-install :
- |
set -eux;
COMM_TAG="$(awk -F'[\{,]' '/version{.*}/{printf "%d.%d.%d", $2, $3, $4}' ../rpcs3/rpcs3_version.cpp)";
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
2022-10-31 13:35:54 +00:00
commit : 8d5a9dc722de8e8e881adf8c7f16e76226a1dad8
- type : git
url : https://github.com/intel/ittapi.git
commit : 2428ed97aa977c66b30940081e7d3e9b1a3c7402
dest : ittapi/ittapi
disable-shallow-clone : true
2022-04-27 06:21:48 +00:00
2022-04-28 04:24:18 +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
url : https://github.com/TheDrifter363/primehack.git
2022-11-22 20:38:28 +00:00
commit : 6295c695307a67f11ee202b05cbdd7b5c1edae5c
# 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
# buildsystem: cmake-ninja
# no-make-install: true
# builddir: true
# config-opts:
# - -DCMAKE_BUILD_TYPE=RelWithDebInfo
# - -DUSE_EGL=ON
# - -DUSE_SDL2=ON
# - -DUSE_WAYLAND=ON
# - -DUSE_X11=ON
# - -DUSE_DRMKMS=ON
# - -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON
# post-install:
# - install -m755 bin/duckstation-qt /app/bin
# - cp -r ../data/* bin/translations /app/bin
# sources:
# - type: git
# url: https://github.com/stenzek/duckstation.git
# commit: 6f709468601183083b8581d4952aaba7baf77084
# # Cloning dep/msvc/qt is only necessary for Windows
# disable-submodules: true
2022-08-10 20:43:09 +00:00
2022-11-18 14:55:59 +00:00
# Duckstation - END
# 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-08-10 20:43:09 +00:00
buildsystem : cmake-ninja
no-make-install : true
builddir : true
config-opts :
2022-11-18 14:55:59 +00:00
- -DCMAKE_BUILD_TYPE=Release
2022-08-10 20:43:09 +00:00
- -DUSE_EGL=ON
- -DUSE_SDL2=ON
- -DUSE_WAYLAND=ON
- -DUSE_X11=ON
- -DUSE_DRMKMS=ON
- -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON
post-install :
2022-11-18 14:55:59 +00:00
- 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
2022-08-10 20:43:09 +00:00
- cp -r ../data/* bin/translations /app/bin
sources :
- type : git
url : https://github.com/stenzek/duckstation.git
2022-11-18 14:55:59 +00:00
commit : 3fb61865e505ba639609fbf16cb8bdf5c66e020c
2022-10-31 13:35:54 +00:00
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
- name : libsepol-2.9
2022-11-28 15:51:11 +00:00
buildsystem : simple
build-commands :
- |
cd libsepol
make
2022-11-29 07:55:34 +00:00
make install PREFIX=${FLATPAK_DEST} DESTDIR=${FLATPAK_DEST}
2022-11-28 15:51:11 +00:00
sources :
- type : git
url : https://github.com/SELinuxProject/selinux.git
2022-11-29 16:22:04 +00:00
commit : 891cfee44f7af80ea87c10991058f9d5b66ae96e
2022-11-28 15:51:11 +00:00
2022-11-14 10:43:51 +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
# Cemu - END
2022-09-01 18:20:06 +00:00
2022-03-26 03:53:39 +00:00
# External manifests end
2022-03-20 14:31:16 +00:00
- name : retrodeck
buildsystem : simple
build-commands :
2022-03-27 01:34:37 +00:00
2022-09-24 18:28:49 +00:00
# Initializing retrodeck config folder
- mkdir -p /var/config/retrodeck
# 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
2022-03-27 10:04:25 +00:00
2022-09-24 18:28:49 +00:00
# Logo, res
2022-07-06 17:53:51 +00:00
- rm -f /app/share/emulationstation/resources/graphics/splash.svg
2022-10-05 18:43:11 +00:00
- cp -f res/splash.svg /app/share/emulationstation/resources/graphics/splash.svg
- cp -f res/icon.svg /app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg
2022-03-28 15:00:21 +00:00
2022-09-24 18:28:49 +00:00
# Tools
2022-07-06 17:53:51 +00:00
- mkdir -p ${FLATPAK_DEST}/retrodeck/tools/
- cp tools/* ${FLATPAK_DEST}/retrodeck/tools/
- mv -f es-configs/tools-gamelist.xml ${FLATPAK_DEST}/retrodeck/
2022-10-24 19:49:47 +00:00
2022-07-06 17:53:51 +00:00
- cp retrodeck.sh /app/bin/retrodeck.sh
- chmod +x /app/bin/retrodeck.sh
2022-10-24 19:49:47 +00:00
- cp global.sh /app/libexec/global.sh
2022-10-07 17:46:48 +00:00
- cp functions.sh /app/libexec/functions.sh
2022-11-18 20:10:17 +00:00
- 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-04-24 01:35:28 +00:00
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-06-22 20:38:22 +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-03-31 11:50:46 +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-06-20 19:29:03 +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
2022-03-31 11:50:46 +00:00
2022-03-20 14:31:16 +00:00
sources :
2022-06-22 20:38:22 +00:00
- type : git
2022-11-19 20:49:00 +00:00
url : https://github.com/XargonWan/RetroDECK.git
2022-11-24 08:08:02 +00:00
branch : cooker-0.6.0b