You are not logged in.
Pages: 1
Recently I've been using boost threads in some of my apps, until I remembered that they actually need a runtime library and that Arch's boost package has ~120 MB.
This is fine for most situations because boost is mostly only needed at build time, not at runtime. However its a bit much just for adding multithreading to an app Other distros (I checked Ubuntu) split boost into several components. libboost-thread + libboost-thread-dev have 385 kB combined.
Likewise, it would (probably, from looking at ubuntu deps) drop akonadis boost dependency from 120 Megs to ~ 1M (libboost-program-options{,-dev}.
What I'm proposing is a separate split package for each runtime component, +1 with all nonruntime sources.
Opinions?
Edit:
The list of packages depending on boost - http://www.archlinux.org/packages/extra/x86_64/boost/
That's currently 30 packages that would (propably) lose a huge dependency.
Edit #2: Feature request at http://bugs.archlinux.org/task/19749
Last edited by schuay (2010-06-09 07:24:53)
Offline
You should file a feature request in our bug tracker.
Offline
I think and hope that the "simple arch way" means that reducing number of packages is preffered, in this case i prefer to have one boost package which include everything (as it is now).
Offline
I think and hope that the "simple arch way" means that reducing number of packages is preffered, in this case i prefer to have one boost package which include everything (as it is now).
In principle I agree with you, but you don't seriously want a 120M dependency when it could be a few hundred kB?
Pierre, I will file a feature request in a bit (unless everybody seems to be against this idea).
Last edited by schuay (2010-06-07 08:33:04)
Offline
I've used boost in the past, and to be honest, it was nice to just install the lot on arch, and not worry about whether I needed to install all the packages at once. If people want to split it into smaller packages though, then could we maybe group them into the different categories, so libboost-string etc and then have a meta for all of them :S
Might be more work for the devs, not sure, but as I said I am quite happy with the current situation.
Offline
If possible I would like to voice my support for splitting boost up - or at least filing a feature request and seeing what the devs think about it. I dont have boost installed right now, and there is one package (referencer) I would like to use but avoid installing it because of the size of one of its dependencies - boost at ~120MB. Of course my opinion is only that of a user and not a dev, so I dont know how much work/how feasible this is, but I still think it is a good idea to make this request formal on the bug tracker.
Offline
i only say one two words: patches welcomed.
boost is a monster and i don't know how easy is to split this monster easy. note that some modules may depend on other modules. how do you plan to detect that?
Give what you have. To someone, it may be better than you dare to think.
Offline
I would like to have multiple boost modules in the arch repository, too.
Maybe we could use BCP (http://www.boost.org/doc/libs/1_43_0/to … index.html) to find the best subsets, both minimal and disjoint.
Offline
I think that schuay should split boost and put it up on aur for large scale testing
If it works nicely and ins't too much work to maintain, then it could be adobted into the main repos.
Evil #archlinux@libera.chat channel op and general support dude.
. files on github, Screenshots, Random pics and the rest
Offline
I had to install Boost @ 110MB just to use Encfs @ 2MB!
So it would be great if the run-time parts could be separated out.
Thumbs up from me
Offline
I think that schuay should split boost and put it up on aur for large scale testing
Does AUR support split packages now, then? Or do you want him to implement that while he's at it?
Offline
Does AUR support split packages now, then? Or do you want him to implement that while he's at it?
Why would aur need special support for it?
Evil #archlinux@libera.chat channel op and general support dude.
. files on github, Screenshots, Random pics and the rest
Offline
ataraxia wrote:Does AUR support split packages now, then? Or do you want him to implement that while he's at it?
Why would aur need special support for it?
I seem to recall that AUR does something bad if you upload a split PKGBUILD. It's been a while since I last tried it, though.
Offline
Offline
Thanks for the replies!
The feature request is now opened at: http://bugs.archlinux.org/task/19749
Offline
Mr.Elendig wrote:ataraxia wrote:Does AUR support split packages now, then? Or do you want him to implement that while he's at it?
Why would aur need special support for it?
I seem to recall that AUR does something bad if you upload a split PKGBUILD. It's been a while since I last tried it, though.
There is an easy workaround for that tho:
# pkgname=('real' 'pkg' 'name')
pkgname=('boost-split-edit-the-PKGBUILD')
But yea, it can be a bit iritating.
Evil #archlinux@libera.chat channel op and general support dude.
. files on github, Screenshots, Random pics and the rest
Offline
Splitting this into boost-libs and boost will take away 90% of the size taken by boost for applications that link dynamic to boost. This change is backwards compatible for existing packages, all packages linking to boost dynamic should adjust dependencies and add makedepends.
Going further than a splitup in two packages is not going to happen. We did the same splitup for gcc/gcc-libs before, so we can do this with boost also.
Offline
Awesome, sounds good to me!
Thanks
Offline
Here's a quick hack for boost runtime components:
The only real changes are
1) conversion to a split package, and
2) using build target 'stage' for bjam instead of 'install'
Package sizes are looking pretty good:
-rw-r--r-- 1 me me 138K Jun 9 23:02 boost-date-time-1.41.0-1-x86_64.pkg.tar.gz
-rw-r--r-- 1 me me 185K Jun 9 23:02 boost-filesystem-1.41.0-1-x86_64.pkg.tar.gz
-rw-r--r-- 1 me me 447K Jun 9 23:02 boost-graph-1.41.0-1-x86_64.pkg.tar.gz
-rw-r--r-- 1 me me 131K Jun 9 23:02 boost-iostreams-1.41.0-1-x86_64.pkg.tar.gz
-rw-r--r-- 1 me me 4.9M Jun 9 23:02 boost-math-1.41.0-1-x86_64.pkg.tar.gz
-rw-r--r-- 1 me me 939K Jun 9 23:02 boost-program-options-1.41.0-1-x86_64.pkg.tar.gz
-rw-r--r-- 1 me me 768K Jun 9 23:02 boost-python-1.41.0-1-x86_64.pkg.tar.gz
-rw-r--r-- 1 me me 2.2M Jun 9 23:02 boost-regex-1.41.0-1-x86_64.pkg.tar.gz
-rw-r--r-- 1 me me 782K Jun 9 23:02 boost-serialization-1.41.0-1-x86_64.pkg.tar.gz
-rw-r--r-- 1 me me 191K Jun 9 23:02 boost-signals-1.41.0-1-x86_64.pkg.tar.gz
-rw-r--r-- 1 me me 26K Jun 9 23:02 boost-system-1.41.0-1-x86_64.pkg.tar.gz
-rw-r--r-- 1 me me 2.5M Jun 9 23:02 boost-test-1.41.0-1-x86_64.pkg.tar.gz
-rw-r--r-- 1 me me 89K Jun 9 23:02 boost-thread-1.41.0-1-x86_64.pkg.tar.gz
-rw-r--r-- 1 me me 2.4M Jun 9 23:02 boost-wave-1.41.0-1-x86_64.pkg.tar.gz
Not included: boost headers.
Tested boost-thread so far, seems to be working.
Edit: Just noticed that the python dep could be removed for all packages except boost-python.
Last edited by schuay (2010-06-09 21:22:48)
Offline
Just to save you some work if you are wanting you PKGBUILD to be used in [extra], splitting beyond "boost" and "boost-libs", with boost-libs containing all the shared libraries, is unlikely to ever occur.
Offline
Split into boost/boost-libs;
Diff from current PKGBUILD: http://pastebin.org/322674
Entire PKGBUILD: http://pastebin.org/322678
Seems like it only halves the size though:
p -Qi boost{,-libs} | grep Size
Installed Size : 64804.00 K
Installed Size : 59008.00 K
Offline
There is no need to include static libs in the -libs package. Only /usr/lib/*.so{.*}
Offline
So static libs should be in the main package?
Looking much better now:
$ p -Qi boost{,-libs} | grep Size
Installed Size : 110200.00 K
Installed Size : 13604.00 K
Last edited by schuay (2010-06-10 08:40:26)
Offline
Yes - those are the numbers Jan reported in the bug report.
Offline
Pages: 1