Skip to content

Instantly share code, notes, and snippets.

@edmcman
Created June 11, 2025 22:47
Show Gist options
  • Select an option

  • Save edmcman/edff56c6a7e90d684a7c72408225af2c to your computer and use it in GitHub Desktop.

Select an option

Save edmcman/edff56c6a7e90d684a7c72408225af2c to your computer and use it in GitHub Desktop.
srcML Dockerfile
FROM ubuntu:20.04
# Set environment variables to avoid interactive prompts during package installation
ENV DEBIAN_FRONTEND=noninteractive
# Update package index and install dependencies
RUN --mount=type=cache,target=/var/cache/apt \
--mount=type=cache,target=/var/lib/apt/lists \
apt-get update && \
apt-get install -y \
wget \
ca-certificates
# Download srcML packages with cache mount
RUN --mount=type=cache,target=/tmp/downloads \
wget --no-check-certificate -O /tmp/downloads/srcml.deb https://131.123.42.38/lmcrs/v1.0.0/srcml_1.0.0-1_ubuntu20.04.deb && \
wget --no-check-certificate -O /tmp/downloads/srcml-dev.deb https://131.123.42.38/lmcrs/v1.0.0/srcml-dev_1.0.0-1_ubuntu20.04.deb && \
cp /tmp/downloads/srcml.deb /tmp/srcml.deb && \
cp /tmp/downloads/srcml-dev.deb /tmp/srcml-dev.deb
# Install srcML packages
RUN --mount=type=cache,target=/var/cache/apt \
--mount=type=cache,target=/var/lib/apt/lists \
apt-get install -y /tmp/srcml.deb /tmp/srcml-dev.deb && \
rm -f /tmp/srcml.deb /tmp/libsrcml-dev.deb
# Verify installation
RUN srcml --version
# Set working directory
WORKDIR /workspace
# Default command
CMD ["srcml"]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment