commit 6e58e4c9607d431885c3c35139e362ea63a57cd6 Author: haui Date: Thu Jun 27 09:02:30 2024 +0000 initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..59d2881 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +.abuild +.ash_history +src diff --git a/APKBUILD b/APKBUILD new file mode 100644 index 0000000..4c2ff69 --- /dev/null +++ b/APKBUILD @@ -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 +" diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 diff --git a/minetest-server.confd b/minetest-server.confd new file mode 100644 index 0000000..dfd2f8a --- /dev/null +++ b/minetest-server.confd @@ -0,0 +1,6 @@ +#USER="minetest" +#GROUP="games" +#LOG="/var/lib/minetest/minetestd.log" +#CONFIG="/etc/minetest/minetest.conf" +#ARGS="" +GAMEID="minimal" diff --git a/minetest-server.initd b/minetest-server.initd new file mode 100644 index 0000000..a8bca09 --- /dev/null +++ b/minetest-server.initd @@ -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 $? +} diff --git a/minetest-server.pre-install b/minetest-server.pre-install new file mode 100644 index 0000000..ec187b9 --- /dev/null +++ b/minetest-server.pre-install @@ -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