chore: fix static release binaries using zigbuild

main 0.1.0
Jef Roosens 2025-06-06 13:48:45 +02:00
parent 275d249320
commit 82d914ebbb
No known key found for this signature in database
GPG Key ID: 21FD3D77D56BAF49
5 changed files with 32 additions and 14 deletions

View File

@ -14,3 +14,9 @@ edition = "2024"
rand = "0.8.5" rand = "0.8.5"
tracing = "0.1.41" tracing = "0.1.41"
chrono = "0.4.39" chrono = "0.4.39"
[profile.release]
lto = "fat"
codegen-units = 1
panic = "abort"
strip = true

View File

@ -6,15 +6,15 @@ alias b := build
# Build statically linked release binaries for all supported architectures # Build statically linked release binaries for all supported architectures
[group('build')] [group('build')]
build-release-static: build-release-static:
cargo build \ cargo zigbuild \
--release \ --release \
--frozen \ --frozen \
--workspace \ --workspace \
--target 'x86_64-unknown-linux-musl' \ --target 'x86_64-unknown-linux-musl' \
--target 'aarch64-unknown-linux-musl' --target 'aarch64-unknown-linux-musl'
[ "$(readelf -d target/x86_64-unknown-linux-musl/release/otterd | grep NEEDED | wc -l)" = 0 ] [ "$(readelf -d target/x86_64-unknown-linux-musl/release/otter | grep NEEDED | wc -l)" = 0 ]
[ "$(readelf -d target/aarch64-unknown-linux-musl/release/otterd | grep NEEDED | wc -l)" = 0 ] [ "$(readelf -d target/aarch64-unknown-linux-musl/release/otter | grep NEEDED | wc -l)" = 0 ]
test: test:
cargo test --frozen --workspace cargo test --frozen --workspace
@ -38,6 +38,13 @@ fetch:
clean: clean:
cargo clean cargo clean
run:
cargo run \
--bin otter \
-- serve \
-c ./otter.toml \
--log debug
doc: doc:
cargo doc --workspace --frozen cargo doc --workspace --frozen
@ -45,10 +52,10 @@ publish-release-binaries tag: build-release-static
curl \ curl \
--netrc \ --netrc \
--fail \ --fail \
--upload-file target/x86_64-unknown-linux-musl/release/otterd \ --upload-file target/x86_64-unknown-linux-musl/release/otter \
https://git.rustybever.be/api/packages/Chewing_Bever/generic/otter/"{{ tag }}"/otterd-linux-amd64 https://git.rustybever.be/api/packages/Chewing_Bever/generic/otter/"{{ tag }}"/otter-linux-amd64
curl \ curl \
--netrc \ --netrc \
--fail \ --fail \
--upload-file target/aarch64-unknown-linux-musl/release/otterd \ --upload-file target/aarch64-unknown-linux-musl/release/otter \
https://git.rustybever.be/api/packages/Chewing_Bever/generic/otter/"{{ tag }}"/otterd-linux-arm64 https://git.rustybever.be/api/packages/Chewing_Bever/generic/otter/"{{ tag }}"/otter-linux-arm64

View File

@ -6,12 +6,14 @@ Gpodder, suitable for low-power devices.
## Features ## Features
* Implementation of API sections needed for synchronisation * Implementation of API sections needed for synchronization
* Authentication * Authentication
* Devices API * Devices API
* Subscriptions API * Subscriptions API
* Episode actions API * Episode actions API
* Device synchronisation API * Device synchronization API
* Easy-to-use server with flexible configuration
* Can listen on either a TCP or a Unix socket
## Configuration ## Configuration

View File

@ -1,6 +1,9 @@
data_dir = "./data" data_dir = "./data"
domain = "127.0.0.1"
port = 8080
[net] [net]
type = "tcp" # type = "tcp"
# domain = "127.0.0.1"
# port = 8080
type = "unix"
path = "./otter.socket"

View File

@ -1,7 +1,7 @@
[package] [package]
name = "otter" name = "otter"
version = "0.1.0" version.workspace = true
edition = "2021" edition.workspace = true
[dependencies] [dependencies]
gpodder = { path = "../gpodder" } gpodder = { path = "../gpodder" }