cerbero ci: Add hacks for build tools
authorNirbheek Chauhan <nirbheek@centricular.com>
Tue, 22 Sep 2020 14:06:28 +0000 (19:36 +0530)
committerNirbheek Chauhan <nirbheek@centricular.com>
Wed, 23 Sep 2020 07:20:16 +0000 (12:50 +0530)
Instead of putting a hammer-like symlink to ../../gstreamer/cerbero,
do recipe-specific relocation hacks. Fixes random errors like:

```
++ ln -sf /builds/nirbheek/cerbero ../../gstreamer/cerbero
ln: ../../gstreamer/cerbero/cerbero: cannot overwrite directory
```

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/350>

gitlab/cerbero_setup.sh

index 38f8aea..0ce1276 100644 (file)
@@ -59,6 +59,16 @@ pwd_native() {
     fi
 }
 
+fix_build_tools() {
+    if [[ $(uname) == Darwin ]]; then
+        # Bison needs these env vars set for the build-tools prefix to be
+        # relocatable, and we only build it on macOS. On Linux we install it
+        # using the package manager, and on Windows we use the MSYS Bison.
+        export M4="$(pwd)/${CERBERO_HOME}/build-tools/bin/m4"
+        export BISON_PKGDATADIR="$(pwd)/${CERBERO_HOME}/build-tools/share/bison"
+    fi
+}
+
 # Produces runtime and devel tarball packages for linux/android or .pkg for macos
 cerbero_package_and_check() {
     $CERBERO $CERBERO_ARGS package --offline ${CERBERO_PACKAGE_ARGS} -o "$(pwd_native)" gstreamer-1.0
@@ -117,6 +127,8 @@ cerbero_script() {
     fi
 
     $CERBERO $CERBERO_ARGS bootstrap --offline --system=no
+    fix_build_tools
+
     cerbero_package_and_check
 }