Skip to content

Instantly share code, notes, and snippets.

@KockaAdmiralac
Last active January 21, 2021 18:20
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save KockaAdmiralac/9155baba75f9e684cc5a0e7826d81526 to your computer and use it in GitHub Desktop.
Save KockaAdmiralac/9155baba75f9e684cc5a0e7826d81526 to your computer and use it in GitHub Desktop.
OneShot build instructions for Linux distributions

OneShot build instructions (Linux)

Build scripts

  • If you're on a Debian-based distribution such as Ubuntu or Linux Mint, download and run debian.sh from below
  • If you're on an Arch-based distribution, download and run arch.sh from below
  • If you aren't on either of those, contact me to provide proper installation instructions If a build script in any time stops in an error, contact me to resolve the issue. Afterwards, you can continue running the script from the line where it stopped.

After building

#!/bin/sh
set -e
cd "${0%/*}"
# Installing most of the dependencies
sudo apt-add-repository universe
sudo apt-get update
sudo apt-get install -y qt4-qmake qt5-qmake qt5-default qtdeclarative5-dev cmake automake autoconf build-essential libsigc++-2.0-dev libpixman-1-dev libvorbis-dev libjpeg8-dev libalut-dev libfluidsynth-dev libboost-all-dev git mercurial ruby2.3 ruby2.3-dev libbison-dev libglibmm-2.4-dev libxfconf-0-dev libtool libgtk-3-dev steamcmd python3-pip python3-pyqt5 g++-multilib
sudo pip3 install pyinstaller
mkdir OneShot
mkdir OneShot/Data
touch OneShot/Data/Dummy.rxdata
# Installing PhysFS
hg clone https://hg.icculus.org/icculus/physfs/
cd physfs
cmake .
make
sudo make install
cd ..
rm -rf physfs
# Installing SDL libraries (SDL, SDL_image, SDL_ttf)
mkdir SDL
cd SDL
# Build SDL
mkdir build
hg clone https://hg.libsdl.org/SDL
cd build
../SDL/autogen.sh
../SDL/configure
cmake ../SDL
make
sudo make install
cd ..
# Build SDL_image
hg clone https://hg.libsdl.org/SDL_image
cd SDL_image
./autogen.sh
./configure
make
sudo make install
cd ..
# Build SDL_ttf
hg clone https://hg.libsdl.org/SDL_ttf
cd SDL_ttf
./autogen.sh
./configure
make
sudo make install
cd ../..
# Clean up SDL
rm -rf SDL
# Installing Ancurio's fork of SDL_sound
git clone https://github.com/Ancurio/SDL_sound.git
cd SDL_sound
./bootstrap
./configure
make
sudo make install
cd ..
rm -rf SDL_sound
# Installing SyngleChance
git clone https://github.com/GooborgStudios/synglechance.git
cd synglechance
# git checkout linux
./make-oneshot-linux.sh
#!/bin/sh
# oneshot.sh but for Arch
set -e
cd "${0%/*}"
# Installing most of the dependencies
sudo pacman -S --needed qt5-tools qt5-base cmake automake autoconf base-devel libsigc++ pixman libvorbis sdl2 sdl2_image sdl2_ttf openal fluidsynth boost git mercurial ruby bison glibmm xfconf libtool gtk3 python python-pip python-pyqt5 wget vim
# Installing steamcmd
git clone https://aur.archlinux.org/steamcmd.git
cd steamcmd
makepkg -i
cd ..
rm -rf steamcmd
# Making required directories
mkdir OneShot
mkdir OneShot/Data
touch OneShot/Data/Dummy.rxdata
# Installing PhysFS
hg clone https://hg.icculus.org/icculus/physfs/
cd physfs
cmake .
make
sudo make install
cd ..
rm -rf physfs
# Installing SDL_sound
git clone https://github.com/Ancurio/SDL_sound.git
cd SDL_sound
./bootstrap
./configure
make
sudo make install
cd ..
rm -rf SDL_sound
# Set up /usr/local/lib as a library path
echo "/usr/local/lib" | sudo tee --append /etc/ld.so.conf
sudo ldconfig
# Installing SyngleChance
git clone https://github.com/GooborgStudios/synglechance.git
cd synglechance
git checkout linux
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
MRIVERSION=2.6 qmake mkxp.pro
make
cp oneshot ../OneShot
ruby rpgscript.rb ./scripts ../OneShot
rm ../OneShot/Data/Dummy.rxdata
make clean
cd ..
# Installing journal
# ----- This had issues running on Ubuntu so we're going with an alternative way -----
# sudo pip3 install pyinstaller
# pyinstaller journal/unix/journal.spec --windowed
# cp -rf ./dist/_______/ ../OneShot/
# rm -rf journal/unix/__pycache__
# rm -rf build
# rm -rf dist
wget https://kocka.dilfa.com/uploads/oneshot/_______.zip
unzip _______.zip -d OneShot
rm _______.zip
echo "420530" > OneShot/steam_appid.txt
#!/bin/sh
# OneShot patch for the new SDL version
set -e
cd "${0%/*}"
# Get rid of old libSDL versions
sudo apt-get purge -y libsdl-dev libsdl2-dev
# Setup build directory
mkdir SDL
cd SDL
# Build SDL
mkdir build
hg clone https://hg.libsdl.org/SDL
cd build
../SDL/autogen.sh
../SDL/configure
cmake ../SDL
make
sudo make install
cd ..
# Build SDL_image
hg clone https://hg.libsdl.org/SDL_image
cd SDL_image
./autogen.sh
./configure
make
sudo make install
cd ..
# Build SDL_ttf
hg clone https://hg.libsdl.org/SDL_ttf
cd SDL_ttf
./autogen.sh
./configure
make
sudo make install
cd ../..
# Clean up
rm -rf SDL
@elgoupil
Copy link

The best script ever. Validated by Le_Goupil

@queengooborg
Copy link

queengooborg commented Mar 12, 2018

Also in need of python3 python3-pip python3-pyqt5 for the journal. Then we'll need the command pip3 install pyinstaller.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment