1
0
mckaygerhard 3bb7f97eb4 provide a right description for distro packagers
* 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
2023-01-03 14:35:27 -04:00

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
}