games-server/bedrock-server: bump to version 1.14.0.9
authorConrad Kostecki <conikost@gentoo.org>
Thu, 12 Dec 2019 20:30:22 +0000 (21:30 +0100)
committerConrad Kostecki <conikost@gentoo.org>
Fri, 13 Dec 2019 00:14:19 +0000 (01:14 +0100)
Also changed from app-misc/screen to app-misc/dtach,
to use a lightweight alternative for the interactive process.

Package-Manager: Portage-2.3.81, Repoman-2.3.20
Signed-off-by: Conrad Kostecki <conikost@gentoo.org>
games-server/bedrock-server/Manifest
games-server/bedrock-server/bedrock-server-1.14.0.9.ebuild [new file with mode: 0644]
games-server/bedrock-server/files/bedrock-server.initd-r1 [new file with mode: 0644]

index c1fc98273b90a600f6f55d824d65376fb06a5d3a..9b8bae6f44d3585956cd875e828c60b81deb016b 100644 (file)
@@ -1 +1,2 @@
 DIST bedrock-server-1.13.3.0.zip 48812104 BLAKE2B 052e2445268c1e313139a6291aa8e5ef623a30f8dd26c32ed604f73318af75ae4f3f5c22ea3e73d18d6989388ff5da2600c5b0b019f3120db1779e49cad9d8c7 SHA512 2319f160ac69088c9420b1b6c999d576216c5a4b7034182e31572b2ece5f7bab3da049ee06f9b99b152da618a25f53df608c1eca23eab61b8ca9dbff24b78d6e
+DIST bedrock-server-1.14.0.9.zip 49343697 BLAKE2B eecc771b1722629f924fbf8b9e981ff72d541c4a297fa02c6e951331859bc2240c4c471966176c5bb6f39f7f643f6a4f43447aa978f10a8f53403aeaff29d9cd SHA512 2e11261abd60a36fec029e0297b5e3de9fb0935947e04ee19c43ea3803cf365e2984e231b81d074f25bc7ff08013cc4a961899665f24501c75d3c8817e60e97c
diff --git a/games-server/bedrock-server/bedrock-server-1.14.0.9.ebuild b/games-server/bedrock-server/bedrock-server-1.14.0.9.ebuild
new file mode 100644 (file)
index 0000000..d4558de
--- /dev/null
@@ -0,0 +1,52 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="The official bedrock (non-java) based server for the sandbox video game"
+HOMEPAGE="https://www.minecraft.net/"
+SRC_URI="https://minecraft.azureedge.net/bin-linux/${P}.zip"
+
+LICENSE="Mojang"
+SLOT="0"
+KEYWORDS="-* ~amd64"
+
+RDEPEND="
+       acct-group/bedrock
+       acct-user/bedrock
+       app-misc/dtach
+       dev-libs/openssl:0/1.1
+       net-misc/curl[ssl]
+"
+
+BDEPEND="app-arch/unzip"
+
+RESTRICT="bindist mirror"
+
+S="${WORKDIR}"
+
+DOCS=(
+       "bedrock_server_how_to.html"
+       "release-notes.txt"
+)
+
+QA_PREBUILT="
+       opt/bedrock-server/bedrock_server
+       opt/bedrock-server/libCrypto.so
+"
+
+src_install() {
+       exeinto /opt/bedrock-server
+       doexe bedrock_server libCrypto.so
+
+       insinto /opt/bedrock-server
+       doins {permissions,whitelist}.json server.properties
+       doins -r {behavior,resource}_packs definitions structures
+
+       dodir /opt/bin
+       dosym ../bedrock-server/bedrock_server /opt/bin/bedrock-server
+
+       newinitd "${FILESDIR}"/bedrock-server.initd-r1 bedrock-server
+
+       einstalldocs
+}
diff --git a/games-server/bedrock-server/files/bedrock-server.initd-r1 b/games-server/bedrock-server/files/bedrock-server.initd-r1
new file mode 100644 (file)
index 0000000..5f71b80
--- /dev/null
@@ -0,0 +1,47 @@
+#!/sbin/openrc-run
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+if [ "${SVCNAME}" = "bedrock-server" ]; then
+       instance="main"
+else
+       instance="${SVCNAME#*.}"
+fi
+
+bedrock_command="/opt/bin/bedrock-server"
+bedrock_path="/var/lib/bedrock-server"
+bedrock_path_data="/opt/bedrock-server"
+bedrock_path_instance="${bedrock_path}/${instance}"
+dtach_tmpfile="$(mktemp -u)"
+name="Minecraft Bedrock server (${instance})"
+pidfile="/run/bedrock-server.${instance}.pid"
+start_stop_daemon_args="--chdir ${bedrock_path_instance}"
+
+command="/usr/bin/dtach"
+command_background="true"
+command_args="-N ${dtach_tmpfile} ${bedrock_command}"
+command_group="bedrock"
+command_user="bedrock"
+
+depend() {
+       use net
+}
+
+start_pre() {
+       checkpath -d -o "${command_user}:${command_group}" -q "${bedrock_path}" "${bedrock_path_instance}"
+
+       local bedrock_configs=( "permissions.json" "server.properties" "whitelist.json" )
+       for bedrock_config in ${bedrock_configs[@]}; do
+               if [ ! -f "${bedrock_path_instance}/${bedrock_config}" ]; then
+                       cp "${bedrock_path_data}/${bedrock_config}" "${bedrock_path_instance}"
+                       checkpath -f -o "${command_user}:${command_group}" -q "${bedrock_path_instance}/${bedrock_config}"
+               fi
+       done
+
+       local bedrock_ressources=( "behavior_packs" "definitions" "resource_packs" "structures" )
+       for bedrock_ressource in ${bedrock_ressources[@]}; do
+               if [ ! -L "${bedrock_path_instance}/${bedrock_ressource}" ]; then
+                       ln -sf "${bedrock_path_data}/${bedrock_ressource}" "${bedrock_path_instance}"
+               fi
+       done
+}