diff options
author | Sebastian Gsänger | 2020-09-23 18:29:21 +0200 |
---|---|---|
committer | Sebastian Gsänger | 2020-09-23 18:29:21 +0200 |
commit | 515eba2aec83a5dd5ffa3e3cfc7fca495fc2595f (patch) | |
tree | a493afa4fe0803575b12d2b6e3cf8d967ff14c18 | |
download | aur-515eba2aec83a5dd5ffa3e3cfc7fca495fc2595f.tar.gz |
initial commit
-rw-r--r-- | .SRCINFO | 23 | ||||
-rw-r--r-- | 0001-Rename-kernels.patch | 30 | ||||
-rw-r--r-- | 0002-Use-llvm-from-cling.patch | 82 | ||||
-rw-r--r-- | PKGBUILD | 56 |
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 +} |