diff options
author | Marek Szuba <marecki@gentoo.org> | 2023-12-14 15:27:40 +0000 |
---|---|---|
committer | Marek Szuba <marecki@gentoo.org> | 2023-12-14 15:33:56 +0000 |
commit | 051d821b758a147e588d2d3cecbf0e3019b2dd62 (patch) | |
tree | a81a324ae6c83cea58fd39ba28765696ecbbf9e6 /games-engines | |
parent | games-action/minetest: add 5.8.0 (diff) | |
download | gentoo-051d821b758a147e588d2d3cecbf0e3019b2dd62.tar.gz gentoo-051d821b758a147e588d2d3cecbf0e3019b2dd62.tar.bz2 gentoo-051d821b758a147e588d2d3cecbf0e3019b2dd62.zip |
games-engines/minetest: rename games-action/minetest
Bug: https://bugs.gentoo.org/919674
Signed-off-by: Marek Szuba <marecki@gentoo.org>
Diffstat (limited to 'games-engines')
-rw-r--r-- | games-engines/minetest/Manifest | 2 | ||||
-rw-r--r-- | games-engines/minetest/files/minetest-5.7.0-no_upstream_optflags.patch | 11 | ||||
-rw-r--r-- | games-engines/minetest/files/minetestserver.confd | 16 | ||||
-rw-r--r-- | games-engines/minetest/files/minetestserver.initd | 35 | ||||
-rw-r--r-- | games-engines/minetest/files/minetestserver.logrotate | 6 | ||||
-rw-r--r-- | games-engines/minetest/files/minetestserver_default.service | 15 | ||||
-rw-r--r-- | games-engines/minetest/files/minetestserver_template.service | 15 | ||||
-rw-r--r-- | games-engines/minetest/metadata.xml | 54 | ||||
-rw-r--r-- | games-engines/minetest/minetest-5.7.0-r2.ebuild | 151 | ||||
-rw-r--r-- | games-engines/minetest/minetest-5.8.0.ebuild | 150 |
10 files changed, 455 insertions, 0 deletions
diff --git a/games-engines/minetest/Manifest b/games-engines/minetest/Manifest new file mode 100644 index 000000000000..17ce1a1572ff --- /dev/null +++ b/games-engines/minetest/Manifest @@ -0,0 +1,2 @@ +DIST minetest-5.7.0.tar.gz 10115973 BLAKE2B 0f7e8864188004d57115c83508706b1cf1d6db0cba1a3002d603d4665e6d014ea2ec31df0a77a65da014467e21c331e3a27762018483a5bf4b2e024e3f7bdfc3 SHA512 6a934db5fd2c7c14fcfa87fb306662fa1ccf20a0eee056aea5c4c863986875017a4fa58ddf14319d385ee0400d00fb6a90f68b8f34527c98a746c6410360a529 +DIST minetest-5.8.0.tar.gz 10419348 BLAKE2B efe3edde2d3c57cc296b5f84359c24019583e4f70346eafd418da7cbfc334ecbb32c72df085052beaa28f8f4b4219d7431c150c20d511fc41c0809cdbad227f1 SHA512 0b376ecc051032ccb542f2f76e2b1f5c351b32f1c211027825b1538095f44cb1447cd0976cb85a4cde4ecb53873bcb9f3778799271ed65b038a031dc137c2aba diff --git a/games-engines/minetest/files/minetest-5.7.0-no_upstream_optflags.patch b/games-engines/minetest/files/minetest-5.7.0-no_upstream_optflags.patch new file mode 100644 index 000000000000..ad673be1184f --- /dev/null +++ b/games-engines/minetest/files/minetest-5.7.0-no_upstream_optflags.patch @@ -0,0 +1,11 @@ +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -784,7 +784,7 @@ + endif() + endif() + +- set(CMAKE_CXX_FLAGS_RELEASE "-DNDEBUG ${RELEASE_WARNING_FLAGS} ${OTHER_FLAGS} -pipe -funroll-loops -O3 -fomit-frame-pointer") ++ set(CMAKE_CXX_FLAGS_RELEASE "-DNDEBUG ${RELEASE_WARNING_FLAGS} ${OTHER_FLAGS}") + if(CMAKE_SYSTEM_NAME STREQUAL "Linux" + AND CMAKE_CXX_COMPILER_ID STREQUAL "Clang" + AND CMAKE_CXX_COMPILER_VERSION MATCHES "^9\\.") diff --git a/games-engines/minetest/files/minetestserver.confd b/games-engines/minetest/files/minetestserver.confd new file mode 100644 index 000000000000..b383fbd3e33b --- /dev/null +++ b/games-engines/minetest/files/minetestserver.confd @@ -0,0 +1,16 @@ +# /etc/conf.d/minetest-server: config file for /etc/init.d/minetest-server + +# user +USER="minetest" + +# group +GROUP="minetest" + +# pidfile +PIDFILE="/run/minetest.pid" + +# executable +MINETESTBIN="/usr/bin/minetestserver" + +# additional arguments for the server +ARGS="--logfile /var/log/minetest/minetest-server.log" diff --git a/games-engines/minetest/files/minetestserver.initd b/games-engines/minetest/files/minetestserver.initd new file mode 100644 index 000000000000..ffca2e55995f --- /dev/null +++ b/games-engines/minetest/files/minetestserver.initd @@ -0,0 +1,35 @@ +#!/sbin/openrc-run +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +description="Minetest dedicated server" + +depend() { + need net +} + +start() { + ebegin "starting server" + start-stop-daemon \ + --start \ + --quiet \ + --make-pidfile \ + --pidfile "${PIDFILE}" \ + --background \ + --user ${USER} \ + --group ${GROUP} \ + --exec "${MINETESTBIN}" -- ${ARGS} + + eend $? +} + +stop() { + ebegin "stopping server" + start-stop-daemon \ + --stop \ + --signal 15 \ + --quiet \ + --pidfile "${PIDFILE}" + + eend $? +} diff --git a/games-engines/minetest/files/minetestserver.logrotate b/games-engines/minetest/files/minetestserver.logrotate new file mode 100644 index 000000000000..2e38adfc5f50 --- /dev/null +++ b/games-engines/minetest/files/minetestserver.logrotate @@ -0,0 +1,6 @@ +/var/log/minetest/*.log { + rotate 5 + weekly + missingok + copytruncate +} diff --git a/games-engines/minetest/files/minetestserver_default.service b/games-engines/minetest/files/minetestserver_default.service new file mode 100644 index 000000000000..e2754abaaf12 --- /dev/null +++ b/games-engines/minetest/files/minetestserver_default.service @@ -0,0 +1,15 @@ +[Unit] +Description=Minetest multiplayer server (server config minetest.conf) +Documentation=man:minetestserver(6) +After=network.target + +[Service] +Restart=on-failure +User=minetest +Group=minetest +ExecStart=/usr/bin/minetestserver --config /etc/minetest/minetest.conf --logfile /var/log/minetest/minetest-server.log +StandardOutput=null + +[Install] +WantedBy=multi-user.target + diff --git a/games-engines/minetest/files/minetestserver_template.service b/games-engines/minetest/files/minetestserver_template.service new file mode 100644 index 000000000000..a945de53e870 --- /dev/null +++ b/games-engines/minetest/files/minetestserver_template.service @@ -0,0 +1,15 @@ +[Unit] +Description=Minetest multiplayer server (server config %i.conf) +Documentation=man:minetestserver(6) +After=network.target + +[Service] +Restart=on-failure +User=minetest +Group=minetest +ExecStart=/usr/bin/minetestserver --config /etc/minetest/%i.conf --logfile /var/log/minetest/%i-server.log +StandardOutput=null + +[Install] +WantedBy=multi-user.target + diff --git a/games-engines/minetest/metadata.xml b/games-engines/minetest/metadata.xml new file mode 100644 index 000000000000..2dd1e78f7815 --- /dev/null +++ b/games-engines/minetest/metadata.xml @@ -0,0 +1,54 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <longdescription lang="en"> + Minetest is an infinite-world block sandbox game and a game + engine, inspired by InfiniMiner, Minecraft and the like. It has + been in development and use since October 2010. + + It is Free and Open Source Software, released under the LGPL 2.1 + or later, available for Windows, Mac OS X and Linux. + + Minetest is developed by a random bunch of lunatics. + + Minetest is designed to be simple, stable and portable. It is + lightweight enough to run on fairly old hardware. It currently + runs playably on a laptop with Intel 945GM graphics. Though, as + for the CPU, dualcore is recommended. + + Features + * Walk around, dig and build in an infinite voxel world, + and craft stuff from raw materials to help you along the way. + * Simplistic Modding API that supports many kinds of additions + and modifications to the game. + * Multiplayer support for tens of players, via servers hosted by + users. + * Voxel based lighting with gameplay consequences + (light caves and buildings with torches) + * Almost infinite world and a beautiful map generator. + * Runs natively on Windows, Linux, OS X and FreeBSD. + * Supports multiple languages, translated by the community. + </longdescription> + <maintainer type="person"> + <email>marecki@gentoo.org</email> + <name>Marek Szuba</name> + </maintainer> + <maintainer type="project"> + <email>games@gentoo.org</email> + <name>Gentoo Games Project</name> + </maintainer> + <use> + <flag name="client">Build Minetest client</flag> + <flag name="leveldb">Enable LevelDB backend</flag> + <flag name="prometheus">Enable prometheus client support</flag> + <flag name="redis">Enable redis backend via <pkg>dev-libs/hiredis</pkg></flag> + <flag name="server">Build Minetest server</flag> + <flag name="spatial">Enable SpatialIndex AreaStore backend + </flag> + </use> + <upstream> + <bugs-to>https://github.com/minetest/minetest/issues</bugs-to> + <doc lang="en">https://wiki.minetest.net/Main_Page</doc> + <remote-id type="github">minetest/minetest</remote-id> + </upstream> +</pkgmetadata> diff --git a/games-engines/minetest/minetest-5.7.0-r2.ebuild b/games-engines/minetest/minetest-5.7.0-r2.ebuild new file mode 100644 index 000000000000..c34a0a5a97d6 --- /dev/null +++ b/games-engines/minetest/minetest-5.7.0-r2.ebuild @@ -0,0 +1,151 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CMAKE_BUILD_TYPE="Release" +LUA_COMPAT=( lua5-1 luajit ) + +inherit cmake flag-o-matic lua-single systemd xdg + +DESCRIPTION="A free open-source voxel game engine with easy modding and game creation" +HOMEPAGE="https://www.minetest.net" +SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="LGPL-2.1+ CC-BY-SA-3.0 OFL-1.1 Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~riscv" +IUSE="+client +curl doc leveldb ncurses nls postgres prometheus redis +server +sound spatial test" + +REQUIRED_USE="${LUA_REQUIRED_USE} + || ( client server )" + +RESTRICT="!test? ( test )" + +# Use bundled PUC Lua if lua5-1 has been requested requested due to C++ +# interoperability issues, at least until Bug #825766 has been resolved anyway. +RDEPEND="lua_single_target_luajit? ( ${LUA_DEPS} ) + app-arch/zstd + dev-db/sqlite:3 + dev-libs/gmp:0= + dev-libs/jsoncpp:= + sys-libs/zlib + client? ( + ~dev-games/irrlicht-mt-1.9.0.10 + media-libs/freetype:2 + media-libs/libpng:0= + media-libs/libjpeg-turbo + virtual/opengl + x11-libs/libX11 + x11-libs/libXxf86vm + sound? ( + media-libs/libvorbis + media-libs/openal + ) + ) + curl? ( net-misc/curl ) + leveldb? ( dev-libs/leveldb:= ) + ncurses? ( sys-libs/ncurses:0= ) + nls? ( virtual/libintl ) + postgres? ( >=dev-db/postgresql-9.5:= ) + prometheus? ( dev-cpp/prometheus-cpp ) + redis? ( dev-libs/hiredis:= ) + server? ( + acct-group/minetest + acct-user/minetest + ~dev-games/irrlicht-mt-headers-1.9.0.10 + ) + spatial? ( sci-libs/libspatialindex:= )" +DEPEND="${RDEPEND}" +BDEPEND=" + doc? ( + app-doc/doxygen + media-gfx/graphviz + ) + nls? ( sys-devel/gettext )" + +PATCHES=( + "${FILESDIR}"/${PN}-5.7.0-no_upstream_optflags.patch +) + +src_prepare() { + cmake_src_prepare + + # To avoid TEXTRELs on riscv + append-flags -fPIC +} + +src_configure() { + local mycmakeargs=( + -DBUILD_CLIENT=$(usex client) + -DBUILD_SERVER=$(usex server) + -DBUILD_UNITTESTS=$(usex test) + -DCUSTOM_BINDIR="${EPREFIX}/usr/bin" + -DCUSTOM_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" + -DCUSTOM_EXAMPLE_CONF_DIR="${EPREFIX}/usr/share/doc/${PF}" + -DCUSTOM_LOCALEDIR="${EPREFIX}/usr/share/${PN}/locale" + -DCUSTOM_MANDIR="${EPREFIX}/usr/share/man" + -DCUSTOM_SHAREDIR="${EPREFIX}/usr/share/${PN}" + -DENABLE_CURL=$(usex curl) + -DENABLE_CURSES=$(usex ncurses) + -DENABLE_GETTEXT=$(usex nls) + -DENABLE_GLES=no + -DENABLE_LEVELDB=$(usex leveldb) + -DENABLE_LUAJIT=$(usex lua_single_target_luajit) + -DENABLE_POSTGRESQL=$(usex postgres) + -DENABLE_PROMETHEUS=$(usex prometheus) + -DENABLE_REDIS=$(usex redis) + -DENABLE_SPATIAL=$(usex spatial) + -DENABLE_SOUND=$(usex sound) + -DENABLE_SYSTEM_GMP=1 + -DENABLE_SYSTEM_JSONCPP=1 + -DENABLE_UPDATE_CHECKER=no + -DRUN_IN_PLACE=0 + ) + + cmake_src_configure +} + +src_compile() { + cmake_src_compile + + if use doc; then + cmake_src_compile doc + HTML_DOCS=( "${BUILD_DIR}"/doc/html/. ) + fi +} + +src_install() { + cmake_src_install + + if use server; then + keepdir /etc/${PN} + fowners root:${PN} /etc/${PN} + fperms 2750 /etc/${PN} + + keepdir /var/log/${PN} + fowners ${PN}:${PN} /var/log/${PN} + + newconfd "${FILESDIR}"/${PN}server.confd ${PN}-server + newinitd "${FILESDIR}"/${PN}server.initd ${PN}-server + + systemd_newunit "${FILESDIR}"/${PN}server_default.service ${PN}-server.service + systemd_newunit "${FILESDIR}"/${PN}server_template.service ${PN}-server@.service + + insinto /etc/logrotate.d + newins "${FILESDIR}"/${PN}server.logrotate ${PN}-server + fi +} + +pkg_postinst() { + xdg_pkg_postinst + + elog "Since 5.7.0-r2 new ${PN} configurations no longer check if newer versions are available upstream," + elog "a feature unnecessary when ${PN} is installed using distro packages." + elog "To disable this check for existing configurations open the file ~/.minetest/minetest.conf" + elog "in a text editor while ${PN} is not running, locate the keyword 'update_last_checked'," + elog "and change that line to say:" + elog + elog " update_last_checked = disabled" + elog +} diff --git a/games-engines/minetest/minetest-5.8.0.ebuild b/games-engines/minetest/minetest-5.8.0.ebuild new file mode 100644 index 000000000000..dad33027e5a5 --- /dev/null +++ b/games-engines/minetest/minetest-5.8.0.ebuild @@ -0,0 +1,150 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CMAKE_BUILD_TYPE="Release" +LUA_COMPAT=( lua5-1 luajit ) + +inherit cmake flag-o-matic lua-single systemd xdg + +DESCRIPTION="A free open-source voxel game engine with easy modding and game creation" +HOMEPAGE="https://www.minetest.net" +SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="LGPL-2.1+ CC-BY-SA-3.0 OFL-1.1 Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~riscv" +IUSE="+client +curl doc leveldb ncurses nls postgres prometheus redis +server +sound spatial test" + +REQUIRED_USE="${LUA_REQUIRED_USE} + || ( client server )" + +RESTRICT="!test? ( test )" + +# Use bundled PUC Lua if lua5-1 has been requested requested due to C++ +# interoperability issues, at least until Bug #825766 has been resolved anyway. +RDEPEND="lua_single_target_luajit? ( ${LUA_DEPS} ) + app-arch/zstd + dev-db/sqlite:3 + dev-libs/gmp:0= + dev-libs/jsoncpp:= + sys-libs/zlib + client? ( + ~dev-games/irrlicht-mt-1.9.0.13 + media-libs/freetype:2 + media-libs/libpng:0= + media-libs/libjpeg-turbo + virtual/opengl + x11-libs/libX11 + x11-libs/libXxf86vm + sound? ( + media-libs/libvorbis + media-libs/openal + ) + ) + curl? ( net-misc/curl ) + leveldb? ( dev-libs/leveldb:= ) + ncurses? ( sys-libs/ncurses:0= ) + nls? ( virtual/libintl ) + postgres? ( >=dev-db/postgresql-9.5:= ) + prometheus? ( dev-cpp/prometheus-cpp ) + redis? ( dev-libs/hiredis:= ) + server? ( + acct-group/minetest + acct-user/minetest + ~dev-games/irrlicht-mt-headers-1.9.0.13 + ) + spatial? ( sci-libs/libspatialindex:= )" +DEPEND="${RDEPEND}" +BDEPEND=" + doc? ( + app-doc/doxygen + media-gfx/graphviz + ) + nls? ( sys-devel/gettext )" + +PATCHES=( + "${FILESDIR}"/${PN}-5.7.0-no_upstream_optflags.patch +) + +src_prepare() { + cmake_src_prepare + + # To avoid TEXTRELs on riscv + append-flags -fPIC +} + +src_configure() { + local mycmakeargs=( + -DBUILD_CLIENT=$(usex client) + -DBUILD_SERVER=$(usex server) + -DBUILD_UNITTESTS=$(usex test) + -DCUSTOM_BINDIR="${EPREFIX}/usr/bin" + -DCUSTOM_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" + -DCUSTOM_EXAMPLE_CONF_DIR="${EPREFIX}/usr/share/doc/${PF}" + -DCUSTOM_LOCALEDIR="${EPREFIX}/usr/share/${PN}/locale" + -DCUSTOM_MANDIR="${EPREFIX}/usr/share/man" + -DCUSTOM_SHAREDIR="${EPREFIX}/usr/share/${PN}" + -DENABLE_CURL=$(usex curl) + -DENABLE_CURSES=$(usex ncurses) + -DENABLE_GETTEXT=$(usex nls) + -DENABLE_LEVELDB=$(usex leveldb) + -DENABLE_LUAJIT=$(usex lua_single_target_luajit) + -DENABLE_POSTGRESQL=$(usex postgres) + -DENABLE_PROMETHEUS=$(usex prometheus) + -DENABLE_REDIS=$(usex redis) + -DENABLE_SPATIAL=$(usex spatial) + -DENABLE_SOUND=$(usex sound) + -DENABLE_SYSTEM_GMP=1 + -DENABLE_SYSTEM_JSONCPP=1 + -DENABLE_UPDATE_CHECKER=no + -DRUN_IN_PLACE=0 + ) + + cmake_src_configure +} + +src_compile() { + cmake_src_compile + + if use doc; then + cmake_src_compile doc + HTML_DOCS=( "${BUILD_DIR}"/doc/html/. ) + fi +} + +src_install() { + cmake_src_install + + if use server; then + keepdir /etc/${PN} + fowners root:${PN} /etc/${PN} + fperms 2750 /etc/${PN} + + keepdir /var/log/${PN} + fowners ${PN}:${PN} /var/log/${PN} + + newconfd "${FILESDIR}"/${PN}server.confd ${PN}-server + newinitd "${FILESDIR}"/${PN}server.initd ${PN}-server + + systemd_newunit "${FILESDIR}"/${PN}server_default.service ${PN}-server.service + systemd_newunit "${FILESDIR}"/${PN}server_template.service ${PN}-server@.service + + insinto /etc/logrotate.d + newins "${FILESDIR}"/${PN}server.logrotate ${PN}-server + fi +} + +pkg_postinst() { + xdg_pkg_postinst + + elog "Since 5.7.0-r2 new ${PN} configurations no longer check if newer versions are available upstream," + elog "a feature unnecessary when ${PN} is installed using distro packages." + elog "To disable this check for existing configurations open the file ~/.minetest/minetest.conf" + elog "in a text editor while ${PN} is not running, locate the keyword 'update_last_checked'," + elog "and change that line to say:" + elog + elog " update_last_checked = disabled" + elog +} |