mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-09 15:50:21 +00:00
f3960bffd0
* test/infra/Dockerfile.emba (emacs-base): Install gdb. (emacs-inotify): Configure debug options.
107 lines
3.2 KiB
Docker
107 lines
3.2 KiB
Docker
# Copyright (C) 2021 Free Software Foundation, Inc.
|
|
#
|
|
# This file is part of GNU Emacs.
|
|
#
|
|
# GNU Emacs is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation, either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# GNU Emacs is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
|
|
|
|
# GNU Emacs support for the GitLab-specific build of Docker images.
|
|
|
|
# The presence of this file does not imply any FSF/GNU endorsement of
|
|
# Docker or any other particular tool. Also, it is intended for
|
|
# evaluation purposes, thus possibly temporary.
|
|
|
|
# Maintainer: Ted Zlatanov <tzz@lifelogs.com>
|
|
# URL: https://emba.gnu.org/emacs/emacs
|
|
|
|
FROM debian:stretch as emacs-base
|
|
|
|
RUN apt-get update && \
|
|
apt-get install -y --no-install-recommends -o=Dpkg::Use-Pty=0 \
|
|
libc-dev gcc g++ make autoconf automake libncurses-dev gnutls-dev \
|
|
libdbus-1-dev libacl1-dev acl git texinfo gdb \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
FROM emacs-base as emacs-inotify
|
|
|
|
RUN apt-get update && \
|
|
apt-get install -y --no-install-recommends -o=Dpkg::Use-Pty=0 \
|
|
inotify-tools \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
COPY . /checkout
|
|
WORKDIR /checkout
|
|
RUN ./autogen.sh autoconf
|
|
RUN ./configure --enable-checking='yes,glyphs' --enable-check-lisp-object-type \
|
|
CFLAGS='-O0 -g3'
|
|
# 'make -j4 bootstrap' does not work reliably.
|
|
RUN make bootstrap
|
|
|
|
FROM emacs-base as emacs-filenotify-gio
|
|
|
|
RUN apt-get update && \
|
|
apt-get install -y --no-install-recommends -o=Dpkg::Use-Pty=0 \
|
|
libglib2.0-dev libglib2.0-bin libglib2.0-0 \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
COPY . /checkout
|
|
WORKDIR /checkout
|
|
RUN ./autogen.sh autoconf
|
|
RUN ./configure --with-file-notification=gfile
|
|
RUN make bootstrap
|
|
|
|
FROM emacs-base as emacs-gnustep
|
|
|
|
RUN apt-get update && \
|
|
apt-get install -y --no-install-recommends -o=Dpkg::Use-Pty=0 \
|
|
gnustep-devel \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
COPY . /checkout
|
|
WORKDIR /checkout
|
|
RUN ./autogen.sh autoconf
|
|
RUN ./configure --with-ns
|
|
RUN make bootstrap
|
|
|
|
FROM emacs-base as emacs-native-comp
|
|
|
|
RUN apt-get update && \
|
|
apt-get install -y --no-install-recommends -o=Dpkg::Use-Pty=0 \
|
|
libgccjit-6-dev \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
FROM emacs-native-comp as emacs-native-comp-speed0
|
|
|
|
COPY . /checkout
|
|
WORKDIR /checkout
|
|
RUN ./autogen.sh autoconf
|
|
RUN ./configure --with-native-compilation
|
|
RUN make bootstrap -j2 \
|
|
NATIVE_FULL_AOT=1 BYTE_COMPILE_EXTRA_FLAGS='--eval "(setq comp-speed 0)"'
|
|
|
|
FROM emacs-native-comp as emacs-native-comp-speed1
|
|
|
|
COPY . /checkout
|
|
WORKDIR /checkout
|
|
RUN ./autogen.sh autoconf
|
|
RUN ./configure --with-native-compilation
|
|
RUN make bootstrap -j2 BYTE_COMPILE_EXTRA_FLAGS='--eval "(setq comp-speed 1)"'
|
|
|
|
FROM emacs-native-comp as emacs-native-comp-speed2
|
|
|
|
COPY . /checkout
|
|
WORKDIR /checkout
|
|
RUN ./autogen.sh autoconf
|
|
RUN ./configure --with-native-compilation
|
|
RUN make bootstrap -j2
|