git clone git@github.com:pastelnetwork/pastel-lite.git
cd pastel-lite
git submodule update --init --recursive
sudo apt install cmake
brew install cmake
choco install cmake
git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh
cd vcpkg
bootstrap-vcpkg.bat
The 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/vcpkg
git clone https://github.com/emscripten-core/emsdk.git
cd emsdk
./emsdk install latest
./emsdk activate latest
git clone https://github.com/emscripten-core/emsdk.git
cd emsdk
emsdk install latest
emsdk activate latest
Add Emscripten
to your PATH
environment variable.
export PATH=$PATH:/Users/name/emsdk/upstream/emscripten/
cd pastel-light
vcpkg install
vcpkg
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.sh
docker 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.whl
sudo 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