aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias Geerinckx-Rice <me@tobias.gr>2021-04-04 13:11:40 +0200
committerTobias Geerinckx-Rice <me@tobias.gr>2021-04-04 15:16:45 +0200
commitb692a1bb45fc32bb88e4d897ce342015251943e4 (patch)
tree442f222b299f5a9caeca1e17105a324a64d214a0
parent719dd9b45f26a0b987f10665f45cdc8af3b2e7f4 (diff)
downloadguix-b692a1bb45fc32bb88e4d897ce342015251943e4.tar
guix-b692a1bb45fc32bb88e4d897ce342015251943e4.tar.gz
gnu: corkscrew: Update to 2.0-0.268b71e.
* gnu/packages/ssh.scm (corkscrew)[source]: Fetch from elsewhere. [arguments]: Add #:configure-flags of ‘--enable-ssl’. Add a new 'update-metadata phase. Remove the custom 'configure phase. [native-inputs]: Add autoconf, automake, and pkg-config. [inputs]: Add openssl. [description]: Update accordingly.
-rw-r--r--gnu/packages/ssh.scm93
1 files changed, 51 insertions, 42 deletions
diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm
index 68590e2fe5..fae10d0e16 100644
--- a/gnu/packages/ssh.scm
+++ b/gnu/packages/ssh.scm
@@ -403,48 +403,57 @@ libssh library.")
(deprecated-package "guile3.0-ssh" guile-ssh))
(define-public corkscrew
- (package
- (name "corkscrew")
- (version "2.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/patpadgett/corkscrew")
- (commit (string-append "v" version))))
- (sha256
- (base32 "0g4pkczrc1zqpnxyyjwcjmyzdj5qqcpzwf1bm3965zdwp94bpppf"))
- (file-name (git-file-name name version))))
- (build-system gnu-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (replace 'configure
- ;; Replace configure phase as the ./configure script does not like
- ;; CONFIG_SHELL and SHELL passed as parameters.
- (lambda* (#:key outputs build target #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (bash (which "bash"))
- ;; Set --build and --host flags as the provided config.guess
- ;; is not able to detect them.
- (flags `(,(string-append "--prefix=" out)
- ,(string-append "--build=" build)
- ,(string-append "--host=" (or target build)))))
- (setenv "CONFIG_SHELL" bash)
- (apply invoke bash "./configure" flags))))
- (add-after 'install 'install-documentation
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (doc (string-append out "/share/doc/" ,name "-" ,version)))
- (install-file "README.markdown" doc)
- #t))))))
- (home-page "https://github.com/patpadgett/corkscrew")
- (synopsis "SSH tunneling through HTTP(S) proxies")
- (description
- "Corkscrew tunnels SSH connections through most HTTP and HTTPS proxies.
-Proxy authentication is only supported through the plain-text HTTP basic
-authentication scheme.")
- (license license:gpl2+)))
+ ;; The last 2.0 release hails from 2009. Use a fork (submitted upstream as
+ ;; <https://github.com/patpadgett/corkscrew/pull/5>) that adds now-essential
+ ;; IPv6 and TLS support.
+ (let ((revision "0")
+ (commit "268b71e88ee51fddceab96d665b327394f1feb12"))
+ (package
+ (name "corkscrew")
+ (version (git-version "2.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rtgill82/corkscrew")
+ (commit commit)))
+ (sha256
+ (base32 "1rylbimlfig3ii4bqr4r058lkc43pqkxnxqpqdpm31blh3xs0dcw"))
+ (file-name (git-file-name name version))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags
+ (list "--enable-ssl")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'update-metadata
+ (lambda _
+ (substitute* "configure.ac"
+ ;; Our version differs significantly.
+ (("2.0") (string-append ,version " (Guix)")))
+ (substitute* "corkscrew.c"
+ ;; This domain's since been squat.
+ (("\\(agroman@agroman\\.net\\)")
+ (format #f "<~a>" ,(package-home-page this-package))))))
+ (add-after 'install 'install-documentation
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (doc (string-append out "/share/doc/" ,name "-" ,version)))
+ (install-file "README.md" doc)
+ #t))))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("openssl" ,openssl)))
+ (home-page "https://github.com/patpadgett/corkscrew")
+ (synopsis "SSH tunneling through HTTP(S) proxies")
+ (description
+ "Corkscrew tunnels SSH connections through most HTTP and HTTPS proxies.
+It supports proxy authentication through the HTTP basic authentication scheme
+with optional @acronym{TLS, Transport-Level Security} to protect credentials.")
+ (license license:gpl2+))))
(define-public mosh
(package