git » gtk3.git » main » tree

[main] / PKGBUILD

# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
# Contributor: Ionut Biru <ibiru@archlinux.org>

pkgbase=gtk3
pkgname=(
  gtk3
  gtk3-demos
#  gtk3-docs
)
pkgver=3.24.41
pkgrel=1
epoch=1
pkgdesc="GObject-based multi-platform GUI toolkit"
url="https://www.gtk.org/"
arch=(armv7h 'aarch64')
license=(LGPL-2.0-only)
depends=(
  atk
  cairo
  ttf-font
  dconf
  desktop-file-utils
  fontconfig
  fribidi
  gdk-pixbuf2
  glib2
  harfbuzz
  iso-codes
  libcolord
  libcups
  libegl
  libepoxy
  libgl
  librsvg
  libxcomposite
  libx11
  libxcursor
  libxdamage
  libxext
  libxfixes
  libxi
  libxinerama
  libxkbcommon
  libxrandr
  libxrender
  pango
  shared-mime-info
  wayland
)
makedepends=(
  git
  gobject-introspection
 # gtk-doc
  meson
  sassc
  wayland-protocols
  python-packaging
)
optdepends=(
  'cantarell-fonts: fonts'
  'adwaita-icon-theme: icons'
)

_commit=77ebdd85091833a7869ece48c3114fa6d9966321  # tags/3.24.41^0
source=(
  "git+https://gitlab.gnome.org/GNOME/gtk.git#commit=$_commit"
  gtk-query-immodules-3.0.hook
)
b2sums=('SKIP'
        '8e6a3906126749c6d853f582e3802254cdbba099c6af7190ad576eff6ea5425404a72b1b36950a87e3afdac82295cfe246003172c3e0341a73bd931a36f3b407')

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

prepare() {
  cd gtk
}

build() {
  local meson_options=(
    -D colord=yes
    -D gtk_doc=false
    -D introspection=true
    -D man=false
  )

  CFLAGS+=" -DG_DISABLE_CAST_CHECKS"
  arch-meson gtk build "${meson_options[@]}"
  meson compile -C build
}

_pick() {
  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
}

package_gtk3() {
  optdepends=('evince: Default print preview command')
  provides=(
    gtk3-print-backends
    libgailutil-3.so
    libgdk-3.so
    libgtk-3.so
  )
  # override: no GTK4 in this place please.
  provides+=(gtk-update-icon-cache)
  conflicts=(gtk3-print-backends)
  replaces=("gtk3-print-backends<=3.22.26-1")
  install=gtk3.install

  meson install -C build --destdir "$pkgdir"

  install -Dm644 /dev/stdin "$pkgdir/usr/share/gtk-3.0/settings.ini" <<END
[Settings]
gtk-icon-theme-name = Adwaita
gtk-theme-name = Adwaita
gtk-font-name = Cantarell 11
END

  install -Dt "$pkgdir/usr/share/libalpm/hooks" -m644 gtk-query-immodules-3.0.hook

  cd "$pkgdir"

  _pick demo usr/bin/gtk3-{demo,demo-application,icon-browser,widget-factory}
  _pick demo usr/share/applications/gtk3-{demo,icon-browser,widget-factory}.desktop
  _pick demo usr/share/glib-2.0/schemas/org.gtk.{Demo,exampleapp}.gschema.xml
  _pick demo usr/share/icons/hicolor/*/apps/gtk3-{demo,widget-factory}[-.]*
#  _pick demo usr/share/man/man1/gtk3-{demo,demo-application,icon-browser,widget-factory}.1

#  _pick docs usr/share/gtk-doc

  # Built by GTK 4, shared with GTK 3 (override: we do not intend to do GTK4)
  # rm usr/bin/gtk-update-icon-cache
  # rm usr/share/man/man1/gtk-update-icon-cache.1
}

package_gtk3-demos() {
  pkgdesc+=" (demo applications)"
  depends=(gtk3)
  mv demo/* "$pkgdir"
}

#package_gtk3-docs() {
#  pkgdesc+=" (documentation)"
#  depends=()
#  mv docs/* "$pkgdir"
#}

# vim:set sw=2 sts=-1 et: