From 07f1dd23da686ded444c658c3cde7916534fb7b0 Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Sun, 7 Dec 2008 14:59:27 +0100 Subject: xscreensaver: enable more screensavers, add 'xscreensaver-hacks' meta package --- .../xscreensaver/xscreensaver-5.07/glfix.patch | 20 +++++ packages/xscreensaver/xscreensaver.inc | 87 ++++++++++++++++++++++ packages/xscreensaver/xscreensaver_5.07.bb | 62 +-------------- 3 files changed, 111 insertions(+), 58 deletions(-) create mode 100644 packages/xscreensaver/xscreensaver-5.07/glfix.patch create mode 100644 packages/xscreensaver/xscreensaver.inc (limited to 'packages') 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') -} -- cgit v1.2.3