git: d30bba805f67 - main - devel/xeus-cling: un-remove

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Tue, 06 Oct 2026 20:28:23 UTC
The branch main has been updated by yuri:

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

commit d30bba805f6787d6df500ccd19c6ab4338a61552
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2026-10-06 20:16:41 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2026-10-06 20:28:21 +0000

    devel/xeus-cling: un-remove
    
    I have a patch to fix it pending the dependency patch: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=299000
    
    This reverts commit 0d826e43df9d4838eb46e7541eeb583b135e4942.
---
 MOVED                                       |  1 -
 devel/Makefile                              |  1 +
 devel/xeus-cling/Makefile                   | 39 +++++++++++++++++++++++++++++
 devel/xeus-cling/distinfo                   |  3 +++
 devel/xeus-cling/files/patch-CMakeLists.txt | 11 ++++++++
 devel/xeus-cling/files/patch-src_xpaths.cpp | 22 ++++++++++++++++
 devel/xeus-cling/pkg-descr                  |  6 +++++
 devel/xeus-cling/pkg-plist                  | 31 +++++++++++++++++++++++
 8 files changed, 113 insertions(+), 1 deletion(-)

diff --git a/MOVED b/MOVED
index b99cfab5002e..bdf8771c0197 100644
--- a/MOVED
+++ b/MOVED
@@ -5721,7 +5721,6 @@ science/serac|science/smith|2026-10-04|Project renamed upstream
 www/py-dj60-django-stubs-ext|www/py-dj61-django-stubs-ext|2026-10-04|Has expired: 6.0.9 is supposed to be the last 6.0.x release, migrate to www/py-dj61-django-stubs-ext
 devel/cpp-netlib||2026-10-04|Broken for more than a year and upstream is inactive
 devel/eclipse-titan||2026-10-04|Broken for more than a year in tree
-devel/xeus-cling||2026-10-04|Broken for years in tree
 dns/dog||2026-10-04|Broken for years in tree and upstream is inactive
 games/frogatto||2026-10-04|Broken for than a year in tree
 lang/intel-compute-runtime||2026-10-04|Broken for than a year in tree
diff --git a/devel/Makefile b/devel/Makefile
index c297ab22180e..4f3af6c411df 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -8964,6 +8964,7 @@
     SUBDIR += xdgpaths
     SUBDIR += xelfviewer
     SUBDIR += xeus
+    SUBDIR += xeus-cling
     SUBDIR += xeus-zmq
     SUBDIR += xfce4-dev-tools
     SUBDIR += xmake
diff --git a/devel/xeus-cling/Makefile b/devel/xeus-cling/Makefile
new file mode 100644
index 000000000000..59b1b0f83232
--- /dev/null
+++ b/devel/xeus-cling/Makefile
@@ -0,0 +1,39 @@
+PORTNAME=	xeus-cling
+DISTVERSION=	0.8.1
+PORTREVISION=	6
+CATEGORIES=	devel
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	C++ Jupyter Kernel
+WWW=		https://github.com/jupyter-xeus/xeus-cling
+
+LICENSE=	BSD3CLAUSE
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BROKEN=		Doesn't build: xmanager.hpp:125:35: error: no type named 'OptionException' in namespace 'cxxopts'; 0.15.3-5-g93d61b9 also doesn't build due to outdated lang/cling
+
+BUILD_DEPENDS=	cppzmq>0:net/cppzmq \
+		cxxopts>0:devel/cxxopts \
+		llvm-config:lang/cling \
+		nlohmann-json>0:devel/nlohmann-json \
+		xtl-quant-stack>0:devel/xtl-quant-stack
+LIB_DEPENDS=	libclingInterpreter.so:lang/cling \
+		libpugixml.so:textproc/pugixml \
+		libuuid.so:misc/libuuid \
+		libxeus.so:devel/xeus \
+		libzmq.so:net/libzmq4
+
+USES=		cmake compiler:c++14-lang pkgconfig ssl
+USE_GITHUB=	yes
+GH_ACCOUNT=	jupyter-xeus
+USE_LDCONFIG=	yes
+
+LDFLAGS+=	${LOCALBASE}/lib/libLLVMSupport.so ${LOCALBASE}/lib/libclangAST.so -pthread # https://github.com/jupyter-xeus/xeus-cling/issues/234
+
+OPTIONS_DEFINE=		NATIVE
+
+NATIVE_DESC=		Build with native optimizations (-march=native)
+NATIVE_CMAKE_ON=	-DDISABLE_ARCH_NATIVE=OFF
+NATIVE_CMAKE_OFF=	-DDISABLE_ARCH_NATIVE=ON
+
+.include <bsd.port.mk>
diff --git a/devel/xeus-cling/distinfo b/devel/xeus-cling/distinfo
new file mode 100644
index 000000000000..6446cf021231
--- /dev/null
+++ b/devel/xeus-cling/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1583621491
+SHA256 (jupyter-xeus-xeus-cling-0.8.1_GH0.tar.gz) = dcc239ca93e9c80eb283307d70bf83a81bd2b4a029ad0be9f01291476ff730d3
+SIZE (jupyter-xeus-xeus-cling-0.8.1_GH0.tar.gz) = 2212707
diff --git a/devel/xeus-cling/files/patch-CMakeLists.txt b/devel/xeus-cling/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..2e63f5eeef9a
--- /dev/null
+++ b/devel/xeus-cling/files/patch-CMakeLists.txt
@@ -0,0 +1,11 @@
+--- CMakeLists.txt.orig	2019-04-02 06:01:37 UTC
++++ CMakeLists.txt
+@@ -108,7 +108,7 @@ find_package(xeus ${xeus_REQUIRED_VERSIO
+ find_package(cppzmq ${cppzmq_REQUIRED_VERSION} REQUIRED)
+ find_package(pugixml REQUIRED)
+ 
+-find_package(Clang REQUIRED)
++#find_package(Clang REQUIRED)
+ find_package(Cling REQUIRED)
+ find_package(cxxopts REQUIRED)
+ 
diff --git a/devel/xeus-cling/files/patch-src_xpaths.cpp b/devel/xeus-cling/files/patch-src_xpaths.cpp
new file mode 100644
index 000000000000..45f257041599
--- /dev/null
+++ b/devel/xeus-cling/files/patch-src_xpaths.cpp
@@ -0,0 +1,22 @@
+--- src/xpaths.cpp.orig	2019-12-23 15:12:48 UTC
++++ src/xpaths.cpp
+@@ -24,6 +24,10 @@
+ #    undef NOMINMAX
+ #  endif
+ #endif
++#ifdef __FreeBSD__
++#  include <sys/types.h>
++#  include <sys/sysctl.h>
++#endif
+ #ifdef __APPLE__
+ #  include <cstdint>
+ #  include <mach-o/dyld.h>
+@@ -69,7 +73,7 @@ namespace xcpp
+         }
+ #elif defined (__FreeBSD__)
+         int mib[4] = {CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, -1};
+-        if (sysctl(mib, 4, buffer, sizeof(buffer), NULL, 0) != -1)
++        if (sysctl(mib, 4, nullptr, nullptr, buffer, sizeof(buffer)) != -1)
+         {
+             path = buffer;
+         }
diff --git a/devel/xeus-cling/pkg-descr b/devel/xeus-cling/pkg-descr
new file mode 100644
index 000000000000..486f635c4acb
--- /dev/null
+++ b/devel/xeus-cling/pkg-descr
@@ -0,0 +1,6 @@
+xeus-cling is a Jupyter kernel for C++ based on the C++ interpreter cling and
+the native implementation of the Jupyter protocol xeus.
+
+In order to use xeus-cling, please launch the jupyter notebook with jupyter
+notebook and launch a new C++ notebook by selecting the C++14 kernel in the new
+dropdown.
diff --git a/devel/xeus-cling/pkg-plist b/devel/xeus-cling/pkg-plist
new file mode 100644
index 000000000000..2936bd529e39
--- /dev/null
+++ b/devel/xeus-cling/pkg-plist
@@ -0,0 +1,31 @@
+bin/xcpp
+%%ETCDIR%%/tags.d/stl.json
+%%ETCDIR%%/tags.d/xtensor.json
+include/xcpp/xdisplay.hpp
+include/xcpp/xmime.hpp
+include/xeus-cling/xbuffer.hpp
+include/xeus-cling/xeus_cling_config.hpp
+include/xeus-cling/xholder_cling.hpp
+include/xeus-cling/xinterpreter.hpp
+include/xeus-cling/xmagics.hpp
+include/xeus-cling/xmanager.hpp
+include/xeus-cling/xoptions.hpp
+include/xeus-cling/xpreamble.hpp
+lib/cmake/xeus-cling/xeus-clingConfig.cmake
+lib/cmake/xeus-cling/xeus-clingConfigVersion.cmake
+lib/cmake/xeus-cling/xeus-clingTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/xeus-cling/xeus-clingTargets.cmake
+lib/libxeus-cling.so
+lib/libxeus-cling.so.0
+lib/libxeus-cling.so.0.8.1
+share/jupyter/kernels/xcpp11/kernel.json
+share/jupyter/kernels/xcpp11/logo-32x32.png
+share/jupyter/kernels/xcpp11/logo-64x64.png
+share/jupyter/kernels/xcpp14/kernel.json
+share/jupyter/kernels/xcpp14/logo-32x32.png
+share/jupyter/kernels/xcpp14/logo-64x64.png
+share/jupyter/kernels/xcpp17/kernel.json
+share/jupyter/kernels/xcpp17/logo-32x32.png
+share/jupyter/kernels/xcpp17/logo-64x64.png
+%%DATADIR%%/tagfiles/cppreference-doxygen-web.tag
+%%DATADIR%%/tagfiles/xtensor.tag