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-08-10 21:13:55 +00:00
- org.freedesktop.Sdk.Extension.llvm13 # Needed for rpcs3
- org.freedesktop.Sdk.Extension.dotnet6 # Needed for Ryujinx
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
- --filesystem=~/retrodeck:create
- --filesystem=/run/media
- --filesystem=/media
- --allow=multiarch
- --talk-name=org.freedesktop.ScreenSaver
- --talk-name=org.freedesktop.PowerManagement.Inhibit
- --talk-name=org.freedesktop.login1
- --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-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-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-06-22 20:38:22 +00:00
# [ ] change branch into main in retrodeck module (last one)
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-07-18 07:54:51 +00:00
VERSION="0.5.0b-cooker"
if [[ $VERSION == *"cooker"* ]];
2022-05-25 13:27:51 +00:00
then
2022-07-04 19:59:49 +00:00
# Disabled until I figure it out
# VERSION=$(git describe --tags | tr - .)
VERSION="cooker-"$(date +%d%m%y.%H%M)
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
branch : cooker
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-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-08-30 10:26:09 +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-08-10 21:14:50 +00:00
tag : n5.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-08-30 15:05:25 +00:00
branch : 18b2ee412e1bb3ea35ffd6e680ebf1dacda8e0ff
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-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-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-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-06-22 20:38:22 +00:00
branch : 9b282aa742b6c3d2f2925ae5a12e2cd7c6b6ad38
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-06-15 13:18:00 +00:00
- shared-modules/libusb/libusb.json
# 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-06-22 20:38:22 +00:00
branch : 9b282aa742b6c3d2f2925ae5a12e2cd7c6b6ad38
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-06-22 20:38:22 +00:00
branch : 9b282aa742b6c3d2f2925ae5a12e2cd7c6b6ad38
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
commit : f45dd1351e6bfb9f01e12bee8d358ad22a2bb8f9
- name : libretro-database
make-install-args :
- PREFIX=${FLATPAK_DEST}
sources :
- type : git
url : https://github.com/libretro/libretro-database.git
2022-06-22 20:38:22 +00:00
commit : f3b10ec262fcbd78da3473f46d244270d12a327e
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-06-22 20:38:22 +00:00
commit : 06dac6318c067a6a40e2ea1e1260e74681ada844
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-06-22 20:38:22 +00:00
commit : 760b057f1865a827762a54a8a32afda2cdd9e170
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
commit : 55e401834b732e62c34411321c4ffd82524345d4
- name : slang-shaders
make-install-args :
- PREFIX=${FLATPAK_DEST}
sources :
- type : git
url : https://github.com/libretro/slang-shaders.git
commit : 148c57d9747f5db124135501ac280b5ca129a83f
- name : glsl-shaders
make-install-args :
- PREFIX=${FLATPAK_DEST}
sources :
- type : git
url : https://github.com/libretro/glsl-shaders.git
commit : 8f6b2649489760caea8f36ec6099998854059569
- name : common-overlays
make-install-args :
- PREFIX=${FLATPAK_DEST}
sources :
- type : git
url : https://github.com/libretro/common-overlays.git
commit : db9744f4e58a740f0f10b04b62af347cd6f01928
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-06-22 20:38:22 +00:00
url : https://buildbot.libretro.com/stable/1.10.3/linux/x86_64/RetroArch_cores.7z
sha256 : 33abf39839687f8faba202ed5dcf3a54c06266a49fad35f0521fa445523d009f
2022-03-27 01:34:37 +00:00
2022-06-15 13:18:00 +00:00
# Yuzu - START
# https://github.com/flathub/org.yuzu_emu.yuzu
2022-06-20 19:29:03 +00:00
# WHEN UPADTING: remember to update rd-submodules/yuzu contents
2022-03-26 08:45:56 +00:00
2022-04-06 15:02:00 +00:00
- name : libzip
buildsystem : cmake-ninja
config-opts :
2022-07-06 17:53:51 +00:00
- -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON
- -DCMAKE_BUILD_TYPE=RelWithDebInfo
2022-04-06 15:02:00 +00:00
sources :
- type : archive
2022-08-31 10:17:26 +00:00
url : https://github.com/nih-at/libzip/archive/v1.9.2.tar.gz
sha256 : 7f28eaec7a02ca099ea9dad88fc8023f7f6ddfca54b780040ff7fdb39d9efb3c
2022-04-06 15:02:00 +00:00
x-checker-data :
type : anitya
project-id : 10649
url-template : https://github.com/nih-at/libzip/archive/v$version.tar.gz
- name : zstd
2022-08-31 10:17:26 +00:00
buildsystem : meson
subdir : build/meson
config-opts :
- '-Dbin_programs=false'
- '-Dbin_contrib=false'
2022-04-06 15:02:00 +00:00
sources :
- type : archive
2022-08-31 12:05:30 +00:00
url : https://github.com/facebook/zstd/releases/download/v1.5.2/zstd-1.5.2.tar.gz
2022-04-06 15:02:00 +00:00
sha256 : 7c42d56fac126929a6a85dbc73ff1db2411d04f104fae9bdea51305663a83fd0
x-checker-data :
type : anitya
project-id : 12083
2022-08-31 12:05:30 +00:00
url-template : https://github.com/facebook/zstd/releases/download/v$version/zstd-$version.tar.gz
2022-04-06 15:02:00 +00:00
- name : fmt
buildsystem : cmake-ninja
config-opts :
2022-07-06 17:53:51 +00:00
- -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON
- -DFMT_TEST=OFF
2022-04-06 15:02:00 +00:00
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
2022-08-31 10:17:26 +00:00
versions :
< : 9.0 .0
2022-08-31 12:05:30 +00:00
url-template : https://github.com/fmtlib/fmt/releases/download/$version/fmt-$version.zip
2022-04-06 15:02:00 +00:00
- name : glslang
buildsystem : cmake-ninja
config-opts :
2022-07-06 17:53:51 +00:00
- -DCMAKE_BUILD_TYPE=Release
2022-04-06 15:02:00 +00:00
sources :
- type : archive
2022-08-31 10:17:26 +00:00
url : https://github.com/KhronosGroup/glslang/archive/11.11.0.tar.gz
sha256 : 26c216c3062512c018cbdd752224b8dad703b7e5bb90bf338ba2dbb5d4f11438
2022-04-06 15:02:00 +00:00
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 :
2022-07-06 17:53:51 +00:00
- -DCMAKE_BUILD_TYPE=Release
- -DCATCH_INSTALL_EXTRAS=ON
- -DCATCH_BUILD_TESTING=OFF
2022-04-06 15:02:00 +00:00
builddir : true
sources :
- type : archive
2022-06-22 20:38:22 +00:00
url : https://github.com/catchorg/Catch2/archive/v2.13.9.tar.gz
sha256 : 06dbc7620e3b96c2b69d57bf337028bf245a211b3cddb843835bfe258f427a52
2022-04-06 15:02:00 +00:00
x-checker-data :
type : anitya
stable-only : true
2022-08-31 10:17:26 +00:00
versions :
< : 3.0 .0
2022-04-06 15:02:00 +00:00
project-id : 7680
url-template : https://github.com/catchorg/Catch2/archive/v$version.tar.gz
- name : nlohmann-json
buildsystem : cmake-ninja
config-opts :
2022-07-06 17:53:51 +00:00
- -DCMAKE_BUILD_TYPE=Release
- -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON
- -DJSON_BuildTests=OFF
2022-04-06 15:02:00 +00:00
sources :
- type : archive
2022-08-31 10:17:26 +00:00
url : https://github.com/nlohmann/json/archive/v3.11.2.tar.gz
sha256 : d69f9deb6a75e2580465c6c4c5111b89c4dc2fa94e3a85fcd2ffcd9a143d9273
2022-04-06 15:02:00 +00:00
x-checker-data :
type : anitya
2022-06-22 20:38:22 +00:00
project-id : 11152
2022-04-06 15:02:00 +00:00
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 : >-
2022-06-22 20:38:22 +00:00
https://boostorg.jfrog.io/artifactory/main/release/1.79.0/source/boost_1_79_0.tar.bz2
sha256 : 475d589d51a7f8b3ba2ba4eda022b170e562ca3b760ee922c146b6c65856ef39
2022-04-06 15:02:00 +00:00
x-checker-data :
type : anitya
project-id : 6845
2022-08-31 12:05:30 +00:00
url-template : https://boostorg.jfrog.io/artifactory/main/release/$version/source/boost_1_79_0.tar.bz2
2022-04-06 15:02:00 +00:00
- 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.]+)$
2022-08-30 20:14:52 +00:00
2022-08-31 13:16:30 +00:00
- 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=1150
- -DBUILD_TAG=mainline-1150
- -DBUILD_REPOSITORY=yuzu-emu/yuzu-mainline
#- -DCMAKE_PREFIX_PATH=/run/build/yuzu/_flatpak_build/externals/qt5_5_15_2
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 ../dist/yuzu.svg /app/share/icons/hicolor/scalable/apps/yuzu.svg
sources :
- type : git
url : https://github.com/yuzu-emu/yuzu-mainline.git
tag : mainline-0-1150
commit : e5774ced75e1d19c5a42cac719f7de475a3630b3
disable-shallow-clone : true
x-checker-data :
type : git
tag-pattern : ^(mainline-0-\d+)$
- type : file
path : rd-submodules/yuzu/yuzu-launcher.sh
- type : file
path : rd-submodules/yuzu/compatibility_list.json
dest : dist/compatibility_list
2022-07-06 17:53:51 +00:00
2022-08-25 09:59:17 +00:00
# # Yuzu - END
2022-03-26 08:45:56 +00:00
2022-08-25 09:59:17 +00:00
# # Ryujinx - START
# # https://github.com/flathub/org.ryujinx.Ryujinx
2022-08-10 21:13:55 +00:00
2022-08-25 09:59:17 +00:00
# - name: Ryujinx
# buildsystem: simple
# build-options:
# append-path: /usr/lib/sdk/dotnet6/bin
# append-ld-library-path: /usr/lib/sdk/dotnet6/lib
# arch:
# x86_64:
# env:
# RUNTIME: linux-x64
# env:
# PKG_CONFIG_PATH: /app/lib/pkgconfig:/app/share/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig:/usr/lib/sdk/dotnet6/lib/pkgconfig
# DOTNET_CLI_TELEMETRY_OPTOUT: 'true'
# DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 'true'
# RYUJINX_VERSION: 1.1.209
# RYUJINX_TARGET_RELEASE_CHANNEL_OWNER: flathub
# RYUJINX_TARGET_RELEASE_CHANNEL_REPO: org.ryujinx.Ryujinx
# RYUJINX_TARGET_RELEASE_CHANNEL_NAME: master
# build-commands:
# - |
# export RYUJINX_GIT_SHORT_HASH=$(git rev-parse --short HEAD)
# 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 --self-contained --source nuget-sources
# if [ $? -ne 0 ]; then
# exit 1;
# fi;
# cp -r --remove-destination /run/build/Ryujinx/Ryujinx/bin/Release/net6.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
# wget https://raw.githubusercontent.com/flathub/org.ryujinx.Ryujinx/master/ryujinx-wrapper
# 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
# sources:
# - rd-submodules/ryujinx/nuget_sources.json
# - type: git
# url: https://github.com/Ryujinx/Ryujinx.git
# commit: 66e7fdb8710ff24bfb80c9c638ce2e6fa9563068
2022-08-10 21:13:55 +00:00
2022-08-25 09:59:17 +00:00
# # Ryujinx - END
2022-08-10 21:13:55 +00:00
2022-07-08 07:07:20 +00:00
# CITRA - START
- name : citra
buildsystem : cmake-ninja
builddir : true
config-opts :
- -DCMAKE_BUILD_TYPE=Release
- -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
tag : nightly-1772
commit : 355933218d00603c910cd0a9daead0b1cd72a3c3
disable-shallow-clone : true
x-checker-data :
type : git
tag-pattern : ^(nightly-\d+)$
# CITRA - END
2022-06-22 20:38:22 +00:00
# PCSX2 - START
# https://github.com/flathub/net.pcsx2.PCSX2
2022-04-07 07:56:36 +00:00
- name : wxWidgets
buildsystem : cmake-ninja
config-opts :
2022-07-06 17:53:51 +00:00
- -DCMAKE_BUILD_TYPE=Release
2022-04-07 07:56:36 +00:00
cleanup :
- /bin
- /include
- /lib/wx/include
sources :
- type : git
url : https://github.com/wxWidgets/wxWidgets.git
2022-08-10 20:50:52 +00:00
tag : v3.2.0
commit : 5b5ec3804a31a3765d60ff351bbdf79eddb1e1f9
2022-04-07 07:56:36 +00:00
x-checker-data :
type : git
tag-pattern : ^v([\d.]+)$
2022-08-10 21:01:44 +00:00
2022-04-07 07:56:36 +00:00
- name : libaio
no-autogen : true
make-install-args :
- prefix=${FLATPAK_DEST}
sources :
- type : git
url : https://pagure.io/libaio.git
2022-06-22 20:38:22 +00:00
tag : libaio-0.3.113
commit : 1b18bfafc6a2f7b9fa2c6be77a95afed8b7be448
2022-04-07 07:56:36 +00:00
x-checker-data :
type : git
tag-pattern : ^libaio-([\d.]+)$
cleanup :
- /include
- /lib/*.a
2022-08-10 21:01:44 +00:00
2022-04-07 07:56:36 +00:00
- name : portaudio
buildsystem : cmake-ninja
config-opts :
2022-07-06 17:53:51 +00:00
- -DCMAKE_BUILD_TYPE=Release
2022-04-07 07:56:36 +00:00
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.]+)$
2022-08-10 21:01:44 +00:00
2022-04-07 07:56:36 +00:00
- 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
2022-08-10 21:01:44 +00:00
2022-04-07 07:56:36 +00:00
- name : png++
disabled : true
buildsystem : simple
build-commands :
- make
- make prefix=/app install
sources :
- type : archive
2022-08-31 12:05:30 +00:00
url : https://download.savannah.nongnu.org/releases/pngpp/png++-0.2.10.tar.gz
2022-04-07 07:56:36 +00:00
sha256 : 998af216ab16ebb88543fbaa2dbb9175855e944775b66f2996fc945c8444eee1
2022-08-10 21:01:44 +00:00
2022-04-07 07:56:36 +00:00
- 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
2022-08-10 21:01:44 +00:00
2022-04-07 07:56:36 +00:00
- name : pcsx2
buildsystem : cmake-ninja
builddir : true
config-opts :
2022-07-06 17:53:51 +00:00
- -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
2022-08-26 12:00:46 +00:00
#- '-DWAYLAND_API=TRUE"' enable this if Steam Deck goes to Wayland
- '-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=TRUE'
2022-04-07 07:56:36 +00:00
cleanup :
- /share/pixmaps
- /share/man
- /share/doc
sources :
- type : git
url : https://github.com/PCSX2/pcsx2.git
2022-08-26 12:00:46 +00:00
tag : v1.7.3229
commit : e3eae7fbe83aad3952e3ed6a8e56fc016b51a9c3
2022-08-10 21:01:44 +00:00
2022-07-06 17:53:51 +00:00
# PCSX2 Flathub Workaround - START
# This workaround disables the PCSX2 libraries (disable-submodules: true) and install them separately
# This is only to make it buildable by the flathub builder as normaly it seems not to be needed
disable-submodules : true
- type : git
dest : 3rdparty/xz/xz
url : https://github.com/PCSX2/xz.git
commit : 3d566cd519017eee1a400e7961ff14058dfaf33c
- type : git
dest : 3rdparty/gtest
url : https://github.com/google/googletest.git
commit : e2239ee6043f73722e7aa812a459f54a28552929
- type : git
dest : 3rdparty/fmt/fmt
url : https://github.com/fmtlib/fmt.git
commit : b6f4ceaed0a0a24ccf575fab6c56dd50ccf6f1a9
- type : git
dest : 3rdparty/libchdr/libchdr
url : https://github.com/rtissera/libchdr.git
commit : 5de1a59019815ccdbba0fe07c71b31406d023248
- type : git
dest : 3rdparty/wil
url : https://github.com/microsoft/wil.git
commit : 3018875eaa4f8e3d86cf2da97fd577bae59f3aec
- type : git
dest : 3rdparty/cubeb/cubeb
url : https://github.com/mozilla/cubeb.git
commit : 773f16b7ea308392c05be3e290163d1f636e6024
- type : git
dest : 3rdparty/rapidyaml/rapidyaml
url : https://github.com/biojppm/rapidyaml.git
commit : 213b201d264139cd1b887790197e08850af628e3
2022-09-02 12:36:14 +00:00
- type : git
dest : 3rdparty/imgui/imgui
url : https://github.com/ocornut/imgui.git
commit : 60bea052a92cbb4a93b221002fdf04f0da3698e1
2022-07-06 17:53:51 +00:00
- type : git
dest : 3rdparty/glslang/glslang
url : https://github.com/KhronosGroup/glslang.git
commit : c9706bdda0ac22b9856f1aa8261e5b9e15cd20c5
- type : git
dest : 3rdparty/vulkan-headers
url : https://github.com/KhronosGroup/Vulkan-Headers.git
commit : 52a76fd0a693708eb8c25bd0ab7a1008091f64d4
- type : git
dest : 3rdparty/sdl2/SDL
url : https://github.com/libsdl-org/SDL.git
commit : 53dea9830964eee8b5c2a7ee0a65d6e268dc78a1
- type : git
dest : 3rdparty/libzip/libzip
url : https://github.com/nih-at/libzip.git
commit : bdc03ab23b703fcc516436d6ebcbfb6ac4484033
- type : git
dest : 3rdparty/zstd/zstd
url : https://github.com/facebook/zstd.git
commit : e47e674cd09583ff0503f0f6defd6d23d8b718d3
# PCSX2 Flathub Workaround - END
2022-04-07 07:56:36 +00:00
2022-08-31 17:26:18 +00:00
# - name: pcsx2-qt
# 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'
# #- '-DWAYLAND_API=TRUE"' enable this if Steam Deck goes to Wayland
# - '-DQT_BUILD=TRUE'
# - '-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=TRUE'
# cleanup:
# - /share/pixmaps
# - /share/man
# - /share/doc
# post-install:
# - ln -s ${FLATPAK_DEST}/share/PCSX2/resources ${FLATPAK_DEST}/bin/resources
# sources:
# - type: git
# url: https://github.com/PCSX2/pcsx2.git
# tag: v1.7.3229
# commit: e3eae7fbe83aad3952e3ed6a8e56fc016b51a9c3
# # same as above
# #disable-submodules: true
2022-08-10 21:01:44 +00:00
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-01 14:14:51 +00:00
2022-09-01 18:20:06 +00:00
- name : pcsx2-qt-appimage
buildsystem : simple
build-commands :
- ls -la #debug
- 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
url : https://github.com/PCSX2/pcsx2/releases/download/v1.7.3271/pcsx2-v1.7.3271-linux-AppImage-64bit-AVX2-Qt.AppImage
sha256 : 34aca477585bf9492b8f51ae066fe52c2a321c7b5656b9b76df97d51f75e4f85
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-04-24 01:35:28 +00:00
# Dolphin - START
# https://github.com/flathub/org.DolphinEmu.dolphin-emu
2022-06-20 19:29:03 +00:00
# WHEN UPADTING: remember to update rd-submodules/yuzu 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
url : https://www.kernel.org/pub/linux/bluetooth/bluez-5.64.tar.xz
sha256 : ae437e65b6b3070c198bc5b0109fe9cdeb9eaa387380e2072f9de65fe8a1de34
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
url : https://www.freedesktop.org/software/libevdev/libevdev-1.12.1.tar.xz
sha256 : 1dbba41bc516d3ca7abc0da5b862efe3ea8a7018fa6e9b97ce9d39401b22426c
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
url : https://github.com/dolphin-emu/dolphin.git
2022-06-22 16:08:16 +00:00
commit : 8335ec70e5fe253eb21509408ca6b5736ed57dfc
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 :
- 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-06-22 16:08:16 +00:00
# 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
2022-07-06 17:53:51 +00:00
- QT_QPA_PLATFORMTHEME=gtk3 dolphin-emu "$@"
2022-06-22 16:08:16 +00:00
- else
2022-07-06 17:53:51 +00:00
- dolphin-emu "$@"
2022-06-22 16:08:16 +00:00
- 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-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-07-06 17:53:51 +00:00
tag : v0.7.58
commit : 6f878ede01ad1992392dde22b506a3c00fab87c4
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
2022-06-17 14:30:30 +00:00
version-query : $tag | sub("^gh-release/"; "")
2022-04-24 01:35:28 +00:00
timestamp-query : .published_at
# 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-06-14 12:15:58 +00:00
- name : rpcs3-llvm
buildsystem : cmake-ninja
builddir : true
build-options :
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
cflags-override : true
cxxflags : -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 -msse -msse2 -mcx16
cxxflags-override : true
env :
AR : llvm-ar
CC : clang
CXX : clang++
RANLIB : llvm-ranlib
ldflags : -fuse-ld=lld
prepend-ld-library-path : /usr/lib/sdk/llvm13/lib
prepend-path : /usr/lib/sdk/llvm13/bin
config-opts :
- -DCMAKE_BUILD_TYPE=Release
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_CCACHE_BUILD=ON
- -DLLVM_TARGETS_TO_BUILD='X86'
- -DLLVM_BUILD_RUNTIME=OFF
- -DLLVM_BUILD_TOOLS=OFF
- -DLLVM_INCLUDE_DOCS=OFF
- -DLLVM_INCLUDE_EXAMPLES=OFF
- -DLLVM_INCLUDE_TESTS=OFF
- -DLLVM_INCLUDE_TOOLS=OFF
- -DLLVM_INCLUDE_UTILS=OFF
- -DLLVM_USE_INTEL_JITEVENTS=ON
- -DLLVM_USE_PERF=ON
- -DLLVM_ENABLE_Z3_SOLVER=OFF
- -DCMAKE_CXX_STANDARD=17
- -DITTAPI_SOURCE_DIR=/run/build/rpcs3-llvm/ittapi
- -Wno-dev
cleanup :
- '*'
sources :
- type : git
url : https://github.com/RPCS3/llvm-mirror.git
commit : 509d31ad89676522f7121b3bb8688f7d29b7ee60
- type : git
url : https://github.com/intel/ittapi.git
dest : ittapi/ittapi
disable-shallow-clone : true
2022-04-27 06:21:48 +00:00
- name : rpcs3
buildsystem : cmake-ninja
builddir : true
build-options :
2022-06-14 12:15:58 +00:00
append-ld-library-path : /usr/lib/sdk/llvm13/lib
append-path : /usr/lib/sdk/llvm13/bin
cflags : *optflags
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
- -DBUILD_LLVM_SUBMODULE=OFF
- -DUSE_NATIVE_INSTRUCTIONS=OFF
- -DUSE_PRECOMPILED_HEADERS=OFF
- -DUSE_SYSTEM_CURL=ON
- -DUSE_SYSTEM_FFMPEG=ON
- -DUSE_SYSTEM_LIBPNG=ON
- -DUSE_SYSTEM_ZLIB=ON
- -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-06-14 12:15:58 +00:00
commit : e9570d1a0045926f63ec8ea9af68f81743d4f365
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-04-27 06:40:20 +00:00
# PRIMEHACK - START
2022-04-27 06:41:03 +00:00
# https://github.com/flathub/io.github.shiiion.primehack
2022-05-02 12:47:47 +00:00
# Disabled because it's overwriting Dolphin
# - 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 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
# url: https://github.com/shiiion/dolphin.git
# commit: 9ca0eb888bd6f8ed13a4efb92d808fbf0705ffa4
# # 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/primehack/detectflatpak.patch
# # version strings must match exactly for online multiplayer
# - type: patch
# path: rd-submodules/primehack/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
# - dolphin-emu "$@"
# dest-filename: dolphin-emu-wrapper
2022-04-27 06:40:20 +00:00
# PRIMEHACK - END
2022-04-27 06:46:14 +00:00
2022-05-02 12:59:03 +00:00
# PPSSPP - START
# https://github.com/flathub/org.ppsspp.PPSSPP
- name : ppsspp
buildsystem : cmake-ninja
config-opts :
2022-07-06 17:53:51 +00:00
- -DUSE_SYSTEM_FFMPEG=OFF # turn this on?
- -DUSE_SYSTEM_LIBZIP=ON
- -DUSE_SYSTEM_ZSTD=ON
2022-05-02 12:59:03 +00:00
2022-07-06 17:53:51 +00:00
- -DUSE_WAYLAND_WSI=ON
- -DUSING_X11_VULKAN=ON
- -DUSING_QT_UI=OFF
2022-05-02 12:59:03 +00:00
2022-07-06 17:53:51 +00:00
- -DBUILD_TESTING=OFF
- -DOpenGL_GL_PREFERENCE=GLVND
2022-05-02 12:59:03 +00:00
build-options :
2022-07-06 17:53:51 +00:00
- -DX86_64=ON
2022-05-02 12:59:03 +00:00
sources :
- type : git
url : https://github.com/hrydgard/ppsspp.git
tag : v1.12.3
commit : ce0a45cf0fcdd5bebf32208b9998f68dfc1107b7
x-checker-data :
type : git
2022-07-06 17:53:51 +00:00
tag-pattern : ^v([\d.]+)$
2022-05-02 12:59:03 +00:00
2022-07-06 17:53:51 +00:00
# PPSSPP Flathub Workaround - START
# This workaround disables the PPSSPP libraries (disable-submodules: true) and install them separately
# This is only to make it buildable by the flathub builder as normaly it seems not to be needed
2022-07-04 19:59:49 +00:00
disable-submodules : true
2022-07-06 17:53:51 +00:00
- type : git
dest : SDL/macOS
commit : f19a1d54b8a5af6cc378ea307e0ec676922eb4cc
url : https://github.com/hrydgard/ppsspp-mac-sdl
- type : git
dest : assets/debugger
commit : 36ad6b19b22de2075a01a4f0c765e3ef514dc38f
url : https://github.com/unknownbrackets/ppsspp-debugger.git
- type : git
dest : dx9sdk
commit : 7751cf73f5c06f1be21f5f31c3e2d9a7bacd3a93
url : https://github.com/hrydgard/minidx9.git
- type : git
dest : ext/SPIRV-Cross
commit : 9acb9ec31f5a8ef80ea6b994bb77be787b08d3d1
url : https://github.com/KhronosGroup/SPIRV-Cross.git
- type : git
dest : ext/armips
commit : 7885552b208493a6a0f21663770c446c3ba65576
url : https://github.com/Kingcom/armips.git
- type : git
dest : ext/discord-rpc
commit : 963aa9f3e5ce81a4682c6ca3d136cddda614db33
url : https://github.com/discordapp/discord-rpc.git
- type : git
dest : ext/glslang
commit : dc11adde23c455a24e13dd54de9b4ede8bdd7db8
url : https://github.com/hrydgard/glslang.git
- type : git
dest : ext/miniupnp
commit : 3a87be33e797ba947b2b2a5f8d087f6c3ff4d93e
url : https://github.com/hrydgard/miniupnp.git
- type : git
dest : ext/native/tools/prebuilt
commit : cbea79dc8fef4d9210e2bac7e7b9b5ff3388197a
url : https://github.com/hrydgard/ppsspp-freetype.git
- type : git
dest : ext/rapidjson
commit : 73063f5002612c6bf64fe24f851cd5cc0d83eef9
disable-submodules : true
url : https://github.com/Tencent/rapidjson.git
- type : git
dest : ext/zstd
commit : a488ba114ec17ea1054b9057c26a046fc122b3b6
url : https://github.com/facebook/zstd.git
- type : git
dest : ffmpeg
commit : 3ad7ddb9eb2af898dce8c4b5e9a28b77b3f7ddd7
url : https://github.com/hrydgard/ppsspp-ffmpeg.git
- type : git
dest : pspautotests
commit : 682a4303aba63a50c91ae0fa6928c9dac8ca9b92
url : https://github.com/hrydgard/pspautotests.git
# PPSSPP Flathub Workaround - END
2022-05-02 12:59:03 +00:00
# PPSSPP - END
2022-08-10 20:43:09 +00:00
# Duckstation - START
# https://github.com/flathub/org.duckstation.DuckStation
- name : duckstation
buildsystem : cmake-ninja
no-make-install : true
builddir : true
config-opts :
- -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
sources :
- type : git
url : https://github.com/stenzek/duckstation.git
commit : 3fb61865e505ba639609fbf16cb8bdf5c66e020c
# Duckstation - END
2022-09-01 18:20:06 +00:00
# CEMU - START
2022-09-09 06:42:45 +00:00
# temporary here: https://github.com/Eonfge/flathub/blob/8bb2905b0fefdff820a2b65dac2a7cde916d3ce5/info.cemu.Cemu.yaml
2022-09-01 18:20:06 +00:00
2022-09-10 15:02:11 +00:00
# Needed for imgui
- name : glad
2022-09-09 06:42:16 +00:00
buildsystem : cmake-ninja
config-opts :
- -DCMAKE_BUILD_TYPE=RelWithDebInfo
2022-09-10 15:02:11 +00:00
- -DBUILD_SHARED_LIBS=true
- -DGLAD_REPRODUCIBLE=true
- -DGLAD_INSTALL=true
sources :
- type : archive
url : https://github.com/Dav1dde/glad/archive/refs/tags/v0.1.36.tar.gz
sha256 : 8470ed1b0e9fbe88e10c34770505c8a1dc8ccb78cadcf673331aaf5224f963d2
# Needed for imgui
- name : glfw
buildsystem : cmake-ninja
builddir : true
config-opts :
- -DBUILD_SHARED_LIBS=ON
- -DGLFW_BUILD_EXAMPLES=OFF
- -DGLFW_BUILD_TESTS=OFF
- -DGLFW_BUILD_DOCS=OFF
sources :
- type : archive
url : https://github.com/glfw/glfw/releases/download/3.3.2/glfw-3.3.2.zip
sha256 : 08a33a512f29d7dbf78eab39bd7858576adcc95228c9efe8e4bc5f0f3261efc7
cleanup :
- /include
- /lib/pkgconfig
- name : imgui
buildsystem : cmake
sources :
- type : archive
url : https://github.com/ocornut/imgui/archive/refs/tags/v1.88.zip
sha256 : 81087a74599e5890a07b636887cee73a7dc1a9eb9e1f19a4a0d82a76090bf4c2
- type : file
path : imguiCMakeLists.txt
dest-filename : CMakeLists.txt
- name : Cemu
buildsystem : cmake-ninja
builddir : true
config-opts :
2022-09-09 06:42:16 +00:00
- -DENABLE_VCPKG=false
2022-09-10 15:02:11 +00:00
- -DCMAKE_BUILD_TYPE=release
- -DCMAKE_C_COMPILER=/usr/bin/gcc
- -DCMAKE_CXX_COMPILER=/usr/bin/g++
- -G Ninja
- -DCMAKE_MAKE_PROGRAM=/usr/bin/ninja
2022-09-09 06:42:16 +00:00
sources :
- type : git
url : https://github.com/cemu-project/Cemu
2022-09-10 15:02:11 +00:00
commit : d8da8a54a6c08296a884b892d714cabcb7e4bdb5
2022-09-09 06:42:16 +00:00
cleanup :
- /app/include
- /app/lib/*.a
- /app/lib/*.la
- /app/lib/pkgconfig
2022-09-01 18:20:06 +00:00
# CEMU - END
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-05-19 03:08:47 +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-03-28 13:01:47 +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-03-31 11:50:46 +00:00
# Logo, res
2022-07-06 17:53:51 +00:00
- rm -f /app/share/emulationstation/resources/graphics/splash.svg
- cp res/splash.svg /app/share/emulationstation/resources/graphics/splash.svg
- cp res/icon.svg /app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg
2022-03-28 15:00:21 +00:00
2022-03-29 02:51:22 +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-03-28 13:01: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-07-18 08:04:17 +00:00
- cp global.sh /app/bin/global.sh
- chmod +x /app/bin/global.sh
2022-04-24 01:35:28 +00:00
2022-03-31 11:50:46 +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-06-22 20:38:22 +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-10 09:21:54 +00:00
# Initializing default emulator configs
- cp -r emu-configs ${FLATPAK_DEST}/retrodeck/emu-configs/
2022-03-31 11:50:46 +00:00
2022-06-20 19:29:03 +00:00
# Overlays
2022-07-06 17:53:51 +00:00
#- 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-05-01 10:16:19 +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
url : https://github.com/XargonWan/RetroDECK.git
2022-09-05 12:38:37 +00:00
branch : cooker