;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu>
+;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
(define-module (gnu packages tcl)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system go)
#:use-module (guix build-system perl)
#:use-module (gnu packages)
#:use-module (gnu packages image)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
- #:use-module (guix licenses))
+ #:use-module ((guix licenses) #:prefix license:))
(define-public tcl
(package
(name "tcl")
- (version "8.6.9")
+ (version "8.6.10")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/tcl/Tcl/"
version "/tcl" version "-src.tar.gz"))
(sha256
(base32
- "0kjzj7mkzfnb7ksxanbibibfpciyvsh5ffdlhs0bmfc75kgd435d"))))
+ "1vc7imilx6kcb5319r7hnrp4jn5pqb41an3vr3azhgcfcgvdp5ji"))
+ (patches (search-patches "tcl-fix-cross-compilation.patch"))))
(build-system gnu-build-system)
(arguments
- '(#:phases (modify-phases %standard-phases
+ `(#:phases (modify-phases %standard-phases
(add-before 'configure 'pre-configure
(lambda _ (chdir "unix") #t))
(add-after 'install 'install-private-headers
;; PREFIX/share/man. The 'validate-documentation-location' phase is
;; not able to fix this up because the default install populates both
;; PREFIX/man and PREFIX/share/man.
- #:configure-flags (list (string-append "--mandir="
- (assoc-ref %outputs "out")
- "/share/man"))
+ #:configure-flags
+ (list (string-append "--mandir="
+ (assoc-ref %outputs "out")
+ "/share/man")
+ ;; This is needed when cross-compiling, see:
+ ;; https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=719247
+ ,@(if (%current-target-system)
+ '("tcl_cv_strtod_buggy=1"
+ "ac_cv_func_strtod=yes")
+ '()))
;; XXX: There are a few test failures (related to HTTP, most
;; likely related to name resolution), but that doesn't cause
;; `make' to fail.
#:test-target "test"))
- (home-page "http://www.tcl.tk/")
+ (home-page "https://www.tcl.tk/")
(synopsis "The Tcl scripting language")
(description "The Tcl (Tool Command Language) scripting language.")
- (license tcl/tk)))
+ (license license:tcl/tk)))
(define-public expect
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'
+ (license license:public-domain))) ; as written in `license.terms'
(define-public tk
(package
(name "tk")
- (version "8.6.9.1")
+ (version "8.6.10")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/tcl/Tcl/"
version "-src.tar.gz"))
(sha256
(base32
- "1d7bfkxpacy33w5nahf73lkwxqpff44w1jplg7i2gmwgiaawvjwg"))
+ "11p3ycqbr5116vpaxv6fl6md6gcav1ffspgr8wrlc2lxhn543pv3"))
(patches (search-patches "tk-find-library.patch"))))
(build-system gnu-build-system)
(arguments
"/lib -lfontconfig")))
#t))))
- #:configure-flags (list (string-append "--with-tcl="
- (assoc-ref %build-inputs "tcl")
- "/lib"))
+ #:configure-flags
+ (list (string-append "--with-tcl="
+ (assoc-ref %build-inputs "tcl")
+ "/lib")
+ ;; This is needed when cross-compiling, see:
+ ;; https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=719247
+ ,@(if (%current-target-system)
+ '("tcl_cv_strtod_buggy=1"
+ "ac_cv_func_strtod=yes")
+ '()))
;; The tests require a running X server, so we just skip them.
#:tests? #f))
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("libx11" ,libx11)
("libpng" ,libpng)
- ("libjpeg" ,libjpeg)))
+ ("libjpeg" ,libjpeg-turbo)))
(arguments
`(#:make-maker-flags `(,(string-append
"X11=" (assoc-ref %build-inputs "libx11")))
;; those of the orignal Tix4.1.3 or Tk8.4.* sources. See the files
;; pTk/license.terms, pTk/license.html_lib, and pTk/Tix.license for
;; details of this license."
- (license perl-license)))
+ (license license:perl-license)))
(define-public tcllib
(package
(name "tcllib")
- (version "1.18")
+ (version "1.19")
(source (origin
(method url-fetch)
- (uri (string-append "mirror://sourceforge/" name "/" name "/"
- version "/" name "-" version ".tar.gz"))
+ (uri (string-append "mirror://sourceforge/tcllib/tcllib/"
+ version "/tcllib-" version ".tar.gz"))
(sha256
(base32
- "05dmrk9qsryah2n17z6z85dj9l9lfyvnsd7faw0p9bs1pp5pwrkj"))))
+ "173abxaazdmf210v651708ab6h7xhskvd52krxk6ifam337qgzh1"))))
(build-system gnu-build-system)
(native-inputs
`(("tcl" ,tcl)))
application may register callback scripts for certain document features, and
when the parser encounters those features while parsing the document the
callback is evaluated.")
- (license (non-copyleft
+ (license (license:non-copyleft
"file://LICENCE"
"See LICENCE in the distribution."))))
application development. TclX provides additional interfaces to the operating
system, and adds many new programming constructs, text manipulation tools, and
debugging tools.")
- (license tcl/tk)))
+ (license license:tcl/tk)))
+
+(define-public go-github.com-nsf-gothic
+ (let ((commit "97dfcc195b9de36c911a69a6ec2b5b2659c05652")
+ (revision "0"))
+ (package
+ (name "go-github.com-nsf-gothic")
+ (version (git-version "0.0.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/nsf/gothic")
+ (commit commit)))
+ (sha256
+ (base32
+ "1lrhbml6r4sh22rrn3m9bck70pv0g0c1diprg7cil90x0jidxczr"))
+ (file-name (git-file-name name version))))
+ (build-system go-build-system)
+ (arguments
+ `(#:import-path "github.com/nsf/gothic"))
+ (propagated-inputs
+ `(("tk" ,tk)
+ ("tcl" ,tcl)))
+ (home-page "https://github.com/nsf/gothic")
+ (synopsis "Tcl/Tk Go bindings")
+ (description "Gothic contains Go bindings for Tcl/Tk. The package contains
+only one type and one function that can be used to create a Tk interpreter.")
+ (license license:expat))))