me
/
guix
Archived
1
0
Fork 0

gnu: Add ldns.

* gnu/packages/dns.scm (ldns): New variable.
* gnu/packages/patches/ldns-drill-examples.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
master
Raghav Gururajan 2020-07-29 12:50:18 -04:00 committed by Danny Milosavljevic
parent 14528483fb
commit 6a7256fc80
No known key found for this signature in database
GPG Key ID: E71A35542C30BAA5
3 changed files with 173 additions and 0 deletions

View File

@ -1199,6 +1199,7 @@ dist_patch_DATA = \
%D%/packages/patches/lcms-CVE-2018-16435.patch \ %D%/packages/patches/lcms-CVE-2018-16435.patch \
%D%/packages/patches/ldc-bootstrap-disable-tests.patch \ %D%/packages/patches/ldc-bootstrap-disable-tests.patch \
%D%/packages/patches/ldc-disable-phobos-tests.patch \ %D%/packages/patches/ldc-disable-phobos-tests.patch \
%D%/packages/patches/ldns-drill-examples.patch \
%D%/packages/patches/leela-zero-gtest.patch \ %D%/packages/patches/leela-zero-gtest.patch \
%D%/packages/patches/less-hurd-path-max.patch \ %D%/packages/patches/less-hurd-path-max.patch \
%D%/packages/patches/lib2geom-fix-tests.patch \ %D%/packages/patches/lib2geom-fix-tests.patch \

View File

@ -38,6 +38,7 @@
#:use-module (gnu packages autotools) #:use-module (gnu packages autotools)
#:use-module (gnu packages base) #:use-module (gnu packages base)
#:use-module (gnu packages bash) #:use-module (gnu packages bash)
#:use-module (gnu packages certs)
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages databases) #:use-module (gnu packages databases)
#:use-module (gnu packages documentation) #:use-module (gnu packages documentation)
@ -62,6 +63,7 @@
#:use-module (gnu packages protobuf) #:use-module (gnu packages protobuf)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages python-xyz) #:use-module (gnu packages python-xyz)
#:use-module (gnu packages shells)
#:use-module (gnu packages sphinx) #:use-module (gnu packages sphinx)
#:use-module (gnu packages swig) #:use-module (gnu packages swig)
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
@ -77,6 +79,91 @@
#:use-module (guix build-system meson) #:use-module (guix build-system meson)
#:use-module (guix build-system trivial)) #:use-module (guix build-system trivial))
(define-public ldns
(package
(name "ldns")
(version "1.7.1")
(source
(origin
(method url-fetch)
(uri
(string-append "https://www.nlnetlabs.nl/downloads/"
name "/" name "-" version ".tar.gz"))
(sha256
(base32 "0ac242n7996fswq1a3nlh1bbbhrsdwsq4mx7xq8ffq6aplb4rj4a"))
(patches
(search-patches
;; To create make-flag vairables,
;; for splitting installation of drill and examples.
"ldns-drill-examples.patch"))))
(build-system gnu-build-system)
(outputs '("out" "drill" "examples" "pyldns"))
(arguments
`( ;; Tests require Tpkg.
;; https://tpkg.github.io/
#:tests? #f
#:configure-flags
(list
"--disable-static"
"--enable-gost-anyway"
"--enable-rrtype-ninfo"
"--enable-rrtype-rkey"
"--enable-rrtype-ta"
"--enable-rrtype-avc"
"--enable-rrtype-doa"
"--enable-rrtype-amtrelay"
"--with-drill"
"--with-examples"
"--with-pyldns"
;; Perl module DNS::LDNS not available.
;; https://github.com/erikoest/DNS-LDNS.git
;; "--with-p5-dns-ldns"
(string-append "--with-ssl="
(assoc-ref %build-inputs "openssl"))
(string-append "--with-ca-path="
(assoc-ref %build-inputs "nss-certs")
"/etc/ssl/certs"))
#:make-flags
(list
(string-append "drillbindir="
(assoc-ref %outputs "drill")
"/bin")
(string-append "drillmandir="
(assoc-ref %outputs "drill")
"/share/man")
(string-append "examplesbindir="
(assoc-ref %outputs "examples")
"/bin")
(string-append "examplesmandir="
(assoc-ref %outputs "examples")
"/share/man")
(string-append "python_site="
(assoc-ref %outputs "pyldns")
"/lib/python"
,(version-major+minor
(package-version python))
"/site-packages"))))
(native-inputs
`(("doxygen" ,doxygen)
("ksh" ,oksh)
("perl" ,perl)
("perl-devel-checklib" ,perl-devel-checklib)
("pkg-config" ,pkg-config)
("python" ,python-wrapper)
("swig" ,swig)))
(inputs
`(("libpcap" ,libpcap)
("nss-certs" ,nss-certs)
("openssl" ,openssl)))
(synopsis "DNS library that facilitates DNS tool programming")
(description "LDNS aims to simplify DNS programming, it supports recent
RFCs like the DNSSEC documents, and allows developers to easily create
software conforming to current RFCs, and experimental software for current
Internet Drafts. A secondary benefit of using ldns is speed; ldns is written in
C it should be a lot faster than Perl.")
(home-page "https://nlnetlabs.nl/projects/ldns/about/")
(license license:bsd-3)))
(define-public dnsmasq (define-public dnsmasq
(package (package
(name "dnsmasq") (name "dnsmasq")

View File

@ -0,0 +1,85 @@
From 68916cd7ffb49ece9126d13ef984595595a156c4 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Wed, 29 Jul 2020 12:32:48 -0400
Subject: [PATCH] [PATCH]: Split installation of drill and examples.
---
Makefile.in | 38 +++++++++++++++++++++-----------------
1 file changed, 21 insertions(+), 17 deletions(-)
diff --git a/Makefile.in b/Makefile.in
index 442067de..9d2d5f4d 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -14,6 +14,10 @@ libdir = @libdir@
includedir = @includedir@
sysconfdir = @sysconfdir@
doxygen = @doxygen@
+drillbindir = @drillbindir@
+drillmandir = @drillmandir@
+examplesbindir = @examplesbindir@
+examplesmandir = @examplesmandir@
pywrapdir = $(srcdir)/contrib/python
pyldnsxwrapdir = $(srcdir)/contrib/ldnsx
p5_dns_ldns_dir = $(srcdir)/contrib/DNS-LDNS
@@ -154,16 +158,16 @@ drill/drill.1: $(srcdir)/drill/drill.1.in
$(edit) $(srcdir)/drill/drill.1.in > drill/drill.1
install-drill: drill/drill drill/drill.1
- $(INSTALL) -m 755 -d $(DESTDIR)$(bindir)
- $(INSTALL) -m 755 -d $(DESTDIR)$(mandir)
- $(INSTALL) -m 755 -d $(DESTDIR)$(mandir)/man1
- $(LIBTOOL) --mode=install cp drill/drill $(DESTDIR)$(bindir)
- $(INSTALL) -m 644 drill/drill.1 $(DESTDIR)$(mandir)/man1/drill.1
+ $(INSTALL) -m 755 -d $(drillbindir)
+ $(INSTALL) -m 755 -d $(drillmandir)
+ $(INSTALL) -m 755 -d $(drillmandir)/man1
+ $(LIBTOOL) --mode=install cp drill/drill $(drillbindir)
+ $(INSTALL) -m 644 drill/drill.1 $(drillmandir)/man1/drill.1
uninstall-drill:
- rm -f $(DESTDIR)$(bindir)/drill $(DESTDIR)$(mandir)/man1/drill.1
- test ! -d $(DESTDIR)$(mandir) || rmdir -p $(DESTDIR)$(mandir)/man1 || :;
- test ! -d $(DESTDIR)$(bindir) || rmdir -p $(DESTDIR)$(bindir) || : ;
+ rm -f $(drillbindir)/drill $(drillmandir)/man1/drill.1
+ test ! -d $(drillmandir) || rmdir -p $(drillmandir)/man1 || :;
+ test ! -d $(drillbindir) || rmdir -p $(drillbindir) || : ;
clean-drill:
$(LIBTOOL) --mode clean rm -f $(DRILL_LOBJS) drill/drill drill/drill.1
@@ -202,23 +206,23 @@ examples/ldns-verify-zone.1: $(srcdir)/examples/ldns-verify-zone.1.in
$(edit) $(srcdir)/examples/ldns-verify-zone.1.in > examples/ldns-verify-zone.1
install-examples: $(EXAMPLE_PROGS) $(TESTNS) $(LDNS_DPA) $(LDNS_DANE) $(EX_SSL_PROGS) examples/ldns-dane.1 examples/ldns-verify-zone.1
- $(INSTALL) -m 755 -d $(DESTDIR)$(bindir)
- $(INSTALL) -m 755 -d $(DESTDIR)$(mandir)
- $(INSTALL) -m 755 -d $(DESTDIR)$(mandir)/man1
+ $(INSTALL) -m 755 -d $(examplesbindir)
+ $(INSTALL) -m 755 -d $(examplesmandir)
+ $(INSTALL) -m 755 -d $(examplesmandir)/man1
for p in $(EXAMPLE_PROGS) $(TESTNS) $(LDNS_DPA) $(LDNS_DANE) $(EX_SSL_PROGS) ; do \
- $(LIBTOOL) --mode=install cp $$p $(DESTDIR)$(bindir) ; \
+ $(LIBTOOL) --mode=install cp $$p $(examplesbindir) ; \
if test -f $$p.1 ; \
- then $(INSTALL) -m 644 $$p.1 $(DESTDIR)$(mandir)/man1 ; \
- else $(INSTALL) -m 644 $(srcdir)/$$p.1 $(DESTDIR)$(mandir)/man1 ; \
+ then $(INSTALL) -m 644 $$p.1 $(examplesmandir)/man1 ; \
+ else $(INSTALL) -m 644 $(srcdir)/$$p.1 $(examplesmandir)/man1 ; \
fi ; \
done
uninstall-examples:
for p in $(EX_PROGS_BASENM) ; do \
- rm -f $(DESTDIR)$(bindir)/$$p $(DESTDIR)$(mandir)/man1/$$p.1 ;\
+ rm -f $(examplesbindir)/$$p $(examplesmandir)/man1/$$p.1 ;\
done
- test ! -d $(DESTDIR)$(mandir) || rmdir -p $(DESTDIR)$(mandir)/man1 || :;
- test ! -d $(DESTDIR)$(bindir) || rmdir -p $(DESTDIR)$(bindir) || : ;
+ test ! -d $(examplesmandir) || rmdir -p $(examplesmandir)/man1 || :;
+ test ! -d $(examplesbindir) || rmdir -p $(examplesbindir) || : ;
clean-examples:
$(LIBTOOL) --mode clean rm -f $(EXAMPLE_PROGS)
--
2.27.0