mirror of
https://gitlab.univ-nantes.fr/glicid-public/guix-glicid.git
synced 2025-04-29 21:58:36 +02:00
115 lines
6.3 KiB
Scheme
115 lines
6.3 KiB
Scheme
(define-module (glicid packages dns)
|
||
#:use-module (guix build-system gnu)
|
||
#:use-module (guix build-system cargo)
|
||
#:use-module (guix download)
|
||
#:use-module ((guix licenses) #:prefix license:)
|
||
#:use-module (guix packages)
|
||
#:use-module (guix utils)
|
||
#:use-module (gnu packages datastructures)
|
||
#:use-module (gnu packages linux)
|
||
#:use-module (gnu packages libevent)
|
||
#:use-module (gnu packages perl)
|
||
#:use-module (gnu packages pkg-config)
|
||
#:use-module (gnu packages python)
|
||
#:use-module (gnu packages python-xyz)
|
||
#:use-module (gnu packages tls)
|
||
#:use-module (gnu packages xml)
|
||
#:use-module (glicid packages web)
|
||
#:use-module (gnu packages crates-io)
|
||
#:use-module (gnu packages crates-web)
|
||
#:use-module (gnu packages crates-tls))
|
||
|
||
(define-public isc-bind
|
||
(package
|
||
(name "bind")
|
||
(version "9.20.1")
|
||
(source (origin
|
||
(method url-fetch)
|
||
(uri (list (string-append "https://downloads.isc.org/isc/bind9/" version "/bind-" version ".tar.xz")))
|
||
(sha256 (base32 "1c5f548l4b6w61x6vxlf2d88sbli4fn26mrbnqrhsh9197vxyvgy"))))
|
||
(build-system gnu-build-system)
|
||
(outputs `("out" "utils"))
|
||
(inputs
|
||
(list libcap libuv liburcu libxml2 openssl p11-kit python `(,nghttp2 "lib") python-ply))
|
||
(native-inputs
|
||
(list perl pkg-config))
|
||
(arguments
|
||
`(
|
||
#:configure-flags
|
||
(list "--with-sysroot=/"
|
||
(string-append "--with-pkcs11=" (assoc-ref %build-inputs "p11-kit")))
|
||
#:phases
|
||
(modify-phases %standard-phases
|
||
(add-after 'strip 'move-to-utils
|
||
(lambda _
|
||
(for-each
|
||
(lambda (file)
|
||
(let ((target (string-append (assoc-ref %outputs "utils") file))
|
||
(src (string-append (assoc-ref %outputs "out") file)))
|
||
(mkdir-p (dirname target))
|
||
(link src target)
|
||
(delete-file src)))
|
||
'("/bin/dig" "/bin/delv" "/bin/nslookup" "/bin/host" "/bin/nsupdate"
|
||
"/share/man/man1/dig.1" "/share/man/man1/host.1" "/share/man/man1/nslookup.1"
|
||
"/share/man/man1/nsupdate.1"))
|
||
#t))
|
||
(replace 'check
|
||
(lambda _
|
||
(with-directory-excursion "fuzz" (invoke "make" "check"))
|
||
#t)))))
|
||
(synopsis "@acronym{DNS, Domain Name System} implementation")
|
||
(description "BIND implements the @acronym{DNS, Domain Name System} protocols for the Internet. check gnu/packages/dns for more")
|
||
(home-page "https://www.isc.org/bind/")
|
||
(license (list license:mpl2.0))))
|
||
|
||
|
||
(define-public rust-hickory-dns-0.24
|
||
(package
|
||
(name "rust-hickory-dns")
|
||
(version "0.24.0")
|
||
(source
|
||
(origin
|
||
(method url-fetch)
|
||
(uri (crate-uri "hickory-dns" version))
|
||
(file-name (string-append name "-" version ".tar.gz"))
|
||
(sha256
|
||
(base32 "0lxa0yz7fng4gjbgqcjxfbfsw62lwamgfhzzf44cimi0vmk092yb"))))
|
||
(build-system cargo-build-system)
|
||
(arguments
|
||
`(#:tests? #f ;Error: No such file or directory (os error 2)
|
||
#:cargo-inputs (("rust-clap" ,rust-clap-4)
|
||
("rust-futures-util" ,rust-futures-util-0.3)
|
||
("rust-hickory-client" ,rust-hickory-client-0.24)
|
||
("rust-hickory-proto" ,rust-hickory-proto-0.24)
|
||
("rust-hickory-server" ,rust-hickory-server-0.24)
|
||
("rust-rustls" ,rust-rustls-0.21)
|
||
("rust-time" ,rust-time-0.3)
|
||
("rust-tokio" ,rust-tokio-1)
|
||
("rust-tracing" ,rust-tracing-0.1)
|
||
("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3))
|
||
#:features (list "dns-over-https-rustls") ; YD
|
||
#:cargo-development-inputs (("rust-hickory-proto" ,rust-hickory-proto-0.24)
|
||
("rust-hickory-resolver" ,rust-hickory-resolver-0.24)
|
||
("rust-native-tls" ,rust-native-tls-0.2)
|
||
("rust-regex" ,rust-regex-1)
|
||
("rust-webpki-roots" ,rust-webpki-roots-0.25))))
|
||
(inputs (list openssl-3.0)) ;; shouldn't be necessary
|
||
(home-page "https://hickory-dns.org/")
|
||
(synopsis
|
||
"Hickory DNS is a safe and secure DNS server with DNSSEC support.
|
||
Eventually this could be a replacement for BIND9. The DNSSEC support allows
|
||
for live signing of all records, in it does not currently support
|
||
records signed offline. The server supports dynamic DNS with SIG0 authenticated
|
||
requests. Hickory DNS is based on the Tokio and Futures libraries, which means
|
||
it should be easily integrated into other software that also use those
|
||
libraries.
|
||
")
|
||
(description
|
||
"Hickory DNS is a safe and secure DNS server with DNSSEC support. Eventually
|
||
this could be a replacement for BIND9. The DNSSEC support allows for live
|
||
signing of all records, in it does not currently support records signed offline.
|
||
The server supports dynamic DNS with SIG0 authenticated requests. Hickory DNS
|
||
is based on the Tokio and Futures libraries, which means it should be easily
|
||
integrated into other software that also use those libraries.")
|
||
(license (list license:expat license:asl2.0)
|
||
)))
|