Gimp/build/macos/2_build-gimp-macports.sh
Bruno Lopes 9cfccfb968 build/macos: Fix macOS CWD error message
It should direct to gimp-web-devel
2026-04-02 23:19:04 -03:00

55 lines
2 KiB
Bash

#!/bin/sh
# Ensure the script work properly
case $(readlink /proc/$$/exe) in
*bash)
set -o posix
;;
esac
set -e
if [ "$0" != 'build/macos/2_build-gimp-macports.sh' ] && [ $(basename "$PWD") != 'macos' ]; then
printf '\033[31m(ERROR)\033[0m: Script called from wrong dir. Please, read: https://developer.gimp.org/core/setup/build/macos/\n'
exit 1
elif [ $(basename "$PWD") = 'macos' ]; then
cd ../../..
fi
if [ -z "$GITLAB_CI" ]; then
git submodule update --init || true #true is for this script work on tarballs too
NON_RELOCATABLE_OPTION='-Drelocatable-bundle=no'
fi
# Install part of the deps (again)
eval "$(sed -n '/Install part/,/End of config/p' build/macos/1_build-deps-macports.sh)"
if [ "$GITLAB_CI" ]; then
eval "$(sed -n '/deps_install\[/,/deps_install/p' build/macos/1_build-deps-macports.sh)"
fi
# Prepare env (only GIMP_PREFIX is needed for flatpak)
if [ -z "$GIMP_PREFIX" ]; then
export GIMP_PREFIX="$PWD/../_install"
fi
eval "$(sed -n -e 's/- //' -e '/macos_environ\[/,/macos_environ/p' .gitlab-ci.yml)"
# Build GIMP only
printf "\e[0Ksection_start:`date +%s`:gimp_build[collapsed=true]\r\e[0KBuilding GIMP\n"
if [ ! -f "_build-$(uname -m)/build.ninja" ]; then
meson setup _build-$(uname -m) -Dprefix="$GIMP_PREFIX" $NON_RELOCATABLE_OPTION $WARN_AS_ERROR_ON_CI \
$PKGCONF_RELOCATABLE_OPTION $DMG_OPTION \
-Dbuild-id=org.gimp.GIMP_official \
-Dc_args="-I${OPT_PREFIX}/include" -Dcpp_args="-I${OPT_PREFIX}/include" -Dc_link_args="-L${OPT_PREFIX}/lib" -Dcpp_link_args="-L${OPT_PREFIX}/lib"
fi
cd _build-$(uname -m)
ninja
printf "\e[0Ksection_end:`date +%s`:gimp_build\r\e[0K\n"
# Bundle GIMP
printf "\e[0Ksection_start:`date +%s`:gimp_bundle[collapsed=true]\r\e[0K$(if ! grep -q "dmg=true" meson-logs/meson-log.txt; then echo "Installing GIMP as non-relocatable on GIMP_PREFIX"; else echo "Creating .app bundle"; fi)\n"
ninja install > ninja_install.log 2>&1 || { cat ninja_install.log; exit 1; };
cd ..
printf "\e[0Ksection_end:`date +%s`:gimp_bundle\r\e[0K\n"