xscreensaver: enable more screensavers, add 'xscreensaver-hacks' meta package
authorKoen Kooi <koen@openembedded.org>
Sun, 7 Dec 2008 13:59:27 +0000 (14:59 +0100)
committerKoen Kooi <koen@openembedded.org>
Sun, 7 Dec 2008 13:59:27 +0000 (14:59 +0100)
packages/xscreensaver/xscreensaver-5.07/glfix.patch [new file with mode: 0644]
packages/xscreensaver/xscreensaver.inc [new file with mode: 0644]
packages/xscreensaver/xscreensaver_5.07.bb

diff --git a/packages/xscreensaver/xscreensaver-5.07/glfix.patch b/packages/xscreensaver/xscreensaver-5.07/glfix.patch
new file mode 100644 (file)
index 0000000..a91aa48
--- /dev/null
@@ -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 (file)
index 0000000..a4925ac
--- /dev/null
@@ -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)
+}
+
index 8e288b8..8932b6f 100644 (file)
@@ -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')
-}