app-id: com.xargon.retrodeck runtime: org.kde.Platform runtime-version: '5.15-21.08' sdk: org.kde.Sdk command: emulationstation #command: retroarch #--appendconfig /app/retrodeck/retroarch/.config/retroarch.cfg finish-args: - --socket=x11 - --socket=wayland - --socket=pulseaudio - --share=ipc - --share=network - --device=all - --filesystem=~/retrodeck/roms:create - --allow=multiarch - --talk-name=org.freedesktop.ScreenSaver - --talk-name=org.freedesktop.PowerManagement.Inhibit - --talk-name=org.freedesktop.login1 #- --filesystem=host #- --env=LD_LIBRARY_PATH=/app/lib #- --env=PATH=/app/bin:/usr/bin modules: - name: unappimage buildsystem: simple build-commands: - make -C squashfs-tools -j ${FLATPAK_BUILDER_N_JOBS} install INSTALL_DIR=/app/bin cleanup: ['*'] sources: - type: git url: https://github.com/refi64/unappimage commit: d7f86f2a0d7ec3a69211125207d5f127386b849a - name: rsync buildsystem: autotools config-opts: - --disable-zstd - --disable-xxhash - --disable-md2man sources: - type: git url: https://github.com/WayneD/rsync.git tag: v3.2.3 commit: e94bad1c156fc3910f24e2b3b71a81b0b0bdeb70 cleanup: - /share/man # RA dependency - name: libusb config-opts: - --disable-static build-commands: - ./autogen.sh - ./bootstrap.sh - ./configure --prefix=/app - make - make install cleanup: - /lib/*.la - /lib/pkgconfig - /include sources: - type: archive url: https://github.com/libusb/libusb/archive/v1.0.25.tar.gz sha256: f9c4b7dad27a6196ca9ec3c6ec7fa446194342de326c71e030eb2c480895e169 post-install: - install -Dm644 COPYING /app/share/licenses/libusb/COPYING # ES-DE dependency - name: pugixml buildsystem: cmake config-opts: - -DBUILD_SHARED_LIBS=on . sources: - type: archive url: https://github.com/zeux/pugixml/releases/download/v1.11.4/pugixml-1.11.4.tar.gz sha256: 8ddf57b65fb860416979a3f0640c2ad45ddddbbafa82508ef0a0af3ce7061716 # ES-DE dependency - name: freeimage no-autogen: true build-options: #C++17 is not supported cxxflags: -std=c++14 make-args: - DESTDIR=/app sources: - type: archive url: http://downloads.sourceforge.net/freeimage/FreeImage3180.zip sha256: f41379682f9ada94ea7b34fe86bf9ee00935a3147be41b6569c9605a53e438fd - type: shell commands: - sed -i 's|-o root -g root ||' ./Makefile.gnu - sed -i 's|/usr|/app|' ./Makefile.gnu # ES-DE dependency - name: ffmpeg config-opts: - --enable-shared - --disable-static - --enable-gnutls - --disable-doc - --disable-programs - --disable-encoders - --disable-muxers - --enable-encoder=png sources: - type: archive url: https://www.ffmpeg.org/releases/ffmpeg-4.2.3.tar.xz sha256: 9df6c90aed1337634c1fb026fb01c154c29c82a64ea71291ff2da9aacb9aad31 cleanup: - /share/ffmpeg/examples - name: emulationstation-de buildsystem: cmake config-opts: - -DCMAKE_INSTALL_PREFIX=/app cleanup: - es-app - es-core sources: - type: git url: https://gitlab.com/leonstyhre/emulationstation-de.git branch: stable-1.2 - name: retroarch buildsystem: simple build-commands: - unappimage ./RetroArch-Linux-x86_64.AppImage - ls -ln ./squashfs-root/usr/bin/ - rsync -avr --ignore-existing --remove-source-files ./squashfs-root/usr/ /app/ - mkdir -p /app/retrodeck/retroarch/.config - mv RetroArch-Linux-x86_64.AppImage.home/.config/retroarch/* /app/retrodeck/retroarch/.config/ - mkdir -p /app/retrodeck/retroarch/.config/database/cht cleanup: - RetroArch-Linux-x86_64.AppImage* sources: - type: archive url: https://buildbot.libretro.com/stable/1.10.1/linux/x86_64/RetroArch.7z sha256: 0ab48b247fd7ce05d9532f28b706f35a1c96da67b826a9a312d66b86b9dd8f39 - name: retroarch-assets builsystem: simple make-install-args: - PREFIX=/app post-install: - cp -rf ./* /app/retrodeck/retroarch/.config/assets/ cleanup: ['*'] sources: - type: archive url: https://github.com/libretro/retroarch-assets/archive/948def88f11c8c62f85f606a1cd8f5a1bbad671b.zip sha256: d7b2d79d6809521f73818117575f49b706a913cfc61822582d1f12a697944791 - name: retroarch-cores buildsystem: simple build-commands: - cp ./RetroArch-Linux-x86_64.AppImage.home/.config/retroarch/cores/* /app/retrodeck/retroarch/.config/cores/ cleanup: - RetroArch_cores.7z sources: - type: archive url: https://buildbot.libretro.com/stable/1.10.1/linux/x86_64/RetroArch_cores.7z sha256: 3467de291c0849947993a535b0f32e7c211878dcaf6a37a9f864cf50cbe824fd - name: yuzu buildsystem: simple build-commands: - unappimage ./yuzu*.AppImage - mkdir -p /app/retrodeck/yuzu - mv ./squashfs-root /app/retrodeck/yuzu - ln -s ./usr/bin/yuzu /app/bin # TODO: see how are the files and implement, edit the yuzu.sh script cleanup: ['*'] sources: - type: file url: https://github.com/yuzu-emu/yuzu-mainline/releases/download/mainline-0-957/yuzu-20220320-1ce8136c7.AppImage sha256: 000b7f09aa562a1f844697ded35618cef3189f339a207759e11295f31589a40d # - name: ryujinx # - name: xemu # - name: rpcs3 # - name: pcsx2 # - name: vita3k # - name: dolphin # - name: arduboy - name: art-book-next buildsystem: simple build-commands: - mkdir -p /app/emulationstation/themes/art-book-next - mv -f * /app/emulationstation/themes/art-book-next/ sources: - type: git url: https://github.com/anthonycaccese/es-theme-art-book-next.git branch: eaf73a4eefde22791681c7f430a238fb324bdeaf - name: retrodeck buildsystem: simple build-commands: - mkdir -p ~/retrodeck/roms/bios - mkdir -p ~/retrodeck/roms/3do - mkdir -p ~/retrodeck/roms/amiga - mkdir -p ~/retrodeck/roms/amigacd32 - mkdir -p ~/retrodeck/roms/amstradcpc - mkdir -p ~/retrodeck/roms/arcade - mkdir -p ~/retrodeck/roms/atari2600 - mkdir -p ~/retrodeck/roms/atari5200 - mkdir -p ~/retrodeck/roms/atari7800 - mkdir -p ~/retrodeck/roms/atarist - mkdir -p ~/retrodeck/roms/atari800 - mkdir -p ~/retrodeck/roms/atomiswave - mkdir -p ~/retrodeck/roms/channelf - mkdir -p ~/retrodeck/roms/colecovision - mkdir -p ~/retrodeck/roms/c64 - mkdir -p ~/retrodeck/roms/c128 - mkdir -p ~/retrodeck/roms/vic20 - mkdir -p ~/retrodeck/roms/laserdisc - mkdir -p ~/retrodeck/roms/dreamcast - mkdir -p ~/retrodeck/roms/easyrpg - mkdir -p ~/retrodeck/roms/famicom - mkdir -p ~/retrodeck/roms/fbn - mkdir -p ~/retrodeck/roms/gb - mkdir -p ~/retrodeck/roms/gbh - mkdir -p ~/retrodeck/roms/gameandwatch - mkdir -p ~/retrodeck/roms/gba - mkdir -p ~/retrodeck/roms/fds - mkdir -p ~/retrodeck/roms/c16 - mkdir -p ~/retrodeck/roms/ggh - mkdir -p ~/retrodeck/roms/gbah - mkdir -p ~/retrodeck/roms/intellivision - mkdir -p ~/retrodeck/roms/gbch - mkdir -p ~/retrodeck/roms/atarilynx - mkdir -p ~/retrodeck/roms/mame - mkdir -p ~/retrodeck/roms/dos - mkdir -p ~/retrodeck/roms/snesmsu1 - mkdir -p ~/retrodeck/roms/msx - mkdir -p ~/retrodeck/roms/msx2 - mkdir -p ~/retrodeck/roms/naomi - mkdir -p ~/retrodeck/roms/neogeo - mkdir -p ~/retrodeck/roms/ngp - mkdir -p ~/retrodeck/roms/nds - mkdir -p ~/retrodeck/roms/n64 - mkdir -p ~/retrodeck/roms/nes - mkdir -p ~/retrodeck/roms/nesh - mkdir -p ~/retrodeck/roms/ngpc - mkdir -p ~/retrodeck/roms/neocd - mkdir -p ~/retrodeck/roms/pc-9800 - mkdir -p ~/retrodeck/roms/pcengine - mkdir -p ~/retrodeck/roms/pcenginecd - mkdir -p ~/retrodeck/roms/pcfx - mkdir -p ~/retrodeck/roms/openbor - mkdir -p ~/retrodeck/roms/piece - mkdir -p ~/retrodeck/roms/odyssey2 - mkdir -p ~/retrodeck/roms/psp - mkdir -p ~/retrodeck/roms/pspminis - mkdir -p ~/retrodeck/roms/pokemini - mkdir -p ~/retrodeck/roms/homebrew - mkdir -p ~/retrodeck/roms/ports - mkdir -p ~/retrodeck/roms/sc-3000 - mkdir -p ~/retrodeck/roms/scummvm - mkdir -p ~/retrodeck/roms/psx - mkdir -p ~/retrodeck/roms/segacd - mkdir -p ~/retrodeck/roms/sega32x - mkdir -p ~/retrodeck/roms/genesis - mkdir -p ~/retrodeck/roms/genh - mkdir -p ~/retrodeck/roms/mastersystem - mkdir -p ~/retrodeck/roms/megadrive - mkdir -p ~/retrodeck/roms/megaduck - mkdir -p ~/retrodeck/roms/saturn - mkdir -p ~/retrodeck/roms/sg-1000 - mkdir -p ~/retrodeck/roms/x1 - mkdir -p ~/retrodeck/roms/zxspectrum - mkdir -p ~/retrodeck/roms/zx81 - mkdir -p ~/retrodeck/roms/pc-8800 - mkdir -p ~/retrodeck/roms/snes - mkdir -p ~/retrodeck/roms/supergrafx - mkdir -p ~/retrodeck/roms/pico-8 - mkdir -p ~/retrodeck/roms/megacd - mkdir -p ~/retrodeck/roms/snesh - mkdir -p ~/retrodeck/roms/satellaview - mkdir -p ~/retrodeck/roms/sfc - mkdir -p ~/retrodeck/roms/sufami - mkdir -p ~/retrodeck/roms/tic-80 - mkdir -p ~/retrodeck/roms/tg16 - mkdir -p ~/retrodeck/roms/solarus - mkdir -p ~/retrodeck/roms/vectrex - mkdir -p ~/retrodeck/roms/gbc - mkdir -p ~/retrodeck/roms/videopac - mkdir -p ~/retrodeck/roms/virtualboy - mkdir -p ~/retrodeck/roms/wonderswan - mkdir -p ~/retrodeck/roms/wonderswancolor - mkdir -p ~/retrodeck/roms/ecwolf - mkdir -p ~/retrodeck/roms/x68000 - mkdir -p ~/retrodeck/roms/build - mkdir -p ~/retrodeck/roms/tools - mkdir -p ~/retrodeck/roms/imageviewer - mkdir -p ~/retrodeck/roms/gamegear - mkdir -p ~/retrodeck/roms/tg16cd - mkdir -p ~/retrodeck/roms/j2me - mkdir -p ~/retrodeck/roms/uzebox - mkdir -p ~/retrodeck/roms/supervision - mkdir -p ~/retrodeck/roms/doom - mkdir -p ~/retrodeck/roms/switch - mkdir -p ~/retrodeck/roms/wii - mkdir -p ~/retrodeck/roms/gc - mkdir -p ~/retrodeck/roms/3ds - rm -f /app/retrodeck/retroarch/.config/retroarch.cfg - mv retroarch.cfg /app/retrodeck/retroarch/.config/ #- mkdir -p /app/retrodeck/.config/ #- touch /app/retrodeck/.config/.OS_ARCH #- echo "DECK" >> /app/retrodeck/.config/.OS_ARCH #cleanup: ['*'] sources: - type: file path: retroarch.cfg # create desktop entry