git clone git@github.com:pastelnetwork/pastel-lite.git
cd pastel-litegit submodule update --init --recursivesudo apt install cmakebrew install cmakechoco install cmakegit clone https://github.com/Microsoft/vcpkg.gitcd vcpkg
./bootstrap-vcpkg.shcd vcpkg
bootstrap-vcpkg.batThe last command output will be similar to:
CMake projects should use: "-DCMAKE_TOOLCHAIN_FILE=/Users/name/vcpkg/scripts/buildsystems/vcpkg.cmake"Remember that line, you will need it later.
Add vcpkg to your PATH environment variable.
export PATH=$PATH:/Users/name/vcpkggit clone https://github.com/emscripten-core/emsdk.git
cd emsdk
./emsdk install latest
./emsdk activate latestgit clone https://github.com/emscripten-core/emsdk.git
cd emsdk
emsdk install latest
emsdk activate latestAdd Emscripten to your PATH environment variable.
export PATH=$PATH:/Users/name/emsdk/upstream/emscripten/cd pastel-light
vcpkg installvcpkg uses packages described in the vcpkg.json
Currently they are:
libsodium
mkdir build-native-debug
cd build-native-debug
cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_TOOLCHAIN_FILE=<path-to-vcpkg>/scripts/buildsystems/vcpkg.cmake
cmake --build .Replace
<path-to-vcpkg>with the path from step 2.
mkdir build-wasm-debug
cd build-wasm-debug
emcmake cmake .. -DCMAKE_BUILD_TYPE=Debug
emmake cmake --build .docker build -t pastel_python_build -f Dockerfile.python_build .docker run pastel_python_build /src/build_python_package_in_docker.shdocker cp pastel_python_build_container:/src/python_bindings/wheelhouse/libpastelid-0.3.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl . twine upload libpastelid-0.3.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whlsudo add-apt-repository "deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-18 main"
sudo add-apt-repository "deb-src http://apt.llvm.org/jammy/ llvm-toolchain-jammy-18 main"
sudo apt-get install libllvm-18-ocaml-dev libllvm18 llvm-18 llvm-18-dev llvm-18-doc llvm-18-examples llvm-18-runtime
sudo apt-get install libc++-18-dev libc++abi-18-dev
sudo apt-get install clang-18 clang-tools-18 clang-18-doc libclang-common-18-dev libclang-18-dev libclang1-18 clang-format-18 python3-clang-18 clangd-18 clang-tidy-18