Skip to content

Commit 08b6827

Browse files
Add xeus-cpp (#937)
* Add xeus-cpp
1 parent 8a2636c commit 08b6827

File tree

3 files changed

+116
-0
lines changed

3 files changed

+116
-0
lines changed
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
BSD 3-Clause License
2+
3+
Copyright (c) 2023-2024, xeus-cpp contributors
4+
5+
All rights reserved.
6+
7+
Redistribution and use in source and binary forms, with or without
8+
modification, are permitted provided that the following conditions are met:
9+
10+
* Redistributions of source code must retain the above copyright notice, this
11+
list of conditions and the following disclaimer.
12+
13+
* Redistributions in binary form must reproduce the above copyright notice,
14+
this list of conditions and the following disclaimer in the documentation
15+
and/or other materials provided with the distribution.
16+
17+
* Neither the name of the copyright holder nor the names of its
18+
contributors may be used to endorse or promote products derived from
19+
this software without specific prior written permission.
20+
21+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25+
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28+
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29+
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
mkdir build
2+
cd build
3+
4+
export CMAKE_PREFIX_PATH=$PREFIX
5+
export CMAKE_SYSTEM_PREFIX_PATH=$PREFIX
6+
7+
if [[ $target_platform == "emscripten-wasm32" ]]; then
8+
export USE_WASM=ON
9+
else
10+
export USE_WASM=OFF
11+
fi
12+
13+
ls $PREFIX/lib
14+
echo "BUILDING"
15+
16+
# Configure step
17+
emcmake cmake ${CMAKE_ARGS} -S .. -B . \
18+
-DCMAKE_BUILD_TYPE=Release \
19+
-DCMAKE_PREFIX_PATH=$PREFIX \
20+
-DCMAKE_INSTALL_PREFIX=$PREFIX \
21+
-DXEUS_CPP_EMSCRIPTEN_WASM_BUILD=$USE_WASM \
22+
-DCMAKE_FIND_ROOT_PATH_MODE_PACKAGE=ON \
23+
-DCMAKE_CXX_FLAGS="-Dwait4=__syscall_wait4" \
24+
-DCMAKE_VERBOSE_MAKEFILE=ON
25+
26+
# Build step
27+
EMCC_CFLAGS='-sERROR_ON_UNDEFINED_SYMBOLS=0' emmake make -j1
28+
29+
# Install step
30+
emmake make install
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
context:
2+
version: 0.4.0
3+
4+
package:
5+
name: xeus-cpp
6+
version: ${{ version }}
7+
8+
source:
9+
url: https://github.com/compiler-research/xeus-cpp/archive/refs/tags/${{ version }}.tar.gz
10+
sha256: 28b07534ff322ebe17fab1997cdf60d0fb811ee1d7fd518742a5d0d157e70e25
11+
12+
build:
13+
number: 0
14+
15+
requirements:
16+
build:
17+
- ${{ compiler("cxx") }}
18+
- cmake
19+
- make # [unix]
20+
host:
21+
- nlohmann_json
22+
- xeus-lite <2.0
23+
- xeus >=3.0.5,<4.0
24+
- xtl >=0.7,<0.8
25+
- cpp-argparse
26+
- pugixml
27+
- CppInterOp
28+
29+
30+
tests:
31+
- script:
32+
- test -f $PREFIX/bin/xcpp.wasm
33+
- test -f $PREFIX/bin/xcpp.js
34+
- test -f $PREFIX/share/jupyter/kernels/xcpp/kernel.json
35+
- test -f $PREFIX/share/jupyter/kernels/xcpp/logo-32x32.png
36+
- test -f $PREFIX/share/jupyter/kernels/xcpp/logo-64x64.png
37+
38+
about:
39+
license: BSD-3-Clause
40+
license_family: BSD-3
41+
license_file: LICENSE.TXT
42+
homepage: https://github.com/compiler-research/xeus-cpp
43+
repository: https://github.com/compiler-research/xeus-cpp
44+
documentation: https://github.com/compiler-research/xeus-cpp
45+
summary: |
46+
xeus-cpp is a Jupyter kernel for C++
47+
description: |
48+
xeus-cpp is a Jupyter kernel for cpp based on the native implementation
49+
of the Jupyter protocol xeus.
50+
51+
extra:
52+
recipe-maintainers:
53+
- alexander-penev
54+
- vgvassilev
55+
- DerThorsten
56+
- anutosh491

0 commit comments

Comments
 (0)