75 lines
2.2 KiB
Bash
75 lines
2.2 KiB
Bash
|
#!/bin/bash
|
||
|
|
||
|
set -e
|
||
|
|
||
|
if [[ "$MSYSTEM" == "MINGW32" ]]; then
|
||
|
export ARTIFACTS_SUFFIX="-w32"
|
||
|
export MSYS2_ARCH="i686"
|
||
|
# vapi build fails on 32-bit, with no error output. Let's just drop
|
||
|
# it for this architecture.
|
||
|
export BABL_OPTIONS="-Denable-vapi=false"
|
||
|
export GEGL_OPTIONS="-Dvapigen=disabled"
|
||
|
export MSYS_PREFIX="/c/msys64/mingw32/"
|
||
|
else
|
||
|
export ARTIFACTS_SUFFIX="-w64"
|
||
|
export MSYS2_ARCH="x86_64"
|
||
|
export BABL_OPTIONS=""
|
||
|
export GEGL_OPTIONS=""
|
||
|
export MSYS_PREFIX="/c/msys64/mingw64/"
|
||
|
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}"
|
||
|
export ACLOCAL_FLAGS="-I/c/msys64/mingw64/share/aclocal"
|
||
|
export XDG_DATA_DIRS="${PIKA_PREFIX}/share:/mingw64/share/"
|
||
|
|
||
|
## 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 \
|
||
|
-Dopenexr=enabled -Dworkshop=true \
|
||
|
${GEGL_OPTIONS} ..
|
||
|
ninja
|
||
|
ninja install
|
||
|
cd ../..
|