quickjs-tart

quickjs-based runtime for wallet-core logic
Log | Files | Refs | README | LICENSE

commit edd05644115f94cc939d869b09f30b92be7c1ddb
parent 14196de504e4dcacb9bebddf837a9aa25c687f8c
Author: Iván Ávalos <avalos@disroot.org>
Date:   Tue, 17 Mar 2026 09:05:33 +0100

add README to subprojects/

Diffstat:
Asubprojects/README.md | 95+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 95 insertions(+), 0 deletions(-)

diff --git a/subprojects/README.md b/subprojects/README.md @@ -0,0 +1,95 @@ +# Upgrading a subproject + +Some of the subprojects in this directory are using hand-written Meson +build files, which must be kept in sync with the official ones. In +order to upgrade a dependency, it is advisable to check for breaking +changes in the API and build configuration, adjust the code +accordingly, and then follow the instructions below: + +## Pre-upgrade + +### 1. Download and extract the latest tarball, e.g. + +``` +subprojects/ +├── libsodium/ +└── libsodium-stable/ +``` + +## Upgrade + +### libsodium + +#### 1. Copy meson files to extracted tarball + +``` +$ find libsodium/ -name '*meson*' +libsodium/src/libsodium/include/sodium/meson.build +libsodium/meson.build +libsodium/meson_options.txt +``` + +#### 2. Copy `checkprogs` subdirectory + +``` +cp -r libsodium/checkprogs/ libsodium-stable/ +``` + +#### 2. Copy the files into the extracted tarball + +#### 3. Compare `src/libsodium/Makefile.am` and update source files + +Including the architecture specific ones! + +#### 4. Bump major and minor versions in main `meson.build` + +```meson +conf_data = configuration_data() +conf_data.set('VERSION', '1.0.20') +conf_data.set('SODIUM_LIBRARY_VERSION_MAJOR', 26) +conf_data.set('SODIUM_LIBRARY_VERSION_MINOR', 2) +conf_data.set('SODIUM_LIBRARY_MINIMAL_DEF', '') +subdir('src/libsodium/include/sodium') +``` + +They should match the ones in `src/Interop/Interop.Version.cs`. + +### curl + +#### 1. Copy meson files to extracted tarball + +``` +$ find curl/ -name '*meson*' +libsodium/meson.build +``` + +#### 2. Compare `lib/Makefile.inc` and update source files in `meson.build` + +## Post-upgrade + +### 1. Swap the directories, e.g. + +``` +mv libsodium/ libsodium.old/ +mv libsodium-stable/ libsodium/ +``` + +### 2. Test that compilation succeeds (and runs) for all platforms + +``` +# linux +meson setup build +meson compile -C build + +# android +./cross/package-android.sh all + +# ios +./cross/package-ios.sh +``` + +### 3. Delete the old version, e.g. + +``` +rm -rf libsodium.old/ +```