summaryrefslogtreecommitdiffstats
path: root/modules/cabal.py
diff options
context:
space:
mode:
Diffstat (limited to 'modules/cabal.py')
-rw-r--r--modules/cabal.py16
1 files changed, 14 insertions, 2 deletions
diff --git a/modules/cabal.py b/modules/cabal.py
index 4b118d6..4ddea87 100644
--- a/modules/cabal.py
+++ b/modules/cabal.py
@@ -47,8 +47,12 @@ class Cabal(BuildSystem):
name is a Package (Directory) that uses cabal for its build system
'''
- self.name = name
- self.pkg_src = DirFactory(name)
+ if type(name) is string:
+ self.pkg_src = DirFactory(name)
+ self.name = name
+ else:
+ self.pkg_src = name
+ self.name = name.name
self.compiler = haskell_compiler
def find_setup(self):
@@ -126,6 +130,14 @@ class Cabal(BuildSystem):
log.info('Building %s, please wait...' % self.name)
p.wait()
+ def install_source(self, target='home', *args):
+ '''perform configure, build, and install steps in one
+ '''
+ with self.pkg_src.src(*args):
+ self.configure(target, orig)
+ self.build(orig)
+ self.install(orig)
+
def close(self):
self.pkg_src.close()