summary refs log tree commit diff
path: root/pkgs/development/interpreters/tcl
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/interpreters/tcl')
-rw-r--r--pkgs/development/interpreters/tcl/8.5.nix11
-rw-r--r--pkgs/development/interpreters/tcl/8.6.nix11
-rw-r--r--pkgs/development/interpreters/tcl/default.nix27
-rw-r--r--pkgs/development/interpreters/tcl/generic.nix32
4 files changed, 54 insertions, 27 deletions
diff --git a/pkgs/development/interpreters/tcl/8.5.nix b/pkgs/development/interpreters/tcl/8.5.nix
new file mode 100644
index 00000000000..193ff4f9376
--- /dev/null
+++ b/pkgs/development/interpreters/tcl/8.5.nix
@@ -0,0 +1,11 @@
+{ callPackage, fetchurl, ... } @ args:
+
+callPackage ./generic.nix (args // rec {
+  release = "8.5";
+  version = "${release}.18";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/tcl/tcl${version}-src.tar.gz";
+    sha256 = "1jfkqp2fr0xh6xvaqx134hkfa5kh7agaqbxm6lhjbpvvc1xfaaq3";
+  };
+})
diff --git a/pkgs/development/interpreters/tcl/8.6.nix b/pkgs/development/interpreters/tcl/8.6.nix
new file mode 100644
index 00000000000..fd88c8e8716
--- /dev/null
+++ b/pkgs/development/interpreters/tcl/8.6.nix
@@ -0,0 +1,11 @@
+{ callPackage, fetchurl, ... } @ args:
+
+callPackage ./generic.nix (args // rec {
+  release = "8.6";
+  version = "${release}.4";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/tcl/tcl${version}-src.tar.gz";
+    sha256 = "13cwa4bc85ylf5gfj9vk182lvgy60qni3f7gbxghq78wk16djvly";
+  };
+})
diff --git a/pkgs/development/interpreters/tcl/default.nix b/pkgs/development/interpreters/tcl/default.nix
deleted file mode 100644
index 913c73f01f3..00000000000
--- a/pkgs/development/interpreters/tcl/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ stdenv, fetchurl }:
-
-stdenv.mkDerivation {
-  name = "tcl-8.6.4";
-
-  src = fetchurl {
-    url = mirror://sourceforge/tcl/tcl8.6.4-src.tar.gz;
-    sha256 = "13cwa4bc85ylf5gfj9vk182lvgy60qni3f7gbxghq78wk16djvly";
-  };
-
-  preConfigure = "cd unix";
-
-  postInstall = ''
-    make install-private-headers
-    ln -s $out/bin/tclsh8.6 $out/bin/tclsh
-  '';
-  
-  meta = {
-    description = "The Tcl scription language";
-    homepage = http://www.tcl.tk/;
-    license = stdenv.lib.licenses.tcltk;
-  };
-  
-  passthru = {
-    libdir = "lib/tcl8.5";
-  };
-}
diff --git a/pkgs/development/interpreters/tcl/generic.nix b/pkgs/development/interpreters/tcl/generic.nix
new file mode 100644
index 00000000000..8b5722c79c8
--- /dev/null
+++ b/pkgs/development/interpreters/tcl/generic.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl
+
+# Version specific stuff
+, release, version, src
+, ...
+}:
+
+stdenv.mkDerivation rec {
+  name = "tcl-${version}";
+
+  inherit src;
+
+  preConfigure = "cd unix";
+
+  postInstall = ''
+    make install-private-headers
+    ln -s $out/bin/tclsh${release} $out/bin/tclsh
+  '';
+  
+  meta = with stdenv.lib; {
+    description = "The Tcl scription language";
+    homepage = http://www.tcl.tk/;
+    license = licenses.tcltk;
+    platforms = platforms.all;
+  };
+  
+  passthru = rec {
+    inherit release version;
+    libPrefix = "tcl${release}";
+    libdir = "lib/${libPrefix}";
+  };
+}