GNU bug report logs - #46728
[PATCH 0/7] gnu: aws-sdk-cpp: Update to 1.8.148.

Previous Next

Package: guix-patches;

Reported by: Greg Hogan <code <at> greghogan.com>

Date: Tue, 23 Feb 2021 23:13:01 UTC

Severity: normal

Tags: patch

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #38 received at 46728 <at> debbugs.gnu.org (full text, mbox):

From: Greg Hogan <code <at> greghogan.com>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 46728 <at> debbugs.gnu.org, Leo Famulari <leo <at> famulari.name>
Subject: Re: bug#46728: [PATCH 0/7] gnu: aws-sdk-cpp: Update to 1.8.148.
Date: Tue, 2 Mar 2021 15:13:29 -0500
[Message part 1 (text/plain, inline)]
On Tue, Mar 2, 2021 at 2:37 PM Ludovic Courtès <ludo <at> gnu.org> wrote:

> Hi,
>
> Greg Hogan <code <at> greghogan.com> skribis:
>
> > The AWS packages (aws-sdk-cpp and dependencies) are currently built as
> > static libraries. I would like to build both static and shared but could
> > not find an example or simple method for building both using cmake. Do
> you
> > think it would be worthwhile to extend the cmake-build-system to
> optionally
> > configure, build, and install static libraries with additional phases?
> The
> > gnu-build-system makes it easy to inline a new phase into the package
> > definition (when the makefile has both 'make' and 'make static' targets)
> > but with CMake we are forced to duplicate the configure phase, which is
> 44
> > lines of code.
>
> In general, it’s best to build only shared libraries.  That allows for
> reduced memory usage, fast security updates via grafts, etc.  So if you
> could make the AWS packages build as shared libraries only, that’d be
> great.
>
> It’s OK to optionally add static libraries, preferably in a separate
> output or even a separate package, but that’s not what should be used by
> default.
>
> Does that make sense?


Yes, I would prefer to provide shared as the default output and static as a
separate output to the same package. There look to be three options:

1) separate packages (as with boost and boost-static). This is simple but
not as elegant (boost-static is the eighth most relevant package when guix
search'ing for "boost").

2) duplicate CMake phases in the package definition (much more verbose than
with gnu-build-system). This results in considerable duplication of build
system code and is unmaintainable.

3) extend the cmake-build-system to optionally configure, build, and
install static libraries with additional phases. The ideal result but
requires modification of the cmake-build-system.

Thoughts?


> Thanks,
> Ludo’.
>
[Message part 2 (text/html, inline)]

This bug report was last modified 4 years and 67 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.