summaryrefslogtreecommitdiff
path: root/packages/xscreensaver
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
parentce08317b64890fcbcc167b917ca12036c0a2de5e (diff)
xscreensaver: enable more screensavers, add 'xscreensaver-hacks' meta package
Diffstat (limited to 'packages/xscreensaver')
-rw-r--r--packages/xscreensaver/xscreensaver-5.07/glfix.patch20
-rw-r--r--packages/xscreensaver/xscreensaver.inc87
-rw-r--r--packages/xscreensaver/xscreensaver_5.07.bb62
3 files changed, 111 insertions, 58 deletions
diff --git a/packages/xscreensaver/xscreensaver-5.07/glfix.patch b/packages/xscreensaver/xscreensaver-5.07/glfix.patch
new file mode 100644
index 0000000000..a91aa488ee
--- /dev/null
+++ b/packages/xscreensaver/xscreensaver-5.07/glfix.patch
@@ -0,0 +1,20 @@
+--- /tmp/Makefile.in 2008-12-07 14:52:59.000000000 +0100
++++ xscreensaver-5.07/hacks/glx/Makefile.in 2008-12-07 14:53:25.000000000 +0100
+@@ -409,7 +409,7 @@
+
+ $(UTIL_OBJS):
+ cd $(UTILS_BIN) ; \
+- $(MAKE) $(@F) CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"
++ $(MAKE) $(@F) CC="$(CXX)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"
+
+ $(HACK_BIN)/xlockmore.o: $(HACK_SRC)/xlockmore.c
+ cd $(HACK_BIN) ; $(MAKE) $(@F) CC="$(CC)" CFLAGS="$(CFLAGS)"
+@@ -426,7 +426,7 @@
+ HELPER_OBJS = xscreensaver-gl-helper.o $(UTILS_BIN)/visual-gl.o \
+ $(UTILS_BIN)/visual.o $(UTILS_BIN)/resources.o
+ xscreensaver-gl-helper: $(HELPER_OBJS)
+- $(CC) $(LDFLAGS) -o $@ $(HELPER_OBJS) $(LIBS) $(X_LIBS) $(HACK_POST2)
++ $(CXX) $(LDFLAGS) -o $@ $(HELPER_OBJS) $(LIBS) $(X_LIBS) $(HACK_POST2)
+
+
+ # These hacks use a slightly-differently-compiled variant of xlockmore.c.
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)
+}
+
diff --git a/packages/xscreensaver/xscreensaver_5.07.bb b/packages/xscreensaver/xscreensaver_5.07.bb
index 8e288b872a..8932b6fd3c 100644
--- a/packages/xscreensaver/xscreensaver_5.07.bb
+++ b/packages/xscreensaver/xscreensaver_5.07.bb
@@ -1,63 +1,9 @@
-# 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 virtual/libx11 gtk+ libxml2 libglade"
-
+require xscreensaver.inc
+PR = "r2"
SRC_URI = "http://www.jwz.org/xscreensaver/xscreensaver-${PV}.tar.gz \
file://configure.in.patch;patch=1 \
- file://XScreenSaver"
-
-# 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"
-
-PACKAGES =+ " xscreensaver-demo xscreensaver-extra"
-
-FILES_${PN}= "${bindir}/xscreensaver ${bindir}/xscreensaver-command \
- /usr/X11R6/lib/X11/app-defaults"
-
-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"
-}
-
-do_compile() {
- oe_runmake GNOME_DATADIR=${datadir} all
-}
-
-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}/usr/X11R6/lib/X11/app-defaults
- install -m 0644 ${WORKDIR}/XScreenSaver ${D}/usr/X11R6/lib/X11/app-defaults
-}
+ file://glfix.patch;patch=1 \
+ file://XScreenSaver"
-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')
-}