diff options
Diffstat (limited to 'games-engines')
-rw-r--r-- | games-engines/minetest/Manifest | 1 | ||||
-rw-r--r-- | games-engines/minetest/files/minetest-5.9.1-no_upstream_optflags.patch | 11 | ||||
-rw-r--r-- | games-engines/minetest/minetest-5.9.1.ebuild | 152 |
3 files changed, 164 insertions, 0 deletions
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}-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 +} |