PIKApp/build/windows/gitlab-ci/build-deps-msys2.sh

72 lines
2.2 KiB
Bash
Raw Normal View History

2023-09-26 00:35:21 +02:00
#!/bin/bash
set -e
if [[ "$MSYSTEM" == "MINGW32" ]]; then
export ARTIFACTS_SUFFIX="-w32"
export MSYS2_ARCH="i686"
2023-10-30 23:55:30 +01:00
export MSYS2_ARCH_FOLDER="mingw32"
elif [[ "$MSYSTEM" == "MINGW64" ]]; then
2023-09-26 00:35:21 +02:00
export ARTIFACTS_SUFFIX="-w64"
export MSYS2_ARCH="x86_64"
2023-10-30 23:55:30 +01:00
export MSYS2_ARCH_FOLDER="mingw64"
else # [[ "$MSYSTEM" == "CLANGARM64" ]];
export ARTIFACTS_SUFFIX="-arm64"
export MSYS2_ARCH="clang-aarch64"
export MSYS2_ARCH_FOLDER="clangarm64"
2023-09-26 00:35:21 +02:00
fi
# Update everything
pacman --noconfirm -Suy
# Install the required packages
pacman --noconfirm -S --needed \
base-devel \
mingw-w64-$MSYS2_ARCH-toolchain \
mingw-w64-$MSYS2_ARCH-autotools \
mingw-w64-$MSYS2_ARCH-meson \
\
mingw-w64-$MSYS2_ARCH-cairo \
mingw-w64-$MSYS2_ARCH-crt-git \
mingw-w64-$MSYS2_ARCH-glib-networking \
mingw-w64-$MSYS2_ARCH-gobject-introspection \
mingw-w64-$MSYS2_ARCH-json-glib \
mingw-w64-$MSYS2_ARCH-lcms2 \
mingw-w64-$MSYS2_ARCH-lensfun \
mingw-w64-$MSYS2_ARCH-libspiro \
mingw-w64-$MSYS2_ARCH-maxflow \
mingw-w64-$MSYS2_ARCH-openexr \
mingw-w64-$MSYS2_ARCH-pango \
mingw-w64-$MSYS2_ARCH-suitesparse \
mingw-w64-$MSYS2_ARCH-vala
export GIT_DEPTH=1
export PIKA_PREFIX="`realpath ./_install`${ARTIFACTS_SUFFIX}"
export PATH="$PIKA_PREFIX/bin:$PATH"
export PKG_CONFIG_PATH="${PIKA_PREFIX}/lib/pkgconfig:$PKG_CONFIG_PATH"
export PKG_CONFIG_PATH="${PIKA_PREFIX}/share/pkgconfig:$PKG_CONFIG_PATH"
export LD_LIBRARY_PATH="${PIKA_PREFIX}/lib:${LD_LIBRARY_PATH}"
2023-10-30 23:55:30 +01:00
export ACLOCAL_FLAGS="-I/c/msys64/${MSYS2_ARCH_FOLDER}/share/aclocal"
export XDG_DATA_DIRS="${PIKA_PREFIX}/share:/${MSYS2_ARCH_FOLDER}/share/"
2023-09-26 00:35:21 +02:00
## babl and GEGL (follow master branch) ##
git clone --depth=${GIT_DEPTH} https://gitlab.gnome.org/GNOME/babl.git _babl
git clone --depth=${GIT_DEPTH} https://gitlab.gnome.org/GNOME/gegl.git _gegl
mkdir _babl/_build
cd _babl/_build
meson setup -Dprefix="${PIKA_PREFIX}" -Dwith-docs=false \
${BABL_OPTIONS} ..
ninja
ninja install
mkdir ../../_gegl/_build
cd ../../_gegl/_build
meson setup -Dprefix="${PIKA_PREFIX}" -Ddocs=false \
-Dcairo=enabled -Dumfpack=enabled \
2023-10-30 23:55:30 +01:00
-Dopenexr=enabled -Dworkshop=true ..
2023-09-26 00:35:21 +02:00
ninja
ninja install
cd ../..