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 #- --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 # 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 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 # Needed for building EmulationStation - name: freeimage no-autogen: true post-install: - ls -ln /app 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/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: 351elec-emulationstation-prebuilt # buildsystem: simple # build-commands: # - mkdir -p /app/emulationstation # - rsync -avr --ignore-existing --remove-source-files * /app/emulationstation # - ln -s /app/emulationstation/emulationstation /app/bin/emulationstation # #post-install: # # clean the /app/emulationstation folder from the source files # #- cp lib*.so.* /app/lib/ # #cleanup: ['*'] # sources: # - type: dir # path: emulationstation # - type: file # path: es_systems.cfg # - type: file # path: es_settings.cfg # - type: file # path: es_input.cfg # #- type: file # # path: libfreeimage.so.3 # #- type: file # # path: libvlc.so.5 # #- type: file # # path: libGLU.so.1 # #- type: file # # path: libjpeg.so.8 # #- type: file # # path: libjxrglue.so.0 # #- type: file # # path: libOpenEXR-3_1.so.30 # #- type: file # # path: libIex-3_1.so.30 # #- type: file # # path: libImath-3_1.so.29 # #- type: file # # path: libraw.so.20 # #- type: file # # path: libvlccore.so.9 # #- type: file # # path: libjpegxr.so.0 # #- type: file # # path: libIlmThread-3_1.so.30 # #- type: file # # path: libjasper.so.4 # #- type: file # # path: libidn.so.12 # #- type: file # # path: libc.so.6 # #- type: file # # path: libcurl.so.4 - 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/ - ls -ln - cmake . -DDISABLE_KODI=1 - make - ln -s emulationstation /app/bin/emulationstation # cleanup: ['*'] sources: - type: git url: https://github.com/batocera-linux/batocera-emulationstation.git branch: 779548e217311edb15d21a5316033292d2b452fc #- type: file # path: patches/Splash.h #- type: file # path: patches/GuiMenu.cpp #- name: emulationstation-de # buildsystem: simple # build-commands: # - unappimage download # - rsync -avr --ignore-existing --remove-source-files ./squashfs-root/usr/ /app/ # - ln -s /app/share/emulationstation /app/emulationstation # sources: # - type: file # url: https://gitlab.com/leonstyhre/emulationstation-de/-/package_files/32296532/download # sha256: 1fd3e437539d54e90d0a17b4577a8c91a1987943470fcfbf3badba99d8dac879 - name: art-book-next buildsystem: simple build-commands: - mkdir -p /app/emulationstation/themes/art-book-next - mv -f * /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: glibc # buildsystem: simple # build-commands: # - tar --use-compress-program=unzstd -xvf glibc-2.35-3-x86_64.pkg.tar.zst # - cp -r usr/lib/* /app/lib/ # cleanup: ['*'] # sources: # - type: file # path: glibc-2.35-3-x86_64.pkg.tar.zst #- name: lib32-glibc # buildsystem: simple # build-commands: # - tar --use-compress-program=unzstd -xvf lib32-glibc-2.35-3-x86_64.pkg.tar.zst # - cp -r usr/lib/* /app/lib/ # cleanup: ['*'] # sources: # - type: file # path: lib32-glibc-2.35-3-x86_64.pkg.tar.zst - 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/ #- ln -s /app/retrodeck/retrodeck.sh /app/bin/retrodeck.sh - ln -s /app/retrodeck/export_func.sh /app/bin/export_func.sh - 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 # move other files (check old install script) #cleanup: ['*'] sources: #- type: file # path: retrodeck.sh - type: file path: export_func.sh - type: file path: retroarch.cfg # create desktop entry