blob: ff8c61e3811c1130e54710d7f1bdc59683edb2f0 (
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
FROM ubuntu:xenial
ENV RUSTUP_HOME=/usr/local/rustup \
CARGO_HOME=/usr/local/cargo \
PATH=/usr/local/cargo/bin:$PATH \
RUST_VERSION=1.43.0 \
LC_ALL=C.UTF-8 \
LANG=C.UTF-8
# Add deadsnakes repo
RUN set -eux; \
apt update -qy; \
apt install -y software-properties-common; \
add-apt-repository -y ppa:deadsnakes/ppa;
# APT dependencies
RUN set -eux; \
apt update -qy; \
apt install -y \
software-properties-common wget curl pkg-config git \
libpq-dev libsnappy-dev libsodium-dev \
python3.7 python3.7-dev python3.7-venv python3.7-distutils \
python3.8 python3.8-dev python3.8-venv python3.8-distutils \
python3-dev python3-pip python3-wheel python3-requests python3-six python3-pytest
# Rust setup from docker-rust debian Dockerfile
RUN set -eux; \
dpkgArch="$(dpkg --print-architecture)"; \
rustArch='x86_64-unknown-linux-gnu'; rustupSha256='ad1f8b5199b3b9e231472ed7aa08d2e5d1d539198a15c5b1e53c746aad81d27b' ; \
url="https://static.rust-lang.org/rustup/archive/1.21.1/${rustArch}/rustup-init"; \
wget "$url"; \
echo "${rustupSha256} *rustup-init" | sha256sum -c -; \
chmod +x rustup-init; \
./rustup-init -y --no-modify-path --profile minimal --default-toolchain $RUST_VERSION; \
rm rustup-init; \
chmod -R a+w $RUSTUP_HOME $CARGO_HOME; \
rustup --version; \
cargo --version; \
rustc --version;
# Compile and install diesel
RUN set -eux; \
cargo install diesel_cli --version 1.3.1 --no-default-features --features postgres; \
diesel --version
# Install pipenv using aggressive 'get-pipenv.py' script
# this will clobber distro installation of, eg, 'pip'
# original command: curl https://raw.githubusercontent.com/pypa/pipenv/master/get-pipenv.py | python3; \
RUN set -eux; \
curl -L https://archive.org/download/pipenv-mirror/get-pipenv.2020-12-22.py | python3; \
pipenv --version
|