2021-11-02 21:06:24 +01:00
|
|
|
(define-module (glicid packages ssh)
|
|
|
|
#:use-module (guix packages)
|
|
|
|
#:use-module (guix download)
|
|
|
|
#:use-module (guix git-download)
|
|
|
|
#:use-module (guix build-system gnu)
|
|
|
|
#:use-module (guix build-system cmake)
|
|
|
|
; #:use-module (guix licenses)
|
|
|
|
#:use-module (gnu packages gawk)
|
|
|
|
#:use-module (gnu packages gcc)
|
|
|
|
#:use-module (gnu packages commencement)
|
|
|
|
#:use-module (guix build-system python)
|
|
|
|
#:use-module ((guix licenses) #:prefix license:)
|
|
|
|
#:use-module ((guix utils) #:select (target-64bit?))
|
|
|
|
#:use-module (gnu packages)
|
|
|
|
#:use-module (gnu packages admin)
|
|
|
|
#:use-module (gnu packages autotools)
|
|
|
|
#:use-module (gnu packages base)
|
|
|
|
#:use-module (gnu packages freeipmi)
|
|
|
|
#:use-module (gnu packages linux)
|
|
|
|
#:use-module (gnu packages mpi)
|
|
|
|
#:use-module (gnu packages perl)
|
|
|
|
#:use-module (gnu packages pkg-config)
|
|
|
|
#:use-module (gnu packages parallel)
|
|
|
|
#:use-module (gnu packages storage)
|
|
|
|
#:use-module (gnu packages networking)
|
|
|
|
#:use-module (gnu packages gtk)
|
|
|
|
#:use-module (gnu packages python)
|
|
|
|
#:use-module (gnu packages python-science)
|
|
|
|
#:use-module (gnu packages python-web)
|
|
|
|
#:use-module (gnu packages python-xyz)
|
|
|
|
#:use-module (gnu packages readline)
|
|
|
|
#:use-module (gnu packages tcl)
|
|
|
|
#:use-module (gnu packages tls)
|
|
|
|
#:use-module (gnu packages commencement)
|
|
|
|
#:use-module (gnu packages gcc)
|
|
|
|
#:use-module (gnu packages chemistry)
|
|
|
|
#:use-module (gnu packages sphinx)
|
|
|
|
#:use-module (srfi srfi-1)
|
|
|
|
#:use-module (gnu packages mpi)
|
|
|
|
#:use-module (gnu packages sssd)
|
|
|
|
#:use-module (gnu packages fabric-management)
|
|
|
|
#:use-module (gnu packages benchmark)
|
|
|
|
#:use-module (gnu packages messaging)
|
|
|
|
#:use-module (gnu packages web)
|
|
|
|
#:use-module (gnu packages gnome)
|
|
|
|
#:use-module (gnu packages cluster)
|
|
|
|
#:use-module (gnu packages libevent)
|
|
|
|
#:use-module (gnu packages xorg)
|
|
|
|
#:use-module (gnu packages fontutils)
|
|
|
|
#:use-module (gnu packages flex)
|
|
|
|
#:use-module (gnu packages bison)
|
|
|
|
#:use-module (gnu packages pkg-config)
|
|
|
|
#:use-module (gnu packages autotools)
|
|
|
|
#:use-module (gnu packages fontutils)
|
|
|
|
#:use-module (guix build-system gnu)
|
|
|
|
#:use-module (gnu packages image)
|
|
|
|
#:use-module (gnu packages maths)
|
|
|
|
#:use-module (guix utils)
|
|
|
|
#:use-module (gnu packages cmake)
|
|
|
|
#:use-module (gnu packages pretty-print)
|
|
|
|
#:use-module (gnu packages boost)
|
|
|
|
#:use-module (gnu packages curl)
|
|
|
|
#:use-module (gnu packages cryptsetup)
|
|
|
|
#:use-module (gnu packages xml)
|
|
|
|
#:use-module (gnu packages admin)
|
|
|
|
#:use-module (gnu packages assembly)
|
|
|
|
#:use-module (gnu packages authentication)
|
|
|
|
#:use-module (gnu packages bdw-gc)
|
|
|
|
#:use-module (gnu packages boost)
|
|
|
|
#:use-module (gnu packages compression)
|
|
|
|
#:use-module (gnu packages crypto)
|
|
|
|
#:use-module (gnu packages cryptsetup)
|
|
|
|
#:use-module (gnu packages curl)
|
|
|
|
#:use-module (gnu packages databases)
|
|
|
|
#:use-module (gnu packages disk)
|
|
|
|
#:use-module (gnu packages gperf)
|
|
|
|
#:use-module (gnu packages jemalloc)
|
|
|
|
#:use-module (gnu packages linux)
|
|
|
|
#:use-module (gnu packages lua)
|
|
|
|
#:use-module (gnu packages ncurses)
|
|
|
|
#:use-module (gnu packages networking)
|
|
|
|
#:use-module (gnu packages nss)
|
|
|
|
#:use-module (gnu packages openldap)
|
|
|
|
#:use-module (gnu packages pkg-config)
|
|
|
|
#:use-module (gnu packages python)
|
|
|
|
#:use-module (gnu packages python-xyz)
|
|
|
|
#:use-module (gnu packages sphinx)
|
|
|
|
#:use-module (gnu packages tls)
|
|
|
|
#:use-module (gnu packages web)
|
|
|
|
;; #:use-module (gnu packages glicid)
|
|
|
|
#:use-module (gnu packages pretty-print)
|
|
|
|
#:use-module (gnu packages virtualization)
|
|
|
|
#:use-module (glicid packages storage)
|
|
|
|
#:use-module (glicid packages mpi)
|
|
|
|
#:use-module (glicid packages gcc)
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
;;;;;;;;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(use-modules (guix packages))
|
|
|
|
(use-modules (guix download))
|
|
|
|
(use-modules (gnu packages linux))
|
|
|
|
(use-modules (gnu packages gcc))
|
|
|
|
;;(use-modules (gnu packages glicid))
|
|
|
|
(use-modules (gnu packages ssh))
|
|
|
|
(use-modules (gnu packages hurd))
|
|
|
|
(use-modules (guix build-system gnu))
|
|
|
|
(use-modules (guix build-system cmake))
|
|
|
|
(use-modules (gnu packages compression))
|
|
|
|
(use-modules (gnu packages crypto))
|
|
|
|
(use-modules (gnu packages tls))
|
|
|
|
;;(use-modules (gnu packages glicid))
|
|
|
|
(use-modules (gnu packages pkg-config))
|
|
|
|
|
|
|
|
|
|
|
|
(use-modules ((guix licenses) #:prefix license:))
|
|
|
|
|
|
|
|
|
|
|
|
(define-public glicid-libcbor
|
|
|
|
(package
|
|
|
|
(name "glicid-libcbor")
|
|
|
|
(version "0.8.0")
|
|
|
|
(source
|
|
|
|
(origin
|
|
|
|
|
|
|
|
(method url-fetch)
|
|
|
|
(uri (string-append
|
|
|
|
"http://github.com/PJK/libcbor/archive/refs/tags/v" version ".tar.gz"))
|
|
|
|
(sha256
|
|
|
|
(base32
|
|
|
|
"12vw46ahhsc3ydnivkv5lvk1cn4sjjmcr639cjcl99d4dqb9g031"))
|
|
|
|
|
|
|
|
))
|
|
|
|
(build-system cmake-build-system)
|
|
|
|
|
|
|
|
(arguments
|
|
|
|
`(#:configure-flags (list "-DCMAKE_CXX_FLAGS=-fPIE"
|
|
|
|
"-DCMAKE_C_FLAGS=-fPIE")))
|
|
|
|
|
|
|
|
|
|
|
|
(synopsis "libfido2")
|
|
|
|
(description "Todo")
|
|
|
|
(home-page "toto")
|
|
|
|
(license license:gpl2+)
|
|
|
|
|
|
|
|
|
|
|
|
))
|
|
|
|
|
|
|
|
|
2021-11-23 22:32:00 +01:00
|
|
|
(define-public libfido2-1.8.0
|
2021-11-02 21:06:24 +01:00
|
|
|
(package
|
|
|
|
|
2021-11-23 22:32:00 +01:00
|
|
|
(name "libfido2")
|
2021-11-02 21:06:24 +01:00
|
|
|
(version "1.8.0")
|
|
|
|
(source
|
|
|
|
(origin
|
|
|
|
|
|
|
|
(method url-fetch)
|
|
|
|
(uri (string-append "https://developers.yubico.com/libfido2/Releases/libfido2-"
|
|
|
|
version ".tar.gz"))
|
|
|
|
; (file-name (string-append name "-" version ".tar.gz"))
|
|
|
|
(sha256
|
|
|
|
(base32
|
|
|
|
"07gxyy5yzgfh5hg7q9fr77z5mkj0xjvd5ya7p5f5kar4iwc92hjm"))
|
|
|
|
|
|
|
|
|
|
|
|
))
|
|
|
|
|
|
|
|
(build-system cmake-build-system)
|
|
|
|
(arguments '(#:tests? #f))
|
|
|
|
|
|
|
|
|
|
|
|
(inputs `(
|
|
|
|
("glicid-libcbor",glicid-libcbor)
|
|
|
|
("openssl",openssl)
|
|
|
|
("zlib", zlib)
|
|
|
|
("pkg-config", pkg-config) ; or cmake won't find zlib !
|
|
|
|
("eudev", eudev)
|
|
|
|
|
|
|
|
))
|
|
|
|
|
|
|
|
(synopsis "libfido2")
|
|
|
|
(description "Todo")
|
|
|
|
(home-page "toto")
|
|
|
|
(license license:gpl2+)
|
|
|
|
)
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
2021-11-23 22:32:00 +01:00
|
|
|
(define-public libfido2-1.9.0
|
|
|
|
(package
|
|
|
|
(inherit libfido2-1.8.0)
|
|
|
|
(version "1.9.0")
|
|
|
|
(source
|
|
|
|
(origin
|
|
|
|
(method url-fetch)
|
|
|
|
(uri (string-append "https://developers.yubico.com/libfido2/Releases/libfido2-" version ".tar.gz"))
|
|
|
|
; (file-name (string-append name "-" version ".tar.gz"))
|
|
|
|
(sha256 (base32 "07gxyy5yzgfh5hg7q9fr77z5mkj0xjvd5ya7p5f5kar4iwc92hjm"))
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
(define libfido2-latest libfido2-1.9.0)
|
|
|
|
|
2021-11-02 21:06:24 +01:00
|
|
|
(define-public glicid-specific-openssh
|
|
|
|
(package
|
|
|
|
(inherit openssh)
|
|
|
|
(name "glicid-specific-openssh")
|
|
|
|
(arguments
|
|
|
|
|
|
|
|
`(#:test-target "tests"
|
|
|
|
;; Otherwise, the test scripts try to use a nonexistent directory and
|
|
|
|
;; fail.
|
|
|
|
#:make-flags '("REGRESSTMP=\"$${BUILDDIR}/regress\"")
|
|
|
|
|
|
|
|
#:configure-flags `("--sysconfdir=/etc/ssh"
|
|
|
|
|
|
|
|
;; Default value of 'PATH' used by sshd.
|
|
|
|
"--with-default-path=/run/current-system/profile/bin"
|
|
|
|
|
|
|
|
;; configure needs to find krb5-config.
|
|
|
|
,(string-append "--with-kerberos5="
|
|
|
|
(assoc-ref %build-inputs "mit-krb5")
|
|
|
|
"/bin")
|
|
|
|
|
|
|
|
;; libedit is needed for sftp completion.
|
|
|
|
"--with-libedit"
|
|
|
|
;; for u2f
|
|
|
|
"--with-security-key-builtin"
|
|
|
|
; ,(string-append "--with-fido2=" (assoc-ref %build-inputs "libfido2"))
|
|
|
|
|
|
|
|
;; Enable PAM support in sshd.
|
|
|
|
,,@(if (hurd-target?)
|
|
|
|
'()
|
|
|
|
'("--with-pam"))
|
|
|
|
|
|
|
|
;; "make install" runs "install -s" by default,
|
|
|
|
;; which doesn't work for cross-compiled binaries
|
|
|
|
;; because it invokes 'strip' instead of
|
|
|
|
;; 'TRIPLET-strip'. Work around this.
|
|
|
|
,,@(if (%current-target-system)
|
|
|
|
'("--disable-strip")
|
|
|
|
'()
|
|
|
|
))
|
|
|
|
|
|
|
|
|
|
|
|
#:phases
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
(add-after 'configure 'reset-/var/empty
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
|
|
(let ((out (assoc-ref outputs "out")))
|
|
|
|
(substitute* "Makefile"
|
|
|
|
(("PRIVSEP_PATH=/var/empty")
|
|
|
|
(string-append "PRIVSEP_PATH=" out "/var/empty")))
|
|
|
|
#t)))
|
|
|
|
(add-before 'check 'patch-tests
|
|
|
|
(lambda _
|
|
|
|
(substitute* "regress/test-exec.sh"
|
|
|
|
(("/bin/sh") (which "sh")))
|
|
|
|
|
|
|
|
;; Remove 't-exec' regress target which requires user 'sshd'.
|
|
|
|
(substitute* (list "Makefile"
|
|
|
|
"regress/Makefile")
|
|
|
|
(("^(tests:.*) t-exec(.*)" all pre post)
|
|
|
|
(string-append pre post)))
|
|
|
|
#t))
|
|
|
|
(replace 'install
|
|
|
|
(lambda* (#:key outputs (make-flags '()) #:allow-other-keys)
|
|
|
|
;; Install without host keys and system configuration files.
|
|
|
|
(apply invoke "make" "install-nosysconf" make-flags)
|
|
|
|
(install-file "contrib/ssh-copy-id"
|
|
|
|
(string-append (assoc-ref outputs "out")
|
|
|
|
"/bin/"))
|
|
|
|
(chmod (string-append (assoc-ref outputs "out")
|
|
|
|
"/bin/ssh-copy-id") #o555)
|
|
|
|
(install-file "contrib/ssh-copy-id.1"
|
|
|
|
(string-append (assoc-ref outputs "out")
|
|
|
|
"/share/man/man1/"))
|
|
|
|
#t))) ; ))
|
|
|
|
|
|
|
|
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
2021-11-23 22:32:00 +01:00
|
|
|
(inputs `(("libfido2", libfido2-latest)
|
2021-11-02 21:06:24 +01:00
|
|
|
("glicid-libcbor", glicid-libcbor)
|
|
|
|
,@(package-inputs openssh)))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
;;; glicid/ssh.scm ends here
|