overlay
https://github.com/geki-yaba/gekis-playground
___
howto
https://github.com/geki-yaba/gekis-play ... i/Boost.md
___
hi there!
I have started splitting up the boost build.
I hope the gentoo boost maintainers may see the use of it somewhen.
general improvements - can be achieved in various ways!
[ - move code from ebuild to eclass
[ => single source to maintain
[ => ebuilds ( and if it is just of the one boost package ) just include the minimal necessary descriptions
[ - add something like boost-utils eclass ( yes, the eselect module could do it, too, and ... )
[ => for packages to get specific version(s) - see: 306151 & hackerly ebuild diff
[ - make libraries optional by ...
optional ideas
[ - create tarballs for patches
[ => clean filesdir
[ => uniform way to handle patches in eclass - apply all patches in directory instead of filling src_prepare with 'epatch $patch'
[ - split headers for RDEPEND <-> DEPEND of packages
not supported
[ - unversioned libraries in LIBDIR
[ - no eselect necessary
[ - either add include/library path to your projects or use boost-utils eclass.
[ => automagic is evil(tm)
___
you may remove boost & eselect-boost and its left-overs located at
( the eselect code from the ebuild is commented out in the eclass. )/usr/include/boost
/usr/lib/libboost_*
now, you may check your system for boost libraries used.
___# libraries
for f in $(find /usr/lib/ -type f -name '*.so*'); do echo $f; ldd $f | grep boost; done
# binaries
for f in $(find /usr/bin/ -type f -perm -111); do echo $f; ldd $f | grep boost; done
# binaries under LIBDIR
for f in $(find /usr/lib/ -type f -perm -111 ! -name '*.so*'); do echo $f; ldd $f | grep boost; done
a line of RDEPEND from lince ebuild.
add 'boost-utils' to 'inherit' at the top of the ebuilddev-libs/boost[date_time,filesystem,signals,thread]
add this line to src_configure before configure ; it checks for the respective library path of the boost-headers version!
truely fixes these bugs: 306151 & hackerly ebuild diffadd_boost_paths
even runtime is resolved properly!
voila!ana portage # ldd /usr/lib64/liblince-1.so.0.0.5|grep boost
libboost_date_time-mt-1_42.so.1.42.0 => /usr/lib/libboost_date_time-mt-1_42.so.1.42.0 (0x00007ff922bbf000)
libboost_signals-mt-1_42.so.1.42.0 => /usr/lib/libboost_signals-mt-1_42.so.1.42.0 (0x00007ff9229ac000)
libboost_system-mt-1_42.so.1.42.0 => /usr/lib/libboost_system-mt-1_42.so.1.42.0 (0x00007ff921c8c000)
libboost_filesystem-mt-1_42.so.1.42.0 => /usr/lib/libboost_filesystem-mt-1_42.so.1.42.0 (0x00007ff921a7b000)
libboost_thread-mt-1_42.so.1.42.0 => /usr/lib/libboost_thread-mt-1_42.so.1.42.0 (0x00007ff92186a000)
___
one thing may already be said, there is no increase in [bug=307921#c1]compile-time[/bug].
there are two or three intra-dependencies within boost libraries from ~15 libraries available.
- they compile that fast it does not hurt.
___
please help testing! thank you.
note: gentoo boost maintainers have done a great ebuild. nearly 1:1 copy as eclass for splitted version. thanks go to them!







