Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 21 Aug 2023 17:13:21 GMT
From:      Po-Chuan Hsieh <sunpoet@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 29873d969e02 - main - net/xprobe: Fix build with Clang 16 and remove the workaround
Message-ID:  <202308211713.37LHDL39098278@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by sunpoet:

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

commit 29873d969e02af4315ba32ac52ae43c9d6597040
Author:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
AuthorDate: 2023-08-21 17:03:00 +0000
Commit:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
CommitDate: 2023-08-21 17:03:00 +0000

    net/xprobe: Fix build with Clang 16 and remove the workaround
    
    random_shuffle has bee deprecated in C++14 and removed since C++17. Use shuffle instead.
    
    target.cc:373:3: error: use of undeclared identifier 'random_shuffle'
                    random_shuffle(ports.begin(), ports.end());
                    ^
    5 warnings and 1 error generated.
    
    Tested on:      14.0-CURRENT (1400093)
---
 net/xprobe/Makefile                  |  9 ---------
 net/xprobe/files/patch-src-target.cc | 29 +++++++++++++++++++++++++++++
 2 files changed, 29 insertions(+), 9 deletions(-)

diff --git a/net/xprobe/Makefile b/net/xprobe/Makefile
index 8c4f775f0f1e..dbc8e5015808 100644
--- a/net/xprobe/Makefile
+++ b/net/xprobe/Makefile
@@ -14,15 +14,6 @@ LICENSE_FILE=	${WRKSRC}/COPYING
 CONFIGURE_ENV=	INSTALL=${INSTALL}
 GNU_CONFIGURE=	yes
 
-.include <bsd.port.options.mk>
-
-.if ${OPSYS} == FreeBSD && ( ${OSVERSION} >= 1400091 || ( ${OSVERSION} >= 1302505 && ${OSVERSION} < 1400000 ))
-USES+=	llvm:max=15
-CC=	clang${LLVM_VERSION}
-CPP=	clang-cpp${LLVM_VERSION}
-CXX=	clang++${LLVM_VERSION}
-.endif
-
 post-patch:
 	@${REINPLACE_CMD} -e 's|-DBROKEN_BSD||' ${WRKSRC}/libs-external/USI++/src/configure
 
diff --git a/net/xprobe/files/patch-src-target.cc b/net/xprobe/files/patch-src-target.cc
new file mode 100644
index 000000000000..21f32bb807d4
--- /dev/null
+++ b/net/xprobe/files/patch-src-target.cc
@@ -0,0 +1,29 @@
+--- src/target.cc.orig	2005-07-27 08:38:17 UTC
++++ src/target.cc
+@@ -28,6 +28,8 @@
+ #include "os_matrix.h"
+ #include "xplib/xplib.h"
+ #include "log.h"
++#include <algorithm>
++#include <random>
+ 
+ extern Interface *ui;
+ extern Xprobe_Module_Hdlr   *xmh;
+@@ -363,6 +365,8 @@ void Port_Range::set_range(u_short a, u_short b) {
+ 
+ int Port_Range::get_next(u_short *port) {
+ 	int k, sz=size();
++	std::random_device rd;
++	std::mt19937 g(rd());
+ 	
+ 	if (curr+low > high)
+ 		return 1;
+@@ -370,7 +373,7 @@ int Port_Range::get_next(u_short *port) {
+ 		// initialize
+ 		for (k=0; k < sz; k++) 
+ 			ports.push_back(low + k);
+-		random_shuffle(ports.begin(), ports.end());
++		std::shuffle(ports.begin(), ports.end(), g);
+ 		*port = ports[curr++];
+ 	} else 
+ 		*port = ports[curr++];



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202308211713.37LHDL39098278>