From d6a0fa1e792acb1513b07505c5257bdf6662d742 Mon Sep 17 00:00:00 2001 From: Roman Lebedev Date: Tue, 27 Sep 2016 11:36:31 +0300 Subject: [PATCH] Add Dockerfile, .travis.yml; Enable CI. --- .dockerignore | 2 ++ .travis.yml | 28 ++++++++++++++++++++++++++++ Dockerfile | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 79 insertions(+) create mode 100644 .dockerignore create mode 100644 .travis.yml create mode 100644 Dockerfile diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 000000000000..cd1046db8ead --- /dev/null +++ b/.dockerignore @@ -0,0 +1,2 @@ +docker-images +.git diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 000000000000..10fff4c21e27 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,28 @@ +# This file is part of darktable. +# copyright (c) 2016 Roman Lebedev. +# +# darktable 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. +# +# darktable 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 darktable. If not, see . + +sudo: required + +services: + - docker + +before_install: +# - docker build -t lebedevri/darktable-travis . + - docker pull lebedevri/darktable-travis + +script: + - docker run -v $PWD:/build/darktable -w /build/darktable -e CC=gcc -e CXX=g++ lebedevri/darktable-travis sh -c "cd /build/darktable && rm -rf /build/darktable/build && mkdir /build/darktable/build && cd /build/darktable/build && cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo ../ && make" + - docker run -v $PWD:/build/darktable -w /build/darktable -e CC=clang-3.8 -e CXX=clang++-3.8 lebedevri/darktable-travis sh -c "cd /build/darktable && rm -rf /build/darktable/build && mkdir /build/darktable/build && cd /build/darktable/build && cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo ../ && make" diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000000..67512dcd6ad9 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,49 @@ +# This file is part of darktable. +# copyright (c) 2016 Roman Lebedev. +# +# darktable 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. +# +# darktable 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 darktable. If not, see . + +# docker build -t darktable-travis . + +FROM debian:testing +MAINTAINER Roman Lebedev + +ENV DEBIAN_FRONTEND noninteractive + +# Paper over occasional network flakiness of some mirrors. +RUN echo 'APT::Acquire::Retries "5";' > /etc/apt/apt.conf.d/80retry + +# Do not install recommended packages +RUN echo 'APT::Install-Recommends "false";' > /etc/apt/apt.conf.d/80recommends + +# Do not install suggested packages +RUN echo 'APT::Install-Suggests "false";' > /etc/apt/apt.conf.d/80suggests + +# Assume yes +RUN echo 'APT::Get::Assume-Yes "true";' > /etc/apt/apt.conf.d/80forceyes + +# Fix broken packages +RUN echo 'APT::Get::Fix-Missing "true";' > /etc/apt/apt.conf.d/80fixmissin + +RUN apt-get update && \ + apt-get install clang-3.8 cmake desktop-file-utils g++ gcc gettext git \ + intltool libatk1.0-dev libcairo2-dev libcolord-dev libcolord-gtk-dev \ + libcups2-dev libcurl4-gnutls-dev libexiv2-dev libflickcurl-dev \ + libgdk-pixbuf2.0-dev libglib2.0-dev libgphoto2-dev libgraphicsmagick1-dev \ + libgtk-3-dev libjpeg-dev libjson-glib-dev liblcms2-dev liblensfun-dev \ + liblua5.2-dev libopenexr-dev libopenjp2-7-dev libosmgpsmap-1.0-dev \ + libpango1.0-dev libpng-dev libpugixml-dev librsvg2-dev libsaxon-java \ + libsdl1.2-dev libsecret-1-dev libsoup2.4-dev libsqlite3-dev libtiff5-dev \ + libwebp-dev libx11-dev libxml2-dev libxml2-utils make perl po4a xsltproc && \ + apt-get clean && rm -rf /var/lib/apt/lists/*