summaryrefslogtreecommitdiff
path: root/packages/xscreensaver/xscreensaver.inc
diff options
context:
space:
mode:
authorKoen Kooi <koen@openembedded.org>2008-12-07 14:59:27 +0100
committerKoen Kooi <koen@openembedded.org>2008-12-07 14:59:27 +0100
commit07f1dd23da686ded444c658c3cde7916534fb7b0 (patch)
treec9886dd08046dda4fadf1b3c3c9accdb26d26c40 /packages/xscreensaver/xscreensaver.inc
parentce08317b64890fcbcc167b917ca12036c0a2de5e (diff)
xscreensaver: enable more screensavers, add 'xscreensaver-hacks' meta package
Diffstat (limited to 'packages/xscreensaver/xscreensaver.inc')
-rw-r--r--packages/xscreensaver/xscreensaver.inc87
1 files changed, 87 insertions, 0 deletions
diff --git a/packages/xscreensaver/xscreensaver.inc b/packages/xscreensaver/xscreensaver.inc
new file mode 100644
index 0000000000..a4925ac108
--- /dev/null
+++ b/packages/xscreensaver/xscreensaver.inc
@@ -0,0 +1,87 @@
+# xscreensaver OE build file
+# Copyright (C) 2004, Advanced Micro Devices, Inc. All Rights Reserved
+# Released under the MIT license (see packages/COPYING)
+
+DESCRIPTION = "*The* screensaver package for X11"
+HOMEPAGE = "http://www.jwz.org/xscreensaver/"
+SECTION = "x11-misc"
+LICENSE = "BSD"
+DEPENDS = "intltool mesa freeglut virtual/libx11 gtk+ libxml2 libglade"
+
+# xscreensaver-demo is a glade app
+LDFLAGS_append = " -Wl,--export-dynamic"
+
+inherit autotools
+
+export INTLTOOL_PERL="/usr/bin/env perl"
+
+EXTRA_OECONF=" --with-xml \
+ --with-gtk \
+ --disable-locking \
+ --without-pixbuf \
+ --with-jpeg \
+ --with-xpm \
+ --with-randr-ext \
+ --with-gl \
+ --without-gle \
+ --with-xshm-ext \
+ --with-setuid-hacks \
+"
+
+PACKAGES =+ " xscreensaver-demo xscreensaver-extra"
+
+FILES_${PN}= "${bindir}/xscreensaver ${bindir}/xscreensaver-command ${datadir}/applications \
+ ${libdir}/X11/"
+
+FILES_${PN}-dbg += "${libexecdir}/xscreensaver/.debug"
+
+FILES_xscreensaver-demo="${bindir}/xscreensaver-demo ${datadir}/xscreensaver \
+ ${datadir}/pixmaps/"
+
+FILES_xscreensaver-extra="${bindir}/xscreensaver-getimage*"
+
+do_configure_prepend() {
+ sed -i 's:GTK_DATADIR="$GTK_DATADIR/share":GTK_DATADIR="${datadir}":' ${S}/configure.in
+
+ export includedir="/lib"
+ sed -i -e s:AC_PROG_CC:AC_PROG_CXX:g configure.in
+ echo AC_PROG_CXX >> configure.in
+ export CC="${CXX}"
+}
+
+do_compile() {
+ oe_runmake CC="${CC}" LD="${CXX}" CC_HACK="${CXX}" GNOME_DATADIR=${datadir} all
+}
+
+fakeroot do_install() {
+ unset KDEDIR
+ oe_runmake -C ${S}/driver GNOME_DATADIR=${datadir} \
+ install_prefix=${D} install
+
+ oe_runmake -C ${S}/hacks install_prefix=${D} install-program
+
+ # Install the defaults file
+ install -d ${D}/${libdir}/X11/app-defaults
+ install -m 0644 ${WORKDIR}/XScreenSaver ${D}/${libdir}/X11/app-defaults
+}
+
+PACKAGES_DYNAMIC = "xscreensaver-hack-*"
+
+python populate_packages_prepend () {
+ hackdir = bb.data.expand('${libexecdir}/xscreensaver', d)
+ do_split_packages(d, hackdir, '^(.*)', 'xscreensaver-hack-%s', 'XScreensaver hack %s')
+ metapkg = "xscreensaver-hacks"
+ bb.data.setVar('ALLOW_EMPTY_' + metapkg, "1", d)
+ bb.data.setVar('FILES_' + metapkg, "", d)
+ blacklist = [ 'xscreensaver-locale', 'xscreensaver-dev', 'xscreensaver-dbg', 'xscreensaver-doc', 'xscreensaver-extra' ]
+ metapkg_rdepends = []
+ packages = bb.data.getVar('PACKAGES', d, 1).split()
+ for pkg in packages[1:]:
+ if not pkg in blacklist and not pkg in metapkg_rdepends:
+ metapkg_rdepends.append(pkg)
+ bb.data.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends), d)
+ bb.data.setVar('DESCRIPTION_' + metapkg, 'Xscreensaver hacks meta package', d)
+ packages.append(metapkg)
+ bb.data.setVar('PACKAGES', ' '.join(packages), d)
+}
+