unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Roel Janssen <roel@gnu.org>
To: Dave Love <dave.love@manchester.ac.uk>
Cc: 28690@debbugs.gnu.org
Subject: [bug#28690] provide a lib output for boost
Date: Wed, 11 Oct 2017 10:39:40 +0200	[thread overview]
Message-ID: <874lr6w02b.fsf@gnu.org> (raw)
In-Reply-To: <87d164b36m.fsf@albion.it.manchester.ac.uk>


Dave Love writes:

> I mentioned elsewhere noticing the large size of boost in closures.
> I've now realized what the problem was with making a lib output, and
> done one, as below.  However, presumably it should have a dependency of
> out on lib for compatibility, and I don't know the right way to do that.
>
> The lib package is 17MiB, and the headers are 108MiB.
>
>>From 1bb845d1d45ee7e8b9447bab902f3de41f0acfac Mon Sep 17 00:00:00 2001
> From: Dave Love <fx@gnu.org>
> Date: Tue, 3 Oct 2017 16:18:59 +0100
> Subject: [PATCH] gnu: boost: Make a "lib" output.
>
> This save about half the contribution to the Closure of things linked against
> it,
>
> * gnu/packages/boost.scm(outputs): Add lib.
> (arguments)[mv-lib]: Add move the lib output into place after install.
> ---
>  gnu/packages/boost.scm | 11 +++++++++--
>  1 file changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm
> index 4c7308e9d..c1e622fcd 100644
> --- a/gnu/packages/boost.scm
> +++ b/gnu/packages/boost.scm
> @@ -53,6 +53,7 @@
>       `(("perl" ,perl)
>         ("python" ,python-2)
>         ("tcsh" ,tcsh)))
> +    (outputs '("out" "lib"))
>      (arguments
>       `(#:tests? #f
>         #:make-flags
> @@ -60,7 +61,7 @@
>  
>               ;; Set the RUNPATH to $libdir so that the libs find each other.
>               (string-append "linkflags=-Wl,-rpath="
> -                            (assoc-ref %outputs "out") "/lib")
> +                            (assoc-ref %outputs "lib") "/lib")
>  
>               ;; Boost's 'context' library is not yet supported on mips64, so
>               ;; we disable it.  The 'coroutine' library depends on 'context',
> @@ -99,7 +100,13 @@
>           (replace
>               'install
>             (lambda* (#:key outputs make-flags #:allow-other-keys)
> -             (zero? (apply system* "./b2" "install" make-flags)))))))
> +             (zero? (apply system* "./b2" "install" make-flags))))
> +         (add-after 'install 'mv-lib
> +           (lambda _
> +             (mkdir-p (assoc-ref %outputs "lib"))
> +             (rename-file (string-append %output "/lib")
> +                          (string-append (assoc-ref %outputs "lib")
> +                                         "/lib")))))))
>  
>      (home-page "http://boost.org")
>      (synopsis "Peer-reviewed portable C++ source libraries")

Boost consists of various modules or components.  Some of these are
"header-only".  How does this patch handle that?

If I were to install the "lib" output, could I then compile a C++
program that uses a header-only part of Boost?

Kind regards,
Roel Janssen

  reply	other threads:[~2017-10-11  8:41 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-03 16:34 [bug#28690] provide a lib output for boost Dave Love
2017-10-11  8:39 ` Roel Janssen [this message]
2017-10-19 10:57   ` Dave Love
2017-10-19 14:19     ` Roel Janssen
2017-10-20 12:58     ` Ludovic Courtès
2017-10-20 13:21       ` Thomas Danckaert
2017-10-20 16:14         ` Ludovic Courtès
2017-10-22 16:50           ` Dave Love
2017-10-22 19:03             ` Ludovic Courtès
2017-10-24 13:28               ` Thomas Danckaert
2017-10-24 15:30                 ` Ludovic Courtès
2017-12-03 23:07                 ` Ricardo Wurmus
2017-12-04  8:19                   ` Thomas Danckaert
2017-10-20 16:09       ` Dave Love
2017-10-20 20:14         ` Ludovic Courtès
2017-10-19 12:52 ` Thomas Danckaert
2017-10-20  9:20   ` Dave Love
2017-10-20  9:46     ` Thomas Danckaert
2017-10-20 15:34       ` Dave Love
2022-01-13 15:45 ` zimoun
2022-02-03  2:30   ` zimoun
2022-06-23 10:01     ` zimoun
2022-06-23 11:35       ` Thomas Danckaert via Guix-patches
2022-10-08 15:06         ` bug#28690: " zimoun

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=874lr6w02b.fsf@gnu.org \
    --to=roel@gnu.org \
    --cc=28690@debbugs.gnu.org \
    --cc=dave.love@manchester.ac.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).