summaryrefslogtreecommitdiffstats
path: root/Dockerfile
blob: 8acb22275d9150b44ac46aa6e67f86ed6e8e5e2c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
FROM alpine

# zig is installed from the upstream tarball, because:
# - as of writing, alpine has zig only in testing (which is cumbersome to use)
# - apk get zig pulls in libllvm, which is huge.
#
# Upstream tarball is statically linked, making it small and convenient to use.
RUN apk add make \
 && wget https://ziglang.org/download/0.11.0/zig-linux-$(uname -m)-0.11.0.tar.xz \
 && tar -xJf zig-linux-*.tar.xz \
 && rm zig-linux-*.xz \
 && mv zig-linux-* zig

WORKDIR inotify-info

COPY . .

RUN CC="/zig/zig cc -target $(uname -m)-linux-musl" \
    CXX="/zig/zig c++ -target $(uname -m)-linux-musl" \
    make

FROM scratch
COPY --from=0 /inotify-info/_release/inotify-info /inotify-info

ENTRYPOINT ["/inotify-info"]