From a97e44a97f99364c35102c610171204e250b20f7 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Wed, 23 Mar 2022 02:31:09 +0100 Subject: [PATCH] Created a script to prep the flatpak build. Was too troublesome build emustation due to a lot of libs to include in the flatpak so I build it outside and import it. --- build-flatpak.sh | 37 ++++++++++++++++++++++++ com.xargon.retrodeck.yml | 61 +++++++++++++++++++++++----------------- retroarch.cfg | 2 +- 3 files changed, 73 insertions(+), 27 deletions(-) create mode 100755 build-flatpak.sh diff --git a/build-flatpak.sh b/build-flatpak.sh new file mode 100755 index 00000000..650f93da --- /dev/null +++ b/build-flatpak.sh @@ -0,0 +1,37 @@ +#!/bin/bash + +INSTALL_DIR=$PWD +PREVIOUS_DIR=$PWD + +echo "Welcome to the RetroDECK flatpak builder." +echo "This script is helping the flatpak building in $INSTALL_DIR." + +read -n 1 -r -s -p $'Press enter to continue...\n' +echo "Building RetroDECK, please stand by." + +# Installing 351elec-emulationstation +cd $INSTALL_DIR +git clone --recursive https://github.com/351ELEC/351elec-emulationstation emulationstation +# TODO: one day I will have to fork this emustation... +# applying patches +cp $INSTALL_DIR/patches/Splash.h $INSTALL_DIR/emulationstation/es-core/src/Splash.h +cp $INSTALL_DIR/patches/GuiMenu.cpp $INSTALL_DIR/emulationstation/es-app/src/guis/GuiMenu.cpp +# pathes applied +cd emulationstation +sudo pacman -S base-devel cmake freeimage sdl2_mixer sdl2 rapidjson boost +cmake -DENABLE_EMUELEC=1 -DGLES2=0 -DDISABLE_KODI=1 -DENABLE_FILEMANAGER=0 -DCEC=0 -DRG552=1 +make -j$(nproc) + +cd $INSTALL_DIR +flatpak-builder retrodeck-flatpak com.xargon.retrodeck.yml --force-clean + +# Useful commands: +# flatpak-builder --user --install --force-clean retrodeck-flatpak com.xargon.retrodeck.yml +# flatpak run com.xargon.retrodeck +# +# flatpak --user remote-add --no-gpg-verify xargon-dev repo +# flatpak --user install xargon-dev com.xargon.retrodeck + +echo "Building terminated, you can install retrodeck by typing `flatpak run com.xargon.retrodeck`." + +cd $PREVIOUS_DIR diff --git a/com.xargon.retrodeck.yml b/com.xargon.retrodeck.yml index 92d5086a..41df306d 100644 --- a/com.xargon.retrodeck.yml +++ b/com.xargon.retrodeck.yml @@ -133,21 +133,21 @@ modules: # 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: 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 @@ -178,15 +178,16 @@ modules: # - 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 + - 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 @@ -306,8 +307,14 @@ modules: - install -Dm755 es_* -t /app/emulationstation + - pwd + - ls -l - rm -f /var/config/retroarch/retroarch.cfg - - mv retroarch.cfg /var/config/retroarch/retroarch.cfg + - mkdir -p /var/config/retroarch + - mv ./retroarch.cfg /var/config/retroarch/ + + - ln -s emulationstation /app/usr/bin/emulationstation + - install -Dm755 emulationstation -t /app/emulationstation # move other files (check old install script) sources: @@ -323,4 +330,6 @@ modules: path: es_input.cfg - type: file path: retroarch.cfg - # create desktop entry + - type: dir + path: emulationstation + # create desktop entry \ No newline at end of file diff --git a/retroarch.cfg b/retroarch.cfg index 630b21a6..2a3c7e4d 100644 --- a/retroarch.cfg +++ b/retroarch.cfg @@ -10,7 +10,7 @@ all_users_control_menu = "false" apply_cheats_after_load = "false" apply_cheats_after_toggle = "false" aspect_ratio_index = "0" -assets_directory = "/app/config/retroarch/assets/" +assets_directory = "/var/config/retroarch/assets/" audio_block_frames = "0" audio_device = "" audio_driver = "pulse"