SHARE
TWEET
Untitled
a guest
Feb 13th, 2018
80
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
- #!/bin/sh
- NAME="$1"; shift
- APP="$1"; shift
- EXE="$1"; shift
- WINE=./wine
- NICE_NAME=$(echo $(echo "$NAME" | sed 's/[A-Z]/ \0/g'))
- DOT_NAME=$(echo "$NICE_NAME" | tr " " . )
- BASENAME=$(basename "$APP")
- WINEEXE="/app/bin/wine"
- SRCLIB="/usr/lib32/"
- LDLINUX=$SRCLIB/ld-linux.so.2
- ARCH="i386"
- LIB="lib"
- mkdir -p target/package/files/bin
- mkdir -p target/package/files/lib
- mkdir -p target/package/export/share/applications
- mkdir -p target/package/export/share/icons/hicolor
- mkdir -p target/\[Flatpak-Novels\]$DOT_NAME
- cat << EOF > target/package/files/bin/run.sh
- #!/bin/bash
- export WINEPREFIX=\$HOME/.var/app/org.flatpaknovels.$NAME/
- export SAVEDATA=\$WINEPREFIX/savedata
- export WINEDLLOVERRIDES="mscoree=d;mshtml=d;"
- export WINEEXE="$WINEEXE"
- export LD_LIBRARY_PATH=.
- cd "/app/$BASENAME"
- # Create and link savedata
- [ -L /tmp/savedata ] && rm /tmp/savedata
- ln -s \$SAVEDATA /tmp/savedata
- if [ ! -e \$SAVEDATA ] ; then
- if [ -e savedata.default ] ; then
- cp -r savedata.default \$SAVEDATA
- else
- mkdir -p \$SAVEDATA
- fi
- fi
- # Logo and message
- ./pixterm -m FFFFFF -s 2 Flatpak-Novels.png
- cat Flatpak-Novels.md | sed -e "s|FLATPAKNAME|org.flatpaknovels.$NAME|" -e "s|WINEPREFIX|\$WINEPREFIX|"
- # Registry
- if [ -e autoimport.reg ] ; then
- \$WINEEXE regedit /C autoimport.reg &>/dev/null
- else
- echo 'Windows Registry Editor Version 5.00' >/tmp/import.reg
- echo '[HKEY_CURRENT_USER\Software\Wine\DllRedirects]' >>/tmp/import.reg
- echo '"wined3d"="wined3d-csmt.dll"' >>/tmp/import.reg
- \$WINEEXE regedit /C /tmp/import.reg &>/dev/null
- fi
- # Game
- if [ -e pre-run.sh ] ; then
- sh pre-run.sh || exit 1
- fi
- if [ "\$1" == "winecfg" ] ; then
- \$WINEEXE winecfg
- elif [ "\$1" == "regedit" ] ; then
- \$WINEEXE regedit
- elif [ "\$1" == "bash" ] ; then
- alias regedit="\$WINEEXE regedit"
- alias winecfg="\$WINEEXE winecfg"
- bash
- else
- export WINEDEBUG=-all
- \$WINEEXE "$EXE" \$@
- exit $?
- fi
- EOF
- cat << EOF >target/package/metadata
- [Application]
- name=org.flatpaknovels.$NAME
- runtime=org.freedesktop.Platform/$ARCH/1.6
- command=run.sh
- [Context]
- features=devel;multiarch;
- sockets=x11;pulseaudio;
- shared=ipc;
- devices=all;
- EOF
- cat << EOF >target/\[Flatpak-Novels\]$DOT_NAME/install.sh
- #!/bin/bash
- # Installs game bundle for user.
- # You can delete everything after installation.
- DIR=\$(dirname "\$0")
- set -ex
- flatpak --user remote-add --if-not-exists --from gnome https://sdk.gnome.org/gnome.flatpakrepo || true
- flatpak --user install -y --app --bundle "\$DIR/$NAME.flatpak" || echo "Installation failed. Check if you have Flatpak properly configured. See http://flatpak.org/ for more info."
- EOF
- cat << EOF >target/\[Flatpak-Novels\]$DOT_NAME/uninstall.sh
- #!/bin/bash
- # You can as well use package manager to uninstall the game
- echo You can as well use package manager to uninstall the game
- set -ex
- flatpak --user uninstall org.flatpaknovels.$NAME
- EOF
- cat << EOF >target/\[Flatpak-Novels\]$DOT_NAME/run.sh
- #!/bin/bash
- set -ex
- flatpak run org.flatpaknovels.$NAME \$@
- EOF
- cat << EOF >target/package/export/share/applications/org.flatpaknovels.$NAME.desktop
- [Desktop Entry]
- Version=1.0
- Name=$NICE_NAME
- Exec=run.sh
- Icon=org.flatpaknovels.$NAME
- StartupNotify=true
- Terminal=false
- Type=Application
- Categories=Game;
- EOF
- set -ex
- [ -e "$APP"/icon.jpg ] && convert "$APP"/icon.jpg "$APP"/icon.png
- [ -e "$APP"/icon.png ] && cp "$APP"/icon.png target/package/export/share/icons/hicolor/org.flatpaknovels.$NAME.png
- cp -rd "$APP" target/package/files/
- cp Flatpak-Novels.png "target/package/files/$BASENAME"
- cp Flatpak-Novels.md "target/package/files/$BASENAME"
- cp pixterm "target/package/files/$BASENAME"
- cp -rd $WINE/bin $WINE/$LIB $WINE/share target/package/files/
- cp -d $SRCLIB/libpng12.so* target/package/files/lib
- cp -d $SRCLIB/libudev.so* target/package/files/lib
- find target/package/files/$LIB -iname "*libz*" -print -delete
- [ -d "$APP/lib-wine" ] && cp "$APP/lib-wine"/* target/package/files/$LIB/wine
- [ ! -z $LDLINUX ] && cp $LDLINUX target/package/files/$LIB
- chmod +x target/package/files/bin/run.sh
- chmod +x target/\[Flatpak-Novels\]$DOT_NAME/install.sh
- chmod +x target/\[Flatpak-Novels\]$DOT_NAME/uninstall.sh
- chmod +x target/\[Flatpak-Novels\]$DOT_NAME/run.sh
- cp "$0" target/package/files/flatpak-make
- flatpak build-export target/repo target/package
- flatpak build-bundle --arch=$ARCH target/repo target/\[Flatpak-Novels\]$DOT_NAME/$NAME.flatpak org.flatpaknovels.$NAME
RAW Paste Data

