summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-06-04 16:49:34 +0200
committerLudovic Courtès <ludo@gnu.org>2013-06-04 16:49:34 +0200
commit765904ceb66db8abeebd0882c54634ee389c89c2 (patch)
tree07853c800280d93dc5fdcc06998c73fb8b49fe29
parent9bf3c1a77d2e0fcf8d6eeafa5f3018038129fe02 (diff)
downloadguix-765904ceb66db8abeebd0882c54634ee389c89c2.tar.gz
gnu: Add Tk.
* gnu/packages/tcl.scm (tk): New variable.
-rw-r--r--gnu/packages/tcl.scm39
1 files changed, 39 insertions, 0 deletions
diff --git a/gnu/packages/tcl.scm b/gnu/packages/tcl.scm
index abd4ba5817..d025bff72d 100644
--- a/gnu/packages/tcl.scm
+++ b/gnu/packages/tcl.scm
@@ -20,6 +20,7 @@
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix build-system gnu)
+  #:use-module (gnu packages xorg)
   #:use-module (guix licenses))
 
 (define-public tcl
@@ -115,3 +116,41 @@ stuff trivial. Expect is also useful for testing these same
 applications. And by adding Tk, you can wrap interactive applications in
 X11 GUIs.")
     (license public-domain)))            ; as written in `license.terms'
+
+(define-public tk
+  (package
+    (name "tk")
+    (version "8.6.0")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append "mirror://sourceforge/tcl/Tcl/"
+                                 version "/tk" version "-src.tar.gz"))
+             (sha256
+              (base32
+               "1rld0l7p1h31z488w44j170jpsm11xsjf2qrb7gid2b5dwmqnw2w"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:phases (alist-cons-before
+                 'configure 'pre-configure
+                 (lambda _
+                   (chdir "unix"))
+                 %standard-phases)
+
+       #:configure-flags (list (string-append "--with-tcl="
+                                              (assoc-ref %build-inputs "tcl")
+                                              "/lib"))
+
+       ;; The tests require a running X server, so we just skip them.
+       #:tests? #f))
+    (inputs `(("tcl" ,tcl)))
+
+    ;; tk.h refers to X11 headers, hence the propagation.
+    (propagated-inputs `(("libx11" ,libx11)
+                         ("libxext" ,libxext)))
+
+    (home-page "http://www.tcl.tk/")
+    (synopsis "Graphical user interface toolkit for Tcl")
+    (description
+     "Tk is a graphical toolkit for building graphical user interfaces
+(GUIs) in the Tcl language.")
+    (license (package-license tcl))))