summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/tcl/package.py
diff options
context:
space:
mode:
Diffstat (limited to 'var/spack/repos/builtin/packages/tcl/package.py')
-rw-r--r--var/spack/repos/builtin/packages/tcl/package.py28
1 files changed, 19 insertions, 9 deletions
diff --git a/var/spack/repos/builtin/packages/tcl/package.py b/var/spack/repos/builtin/packages/tcl/package.py
index a4d8b515bb..d9b535305d 100644
--- a/var/spack/repos/builtin/packages/tcl/package.py
+++ b/var/spack/repos/builtin/packages/tcl/package.py
@@ -24,7 +24,8 @@
##############################################################################
from spack import *
-class Tcl(Package):
+
+class Tcl(AutotoolsPackage):
"""Tcl (Tool Command Language) is a very powerful but easy to
learn dynamic programming language, suitable for a very wide
range of uses, including web and desktop applications,
@@ -34,9 +35,6 @@ class Tcl(Package):
extensible."""
homepage = "http://www.tcl.tk"
- def url_for_version(self, version):
- return 'http://prdownloads.sourceforge.net/tcl/tcl%s-src.tar.gz' % version
-
version('8.6.5', '0e6426a4ca9401825fbc6ecf3d89a326')
version('8.6.4', 'd7cbb91f1ded1919370a30edd1534304')
version('8.6.3', 'db382feca91754b7f93da16dc4cdad1f')
@@ -44,8 +42,20 @@ class Tcl(Package):
depends_on('zlib')
- def install(self, spec, prefix):
- with working_dir('unix'):
- configure("--prefix=%s" % prefix)
- make()
- make("install")
+ def url_for_version(self, version):
+ base_url = 'http://prdownloads.sourceforge.net/tcl'
+ return '{0}/tcl{1}-src.tar.gz'.format(base_url, version)
+
+ def setup_environment(self, spack_env, env):
+ # When using Tkinter from within spack provided python+tk, python
+ # will not be able to find Tcl/Tk unless TCL_LIBRARY is set.
+ env.set('TCL_LIBRARY', join_path(self.prefix.lib, 'tcl{0}'.format(
+ self.spec.version.up_to(2))))
+
+ def build_directory(self):
+ return 'unix'
+
+ @AutotoolsPackage.sanity_check('install')
+ def symlink_tclsh(self):
+ with working_dir(self.prefix.bin):
+ symlink('tclsh{0}'.format(self.version.up_to(2)), 'tclsh')