-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathDockerfile
50 lines (40 loc) · 1.73 KB
/
Dockerfile
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
# Copyright 2023 University of Adelaide
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
FROM ubuntu:jammy
# jammy is Ubuntu 22.10 LTS
RUN apt update && apt upgrade -y
# installing dependencies
ENV TZ=UTC
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# general deps, fiat deps, cryptopt deps
RUN apt install -y jq git make vim tar zsh \
autoconf clang curl g++ gcc gnuplot-nox libtool nasm pkg-config poppler-utils tmux
ENV asmlineversion 1.3.2
RUN curl -L https://github.com/0xADE1A1DE/AssemblyLine/releases/download/v${asmlineversion}/assemblyline-${asmlineversion}.tar.gz |\
tar -xzf- -C /tmp/ && \
cd /tmp/assemblyline-${asmlineversion} && ./configure && \
make CFLAGS=-O3 all install && \
ldconfig
# get and install CryptOpt
RUN git clone --jobs 3 --recurse-submodules https://github.com/0xADE1A1DE/CryptOpt /root/CryptOpt
RUN cd /root/CryptOpt && \
git checkout --recurse-submodules main && \
make && \
make install-zsh
WORKDIR /root/CryptOpt
# If a different version of fiat-binaries are required, copy / downlaod them
# here and overwrite the current ones in
# /root/CryptOpt/src/bridge/fiat-bridge/data/
# run the CryptOpt tests
RUN make check -C /root/CryptOpt