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.

Attachment: signature.asc
Description: PGP signature

Reply via email to