diff options
author | Tobias Geerinckx-Rice <me@tobias.gr> | 2020-10-15 02:36:02 +0200 |
---|---|---|
committer | Tobias Geerinckx-Rice <me@tobias.gr> | 2020-10-16 02:03:23 +0200 |
commit | 8154df5307bc3d27326e4a94c5b505a18c2723eb (patch) | |
tree | b55e1e8d6a66aa148f8858679e32c5ce5b699abc /gnu/packages/dns.scm | |
parent | 4caa84e29927d0ae225860ef0027359f2aa8d56a (diff) | |
download | guix-8154df5307bc3d27326e4a94c5b505a18c2723eb.tar.gz |
gnu: knot: Build separate outputs.
* gnu/packages/dns.scm (knot)[outputs]: New field adding :doc, :lib, and :tools outputs. [arguments]: Add #:configure-flags to install into :doc and :lib. Add a new ‘split-:tools’ phase to install into :tools. Add a new ‘break-circular-:lib->:out-reference’ phase to do just that.
Diffstat (limited to 'gnu/packages/dns.scm')
-rw-r--r-- | gnu/packages/dns.scm | 31 |
1 files changed, 28 insertions, 3 deletions
diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index 1775660162..c5a6c98cb9 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -827,9 +827,15 @@ Extensions} (DNSSEC).") (delete-file-recursively "src/contrib/libbpf") #t)))) (build-system gnu-build-system) + (outputs (list "out" "doc" "lib" "tools")) (arguments `(#:configure-flags - (list "--sysconfdir=/etc" + (list (string-append "--docdir=" (assoc-ref %outputs "doc") + "/share/" ,name "-" ,version) + (string-append "--infodir=" (assoc-ref %outputs "doc") + "/share/info") + (string-append "--libdir=" (assoc-ref %outputs "lib") "/lib") + "--sysconfdir=/etc" "--localstatedir=/var" "--enable-dnstap" ; let tools read/write capture files "--enable-fastparser" ; disabled by default when .git/ exists @@ -844,7 +850,7 @@ Extensions} (DNSSEC).") (substitute* "configure.ac" (("enable_xdp=yes" match) (string-append match "\nlibbpf_LIBS=\"$libbpf_LIBS -lz\""))) - #t)) + #true)) (add-before 'bootstrap 'update-parser (lambda _ (with-directory-excursion "src" @@ -868,7 +874,26 @@ Extensions} (DNSSEC).") "install")))) (add-after 'install 'install-info (lambda _ - (invoke "make" "install-info")))))) + (invoke "make" "install-info"))) + (add-after 'install 'break-circular-:lib->:out-reference + (lambda* (#:key outputs #:allow-other-keys) + (let ((lib (assoc-ref outputs "lib"))) + (for-each (lambda (file) + (substitute* file + (("(prefix=).*" _ assign) + (string-append assign lib "\n")))) + (find-files lib "\\.pc$")) + #true))) + (add-after 'install 'split-:tools + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (tools (assoc-ref outputs "tools"))) + (mkdir-p (string-append tools "/share/man")) + (rename-file (string-append out "/bin") + (string-append tools "/bin")) + (rename-file (string-append out "/share/man/man1") + (string-append tools "/share/man/man1")) + #true)))))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) |