commit:     aec691051f5081191dd7a6d7140293c2e2f4410b
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 24 02:53:35 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Dec 24 06:13:07 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aec69105

games-strategy/naev: add 0.12.0

Hopefully not missed anything, not looked *that* closely.

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 games-strategy/naev/Manifest                    |   1 +
 games-strategy/naev/files/naev-0.12.0-nfd.patch |  17 ++++
 games-strategy/naev/naev-0.12.0.ebuild          | 122 ++++++++++++++++++++++++
 3 files changed, 140 insertions(+)

diff --git a/games-strategy/naev/Manifest b/games-strategy/naev/Manifest
index 38f53bafea26..20f86da7a1cd 100644
--- a/games-strategy/naev/Manifest
+++ b/games-strategy/naev/Manifest
@@ -1 +1,2 @@
 DIST naev-0.11.5-source.tar.xz 453774708 BLAKE2B 
36debc50b54c8f8c47851484cba7768242f70eebe1ef24f789c1435ee421ace4767b8be2ffda281162b796100c45882d6d7d8e005415ebbd81f56530831ca827
 SHA512 
de4896f705d020ab2f2c3ffd6c16599365caa8b87dbca6288f9dbcec114e97ee775a03819b958fdd697b1232295c6f6339a89e1b5c6671942efe26ec2d439755
+DIST naev-0.12.0-source.tar.xz 463484668 BLAKE2B 
4fc7a71625090d0b7f846933a26d768adc6ce05bddb6b49b829773c5bcea5ae1ec87026d9f07c1b7ba786f0b80bad9d01a6597e45b1d5f42faa4a371dff3b01c
 SHA512 
1e0700f4ce58740490173f0b2a7e460b43fb269ebeeae54ffc3c8bada73b72fc0860083d2987868dee01b60ec110e7f39099b60367654d4bec04bf9b88ca57e2

diff --git a/games-strategy/naev/files/naev-0.12.0-nfd.patch 
b/games-strategy/naev/files/naev-0.12.0-nfd.patch
new file mode 100644
index 000000000000..0a79232b1750
--- /dev/null
+++ b/games-strategy/naev/files/naev-0.12.0-nfd.patch
@@ -0,0 +1,17 @@
+https://github.com/naev/naev/commit/b63510d4c7aa7126e6472a1f7a2b743000e6f476
+From: Jack Greiner <[email protected]>
+Date: Mon, 23 Dec 2024 16:01:59 -0500
+Subject: [PATCH] meson.build: Fix using local installs of
+ nativefiledialog-extended when building
+
+--- a/meson.build
++++ b/meson.build
+@@ -111,7 +111,7 @@ int main (void) { return 0; }''')
+    yaml = dependency('yaml-0.1', required: true, version: '>=0.2.5', 
fallback: ['libyaml', 'yaml_dep'], static: get_option('steamruntime'))
+ 
+    # TODO replace nfd with SDL3 native functions when possible
+-   nfd = dependency('nativefiledialog-extended', required: true, fallback: 
['nativefiledialog-extended'], static: true)
++   nfd = dependency('nfd', required: true, fallback: 
['nativefiledialog-extended'], static: true)
+ 
+    libxml2 = dependency('libxml-2.0', required: false)
+    if not libxml2.found()

diff --git a/games-strategy/naev/naev-0.12.0.ebuild 
b/games-strategy/naev/naev-0.12.0.ebuild
new file mode 100644
index 000000000000..d1d0dfb99967
--- /dev/null
+++ b/games-strategy/naev/naev-0.12.0.ebuild
@@ -0,0 +1,122 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-1 luajit )
+PYTHON_COMPAT=( python3_{10..13} )
+inherit lua-single meson python-any-r1 virtualx xdg
+
+DESCRIPTION="2D space trading and combat game, in a similar vein to Escape 
Velocity"
+HOMEPAGE="https://naev.org/";
+SRC_URI="https://github.com/naev/naev/releases/download/v${PV}/${P}-source.tar.xz";
+
+LICENSE="
+       GPL-3+
+       Apache-2.0 BSD BSD-2 CC-BY-2.0 CC-BY-3.0 CC-BY-4.0 CC-BY-SA-3.0
+       CC-BY-SA-4.0 CC0-1.0 GPL-2+ MIT OFL-1.1 public-domain
+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc"
+REQUIRED_USE="${LUA_REQUIRED_USE}"
+
+# tests are very basic, equivalent of just starting the game and checking if
+# can see the main menu -- but this breaks easily with software rendering and
+# some Xorg/mesa versions, simpler to do manually than try to keep this working
+RESTRICT="test"
+
+# dlopen: libglvnd
+RDEPEND="
+       ${LUA_DEPS}
+       app-text/cmark:=
+       dev-games/physfs
+       dev-libs/libpcre2:=
+       dev-libs/libunibreak:=
+       dev-libs/libxml2
+       dev-libs/libyaml
+       dev-libs/nativefiledialog-extended
+       media-libs/freetype:2
+       media-libs/libglvnd
+       media-libs/libsdl2[joystick,opengl,video]
+       media-libs/libvorbis
+       media-libs/openal
+       media-libs/sdl2-image[png,webp]
+       net-libs/enet:1.3=
+       sci-libs/cholmod
+       sci-libs/cxsparse
+       sci-libs/openblas
+       sci-libs/suitesparse
+       sci-mathematics/glpk:=
+       virtual/libintl
+"
+DEPEND="
+       ${RDEPEND}
+       test? (
+               dev-games/physfs[zip]
+               media-libs/libsdl2[X]
+       )
+"
+BDEPEND="
+       $(python_gen_any_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]')
+       sys-devel/gettext
+       doc? (
+               app-text/doxygen
+               dev-lua/ldoc
+               media-gfx/graphviz
+       )
+       test? (
+               media-libs/mesa[llvm]
+               x11-base/xorg-server[-minimal]
+       )
+"
+
+PATCHES=(
+       "${FILESDIR}"/${P}-nfd.patch
+)
+
+python_check_deps() {
+       python_has_version "dev-python/pyyaml[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+       lua-single_pkg_setup
+       python-any-r1_pkg_setup
+}
+
+src_prepare() {
+       default
+
+       # use eclass' generated lua.pc first rather than as fallback
+       sed -i "s/'lua51'/'lua'/" meson.build || die
+
+       # don't probe OpenGL for tests (avoids sandbox violations, bug #829369)
+       sed -i "/subdir('glcheck')/d" test/meson.build || die
+}
+
+src_configure() {
+       local emesonargs=(
+               $(meson_feature doc docs_c)
+               $(meson_feature doc docs_lua)
+               $(meson_feature lua_single_target_luajit luajit)
+       )
+
+       meson_src_configure
+}
+
+src_test() {
+       virtx meson_src_test
+}
+
+src_install() {
+       local DOCS=( CHANGELOG Readme.md )
+       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
+}

Reply via email to