Welcome to mirror list, hosted at ThFree Co, Russian Federation.

proton.Dockerfile.in « docker - github.com/ValveSoftware/Proton.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 7d98187eb72e6a8c576e5b9d806d2baa7a5641dc (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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
FROM @PROTONSDK_URLBASE@/binutils-i686-linux-gnu:@BINUTILS_VERSION@ AS binutils-linux-i686
FROM @PROTONSDK_URLBASE@/binutils-x86_64-linux-gnu:@BINUTILS_VERSION@ AS binutils-linux-x86_64
FROM @PROTONSDK_URLBASE@/binutils-i686-w64-mingw32:@BINUTILS_VERSION@ AS binutils-mingw-i686
FROM @PROTONSDK_URLBASE@/binutils-x86_64-w64-mingw32:@BINUTILS_VERSION@ AS binutils-mingw-x86_64
FROM @PROTONSDK_URLBASE@/mingw-headers-i686:@MINGW_VERSION@ AS mingw-headers-i686
FROM @PROTONSDK_URLBASE@/mingw-headers-x86_64:@MINGW_VERSION@ AS mingw-headers-x86_64
FROM @PROTONSDK_URLBASE@/mingw-crt-i686:@MINGW_VERSION@ AS mingw-crt-i686
FROM @PROTONSDK_URLBASE@/mingw-crt-x86_64:@MINGW_VERSION@ AS mingw-crt-x86_64
FROM @PROTONSDK_URLBASE@/mingw-pthreads-i686:@MINGW_VERSION@ AS mingw-pthreads-i686
FROM @PROTONSDK_URLBASE@/mingw-pthreads-x86_64:@MINGW_VERSION@ AS mingw-pthreads-x86_64
FROM @PROTONSDK_URLBASE@/mingw-widl-i686:@MINGW_VERSION@ AS mingw-widl-i686
FROM @PROTONSDK_URLBASE@/mingw-widl-x86_64:@MINGW_VERSION@ AS mingw-widl-x86_64
FROM @PROTONSDK_URLBASE@/gcc-i686-linux-gnu:@GCC_VERSION@ AS gcc-linux-i686
FROM @PROTONSDK_URLBASE@/gcc-x86_64-linux-gnu:@GCC_VERSION@ AS gcc-linux-x86_64
FROM @PROTONSDK_URLBASE@/gcc-i686-w64-mingw32:@GCC_VERSION@ AS gcc-mingw-i686
FROM @PROTONSDK_URLBASE@/gcc-x86_64-w64-mingw32:@GCC_VERSION@ AS gcc-mingw-x86_64

FROM @BASE_IMAGE@ AS base
COPY --from=binutils-linux-i686   /opt/usr /usr
COPY --from=binutils-linux-x86_64 /opt/usr /usr
COPY --from=binutils-mingw-i686   /opt/usr /usr
COPY --from=binutils-mingw-x86_64 /opt/usr /usr
COPY --from=mingw-headers-i686    /opt/usr /usr
COPY --from=mingw-headers-x86_64  /opt/usr /usr
COPY --from=mingw-crt-i686        /opt/usr /usr
COPY --from=mingw-crt-x86_64      /opt/usr /usr
COPY --from=mingw-pthreads-i686   /opt/usr /usr
COPY --from=mingw-pthreads-x86_64 /opt/usr /usr
COPY --from=mingw-widl-i686       /opt/usr /usr
COPY --from=mingw-widl-x86_64     /opt/usr /usr
COPY --from=gcc-linux-i686        /opt/usr /usr
COPY --from=gcc-linux-x86_64      /opt/usr /usr
COPY --from=gcc-mingw-i686        /opt/usr /usr
COPY --from=gcc-mingw-x86_64      /opt/usr /usr

RUN wget -q @RUST_URLBASE@/@RUST_SOURCE_x86_64@ \
&& echo '@RUST_SHA256_x86_64@ @RUST_SOURCE_x86_64@' | sha256sum -c - \
&& tar xf @RUST_SOURCE_x86_64@ -C /tmp && rm @RUST_SOURCE_x86_64@ \
&& /tmp/rust-@RUST_VERSION@-x86_64-unknown-linux-gnu/install.sh --prefix=/opt/rust \
&& rm -rf /tmp/rust-@RUST_VERSION@-x86_64-unknown-linux-gnu

RUN wget -q @RUST_URLBASE@/@RUST_SOURCE_i686@ \
&& echo '@RUST_SHA256_i686@ @RUST_SOURCE_i686@' | sha256sum -c - \
&& tar xf @RUST_SOURCE_i686@ -C /tmp && rm @RUST_SOURCE_i686@ \
&& /tmp/rust-@RUST_VERSION@-i686-unknown-linux-gnu/install.sh --prefix=/opt/rust \
  --components=rust-std-i686-unknown-linux-gnu \
&& rm -rf /tmp/rust-@RUST_VERSION@-i686-unknown-linux-gnu

RUN bash -c 'ls /opt/rust/bin/* | xargs -n1 -I{} ln -sf {} /usr/bin/'

RUN bash -c 'mkdir -p /usr/lib/ccache && ls /usr/bin/{,*-}{cc,c++,gcc,g++}{,-[0-9]*} | sed -re s:/bin:/lib/ccache: | xargs -n1 ln -sf ../../bin/ccache'
ENV PATH=/usr/lib/ccache:$PATH

RUN apt-get install -y \
  fontforge \
  fonttools \
  libxpresent-dev \
  libxpresent-dev:i386 \
  python3-pefile \
  libcapstone-dev \
  libcapstone-dev:i386 \
  libutfcpp-dev \
  yasm \
  nasm \
&& rm -rf /opt/usr/share/doc /opt/usr/share/info /opt/usr/share/man \
&& rm -rf /var/lib/apt/lists/*

ENTRYPOINT ["/usr/bin/tini-static", "-s", "-g", "--"]

CMD ["/bin/bash"]