zimoun <zimon.touto...@gmail.com> writes: > Dear, > > When I run `guix install protobuf:static -p path/to/profile` then I > expect that the headers are in "path/to/profile" but they are not. > However, they appear without the ":static" flag. > > I am confused. > > Moreover, the static libraries are even copied without the flag ":static". > > --8<---------------cut here---------------start------------->8--- > (add-after 'install 'move-static-libraries > (lambda* (#:key outputs #:allow-other-keys) > ;; Move static libraries to the "static" output. > (let* ((out (assoc-ref outputs "out")) > (lib (string-append out "/lib")) > (static (assoc-ref outputs "static")) > (slib (string-append static "/lib"))) > (mkdir-p slib) > (for-each (lambda (file) > (install-file file slib) > (delete-file file)) > (find-files lib "\\.a$")) > --8<---------------cut here---------------end--------------->8--- > > > What should be the correct behaviour of "out" vs "static"?
'static' outputs typically contain *only* the .a libraries, as you found. If you want the headers, you need to add protobuf:out too. I think there were proposals to start using a 'dev' output for headers and such, but don't know if it got anywhere.
signature.asc
Description: PGP signature