mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-25 22:08:16 -05:00
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.
This commit is contained in:
parent
4caa84e299
commit
8154df5307
1 changed files with 28 additions and 3 deletions
|
@ -827,9 +827,15 @@ (define-public knot
|
|||
(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 @@ (define-public knot
|
|||
(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 @@ (define-public knot
|
|||
"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)
|
||||
|
|
Loading…
Reference in a new issue