From 4bb7d14bbe959c884dfe3a370927211b0593e6d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 18 Sep 2019 22:02:10 +0200 Subject: [PATCH] gnu: Add Xeus. * gnu/packages/jupyter.scm (xeus): New variable. --- gnu/packages/jupyter.scm | 56 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 55 insertions(+), 1 deletion(-) diff --git a/gnu/packages/jupyter.scm b/gnu/packages/jupyter.scm index a7ca0a9913..7ec987b2a4 100644 --- a/gnu/packages/jupyter.scm +++ b/gnu/packages/jupyter.scm @@ -21,11 +21,18 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) + #:use-module (guix build-system cmake) #:use-module (guix build-system python) #:use-module (gnu packages check) + #:use-module (gnu packages cpp) + #:use-module (gnu packages linux) + #:use-module (gnu packages networking) + #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) - #:use-module (gnu packages time)) + #:use-module (gnu packages serialization) + #:use-module (gnu packages time) + #:use-module (gnu packages tls)) (define-public python-jupyter-protocol (package @@ -133,3 +140,50 @@ tests kernels for successful code execution and conformance with the @uref{https://jupyter-client.readthedocs.io/en/latest/messaging.html, Jupyter Messaging Protocol}.") (license license:bsd-3))) + +(define-public xeus + (package + (name "xeus") + (version "0.23.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/QuantStack/xeus.git") + (commit version))) + (sha256 + (base32 + "1m1b6z1538r7mv2ggn7bdbd9570ja7cadplq64zl8rgl2c8vdi2a")) + (file-name (git-file-name name version)))) + (build-system cmake-build-system) + (arguments + '(#:configure-flags '("-DBUILD_STATIC_LIBS=OFF" + "-DDISABLE_ARCH_NATIVE=ON" ;no '-march=native' + "-DBUILD_TESTING=ON"))) + (native-inputs + `(("pkg-config" ,pkg-config) + + ;; The following inputs are used by the test suite. + ("googletest" ,googletest) + ("python-pytest" ,python-pytest) + ("python" ,python-3) + ("python-jupyter-kernel-test" ,python-jupyter-kernel-test) + ("python-jupyter-client" ,python-jupyter-client))) + (inputs + `(("xtl" ,xtl) + ("nlohmann-json-cpp" ,nlohmann-json-cpp) + ("cppzmq" ,cppzmq) + ("zeromq" ,zeromq) + ("openssl" ,openssl) + ("util-linux" ,util-linux))) ;libuuid + (home-page "https://quantstack.net/xeus") + (synopsis "C++ implementation of the Jupyter Kernel protocol") + (description + "@code{xeus} is a library meant to facilitate the implementation of +kernels for Jupyter. It takes the burden of implementing the Jupyter Kernel +protocol so developers can focus on implementing the interpreter part of the +kernel. + +Several Jupyter kernels are built upon @code{xeus}, such as @code{xeus-cling}, +a kernel for the C++ programming language, and @code{xeus-python}, an +alternative Python kernel for Jupyter.") + (license license:bsd-3)))