Skip to content
Snippets Groups Projects
PKGBUILD 3.28 KiB
Newer Older
Stefano Capitani's avatar
Stefano Capitani committed
# Maintainer: Stefano Capitani <stefano@manjaro.org>
Bernhard Landauer's avatar
Bernhard Landauer committed
# Maintainer: Bernhard Landauer <oberon@manjaro.org>
Mark Wagie's avatar
Mark Wagie committed
# Maintainer: Mark Wagie <mark@manjaro.org>
Mark Wagie's avatar
Mark Wagie committed

Mark Wagie's avatar
Mark Wagie committed
# Contributor: Jason Edson <jaysonedson@gmail.com>
# Contributor: Davi da Silva Böger <dsboger@gmail.com>
Bernhard Landauer's avatar
Bernhard Landauer committed
# Contributor: Manuel Hüsers <manuel.huesers@uni-ol.de>
Mark Wagie's avatar
Mark Wagie committed
# Contributor: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
Bernhard Landauer's avatar
Bernhard Landauer committed
# Contributor: Ionut Biru <ibiru@archlinux.org>

Mark Wagie's avatar
Mark Wagie committed
pkgbase=vte3-notification
Mark Wagie's avatar
Mark Wagie committed
pkgname=(vte-notification-common vte3-notification vte4-notification)
Mark Wagie's avatar
Mark Wagie committed
pkgver=0.72.2
Mark Wagie's avatar
Mark Wagie committed
pkgrel=2
Mark Wagie's avatar
Mark Wagie committed
pkgdesc="Virtual Terminal Emulator widget with Fedora patches"
Mark Wagie's avatar
Mark Wagie committed
arch=(x86_64)
Mark Wagie's avatar
Mark Wagie committed
url="https://wiki.gnome.org/Apps/Terminal/VTE"
Mark Wagie's avatar
Mark Wagie committed
license=(LGPL)
makedepends=(
  fribidi
  gi-docgen
  git
  gnutls
  gobject-introspection
  gperf
  gtk3
  gtk4
  meson
  pcre2
  systemd
  vala
)
options=(!lto)
Mark Wagie's avatar
Mark Wagie committed
_commit=854e56263454077ab009aaff67f1afe0dbd52878  # tags/0.72.2^0
Stefano Capitani's avatar
Stefano Capitani committed

Mark Wagie's avatar
Mark Wagie committed
# Fedora patches: https://src.fedoraproject.org/rpms/vte291/tree/
Mark Wagie's avatar
Mark Wagie committed
_frepourl='https://src.fedoraproject.org/rpms/vte291'
Mark Wagie's avatar
Mark Wagie committed
_frepobranch='rawhide'
_fpatchfile0='vte291-cntnr-precmd-preexec-scroll.patch'
Mark Wagie's avatar
Mark Wagie committed
_fcommit='44a011ad2c2c775c6c8d5de6e7af4e13eb334333'
Stefano Capitani's avatar
Stefano Capitani committed

# VTE source ref
_vtetag=${pkgver}

source=(
Mark Wagie's avatar
Mark Wagie committed
  "git+https://gitlab.gnome.org/GNOME/vte.git#commit=$_commit"
  "${_fpatchfile0}-${_fcommit}::${_frepourl}/raw/${_fcommit}/f/${_fpatchfile0}")
Bernhard Landauer's avatar
Bernhard Landauer committed
sha256sums=('SKIP'
Mark Wagie's avatar
Mark Wagie committed
            '4e0dc098681f78241178f8aa33b6a59adf78bb13686540f0664285e080301b5b')
Mark Wagie's avatar
Mark Wagie committed

pkgver() {
  cd vte
  git describe --tags | sed 's/[^-]*-g/r&/;s/-/+/g'
}
Stefano Capitani's avatar
Stefano Capitani committed

Bernhard Landauer's avatar
Bernhard Landauer committed
prepare () {
Mark Wagie's avatar
Mark Wagie committed
  cd vte
  patch -p1 -i "../${_fpatchfile0}-${_fcommit}"
Bernhard Landauer's avatar
Bernhard Landauer committed
}

build() {
Mark Wagie's avatar
Mark Wagie committed
  local meson_options=(
    -D b_lto=false
    -D docs=false
Mark Wagie's avatar
Mark Wagie committed
    -D gtk4=true
Mark Wagie's avatar
Mark Wagie committed
  )

  arch-meson vte build "${meson_options[@]}"
Mark Wagie's avatar
Mark Wagie committed
  meson compile -C build
}

check() {
  meson test -C build --print-errorlogs
Mark Wagie's avatar
Mark Wagie committed
}

_pick() {
Mark Wagie's avatar
Mark Wagie committed
  local p="$1" f d; shift
  for f; do
    d="$srcdir/$p/${f#$pkgdir/}"
    mkdir -p "$(dirname "$d")"
    mv "$f" "$d"
    rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")"
  done
Mark Wagie's avatar
Mark Wagie committed
package_vte-notification-common() {
  pkgdesc+=" (common files)"
  depends=(sh)
  provides=("vte-common=${pkgver}")
  conflicts=('vte-common')
Mark Wagie's avatar
Mark Wagie committed
  meson install -C build --destdir "$pkgdir"
Mark Wagie's avatar
Mark Wagie committed
  cd "$pkgdir"

  _pick gtk3 usr/bin/vte-2.91
  _pick gtk3 usr/include/vte-2.91
  _pick gtk3 usr/lib/libvte-2.91.so*
  _pick gtk3 usr/lib/pkgconfig/vte-2.91.pc
  _pick gtk3 usr/lib/girepository-1.0/Vte-2.91.typelib
  _pick gtk3 usr/share/gir-1.0/Vte-2.91.gir
  _pick gtk3 usr/share/glade
  _pick gtk3 usr/share/vala/vapi/vte-2.91.{deps,vapi}

  _pick gtk4 usr/bin/vte-2.91-gtk4
  _pick gtk4 usr/include/vte-2.91-gtk4
  _pick gtk4 usr/lib/libvte-2.91-gtk4.so*
  _pick gtk4 usr/lib/pkgconfig/vte-2.91-gtk4.pc
  _pick gtk4 usr/lib/girepository-1.0/Vte-3.91.typelib
  _pick gtk4 usr/share/gir-1.0/Vte-3.91.gir
  _pick gtk4 usr/share/vala/vapi/vte-2.91-gtk4.{deps,vapi}
Mark Wagie's avatar
Mark Wagie committed
package_vte3-notification(){
  pkgdesc+=" (GTK3)"
  depends=(
    fribidi
    gnutls
    gtk3
    pcre2
    systemd
    vte-notification-common
  )
  provides=("vte3=${pkgver}" 'libvte-2.91.so')
  conflicts=('vte3')

  mv gtk3/* "$pkgdir"
}

package_vte4-notification() {
  pkgdesc+=" (GTK4)"
  depends=(
    fribidi
    gnutls
    gtk4
    pcre2
    systemd
    vte-notification-common
  )
  provides+=("vte4=${pkgver}" libvte-2.91-gtk4.so)
  conflicts=(vte4)
Mark Wagie's avatar
Mark Wagie committed
  mv gtk4/* "$pkgdir"