libmicrohttpd

HTTP/1.x server C library (MHD 1.x, stable)
Log | Files | Refs | Submodules | README | LICENSE

Containerfile (1962B)


      1 FROM docker.io/library/debian:trixie
      2 
      3 ENV DEBIAN_FRONTEND=noninteractive
      4 
      5 # Everything needed to bootstrap, configure, build and "make check"
      6 # GNU libmicrohttpd.  Unlike most GNU Taler / GNUnet components MHD has
      7 # no database, no libgnunet and no libjansson dependency; the only hard
      8 # external dependencies are a C compiler and the autotools.  Everything
      9 # else is optional and only unlocks parts of the test suite.
     10 RUN apt-get update -yqq && \
     11     apt-get upgrade -yqq && \
     12     apt-get install -yqq \
     13                    git \
     14                    ca-certificates \
     15                    build-essential \
     16                    make \
     17                    autoconf \
     18                    automake \
     19                    libtool \
     20                    pkg-config \
     21                    texinfo \
     22                    file \
     23     && rm -rf /var/lib/apt/lists/*
     24 
     25 # Optional dependencies:
     26 #   libcurl*-dev   src/testcurl and src/testzzuf (RUN_LIBCURL_TESTS)
     27 #   libgnutls28-dev + libgcrypt20-dev  HTTPS support (--enable-https=auto)
     28 #   zlib1g-dev     used by some of the example/test code
     29 #   zzuf, socat    src/testzzuf (--enable-heavy-tests)
     30 #   lcov           the coverage job
     31 RUN apt-get update -yqq && \
     32     apt-get install -yqq \
     33                    curl \
     34                    libcurl4-gnutls-dev \
     35                    libgnutls28-dev \
     36                    libgcrypt20-dev \
     37                    zlib1g-dev \
     38                    zzuf \
     39                    socat \
     40                    lcov \
     41     && rm -rf /var/lib/apt/lists/*
     42 
     43 # 32-bit toolchain for the "-m32" half of the build-configuration matrix
     44 # (job 3-build-matrix).  Only available on x86; on other architectures the
     45 # matrix job logs a SKIP for the 32-bit combinations instead of failing.
     46 RUN apt-get update -yqq && \
     47     (apt-get install -yqq gcc-multilib libc6-dev-i386 \
     48      || echo "no 32-bit toolchain for this architecture, -m32 jobs will SKIP") \
     49     && rm -rf /var/lib/apt/lists/*
     50 
     51 WORKDIR /workdir
     52 
     53 CMD ["/bin/bash"]