app-id: com.xargon.retrodeck runtime: org.kde.Platform runtime-version: '5.15-21.08' sdk: org.kde.Sdk command: /app/retrodeck/retrodeck.sh #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 - 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 # 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: - 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: template # builsystem: simple # build-commands: # - # cleanup: ['*'] # sources: # - type: # url: # sha256: - 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 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: 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: 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