[bug#54920] gnu: tcl: Add tcl-tls to packages.
Commit Message
* gnu/packages/tcl.scm (tcl-tls): Added 1.7.22
---
gnu/packages/tcl.scm | 44 ++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 44 insertions(+)
Comments
Hi,
Daniel Lowe <dlowe@dlowe.net> skribis:
> * gnu/packages/tcl.scm (tcl-tls): Added 1.7.22
Applied. I followed up with cosmetic changes.
One question though:
> + (search-paths
> + (list (search-path-specification
> + (variable "TCLLIBPATH")
> + (separator " ")
> + (files (list (string-append "lib/tcltls" version))))))
This declaration most likely belongs in ‘tcl’ itself:
https://guix.gnu.org/manual/devel/en/html_node/Search-Paths.html
Most Tcl libraries that we have have that ‘search-paths’ declaration
though, and they would need to be fixed.
One problem is that they augment TCLLIBPATH not with a generic “lib/tcl”
(say) collection of directories, but instead with a package-specific
directory, like “lib/tcltls1.3”.
The solution would be to ensure that, instead, all these libraries
install their Tcl code in “lib/tcl” rather than “lib/PACKAGE”.
Since you’re into Tcl, would you like to give it a try? :-)
TIA,
Ludo’.
@@ -432,6 +432,50 @@ (define-public tclx
debugging tools.")
(license license:tcl/tk)))
+(define-public tcl-tls
+ (package
+ (name "tcl-tls")
+ (version "1.7.22")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://core.tcl-lang.org/tcltls/uv/tcltls-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1d639gzngxp7zwwpb4ayh663br6vhsbiy6wxm952rj2y4xx2nkp8"))))
+ (build-system gnu-build-system)
+ (inputs
+ (list tcl))
+ (propagated-inputs
+ (list openssl))
+ (arguments
+ '(#:configure-flags
+ (let ((out (assoc-ref %outputs "out"))
+ (tcl (assoc-ref %build-inputs "tcl"))
+ (ssllib (assoc-ref %build-inputs "openssl")))
+ (list "--with-ssl=libressl"
+ (string-append "-with-ssl-dir=" ssllib)
+ (string-append "--with-tcl=" tcl "/lib")
+ (string-append "--with-tclinclude=" tcl "/include")
+ (string-append "--exec-prefix=" out)
+ (string-append "--mandir=" out "/share/man")))
+
+ #:test-target "test"))
+ (search-paths
+ (list (search-path-specification
+ (variable "TCLLIBPATH")
+ (separator " ")
+ (files (list (string-append "lib/tcltls" version))))))
+ (home-page "https://core.tcl-lang.org/tcltls/index")
+ (synopsis "TCL binding to OpenSSL toolkit")
+ (description
+ "This extension provides a generic binding to OpenSSL, utilizing
+the Tcl_StackChannel API for Tcl 8.2 and higher. The sockets behave
+exactly the same as channels created using Tcl's built-in socket
+command with additional options for controlling the SSL session.")
+ (license license:public-domain)))
+
(define-public go-github.com-nsf-gothic
(let ((commit "97dfcc195b9de36c911a69a6ec2b5b2659c05652")
(revision "0"))