commit: 39ce78c1c5ef632d08944e03ee7b58d6220ec3fe
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Feb 5 12:14:31 2026 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Feb 5 16:27:45 2026 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=39ce78c1
games-strategy/naev: add 0.13.3
0.13.x introduces rust usage which is implemented a bit annoyingly with
generated cargo files inside the build dir, this requires partial
compilation (not just meson configure) before can generate the crates
tarball.
Quite possible overlooked something given there is a lot of changes in
the build system and lot of files were moving around making it harder
to spot relevant bits.
Also had to remove the ~x86 keyword due to bindgen, and have no
intention to try to rekeyword. This has become very brittle and unless
seomeone really wants it, would rather keep keywords limited.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
games-strategy/naev/Manifest | 2 +
games-strategy/naev/naev-0.13.3.ebuild | 131 +++++++++++++++++++++++++++++++++
2 files changed, 133 insertions(+)
diff --git a/games-strategy/naev/Manifest b/games-strategy/naev/Manifest
index 04e391fe118c..1b4d5acfaafb 100644
--- a/games-strategy/naev/Manifest
+++ b/games-strategy/naev/Manifest
@@ -1 +1,3 @@
DIST naev-0.12.6-source.tar.xz 466148336 BLAKE2B
3f5e7e9613a711537171ca7b0cf8f190681a2febb94ef1ff9edcc5e4e9f701e9744c4ffbcf958ce8f3bc862214b35bcf2b690f7e3bd15ef7fa3b62dcfe22b21a
SHA512
4d28e9caa26e4c6328b33f17e7c101bc80c6f30540f8d148e7441a9193a3a1a7ee647d501acde7b72b60a9e60ef66774363fdeacefa7c2b7522e278ed44017d2
+DIST naev-0.13.3-source.tar.xz 199298304 BLAKE2B
705b9612fd15ef38bc57aaa2fd6eb59228928df03e6a12de8e1ebd6be649db3e759331517d85a782b83c89cd374cb2e9c6e2a947b902877783eb7480ff6a3604
SHA512
67c9b5674db9d19e4f0d8d26fd81647a2dbdc70e628151738c18e96600be3196d946ad67f65c41f73828f2c0a6b2b9350fb1ad80f3ad4fb749e0a9feeaf099ae
+DIST naev-0.13.3-vendor.tar.xz 39447328 BLAKE2B
bcecb6d19fd3a6d0b5992cf3ff9dab454570ea335fcef1b0c404c356eeabfa7bc2bf4f615addfabe3bd344401c75bbabe45670120774d4063de8339b59bc17d7
SHA512
bac9f55282d444d51837315e32042245655fb052f964d7284d4851d47e99b98b823528137204d9f265facaa4166579af18e623c1a23907053d8f73792a95cec8
diff --git a/games-strategy/naev/naev-0.13.3.ebuild
b/games-strategy/naev/naev-0.13.3.ebuild
new file mode 100644
index 000000000000..81072efefbf7
--- /dev/null
+++ b/games-strategy/naev/naev-0.13.3.ebuild
@@ -0,0 +1,131 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( luajit )
+PYTHON_COMPAT=( python3_{11..14} )
+RUST_MIN_VER=1.89.0
+inherit cargo lua-single meson python-any-r1 xdg
+
+DESCRIPTION="2D space trading and combat game, in a similar vein to Escape
Velocity"
+HOMEPAGE="https://naev.org/"
+# creating the vendor tarball first requires running src_compile until
+# it fails downloading crates in sandbox to generate several cargo files
+SRC_URI="
+
https://codeberg.org/naev/naev/releases/download/v${PV}/${P}-source.tar.xz
+ https://dev.gentoo.org/~ionen/distfiles/${P}-vendor.tar.xz
+"
+
+LICENSE="GPL-3+ BSD BSD-2 MIT"
+LICENSE+="
+ Apache-2.0 CC-BY-2.0 CC-BY-3.0 CC-BY-4.0 CC-BY-SA-2.0 CC-BY-SA-3.0
+ CC-BY-SA-4.0 CC0-1.0 FDL-1.2 GPL-2+ OFL-1.1 public-domain
+" # assets
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0
+ CDLA-Permissive-2.0 IJG ISC MIT MIT-0 MPL-2.0 openssl Unicode-3.0
+ ZLIB
+" # crates
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc"
+REQUIRED_USE="${LUA_REQUIRED_USE}"
+
+# tests been a headache to keep working in sandbox with software GL
+RESTRICT="test"
+
+# dlopen: libglvnd
+RDEPEND="
+ ${LUA_DEPS}
+ app-text/cmark:=
+ dev-games/physfs
+ =dev-libs/libgit2-1.9.2*:=
+ dev-libs/libpcre2:=
+ dev-libs/libunibreak:=
+ dev-libs/libxml2:=
+ dev-libs/openssl:=
+ media-libs/dav1d:=
+ media-libs/freetype:2
+ media-libs/libglvnd
+ media-libs/libsdl3[opengl]
+ media-libs/libvorbis
+ media-libs/openal
+ media-libs/opus
+ net-libs/enet:1.3=
+ net-libs/libssh2
+ sci-libs/cholmod
+ sci-libs/cxsparse
+ sci-libs/openblas
+ sci-libs/suitesparse
+ sci-mathematics/glpk:=
+ virtual/libintl
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ $(python_gen_any_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]')
+ >=dev-build/meson-1.7.0
+ >=dev-util/bindgen-0.72.0
+ sys-devel/gettext
+ doc? (
+ app-text/doxygen
+ dev-lua/ldoc
+ media-gfx/graphviz
+ )
+"
+
+QA_FLAGS_IGNORED="usr/lib.*/libnaev_rlib.so" # rust
+
+python_check_deps() {
+ python_has_version "dev-python/pyyaml[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ lua-single_pkg_setup
+ python-any-r1_pkg_setup
+ rust_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # don't probe OpenGL for tests (avoids sandbox violations, bug #829369)
+ sed -i "/subdir('glcheck')/d" test/meson.build || die
+
+ # meson.build overrides CARGO_HOME, symlink to use our config.toml
+ # (note need to set BUILD_DIR either way due to cargo_env's subshell)
+ BUILD_DIR=${WORKDIR}/${P}-build
+ mkdir -p -- "${BUILD_DIR}" || die
+ ln -s -- "${CARGO_HOME}" "${BUILD_DIR}"/cargo-home || die
+}
+
+src_configure() {
+ export LIBGIT2_NO_VENDOR=1
+ export LIBSSH2_SYS_USE_PKG_CONFIG=1
+
+ local emesonargs=(
+ # *can* do lua5-1 but upstream uses+test luajit most (bug
#946881)
+ -Dluajit=enabled
+ $(meson_feature doc docs_c)
+ $(meson_feature doc docs_lua)
+ )
+
+ cargo_env meson_src_configure
+}
+
+src_compile() {
+ cargo_env meson_src_compile
+}
+
+src_install() {
+ local DOCS=( Changelog.md Readme.md )
+ cargo_env meson_src_install
+
+ if use doc; then
+ dodir /usr/share/doc/${PF}/html
+ mv -- "${ED}"/usr/{doc/naev/{c,lua},share/doc/${PF}/html} || die
+ rm -r -- "${ED}"/usr/doc || die
+ fi
+
+ rm -r -- "${ED}"/usr/share/doc/naev || die
+}