commit:     3d7697a27cbdced6bde3745893b8bbe8cbc0e158
Author:     Conrad Kostecki <conikost <AT> gentoo <DOT> org>
AuthorDate: Mon Dec  9 21:26:45 2019 +0000
Commit:     Conrad Kostecki <conikost <AT> gentoo <DOT> org>
CommitDate: Mon Dec  9 22:05:21 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3d7697a2

games-server/bedrock-server: New package

This is the official minecraft server, which can be used with all
editions, which are based on the bedrock engine. It is not compatible
with the minecraft java edition.

Closes: https://github.com/gentoo/gentoo/pull/11857
Package-Manager: Portage-2.3.81, Repoman-2.3.20
Signed-off-by: Conrad Kostecki <conikost <AT> gentoo.org>

 games-server/bedrock-server/Manifest               |  1 +
 .../bedrock-server/bedrock-server-1.13.3.0.ebuild  | 52 ++++++++++++++++++++++
 .../bedrock-server/files/bedrock-server.initd      | 47 +++++++++++++++++++
 games-server/bedrock-server/metadata.xml           | 18 ++++++++
 4 files changed, 118 insertions(+)

diff --git a/games-server/bedrock-server/Manifest 
b/games-server/bedrock-server/Manifest
new file mode 100644
index 00000000000..c1fc98273b9
--- /dev/null
+++ b/games-server/bedrock-server/Manifest
@@ -0,0 +1 @@
+DIST bedrock-server-1.13.3.0.zip 48812104 BLAKE2B 
052e2445268c1e313139a6291aa8e5ef623a30f8dd26c32ed604f73318af75ae4f3f5c22ea3e73d18d6989388ff5da2600c5b0b019f3120db1779e49cad9d8c7
 SHA512 
2319f160ac69088c9420b1b6c999d576216c5a4b7034182e31572b2ece5f7bab3da049ee06f9b99b152da618a25f53df608c1eca23eab61b8ca9dbff24b78d6e

diff --git a/games-server/bedrock-server/bedrock-server-1.13.3.0.ebuild 
b/games-server/bedrock-server/bedrock-server-1.13.3.0.ebuild
new file mode 100644
index 00000000000..78c6aa517c1
--- /dev/null
+++ b/games-server/bedrock-server/bedrock-server-1.13.3.0.ebuild
@@ -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 ~x86"
+
+RDEPEND="
+       acct-group/bedrock
+       acct-user/bedrock
+       app-misc/screen
+       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 bedrock-server
+
+       einstalldocs
+}

diff --git a/games-server/bedrock-server/files/bedrock-server.initd 
b/games-server/bedrock-server/files/bedrock-server.initd
new file mode 100644
index 00000000000..9157b610a1f
--- /dev/null
+++ b/games-server/bedrock-server/files/bedrock-server.initd
@@ -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}"
+name="Minecraft Bedrock server (${instance})"
+pidfile="/run/bedrock-server.${instance}.pid"
+screen_name="bedrock-server.${instance}"
+start_stop_daemon_args="--chdir ${bedrock_path_instance}"
+
+command="/usr/bin/screen"
+command_args="-DmUS ${screen_name} ${bedrock_command}"
+command_background="true"
+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
+}

diff --git a/games-server/bedrock-server/metadata.xml 
b/games-server/bedrock-server/metadata.xml
new file mode 100644
index 00000000000..e3df9ebb5b7
--- /dev/null
+++ b/games-server/bedrock-server/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+       <maintainer type="person">
+               <email>[email protected]</email>
+               <name>Conrad Kostecki</name>
+       </maintainer>
+       <longdescription>
+               Minecraft is a sandbox video game created and designed
+               by Swedish game designer Markus "Notch" Persson,
+               and later fully developed and published by Mojang.
+               This is the headless server for all versions of Minecraft
+               based on the bedrock engine and is not compatible with the java 
version.
+       </longdescription>
+       <upstream>
+               <bugs-to>https://bugs.mojang.com/projects/BDS/issues</bugs-to>
+       </upstream>
+</pkgmetadata>

Reply via email to