aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitlab-ci.yml17
-rw-r--r--ci/docker/exherbo/paludis-exherbo-clang/Dockerfile33
-rwxr-xr-xci/docker/exherbo/paludis-exherbo-clang/build.sh9
-rw-r--r--ci/docker/exherbo/paludis-exherbo-clang/config/options/00_build_options.conf1
-rw-r--r--ci/docker/exherbo/paludis-exherbo-clang/config/options/01_target_i686-pc-linux-gnu.conf1
-rw-r--r--ci/docker/exherbo/paludis-exherbo-clang/config/options/01_target_x86_64-pc-linux-gnu.conf1
-rw-r--r--ci/docker/exherbo/paludis-exherbo-clang/config/options/10_paludis.conf48
-rw-r--r--ci/docker/exherbo/paludis-exherbo-clang/config/sets/paludis-deps.conf30
-rwxr-xr-xci/docker/update-images.sh1
9 files changed, 141 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index abcfa28b2..460169cd6 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -38,6 +38,23 @@ test:exherbo:
- build:exherbo
<<: *test-template
+build:exherbo-clang:
+ variables:
+ DISTRIBUTION: "exherbo"
+ COMPILER: "clang"
+ VERSION: "latest"
+ <<: *build-template
+
+test:exherbo-clang:
+ variables:
+ DISTRIBUTION: "exherbo"
+ COMPILER: "clang"
+ VERSION: "latest"
+ dependencies:
+ - build:exherbo-clang
+ allow_failure: true
+ <<: *test-template
+
build:gentoo:
variables:
DISTRIBUTION: "gentoo"
diff --git a/ci/docker/exherbo/paludis-exherbo-clang/Dockerfile b/ci/docker/exherbo/paludis-exherbo-clang/Dockerfile
new file mode 100644
index 000000000..abe755ea4
--- /dev/null
+++ b/ci/docker/exherbo/paludis-exherbo-clang/Dockerfile
@@ -0,0 +1,33 @@
+FROM marvins/exherbo-clang:latest
+MAINTAINER Marvin Schmidt <marv@exherbo.org>
+
+# Switch to option.conf.d layout
+RUN mkdir /etc/paludis/options.conf.d \
+ && mv /etc/paludis/options.conf /etc/paludis/options.conf.d/10_clang.conf
+
+COPY ./config/options/* /etc/paludis/options.conf.d/
+COPY ./config/sets/paludis-deps.conf /etc/paludis/sets/
+
+RUN chgrp tty /dev/tty \
+ && eclectic env update \
+ && source /etc/profile \
+ && cave resolve -1z repository/{media,pyro,scientific} -x \
+ && cave resolve -1z -Ks -ks -x \
+ -o dev-python/sphinxcontrib-websupport \
+ --recommendations ignore \
+ --suggestions ignore \
+ paludis-deps
+RUN eclectic c++ set clang \
+ && eclectic cc set clang \
+ && eclectic cpp set clang \
+ && eclectic python3 set 3.6
+
+# Clean up
+RUN rm -fr \
+ /var/log/paludis/* \
+ /var/cache/paludis/distfiles/* \
+ /var/tmp/paludis/build/*
+
+# Add non-privileged user
+RUN useradd -M builder
+USER builder
diff --git a/ci/docker/exherbo/paludis-exherbo-clang/build.sh b/ci/docker/exherbo/paludis-exherbo-clang/build.sh
new file mode 100755
index 000000000..aebe83cf5
--- /dev/null
+++ b/ci/docker/exherbo/paludis-exherbo-clang/build.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# vim: set sw=4 sts=4 ts=4 et tw=80 :
+
+docker build \
+ --no-cache \
+ --pull \
+ --rm \
+ --tag paludis/exherbo-clang \
+ .
diff --git a/ci/docker/exherbo/paludis-exherbo-clang/config/options/00_build_options.conf b/ci/docker/exherbo/paludis-exherbo-clang/config/options/00_build_options.conf
new file mode 100644
index 000000000..123f628b2
--- /dev/null
+++ b/ci/docker/exherbo/paludis-exherbo-clang/config/options/00_build_options.conf
@@ -0,0 +1 @@
+*/* BUILD_OPTIONS: jobs=2
diff --git a/ci/docker/exherbo/paludis-exherbo-clang/config/options/01_target_i686-pc-linux-gnu.conf b/ci/docker/exherbo/paludis-exherbo-clang/config/options/01_target_i686-pc-linux-gnu.conf
new file mode 100644
index 000000000..4a00e6127
--- /dev/null
+++ b/ci/docker/exherbo/paludis-exherbo-clang/config/options/01_target_i686-pc-linux-gnu.conf
@@ -0,0 +1 @@
+*/* TARGETS: i686-pc-linux-gnu
diff --git a/ci/docker/exherbo/paludis-exherbo-clang/config/options/01_target_x86_64-pc-linux-gnu.conf b/ci/docker/exherbo/paludis-exherbo-clang/config/options/01_target_x86_64-pc-linux-gnu.conf
new file mode 100644
index 000000000..fc2e8ee63
--- /dev/null
+++ b/ci/docker/exherbo/paludis-exherbo-clang/config/options/01_target_x86_64-pc-linux-gnu.conf
@@ -0,0 +1 @@
+*/* TARGETS: x86_64-pc-linux-gnu
diff --git a/ci/docker/exherbo/paludis-exherbo-clang/config/options/10_paludis.conf b/ci/docker/exherbo/paludis-exherbo-clang/config/options/10_paludis.conf
new file mode 100644
index 000000000..b7e3fbeaf
--- /dev/null
+++ b/ci/docker/exherbo/paludis-exherbo-clang/config/options/10_paludis.conf
@@ -0,0 +1,48 @@
+*/* BUILD_OPTIONS: -recommended_tests
+
+dev-lang/python sqlite
+
+dev-libs/boost python PYTHON_ABIS: 2.7
+
+dev-python/Babel PYTHON_ABIS: 2.7
+dev-python/Cython PYTHON_ABIS: 2.7
+dev-python/Jinja2 PYTHON_ABIS: 2.7
+dev-python/MarkupSafe PYTHON_ABIS: 2.7
+dev-python/Pygments PYTHON_ABIS: 2.7
+dev-python/Sphinx PYTHON_ABIS: 2.7
+dev-python/alabaster PYTHON_ABIS: 2.7
+dev-python/asn1crypto PYTHON_ABIS: 2.7
+dev-python/atomicwrites PYTHON_ABIS: 2.7
+dev-python/attrs PYTHON_ABIS: 2.7
+dev-python/cffi PYTHON_ABIS: 2.7
+dev-python/chardet PYTHON_ABIS: 2.7
+dev-python/coverage PYTHON_ABIS: 2.7
+dev-python/cryptography PYTHON_ABIS: 2.7
+dev-python/docutils PYTHON_ABIS: 2.7
+dev-python/enum34 PYTHON_ABIS: 2.7
+dev-python/funcsigs PYTHON_ABIS: 2.7
+dev-python/hypothesis PYTHON_ABIS: 2.7
+dev-python/idna PYTHON_ABIS: 2.7
+dev-python/imagesize PYTHON_ABIS: 2.7
+dev-python/ipaddress PYTHON_ABIS: 2.7
+dev-python/more-itertools PYTHON_ABIS: 2.7
+dev-python/numpy PYTHON_ABIS: 2.7
+dev-python/packaging PYTHON_ABIS: 2.7
+dev-python/pathlib2 PYTHON_ABIS: 2.7
+dev-python/pluggy PYTHON_ABIS: 2.7
+dev-python/py PYTHON_ABIS: 2.7
+dev-python/pycparser PYTHON_ABIS: 2.7
+dev-python/pyopenssl PYTHON_ABIS: 2.7
+dev-python/pyparsing PYTHON_ABIS: 2.7
+dev-python/pytest PYTHON_ABIS: 2.7
+dev-python/pytest-runner PYTHON_ABIS: 2.7
+dev-python/pytz PYTHON_ABIS: 2.7
+dev-python/requests PYTHON_ABIS: 2.7
+dev-python/scandir PYTHON_ABIS: 2.7
+dev-python/setuptools_scm PYTHON_ABIS: 2.7
+dev-python/six PYTHON_ABIS: 2.7
+dev-python/snowballstemmer PYTHON_ABIS: 2.7
+dev-python/sphinxcontrib-websupport PYTHON_ABIS: 2.7
+dev-python/typing PYTHON_ABIS: 2.7
+dev-python/urllib3 PYTHON_ABIS: 2.7
+dev-python/zopeinterface PYTHON_ABIS: 2.7
diff --git a/ci/docker/exherbo/paludis-exherbo-clang/config/sets/paludis-deps.conf b/ci/docker/exherbo/paludis-exherbo-clang/config/sets/paludis-deps.conf
new file mode 100644
index 000000000..c3868b000
--- /dev/null
+++ b/ci/docker/exherbo/paludis-exherbo-clang/config/sets/paludis-deps.conf
@@ -0,0 +1,30 @@
+# System
+* app-shells/bash
+
+# Documentation
+* app-doc/asciidoc
+* app-doc/doxygen
+* app-text/tidy
+* app-text/xmlto
+* dev-python/Sphinx
+* dev-ruby/syntax
+
+# Tests
+* dev-cpp/gtest
+
+# Bindings
+* dev-libs/boost
+* dev-lang/python:2.7
+* dev-lang/ruby:2.5
+
+# Search index
+* dev-db/sqlite:3
+
+# XML things
+* dev-libs/libxml2:2.0
+
+# Pbins
+* app-arch/libarchive
+
+# gemcutter
+* dev-libs/jansson
diff --git a/ci/docker/update-images.sh b/ci/docker/update-images.sh
index c7fca8310..61cac1aa7 100755
--- a/ci/docker/update-images.sh
+++ b/ci/docker/update-images.sh
@@ -2,6 +2,7 @@
# vim: set sw=4 sts=4 ts=4 et tw=80 :
docker build -t paludis/exherbo-gcc exherbo/paludis-exherbo-gcc
+docker build -t paludis/exherbo-clang exherbo/paludis-exherbo-clang
docker build -t paludis/gentoo-gcc gentoo/paludis-gentoo-gcc