summaryrefslogtreecommitdiff
path: root/ci/build_libs.sh
blob: 1301957699bbf35a00ea9dc51f1d06a4827e68a9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#!/usr/bin/env bash

set -euo pipefail

XFCE_BASE=https://gitlab.xfce.org

: ${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
  ${XFCE_BASE}/xfce/tumbler.git
"

for URL in ${REPOS}; do
    NAME=$(basename $URL .git)
    cd /git
    git clone $URL
    cd $NAME
    # We build higher version possible tag, whatever branch it comes from
    TAG=$(git tag --sort=version:refname | grep  "$NAME-" | tail -1)
    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/