# This is the recipe.sh script. It is executed by BPM in a temporary directory when compiling a source package # BPM Expects the source code to be extracted into the automatically created 'source' directory which can be accessed using $BPM_SOURCE # BPM Expects the output files to be present in the automatically created 'output' directory which can be accessed using $BPM_OUTPUT # The build function is executed in the source directory # This function is used to compile the source code build() { local options=( -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_SKIP_INSTALL_RPATH=ON -DUSE_LD_LLD=ON -DPORT=GTK -DLIB_INSTALL_DIR=/usr/lib -DUSE_LIBBACKTRACE=OFF -DUSE_LIBHYPHEN=OFF -DENABLE_GAMEPAD=ON -DENABLE_MINIBROWSER=ON -DENABLE_DOCUMENTATION=ON -DENABLE_SPEECH_SYNTHESIS=OFF -DUSE_FLITE=OFF -DENABLE_JOURNALD_LOG=OFF -DENABLE_BUBBLEWRAP_SANDBOX=ON -DUSE_SYSPROF_CAPTURE=NO -Wno-dev ) # Use Clang as recommended by upstream export CC=clang CXX=clang++ cmake -B build-gtk4 "${options[@]}" -DENABLE_WEBDRIVER=ON -DUSE_GTK4=ON cmake -B build-gtk3 "${options[@]}" -DENABLE_WEBDRIVER=OFF -DUSE_GTK4=OFF cmake --build build-gtk4 cmake --build build-gtk3 } # The package function is executed in the source directory # This function is used to move the compiled files into the output directory package_webkitgtk4() { DESTDIR="$BPM_OUTPUT" cmake --install build-gtk4 # Combine all license files (Code from arch linux) find "$BPM_SOURCE"/Source -name 'COPYING*' -or -name 'LICENSE*' -print0 | sort -z | while IFS= read -d $'\0' -r _f; do echo "### $_f ###" cat "$_f" echo done | install -Dm644 /dev/stdin "$BPM_OUTPUT"/usr/share/licenses/webkitgtk4/LICENSE } package_webkitgtk3() { DESTDIR="$BPM_OUTPUT" cmake --install build-gtk3 # Combine all license files (Code from arch linux) find "$BPM_SOURCE"/Source -name 'COPYING*' -or -name 'LICENSE*' -print0 | sort -z | while IFS= read -d $'\0' -r _f; do echo "### $_f ###" cat "$_f" echo done | install -Dm644 /dev/stdin "$BPM_OUTPUT"/usr/share/licenses/webkitgtk3/LICENSE }