initial commit

This commit is contained in:
haui 2024-06-27 09:02:30 +00:00
commit 6e58e4c960
6 changed files with 167 additions and 0 deletions

3
.gitignore vendored Normal file
View file

@ -0,0 +1,3 @@
.abuild
.ash_history
src

118
APKBUILD Normal file
View file

@ -0,0 +1,118 @@
pkgname=minetest
pkgver=5.9.0
pkgrel=1
pkgdesc="An infinite-world block sandbox game and a game engine"
url="https://www.minetest.net/"
# ppc64le, riscv64, loongarch64 blocked by luajit
arch="all !ppc64le !riscv64 !loongarch64"
license="LGPL-2.1-or-later AND CC-BY-SA-3.0"
pkgusers="minetest"
pkggroups="minetest"
install="$pkgname-server.pre-install"
depends="$pkgname-common"
makedepends="
bzip2-dev
cmake
curl-dev
freetype-dev
gettext-dev
hiredis-dev
libjpeg-turbo-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-lang
$pkgname-common::noarch
$pkgname-server
$pkgname-server-openrc:openrc
"
_irrlichtver="1.9.0mt15"
source="https://github.com/Haui1112/minetest/archive/refs/tags/minetest-5.9.0.tar.gz
https://github.com/minetest/irrlicht/archive/refs/tags/1.9.0mt15.tar.gz
minetest-server.confd
minetest-server.initd
"
prepare() {
default_prepare
mv "$srcdir"/irrlicht-$_irrlichtver "$srcdir"/minetest-minetest-$pkgver/lib/irrlichtmt
}
build() {
cmake -G Ninja -B build_client \
-DCMAKE_BUILD_TYPE=Release \
-DCUSTOM_BINDIR=/usr/bin \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCUSTOM_DOCDIR="/usr/share/doc/$pkgname" \
-DCUSTOM_SHAREDIR="/usr/share/$pkgname" \
-DBUILD_CLIENT=1 \
-DBUILD_SERVER=0 \
-DENABLE_REDIS=0 \
-DENABLE_CURL=1 \
-DRUN_IN_PLACE=0
cmake --build build_client
cmake -G Ninja -B build_server \
-DCMAKE_BUILD_TYPE=Release \
-DCUSTOM_BINDIR=/usr/bin \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCUSTOM_DOCDIR="/usr/share/doc/minetest" \
-DCUSTOM_SHAREDIR="/usr/share/minetest" \
-DBUILD_CLIENT=0 \
-DBUILD_SERVER=1 \
-DENABLE_REDIS=1 \
-DENABLE_CURL=1 \
-DRUN_IN_PLACE=0
cmake --build build_server
}
package() {
DESTDIR="$pkgdir" cmake --install build_client
}
common() {
pkgdesc="Minetest files used by both client & server"
depends=""
install -o minetest -g minetest -d "$subpkgdir"/var/lib/minetest
amove \
usr/share/minetest/builtin
}
server() {
pkgdesc="Minetest server"
depends="$pkgname-common"
cd "$builddir"
install -Dm644 minetest.conf.example \
"$subpkgdir"/etc/minetest/minetest.conf
install -Dm755 bin/minetestserver \
-t "$subpkgdir"/usr/bin
}
openrc() {
pkgdesc="Minetest server (OpenRC init scripts)"
install_if="$pkgname-server=$pkgver-r$pkgrel openrc"
install -Dm755 "$srcdir"/minetest-server.initd \
"$subpkgdir"/etc/init.d/minetest-server
install -Dm644 "$srcdir"/minetest-server.confd \
"$subpkgdir"/etc/conf.d/minetest-server
}
sha512sums="
5ec8254d622b8cf8996ab98c21aa7296b7f44a1e593b89e9fe872cbdad084516b9c634ad343f1f561c17c370c70821271782a1f19c84b2c4abb05a19df74eaa5 minetest-5.9.0.tar.gz
781e128ba001703d6df22c40908a7d598d0dd64619ca6db68b02fd08b5a7f6835c587c3a6335411cba6e7b681fac41ebbb8fde9f3260f78c83200b0afec328f4 1.9.0mt15.tar.gz
7bca17dc0bd59db9c07c160677498aa09297026104e922bf93b7629c274d0aebd226af60c5e82f49ffe3cc5c1e4448e3798b6c2a44144fc6eca4d3aaed3384bb minetest-server.confd
c27aea87468538b48b5e0a66fa5cdde4fc67f3c00a0e57f359a2f044a31c5617d1b5f3dec72e015537ee3bf126bd1073878c0f4447de67db9be2c4cf21416dd7 minetest-server.initd
"

0
README.md Normal file
View file

6
minetest-server.confd Normal file
View file

@ -0,0 +1,6 @@
#USER="minetest"
#GROUP="games"
#LOG="/var/lib/minetest/minetestd.log"
#CONFIG="/etc/minetest/minetest.conf"
#ARGS=""
GAMEID="minimal"

35
minetest-server.initd Normal file
View file

@ -0,0 +1,35 @@
#!/sbin/openrc-run
description="Minetest server"
pidfile="/var/run/$SVCNAME.pid"
command="/usr/bin/minetestserver"
start_stop_daemon_args="--user ${USER:-minetest} --group ${GROUP:-games}
--make-pidfile --pidfile $pidfile --background --quiet --wait 300"
command_args="$ARGS"
depend() {
need net
after firewall
}
optional_command_arg() {
if [ -n "$2" ]; then
command_args="$command_args $1 $2"
fi
}
start_pre() {
optional_command_arg --log $LOG
optional_command_arg --config $CONFIG
optional_command_arg --gameid $GAMEID
}
reload() {
ebegin "Reloading $SVCNAME"
start-stop-daemon --signal HUP \
--exec "$EXEC" --pidfile "$pidfile"
eend $?
}

View file

@ -0,0 +1,5 @@
#!/bin/sh
adduser -S -D -h /var/lib/minetest -s /sbin/nologin -G games -g minetest minetest 2>/dev/null
exit 0