# $Id: PKGBUILD 92371 2010-09-29 14:03:39Z ibiru $
# Maintainer: Jan de Groot <jgc@archlinux.org>

pkgname=gnome-screensaver
pkgver=2.30.2
pkgrel=1
pkgdesc="Screensaver designed to integrate well with the GNOME desktop."
arch=('i686' 'x86_64')
license=('GPL')
url="http://live.gnome.org/GnomeScreensaver"
backup=(etc/pam.d/gnome-screensaver)
depends=('gnome-menus>=2.30.4' 'libgnomekbd>=2.32.0' 'libgl' 'libnotify>=0.4.5' 'gnome-desktop>=2.32.0')
makedepends=('pkgconfig' 'intltool' 'mesa' 'xscreensaver' 'libxss' 'libxslt')
optdepends=('xscreensaver')
groups=('gnome')
options=(!emptydirs)
install=gnome-screensaver.install
source=(http://ftp.gnome.org/pub/GNOME/sources/${pkgname}/2.30/${pkgname}-${pkgver}.tar.bz2
	      gnome-screensaver.pam)
sha256sums=('dd52ef278b23ec5abe5974548c2d576eeaeb5294c85e9f2efd6231ecc9ca09fa'
            '2744d1fc39da46fc681b7cf1c9230d2035b2bb8d9f510213fbe439c114eb76a2')


build() {
  cd "${srcdir}/${pkgname}-${pkgver}"
  ./configure --prefix=/usr --sysconfdir=/etc \
      --libexecdir=/usr/lib/gnome-screensaver \
      --localstatedir=/var \
      --with-xscreensaverdir=/usr/share/xscreensaver/config \
      --with-xscreensaverhackdir=/usr/lib/xscreensaver \
      --with-mit-ext

  make || return 1
}

package() {
  cd "${srcdir}/${pkgname}-${pkgver}"
  make DESTDIR="${pkgdir}" install

  install -m644 "${srcdir}/gnome-screensaver.pam" "${pkgdir}/etc/pam.d/gnome-screensaver"

  #Migrate xscreensaver configuration files
  sed -e 's|Exec=|Exec=/usr/lib/xscreensaver/|' \
      -i data/xscreensaver-config.xsl
  cd "${pkgdir}/usr/share/applications/screensavers"
  "${srcdir}/${pkgname}-${pkgver}/data/migrate-xscreensaver-config.sh" \
      /usr/share/xscreensaver/config/*.xml

  install -m755 -d "${pkgdir}/usr/share/gconf/schemas"
  gconf-merge-schema "${pkgdir}/usr/share/gconf/schemas/${pkgname}.schemas" --domain gnome-screensaver ${pkgdir}/etc/gconf/schemas/*.schemas
  rm -f ${pkgdir}/etc/gconf/schemas/*.schemas
  ls ${pkgdir}/usr/share/applications/screensavers/|cut -d. -f1 > ${startdir}/gscreensavers
}