Files
gtk4/source.sh
T

50 lines
2.4 KiB
Bash

# This is the source.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() {
meson setup --prefix=/usr \
--buildtype=release \
-Dbroadway-backend=true \
-Dintrospection=enabled \
-Dvulkan=enabled \
-Dwrap_mode=nodownload build
meson compile -C build
}
# The package function is executed in the source directory
# This function is used to move the compiled files into the output directory
package_gtk4() {
meson install -C build --destdir="$BPM_OUTPUT"
# Move gtk-update-icon-cache to temporary directory for gtk-update-icon-cache package
mkdir "$BPM_WORKDIR"/output-gtk-update-icon-cache
install -d "$BPM_WORKDIR"/output-gtk-update-icon-cache/usr/{bin,share/man/man1}
mv "$BPM_OUTPUT"/usr/bin/gtk4-update-icon-cache -t "$BPM_WORKDIR"/output-gtk-update-icon-cache/usr/bin/
# Install BPM hook and script
install -Dm644 "$BPM_WORKDIR"/gtk4-querymodules.bpmhook "$BPM_OUTPUT"/var/lib/bpm/hooks/gtk4-querymodules.bpmhook
install -Dm755 "$BPM_WORKDIR"/gtk4-querymodules.sh "$BPM_OUTPUT"/var/lib/bpm/hook-scripts/gtk4-querymodules.sh
# Install package license
install -Dm644 "$BPM_SOURCE"/COPYING "$BPM_OUTPUT"/usr/share/licenses/gtk3/COPYING
}
package_gtk-update-icon-cache() {
# Replace 'output' directory with 'output-gtk-update-icon-cache'
rmdir "$BPM_OUTPUT"
mv "$BPM_WORKDIR"/output-gtk-update-icon-cache "$BPM_OUTPUT"
# Symlink 'gtk-update-icon-cache' to 'gtk4-update-icon-cache'
ln -s gtk4-update-icon-cache "$BPM_OUTPUT"/usr/bin/gtk-update-icon-cache
# Install BPM hook and script
install -Dm644 "$BPM_WORKDIR"/gtk-update-icon-cache.bpmhook "$BPM_OUTPUT"/var/lib/bpm/hooks/gtk-update-icon-cache.bpmhook
install -Dm755 "$BPM_WORKDIR"/gtk-update-icon-cache.sh "$BPM_OUTPUT"/var/lib/bpm/hook-scripts/gtk-update-icon-cache.sh
# Install package license
install -Dm644 "$BPM_SOURCE"/COPYING "$BPM_OUTPUT"/usr/share/licenses/gtk-update-icon-cache/COPYING
}