app-id: com.xargon.retrodeck runtime: org.kde.Platform runtime-version: '5.15-21.08' sdk: org.kde.Sdk # command: retrodeck.sh command: retroarch 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 #- --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: retroarch buildsystem: simple build-commands: - ls -l - pwd - unappimage ./RetroArch-Linux-x86_64.AppImage - mv ./squashfs-root/usr /app/usr - ln -s /app/usr/bin/retroarch /app/bin/retroarch 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 #no-autogen: true make-install-args: - PREFIX=/app post-install: - mkdir -p /app/config/retroarch/assets/ - mv -f ./* /app/config/retroarch/assets/ #- rm -f Automatic/README.md cleanup: ['*'] sources: - type: archive url: https://github.com/libretro/retroarch-assets/archive/948def88f11c8c62f85f606a1cd8f5a1bbad671b.zip sha256: d7b2d79d6809521f73818117575f49b706a913cfc61822582d1f12a697944791 # needed for reatroarch - 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 - name: retroarch-cores buildsystem: simple build-commands: - install -Dm755 ./RetroArch-Linux-x86_64.AppImage.home/.config/retroarch/cores/* -t /var/config/retroarch/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: template # builsystem: simple # build-commands: # - # cleanup: ['*'] # sources: # - type: # url: # sha256: # - name: yuzu # builsystem: simple # build-commands: # - unappimage ./yuzu*.AppImage # - ls ./squashfs-root/ # - mv ./squashfs-root/ /app/retrodeck/emulators/yuzu/ # TODO: see how are the files and implement, edit the yuzu.sh script # cleanup: ['*'] # sources: # - type: archive # 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: vita3k ## Needed for 351elec-emulationstation #- name: autoconf-2.13 # builsystem: simple # config-opts: # - --program-suffix=-2.13 # cleanup: # - '*' # sources: # - type: archive # url: https://ftp.gnu.org/gnu/autoconf/autoconf-2.13.tar.gz # sha256: f0611136bee505811e9ca11ca7ac188ef5323a8e2ef19cffd3edb3cf08fd791e # - 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 #- name: 351elec-emulationstation # buildsystem: simple # build-commands: # - install -Dm755 Splash.h -t /app/emulationstation/es-core/src/ # - install -Dm755 GuiMenu.cpp -t /app/emulationstation/es-app/src/guis/ # - cd /app/emulationstation # - cmake -DENABLE_EMUELEC=1 -DGLES2=0 -DDISABLE_KODI=1 -DENABLE_FILEMANAGER=0 -DCEC=0 -DRG552=1 # - make -j$(nproc) # - ln -s emulationstation /app/usr/bin/emulationstation ## make-args: ## - -DENABLE_EMUELEC=1 ## - -DGLES2=0 ## - -DDISABLE_KODI=1 ## - -DENABLE_FILEMANAGER=0 ## - -DCEC=0 ## - -DRG552=1 ## cleanup: ['*'] # sources: # - type: git # url: https://github.com/351ELEC/351elec-emulationstation.git # branch: 6b704cfa1161090de4ca1b5ec343ebab2060e7fc # #- type: file # # url: https://github.com/351ELEC/351elec-emulationstation/archive/6b704cfa1161090de4ca1b5ec343ebab2060e7fc.zip # # sha256: 5d659033da662bf85d5986609e4d92c55e3c1c4a4c79e2461350134f509c47ac # - type: file # path: patches/Splash.h # - type: file # path: patches/GuiMenu.cpp # - name: art-book-next # builsystem: simple # build-commands: # - install -Dm755 art-book-next -t /app/emulationstation/themes/art-book-next # cleanup: ['*'] # sources: # - type: git # url: https://github.com/anthonycaccese/es-theme-art-book-next.git # branch: eaf73a4eefde22791681c7f430a238fb324bdeaf # TODO 351elec-es-packages batocera-config batocera-scraper batocera-settings runemu.py setsettings.py - 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 - install -Dm755 retrodeck.sh -t /app/retrodeck/ - install -Dm755 export_func.sh -t /app/retrodeck/ - install -Dm755 es_* -t /app/emulationstation - rm -f /var/config/retroarch/retroarch.cfg - mv retroarch.cfg /var/config/retroarch/retroarch.cfg # move other files (check old install script) sources: - type: file path: retrodeck.sh - type: file path: export_func.sh - type: file path: es_systems.cfg - type: file path: es_settings.cfg - type: file path: es_input.cfg - type: file path: retroarch.cfg # create desktop entry