Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
262 changes: 0 additions & 262 deletions .packaging/Dockerfile

This file was deleted.

1 change: 1 addition & 0 deletions .packaging/Dockerfile.c_env
64 changes: 64 additions & 0 deletions .packaging/Dockerfile.cpp_env
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
ARG UBUNTU_VERSION=22.04
ARG CUSTOM_CERT
ARG ENABLE_LEGACY_RENEGOTIATION

FROM ubuntu:$UBUNTU_VERSION

ARG CUSTOM_CERT
ARG ENABLE_LEGACY_RENEGOTIATION

ENV DEBIAN_FRONTEND=noninteractive

# Install the base dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
python3 \
python3-dev \
python-is-python3 \
wget \
curl \
ca-certificates \
gcc \
g++ \
gfortran \
cmake \
ninja-build \
git \
libssl-dev

# Setup a custom certificate/SSL settings depending upon build arguments
# Include README.md here so that the build doesn't fail if there is no custom
# certificate specified. Then we just delete it afterwards.
COPY README.md $CUSTOM_CERT /usr/local/share/ca-certificates/
RUN rm /usr/local/share/ca-certificates/README.md \
&& update-ca-certificates
RUN if [ -n "$ENABLE_LEGACY_RENEGOTIATION" ]; then echo "Options = UnsafeLegacyRenegotiation" >> /etc/ssl/openssl.cnf ; fi

# LLVM Installation
RUN git clone -b running-fixes --depth=1 https://github.com/llvm-ml/llvm-project \
&& mkdir /llvm-project/build \
&& cd /llvm-project/build \
&& cmake -GNinja \
-DCMAKE_BUILD_TYPE=Release \
-DLLVM_ENABLE_PROJECTS="clang;lld" \
-DLLVM_ENABLE_RUNTIMES="compiler-rt;openmp" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DLLVM_TARGETS_TO_BUILD=Native \
-DLLVM_ENABLE_ASSERTIONS=ON \
../llvm \
&& ninja install \
&& cd / \
&& rm -rf /llvm-project

# Set up the Python dependencies
COPY Pipfile* ./
RUN pip3 install pipenv \
&& pipenv sync --categories "packages dev-packages" --system \
&& pipenv --clear \
&& rm Pipfile*

# Clean up the Docker container to make the image smaller
RUN apt-get autoremove -y --purge \
&& apt-get clean -y \
&& rm -rf /var/lib/apt/lists/*

ENV DEBIAN_FRONTEND=
61 changes: 61 additions & 0 deletions .packaging/Dockerfile.julia_env
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
ARG UBUNTU_VERSION=22.04
ARG CUSTOM_CERT
ARG ENABLE_LEGACY_RENEGOTIATION

FROM ubuntu:$UBUNTU_VERSION

ARG CUSTOM_CERT
ARG ENABLE_LEGACY_RENEGOTIATION

ENV DEBIAN_FRONTEND=noninteractive

# Install the base dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
python3 \
python3-dev \
python-is-python3 \
wget \
curl \
ca-certificates \
build-essential \
pkg-config \
bzip2 \
gcc \
g++ \
gfortran \
cmake \
ninja-build \
git \
make \
libssl-dev

# Setup a custom certificate/SSL settings depending upon build arguments
# Include README.md here so that the build doesn't fail if there is no custom
# certificate specified. Then we just delete it afterwards.
COPY README.md $CUSTOM_CERT /usr/local/share/ca-certificates/
RUN rm /usr/local/share/ca-certificates/README.md \
&& update-ca-certificates
RUN if [ -n "$ENABLE_LEGACY_RENEGOTIATION" ]; then echo "Options = UnsafeLegacyRenegotiation" >> /etc/ssl/openssl.cnf ; fi

# Install Julia
RUN git clone -b emit-per-package-bitcode --depth=1 https://github.com/llvm-ml/julia /julia \
&& cd /julia \
&& make MARCH=x86-64 -j $(nproc) \
&& echo prefix=/usr > Make.user \
&& make MARCH=x86-64 install \
&& cd / \
&& rm -rf /julia

# Set up the Python dependencies
COPY Pipfile* ./
RUN pip3 install pipenv \
&& pipenv sync --categories "packages dev-packages" --system \
&& pipenv --clear \
&& rm Pipfile*

# Clean up the Docker container to make the image smaller
RUN apt-get autoremove -y --purge \
&& apt-get clean -y \
&& rm -rf /var/lib/apt/lists/*

ENV DEBIAN_FRONTEND=
Loading