summaryrefslogtreecommitdiff
path: root/ci/build_libs.sh
diff options
context:
space:
mode:
Diffstat (limited to 'ci/build_libs.sh')
-rw-r--r--ci/build_libs.sh58
1 files changed, 58 insertions, 0 deletions
diff --git a/ci/build_libs.sh b/ci/build_libs.sh
new file mode 100644
index 0000000..3972da2
--- /dev/null
+++ b/ci/build_libs.sh
@@ -0,0 +1,58 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+XFCE_BASE=https://gitlab.xfce.org
+RELEASE=xfce-4.14
+
+: ${libdir:="/usr/lib/x86_64-linux-gnu"}
+: ${libexecdir:="/usr/lib/x86_64-linux-gnu"}
+
+AUTOGEN_OPTIONS="
+ --disable-debug
+ --enable-maintainer-mode
+ --prefix=/usr
+ --libdir=$libdir
+ --libexecdir=$libexecdir
+ --sysconfdir=/etc
+ --localstatedir=/var
+ --enable-gtk-doc
+"
+
+# list of git repos in build order
+REPOS="${XFCE_BASE}/xfce/xfce4-dev-tools.git
+ ${XFCE_BASE}/xfce/libxfce4util.git
+ ${XFCE_BASE}/xfce/xfconf.git
+ ${XFCE_BASE}/xfce/libxfce4ui.git
+ ${XFCE_BASE}/xfce/exo.git
+ ${XFCE_BASE}/xfce/garcon.git
+ ${XFCE_BASE}/xfce/xfce4-panel.git
+ ${XFCE_BASE}/xfce/thunar.git
+"
+
+for URL in ${REPOS}; do
+ NAME=$(basename $URL .git)
+ cd /git
+ git clone $URL
+ cd $NAME
+ git checkout $RELEASE
+ TAG=$(git describe --abbrev=0 --match "$NAME*" 2>/dev/null)
+ echo "--- Building $NAME ($TAG) ---"
+ git checkout -b build-$TAG $TAG
+ ./autogen.sh $AUTOGEN_OPTIONS
+ make -j${NPROC:-$(nproc)}
+ make install
+ echo "$(pwd): $(git describe)" >> /tmp/xfce_build_version_info.txt
+ # Retain HTML docs in /docs
+ if [[ -d "$(pwd)/docs" ]]; then
+ HTMLPATH=$(find "$(pwd)/docs" -name html)
+ if [[ ! -z "$HTMLPATH" ]]; then
+ mkdir -p "/docs/$NAME"
+ cp -a "$HTMLPATH/." "/docs/$NAME"
+ fi
+ fi
+done
+
+# cleanup
+rm -rf /git/*
+mv /tmp/xfce_build_version_info.txt /git/