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
next prev parent 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).