Add TDLib packaging and release scripts
This commit is contained in:
50
README.md
Normal file
50
README.md
Normal file
@@ -0,0 +1,50 @@
|
||||
# shinoa-tdlib
|
||||
|
||||
Prebuilt TDLib bundles used by `shinoa`.
|
||||
|
||||
## Bundle Format
|
||||
|
||||
Release assets are expected to contain a top-level `tdlib/` directory with:
|
||||
|
||||
- `tdlib/include/`
|
||||
- `tdlib/lib/`
|
||||
|
||||
At minimum, the app build expects:
|
||||
|
||||
- `tdlib/include/td/telegram/td_json_client.h`
|
||||
- `tdlib/include/td/telegram/tdjson_export.h`
|
||||
- `tdlib/lib/libtdjson.so`
|
||||
- `tdlib/lib/libtdjson.so.<soname>`
|
||||
|
||||
## Build Locally
|
||||
|
||||
Build and install TDLib somewhere on your local machine:
|
||||
|
||||
```bash
|
||||
cmake -S /path/to/tdlib -B td-build \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX="$PWD/td-install"
|
||||
cmake --build td-build -j"$(nproc)"
|
||||
cmake --install td-build
|
||||
```
|
||||
|
||||
Package it into the expected archive format:
|
||||
|
||||
```bash
|
||||
./scripts/package-tdlib.sh td-install tdlib-linux-x86_64.tar.gz
|
||||
```
|
||||
|
||||
## Publish Release
|
||||
|
||||
Publish the archive and checksum to a versioned release tag derived from the TDLib soname,
|
||||
for example `v1.8.63`:
|
||||
|
||||
```bash
|
||||
./scripts/publish-release.sh tdlib-linux-x86_64.tar.gz
|
||||
```
|
||||
|
||||
By default the script derives the tag from the archive contents. You can override it:
|
||||
|
||||
```bash
|
||||
RELEASE_TAG=v1.8.63 ./scripts/publish-release.sh tdlib-linux-x86_64.tar.gz
|
||||
```
|
||||
Reference in New Issue
Block a user