Compiling Doomseeker on Linux: Difference between revisions
Compiling Doomseeker on Linux (view source)
Revision as of 23:51, 15 September 2019
, 15 September 2019no edit summary
No edit summary |
|||
(One intermediate revision by the same user not shown) | |||
Line 10: | Line 10: | ||
** qt5-multimedia | ** qt5-multimedia | ||
* '''Recommended''' | * '''Recommended''' | ||
** | ** git ''(needed in order to [https://bitbucket.org/Doomseeker/doomseeker download the source] and compile in commit meta data)'' | ||
* '''Optional''' | * '''Optional''' | ||
** zlib ''(Doomseeker has a copy of it and will be statically compiled in if not found)'' | ** zlib ''(Doomseeker has a copy of it and will be statically compiled in if not found)'' | ||
Line 20: | Line 20: | ||
=== Debian/Ubuntu === | === Debian/Ubuntu === | ||
<pre> | <pre> | ||
sudo apt-get install g++ make cmake | sudo apt-get install g++ make cmake git zlib1g-dev libbz2-dev \ | ||
qttools5-dev qttools5-dev-tools qtmultimedia5-dev libqt4-dev | qttools5-dev qttools5-dev-tools qtmultimedia5-dev libqt4-dev | ||
</pre> | </pre> | ||
Line 26: | Line 26: | ||
=== Fedora === | === Fedora === | ||
<pre> | <pre> | ||
dnf install gcc-c++ make cmake | dnf install gcc-c++ make cmake git zlib-devel bzip2-devel \ | ||
qt5-qttools-devel qt5-qtmultimedia-devel qt-devel | qt5-qttools-devel qt5-qtmultimedia-devel qt-devel | ||
</pre> | </pre> | ||
Line 32: | Line 32: | ||
=== openSUSE === | === openSUSE === | ||
<pre> | <pre> | ||
zypper install gcc-c++ make cmake | zypper install gcc-c++ make cmake git zlib-devel libbz2-devel \ | ||
libqt5-qttools-devel libqt5-qtmultimedia-devel libqt4-devel | libqt5-qttools-devel libqt5-qtmultimedia-devel libqt4-devel | ||
</pre> | </pre> | ||
Line 39: | Line 39: | ||
<pre> | <pre> | ||
a='' && [ "$(uname -m)" = x86_64 ] && a=64 | a='' && [ "$(uname -m)" = x86_64 ] && a=64 | ||
urpmi gcc-c++ make cmake | urpmi gcc-c++ make cmake git lib${a}zlib-devel \ | ||
lib${a}bzip2-devel lib${a}qt5base5-devel qttools5 lib${a}qt5help-devel \ | lib${a}bzip2-devel lib${a}qt5base5-devel qttools5 lib${a}qt5help-devel \ | ||
lib${a}qt5multimedia-devel lib${a}qt4-devel lib${a}qtcore4 | lib${a}qt5multimedia-devel lib${a}qt4-devel lib${a}qtcore4 | ||
Line 46: | Line 46: | ||
=== Arch Linux === | === Arch Linux === | ||
<pre> | <pre> | ||
pacman -S --needed gcc make cmake | pacman -S --needed gcc make cmake git zlib bzip2 qt5-tools qt5-base qt5-multimedia qt4 | ||
</pre> | </pre> | ||
=== Gentoo === | === Gentoo === | ||
<pre> | <pre> | ||
emerge -avn sys-devel/gcc sys-devel/make dev-util/cmake dev-vcs/ | emerge -avn sys-devel/gcc sys-devel/make dev-util/cmake dev-vcs/git \ | ||
sys-libs/zlib app-arch/bzip2 dev-qt/linguist dev-qt/linguist-tools \ | sys-libs/zlib app-arch/bzip2 dev-qt/linguist dev-qt/linguist-tools \ | ||
dev-qt/qtmultimedia dev-qt/qtcore | dev-qt/qtmultimedia dev-qt/qtcore | ||
Line 59: | Line 59: | ||
<pre> | <pre> | ||
a='' && [ "$(uname -m)" = x86_64 ] && a=64 | a='' && [ "$(uname -m)" = x86_64 ] && a=64 | ||
apt-get install gcc-c++ make cmake | apt-get install gcc-c++ make cmake git zlib1-devel \ | ||
lib${a}bzip2-devel lib${a}qt5base5-devel qttools5 lib${a}qt5help-devel \ | lib${a}bzip2-devel lib${a}qt5base5-devel qttools5 lib${a}qt5help-devel \ | ||
lib${a}qt5multimedia-devel lib${a}qt4-devel | lib${a}qt5multimedia-devel lib${a}qt4-devel | ||
Line 67: | Line 67: | ||
<pre> | <pre> | ||
sudo eopkg install g++ make cmake binutils glibc-devel pkg-config \ | sudo eopkg install g++ make cmake binutils glibc-devel pkg-config \ | ||
git zlib-devel bzip2-devel qt5-tools-devel qt5-base-devel \ | |||
qt5-multimedia-devel qt4-devel | qt5-multimedia-devel qt4-devel | ||
</pre> | </pre> | ||
Line 82: | Line 82: | ||
<pre> | <pre> | ||
cd ~/doomseeker_build && | cd ~/doomseeker_build && | ||
git clone https://bitbucket.org/Doomseeker/doomseeker.git && | |||
mkdir -pv doomseeker/build | mkdir -pv doomseeker/build | ||
</pre> | </pre> | ||
Line 105: | Line 105: | ||
<pre> | <pre> | ||
cd ~/doomseeker_build/doomseeker && | cd ~/doomseeker_build/doomseeker && | ||
git tag -l | tail -1 | |||
</pre> | </pre> | ||
Line 111: | Line 111: | ||
<pre> | <pre> | ||
cd ~/doomseeker_build/doomseeker && | cd ~/doomseeker_build/doomseeker && | ||
git checkout --detach refs/tags/$(git tag -l | tail -1) | |||
</pre> | </pre> | ||
and [[#Compiling|compile]]. | and [[#Compiling|compile]]. | ||
Line 118: | Line 118: | ||
<pre> | <pre> | ||
cd ~/doomseeker_build/doomseeker && | cd ~/doomseeker_build/doomseeker && | ||
git checkout master | |||
</pre> | </pre> | ||
Line 124: | Line 124: | ||
If you want to backup Doomseeker, do the following: | If you want to backup Doomseeker, do the following: | ||
Create and name a directory with the corresponding Doomseeker version/revision, build type and copy doomseeker, libwadseeker.so and the engines directory to it: | Create and name a directory with the corresponding Doomseeker version/revision, build type and copy doomseeker, libwadseeker.so* and the engines directory to it: | ||
<pre> | <pre> | ||
cd ~/doomseeker_build/doomseeker/build && | cd ~/doomseeker_build/doomseeker/build && | ||
Line 130: | Line 130: | ||
k="$(sed -n 's/.*CMAKE_BUILD_TYPE:STRING=\(.*\)/\1/p' CMakeCache.txt)"; else k=''; fi && | k="$(sed -n 's/.*CMAKE_BUILD_TYPE:STRING=\(.*\)/\1/p' CMakeCache.txt)"; else k=''; fi && | ||
if [ -n "$k" ]; then b="-BuildType$k"; else b=''; fi && | if [ -n "$k" ]; then b="-BuildType$k"; else b=''; fi && | ||
h="$(sed -n 's/.*#define HG_REVISION_HASH_STRING "\(.*\)".*/\1/p' | r=../src/core/gitinfo.h && h="$(sed -n 's/.*#define HG_REVISION_HASH_STRING "\(.*\)".*/\1/p' $r)" && | ||
if [ -n "$( | if [ -n "$(git show $h:../src/core/versiondefs.h 2>/dev/null)" ]; then s=h; else s=cmake; fi && | ||
BACKUPDOOMSEEKER="../../$( | BACKUPDOOMSEEKER="../../$(git show $h:../src/core/versiondefs.$s | sed -n 's/.*VERSION_STRING "\(.*\)".*/\1/p')\ | ||
$(sed -n 's/.*#define | $(sed -n 's/.*#define HG_TIME "\(.*\)".*/\-\1/p' $r)-$h$b" && | ||
mkdir -pv "$BACKUPDOOMSEEKER" && | mkdir -pv "$BACKUPDOOMSEEKER" && | ||
cp -rv doomseeker libwadseeker.so engines \ | cp -rv doomseeker libwadseeker.so* engines \ | ||
"$BACKUPDOOMSEEKER"/ | "$BACKUPDOOMSEEKER"/ | ||
</pre> | </pre> | ||
Line 147: | Line 147: | ||
<pre> | <pre> | ||
cd ~/doomseeker_build/doomseeker && | cd ~/doomseeker_build/doomseeker && | ||
git pull | |||
</pre> | </pre> | ||
Line 162: | Line 162: | ||
</pre> | </pre> | ||
Copy doomseeker, libwadseeker.so and the engines directory to /usr/games/doomseeker/: | Copy doomseeker, libwadseeker.so* and the engines directory to /usr/games/doomseeker/: | ||
<pre> | <pre> | ||
cd ~/doomseeker_build/doomseeker/build && | cd ~/doomseeker_build/doomseeker/build && | ||
sudo cp -rv doomseeker libwadseeker.so engines \ | sudo cp -rv doomseeker libwadseeker.so* engines \ | ||
/usr/games/doomseeker/ | /usr/games/doomseeker/ | ||
</pre> | </pre> | ||
Line 173: | Line 173: | ||
cd ~/doomseeker_build/doomseeker/build && | cd ~/doomseeker_build/doomseeker/build && | ||
printf %s "\ | printf %s "\ | ||
#!/bin/sh | #! /bin/sh | ||
export LD_LIBRARY_PATH=/usr/games/doomseeker | export LD_LIBRARY_PATH=/usr/games/doomseeker | ||
exec /usr/games/doomseeker/doomseeker \"\$@\" | exec /usr/games/doomseeker/doomseeker \"\$@\" |