* set description to minetest based voxel game * sync rules configuration for CMAKE on apk, rpm and deb based distros * sync installation paths for apk, rpm and deb based distros * fix for those syncs the CMakefile
149 lines
3.8 KiB
Plaintext
149 lines
3.8 KiB
Plaintext
# Maintainer: PICCORO Lenz McKAY <mckaygerhard@gmail.com>
|
|
pkgname=multicraft
|
|
pkgver=2.0.3
|
|
pkgrel=0
|
|
pkgdesc="minetest voxel game engine with easy modding and game creation"
|
|
url="https://www.multicraft.world/"
|
|
# riscv64 blocked by luajit
|
|
arch="all !riscv64"
|
|
license="LGPL-3-or-later AND CC-BY-SA-3.0"
|
|
pkgusers="multicraft"
|
|
pkggroups="games"
|
|
install="$pkgname-server.pre-install"
|
|
depends="$pkgname-data"
|
|
makedepends="
|
|
bzip2-dev
|
|
cmake
|
|
curl-dev
|
|
freetype-dev
|
|
gettext-dev
|
|
hiredis-dev
|
|
libjpeg-turbo-dev
|
|
irrlicht-dev
|
|
libogg-dev
|
|
libpng-dev
|
|
libvorbis-dev
|
|
libxi-dev
|
|
luajit-dev
|
|
mesa-dev
|
|
openal-soft-dev
|
|
openssl-dev>3
|
|
samurai
|
|
sqlite-dev
|
|
zstd-dev
|
|
"
|
|
subpackages="$pkgname-doc
|
|
$pkgname-data::noarch
|
|
$pkgname-server
|
|
$pkgname-server-openrc:openrc
|
|
"
|
|
_irrlichtver="1.9.0mt8"
|
|
source="https://codeberg.org/minenux/minetest-engine-multicraft2/archive/multicraft-package.tar.gz
|
|
multicraft-server.confd
|
|
multicraft-server.initd
|
|
0001-CMake-link-with-Intl-when-necessary.patch
|
|
"
|
|
|
|
prepare() {
|
|
default_prepare
|
|
}
|
|
|
|
build() {
|
|
cmake -G Ninja -B build_client \
|
|
-DCUSTOM_BINDIR=/usr/bin \
|
|
-DCUSTOM_DOCDIR="/usr/share/doc/$pkgname-data" \
|
|
-DCUSTOM_SHAREDIR="/usr/share/games/$pkgname" \
|
|
-DBUILD_SERVER=OFF \
|
|
-DBUILD_CLIENT=ON \
|
|
-DRUN_IN_PLACE=OFF \
|
|
-DENABLE_CURL=ON \
|
|
-DENABLE_SOUND=ON \
|
|
-DENABLE_LUAJIT=ON \
|
|
-DENABLE_GETTEXT=ON \
|
|
-DENABLE_FREETYPE=ON \
|
|
-DENABLE_SYSTEM_GMP=ON \
|
|
-DENABLE_SYSTEM_JSONCPP=ON \
|
|
-DCMAKE_VERBOSE_MAKEFILE=ON \
|
|
-DENABLE_SPATIAL=ON \
|
|
-DENABLE_LEVELDB=ON \
|
|
-DENABLE_REDIS=OFF \
|
|
-DENABLE_POSTGRESQL=ON \
|
|
-DJSON_INCLUDE_DIR=/usr/include/jsoncpp \
|
|
-DFREETYPE_INCLUDE_DIR_freetype2=/usr/include/freetype2 \
|
|
-DFREETYPE_INCLUDE_DIR_ft2build=/usr/include \
|
|
-DLEVELDB_INCLUDE_DIR=/usr/include/leveldb \
|
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
|
-DCMAKE_BUILD_TYPE=RelWithDebInfo
|
|
|
|
cmake --build build_client
|
|
|
|
cmake -G Ninja -B build_server \
|
|
-DCUSTOM_BINDIR=/usr/bin \
|
|
-DCUSTOM_DOCDIR="/usr/share/doc/$pkgname" \
|
|
-DCUSTOM_SHAREDIR="/usr/share/games/$pkgname" \
|
|
-DBUILD_SERVER=ON \
|
|
-DBUILD_CLIENT=OFF \
|
|
-DRUN_IN_PLACE=OFF \
|
|
-DENABLE_CURL=ON \
|
|
-DENABLE_SOUND=ON \
|
|
-DENABLE_LUAJIT=ON \
|
|
-DENABLE_GETTEXT=ON \
|
|
-DENABLE_FREETYPE=ON \
|
|
-DENABLE_SYSTEM_GMP=ON \
|
|
-DENABLE_SYSTEM_JSONCPP=ON \
|
|
-DCMAKE_VERBOSE_MAKEFILE=ON \
|
|
-DENABLE_SPATIAL=ON \
|
|
-DENABLE_LEVELDB=ON \
|
|
-DENABLE_REDIS=OFF \
|
|
-DENABLE_POSTGRESQL=ON \
|
|
-DJSON_INCLUDE_DIR=/usr/include/jsoncpp \
|
|
-DFREETYPE_INCLUDE_DIR_freetype2=/usr/include/freetype2 \
|
|
-DFREETYPE_INCLUDE_DIR_ft2build=/usr/include \
|
|
-DLEVELDB_INCLUDE_DIR=/usr/include/leveldb \
|
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
|
-DCMAKE_BUILD_TYPE=RelWithDebInfo
|
|
|
|
cmake --build build_server
|
|
}
|
|
|
|
package() {
|
|
DESTDIR="$pkgdir" cmake --install build_client
|
|
rm -rf "$subpkgdir"/etc/init.d/multicraftserver
|
|
rm -rf "$subpkgdir"/usr/lib/systemd
|
|
}
|
|
|
|
data() {
|
|
pkgdesc="voxel game engine based on minetest - common data files for"
|
|
depends=""
|
|
|
|
install -o multicraft -g multicraft -d "$subpkgdir"/var/games/multicraft
|
|
amove \
|
|
usr/share/games/multicraft \
|
|
usr/share/metainfo
|
|
usr/share/icons/hicolor
|
|
}
|
|
|
|
server() {
|
|
pkgdesc="voxel game engine based on minetest - server multiplayer"
|
|
depends="$pkgname-common"
|
|
|
|
cd "$builddir"
|
|
install -Dm644 multicraft.conf.example \
|
|
"$subpkgdir"/etc/multicraft/multicraft.conf
|
|
install -Dm755 bin/multicraftserver \
|
|
-t "$subpkgdir"/usr/bin
|
|
install -o multicraft -g multicraft -d "$subpkgdir"/var/log/multicraft
|
|
amove etc/logrotate.d/multicraftserver
|
|
}
|
|
|
|
openrc() {
|
|
pkgdesc="voxel game engine based on minetest - server (OpenRC init scripts)"
|
|
install_if="$pkgname-server openrc"
|
|
|
|
install -Dm755 "$srcdir"/multicraft-server.initd \
|
|
"$subpkgdir"/etc/init.d/multicraft-server
|
|
install -Dm644 "$srcdir"/multicraft-server.confd \
|
|
"$subpkgdir"/etc/conf.d/multicraft-server
|
|
}
|
|
|