Last active
August 31, 2021 12:47
-
-
Save rcoup/35e11e31d069689c9c09a70cc2fc7a0d to your computer and use it in GitHub Desktop.
Docker container for SWIG. Helpful when you need a specific version to avoid massive diffs.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Usage | |
# | |
# To build: | |
# $ docker build --build-arg SWIG_VERSION=3.0.10 -t swig . | |
# | |
# To run: | |
# host$ docker run --rm -it -v $(pwd):/src swig | |
# cont$ swig ... | |
# | |
# For SWIG 4.x use bullseye, for 3.x use buster | |
ARG DEB_RELEASE=buster | |
# -- Build swig here -- | |
FROM debian:${DEB_RELEASE}-slim AS builder | |
ARG SWIG_VERSION=3.0.8 | |
RUN sed -Ee 's/^deb /deb-src /' /etc/apt/sources.list >> /etc/apt/sources.list.d/debsrc.list \ | |
&& apt-get update -q \ | |
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends \ | |
build-essential \ | |
man \ | |
wget \ | |
ca-certificates \ | |
&& DEBIAN_FRONTEND=noninteractive apt-get build-dep -q -y --no-install-recommends \ | |
"swig${SWIG_VERSION%.*}" \ | |
&& rm -rf /var/lib/apt/lists/* | |
RUN wget "https://sourceforge.net/projects/swig/files/swig/swig-${SWIG_VERSION}/swig-${SWIG_VERSION}.tar.gz/download" -O swig.tar.gz \ | |
&& tar xzf "swig.tar.gz" | |
RUN cd "swig-${SWIG_VERSION}/" \ | |
&& ./configure \ | |
&& make \ | |
&& make install | |
# -- Runtime image -- | |
FROM debian:${DEB_RELEASE}-slim | |
RUN adduser -q swig --disabled-password --gecos '' \ | |
&& mkdir /src \ | |
&& apt-get update -q \ | |
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends \ | |
libc6 \ | |
libgcc1 \ | |
libpcre3 \ | |
libstdc++6 \ | |
zlib1g \ | |
make \ | |
python3 \ | |
&& rm -rf /var/lib/apt/lists/* | |
COPY --from=builder /usr/local/ /usr/local/ | |
USER swig | |
WORKDIR /src |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment