git: dbade9f054ef - main - www/nift: Fix build

From: Vladimir Druzenko <vvd_at_FreeBSD.org>
Date: Fri, 25 Jul 2025 13:46:49 UTC
The branch main has been updated by vvd:

URL: https://cgit.FreeBSD.org/ports/commit/?id=dbade9f054efe783b74f6de1052da4f6964e984a

commit dbade9f054efe783b74f6de1052da4f6964e984a
Author:     Mamadou Babaei <info@babaei.net>
AuthorDate: 2025-07-25 13:37:01 +0000
Commit:     Vladimir Druzenko <vvd@FreeBSD.org>
CommitDate: 2025-07-25 13:37:01 +0000

    www/nift: Fix build
    
    - Fix build:
    In file included from Expr.cpp:1:
    In file included from ./Expr.h:8:
    ./exprtk/exprtk.h:6343:49: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw]
     6343 |             expression_node<T>::ndb_t::template collect(branch_, node_delete_list);
          |                                                 ^
    Upstream pull request: https://github.com/nifty-site-manager/nsm/pull/38
    
    - Fix bug:
    nsm.cpp:1455:20: warning: overlapping comparisons always evaluate to false [-Wtautological-overlap-compare]
     1455 |                         if(noParams < 2 && noParams > 5)
          |                            ~~~~~~~~~~~~~^~~~~~~~~~~~~~~
    1 warning generated.
    Upstream pull request: https://github.com/nifty-site-manager/nsm/pull/39
    
    - Make the choice of Lua implementation more intuitive.
    - Run the strip command once for all binaries.
    
    PR:             288379
    MFH:            2025Q3
    Co-authored-by: Vladimir Druzenko <vvd@FreeBSD.org>
---
 www/nift/Makefile                    |  22 ++++----
 www/nift/files/patch-exprtk_exprtk.h | 101 +++++++++++++++++++++++++++++++++++
 www/nift/files/patch-nsm.cpp         |  11 ++++
 3 files changed, 123 insertions(+), 11 deletions(-)

diff --git a/www/nift/Makefile b/www/nift/Makefile
index dbd897314055..ddac5881c67b 100644
--- a/www/nift/Makefile
+++ b/www/nift/Makefile
@@ -1,7 +1,7 @@
 PORTNAME=	nift
 DISTVERSIONPREFIX=	v
 DISTVERSION=	3.0.3
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	www
 
 MAINTAINER=	info@babaei.net
@@ -16,23 +16,23 @@ USE_GITHUB=	yes
 GH_ACCOUNT=	nifty-site-manager
 GH_PROJECT=	nsm
 
+MAKE_ARGS=	BUNDLED=0
+
 PLIST_FILES=	bin/nift \
 		bin/nsm
 
-OPTIONS_DEFINE=		LUAJIT
 OPTIONS_DEFAULT=	LUAJIT
+OPTIONS_SINGLE=		LUAIMPL
+OPTIONS_SINGLE_LUAIMPL=	LUAJIT LUA
+LUAIMPL_DESC=		Lua implementation
 LUAJIT_DESC=		Use the Just-In-Time compiler for lua
 LUAJIT_USES=		luajit
-LUAJIT_USE_OFF=		lua
-LUAJIT_MAKE_ARGS=	BUNDLED=0 LUAJIT_VERSION=${LUAJIT_LUAVER}
-LUAJIT_MAKE_ARGS_OFF=	BUNDLED=0 LUA_VERSION=${LUA_VER}
-
-.if empty(PORT_OPTIONS:MLUAJIT)
-USES+=		lua
-.endif
+LUAJIT_MAKE_ARGS=	LUAJIT_VERSION=${LUAJIT_LUAVER}
+LUA_USES=		lua
+LUA_MAKE_ARGS=		LUA_VERSION=${LUA_VER}
 
 post-install:
-	${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/nift
-	${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/nsm
+	${STRIP_CMD}	${STAGEDIR}${PREFIX}/bin/nift \
+			${STAGEDIR}${PREFIX}/bin/nsm
 
 .include <bsd.port.mk>
diff --git a/www/nift/files/patch-exprtk_exprtk.h b/www/nift/files/patch-exprtk_exprtk.h
new file mode 100644
index 000000000000..c46b67ea8b6f
--- /dev/null
+++ b/www/nift/files/patch-exprtk_exprtk.h
@@ -0,0 +1,101 @@
+--- exprtk/exprtk.h.orig	2024-01-13 12:54:06 UTC
++++ exprtk/exprtk.h
+@@ -6340,7 +6340,7 @@ namespace exprtk
+ 
+          void collect_nodes(typename expression_node<T>::noderef_list_t& node_delete_list)
+          {
+-            expression_node<T>::ndb_t::template collect(branch_, node_delete_list);
++            expression_node<T>::ndb_t::collect(branch_, node_delete_list);
+          }
+ 
+          std::size_t node_depth() const
+@@ -6400,7 +6400,7 @@ namespace exprtk
+ 
+          void collect_nodes(typename expression_node<T>::noderef_list_t& node_delete_list)
+          {
+-            expression_node<T>::ndb_t::template collect(branch_, node_delete_list);
++            expression_node<T>::ndb_t::collect(branch_, node_delete_list);
+          }
+ 
+          std::size_t node_depth() const
+@@ -6463,7 +6463,7 @@ namespace exprtk
+ 
+          void collect_nodes(typename expression_node<T>::noderef_list_t& node_delete_list)
+          {
+-            expression_node<T>::ndb_t::template collect(branch_, node_delete_list);
++            expression_node<T>::ndb_t::collect(branch_, node_delete_list);
+          }
+ 
+          std::size_t node_depth() const
+@@ -6507,7 +6507,7 @@ namespace exprtk
+ 
+          void collect_nodes(typename expression_node<T>::noderef_list_t& node_delete_list)
+          {
+-            expression_node<T>::ndb_t::template collect(branch_, node_delete_list);
++            expression_node<T>::ndb_t::collect(branch_, node_delete_list);
+          }
+ 
+          std::size_t node_depth() const
+@@ -7782,7 +7782,7 @@ namespace exprtk
+ 
+          void collect_nodes(typename expression_node<T>::noderef_list_t& node_delete_list)
+          {
+-            expression_node<T>::ndb_t::template collect(index_, node_delete_list);
++            expression_node<T>::ndb_t::collect(index_, node_delete_list);
+          }
+ 
+          std::size_t node_depth() const
+@@ -11992,7 +11992,7 @@ namespace exprtk
+ 
+          void collect_nodes(typename expression_node<T>::noderef_list_t& node_delete_list)
+          {
+-            expression_node<T>::ndb_t::template collect(branch_, node_delete_list);
++            expression_node<T>::ndb_t::collect(branch_, node_delete_list);
+          }
+ 
+          std::size_t node_depth() const
+@@ -15283,7 +15283,7 @@ namespace exprtk
+ 
+          void collect_nodes(typename expression_node<T>::noderef_list_t& node_delete_list)
+          {
+-            expression_node<T>::ndb_t::template collect(branch_, node_delete_list);
++            expression_node<T>::ndb_t::collect(branch_, node_delete_list);
+          }
+ 
+          std::size_t node_depth() const
+@@ -15339,7 +15339,7 @@ namespace exprtk
+ 
+          void collect_nodes(typename expression_node<T>::noderef_list_t& node_delete_list)
+          {
+-            expression_node<T>::ndb_t::template collect(branch_, node_delete_list);
++            expression_node<T>::ndb_t::collect(branch_, node_delete_list);
+          }
+ 
+          std::size_t node_depth() const
+@@ -15406,7 +15406,7 @@ namespace exprtk
+ 
+          void collect_nodes(typename expression_node<T>::noderef_list_t& node_delete_list)
+          {
+-            expression_node<T>::ndb_t::template collect(branch_, node_delete_list);
++            expression_node<T>::ndb_t::collect(branch_, node_delete_list);
+          }
+ 
+          std::size_t node_depth() const
+@@ -15473,7 +15473,7 @@ namespace exprtk
+ 
+          void collect_nodes(typename expression_node<T>::noderef_list_t& node_delete_list)
+          {
+-            expression_node<T>::ndb_t::template collect(branch_, node_delete_list);
++            expression_node<T>::ndb_t::collect(branch_, node_delete_list);
+          }
+ 
+          std::size_t node_depth() const
+@@ -16040,7 +16040,7 @@ namespace exprtk
+ 
+          void collect_nodes(typename expression_node<T>::noderef_list_t& node_delete_list)
+          {
+-            expression_node<T>::ndb_t::template collect(branch_, node_delete_list);
++            expression_node<T>::ndb_t::collect(branch_, node_delete_list);
+          }
+ 
+          std::size_t node_depth() const
diff --git a/www/nift/files/patch-nsm.cpp b/www/nift/files/patch-nsm.cpp
new file mode 100644
index 000000000000..63cf40647dae
--- /dev/null
+++ b/www/nift/files/patch-nsm.cpp
@@ -0,0 +1,11 @@
+--- nsm.cpp.orig	2024-01-13 12:54:06 UTC
++++ nsm.cpp
+@@ -1452,7 +1452,7 @@ int main(int argc, const char* argv[])
+ 		else if(cmd == "watch")
+ 		{
+ 			//ensures correct number of parameters given
+-			if(noParams < 2 && noParams > 5)
++			if(noParams < 2 || noParams > 5)
+ 				return parError(noParams, argv, "2-5");
+ 
+ 			WatchList wl;