diff --git a/pkg.info b/pkg.info index 1a231e5..8676048 100644 --- a/pkg.info +++ b/pkg.info @@ -1,12 +1,12 @@ name: vte -description: Virtual terminal emulator widget library +description: Virtual Terminal Emulator widget library version: 0.82.1 -revision: 1 +revision: 2 url: https://wiki.gnome.org/Apps/Terminal/VTE license: GPL3-or-later,LGPL3-or-later architecture: any type: source -depends: +make_depends: - at-spi2-core - cairo - fribidi @@ -14,20 +14,70 @@ depends: - gdk-pixbuf - glib - glibc + - gobject-introspection + - gperf - gnutls + - graphene - gtk3 - gtk4 - icu - lz4 + - meson - pango - pcre2 -make_depends: - - gobject-introspection - - gperf - - meson - vala downloads: - url: https://gitlab.gnome.org/GNOME/vte/-/archive/${BPM_PKG_VERSION}/vte-${BPM_PKG_VERSION}.tar.gz extract_to: ${BPM_SOURCE} extract_strip_components: 1 checksum: 24b1f938b19a46d0f88c0bb31687ba45fc300f04ddb8c4e65508762e493ef075 +split_packages: + - name: vte-common + description: Common files among for VTE + depends: + - glibc + - name: vte-gtk3 + description: Virtual Terminal Emulator widget library for GTK3 + depends: + - at-spi2-core + - cairo + - fribidi + - gcc-libs + - glib + - glibc + - gnutls + - gtk3 + - icu + - lz4 + - pango + - pcre2 + - vte-common + replaces: + - vte + - name: vte-gtk3-demo + description: GTK3 demo application for VTE + depends: + - gdk-pixbuf + - vte3 + - name: vte-gtk4 + description: Virtual Terminal Emulator widget library for GTK4 + depends: + - at-spi2-core + - cairo + - fribidi + - gcc-libs + - glib + - glibc + - gnutls + - graphene + - gtk4 + - icu + - lz4 + - pango + - pcre2 + - vte-common + - name: vte-gtk4-demo + description: GTK4 demo application for VTE + depends: + - gdk-pixbuf + - vte4 diff --git a/source.sh b/source.sh index 39f6a78..dc80a0b 100644 --- a/source.sh +++ b/source.sh @@ -15,14 +15,75 @@ check() { meson test -C build } +_pick() { + local p="$1" f d; shift + for f; do + [ -d "$BPM_WORKDIR"/output_"$p" ] || { echo "Split package $p not found"; exit 1; } + d="$BPM_WORKDIR"/output_"$p"/"${f#$BPM_OUTPUT}" + mkdir -p "$(dirname "$d")" + mv "$f" "$d" + rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")" + done +} + # The package function is executed in the source directory # This function is used to move the compiled files into the output directory -package() { +package_vte-common() { meson install -C build --destdir="$BPM_OUTPUT" - # Remove etc/profile scripts - rm "$BPM_OUTPUT"/etc/profile.d/vte.* + cd "$BPM_OUTPUT" + + # Move gtk3 files into split package + _pick vte-gtk3 usr/include/vte-2.91/ + _pick vte-gtk3 usr/lib/girepository-1.0/Vte-2.91.typelib + _pick vte-gtk3 usr/lib/libvte-2.91.so* + _pick vte-gtk3 usr/lib/pkgconfig/vte-2.91.pc + _pick vte-gtk3 usr/share/gir-1.0/Vte-2.91.gir + _pick vte-gtk3 usr/share/glade + _pick vte-gtk3 usr/share/vala/vapi/vte-2.91.{deps,vapi} + + # Move gtk3 demo files into split package + _pick vte-gtk3-demo usr/bin/vte-2.91 + _pick vte-gtk3-demo usr/share/applications/org.gnome.Vte.App.Gtk3.desktop + _pick vte-gtk3-demo usr/share/xdg-terminals/org.gnome.Vte.App.Gtk3.desktop + + # Move gtk4 files into split package + _pick vte-gtk4 usr/include/vte-2.91-gtk4/ + _pick vte-gtk4 usr/lib/girepository-1.0/Vte-3.91.typelib + _pick vte-gtk4 usr/lib/libvte-2.91-gtk4.so* + _pick vte-gtk4 usr/lib/pkgconfig/vte-2.91-gtk4.pc + _pick vte-gtk4 usr/share/gir-1.0/Vte-3.91.gir + _pick vte-gtk4 usr/share/vala/vapi/vte-2.91-gtk4.{deps,vapi} + + # Move gtk4 demo files into split package + _pick vte-gtk4-demo usr/bin/vte-2.91-gtk4 + _pick vte-gtk4-demo usr/share/applications/org.gnome.Vte.App.Gtk4.desktop + _pick vte-gtk4-demo usr/share/xdg-terminals/org.gnome.Vte.App.Gtk4.desktop # Install package license - install -Dm644 "$BPM_SOURCE"/COPYING.{,L}GPL3 -t "$BPM_OUTPUT"/usr/share/licenses/vte/ + install -Dm644 "$BPM_SOURCE"/COPYING.{,L}GPL3 -t "$BPM_OUTPUT"/usr/share/licenses/vte-common/ +} + +package_vte-gtk3() { + # Install package license + install -d "$BPM_OUTPUT"/usr/share/licenses/ + ln -sf vte-common "$BPM_OUTPUT"/usr/share/licenses/vte-gtk3 +} + +package_vte-gtk3-demo() { + # Install package license + install -d "$BPM_OUTPUT"/usr/share/licenses/ + ln -sf vte-common "$BPM_OUTPUT"/usr/share/licenses/vte-gtk3-demo +} + +package_vte-gtk4() { + # Install package license + install -d "$BPM_OUTPUT"/usr/share/licenses/ + ln -sf vte-common "$BPM_OUTPUT"/usr/share/licenses/vte-gtk4 +} + +package_vte-gtk4-demo() { + # Install package license + install -d "$BPM_OUTPUT"/usr/share/licenses/ + ln -sf vte-common "$BPM_OUTPUT"/usr/share/licenses/vte-gtk4-demo }