Fix Dockerfile
parent
eefe2561f2
commit
3394d495fe
11
Dockerfile
11
Dockerfile
|
@ -14,12 +14,13 @@ WORKDIR /app
|
||||||
|
|
||||||
# Add extra build dependencies here
|
# Add extra build dependencies here
|
||||||
RUN apt-get update && apt install -yqq \
|
RUN apt-get update && apt install -yqq \
|
||||||
cmake gcc-aarch64-linux-gnu binutils-aarch64-linux-gnu libpq-dev
|
cmake gcc-aarch64-linux-gnu binutils-aarch64-linux-gnu libpq-dev curl bzip2
|
||||||
|
|
||||||
# Manually compile an arm64 build of libpq
|
# Manually compile an arm64 build of libpq
|
||||||
RUN wget https://ftp.postgresql.org/pub/source/v16.4/postgresql-16.4.tar.bz2 && \
|
ENV PGVER=16.4
|
||||||
tar xjf postgresql-16.4.tar.bz2 && \
|
RUN curl -o postgresql.tar.bz2 https://ftp.postgresql.org/pub/source/v${PGVER}/postgresql-${PGVER}.tar.bz2 && \
|
||||||
cd postgresql-16.4 && \
|
tar xjf postgresql.tar.bz2 && \
|
||||||
|
cd postgresql-${PGVER} && \
|
||||||
./configure --host=aarch64-linux-gnu --enable-shared --disable-static --without-readline --without-zlib --without-icu && \
|
./configure --host=aarch64-linux-gnu --enable-shared --disable-static --without-readline --without-zlib --without-icu && \
|
||||||
cd src/interfaces/libpq && \
|
cd src/interfaces/libpq && \
|
||||||
make
|
make
|
||||||
|
@ -32,7 +33,7 @@ RUN rustup target add x86_64-unknown-linux-gnu aarch64-unknown-linux-gnu
|
||||||
RUN --mount=type=cache,target=/usr/local/cargo/registry \
|
RUN --mount=type=cache,target=/usr/local/cargo/registry \
|
||||||
--mount=type=cache,target=/app/target \
|
--mount=type=cache,target=/app/target \
|
||||||
cargo build --release --target=x86_64-unknown-linux-gnu && \
|
cargo build --release --target=x86_64-unknown-linux-gnu && \
|
||||||
RUSTFLAGS='-L /app/postgresql-16.4/src/interfaces/libpq -C linker=aarch64-linux-gnu-gcc' cargo build --release --target=aarch64-unknown-linux-gnu && \
|
RUSTFLAGS="-L /app/postgresql-${PGVER}/src/interfaces/libpq -C linker=aarch64-linux-gnu-gcc" cargo build --release --target=aarch64-unknown-linux-gnu && \
|
||||||
# Copy the executables outside of /target as it'll get unmounted after this RUN command
|
# Copy the executables outside of /target as it'll get unmounted after this RUN command
|
||||||
cp /app/target/x86_64-unknown-linux-gnu/release/spoticord /app/x86_64 && \
|
cp /app/target/x86_64-unknown-linux-gnu/release/spoticord /app/x86_64 && \
|
||||||
cp /app/target/aarch64-unknown-linux-gnu/release/spoticord /app/aarch64
|
cp /app/target/aarch64-unknown-linux-gnu/release/spoticord /app/aarch64
|
||||||
|
|
Loading…
Reference in New Issue