# Maintainer: David P. <megver83@parabola.nu>
# Contributor: Luke Shumaker <lukeshu@parabola.nu>
# Maintainer (aur:plymouth-nosystemd): Chris Cromer <chris@cromer.cl>
# Maintainer (aur:plymouth): Sebastian Lau <lauseb644@gmail.com>
# Contributor: Damian01w <damian01w@gmail.com>
# Contributor: Padfoot <padfoot@exemail.com.au>

pkgbase=plymouth
pkgname=(plymouth plymouth-nosystemd)
pkgver=0.9.3
pkgrel=4
pkgdesc="A graphical boot splash screen with kernel mode-setting support"
url="http://www.freedesktop.org/wiki/Software/Plymouth/"
arch=('i686' 'x86_64' 'armv7h')
license=('GPL')

depends=('libdrm' 'pango' 'libudev')
makedepends=('docbook-xsl')
optdepends=('ttf-dejavu')
backup=('etc/plymouth/plymouthd.conf')

options=('!libtool' '!emptydirs')

source=("http://www.freedesktop.org/software/${pkgbase}/releases/${pkgbase}-${pkgver}.tar.xz"
	'plymouth.encrypt_hook'
	'plymouth.encrypt_install'
	'plymouth.initcpio_hook'
	'plymouth.initcpio_install'
	'sd-plymouth.initcpio_install'

	'gdm-plymouth.service'
	'lxdm-plymouth.service'
	'lightdm-plymouth.service'
	'slim-plymouth.service'
	'sddm-plymouth.service'
	'plymouth-deactivate.service'
	'plymouth-start.service'
	'plymouth-start.path'

        'plymouth-quit.service.in.patch'
	'plymouth-set-default-theme.in.patch'
	'plymouth-update-initrd.patch')
sha1sums=('1a07c8bc7d3625e93c5c15b1b0943c0e3a054808'
          '7e27ca6140424efb82fd1c962a301dc07ffa2133'
          '798f7916cfaff2a3501f3da1f54c2ae4714d6d26'
          'c492081c0ce4418db48c943639e24c2ca10ad735'
          '29e70486ee1091c711939a3de56c52083cd53464'
          'a2027479b75bdeaab46b1f15530e02a0144d807c'
          '78b854fb3939fd9f54e59bbda08b046f1b3649c4'
          '59ad64c616eec35c87ac34c68e79ca0df0276f7c'
          '9d15546767d0128c863258b8d06f12258e3d1e18'
          '55b5b54c7a972fb974eb759cfbd2d3a55225f189'
          '4e18b05e35f70a3c76b66ac7b4706936b64ffb93'
          '7e01cb2811de735b358290b71c3db028f4bfcf1f'
          '621121aef7ece1027ff349d66209f34cf30d4695'
          'a6a32472e05c564a0d701e0cf9a12004bf6293c1'
          '9cb560bf8c27bae22e58c5d593af93147eea74d1'
          '4d3c992fea8b1173897f951cd573ea1f6ed15a87'
          '5d0eb611bcbe318bed38e0f434299c01adbd88dd')

prepare() {
  cd "$srcdir/${pkgbase}-${pkgver}"
  patch -p1 -i $srcdir/plymouth-set-default-theme.in.patch
  patch -p1 -i $srcdir/plymouth-update-initrd.patch
  patch -p1 -i $srcdir/plymouth-quit.service.in.patch
}

_build() {
  mkdir -p "$srcdir/$1"
  cd "$srcdir/$1"
  shift

  ../"${pkgbase}-${pkgver}"/configure \
      --prefix=/usr \
      --exec-prefix=/usr \
      --sysconfdir=/etc \
      --localstatedir=/var \
      --libdir=/usr/lib \
      --libexecdir=/usr/lib \
      --sbindir=/usr/bin \
      --enable-drm \
      --enable-tracing \
      --enable-pango \
      --enable-gtk=no \
      --with-release-file=/etc/os-release \
      --with-background-color=0x000000 \
      --with-background-start-color-stop=0x000000 \
      --with-background-end-color-stop=0x4D4D4D \
      --without-rhgb-compat-link \
      --without-system-root-install \
      "$@"

  make
}

_package() {
  cd "$srcdir/$1"
  make DESTDIR="$pkgdir" install

  install -Dm644 "$srcdir/plymouth.encrypt_hook"     "$pkgdir/usr/lib/initcpio/hooks/plymouth-encrypt"
  install -Dm644 "$srcdir/plymouth.encrypt_install"  "$pkgdir/usr/lib/initcpio/install/plymouth-encrypt"
  install -Dm644 "$srcdir/plymouth.initcpio_hook"    "$pkgdir/usr/lib/initcpio/hooks/plymouth"
  install -Dm644 "$srcdir/plymouth.initcpio_install" "$pkgdir/usr/lib/initcpio/install/plymouth"

  install -Dm644 "$pkgdir/usr/share/plymouth/plymouthd.defaults" "$pkgdir/etc/plymouth/plymouthd.conf"
}

build() {
  _build build-systemd --enable-systemd-integration
  _build build-nosystemd --disable-systemd-integration
}

package_plymouth() {
  depends+=('systemd-sysvcompat')

  _package build-systemd

  install -Dm644 "$srcdir/sd-plymouth.initcpio_install" "$pkgdir/usr/lib/initcpio/install/sd-plymouth"

  # TODO: Some of these override units installed by `make install`.
  # What's wrong with the upstream unit files?  We should patch them,
  # rather than overriding them completely.
  install -Dm644 -t "$pkgdir/usr/lib/systemd/system" -- \
          "$srcdir/plymouth-deactivate.service" \
          "$srcdir/plymouth-start.service" \
          "$srcdir/plymouth-start.path" \
          "$srcdir"/{gdm,sddm,lxdm,slim,lightdm}-plymouth.service

  install -Dm644 "$pkgdir/usr/share/plymouth/plymouthd.defaults" "$pkgdir/etc/plymouth/plymouthd.conf"
}

package_plymouth-nosystemd() {
  pkgdesc+=' (for non-systemd systems)'
  conflicts+=("$pkgbase" 'systemd-sysvcompat')
  provides+=("$pkgbase=$pkgver")

  _package build-nosystemd
}
