summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Gsänger2020-09-23 18:29:21 +0200
committerSebastian Gsänger2020-09-23 18:29:21 +0200
commit515eba2aec83a5dd5ffa3e3cfc7fca495fc2595f (patch)
treea493afa4fe0803575b12d2b6e3cf8d967ff14c18
downloadaur-515eba2aec83a5dd5ffa3e3cfc7fca495fc2595f.tar.gz
initial commit
-rw-r--r--.SRCINFO23
-rw-r--r--0001-Rename-kernels.patch30
-rw-r--r--0002-Use-llvm-from-cling.patch82
-rw-r--r--PKGBUILD56
4 files changed, 191 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..74f5220670b9
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,23 @@
+pkgbase = xeus-cling
+ pkgdesc = A C++ jupyter kernel based on xeus and cling
+ pkgver = 0.10.0
+ pkgrel = 1
+ url = https://github.com/jupyter-xeus/xeus-cling
+ arch = x86_64
+ license = BSD
+ depends = xtl
+ depends = xproperty
+ depends = xeus
+ depends = nlohmann-json
+ depends = jupyter
+ depends = jupyter-widgetsnbextension
+ depends = cling-dev
+ source = https://github.com/jupyter-xeus/xeus-cling/archive/0.10.0.tar.gz
+ source = 0001-Rename-kernels.patch
+ source = 0002-Use-llvm-from-cling.patch
+ md5sums = f81624ee2777dacfa5507bd448c174b5
+ md5sums = e03c81c3701e4f0dea249955051c2ddf
+ md5sums = 30e86ddf8e4996352eb456e12ec686bb
+
+pkgname = xeus-cling
+
diff --git a/0001-Rename-kernels.patch b/0001-Rename-kernels.patch
new file mode 100644
index 000000000000..b00b83d5abd6
--- /dev/null
+++ b/0001-Rename-kernels.patch
@@ -0,0 +1,30 @@
+diff --unified --recursive --text xeus-cling-0.10.0/share/jupyter/kernels/xcpp11/kernel.json.in xeus-cling-0.10.0-fixed/share/jupyter/kernels/xcpp11/kernel.json.in
+--- xeus-cling-0.10.0/share/jupyter/kernels/xcpp11/kernel.json.in 2020-08-29 00:08:47.000000000 +0200
++++ xeus-cling-0.10.0-fixed/share/jupyter/kernels/xcpp11/kernel.json.in 2020-09-23 17:42:44.849674536 +0200
+@@ -1,5 +1,5 @@
+ {
+- "display_name": "C++11",
++ "display_name": "C++11 (xeus)",
+ "argv": [
+ "@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_BINDIR@/xcpp",
+ "-f",
+diff --unified --recursive --text xeus-cling-0.10.0/share/jupyter/kernels/xcpp14/kernel.json.in xeus-cling-0.10.0-fixed/share/jupyter/kernels/xcpp14/kernel.json.in
+--- xeus-cling-0.10.0/share/jupyter/kernels/xcpp14/kernel.json.in 2020-08-29 00:08:47.000000000 +0200
++++ xeus-cling-0.10.0-fixed/share/jupyter/kernels/xcpp14/kernel.json.in 2020-09-23 17:42:54.722971891 +0200
+@@ -1,5 +1,5 @@
+ {
+- "display_name": "C++14",
++ "display_name": "C++14 (xeus)",
+ "argv": [
+ "@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_BINDIR@/xcpp",
+ "-f",
+diff --unified --recursive --text xeus-cling-0.10.0/share/jupyter/kernels/xcpp17/kernel.json.in xeus-cling-0.10.0-fixed/share/jupyter/kernels/xcpp17/kernel.json.in
+--- xeus-cling-0.10.0/share/jupyter/kernels/xcpp17/kernel.json.in 2020-08-29 00:08:47.000000000 +0200
++++ xeus-cling-0.10.0-fixed/share/jupyter/kernels/xcpp17/kernel.json.in 2020-09-23 17:43:03.549606392 +0200
+@@ -1,5 +1,5 @@
+ {
+- "display_name": "C++17",
++ "display_name": "C++17 (xeus)",
+ "argv": [
+ "@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_BINDIR@/xcpp",
+ "-f",
diff --git a/0002-Use-llvm-from-cling.patch b/0002-Use-llvm-from-cling.patch
new file mode 100644
index 000000000000..d23a03be7294
--- /dev/null
+++ b/0002-Use-llvm-from-cling.patch
@@ -0,0 +1,82 @@
+diff --unified --recursive --text xeus-cling-0.10.0/CMakeLists.txt xeus-cling-0.10.0-fixed/CMakeLists.txt
+--- xeus-cling-0.10.0/CMakeLists.txt 2020-08-29 00:08:47.000000000 +0200
++++ xeus-cling-0.10.0-fixed/CMakeLists.txt 2020-09-23 17:00:45.525608638 +0200
+@@ -46,58 +46,6 @@
+ "${CMAKE_CURRENT_SOURCE_DIR}/share/jupyter/kernels/xcpp17/kernel.json"
+ )
+
+-#######################
+-# Rely on llvm-config #
+-#######################
+-
+-set(CONFIG_OUTPUT)
+-find_program(LLVM_CONFIG "llvm-config")
+-if(LLVM_CONFIG)
+- message(STATUS "Found LLVM_CONFIG as ${LLVM_CONFIG}")
+- set(CONFIG_COMMAND ${LLVM_CONFIG}
+- "--assertion-mode"
+- "--bindir"
+- "--libdir"
+- "--includedir"
+- "--prefix"
+- "--src-root")
+- execute_process(COMMAND ${CONFIG_COMMAND}
+- RESULT_VARIABLE HAD_ERROR
+- OUTPUT_VARIABLE CONFIG_OUTPUT)
+- if(NOT HAD_ERROR)
+- string(REGEX REPLACE
+- "[ \t]*[\r\n]+[ \t]*" ";"
+- CONFIG_OUTPUT ${CONFIG_OUTPUT})
+- else()
+- string(REPLACE ";" " " CONFIG_COMMAND_STR "${CONFIG_COMMAND}")
+- message(STATUS "${CONFIG_COMMAND_STR}")
+- message(FATAL_ERROR "llvm-config failed with status ${HAD_ERROR}")
+- endif()
+-else()
+- message(FATAL_ERROR "llvm-config not found -- ${LLVM_CONFIG}")
+-endif()
+-
+-list(GET CONFIG_OUTPUT 0 ENABLE_ASSERTIONS)
+-list(GET CONFIG_OUTPUT 1 TOOLS_BINARY_DIR)
+-list(GET CONFIG_OUTPUT 2 LIBRARY_DIR)
+-list(GET CONFIG_OUTPUT 3 INCLUDE_DIR)
+-list(GET CONFIG_OUTPUT 4 LLVM_OBJ_ROOT)
+-list(GET CONFIG_OUTPUT 5 MAIN_SRC_DIR)
+-
+-if(NOT MSVC_IDE)
+- set(LLVM_ENABLE_ASSERTIONS ${ENABLE_ASSERTIONS} CACHE BOOL "Enable assertions")
+- mark_as_advanced(LLVM_ENABLE_ASSERTIONS)
+-endif()
+-
+-set(LLVM_TOOLS_BINARY_DIR ${TOOLS_BINARY_DIR} CACHE PATH "Path to llvm/bin")
+-set(LLVM_LIBRARY_DIR ${LIBRARY_DIR} CACHE PATH "Path to llvm/lib")
+-set(LLVM_MAIN_INCLUDE_DIR ${INCLUDE_DIR} CACHE PATH "Path to llvm/include")
+-set(LLVM_BINARY_DIR ${LLVM_OBJ_ROOT} CACHE PATH "Path to LLVM build tree")
+-set(LLVM_MAIN_SRC_DIR ${MAIN_SRC_DIR} CACHE PATH "Path to LLVM source tree")
+-
+-include_directories(${LLVM_MAIN_INCLUDE_DIR})
+-link_directories(${LLVM_LIBRARY_DIR})
+-add_definitions(-DLLVM_DIR="${LLVM_BINARY_DIR}")
+
+ ################
+ # Dependencies #
+@@ -110,8 +58,10 @@
+ find_package(cppzmq ${cppzmq_REQUIRED_VERSION} REQUIRED)
+ find_package(pugixml REQUIRED)
+
+-find_package(Clang REQUIRED)
+ find_package(Cling REQUIRED)
++find_package(Clang REQUIRED)
++find_package(LLVM REQUIRED)
++add_definitions(-DLLVM_DIR="${LLVM_INSTALL_PREFIX}")
+ find_package(cxxopts REQUIRED)
+
+ #########
+@@ -228,6 +178,7 @@
+
+ target_include_directories(xeus-cling
+ PUBLIC
++ $<BUILD_INTERFACE:${LLVM_INCLUDE_DIR}>
+ $<BUILD_INTERFACE:${XEUS_CLING_INCLUDE_DIR}>
+ $<INSTALL_INTERFACE:include>)
+ target_link_libraries(xeus-cling PUBLIC clingInterpreter clingMetaProcessor clingUtils xeus pugixml cxxopts::cxxopts)
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..682335b7677c
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,56 @@
+# Maintainer: Sebastian Gsänger <sebastian_gsaenger@web.de>
+pkgname=xeus-cling
+pkgver=0.10.0
+pkgrel=1
+pkgdesc="A C++ jupyter kernel based on xeus and cling"
+arch=('x86_64')
+url="https://github.com/jupyter-xeus/xeus-cling"
+license=('BSD')
+depends=('xtl' 'xproperty' 'xeus' 'nlohmann-json'
+ 'jupyter' 'jupyter-widgetsnbextension'
+ 'cling-dev')
+makedepends=()
+source=("https://github.com/jupyter-xeus/$pkgname/archive/$pkgver.tar.gz"
+ "0001-Rename-kernels.patch"
+ "0002-Use-llvm-from-cling.patch")
+md5sums=('f81624ee2777dacfa5507bd448c174b5'
+ 'e03c81c3701e4f0dea249955051c2ddf'
+ '30e86ddf8e4996352eb456e12ec686bb')
+
+prepare() {
+ cd "$pkgname-$pkgver"
+
+ local src
+ for src in "${source[@]}"; do
+ src="${src%%::*}"
+ src="${src##*/}"
+ [[ $src = *.patch ]] || continue
+ echo "Applying patch $src..."
+ patch -Np1 < "../$src"
+ done
+}
+
+build() {
+ cd "$pkgname-$pkgver"
+ mkdir build
+ cd build
+
+ cmake \
+ -GNinja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DClang_DIR=/opt/cling/lib/cmake/clang \
+ ..
+
+ cmake --build .
+}
+
+package() {
+ cd "$pkgname-$pkgver"
+
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+
+ cd "build"
+
+ DESTDIR="$pkgdir" cmake --build . -t install
+}