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.

This commit is contained in:
XargonWan 2022-03-23 02:31:09 +01:00
parent 6b03146725
commit a97e44a97f
3 changed files with 73 additions and 27 deletions

37
build-flatpak.sh Executable file
View file

@ -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

View file

@ -133,21 +133,21 @@ modules:
# url: https://ftp.gnu.org/gnu/autoconf/autoconf-2.13.tar.gz # url: https://ftp.gnu.org/gnu/autoconf/autoconf-2.13.tar.gz
# sha256: f0611136bee505811e9ca11ca7ac188ef5323a8e2ef19cffd3edb3cf08fd791e # sha256: f0611136bee505811e9ca11ca7ac188ef5323a8e2ef19cffd3edb3cf08fd791e
# #
- name: freeimage #- name: freeimage
no-autogen: true # no-autogen: true
build-options: # build-options:
#C++17 is not supported # #C++17 is not supported
cxxflags: -std=c++14 # cxxflags: -std=c++14
make-args: # make-args:
- DESTDIR=/app # - DESTDIR=/app
sources: # sources:
- type: archive # - type: archive
url: http://downloads.sourceforge.net/freeimage/FreeImage3180.zip # url: http://downloads.sourceforge.net/freeimage/FreeImage3180.zip
sha256: f41379682f9ada94ea7b34fe86bf9ee00935a3147be41b6569c9605a53e438fd # sha256: f41379682f9ada94ea7b34fe86bf9ee00935a3147be41b6569c9605a53e438fd
- type: shell # - type: shell
commands: # commands:
- sed -i 's|-o root -g root ||' ./Makefile.gnu # - sed -i 's|-o root -g root ||' ./Makefile.gnu
- sed -i 's|/usr|/app|' ./Makefile.gnu # - sed -i 's|/usr|/app|' ./Makefile.gnu
#- name: 351elec-emulationstation #- name: 351elec-emulationstation
# buildsystem: simple # buildsystem: simple
@ -178,15 +178,16 @@ modules:
# - type: file # - type: file
# path: patches/GuiMenu.cpp # path: patches/GuiMenu.cpp
# - name: art-book-next - name: art-book-next
# builsystem: simple buildsystem: simple
# build-commands: build-commands:
# - install -Dm755 art-book-next -t /app/emulationstation/themes/art-book-next - mkdir -p /app/emulationstation/themes/art-book-next
# cleanup: ['*'] - mv -f * /app/emulationstation/themes/art-book-next/
# sources: cleanup: ['*']
# - type: git sources:
# url: https://github.com/anthonycaccese/es-theme-art-book-next.git - type: git
# branch: eaf73a4eefde22791681c7f430a238fb324bdeaf 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 # 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 - install -Dm755 es_* -t /app/emulationstation
- pwd
- ls -l
- rm -f /var/config/retroarch/retroarch.cfg - 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) # move other files (check old install script)
sources: sources:
@ -323,4 +330,6 @@ modules:
path: es_input.cfg path: es_input.cfg
- type: file - type: file
path: retroarch.cfg path: retroarch.cfg
- type: dir
path: emulationstation
# create desktop entry # create desktop entry

View file

@ -10,7 +10,7 @@ all_users_control_menu = "false"
apply_cheats_after_load = "false" apply_cheats_after_load = "false"
apply_cheats_after_toggle = "false" apply_cheats_after_toggle = "false"
aspect_ratio_index = "0" aspect_ratio_index = "0"
assets_directory = "/app/config/retroarch/assets/" assets_directory = "/var/config/retroarch/assets/"
audio_block_frames = "0" audio_block_frames = "0"
audio_device = "" audio_device = ""
audio_driver = "pulse" audio_driver = "pulse"