mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-06 03:36:41 +01:00
glibc static build
This commit is contained in:
parent
393634a1a4
commit
59372911d2
12 changed files with 62 additions and 22 deletions
7
.gitignore
vendored
7
.gitignore
vendored
|
|
@ -6,6 +6,7 @@ example.mid
|
|||
cov
|
||||
*/cov
|
||||
*.profraw
|
||||
bin/*
|
||||
!bin/README.md
|
||||
!bin/*.sh
|
||||
build/*
|
||||
!build/README.md
|
||||
!build/*.sh
|
||||
!build/Dockerfile.*
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ features = [ "tui", "dsl" ]
|
|||
#git = "https://codeberg.org/unspeaker/rust-jack"
|
||||
#rev = "a13c1c4"
|
||||
path = "./deps/rust-jack"
|
||||
default-features = false
|
||||
#default-features = false
|
||||
|
||||
[workspace.dependencies]
|
||||
tek = { path = "./crates/app" }
|
||||
|
|
|
|||
|
|
@ -56,8 +56,8 @@ requires docker
|
|||
```
|
||||
git clone https://codeberg.org/unspeaker/tek # obtain source
|
||||
cd tek # enter directory
|
||||
cat bin/release.sh # preview build script
|
||||
sudo bin/release.sh # run build script
|
||||
cat bin/release-glibc.sh # preview build script
|
||||
sudo bin/release-glibc.sh # run build script
|
||||
sudo cp bin/tek /usr/local/bin/tek # install
|
||||
```
|
||||
|
||||
|
|
|
|||
14
build/Dockerfile.glibc
Normal file
14
build/Dockerfile.glibc
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
FROM docker.io/library/debian:bookworm
|
||||
RUN apt update \
|
||||
&& apt install -y build-essential bash tree git wget \
|
||||
pkg-config libjack-dev liblilv-dev libserd-dev libsord-dev
|
||||
RUN adduser --quiet --uid 1000 --disabled-password build
|
||||
RUN wget https://static.rust-lang.org/rustup/dist/x86_64-unknown-linux-gnu/rustup-init \
|
||||
&& chmod +x ./rustup-init \
|
||||
&& mv rustup-init /usr/bin/rustup-init
|
||||
USER build
|
||||
WORKDIR /home/build
|
||||
RUN rustup-init -yv --profile minimal --default-toolchain nightly \
|
||||
&& rm -rvf "$HOME/.rustup/roolchains/*/share"
|
||||
RUN ls -alh "$HOME" && bash -c '. "$HOME/.cargo/env" \
|
||||
&& cargo version -vv'
|
||||
|
|
@ -1,8 +1,6 @@
|
|||
FROM docker.io/library/alpine:edge
|
||||
|
||||
RUN apk add --no-cache \
|
||||
build-base bash tree rustup git just cloc clang20-dev \
|
||||
pipewire-jack-dev lilv-dev serd-dev
|
||||
RUN apk add --no-cache build-base bash tree rustup git just cloc clang20-dev pipewire-jack-dev
|
||||
|
||||
RUN adduser -Du1000 build
|
||||
|
||||
11
build/release-glibc-shell.sh
Executable file
11
build/release-glibc-shell.sh
Executable file
|
|
@ -0,0 +1,11 @@
|
|||
#!/usr/bin/env sh
|
||||
set -exo pipefail
|
||||
docker inspect tek:glibc || time docker build --cache-from=internal \
|
||||
-f build/Dockerfile.glibc -t tek:glibc .
|
||||
time docker run \
|
||||
--rm -itu0 \
|
||||
-v .:/build -w /build \
|
||||
-vtek-build-cargo:/home/build/.cargo \
|
||||
-vtek-build-target:/build/target \
|
||||
-eRUST_JACK_DLOPEN=true \
|
||||
tek:glibc $@
|
||||
14
build/release-glibc.sh
Executable file
14
build/release-glibc.sh
Executable file
|
|
@ -0,0 +1,14 @@
|
|||
#!/usr/bin/env sh
|
||||
set -exo pipefail
|
||||
docker inspect tek:glibc || time docker build --cache-from=internal \
|
||||
-f build/Dockerfile.glibc -t tek:glibc .
|
||||
time docker run \
|
||||
--rm -itu0 \
|
||||
-v .:/build -w /build \
|
||||
-vtek-build-cargo:/home/build/.cargo \
|
||||
-vtek-build-target:/build/target \
|
||||
-eRUST_JACK_DLOPEN=true \
|
||||
tek:glibc sh -c "chown -R 1000:1000 /build/target \
|
||||
&& su build -c '. ~/.cargo/env \
|
||||
&& time cargo build -j4 --release \
|
||||
&& cp target/release/tek build/'"
|
||||
|
|
@ -1,10 +1,11 @@
|
|||
#!/usr/bin/env sh
|
||||
set -exo pipefail
|
||||
docker inspect tek || time docker build --cache-from=internal -t tek .
|
||||
docker inspect tek:musl || time docker build --cache-from=internal \
|
||||
-f build/Dockerfile.musl -t tek:musl .
|
||||
time docker run \
|
||||
-itu0 \
|
||||
--rm -itu0 \
|
||||
-v .:/build -w /build \
|
||||
-vtek-build-cargo:/home/build/.cargo \
|
||||
-vtek-build-target:/build/target \
|
||||
-eRUST_JACK_DLOPEN=true \
|
||||
tek $@
|
||||
tek:musl $@
|
||||
|
|
@ -1,13 +1,14 @@
|
|||
#!/usr/bin/env sh
|
||||
set -exo pipefail
|
||||
docker inspect tek || time docker build --cache-from=internal -t tek .
|
||||
docker inspect tek:musl || time docker build --cache-from=internal \
|
||||
-f build/Dockerfile.musl -t tek:musl .
|
||||
time docker run \
|
||||
-itu0 \
|
||||
--rm -itu0 \
|
||||
-v .:/build -w /build \
|
||||
-vtek-build-cargo:/home/build/.cargo \
|
||||
-vtek-build-target:/build/target \
|
||||
-eRUST_JACK_DLOPEN=true \
|
||||
tek sh -c "chown -R 1000:1000 /build/target \
|
||||
tek:musl sh -c "chown -R 1000:1000 /build/target \
|
||||
&& su build -c 'source ~/.cargo/env \
|
||||
&& just build-release \
|
||||
&& cp target/release/tek bin/'"
|
||||
&& cp target/release/tek build/'"
|
||||
|
|
@ -38,15 +38,15 @@ pub struct Cli {
|
|||
#[arg(short='R', long)] right_to: Vec<String>,
|
||||
}
|
||||
#[derive(Debug, Clone, Subcommand)] pub enum Mode {
|
||||
/// A standalone transport clock.
|
||||
/// ⏯️ A standalone transport clock.
|
||||
Clock,
|
||||
/// A MIDI sequencer.
|
||||
/// 🎼 A MIDI sequencer.
|
||||
Sequencer,
|
||||
/// A MIDI-controlled audio sampler.
|
||||
/// 🎺 A MIDI-controlled audio sampler.
|
||||
Sampler,
|
||||
/// Sequencer and sampler together.12
|
||||
/// 📻 Sequencer and sampler together.
|
||||
Groovebox,
|
||||
/// Multi-track MIDI sequencer.
|
||||
/// 🎧 Multi-track MIDI sequencer.
|
||||
Arranger {
|
||||
/// Number of scenes
|
||||
#[arg(short = 'y', long, default_value_t = 4)] scenes: usize,
|
||||
|
|
|
|||
2
deps/tengri
vendored
2
deps/tengri
vendored
|
|
@ -1 +1 @@
|
|||
Subproject commit 1daca5ea7b286d95ffb1c9c14b513e0cbe641965
|
||||
Subproject commit 51d2692704d394044f668bfccfe81a22444e6265
|
||||
Loading…
Add table
Add a link
Reference in a new issue