commit:     a4796f71b766356f0c8b000829e6dfad4cf095f0
Author:     Filip Kobierski <fkobi <AT> pm <DOT> me>
AuthorDate: Thu Sep 19 09:01:11 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Oct  4 08:27:17 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a4796f71

games-engines/minetest: add 5.9.1 with improvements

- actually run tests
- remove dependencies on irrlicht-mt (code merged to main repo)

Signed-off-by: Filip Kobierski <fkobi <AT> pm.me>
Closes: https://github.com/gentoo/gentoo/pull/38574
Signed-off-by: Sam James <sam <AT> gentoo.org>

 games-engines/minetest/Manifest                    |   1 +
 .../minetest-5.9.1-no_upstream_optflags.patch      |  11 ++
 games-engines/minetest/minetest-5.9.1.ebuild       | 152 +++++++++++++++++++++
 3 files changed, 164 insertions(+)

diff --git a/games-engines/minetest/Manifest b/games-engines/minetest/Manifest
index c4a1c4ab944b..ac5a392da215 100644
--- a/games-engines/minetest/Manifest
+++ b/games-engines/minetest/Manifest
@@ -1 +1,2 @@
 DIST minetest-5.8.0.tar.gz 10419348 BLAKE2B 
efe3edde2d3c57cc296b5f84359c24019583e4f70346eafd418da7cbfc334ecbb32c72df085052beaa28f8f4b4219d7431c150c20d511fc41c0809cdbad227f1
 SHA512 
0b376ecc051032ccb542f2f76e2b1f5c351b32f1c211027825b1538095f44cb1447cd0976cb85a4cde4ecb53873bcb9f3778799271ed65b038a031dc137c2aba
+DIST minetest-5.9.1.tar.gz 11957091 BLAKE2B 
a4bffdeb8e77761fa156ba646b75c216517055031f8437fef7faeb7693d51e5356927383bdb934c30b4bf6f546b7e65ce46e517456c8d55973c64f7e94227635
 SHA512 
e4a03cd7f0a745f0571dd3e9701ddf48e079c59dc0bf0c59ecf756151d03a82422213e7198f359e93852b83111430e2db8c2f5f92020b3244f64e197fd51c93c

diff --git 
a/games-engines/minetest/files/minetest-5.9.1-no_upstream_optflags.patch 
b/games-engines/minetest/files/minetest-5.9.1-no_upstream_optflags.patch
new file mode 100644
index 000000000000..e386bc6b2ba3
--- /dev/null
+++ b/games-engines/minetest/files/minetest-5.9.1-no_upstream_optflags.patch
@@ -0,0 +1,11 @@
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -847,7 +847,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/minetest-5.9.1.ebuild 
b/games-engines/minetest/minetest-5.9.1.ebuild
new file mode 100644
index 000000000000..ed8fd75d30ab
--- /dev/null
+++ b/games-engines/minetest/minetest-5.9.1.ebuild
@@ -0,0 +1,152 @@
+# Copyright 1999-2024 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? (
+               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
+       )
+       spatial? ( sci-libs/libspatialindex:= )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+       doc? (
+               app-text/doxygen
+               media-gfx/graphviz
+       )
+       nls? ( sys-devel/gettext )"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-5.9.1-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_test() {
+       "${S}"/bin/./minetest --run-unittests || die
+}
+
+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}[email protected]
+
+               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
+}

Reply via email to