|
16 | 16 | FROM debian:bullseye |
17 | 17 |
|
18 | 18 | ARG GO_VERSION |
| 19 | +ARG DUCKDB_VERSION=1.4.3 |
19 | 20 | ARG DEBIAN_FRONTEND="noninteractive" |
20 | 21 |
|
21 | 22 | RUN apt-get update -y \ |
22 | | - && apt-get install -y make cmake wget git curl procps zip libucl-dev zlib1g-dev \ |
23 | | - pkg-config libczmq-dev build-essential debhelper jq zip |
24 | | - |
25 | | -RUN case $(dpkg --print-architecture) in \ |
26 | | - arm|armhf|armv7) \ |
27 | | - ARCH=armv6l \ |
28 | | - ;; \ |
29 | | - *) \ |
30 | | - ARCH=$(dpkg --print-architecture)\ |
31 | | - ;; \ |
| 23 | + && apt-get install -y --no-install-recommends \ |
| 24 | + ca-certificates make cmake wget git curl procps zip unzip libucl-dev zlib1g-dev \ |
| 25 | + pkg-config libczmq-dev build-essential debhelper jq \ |
| 26 | + && rm -rf /var/lib/apt/lists/* \ |
| 27 | + # Install DuckDB library |
| 28 | + && case $(dpkg --print-architecture) in \ |
| 29 | + amd64) DUCKDB_ARCH=amd64 ;; \ |
| 30 | + arm64) DUCKDB_ARCH=arm64 ;; \ |
| 31 | + *) echo "Unsupported architecture for DuckDB" && exit 1 ;; \ |
| 32 | + esac \ |
| 33 | + && wget --no-verbose https://github.com/duckdb/duckdb/releases/download/v${DUCKDB_VERSION}/libduckdb-linux-${DUCKDB_ARCH}.zip -O /tmp/libduckdb.zip \ |
| 34 | + && unzip /tmp/libduckdb.zip -d /tmp/libduckdb \ |
| 35 | + && cp /tmp/libduckdb/libduckdb.so /usr/local/lib/ \ |
| 36 | + && cp /tmp/libduckdb/libduckdb_static.a /usr/local/lib/ \ |
| 37 | + && cp /tmp/libduckdb/duckdb.h /usr/local/include/ \ |
| 38 | + && cp /tmp/libduckdb/duckdb.hpp /usr/local/include/ \ |
| 39 | + && ldconfig \ |
| 40 | + && rm -rf /tmp/libduckdb.zip /tmp/libduckdb \ |
| 41 | + # Install Go |
| 42 | + && case $(dpkg --print-architecture) in \ |
| 43 | + arm|armhf|armv7) ARCH=armv6l ;; \ |
| 44 | + *) ARCH=$(dpkg --print-architecture) ;; \ |
32 | 45 | esac \ |
33 | 46 | && wget --no-verbose https://golang.org/dl/go$GO_VERSION.linux-$ARCH.tar.gz \ |
34 | | - && tar -C /usr/local -xzf go$GO_VERSION.linux-$ARCH.tar.gz |
35 | | - |
36 | | -RUN if [ "$(dpkg --print-architecture)" = "amd64" ]; then \ |
37 | | - wget https://github.com/apple/foundationdb/releases/download/7.3.19/foundationdb-clients_7.3.19-1_amd64.deb \ |
38 | | - && dpkg -i foundationdb-clients_7.3.19-1_amd64.deb; \ |
39 | | - fi |
| 47 | + && tar -C /usr/local -xzf go$GO_VERSION.linux-$ARCH.tar.gz \ |
| 48 | + && rm go$GO_VERSION.linux-$ARCH.tar.gz \ |
| 49 | + # Install FoundationDB client (amd64 only) |
| 50 | + && if [ "$(dpkg --print-architecture)" = "amd64" ]; then \ |
| 51 | + wget --no-verbose https://github.com/apple/foundationdb/releases/download/7.3.19/foundationdb-clients_7.3.19-1_amd64.deb \ |
| 52 | + && dpkg -i foundationdb-clients_7.3.19-1_amd64.deb \ |
| 53 | + && rm foundationdb-clients_7.3.19-1_amd64.deb; \ |
| 54 | + fi \ |
| 55 | + # Install UPX |
| 56 | + && wget --no-verbose https://github.com/upx/upx/releases/download/v4.2.4/upx-4.2.4-src.tar.xz -O - | tar -xJC /usr/local \ |
| 57 | + && cd /usr/local/upx-4.2.4-src && make all \ |
| 58 | + && ln -s /usr/local/upx-4.2.4-src/src/upx.out /usr/bin/upx |
40 | 59 |
|
41 | 60 | ENV PATH=$PATH:/usr/local/go/bin |
42 | | - |
43 | | -RUN wget --no-verbose https://github.com/upx/upx/releases/download/v4.2.4/upx-4.2.4-src.tar.xz -O - | tar -xvJC /usr/local \ |
44 | | - && cd /usr/local/upx-4.2.4-src && make all \ |
45 | | - && ln -s /usr/local/upx-4.2.4-src/src/upx.out /usr/bin/upx |
|
0 commit comments