#! /usr/bin/env python

top = '.'

def configure(conf):
	pass

def build(bld):
	bld(rule='touch ${TGT}', target='foo.txt')
	bld.install_files('${PREFIX}/bin', 'foo.txt')

# ---------------------------

import shutil

from waflib import Build
class package_cls(Build.InstallContext):
	cmd = 'package'
	fun = 'build'

	def init_dirs(self, *k, **kw):
		super(package_cls, self).init_dirs(*k, **kw)
		self.tmp = self.bldnode.make_node('package_tmp_dir')
		try:
			shutil.rmtree(self.tmp.abspath())
		except:
			pass
		self.tmp.mkdir()
		self.options.destdir = self.tmp.abspath()

	def execute(self, *k, **kw):
		back = self.options.destdir
		try:
			super(package_cls, self).execute(*k, **kw)
		finally:
			self.options.destdir = back

		files = self.tmp.ant_glob('**')

		# we could mess with multiple inheritance but that's probably unnecessary
		from waflib import Scripting
		ctx = Scripting.Dist()
		ctx.files = files
		ctx.tar_prefix = ''
		ctx.base_path = self.tmp
		ctx.archive()

		shutil.rmtree(self.tmp.abspath())

