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
|
||||||
*/cov
|
*/cov
|
||||||
*.profraw
|
*.profraw
|
||||||
bin/*
|
build/*
|
||||||
!bin/README.md
|
!build/README.md
|
||||||
!bin/*.sh
|
!build/*.sh
|
||||||
|
!build/Dockerfile.*
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@ features = [ "tui", "dsl" ]
|
||||||
#git = "https://codeberg.org/unspeaker/rust-jack"
|
#git = "https://codeberg.org/unspeaker/rust-jack"
|
||||||
#rev = "a13c1c4"
|
#rev = "a13c1c4"
|
||||||
path = "./deps/rust-jack"
|
path = "./deps/rust-jack"
|
||||||
default-features = false
|
#default-features = false
|
||||||
|
|
||||||
[workspace.dependencies]
|
[workspace.dependencies]
|
||||||
tek = { path = "./crates/app" }
|
tek = { path = "./crates/app" }
|
||||||
|
|
|
||||||
|
|
@ -56,8 +56,8 @@ requires docker
|
||||||
```
|
```
|
||||||
git clone https://codeberg.org/unspeaker/tek # obtain source
|
git clone https://codeberg.org/unspeaker/tek # obtain source
|
||||||
cd tek # enter directory
|
cd tek # enter directory
|
||||||
cat bin/release.sh # preview build script
|
cat bin/release-glibc.sh # preview build script
|
||||||
sudo bin/release.sh # run build script
|
sudo bin/release-glibc.sh # run build script
|
||||||
sudo cp bin/tek /usr/local/bin/tek # install
|
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
|
FROM docker.io/library/alpine:edge
|
||||||
|
|
||||||
RUN apk add --no-cache \
|
RUN apk add --no-cache build-base bash tree rustup git just cloc clang20-dev pipewire-jack-dev
|
||||||
build-base bash tree rustup git just cloc clang20-dev \
|
|
||||||
pipewire-jack-dev lilv-dev serd-dev
|
|
||||||
|
|
||||||
RUN adduser -Du1000 build
|
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
|
#!/usr/bin/env sh
|
||||||
set -exo pipefail
|
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 \
|
time docker run \
|
||||||
-itu0 \
|
--rm -itu0 \
|
||||||
-v .:/build -w /build \
|
-v .:/build -w /build \
|
||||||
-vtek-build-cargo:/home/build/.cargo \
|
-vtek-build-cargo:/home/build/.cargo \
|
||||||
-vtek-build-target:/build/target \
|
-vtek-build-target:/build/target \
|
||||||
-eRUST_JACK_DLOPEN=true \
|
-eRUST_JACK_DLOPEN=true \
|
||||||
tek $@
|
tek:musl $@
|
||||||
|
|
@ -1,13 +1,14 @@
|
||||||
#!/usr/bin/env sh
|
#!/usr/bin/env sh
|
||||||
set -exo pipefail
|
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 \
|
time docker run \
|
||||||
-itu0 \
|
--rm -itu0 \
|
||||||
-v .:/build -w /build \
|
-v .:/build -w /build \
|
||||||
-vtek-build-cargo:/home/build/.cargo \
|
-vtek-build-cargo:/home/build/.cargo \
|
||||||
-vtek-build-target:/build/target \
|
-vtek-build-target:/build/target \
|
||||||
-eRUST_JACK_DLOPEN=true \
|
-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 \
|
&& su build -c 'source ~/.cargo/env \
|
||||||
&& just build-release \
|
&& 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>,
|
#[arg(short='R', long)] right_to: Vec<String>,
|
||||||
}
|
}
|
||||||
#[derive(Debug, Clone, Subcommand)] pub enum Mode {
|
#[derive(Debug, Clone, Subcommand)] pub enum Mode {
|
||||||
/// A standalone transport clock.
|
/// ⏯️ A standalone transport clock.
|
||||||
Clock,
|
Clock,
|
||||||
/// A MIDI sequencer.
|
/// 🎼 A MIDI sequencer.
|
||||||
Sequencer,
|
Sequencer,
|
||||||
/// A MIDI-controlled audio sampler.
|
/// 🎺 A MIDI-controlled audio sampler.
|
||||||
Sampler,
|
Sampler,
|
||||||
/// Sequencer and sampler together.12
|
/// 📻 Sequencer and sampler together.
|
||||||
Groovebox,
|
Groovebox,
|
||||||
/// Multi-track MIDI sequencer.
|
/// 🎧 Multi-track MIDI sequencer.
|
||||||
Arranger {
|
Arranger {
|
||||||
/// Number of scenes
|
/// Number of scenes
|
||||||
#[arg(short = 'y', long, default_value_t = 4)] scenes: usize,
|
#[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