### Run on Host ### 

# Container rootfs creation:

export CENTOS_BASE_DIR=~/openmw-targz-env
export CENTOS_ROOT_DIR="${CENTOS_BASE_DIR}/centos7_64"

# create directory for the rootfs
mkdir -p "${CENTOS_ROOT_DIR}"

cd "${CENTOS_BASE_DIR}"

# yum configuration for the rootfs
cat > "${CENTOS_BASE_DIR}/chroot-centos7.repo" << EOF
[centos7-chroot-base]
name=CentOS-7-Base
baseurl=http://mirror.centos.org/centos/7/os/x86_64
gpgcheck=0
[centos7-chroot-epel]
name=Extra Packages for Enterprise Linux 7
baseurl=http://dl.fedoraproject.org/pub/epel/7/x86_64
gpgcheck=0
EOF

# Install base system with yum (needs root permissions)
yum -y -c chroot-centos7.repo --disablerepo=* --enablerepo=centos7-chroot-base --enablerepo=centos7-chroot-epel --disableplugin=* --installroot="${CENTOS_ROOT_DIR}" install bash bash-completion vim-minimal yum iproute iputils rootfiles sudo

# set correct yum vars
echo "7" > "${CENTOS_ROOT_DIR}/etc/yum/vars/releasever"
echo "x86_64" > "${CENTOS_ROOT_DIR}/etc/yum/vars/basearch"

# create a container from the rootfs and continue the setup
systemd-nspawn -M centos7_64_setup -D "${CENTOS_ROOT_DIR}" /bin/bash

### Run inside Container ###

# create users
adduser openmwbuild
adduser openmwnightly

## Extra REPOS: (none for now)

# Deps:

#cmake
yum install automake alsa-lib-devel bison-devel bison bzip2-devel centos-release-scl freetype-devel gettext git hg make libtool libarchive libpng-devel libicu-devel libjpeg-turbo-devel librsvg2-devel libSM-devel libtiff-devel libudev-devel libxml2-devel libXcomposite-devel libXt-devel libXrandr-devel lz4-devel mesa-libGL-devel mesa-libGLU-devel mesa-libEGL-devel mesa-libgbm-devel svn SDL2-devel xcb-util-wm-devel xcb-util-image-devel xcb-util-keysyms-devel xcb-util-renderutil-devel rpm-build rpmdevtools openssl-devel pulseaudio-libs-devel libffi-devel python3 tar expat-devel vim which

yum install devtoolset-9-gcc devtoolset-9-gcc-c++

# All other dependencies have to be built from source

rpmdev-setuptree

# Do as openmwbuild in the container:
su openmwbuild
cd ~

# Also check /usr/local for pkg-config files
echo "PKG_CONFIG_PATH=\"/usr/local/lib64/pkgconfig:/usr/local/share/pkgconfig/:/usr/local/lib/pkgconfig/:/usr/lib/pkgconfig\";export PKG_CONFIG_PATH" >> ~/.bashrc

#also setup rpmtree for openmwbuild
rpmdev-setuptree

# location for rpms build by checkinstall
mkdir -p /home/openmwbuild/deps/rpms

#checkinstall:
mkdir -p /home/openmwbuild/deps/checkinstall
pushd /home/openmwbuild/deps/checkinstall
curl -L -O http://asic-linux.com.mx/%7Eizto/checkinstall/files/source/checkinstall-1.6.2.tar.gz
tar -xf checkinstall-1.6.2.tar.gz
popd

#checkinstall needs to be patched for new glibc and other stuff (hopefully next time there will be a new release)
# http://www.patrickmin.com/linux/tip.php?name=checkinstall_fedora_13

#FIXME: Also need to patch localtion of installwatch.so (or just ln -s /usr/local/lib/installwatch.so /usr/local/lib64/installwatch.so)

# go back to root user
exit 
pushd /home/openmwbuild/deps/checkinstall/checkinstall-1.6.2
make install

checkinstall -R --fstrans=yes --install=no --backup=no --strip=yes --stripso=yes --nodoc --pakdir=/home/openmwbuild/deps/rpms --backup=no --pkgname=checkinstall
popd

# cmake:

#su openmwbuild
#mkdir /home/openmwbuild/deps/cmake
#pushd /home/openmwbuild/deps/cmake
##curl -L -O https://cmake.org/files/v3.17/cmake-3.17.3.tar.gz
#tar -xf cmake-3.17.3.tar.gz
#cd cmake-3.17.3 
#./bootstrap
#checkinstall -R --fstrans=yes --install=no --backup=no --strip=yes --stripso=yes --nodoc --pakdir=/home/openmwbuild/deps/rpms --pkgname=cmake
#exit
#rpm -i /home/openmwbuild/deps/rpms/cmake-3.17.3-1.x86_64.rpm
#su openmwbuild

# make cmake3 available as cmake
ln -s /usr/bin/cmake3 /usr/local/bin/cmake

# boost:
mkdir /home/openmwbuild/deps/boost
pushd /home/openmwbuild/deps/boost
#curl -L -O https://downloads.sourceforge.net/project/boost/boost/1.69.0/boost_1_69_0.tar.bz2
#tar -xf boost_1_69_0.tar.bz2
#cd boost_1_69_0
curl -L -O https://downloads.sourceforge.net/project/boost/boost/1.73.0/boost_1_73_0.tar.bz2
tar -xf boost_1_73_0.tar.bz2
cd boost_1_73_0
./bootstrap.sh
./b2
# does not work atm
#checkinstall -R --fstrans=yes --install=no --backup=no --strip=yes --stripso=yes --nodoc --pakdir=/home/openmwbuild/deps/rpms --pkgname=boost ./b2 install
exit
pushd /home/openmwbuild/deps/boost/boost_1_73_0
./b2 install
su openmwbuild

# openal: 
mkdir /home/openmwbuild/deps/openal
pushd /home/openmwbuild/deps/openal
#curl -L -O http://kcat.strangesoft.net/openal-releases/openal-soft-1.19.1.tar.bz2
#tar -xf openal-soft-1.19.1.tar.bz2
#cd openal-soft-1.19.1/build
curl -L -O http://kcat.strangesoft.net/openal-releases/openal-soft-1.20.1.tar.bz2
tar -xf openal-soft-1.20.1.tar.bz2
cd openal-soft-1.20.1
mkdir build
cd build
cmake -DALSOFT_EXAMPLES=OFF -DALSOFT_TESTS=OFF -DALSOFT_UTILS=OFF ..
make
checkinstall -R --fstrans=yes --install=no --backup=no --strip=yes --stripso=yes --nodoc --pakdir=/home/openmwbuild/deps/rpms --backup=no --pkgname=openal
exit
rpm -i /home/openmwbuild/deps/rpms/openal-1.20.1-1.x86_64.rpm
su openmwbuild

# [[FFMPEG (https://trac.ffmpeg.org/wiki/CompilationGuide/Centos)]]
# nasm:
mkdir /home/openmwbuild/deps/nasm
pushd /home/openmwbuild/deps/nasm
curl -L -O http://www.nasm.us/pub/nasm/releasebuilds/2.14.02/nasm-2.14.02.tar.bz2
tar -xf nasm-2.14.02.tar.bz2
cd nasm-2.14.02
./autogen.sh
./configure
make
checkinstall -R --fstrans=yes --install=no --backup=no --strip=yes --stripso=yes --nodoc --pakdir=/home/openmwbuild/deps/rpms --backup=no --pkgname=nasm
exit
rpm -i /home/openmwbuild/deps/rpms/nasm-2.14.02-1.x86_64.rpm
su openmwbuild

# yasm:
mkdir /home/openmwbuild/deps/yasm
pushd /home/openmwbuild/deps/yasm
curl -L -O http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure
make
checkinstall -R --fstrans=yes --install=no --backup=no --strip=yes --stripso=yes --nodoc --pakdir=/home/openmwbuild/deps/rpms --backup=no --pkgname=yasm
exit
rpm -i /home/openmwbuild/deps/rpms/yasm-1.3.0-1.x86_64.rpm
su openmwbuild

# lame:
mkdir /home/openmwbuild/deps/lame
pushd /home/openmwbuild/deps/lame
curl -O -L http://downloads.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz
tar -xf lame-3.100.tar.gz
cd lame-3.100
./configure --disable-static --enable-nasm
make
checkinstall -R --fstrans=yes --install=no --backup=no --strip=yes --stripso=yes --nodoc --pakdir=/home/openmwbuild/deps/rpms --backup=no --pkgname=lame
exit
rpm -i /home/openmwbuild/deps/rpms/lame-3.100-1.x86_64.rpm
su openmwbuild

# libopus:
mkdir /home/openmwbuild/deps/opus
pushd /home/openmwbuild/deps/opus
curl -O -L "https://downloads.us.xiph.org/releases/opus/opus-1.3.1.tar.gz"
tar -xf opus-1.3.1.tar.gz
cd opus-1.3.1
./configure --disable-static
make
checkinstall -R --fstrans=yes --install=no --backup=no --strip=yes --stripso=yes --nodoc --pakdir=/home/openmwbuild/deps/rpms --backup=no --pkgname=opus
exit
rpm -i /home/openmwbuild/deps/rpms/opus-1.3.1-1.x86_64.rpm
su openmwbuild

# libogg:
mkdir /home/openmwbuild/deps/ogg
pushd /home/openmwbuild/deps/ogg
# curl -O -L http://downloads.xiph.org/releases/ogg/libogg-1.3.3.tar.gz
# tar -xf libogg-1.3.3.tar.gz
# cd libogg-1.3.3
curl -O -L http://downloads.xiph.org/releases/ogg/libogg-1.3.4.tar.gz
tar -xf libogg-1.3.4.tar.gz
cd libogg-1.3.4
./configure --disable-static
make
checkinstall -R --fstrans=yes --install=no --backup=no --strip=yes --stripso=yes --nodoc --pakdir=/home/openmwbuild/deps/rpms --backup=no --pkgname=ogg
exit
rpm -i /home/openmwbuild/deps/rpms/ogg-1.3.4-1.x86_64.rpm
su openmwbuild

# libvorbis:
mkdir /home/openmwbuild/deps/vorbis
pushd /home/openmwbuild/deps/vorbis
curl -O -L http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.6.tar.gz
tar -xf libvorbis-1.3.6.tar.gz
cd libvorbis-1.3.6
./configure --disable-static
make
checkinstall -R --fstrans=yes --install=no --backup=no --strip=yes --stripso=yes --nodoc --pakdir=/home/openmwbuild/deps/rpms --backup=no --pkgname=vorbis
exit
rpm -i /home/openmwbuild/deps/rpms/vorbis-1.3.6-1.x86_64.rpm
su openmwbuild

# libvpx:
mkdir /home/openmwbuild/deps/vpx
pushd /home/openmwbuild/deps/vpx
git clone --depth 1 https://chromium.googlesource.com/webm/libvpx.git
cd libvpx
./configure --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=yasm --disable-static --enable-shared --enable-pic
make
checkinstall -R --fstrans=yes --install=no --backup=no --strip=yes --stripso=yes --nodoc --pakdir=/home/openmwbuild/deps/rpms --backup=no --pkgname=vpx
exit
rpm -i /home/openmwbuild/deps/rpms/vpx-git-1.x86_64.rpm
su openmwbuild

# ffmpeg:
mkdir /home/openmwbuild/deps/ffmpeg
pushd /home/openmwbuild/deps/ffmpeg
curl -O -L https://ffmpeg.org/releases/ffmpeg-4.2.3.tar.bz2
tar -xf ffmpeg-4.2.3.tar.bz2
cd ffmpeg-4.2.3
./configure --enable-gpl --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --disable-static --enable-shared
make
# only works with root permissions so switch to root
exit
pushd /home/openmwbuild/deps/ffmpeg/ffmpeg-4.2.3
checkinstall -R --fstrans=yes --install=no --backup=no --strip=yes --stripso=yes --nodoc --pakdir=/home/openmwbuild/deps/rpms --backup=no --pkgname=ffmpeg
rpm -i /home/openmwbuild/deps/rpms/ffmpeg-4.2.3-1.x86_64.rpm
su openmwbuild

# [[/FFMPEG]]

# libtxc_dxtn:
mkdir /home/openmwbuild/deps/txc_dxtn
pushd /home/openmwbuild/deps/txc_dxtn
curl -O -L http://people.freedesktop.org/~cbrill/libtxc_dxtn/libtxc_dxtn-1.0.1.tar.bz2
tar -xf libtxc_dxtn-1.0.1.tar.bz2
cd libtxc_dxtn-1.0.1
./configure
make
checkinstall -R --fstrans=yes --install=no --backup=no --strip=yes --stripso=yes --nodoc --pakdir=/home/openmwbuild/deps/rpms --backup=no --pkgname=txc_dxtn
exit
rpm -i /home/openmwbuild/deps/rpms/txc_dxtn-1.0.1-1.x86_64.rpm
su openmwbuild

# wayland
mkdir /home/openmwbuild/deps/wayland
pushd /home/openmwbuild/deps/wayland
curl -L -O https://wayland.freedesktop.org/releases/wayland-1.18.0.tar.xz
tar -xf wayland-1.18.0.tar.xz
cd wayland-1.18.0
EXPAT_CFLAGS="-I/usr/include" EXPAT_LIBS="-L/usr/lib64/ -lexpat" ./configure --disable-static --disable-documentation
make
# needs root due to lto
exit
checkinstall -R --fstrans=yes --install=no --backup=no --strip=yes --stripso=yes --nodoc --pakdir=/home/openmwbuild/deps/rpms --backup=no --pkgname=wayland
rpm -i /home/openmwbuild/deps/rpms/wayland-1.18.0-1.x86_64.rpm
su openmwbuild
pushd /home/openmwbuild/deps/wayland
curl -L -O https://wayland.freedesktop.org/releases/wayland-protocols-1.20.tar.xz
tar -xf wayland-protocols-1.20.tar.xz
cd wayland-protocols-1.20
./configure
checkinstall -R --fstrans=yes --install=no --backup=no --strip=yes --stripso=yes --nodoc --pakdir=/home/openmwbuild/deps/rpms --backup=no --pkgname=wayland-protocols
exit
rpm -i /home/openmwbuild/deps/rpms/wayland-protocols-1.20-1.x86_64.rpm
su openmwbuild
pushd /home/openmwbuild/deps/wayland
# meson and ninja required for building libxkbcommon
curl -L -O https://github.com/mesonbuild/meson/releases/download/0.54.2/meson-0.54.2.tar.gz
tar -xf meson-0.54.2.tar.gz
curl -L -O https://github.com/martine/ninja/archive/v1.10.0.zip
unzip v1.10.0.zip
cd ninja-1.10.0
python3 configure.py --bootstrap
Git clone https://github.com/xkbcommon/libxkbcommon
cd libxkbcommon
PATH="$PATH:/home/openmwbuild/deps/wayland/ninja-1.10.0"
python3 /home/openmwbuild/deps/wayland/meson-0.54.2/meson.py build -Denable-docs=false
ninja -C build
exit
pushd /home/openmwbuild/deps/wayland/libxkbcommon
PATH="$PATH:/home/openmwbuild/deps/wayland/ninja-1.10.0"
#checkinstall -R --fstrans=yes --install=no --backup=no --strip=yes --stripso=yes --nodoc --pakdir=/home/openmwbuild/deps/rpms --backup=no --pkgname=libxkbcommon python3 /home/openmwbuild/deps/wayland/meson-0.54.2/meson.py install -C build
python3 /home/openmwbuild/deps/wayland/meson-0.54.2/meson.py install -C build
su openmwbuild

# sdl2:
mkdir /home/openmwbuild/deps/sdl2
pushd /home/openmwbuild/deps/sdl2
cd sdl2
#curl -O -L https://libsdl.org/release/SDL2-2.0.9.tar.gz
#tar -xf SDL2-2.0.9.tar.gz
#cd SDL2-2.0.9
curl -O -L https://libsdl.org/release/SDL2-2.0.12.tar.gz
tar -xf SDL2-2.0.12.tar.gz
cd SDL2-2.0.12
./configure --disable-static
make
exit
pushd /home/openmwbuild/deps/sdl2/SDL2-2.0.12
checkinstall -R --fstrans=yes --install=no --backup=no --strip=yes --stripso=yes --nodoc --pakdir=/home/openmwbuild/deps/rpms --backup=no --pkgname=sdl2
rpm -i /home/openmwbuild/deps/rpms/sdl2-2.0.12-1.x86_64.rpm
su openmwbuild

# bullet:
mkdir /home/openmwbuild/deps/bullet
pushd /home/openmwbuild/deps/bullet
# curl -L -O https://github.com/bulletphysics/bullet3/archive/2.88.tar.gz
# tar -xf 2.88.tar.gz
# cd bullet3-2.88
curl -L -O https://github.com/bulletphysics/bullet3/archive/2.89.tar.gz
tar -xf 2.89.tar.gz
cd bullet3-2.89
cmake -DBUILD_SHARED_LIBS="TRUE" -DBUILD_CPU_DEMOS="OFF" -DBUILD_BULLET2_DEMOS="OFF" -DBUILD_EXTRAS="OFF" -DBUILD_UNIT_TESTS="OFF" -DUSE_DOUBLE_PRECISION="ON" -DBULLET2_MULTITHREADING="ON" -DBULLET2_USE_OPEN_MP_MULTITHREADING="ON" -DCMAKE_BUILD_TYPE="Release" .
make
exit
pushd /home/openmwbuild/deps/bullet/bullet3-2.89
checkinstall -R --fstrans=yes --install=no --backup=no --strip=yes --stripso=yes --nodoc --pakdir=/home/openmwbuild/deps/rpms --backup=no --pkgname=bullet
rpm -i /home/openmwbuild/deps/rpms/bullet-2.89-1.x86_64.rpm
su openmwbuild

# mygui:
mkdir /home/openmwbuild/deps/mygui
pushd /home/openmwbuild/deps/mygui
# curl -L -O https://github.com/MyGUI/mygui/archive/MyGUI3.2.2.tar.gz
# tar -xf MyGUI3.2.2.tar.gz
# cd mygui-MyGUI3.2.2
curl -L -O https://github.com/MyGUI/mygui/archive/MyGUI3.4.0.tar.gz
tar -xf MyGUI3.4.0.tar.gz
cd mygui-MyGUI3.4.0
cmake -DCMAKE_INSTALL_PREFIX=/usr -DMYGUI_BUILD_SAMPLES=FALSE -DMYGUI_BUILD_DEMOS=FALSE -DMYGUI_BUILD_DOCS=FALSE -DMYGUI_BUILD_TOOLS=FALSE -DMYGUI_INSTALL_SAMPLES=FALSE -DMYGUI_INSTALL_TOOLS=FALSE -DMYGUI_INSTALL_DOCS=FALSE -DMYGUI_INSTALL_MEDIA=FALSE -DFREETYPE_INCLUDE_DIR=/usr/include/freetype2/ -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=TRUE -DMYGUI_RENDERSYSTEM="4"
make
exit
pushd /home/openmwbuild/deps/mygui/mygui-MyGUI3.4.0
checkinstall -R --fstrans=yes --install=no --backup=no --strip=yes --stripso=yes --nodoc --pakdir=/home/openmwbuild/deps/rpms --backup=no --pkgname=mygui
rpm -i /home/openmwbuild/deps/rpms/mygui-MyGUI3.4.0-1.x86_64.rpm
su openmwbuild

# libpng16
mkdir /home/openmwbuild/deps/libpng16
pushd /home/openmwbuild/deps/libpng16
curl -L -O "https://downloads.sourceforge.net/sourceforge/libpng/libpng-1.6.37.tar.xz"
curl -L -O "https://downloads.sourceforge.net/sourceforge/libpng-apng/libpng-1.6.37-apng.patch.gz"
tar -xf libpng-1.6.37.tar.xz
cd libpng-1.6.37
gzip -cd ../libpng-1.6.37-apng.patch.gz | patch -Np1
./configure --disable-static
make
checkinstall -R --fstrans=yes --install=no --backup=no --strip=yes --stripso=yes --nodoc --pakdir=/home/openmwbuild/deps/rpms --backup=no --pkgname=libpng16
exit
rpm -i /home/openmwbuild/deps/rpms/libpng16-1.6.37-1.x86_64.rpm
su openmwbuild

# qt4 (was deprecated in current master)
# mkdir /home/openmwbuild/deps/qt4
# pushd /home/openmwbuild/deps/qt4
# curl -L -O https://download.qt.io/archive/qt/4.8/4.8.7/qt-everywhere-opensource-src-4.8.7.tar.gz
# tar -xf qt-everywhere-opensource-src-4.8.7.tar.gz
# curl -L -O "https://aur.archlinux.org/cgit/aur.git/plain/qt-everywhere-opensource-src-4.8.7-gcc6.patch?h=mingw-w64-qt4"
# cd qt-everywhere-opensource-src-4.8.7
# # make it compatible with newer gcc
# patch -Np1 -i ../qt-everywhere-opensource-src-4.8.7-gcc6.patch
# ./configure -prefix /usr/local/qt4 -opensource -confirm-license -shared -no-cups -no-nis -no-webkit -no-javascript-jit -no-script -no-qt3support -make libs -make tools -nomake examples -nomake docs -nomake demos
# # patch src/gui/Makefile to use libpng16
# sed -i -e "s|-I/usr/include/libpng12|-I/usr/local/include/libpng16|" src/gui/Makefile
# sed -i -e "s|-lpng|-L/usr/local/lib -lpng|" src/gui/Makefile
# make
# exit
# pushd /home/openmwbuild/deps/qt4/qt-everywhere-opensource-src-4.8.7
# checkinstall -R --fstrans=no --install=no --backup=no --strip=yes --stripso=yes --nodoc --pakdir=/home/openmwbuild/deps/rpms --backup=no --pkgname=qt4
# rpm -i /home/openmwbuild/deps/rpms/qt4-4.8.7-1.x86_64.rpm
# su openmwbuild

# qt5:
mkdir /home/openmwbuild/deps/qt5
pushd /home/openmwbuild/deps/qt5
curl -L -O https://download.qt.io/official_releases/qt/5.15/5.15.0/submodules/qtbase-everywhere-src-5.15.0.tar.xz
tar -xf qtbase-everywhere-src-5.15.0.tar.xz
curl -L -o patch1.patch "https://code.qt.io/cgit/qt/qtbase.git/patch/?id=777f2a1c"
curl -L -o patch2.patch "https://codereview.qt-project.org/gitweb?p=qt/qtbase.git;a=patch;h=54aa63be9b74e8de72db9efbe6809ab1a97b29a7"
curl -L -o patch3.patch "https://git.archlinux.org/svntogit/packages.git/plain/trunk/qt5-base-cflags.patch?h=packages/qt5-base"
curl -L -o patch4.patch "https://git.archlinux.org/svntogit/packages.git/plain/trunk/qtbug-74252.patch?h=packages/qt5-base"
cd qtbase-everywhere-src-5.15.0
patch -p1 -i ../patch1.patch
patch -p1 -i ../patch2.patch
patch -p1 -i ../patch3.patch
patch -p1 -i ../patch4.patch
./configure -prefix /usr/local -headerdir /usr/local/include/qt5 -opensource -confirm-license -qt-harfbuzz -fontconfig -no-use-gold-linker -no-mimetype-database -nomake examples -shared
make
exit
pushd /home/openmwbuild/deps/qt5/qtbase-everywhere-src-5.15.0
checkinstall -R --fstrans=no --install=no --backup=no --strip=yes --stripso=yes --nodoc --pakdir=/home/openmwbuild/deps/rpms --backup=no --pkgname=qt5
rpm -i /home/openmwbuild/deps/rpms/qt5-5.15.0-1.x86_64.rpm
su openmwbuild

# qt5 wayland qpa:
pushd /home/openmwbuild/deps/qt5
curl -L -O https://download.qt.io/official_releases/qt/5.15/5.15.0/submodules/qtwayland-everywhere-src-5.15.0.tar.xz
tar -xf qtwayland-everywhere-src-5.15.0.tar.xz
cd qtwayland-everywhere-src-5.15.0
qmake
make
# manually generate missing wayland headers
./bin/qtwaylandscanner server-header src/extensions/qt-texture-sharing-unstable-v1.xml > /home/openmwbuild/deps/qt5/qtwayland-everywhere-src-5.15.0/src/compositor/qwayland-server-qt-texture-sharing-unstable-v1.h
wayland-scanner -s server-header src/extensions/qt-texture-sharing-unstable-v1.xml /home/openmwbuild/deps/qt5/qtwayland-everywhere-src-5.15.0/src/compositor/wayland-qt-texture-sharing-unstable-v1-server-protocol.h
exit
pushd /home/openmwbuild/deps/qt5/qtwayland-everywhere-src-5.15.0
checkinstall -R --fstrans=no --install=no --backup=no --strip=yes --stripso=yes --nodoc --pakdir=/home/openmwbuild/deps/rpms --backup=no --pkgname=qt5-wayland
rpm -i /home/openmwbuild/deps/rpms/qt5-wayland-5.15.0-1.x86_64.rpm
su openmwbuild

# collada
mkdir /home/openmwbuild/deps/collada
pushd /home/openmwbuild/deps/collada
curl -L -O "https://github.com/rdiankov/collada-dom/archive/refs/tags/v2.5.0.tar.gz"
tar -xf v2.5.0
cd collada-dom-2.5.0
cmake .
make
exit
#checkinstall -R --fstrans=yes --install=no --backup=no --strip=yes --stripso=yes --nodoc --pakdir=/home/openmwbuild/deps/rpms --backup=no --pkgname=colladadom
pushd /home/openmwbuild/deps/collada/collada-dom-2.5.0
make install

# openscenegraph:
mkdir /home/openmwbuild/deps/openscenegraph
pushd /home/openmwbuild/deps/openscenegraph
#curl -L -O https://github.com/openscenegraph/OpenSceneGraph/archive/OpenSceneGraph-3.4.1.tar.gz
#tar -xf OpenSceneGraph-3.4.1.tar.gz
git clone https://github.com/OpenMW/osg.git osgFork
cd osgFork
git checkout 3.6
cd ..
mkdir build
cd build
cmake -DPNG_LIBRARY="/usr/local/lib/libpng.so" -DBUILD_OSG_APPLICATIONS="OFF" -DCMAKE_BUILD_TYPE=Release ../osgFork
make
exit
pushd /home/openmwbuild/deps/openscenegraph/build
checkinstall -R --fstrans=yes --install=no --backup=no --strip=yes --stripso=yes --nodoc --pakdir=/home/openmwbuild/deps/rpms --backup=no --pkgname=openscenegraph
rpm -i /home/openmwbuild/deps/rpms/openscenegraph-3.6-1.x86_64.rpm
# The libraries need extra symlinks (symbols are linked differently)
#pushd /usr/local/lib64
#for i in ./libosg*.so.?.?.?; do ln -s $i ${i%%.?.?.?}.132; done
#ln -s ./libOpenThreads.so.?.?.? ./libOpenThreads.so.20
#popd
su openmwbuild

# unshield:
mkdir /home/openmwbuild/deps/unshield
pushd /home/openmwbuild/deps/unshield
curl -L -O https://github.com/twogood/unshield/archive/1.4.3.tar.gz
tar -xf 1.4.3.tar.gz
cd unshield-1.4.3
cmake -DCMAKE_BUILD_TYPE=Release
make
checkinstall -R --fstrans=yes --install=no --backup=no --strip=yes --stripso=yes --nodoc --pakdir=/home/openmwbuild/deps/rpms --backup=no --pkgname=unshield
exit
rpm -i /home/openmwbuild/deps/rpms/unshield-1.4.3-1.x86_64.rpm
su openmwbuild

# lz4:
#mkdir /home/openmwbuild/deps/lz4
#pushd /home/openmwbuild/deps/lz4
#git clone https://github.com/lz4/lz4.git
#cd lz4
#git checkout v1.9.2
#make -C lib
#make -C programs lz4 lz4c
#checkinstall -R --fstrans=yes --install=no --backup=no --strip=yes --stripso=yes --nodoc --pakdir=/home/openmwbuild/deps/rpms/ --pkgname=lz4
#exit
#rpm -i /home/openmwbuild/deps/rpms/lz4-20201028-1.x86_64.rpm
#su openmwbuild

# recastnavigation
mkdir /home/openmwbuild/deps/recastnavigation
pushd /home/openmwbuild/deps/recastnavigation
git clone https://github.com/recastnavigation/recastnavigation.git
cd recastnavigation
cmake -DCMAKE_BUILD_TYPE=Release -DRECASTNAVIGATION_DEMO=OFF -DRECASTNAVIGATION_TESTS=OFF -DRECASTNAVIGATION_EXAMPLES=OFF .
make
checkinstall -R --fstrans=yes --install=no --backup=no --strip=yes --stripso=yes --nodoc --pakdir=/home/openmwbuild/deps/rpms/ --pkgname=recastnavigation
exit
rpm -i /home/openmwbuild/deps/rpms/recastnavigation-1.5.1-1.x86_64.rpm
su openmwbuild

# openmw (testbuild):
# needs openmw source at /home/openmwbuild/openmw
mkdir /home/openmwbuild/build
cd build
cmake -DBUILD_TGZ="ON" -DTGZ_RC="ON" -DOPENMW_VERSION="0.47.0" -DTGZ_RC_VERSION="1" -DCMAKE_BUILD_TYPE="Release" -DCPACK_STRIP_FILES="1" -DBUILD_ESMTOOL="ON" -DBUILD_BSATOOL="ON" -DBUILD_NIFTEST="ON" -DBULLET_USE_DOUBLE_PRECISION="ON" -DDESIRED_QT_VERSION=5 -DOPENMW_USE_SYSTEM_RECASTNAVIGATION=ON ../openmw/
make
make package
