summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Dockerfile8
-rw-r--r--ci/build_libs.sh31
2 files changed, 39 insertions, 0 deletions
diff --git a/Dockerfile b/Dockerfile
index 77ee47d..71a8a28 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,4 +1,5 @@
FROM ubuntu:focal
+MAINTAINER Xfce Development Team
ENV DEBIAN_FRONTEND noninteractive
@@ -21,3 +22,10 @@ COPY . /
# Configure and build dev tools
RUN ./autogen.sh
RUN make install
+
+# Build and install the latest tag for all Xfce core libraries
+RUN mkdir /git
+COPY ci/build_libs.sh /git/build_libs.sh
+RUN chmod a+x /git/build_libs.sh
+
+RUN /git/build_libs.sh
diff --git a/ci/build_libs.sh b/ci/build_libs.sh
new file mode 100644
index 0000000..c3d7634
--- /dev/null
+++ b/ci/build_libs.sh
@@ -0,0 +1,31 @@
+#!/usr/bin/env bash
+
+XFCE_BASE=https://gitlab.xfce.org
+
+AUTOGEN_OPTIONS="--disable-debug --enable-maintainer-mode --host=x86_64-linux-gnu \
+ --build=x86_64-linux-gnu --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu \
+ --libexecdir=/usr/lib/x86_64-linux-gnu --sysconfdir=/etc --localstatedir=/var --enable-gtk-doc"
+
+# (BUILD_TYPE BRANCH URL NAME) tuples:
+REPOS=( "${XFCE_BASE}/xfce/libxfce4ui.git libxfce4ui")
+REPOS+=("${XFCE_BASE}/xfce/libxfce4util.git libxfce4util")
+REPOS+=("${XFCE_BASE}/xfce/exo.git exo")
+REPOS+=("${XFCE_BASE}/xfce/xfce4-dev-tools.git xfce4-dev-tools")
+REPOS+=("${XFCE_BASE}/xfce/xfce4-panel.git xfce4-panel")
+REPOS+=("${XFCE_BASE}/xfce/garcon.git garcon")
+
+for tuple in "${REPOS[@]}"; do
+ set -- $tuple
+ URL=$1
+ NAME=$2
+ cd /git
+ git clone $URL
+ cd $NAME
+ TAG=$(git describe --abbrev=0 --match "$NAME*" 2>/dev/null)
+ echo "--- Building $NAME ($TAG) ---"
+ git checkout $TAG
+ ./autogen.sh $AUTOGEN_OPTIONS
+ make -j8
+ make install
+ echo "$(pwd): $(git describe)" >> /git/xfce_build_version_info.txt
+done