1 # xscreensaver OE build file
2 # Copyright (C) 2004, Advanced Micro Devices, Inc. All Rights Reserved
3 # Released under the MIT license (see packages/COPYING)
5 DESCRIPTION = "*The* screensaver package for X11"
6 HOMEPAGE = "http://www.jwz.org/xscreensaver/"
9 DEPENDS = "intltool virtual/libgl freeglut virtual/libx11 gtk+ libxml2 libglade"
11 # xscreensaver-demo is a glade app
12 LDFLAGS_append = " -Wl,--export-dynamic"
13 TARGET_CC_ARCH += "${LDFLAGS}"
19 export INTLTOOL_PERL="/usr/bin/env perl"
21 EXTRA_OECONF=" --with-xml \
34 PACKAGES =+ " xscreensaver-demo xscreensaver-extra"
36 FILES_${PN}= "${bindir}/xscreensaver ${bindir}/xscreensaver-text ${bindir}/xscreensaver-command ${datadir}/applications \
39 FILES_${PN}-dbg += "${libexecdir}/xscreensaver/.debug"
41 FILES_xscreensaver-demo="${bindir}/xscreensaver-demo ${datadir}/xscreensaver \
44 FILES_xscreensaver-extra="${bindir}/xscreensaver-getimage*"
46 do_configure_prepend() {
47 sed -i 's:GTK_DATADIR="$GTK_DATADIR/share":GTK_DATADIR="${datadir}":' ${S}/configure.in
49 export includedir="/lib"
50 sed -i -e s:AC_PROG_CC:AC_PROG_CXX:g configure.in
51 echo AC_PROG_CXX >> configure.in
56 oe_runmake CC="${CC}" LD="${CXX}" CC_HACK="${CXX}" GNOME_DATADIR=${datadir} all
59 fakeroot do_install() {
61 oe_runmake -C ${S}/driver GNOME_DATADIR=${datadir} \
62 install_prefix=${D} install
64 oe_runmake -C ${S}/hacks install_prefix=${D} install-program
66 # Install the defaults file
67 install -d ${D}/${libdir}/X11/app-defaults
68 install -m 0644 ${WORKDIR}/XScreenSaver ${D}/${libdir}/X11/app-defaults
71 PACKAGES_DYNAMIC = "xscreensaver-hack-*"
73 python populate_packages_prepend () {
74 hackdir = bb.data.expand('${libexecdir}/xscreensaver', d)
75 do_split_packages(d, hackdir, '^(.*)', 'xscreensaver-hack-%s', 'XScreensaver hack %s')
76 metapkg = "xscreensaver-hacks"
77 bb.data.setVar('ALLOW_EMPTY_' + metapkg, "1", d)
78 bb.data.setVar('FILES_' + metapkg, "", d)
79 blacklist = [ 'xscreensaver-locale', 'xscreensaver-dev', 'xscreensaver-dbg', 'xscreensaver-doc', 'xscreensaver-extra' ]
81 packages = bb.data.getVar('PACKAGES', d, 1).split()
82 for pkg in packages[1:]:
83 if not pkg in blacklist and not pkg in metapkg_rdepends:
84 metapkg_rdepends.append(pkg)
85 bb.data.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends), d)
86 bb.data.setVar('DESCRIPTION_' + metapkg, 'Xscreensaver hacks meta package', d)
87 packages.append(metapkg)
88 bb.data.setVar('PACKAGES', ' '.join(packages), d)