[arch-general] Fwd: Proposal for the static library problem in Arch
Delcypher
delcypher at gmail.com
Sat Sep 28 10:26:56 EDT 2013
Hi,
Apparently I cannot post to arch-dev-public so I'm posting this here.
This is a proposal for making separate packages for static libraries
(with a patch for Boost C++ libraries as an example). Please see
below...
---------- Forwarded message ----------
From: Daniel Liew <daniel.liew at imperial.ac.uk>
Date: 28 September 2013 14:58
Subject: Proposal for the static library problem in Arch
To: arch-dev-public at archlinux.org
Hi All,
I've noticed recently that there have been problems with static
libraries being removed from packages. E.g.
https://bugs.archlinux.org/task/35257
https://bugs.archlinux.org/task/34491
https://mailman.archlinux.org/pipermail/arch-general/2010-September/016152.html
https://mailman.archlinux.org/pipermail/arch-dev-public/2013-March/024552.html
I've only just joined to mailing list so I couldn't find a way to
reply to the emails I have never received so I thought I'd just start
a new thread (apologies).
I see both sides of the argument as valid:
- Lots of people don't need the static libraries so why include them
in packages, they are wasting space.
On the other hand...
- Some developers need static libraries to build their projects.
In my case I needed to build a static library that has dependencies on
the Boost library. I do not want unresolved symbols to Boost C++
library functions in there.
I really don't think that completely removing static libraries from
the repositories is the correct approach because it I believe the
choice of whether or not to have static libraries on your system
should be down to the user and not the distro (yes I'm aware I could
compile boost myself... that's what I'm doing right now but what
happened to "Keep it Simple"? If I wanted to compile loads of stuff
from scratch I'd be using Gentoo).
So my proposal is this:
For popular packages that have can build static libraries and shared
libraries, build both but put the static libraries into their own
"*-staticlibs" package and the *-libs" packages should contain only
shared libraries. For example for boost you would have
boost : Development headers + other files
boost-libs : Boost shared libraries
boost-static-libs : Boost static libraries
The boost package dependencies would be set to be dependent on boost-libs but
**not** boost-staticlibs so the static libraries would only be
installed if the user explicitly installed them.
So everybody wins. Static libraries are not installed by default
saving disk space but the static libraries are available as packages
should the user decide they need them.
Looking at the PKGBUILD syntax this looked quite trivial to do so I've
done it for Boost and the patch is attached (apply against boost 1.54.0-3
PKGBUILD)
Thoughts?
Thanks,
Dan Liew
-------------- next part --------------
A non-text attachment was scrubbed...
Name: boost-seperate-static-libs-1.54.0-3.patch
Type: application/octet-stream
Size: 1733 bytes
Desc: not available
URL: <http://mailman.archlinux.org/pipermail/arch-general/attachments/20130928/01d813bf/attachment.obj>
More information about the arch-general
mailing list