Sync with portage [Thu Nov 1 10:40:16 MSK 2012].

mhiretskiy
root 12 years ago
parent 3c6407c3aa
commit 86693d78c5

@ -0,0 +1,358 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-admin/collectd/collectd-5.1.0-r2.ebuild,v 1.1 2012/10/30 19:33:13 hwoarang Exp $
EAPI=4
inherit eutils base linux-info perl-app autotools multilib user
DESCRIPTION="A small daemon which collects system performance statistics - with a near-infinite number of plugins"
HOMEPAGE="http://collectd.org"
SRC_URI="${HOMEPAGE}/files/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="contrib debug kernel_linux kernel_FreeBSD kernel_Darwin perl static-libs"
# The plugin lists have to follow here since they extend IUSE
# Plugins that to my knowledge cannot be supported (eg. dependencies not in gentoo)
COLLECTD_IMPOSSIBLE_PLUGINS="netapp pinba xmms"
# Plugins that still need some work
COLLECTD_UNTESTED_PLUGINS="ipvs apple_sensors tape zfs_arc modbus amqp genericjmx lpar redis threshold write_redis v5upgrade"
# Plugins that have been (compile) tested and can be enabled via COLLECTD_PLUGINS
COLLECTD_TESTED_PLUGINS="apache apcups ascent battery bind conntrack contextswitch
cpu cpufreq curl curl_json curl_xml dbi df disk dns email entropy ethstat exec filecount fscache gmond
hddtemp interface ipmi iptables irq java libvirt load madwifi mbmon md memcachec
memcached memory multimeter mysql netlink network nfs nginx ntpd numa nut olsrd
onewire openvpn perl ping postgresql powerdns processes protocols python
rrdcached sensors serial snmp swap table tail tcpconns teamspeak2 ted thermal
tokyotyrant uptime users varnish vmem vserver wireless csv exec logfile network
notify_desktop notify_email oracle perl python routeros rrdcached rrdtool syslog unixsock
write_graphite write_http write_mongodb match_empty_counter match_hashed match_regex match_timediff
match_value target_notification target_replace target_scale target_set uuid"
COLLECTD_DISABLED_PLUGINS="${COLLECTD_IMPOSSIBLE_PLUGINS} ${COLLECTD_UNTESTED_PLUGINS}"
COLLECTD_ALL_PLUGINS=${COLLECTD_TESTED_PLUGINS}
for plugin in ${COLLECTD_ALL_PLUGINS}; do
IUSE="${IUSE} collectd_plugins_${plugin}"
done
unset plugin
# Now come the dependencies.
COMMON_DEPEND="
dev-libs/libgcrypt
sys-devel/libtool
perl? ( dev-lang/perl[ithreads] ( || ( sys-devel/libperl[ithreads] >=sys-devel/libperl-5.10 ) ) )
collectd_plugins_apache? ( net-misc/curl )
collectd_plugins_ascent? ( net-misc/curl dev-libs/libxml2 )
collectd_plugins_bind? ( dev-libs/libxml2 )
collectd_plugins_curl? ( net-misc/curl )
collectd_plugins_curl_json? ( net-misc/curl dev-libs/yajl )
collectd_plugins_curl_xml? ( net-misc/curl dev-libs/libxml2 )
collectd_plugins_dbi? ( dev-db/libdbi )
collectd_plugins_dns? ( net-libs/libpcap )
collectd_plugins_gmond? ( sys-cluster/ganglia )
collectd_plugins_ipmi? ( >=sys-libs/openipmi-2.0.16-r1 )
collectd_plugins_iptables? ( >=net-firewall/iptables-1.4.13 )
collectd_plugins_java? ( virtual/jre dev-java/java-config-wrapper )
collectd_plugins_libvirt? ( app-emulation/libvirt dev-libs/libxml2 )
collectd_plugins_memcachec? ( dev-libs/libmemcached )
collectd_plugins_mysql? ( >=virtual/mysql-5.0 )
collectd_plugins_netlink? ( >=sys-apps/iproute2-3.3.0 )
collectd_plugins_nginx? ( net-misc/curl )
collectd_plugins_notify_desktop? ( x11-libs/libnotify )
collectd_plugins_notify_email? ( >=net-libs/libesmtp-1.0.4 dev-libs/openssl )
collectd_plugins_nut? ( sys-power/nut )
collectd_plugins_onewire? ( sys-fs/owfs )
collectd_plugins_oracle? ( >=dev-db/oracle-instantclient-basic-11.2.0.1.0 )
collectd_plugins_perl? ( dev-lang/perl[ithreads] ( || ( sys-devel/libperl[ithreads] >=sys-devel/libperl-5.10 ) ) )
collectd_plugins_ping? ( net-libs/liboping )
collectd_plugins_postgresql? ( >=dev-db/postgresql-base-8.2 )
collectd_plugins_python? ( =dev-lang/python-2* )
collectd_plugins_routeros? ( net-libs/librouteros )
collectd_plugins_rrdcached? ( >=net-analyzer/rrdtool-1.4 )
collectd_plugins_rrdtool? ( >=net-analyzer/rrdtool-1.2.27 )
collectd_plugins_sensors? ( sys-apps/lm_sensors )
collectd_plugins_snmp? ( net-analyzer/net-snmp )
collectd_plugins_tokyotyrant? ( net-misc/tokyotyrant )
collectd_plugins_varnish? ( www-servers/varnish )
collectd_plugins_write_http? ( net-misc/curl )
collectd_plugins_write_mongodb? ( dev-libs/mongo-c-driver )
kernel_FreeBSD? (
collectd_plugins_disk? ( >=sys-libs/libstatgrab-0.16 )
collectd_plugins_interface? ( >=sys-libs/libstatgrab-0.16 )
collectd_plugins_load? ( >=sys-libs/libstatgrab-0.16 )
collectd_plugins_memory? ( >=sys-libs/libstatgrab-0.16 )
collectd_plugins_swap? ( >=sys-libs/libstatgrab-0.16 )
collectd_plugins_users? ( >=sys-libs/libstatgrab-0.16 )
)"
DEPEND="${COMMON_DEPEND}
virtual/pkgconfig
kernel_linux? (
collectd_plugins_vserver? ( sys-kernel/vserver-sources )
)"
RDEPEND="${COMMON_DEPEND}
collectd_plugins_syslog? ( virtual/logger )"
PATCHES=(
"${FILESDIR}/${PN}-5.1.0"-libperl.patch
"${FILESDIR}/${PN}-4.10.2"-{libocci,nohal}.patch
"${FILESDIR}/${PN}-4.10.3"-{lt,werror}.patch
"${FILESDIR}/${PN}-5.1.0"-netlink.patch
"${FILESDIR}/${PN}-5.1.0"-mongoc06.patch
)
# @FUNCTION: collectd_plugin_kernel_linux
# @DESCRIPTION:
# USAGE: <plug-in name> <kernel_options> <severity>
# kernel_options is a list of kernel configurations options; the check tests whether at least
# one of them is enabled. If no, depending on the third argument an elog, ewarn, or eerror message
# is emitted.
collectd_plugin_kernel_linux() {
local multi_opt opt
if has ${1} ${COLLECTD_ALL_PLUGINS}; then
if use collectd_plugins_${1}; then
for opt in ${2}; do
if linux_chkconfig_present ${opt}; then return 0; fi
done
multi_opt=${2//\ /\ or\ }
case ${3} in
(info)
elog "The ${1} plug-in can use kernel features that are disabled now; enable ${multi_opt} in your kernel"
;;
(warn)
ewarn "The ${1} plug-in uses kernel features that are disabled now; enable ${multi_opt} in your kernel"
;;
(error)
eerror "The ${1} plug-in needs kernel features that are disabled now; enable ${multi_opt} in your kernel"
;;
(*)
die "function collectd_plugin_kernel_linux called with invalid third argument"
;;
esac
fi
fi
}
collectd_linux_kernel_checks() {
linux-info_pkg_setup
# battery.c:/proc/pmu/battery_%i
# battery.c:/proc/acpi/battery
collectd_plugin_kernel_linux battery ACPI_BATTERY warn
# cpufreq.c:/sys/devices/system/cpu/cpu%d/cpufreq/
collectd_plugin_kernel_linux cpufreq SYSFS warn
collectd_plugin_kernel_linux cpufreq CPU_FREQ_STAT warn
# nfs.c:/proc/net/rpc/nfs
# nfs.c:/proc/net/rpc/nfsd
collectd_plugin_kernel_linux nfs NFS_COMMON warn
# serial.c:/proc/tty/driver/serial
# serial.c:/proc/tty/driver/ttyS
collectd_plugin_kernel_linux serial SERIAL_CORE warn
# swap.c:/proc/meminfo
collectd_plugin_kernel_linux swap SWAP warn
# thermal.c:/proc/acpi/thermal_zone
# thermal.c:/sys/class/thermal
collectd_plugin_kernel_linux thermal "PROC_FS SYSFS" warn
collectd_plugin_kernel_linux thermal ACPI_THERMAL warn
# vmem.c:/proc/vmstat
collectd_plugin_kernel_linux vmem VM_EVENT_COUNTERS warn
# uuid.c:/sys/hypervisor/uuid
collectd_plugin_kernel_linux uuid SYSFS info
# wireless.c:/proc/net/wireless
collectd_plugin_kernel_linux wireless "MAC80211 IEEE80211" warn
}
pkg_setup() {
if use kernel_linux; then
if linux_config_exists; then
einfo "Checking your linux kernel configuration:"
collectd_linux_kernel_checks
else
elog "Cannot find a linux kernel configuration. Continuing anyway."
fi
fi
enewgroup collectd
enewuser collectd -1 -1 /var/lib/collectd collectd
}
src_prepare() {
base_src_prepare
# There's some strange prefix handling in the default config file, resulting in
# paths like "/usr/var/..."
sed -i -e "s:@prefix@/var:/var:g" src/collectd.conf.in || die
rm -r libltdl || die
eautoreconf
}
src_configure() {
# Now come the lists of os-dependent plugins. Any plugin that is not listed anywhere here
# should work independent of the operating system.
local linux_plugins="battery cpu cpufreq disk entropy ethstat interface iptables ipvs irq load
memory md netlink nfs numa processes serial swap tcpconns thermal users vmem vserver
wireless"
local libstatgrab_plugins="cpu disk interface load memory swap users"
local bsd_plugins="cpu tcpconns ${libstatgrab_plugins}"
local darwin_plugins="apple_sensors battery cpu disk interface memory processes tcpconns"
local osdependent_plugins="${linux_plugins} ${bsd_plugins} ${darwin_plugins}"
local myos_plugins=""
if use kernel_linux; then
einfo "Enabling Linux plugins."
myos_plugins=${linux_plugins}
elif use kernel_FreeBSD; then
einfo "Enabling FreeBSD plugins."
myos_plugins=${bsd_plugins}
elif use kernel_Darwin; then
einfo "Enabling Darwin plugins."
myos_plugins=${darwin_plugins}
fi
# Do we debug?
local myconf="$(use_enable debug)"
local plugin
# Disable what needs to be disabled.
for plugin in ${COLLECTD_DISABLED_PLUGINS}; do
myconf+=" --disable-${plugin}"
done
# Set enable/disable for each single plugin.
for plugin in ${COLLECTD_ALL_PLUGINS}; do
if has ${plugin} ${osdependent_plugins}; then
# plugin is os-dependent ...
if has ${plugin} ${myos_plugins}; then
# ... and available in this os
myconf+=" $(use_enable collectd_plugins_${plugin} ${plugin})"
else
# ... and NOT available in this os
if use collectd_plugins_${plugin}; then
ewarn "You try to enable the ${plugin} plugin, but it is not available for this"
ewarn "kernel. Disabling it automatically."
fi
myconf+=" --disable-${plugin}"
fi
elif [[ "${plugin}" = "collectd_plugins_perl" ]]; then
if use collectd_plugins_perl && ! use perl; then
ewarn "Perl plugin disabled as perl bindings disabled by -perl use flag"
myconf+= --disable-perl
else
myconf+=" $(use_enable collectd_plugins_${plugin} ${plugin})"
fi
else
myconf+=" $(use_enable collectd_plugins_${plugin} ${plugin})"
fi
done
# Need JAVA_HOME for java.
if use collectd_plugins_java; then
myconf+=" --with-java=$(java-config -g JAVA_HOME)"
fi
# Need libiptc ONLY for iptables. If we try to use it otherwise bug 340109 happens.
if ! use collectd_plugins_iptables; then
myconf+=" --with-libiptc=no"
fi
# The perl bindings
myconf+=" $(use_with perl perl-bindings)"
# Finally, run econf.
KERNEL_DIR="${KERNEL_DIR}" econf --config-cache --without-included-ltdl $(use_enable static-libs static) --localstatedir=/var ${myconf}
}
src_install() {
emake DESTDIR="${D}" install || die
fixlocalpod
find "${D}/usr/" -name "*.la" -exec rm -f {} +
rm "${D}/usr/$(get_libdir)"/collectd/*.a
# use collectd_plugins_ping && setcap cap_net_raw+ep ${D}/usr/sbin/collectd
# we cannot do this yet
fowners root:collectd /etc/collectd.conf
fperms u=rw,g=r,o= /etc/collectd.conf
dodoc AUTHORS ChangeLog NEWS README TODO
if use contrib ; then
insinto /usr/share/doc/${PF}
doins -r contrib
fi
keepdir /var/lib/${PN}
fowners collectd:collectd /var/lib/${PN}
newinitd "${FILESDIR}/${PN}.initd" ${PN}
newconfd "${FILESDIR}/${PN}.confd" ${PN}
insinto /etc/logrotate.d
newins "${FILESDIR}/logrotate" collectd
sed -i -e 's:^.*PIDFile "/var/run/collectd.pid":PIDFile "/var/run/collectd/collectd.pid":' "${D}"/etc/collectd.conf || die
sed -i -e 's:^# SocketFile "/var/run/collectd-unixsock":# SocketFile "/var/run/collectd/collectd-unixsock":' "${D}"/etc/collectd.conf || die
sed -i -e 's:^.*LoadPlugin perl$:# The new, correct way to load the perl plugin -- \n# <LoadPlugin perl>\n# Globals true\n# </LoadPlugin>:' "${D}"/etc/collectd.conf || die
sed -i -e 's:^.*LoadPlugin python$:# The new, correct way to load the python plugin -- \n# <LoadPlugin python>\n# Globals true\n# </LoadPlugin>:' "${D}"/etc/collectd.conf || die
}
collectd_rdeps() {
if (use collectd_plugins_${1} && ! has_version "${2}"); then
elog "The ${1} plug-in needs ${2} to be installed locally or remotely to work."
fi
}
pkg_postinst() {
collectd_rdeps apcups sys-power/apcupsd
collectd_rdeps hddtemp app-admin/hddtemp
collectd_rdeps mbmon sys-apps/xmbmon
collectd_rdeps memcached ">=net-misc/memcached-1.2.2-r2"
collectd_rdeps ntpd net-misc/ntp
collectd_rdeps openvpn ">=net-misc/openvpn-2.0.9"
echo
elog "collectd is now started as unprivileged user by default."
elog "You may want to recheck the configuration."
elog
if use collectd_plugins_email; then
ewarn "The email plug-in is deprecated. To submit statistics please use the unixsock plugin."
fi
if use contrib; then
elog "The scripts in /usr/share/doc/${PF}/collection3 for generating graphs need dev-perl/HTML-Parser,"
elog "dev-perl/config-general, dev-perl/regexp-common, and net-analyzer/rrdtool[perl] to be installed."
fi
if [[ ${REPLACING_VERSIONS} < 5 ]]; then
ewarn "Version 5 of collectd uses a database format different from version 4. You will"
ewarn "have to migrate your database after the upgrade, following the guide at"
ewarn " http://www.collectd.org/wiki/index.php/V4_to_v5_migration_guide"
fi
}

@ -0,0 +1,30 @@
diff --git a/configure.in b/configure.in
index 1cfc2fc..384c298 100644
--- a/configure.in
+++ b/configure.in
@@ -2944,11 +2944,13 @@ if test "x$with_libperl" = "xyes" \
then
SAVE_CFLAGS="$CFLAGS"
SAVE_LDFLAGS="$LDFLAGS"
+ SAVE_LIBS="$LIBS"
dnl ARCHFLAGS="" -> disable multi -arch on OSX (see Config_heavy.pl:fetch_string)
PERL_CFLAGS=`ARCHFLAGS="" $perl_interpreter -MExtUtils::Embed -e ccopts`
PERL_LDFLAGS=`ARCHFLAGS="" $perl_interpreter -MExtUtils::Embed -e ldopts`
CFLAGS="$CFLAGS $PERL_CFLAGS"
LDFLAGS="$LDFLAGS $PERL_LDFLAGS"
+ LIBS="$LIBS -lperl -lpthread"
AC_CACHE_CHECK([for libperl],
[c_cv_have_libperl],
@@ -2967,7 +2969,10 @@ dnl ARCHFLAGS="" -> disable multi -arch on OSX (see Config_heavy.pl:fetch_string
Nullsv);
]]),
[c_cv_have_libperl="yes"],
- [c_cv_have_libperl="no"]
+ [
+ c_cv_have_libperl="no"
+ LIBS="$SAVE_LIBS"
+ ]
)
)

@ -0,0 +1,20 @@
diff --git a/src/write_mongodb.c b/src/write_mongodb.c
index 8d76b60..c7b7682 100644
--- a/src/write_mongodb.c
+++ b/src/write_mongodb.c
@@ -195,7 +195,14 @@ static int wm_write (const data_set_t *ds, /* {{{ */
/* Assert if the connection has been established */
assert (mongo_is_connected (node->conn));
- status = mongo_insert (node->conn, collection_name, bson_record);
+ #if MONGO_MINOR >= 6
+ /* There was an API change in 0.6.0 as linked below */
+ /* https://github.com/mongodb/mongo-c-driver/blob/master/HISTORY.md */
+ status = mongo_insert (node->conn, collection_name, bson_record, NULL);
+ #else
+ status = mongo_insert (node->conn, collection_name, bson_record);
+ #endif
+
if(status != MONGO_OK)
{
ERROR ( "write_mongodb plugin: error inserting record: %d", node->conn->err);

@ -1,3 +1,4 @@
DIST eselect-1.2.15.tar.bz2 169358 SHA256 fa8e3b2af2bc4a951ddb6067ba1e786a04681555ab7e83d50d4eb85047f2e7d7 SHA512 228b1a3a8e8fee6ede929c8d36532ca58537ea59f1e9d055c9ca49049949ffc76dde2c04d684c63ec2df451bda5f0ee3d38e3a1c56d13f671be88f0f9fbb3dee WHIRLPOOL b4972c570038c2e27e61002ba008d17eeab102316cb49e1118b02387b14b9f4cc1b6032ed0654c6ba4f8f60eb15dea0677e147cd47137b93c9f66832339649af
DIST eselect-1.2.18.tar.bz2 170120 SHA256 68581af8f7ca427dbd726b766071c833918fb5ae25ad03224def7e1599297b3c SHA512 e73c2503163e4c3400885ada32d4c7a4a2a511d7747c9add92522a9f3117eff6174092310ee0b5d56fb25546d11a881c643e00ef653d00d58e07a7742a1b5004 WHIRLPOOL 37b1bf6917b8e3dff48153a0c7af72d0b991392de79c95e3dcf484ed98077e20626ff967d6a0887167ec77536e12ac3fc4699e2d1b9f1d2c6fdce81f3218ef4d
DIST eselect-1.3.1.tar.xz 163908 SHA256 4fc1c3f1b021dd8d28475ab2115f6a2de843bbbb941a0f70999389d1e0d56444 SHA512 b62e3e9f9c145a92625d136ea14ffa9705fa312971160ee3bb33f285dd67f6e6f415c7b9909b902b872500663a7a79c6fe53f52d179de7b7e120c5de994effd3 WHIRLPOOL a04a20c25617c3a53b0937c7f01f6dc89677beb5e1917a8d078a7f4403d4d77b7342da47766a061bc9158962ada190901db5b99d4b9603c49d9b90d3ad57feb5
DIST eselect-1.3.2.tar.xz 164168 SHA256 8b3906133090229defd6c5017fac0049e14cc0a5185c479cb3e6155a71827a78 SHA512 3225ce8b4313ae15bc7be8f047b29a202976c4a8766005487b78031a0e11e6395da55d74a961b022685126b397f8811babd3ee6580e8ba94e1ddd117964207e5 WHIRLPOOL 94917cad340ab697a35d0b3d4e80e95a6d764829692d54e0ee17fdef84c847aa35da10174352b0d4ffd8f541bbf0280e4b63790a276789a66463d2c8a1a245b0

@ -0,0 +1,58 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-admin/eselect/eselect-1.2.15.ebuild,v 1.9 2012/10/31 20:49:15 ulm Exp $
inherit bash-completion-r1
DESCRIPTION="Gentoo's multi-purpose configuration and management tool"
HOMEPAGE="http://www.gentoo.org/proj/en/eselect/"
SRC_URI="mirror://gentoo/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="doc"
RDEPEND="sys-apps/sed
|| (
sys-apps/coreutils
sys-freebsd/freebsd-bin
app-misc/realpath
)"
DEPEND="${RDEPEND}
doc? ( dev-python/docutils )"
RDEPEND="!app-admin/eselect-news
${RDEPEND}
sys-apps/file
sys-libs/ncurses"
# Commented out: only few users of eselect will edit its source
#PDEPEND="emacs? ( app-emacs/gentoo-syntax )
# vim-syntax? ( app-vim/eselect-syntax )"
src_compile() {
econf
emake || die "emake failed"
if use doc; then
make html || die "failed to build html"
fi
}
src_install() {
emake DESTDIR="${D}" install || die "make install failed"
newbashcomp misc/${PN}.bashcomp ${PN} || die
dodoc AUTHORS ChangeLog NEWS README TODO doc/*.txt
use doc && dohtml *.html doc/*
# needed by news module
keepdir /var/lib/gentoo/news
}
pkg_postinst() {
# fowners in src_install doesn't work for the portage group:
# merging changes the group back to root
[[ -z ${EROOT} ]] && local EROOT=${ROOT}
chgrp portage "${EROOT}/var/lib/gentoo/news" \
&& chmod g+w "${EROOT}/var/lib/gentoo/news"
}

@ -0,0 +1,33 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-benchmarks/httperf/httperf-0.9.0-r2.ebuild,v 1.1 2012/10/30 16:10:17 pinkbyte Exp $
EAPI=4
AUTOTOOLS_AUTORECONF=1
AUTOTOOLS_IN_SOURCE_BUILD=1
inherit autotools-utils toolchain-funcs
DESCRIPTION="A tool from HP for measuring web server performance."
HOMEPAGE="http://code.google.com/p/httperf/"
SRC_URI="http://httperf.googlecode.com/files/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~amd64-linux ~mips ~x64-macos ~x86"
IUSE="debug"
DEPEND="dev-libs/openssl"
RDEPEND="dev-libs/openssl"
DOCS=( AUTHORS ChangeLog NEWS README TODO )
src_configure() {
econf --bindir="${EPREFIX}"/usr/bin \
$(use_enable debug)
}
src_compile() {
emake CC="$(tc-getCC)" -j1
}

@ -1,6 +1,6 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-benchmarks/i7z/i7z-0.27.2.ebuild,v 1.1 2012/09/12 06:24:13 jlec Exp $
# $Header: /var/cvsroot/gentoo-x86/app-benchmarks/i7z/i7z-0.27.2.ebuild,v 1.2 2012/10/31 07:04:11 jlec Exp $
EAPI=4
@ -34,9 +34,6 @@ src_compile() {
}
src_install() {
emake DESTDIR="${ED}" install
if use X; then
dosbin GUI/i7z_GUI
fi
dodoc put_cores_o*line.sh MAKEDEV-cpuid-msr
emake DESTDIR="${ED}" docdir=/usr/share/doc/${PF} install
use X && dosbin GUI/i7z_GUI
}

@ -1,6 +1,6 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-crypt/oclhashcat-plus-bin/oclhashcat-plus-bin-0.09.ebuild,v 1.1 2012/09/10 01:07:49 zerochaos Exp $
# $Header: /var/cvsroot/gentoo-x86/app-crypt/oclhashcat-plus-bin/oclhashcat-plus-bin-0.09.ebuild,v 1.2 2012/10/30 16:30:44 zerochaos Exp $
EAPI=4
@ -36,17 +36,6 @@ src_install() {
dodoc docs/*
rm -r *.exe docs || die
if ! use amd64; then
rm oclHashcat-plus64.bin || die
rm cudaHashcat-plus64.bin || die
rm kernels/4098/*64* kernels/4318/*64* || die
fi
if ! use x86; then
rm oclHashcat-plus32.bin || die
rm cudaHashcat-plus32.bin || die
rm kernels/4098/*32* kernels/4318/*32* || die
fi
if ! use video_cards_fglrx; then
rm -r kernels/4098 || die
rm oclHashcat-plus*.bin || die

@ -1,11 +1,7 @@
#!/sbin/runscript
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu-guest-agent/files/qemu-ga.init,v 1.1 2012/07/28 22:00:05 cardoe Exp $
depend() {
}
# $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu-guest-agent/files/qemu-ga.init,v 1.2 2012/10/30 21:12:20 cardoe Exp $
start() {
GA_METHOD=${GA_METHOD:-virtio-serial}

@ -1,6 +1,6 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu/qemu-1.1.1-r1.ebuild,v 1.3 2012/10/28 09:27:24 zmedico Exp $
# $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu/qemu-1.1.1-r1.ebuild,v 1.5 2012/10/30 21:01:35 cardoe Exp $
EAPI="4"
@ -52,7 +52,7 @@ for target in ${IUSE_USER_TARGETS}; do
IUSE="${IUSE} qemu_user_targets_${target}"
done
REQUIRED_USE="static? ( !alsa !pulseaudio )
REQUIRED_USE="static? ( !alsa !pulseaudio !bluetooth )
amd64? ( qemu_softmmu_targets_x86_64 )
x86? ( qemu_softmmu_targets_x86_64 )
virtfs? ( xattr )"
@ -60,8 +60,6 @@ REQUIRED_USE="static? ( !alsa !pulseaudio )
# Yep, you need both libcap and libcap-ng since virtfs only uses libcap.
RDEPEND="
!app-emulation/kqemu
!app-emulation/qemu
!<app-emulation/qemu-1.0
>=dev-libs/glib-2.0
media-libs/libpng
sys-apps/pciutils

@ -1,6 +1,6 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu/qemu-1.1.2-r1.ebuild,v 1.2 2012/10/28 09:27:24 zmedico Exp $
# $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu/qemu-1.1.2-r1.ebuild,v 1.4 2012/10/30 21:01:35 cardoe Exp $
EAPI="4"
@ -39,7 +39,6 @@ IUSE_USER_TARGETS="${COMMON_TARGETS} armeb ppc64abi32 sparc32plus unicore32"
# Setup the default SoftMMU targets, while using the loops
# below to setup the other targets.
IUSE="${IUSE}"
REQUIRED_USE="|| ("
for target in ${IUSE_SOFTMMU_TARGETS}; do
@ -53,7 +52,7 @@ for target in ${IUSE_USER_TARGETS}; do
done
REQUIRED_USE="${REQUIRED_USE}
static? ( !alsa !pulseaudio )
static? ( !alsa !pulseaudio !bluetooth )
virtfs? ( xattr )"
# Yep, you need both libcap and libcap-ng since virtfs only uses libcap.
@ -78,8 +77,6 @@ LIB_DEPEND=">=dev-libs/glib-2.0[static-libs(+)]
xfs? ( sys-fs/xfsprogs[static-libs(+)] )"
RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )
!app-emulation/kqemu
!app-emulation/qemu
!<app-emulation/qemu-1.0
>=sys-firmware/seabios-1.7.0
sys-firmware/sgabios
sys-firmware/vgabios

@ -1,6 +1,6 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu/qemu-1.1.2-r2.ebuild,v 1.2 2012/10/28 09:27:24 zmedico Exp $
# $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu/qemu-1.1.2-r2.ebuild,v 1.4 2012/10/30 21:01:35 cardoe Exp $
EAPI="4"
@ -39,7 +39,6 @@ IUSE_USER_TARGETS="${COMMON_TARGETS} armeb ppc64abi32 sparc32plus unicore32"
# Setup the default SoftMMU targets, while using the loops
# below to setup the other targets.
IUSE="${IUSE}"
REQUIRED_USE="|| ("
for target in ${IUSE_SOFTMMU_TARGETS}; do
@ -52,8 +51,9 @@ for target in ${IUSE_USER_TARGETS}; do
IUSE="${IUSE} qemu_user_targets_${target}"
done
# Block USE flag configurations known to not work
REQUIRED_USE="${REQUIRED_USE}
static? ( !alsa !pulseaudio )
static? ( !alsa !pulseaudio !bluetooth )
virtfs? ( xattr )"
# Yep, you need both libcap and libcap-ng since virtfs only uses libcap.
@ -78,8 +78,6 @@ LIB_DEPEND=">=dev-libs/glib-2.0[static-libs(+)]
xfs? ( sys-fs/xfsprogs[static-libs(+)] )"
RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )
!app-emulation/kqemu
!app-emulation/qemu
!<app-emulation/qemu-1.0
>=sys-firmware/seabios-1.7.0
sys-firmware/sgabios
sys-firmware/vgabios

@ -1,6 +1,6 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu/qemu-1.2.0.ebuild,v 1.6 2012/10/29 23:50:54 cardoe Exp $
# $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu/qemu-1.2.0.ebuild,v 1.7 2012/10/30 21:01:35 cardoe Exp $
EAPI="4"
@ -33,16 +33,13 @@ kernel_FreeBSD mixemu ncurses opengl +png pulseaudio python rbd sasl +seccomp \
sdl smartcard spice static systemtap tci +threads tls usbredir +uuid vde \
+vhost-net virtfs +vnc xattr xen xfs"
# Block USE flag configurations known to not work
REQUIRED_USE="static ( !bluetooth )"
COMMON_TARGETS="i386 x86_64 alpha arm cris m68k microblaze microblazeel mips mipsel ppc ppc64 sh4 sh4eb sparc sparc64 s390x"
IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} lm32 mips64 mips64el ppcemb xtensa xtensaeb"
IUSE_USER_TARGETS="${COMMON_TARGETS} armeb ppc64abi32 sparc32plus unicore32"
# Setup the default SoftMMU targets, while using the loops
# below to setup the other targets.
REQUIRED_USE="${REQUIRED_USE} || ("
REQUIRED_USE="|| ("
for target in ${IUSE_SOFTMMU_TARGETS}; do
IUSE="${IUSE} qemu_softmmu_targets_${target}"
@ -54,8 +51,9 @@ for target in ${IUSE_USER_TARGETS}; do
IUSE="${IUSE} qemu_user_targets_${target}"
done
# Block USE flag configurations known to not work
REQUIRED_USE="${REQUIRED_USE}
static? ( !alsa !pulseaudio )
static? ( !alsa !pulseaudio !bluetooth )
virtfs? ( xattr )"
# Yep, you need both libcap and libcap-ng since virtfs only uses libcap.

@ -1,6 +1,6 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu/qemu-9999.ebuild,v 1.28 2012/10/29 23:50:54 cardoe Exp $
# $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu/qemu-9999.ebuild,v 1.29 2012/10/30 21:01:35 cardoe Exp $
EAPI="4"
@ -33,16 +33,13 @@ kernel_FreeBSD mixemu ncurses opengl +png pulseaudio python rbd sasl +seccomp \
sdl smartcard spice static systemtap tci +threads tls usbredir +uuid vde \
+vhost-net virtfs +vnc xattr xen xfs"
# Block USE flag configurations known to not work
REQUIRED_USE="static ( !bluetooth )"
COMMON_TARGETS="i386 x86_64 alpha arm cris m68k microblaze microblazeel mips mipsel ppc ppc64 sh4 sh4eb sparc sparc64 s390x"
IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} lm32 mips64 mips64el ppcemb xtensa xtensaeb"
IUSE_USER_TARGETS="${COMMON_TARGETS} armeb ppc64abi32 sparc32plus unicore32"
# Setup the default SoftMMU targets, while using the loops
# below to setup the other targets.
REQUIRED_USE="${REQUIRED_USE} || ("
REQUIRED_USE="|| ("
for target in ${IUSE_SOFTMMU_TARGETS}; do
IUSE="${IUSE} qemu_softmmu_targets_${target}"
@ -54,8 +51,9 @@ for target in ${IUSE_USER_TARGETS}; do
IUSE="${IUSE} qemu_user_targets_${target}"
done
# Block USE flag configurations known to not work
REQUIRED_USE="${REQUIRED_USE}
static? ( !alsa !pulseaudio )
static? ( !alsa !pulseaudio !bluetooth )
virtfs? ( xattr )"
# Yep, you need both libcap and libcap-ng since virtfs only uses libcap.

@ -1,2 +1 @@
DIST lynis-1.2.9.tar.gz 117107 SHA256 51e69e0d45d6a879a0a22ba1144a49207dad7ed45764172769d67f21f60f5b79 SHA512 c9efd6c1d13373834f21729a7a646432b66393ab334e227fa774e962c6f153a0493e955ae0e375a223dbbae317d5b8fed90e3345f8dcdfd58dd9758c140bcb86 WHIRLPOOL b6f7351b2849bef055efebcc551b593baa93ee72f4c734c77844357d71e1807f136ff7b8a27988836daec6b403256eb05d99ac4556e6a4cb85f732454d0365b4
DIST lynis-1.3.0.tar.gz 119797 SHA256 fe265965eb1ce8fac352e0bddea1d5ec6508c319bf88a5f63c2edecf2af6de54 SHA512 a2cf40fbc245e9ed89740026374f3b61110cc1e0282899284699a2271cb4996f30d0a91562d3e2eaf5eb165ab89d0860127ceeb5767aec1d5538b879657a76a8 WHIRLPOOL c19aaaf2f9ccd8141a86b1eeecf129ab83006b50ed428eb1801b58811b441f3c5cfea37d1333cf58fd372b3f40026735bdc2e44ace3de399a27e2e0dd8300fa3

@ -1,3 +0,0 @@
#!/bin/sh
/usr/bin/lynis -c --auditor "automated" --cronjob

@ -1,41 +0,0 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-forensics/lynis/lynis-1.2.9.ebuild,v 1.5 2012/07/29 16:42:40 armin76 Exp $
DESCRIPTION="Security and system auditing tool"
HOMEPAGE="http://www.rootkit.nl/projects/lynis.html"
SRC_URI="http://www.rootkit.nl/files/${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE=""
DEPEND=""
RDEPEND="app-shells/bash"
src_install() {
insinto /usr/share/${PN}
doins -r db/ include/ plugins/ || die "failed to install lynis base files"
# Lynis will ignore plugins with permissions other than 0400.
fperms 0400 /usr/share/${PN}/plugins/plugin_{access_files,compliance_pci,homedirs,webserver_data} || die
dosbin lynis || die "dosbin failed"
insinto /etc/${PN}
doins default.prf || die "failed to install default.prf"
doman lynis.8 || die "doman failed"
dodoc CHANGELOG FAQ README dev/TODO
# Remove the old one during the next stabilize progress
exeinto /etc/cron.daily
newexe "${FILESDIR}"/lynis.cron-new lynis || die "failed to install cron script"
}
pkg_postinst() {
einfo
einfo "A cron script has been installed to ${ROOT}etc/cron.daily/lynis."
einfo
}

@ -1,8 +1,8 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-forensics/zzuf/zzuf-0.13-r1.ebuild,v 1.3 2012/05/21 18:35:08 xarthisius Exp $
# $Header: /var/cvsroot/gentoo-x86/app-forensics/zzuf/zzuf-0.13-r1.ebuild,v 1.4 2012/10/31 18:25:20 kensington Exp $
EAPI="2"
EAPI=4
inherit autotools eutils
@ -16,8 +16,10 @@ SLOT="0"
KEYWORDS="~amd64 ~sparc ~x86"
IUSE=""
DEPEND=""
RDEPEND=""
# fails with sandbox enabled
RESTRICT="test"
DOCS=( AUTHORS ChangeLog NEWS README TODO )
src_prepare() {
sed -i -e '/CFLAGS/d' "${S}"/configure.ac \
@ -35,35 +37,11 @@ src_configure() {
# preloading, so there is no reason to build it statically, unless
# you want to use zzuf with a static-linked executable, which I'm
# not even sure would be a good idea.
econf \
--disable-dependency-tracking \
--disable-static \
|| die "econf failed"
}
src_compile() {
emake || die "emake failed"
}
# This could be removed in next versions if my patches will be applied
# by Sam. -- Diego 'Flameeyes'
src_test() {
if has sandbox ${FEATURES}; then
ewarn "zzuf tests don't work correctly when sandbox is enabled,"
ewarn "skipping tests. If you want to run the testsuite, please"
ewarn "disable sandbox for this build."
return
fi
cd "${S}"/test
emake check || die "Unable to build tools needed for testsuite"
./testsuite.sh || die "testsuite failed"
econf --disable-static
}
src_install() {
emake DESTDIR="${D}" install || die "emake install failed"
dodoc AUTHORS ChangeLog NEWS README TODO
default
find "${D}" -name '*.la' -delete
}

@ -1,4 +1 @@
DIST linux_logo-5.02.tar.gz 97279 SHA256 9932ab41b32a270f590890d515119456671814bdd6e4f4481a276cdfb5494690 SHA512 edc69179ad5a554c30cf49f1d4d4d5e73dc60a34749c8b565295f58d8eadb789a2358bd6dc3efb54f3ea49f17f7260e373ddfcbee1c1a0b50f3fee559ccd53c8 WHIRLPOOL 3d0f8d44e5b4dccf2587f5ed9cf9fba9c9aeb426be304606216358585888f5b352298b07067fa2fd40cc7c2fbf501e13199d38b71819258f7b5897ae36ba8405
DIST linux_logo-5.03.tar.gz 96562 SHA256 654818fda72162322d86203303335d4293d68b25149a464f99ca9390ae4fd0b8 SHA512 bb9466a82d6ab6b0a47aa74f77d6c7bcbc7297b87b8097f6b63f5025a2109fe1c55725814b43402753bcf09c31b42ebe013551bffb355a7f289d9d801e341ab5 WHIRLPOOL d13f00b1222f20a98b60aedf2c83926f1f0250a705c953f9d66cb9ffa17d65367277bcde91ca78f4ca65c760946a4b64dde1f1c79ff0527163495598a55e1be7
DIST linux_logo-5.10.tar.gz 103589 SHA256 e7028d5a01a5964e4d1420d38bb35f758381e92775d4b53ad3e55c2cc04646e0 SHA512 e6089ff7eaf57f106d2aaa39ee2a4ebf63f4ec17b5f75ae686e05904e275b79da45e350ff2464aa272602bc99254ec143e60ff744b5769ff95cdcdd7c3f18c7b WHIRLPOOL 31754878b9db18b8af821741aa46f441c44316834bef0f55da18f3ed821544c460f7add227e47771e19580db5c21ffdd141b6827ac6e5fdd0fa0b22db160cd0a
DIST linux_logo-5.11.tar.gz 103623 SHA256 f56634d7b6bebd6598705d973997435fdc9cb9115dea3cc1d63398c92ebe72d9 SHA512 3c11d59eeb1ea613eb66d3ea5ef2d7c9ef906cb12430b9350570a6a1937ec174bdd974e6227358339c3fd2e0647a5066a0bea22289c4aa9bc8b03afb0033f114 WHIRLPOOL d2f83045df8c2f23f74a527af1aa36ea952fb3595ebed39d216b6ccdf12609051598024e703c8af6d496cf1c7e66de27104dfdb885fe8bbab60e1607fd0ed1a5

@ -1,27 +0,0 @@
# Seq Description Output
# ----------------------------------------------------------------
# ## #
# #B Bogomips 374.37
# #C Compiled Date #47 Fri Jan 8 10:37:09 EST 1999
# #E User Text My Favorite Linux Distribution
# Displayed with -t
# #H Hostname deranged
# #L Load average Load average 0.04, 0.01, 0.01
# #M Megahertz 188Mhz
# where supported
# #N Number of CPU's Two
# #O OS Name Linux
# #P Processor or Processors Processor
# #R Ram 64M
# in Megabytes
# #S Plural s
# #T Type of CPU K6
# #U Uptime Uptime 10 hours 59 minutes
# #V Version of OS 2.2.0-pre5
# #X CPU Vendor AMD
# \\n carriage return
FORMAT="Gentoo #O `cat /etc/gentoo-release | awk '{ print $5,$6 }'`\n#O #V, Compiled #C\n#N #X #T #M CPU#S, #R RAM, #B Bogomips\n#U\n#H / \l \n"
FORMATNET="Gentoo #O `cat /etc/gentoo-release | awk '{ print $5,$6 }'`\n#O #V, Compiled #C\n#N #X #T #M CPU#S, #R RAM, #B Bogomips\n#U\n#H\n"
OPTIONS="-L 4 -f -u"

@ -1,19 +0,0 @@
#!/sbin/runscript
start() {
ebegin "Starting linux_logo"
if [ ! -x /usr/bin/linux_logo ]
then
eerror "ERROR: linux_logo not found !"
return 1
fi
ebegin " Creating /etc/issue"
/usr/bin/linux_logo $LOGO $OPTIONS -F "${FORMAT}" > /etc/issue
eend $? " Failed to create /etc/issue"
ebegin " Creating /etc/issue.net"
/usr/bin/linux_logo $LOGO $OPTIONS -F "${FORMATNET}" > /etc/issue.net
eend $? " Failed to create /etc/issue.net"
}

@ -1,19 +0,0 @@
diff -Naurp linux_logo-5.10-orig//po/Makefile linux_logo-5.10/po/Makefile
--- linux_logo-5.10-orig//po/Makefile 2010-08-28 23:07:37.839925950 +0200
+++ linux_logo-5.10/po/Makefile 2010-08-28 23:12:49.077926707 +0200
@@ -32,9 +32,9 @@ install: $(CATALOGS)
msgfmt -o $@ $<
update: $(PACKAGE).pot
- for n in $(CATALOGS); do \
- l=basename $$n .mo; \
- l=$$l".po";\
- mv -f $$l $$l".bac";\
- msgmerge -o $$l $$l".bac" $(PACKAGE).pot; \
- done
+ for n in $(CATALOGS); do \
+ l=`basename $$n .mo`; \
+ l=$$l".po";\
+ mv -f $$l $$l".bac";\
+ msgmerge -o $$l $$l".bac" $(PACKAGE).pot; \
+ done

@ -1,67 +0,0 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-misc/linux-logo/linux-logo-5.02.ebuild,v 1.7 2010/10/19 06:17:23 leio Exp $
inherit eutils
MY_P=${PN/-/_}-${PV}
S=${WORKDIR}/${MY_P}
DESCRIPTION="A utility that displays an ANSI/ASCII logo and some system information"
HOMEPAGE="http://www.deater.net/weave/vmwprod/linux_logo/"
SRC_URI="http://www.deater.net/weave/vmwprod/linux_logo/${MY_P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 hppa ~ia64 ~mips ppc sparc x86"
IUSE="nls"
RDEPEND="nls? ( virtual/libintl )"
DEPEND="${RDEPEND}
nls? ( sys-devel/gettext )"
src_unpack() {
unpack ${A}
cd "${S}"
echo "./logos/gentoo.logo" >> logo_config
echo "./logos/gentoo2.logo" >> logo_config
echo "./logos/banner-simplified.logo" >> logo_config
echo "./logos/banner.logo" >> logo_config
echo "./logos/classic-no_periods.logo" >> logo_config
echo "./logos/classic-no_periods_or_chars.logo" >> logo_config
echo "./logos/classic.logo" >> logo_config
cp "${FILESDIR}"/gentoo{,2}.logo "${S}"/logos/
echo "NAME gentoo" >> "${S}"/logos/gentoo.logo
}
src_compile() {
./configure --prefix="${D}"/usr || die
sed -i -e "s/CFLAGS=.*/CFLAGS=${CFLAGS}/" {,libsysinfo-*/}Makefile.default
emake || die
}
src_install() {
make install || die
dodoc BUGS README README.CUSTOM_LOGOS TODO USAGE LINUX_LOGO.FAQ
cp "${FILESDIR}"/${PN}.conf "${WORKDIR}"
sed -i -e 's/-L 4 -f -u/-f -u/' "${WORKDIR}"/${PN}.conf
newinitd "${FILESDIR}"/${PN}.initscript ${PN}
newconfd "${WORKDIR}"/${PN}.conf ${PN}
}
pkg_postinst() {
echo
elog "Linux_logo ebuild for Gentoo comes with two Gentoo logos."
elog ""
elog "To display the first Gentoo logo type: linux_logo -L gentoo"
elog "To display the second Gentoo logo type: linux_logo -L gentoo-alt"
elog "To display all the logos available type: linux_logo -L list."
elog ""
elog "To start linux_logo on boot, please type:"
elog " rc-update add linux-logo default"
elog "which uses the settings found in"
elog " /etc/conf.d/linux-logo"
echo
}

@ -1,66 +0,0 @@
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-misc/linux-logo/linux-logo-5.03.ebuild,v 1.7 2008/10/29 17:27:35 spock Exp $
inherit eutils toolchain-funcs
MY_P=${PN/-/_}-${PV}
S=${WORKDIR}/${MY_P}
DESCRIPTION="A utility that displays an ANSI/ASCII logo and some system information"
HOMEPAGE="http://www.deater.net/weave/vmwprod/linux_logo/"
SRC_URI="http://www.deater.net/weave/vmwprod/linux_logo/${MY_P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 hppa ~ia64 ~mips ppc sparc x86"
IUSE="nls"
RDEPEND="nls? ( virtual/libintl )"
DEPEND="${RDEPEND}
nls? ( sys-devel/gettext )"
src_unpack() {
unpack ${A}
cd "${S}"
echo "./logos/gentoo.logo" >> logo_config
echo "./logos/gentoo2.logo" >> logo_config
echo "./logos/banner-simplified.logo" >> logo_config
echo "./logos/banner.logo" >> logo_config
echo "./logos/classic-no_periods.logo" >> logo_config
echo "./logos/classic-no_periods_or_chars.logo" >> logo_config
echo "./logos/classic.logo" >> logo_config
cp "${FILESDIR}"/gentoo{,2}.logo "${S}"/logos/
echo "NAME gentoo" >> "${S}"/logos/gentoo.logo
}
src_compile() {
./configure --prefix="${D}"/usr || die
emake CFLAGS="${CFLAGS}" CC="$(tc-getCC)" || die
}
src_install() {
make install || die
dodoc BUGS README README.CUSTOM_LOGOS TODO USAGE LINUX_LOGO.FAQ
cp "${FILESDIR}"/${PN}.conf "${WORKDIR}"
sed -i -e 's/-L 4 -f -u/-f -u/' "${WORKDIR}"/${PN}.conf
newinitd "${FILESDIR}"/${PN}.initscript ${PN}
newconfd "${WORKDIR}"/${PN}.conf ${PN}
}
pkg_postinst() {
echo
elog "Linux_logo ebuild for Gentoo comes with two Gentoo logos."
elog ""
elog "To display the first Gentoo logo type: linux_logo -L gentoo"
elog "To display the second Gentoo logo type: linux_logo -L gentoo-alt"
elog "To display all the logos available type: linux_logo -L list."
elog ""
elog "To start linux_logo on boot, please type:"
elog " rc-update add linux-logo default"
elog "which uses the settings found in"
elog " /etc/conf.d/linux-logo"
echo
}

@ -1,72 +0,0 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-misc/linux-logo/linux-logo-5.10-r1.ebuild,v 1.6 2011/07/09 09:03:27 xarthisius Exp $
EAPI="2"
inherit eutils toolchain-funcs
MY_P=${PN/-/_}-${PV}
S=${WORKDIR}/${MY_P}
DESCRIPTION="A utility that displays an ANSI/ASCII logo and some system information"
HOMEPAGE="http://www.deater.net/weave/vmwprod/linux_logo/"
SRC_URI="http://www.deater.net/weave/vmwprod/linux_logo/${MY_P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 hppa ~ia64 ~mips ppc sparc x86"
IUSE="nls"
RDEPEND="nls? ( virtual/libintl )"
DEPEND="${RDEPEND}
nls? ( sys-devel/gettext )"
src_unpack() {
unpack ${A}
cd "${S}"
echo "./logos/gentoo.logo" >> logo_config
echo "./logos/gentoo2.logo" >> logo_config
echo "./logos/banner-simplified.logo" >> logo_config
echo "./logos/banner.logo" >> logo_config
echo "./logos/classic-no_periods.logo" >> logo_config
echo "./logos/classic-no_periods_or_chars.logo" >> logo_config
echo "./logos/classic.logo" >> logo_config
cp "${FILESDIR}"/gentoo{,2}.logo "${S}"/logos/
echo "NAME gentoo" >> "${S}"/logos/gentoo.logo
}
src_prepare() {
epatch "${FILESDIR}"/linux_logo-5.10-makefile-tabs.patch
}
src_compile() {
ARCH="" ./configure --prefix="${D}"/usr || die
emake CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" || die
}
src_install() {
make install || die
dodoc BUGS README README.CUSTOM_LOGOS TODO USAGE LINUX_LOGO.FAQ
cp "${FILESDIR}"/${PN}.conf "${WORKDIR}"
sed -i -e 's/-L 4 -f -u/-f -u/' "${WORKDIR}"/${PN}.conf
newinitd "${FILESDIR}"/${PN}.initscript ${PN}
newconfd "${WORKDIR}"/${PN}.conf ${PN}
}
pkg_postinst() {
echo
elog "Linux_logo ebuild for Gentoo comes with two Gentoo logos."
elog ""
elog "To display the first Gentoo logo type: linux_logo -L gentoo"
elog "To display the second Gentoo logo type: linux_logo -L gentoo-alt"
elog "To display all the logos available type: linux_logo -L list."
elog ""
elog "To start linux_logo on boot, please type:"
elog " rc-update add linux-logo default"
elog "which uses the settings found in"
elog " /etc/conf.d/linux-logo"
echo
}

@ -0,0 +1,26 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-misc/pip/pip-1.2-r1.ebuild,v 1.1 2012/10/31 11:55:08 pinkbyte Exp $
EAPI=4
inherit eutils perl-app
DESCRIPTION="Wrapper around programs that don't support stdin/stdout"
HOMEPAGE="http://membled.com/work/apps/pip/"
SRC_URI="http://membled.com/work/apps/${PN}/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86"
IUSE=""
src_install() {
perl-module_src_install
mv "${ED}"/usr/bin/{pip,gpip} || die 'rename failed'
}
pkg_postinst() {
perl-module_pkg_postinst
ewarn "To avoid collisions with dev-python/pip executable file of this package was renamed to 'gpip'"
}

@ -0,0 +1,159 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-misc/recoll/recoll-1.17.3-r1.ebuild,v 1.2 2012/10/31 19:21:13 ago Exp $
EAPI="4"
PYTHON_DEPEND="2"
inherit toolchain-funcs qt4-r2 linux-info python
DESCRIPTION="A personal full text search package"
HOMEPAGE="http://www.lesbonscomptes.com/recoll/"
SRC_URI="http://www.lesbonscomptes.com/recoll/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ~x86"
INDEX_HELPERS="audio chm djvu dvi exif postscript ics info lyx msdoc msppt msxls pdf rtf tex wordperfect xml"
IUSE="+spell +inotify +qt4 +session camelcase xattr fam ${INDEX_HELPERS}"
DEPEND="
virtual/libiconv
>=dev-libs/xapian-1.0.12
sys-libs/zlib
spell? ( app-text/aspell )
!inotify? ( fam? ( virtual/fam ) )
qt4? (
x11-libs/qt-core:4[qt3support]
x11-libs/qt-webkit:4
)
session? (
inotify? ( x11-libs/libX11 x11-libs/libSM x11-libs/libICE )
!inotify? ( fam? ( x11-libs/libX11 x11-libs/libSM x11-libs/libICE ) )
)
"
RDEPEND="
${DEPEND}
app-arch/unzip
sys-apps/sed
|| ( sys-apps/gawk sys-apps/mawk )
pdf? ( app-text/poppler )
postscript? ( app-text/pstotext )
msdoc? ( app-text/antiword )
msxls? ( app-text/catdoc )
msppt? ( app-text/catdoc )
wordperfect? ( app-text/libwpd:0.9 )
rtf? ( app-text/unrtf )
tex? ( dev-tex/detex )
dvi? ( virtual/tex-base )
djvu? ( >=app-text/djvu-3.5.15 )
exif? ( media-libs/exiftool )
chm? ( dev-python/pychm )
ics? ( dev-python/icalendar )
lyx? ( app-office/lyx )
audio? ( media-libs/mutagen )
xml? ( dev-libs/libxslt )
info? ( sys-apps/texinfo )
"
REQUIRED_USE="^^ ( fam inotify ) session? ( || ( fam inotify ) )"
pkg_pretend() {
if use inotify; then
CONFIG_CHECK="~INOTIFY_USER"
check_extra_config
fi
}
pkg_setup() {
python_set_active_version 2
python_pkg_setup
local i at_least_one_helper
at_least_one_helper=0
for i in $INDEX_HELPERS; do
if use $i; then
at_least_one_helper=1
break
fi
done
if [[ $at_least_one_helper -eq 0 ]]; then
ewarn
ewarn "You did not enable any of the optional file format flags."
ewarn "Recoll can read some file formats natively, but many of them"
ewarn "are optional since they require external helpers."
ewarn
fi
}
src_prepare() {
# remember configure.ac is b0rked. Fix it before using eautoreconf in the
# future
# eautoreconf
# do not strip binaries
sed -i -e "/STRIP/d" "${S}"/${PN}install.in \
|| die "Failed to fix the installation script"
# Drop all the QMAKE lines. We will do it ourselves
sed -i -e "/QMAKE/d" Makefile.in || die
}
src_configure() {
local qtconf
use qt4 && qtconf="QMAKEPATH=/usr/bin/qmake"
econf \
$(use_with spell aspell) \
$(use_enable xattr) \
$(use_with inotify) \
$(use_enable qt4 qtgui) \
$(use_enable camelcase) \
$(use_with fam) \
$(use_with inotify) \
$(use_enable session x11mon) \
${qtconf}
cd qtgui && eqmake4 ${PN}.pro && cd ..
}
src_compile() {
# Do not let upstream people decide on our behalf
sed -i "s:ar ru:$(tc-getAR) ru:" lib/Makefile || die
emake \
CC=$(tc-getCC) \
CXX=$(tc-getCXX) \
CFLAGS="${CFLAGS} ${LDFLAGS}" \
CXXFLAGS="${CXXFLAGS} ${LDFLAGS}"
}
src_install() {
# You probably wonder why I did not fix recollinstall in src_prepare.
# --prefix requires an absolute path but recollinstall requires prefix
# to be actually 'usr' because double // makes portage sad. And no, I am not
# gonna ask upstream to fix the build system
sed -i -e "/PREFIX/s:/usr:usr:" "${S}"/${PN}install || die
sed -i -e "/prefix/s:/usr:usr:" "${S}"/Makefile || die
emake DESTDIR="${D%/}" install
dodoc ChangeLog README
mv "${D}/usr/share/${PN}/doc" "${D}/usr/share/doc/${PF}/html"
dosym /usr/share/doc/${PF}/html /usr/share/${PN}/doc
}
pkg_postinst() {
elog
elog "Default configuration files located at"
elog "/usr/share/${PN}/examples. Either edit these files to match"
elog "your needs or copy them to ~/.recoll/ and edit these files"
elog "instead."
elog
if use xattr; then
elog "Use flag \"xattr\" enables support for fetching field values"
elog "from extended file attributes. You will also need to set up a"
elog "map from the attributes names to the Recoll field names"
elog "(see comment at the end of the fields configuration file."
fi
}

@ -1,6 +1,6 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-office/libreoffice/libreoffice-9999-r2.ebuild,v 1.121 2012/10/29 10:21:24 scarabeus Exp $
# $Header: /var/cvsroot/gentoo-x86/app-office/libreoffice/libreoffice-9999-r2.ebuild,v 1.122 2012/10/30 21:00:29 scarabeus Exp $
EAPI=4
@ -443,7 +443,6 @@ src_configure() {
# promote it
# --disable-zenity: disable build icon
# --enable-extension-integration: enable any extension integration support
# --with-{max-jobs,num-cpus}: ensuring parallel building
# --without-{afms,fonts,myspell-dicts,ppsd}: prevent install of sys pkgs
# --without-stlport: disable deprecated extensions framework
# --disable-ext-report-builder: too much java packages pulled in
@ -487,8 +486,7 @@ src_configure() {
--with-external-thes-dir="${EPREFIX}/usr/share/myspell" \
--with-external-tar="${DISTDIR}" \
--with-lang="" \
--with-max-jobs=${jbs} \
--with-num-cpus=${jbs} \
--with-parallelism=${jbs} \
--with-system-ucpp \
--with-unix-wrapper=libreoffice \
--with-vendor="Gentoo Foundation" \

@ -1,2 +1,3 @@
DIST unoconv-0.6-git.tar.gz 91694 SHA256 df687f06582dbc1768045308b1f04305ccd8f363c8b479ea188f43ca45f58c67 SHA512 c2991d65890738437c3180a8d12371b16cb045601f300ddc252b36ed2698d6412c610a2699ce94ac278987b9b26a9804eebff2df947db687637f6b3158f4b709 WHIRLPOOL ee7324ad406854d62f84dffed2d006d77cc86089f19d9b7d030770ecaf954c0c0e139b02443a24aa93acc05854d8c25e91216f8e131de953f87e443f829e7bef
DIST unoconv-20120327.tar.xz 79324 SHA256 f98ebc08621df509716540bc8f1f5f8264e115decddc48fea99a2706daa323ee SHA512 3a34985cfbfe4e9cb85244659c441e9ef13b5fa97c5197e1a250dbcb13ba86ecc62241834fd73f84926212e748d1ffc7a9eb854a0dae1ed7a514afc46c29b14f WHIRLPOOL 15d005ef5ad04fa05fed3321056c121ed5955b03807e4cc5eac5e8acca925593219f08c4100a766b0678ea76ff9be32b9c48345c1381fbb0ebd42b1ea90970dd
DIST unoconv-20120522.tar.xz 81696 SHA256 61da5dde9c7798c945e5003347511c275aceb81b900773d0fcda943a85b92b10 SHA512 e1b9555a177b3abf8ea3e12a7a614128315aeb0a9e3932c3141c2046b0ddc4967109325aabb54878e95bde93622843361aaaed80b066c7daf7f1696999b1f065 WHIRLPOOL 057df69aeb4e1366a4f95940cdf4bcae6c62f143cfa76f6c7402b4ab3335c13c66e2ebf737da94e26e06a07eeba632ed9bc02df01de4a81a0ba70760d5ac724f

@ -0,0 +1,46 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-office/unoconv/unoconv-0.6.ebuild,v 1.1 2012/10/31 08:55:29 graaff Exp $
EAPI=3
PYTHON_DEPEND="2"
EGIT_REPO_URI="https://github.com/dagwieers/unoconv.git"
[[ ${PV} == 9999* ]] && SCM_ECLASS="git-2"
inherit eutils python ${SCM_ECLASS}
unset SCM_ECLASS
DESCRIPTION="Convert between document formats supported by Libreoffice"
HOMEPAGE="http://dag.wieers.com/home-made/unoconv/"
[[ ${PV} == 9999* ]] || SRC_URI="https://github.com/dagwieers/${PN}/tarball/${PV} -> ${P}-git.tar.gz"
LICENSE="GPL-2"
SLOT="0"
[[ ${PV} == 9999* ]] || KEYWORDS="~amd64 ~x86"
IUSE=""
DEPEND=""
RDEPEND="${DEPEND}
!app-text/odt2txt
virtual/ooo
"
pkg_setup() {
python_set_active_version 2
}
src_prepare() {
mv "${WORKDIR}"/dagwieers-${PN}-* "${WORKDIR}"/${P}
cd "${S}"
epatch "${FILESDIR}/timeout.patch"
python_convert_shebangs -r 2 .
}
src_compile() { :; }
src_install() {
emake doc-install install install-links DESTDIR="${D}" || die
dodoc ChangeLog README.asciidoc || die
}

@ -0,0 +1,22 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-officeext/dmaths/dmaths-3.4.9.0.ebuild,v 1.1 2012/10/31 21:02:29 scarabeus Exp $
EAPI=5
OO_EXTENSIONS=(
"${PN}addon.oxt"
)
inherit office-ext
DESCRIPTION="Mathematics Formula Editor Extension"
HOMEPAGE="http://extensions.libreoffice.org/extension-center/dmaths"
SRC_URI="http://extensions.libreoffice.org/extension-center/${PN}/releases/${PV}/${PN}addon.oxt"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
RDEPEND="virtual/ooo"
DEPEND="${RDEPEND}"

@ -1,2 +1,3 @@
DIST portpeek-2.0.24.tar.gz 11373 SHA256 77b787e2c59743f40ad407c5a3026b3858f2c8475cf4d78cada25f3852691d4d SHA512 ef8ed9446caa41011c8d2d83cc5522848aff64c1cc45acc6863cdd474ed5654bd8d2a6985f815598110f4efc63253f8b1540242466e8b8cdc514426f99f0faae WHIRLPOOL 8e29ebe03a33d849d284e032c2cc1de1c574dacc81a355003eca2dac0cfb6f7302213296f68c0565f1ca872c3e73fd1afd5cd6ec0f3e5e71b1181986a672ca44
DIST portpeek-2.0.25.tar.gz 11367 SHA256 38de327bdefdd853166ec0ecdae03ccd508fb27c9762b99cea9926ce38801f5b SHA512 ea4b996787f4f956e3146f6618189f389f78f7a3778297ba1a2118b048c5f2e950221fbe4f9c52249a043f1fc65b4c45a01b799bb52b61e337527702f2149d9d WHIRLPOOL b57636fb820d6e5f0cb1611ca0e417c8d6b04a2c0fc50f9b32da78b940984c687c3ea1dc9a00660ce395108daca372fc3b9d90d9158cab51c502aa6677fd282d
DIST portpeek-2.1.0.tar.gz 11775 SHA256 4c693221ad6d5efa07089b6d16b562758ad822732551edc1536d139f4881575f SHA512 3c6fa28601748beb2d82ecf1942041c9c4ebdabce6fdcad65337834397aecebdee1af220c6c8f8ff5ce8488400b50cab94e60f5b23ebde19f3aae37639aa3013 WHIRLPOOL 8684d06021d8e651f8bce1e4dd94a7f4065120e85d0ba5ca9904b8a4b419a325e34e7ee84633549b900c1d860d37e2c0177a228a260265090f19513e798740bc

@ -0,0 +1,26 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-portage/portpeek/portpeek-2.1.0.ebuild,v 1.1 2012/10/31 18:22:40 mpagano Exp $
EAPI="4"
PYTHON_DEPEND="*:2.7"
inherit python
DESCRIPTION="A helper program for maintaining the package.keyword and package.unmask files"
HOMEPAGE="http://www.mpagano.com/blog/?page_id=3"
SRC_URI="http://www.mpagano.com/downloads/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~arm ~ppc ~sparc ~x86 ~x86-fbsd"
IUSE=""
DEPEND=""
RDEPEND=">=app-portage/gentoolkit-0.3.0.6-r3
>=sys-apps/portage-2.1.11.9"
src_install() {
dobin ${PN} || die "dobin failed"
doman *.[0-9]
}

@ -1,6 +1,6 @@
# Copyright 1999-2011 Gentoo Foundation
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-portage/pqlop/pqlop-0.02.ebuild,v 1.1 2011/12/11 20:07:59 maksbotan Exp $
# $Header: /var/cvsroot/gentoo-x86/app-portage/pqlop/pqlop-0.02.ebuild,v 1.2 2012/10/31 08:54:55 mgorny Exp $
EAPI=3
@ -18,7 +18,7 @@ SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
RDEPEND="dev-python/argparse"
RDEPEND="virtual/python-argparse"
src_unpack() {
:

@ -1 +1,2 @@
DIST smart-live-rebuild-1.2.3.tar.bz2 15753 SHA256 71080883018b4378d25ccb80d26cf973100f1df21e624c7c3fbfdbee3a31f035 SHA512 bde314a865d0e36fb6dd6e54a7d12caa8270cb5b6d163de548722095ff4e10b293824a986e219f7704f22bab90e5f333e60280c25db620eaf19fb2ae5f381e75 WHIRLPOOL 2bd0fe2d5709a324b08ca001f185eb33bac6a8daae876389ff84418748d977d941a499cfddeabf661f67e9b3a7643ea39aa5b5a271932bf2efcc3509cb23c874
DIST smart-live-rebuild-1.2.4.tar.bz2 15888 SHA256 31ba5e0984a46f978edfd0a5b51614f526b6aa9069a52a8eb4dbfb0bd1e6c853 SHA512 903e52a6380b3db4d6898f2f5302645cadc567a48ae623881f833ded746a355c4137b4bb50dd0502e27ece52743f4599ab70b3cfcfee18a033ff9b1281e974cc WHIRLPOOL f03e1eb5d29bddf8cabae1981837e996fdf01d187e8f3a27880a1d52c5e59b8ac271f5aa693aa0fac7d7f2ebc4c130a2919cd29f781705dcdd41e6d2dae1ee95

@ -0,0 +1,32 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-portage/smart-live-rebuild/smart-live-rebuild-1.2.4.ebuild,v 1.1 2012/10/31 18:02:01 mgorny Exp $
EAPI=4
PYTHON_COMPAT=(python2_6 python2_7 python3_1 python3_2)
inherit distutils-r1
DESCRIPTION="Check live packages for updates and emerge them as necessary"
HOMEPAGE="https://bitbucket.org/mgorny/smart-live-rebuild/"
SRC_URI="mirror://bitbucket/mgorny/${PN}/downloads/${P}.tar.bz2"
LICENSE="BSD-2"
SLOT="0"
KEYWORDS="~amd64 ~mips ~x86 ~x86-fbsd"
IUSE=""
RDEPEND=">=app-portage/gentoopm-0.2.1[${PYTHON_USEDEP}]"
python_test() {
"${PYTHON}" setup.py test || die
}
python_install_all() {
distutils-r1_python_install_all
insinto /etc/portage
newins smart-live-rebuild.conf{.example,}
insinto /usr/share/portage/config/sets
newins sets.conf.example ${PN}.conf
}

@ -1,3 +1 @@
DIST docbook2X-0.6.1.tar.gz 231262 SHA256 fb162799d29a86e2d7b506b87edd9b88eb6b126ed4b9648ac658fcdd0ebe058f SHA512 ca58743038277aba4b7e4fce76109fd01a332880811088082fed097e70d1e72dfdb81c65a8c57b629fc609095d9b720c193096ba739af4ab1bc1005b03d6d38a WHIRLPOOL f998e7806dffa914ed23a0bc925b7fc58b3e5949a0216e3ef696c8a7355462b8eb3c82f7d366010488a5e1827d6fe7dde84669c1b2185dd8735c106b9fc0511b
DIST docbook2X-0.8.7.tar.gz 656814 SHA256 562c143f64091b7e537042a6dce582d98bd4120b08a500ded3f78815c334e5f4 SHA512 16bb8f9b9d6b0da85a06fc7788a3ebca0e77b03e2b46902f41cec937ef6fbfb755f985d5d8e9a93e5e9ceee5c6c27ed56e8c676c3e068bbd75c0fac341214790 WHIRLPOOL a1b51b3e0dd0a37602a5809b5ff90944e1321e34d9312cc5a2fd70c3e1f55421d488c76630836874610aafe991cdc5c5ba31a12fceac085c0834372fac51657e
DIST docbook2X-0.8.8.tar.gz 723909 SHA256 4077757d367a9d1b1427e8d5dfc3c49d993e90deabc6df23d05cfe9cd2fcdc45 SHA512 cc336017ad734fc62d96d289105e8ea154c418a03a37f3e21b0b3520063f8b466b4aae5a5aec2e0b83f6324c6c79b5557247a93338d0a9882a94a44112f6b65c WHIRLPOOL 60cf325cbb9dbc7e0edc3a7bc4beb061259b22602efae54335f3828417c593ce7cb4c838eb33d598e1e6c2b2583e93eafbdfab37dba2873f1d8abaa72ed07b95

@ -1,49 +0,0 @@
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-text/docbook2X/docbook2X-0.6.1-r2.ebuild,v 1.10 2007/01/28 05:42:06 genone Exp $
S=${WORKDIR}/${PN}
DESCRIPTION="Tools to convert docbook to man and info"
SRC_URI="mirror://sourceforge/docbook2x/${P}.tar.gz"
HOMEPAGE="http://docbook2x.sourceforge.net"
SLOT="0"
KEYWORDS="amd64 hppa ppc sparc x86"
IUSE=""
LICENSE="GPL-2"
DEPEND=""
RDEPEND=">=dev-perl/XML-Writer-0.4
>=dev-perl/XML-XSLT-0.31
>=dev-perl/SGMLSpm-1.03"
#>=dev-libs/libxslt-0.5.0"
src_install () {
# Get current install Perl site arch directory.
eval `perl '-V:installsitearch'`
SITE_ARCH=${installsitearch}
insinto ${SITE_ARCH}/XML/DOM
doins XML/DOM/Map.pm
insinto ${SITE_ARCH}/XML
doins XML/SGMLSpl.pm
insinto /usr/share/sgml/docbook/db2X-customization/common
doins xslt/common/*
insinto /usr/share/sgml/docbook/db2X-customization/lib
doins xslt/lib/*
insinto /usr/share/sgml/docbook/db2X-customization/texi
doins xslt/texi/*
insinto /usr/share/sgml/docbook/db2X-customization/dtd
doins dtd/Texi-XML
exeinto /usr/bin
for exe in docbook2man docbook2manxml docbook2texi docbook2texixml texi_xml man_xml
do
mv ${exe} ${exe}.pl
doexe ${exe}.pl
done
doexe docbook2man-spec.pl docbook2texi-spec.pl manpage_makelinks.pl
elog "To avoid conflict with docbook-sgml-utils, which is much more widely used,"
elog "all executables have been renamed to *.pl."
}

@ -1,34 +0,0 @@
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-text/docbook2X/docbook2X-0.8.7-r1.ebuild,v 1.3 2009/11/17 21:40:15 robbat2 Exp $
DESCRIPTION="Tools to convert docbook to man and info"
SRC_URI="mirror://sourceforge/docbook2x/${P}.tar.gz"
HOMEPAGE="http://docbook2x.sourceforge.net"
SLOT="0"
KEYWORDS="~x86 ~ppc ~sparc ~amd64 ~hppa"
IUSE=""
LICENSE="GPL-2"
DEPEND=""
RDEPEND=">=dev-perl/XML-Writer-0.4
>=dev-perl/XML-XSLT-0.31
>=dev-perl/SGMLSpm-1.03
dev-perl/XML-SAX
dev-libs/libxslt"
src_compile () {
econf \
--with-xslt-processor=libxslt \
--program-suffix=.pl \
|| die "econf failed"
emake || die "emake failed"
}
src_install () {
make DESTDIR="${D}" install || die "install failed"
elog "To avoid conflict with docbook-sgml-utils, which is much more widely used,"
elog "all executables have been renamed to *.pl."
}

@ -1,40 +0,0 @@
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-text/docbook2X/docbook2X-0.8.8-r1.ebuild,v 1.1 2008/04/09 09:27:21 pva Exp $
DESCRIPTION="Tools to convert docbook to man and info"
SRC_URI="mirror://sourceforge/docbook2x/${P}.tar.gz"
HOMEPAGE="http://docbook2x.sourceforge.net/"
SLOT="0"
KEYWORDS="~amd64 ~hppa ~ppc ~sparc ~x86"
IUSE=""
LICENSE="MIT"
DEPEND=""
RDEPEND=">=dev-perl/XML-Writer-0.4
>=dev-perl/XML-XSLT-0.31
>=dev-perl/SGMLSpm-1.03
dev-perl/XML-SAX
dev-libs/libxslt"
src_compile() {
econf \
--with-xslt-processor=libxslt \
--program-transform-name='s,\(docbook2.*\),\1.pl,' \
|| die "econf failed"
emake || die "emake failed"
}
src_install() {
make "DESTDIR=${D}" install || die "install failed"
dodoc AUTHORS ChangeLog NEWS README THANKS TODO
}
pkg_postinst() {
elog "To avoid conflict with docbook-sgml-utils, which is much more widely used,"
elog "all executables have been renamed to *.pl."
}

@ -1,6 +1,6 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-text/docbook2X/docbook2X-0.8.8-r2.ebuild,v 1.19 2012/05/25 03:26:41 vapier Exp $
# $Header: /var/cvsroot/gentoo-x86/app-text/docbook2X/docbook2X-0.8.8-r2.ebuild,v 1.20 2012/10/31 17:23:46 floppym Exp $
EAPI="4"
@ -40,8 +40,3 @@ src_configure() {
--with-xslt-processor=libxslt \
--program-transform-name='/^docbook2/s,$,.pl,'
}
pkg_postinst() {
elog "To avoid conflict with docbook-sgml-utils, which is much more widely used,"
elog "all executables have been renamed to *.pl."
}

@ -1,40 +0,0 @@
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-text/docbook2X/docbook2X-0.8.8.ebuild,v 1.3 2007/08/22 18:39:37 ticho Exp $
DESCRIPTION="Tools to convert docbook to man and info"
SRC_URI="mirror://sourceforge/docbook2x/${P}.tar.gz"
HOMEPAGE="http://docbook2x.sourceforge.net/"
SLOT="0"
KEYWORDS="~amd64 ~hppa ~ppc ~sparc ~x86"
IUSE=""
LICENSE="MIT"
DEPEND=""
RDEPEND=">=dev-perl/XML-Writer-0.4
>=dev-perl/XML-XSLT-0.31
>=dev-perl/SGMLSpm-1.03
dev-perl/XML-SAX
dev-libs/libxslt"
src_compile() {
econf \
--with-xslt-processor=libxslt \
--program-suffix=.pl \
|| die "econf failed"
emake || die "emake failed"
}
src_install() {
make "DESTDIR=${D}" install || die "install failed"
dodoc AUTHORS ChangeLog NEWS README THANKS TODO
}
pkg_postinst() {
elog "To avoid conflict with docbook-sgml-utils, which is much more widely used,"
elog "all executables have been renamed to *.pl."
}

@ -1 +1,2 @@
DIST kbibtex-0.4.1.tar.bz2 198342 SHA256 ae85bd9db290b9b3b2a78036c0a69e29b52739f6c406ebec4cb73988e13506ba SHA512 ccd88552c1729246c476da21c6c5fee9496cec680d67ca337cf383b074ffe5ea3b11da98ecf750cacd604ea62c6e1f28e475725efdf575d4623f48beddf34d69 WHIRLPOOL bde08e9affdf848cf9b8b482ef7841470b25e916acd889f4b383d7b6e238176bfbe69e7b6d0540ec445c87bbe8f436eeb9a9592239ea48b84d75030c3991ceb4
DIST kbibtex-0.4.tar.bz2 191138 SHA256 9a7f969d645cebb50b653db811b6bba734eb93e44e72237e49c1a4dbc05700c3 SHA512 30f90863c4dadf84f4419ab164812e5d680b521baea4d173f7dde4d5d7a5eb9c614d37c5bca5b97d30c79a7facec86d51150b915a303ce0f7e2b221157582f6a WHIRLPOOL f321153d7a25835811dc9dcd76af642611f69175f85360feb486b5230f8d105304584f967b1b1beea123376c83f18e3ecddb2c1b3fc579f1c90f78521ecc0ddf

@ -0,0 +1,33 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-text/kbibtex/kbibtex-0.4.1.ebuild,v 1.1 2012/10/31 11:38:12 kensington Exp $
EAPI=4
inherit versionator kde4-base
DESCRIPTION="BibTeX editor for KDE to edit bibliographies used with LaTeX"
HOMEPAGE="http://home.gna.org/kbibtex/"
if [[ ${PV} != *9999* ]]; then
SRC_URI="http://download.gna.org/${PN}/$(get_version_component_range 1-2)/${P/_/-}.tar.bz2"
KEYWORDS="~amd64 ~x86"
else
ESVN_REPO_URI="svn://svn.gna.org/svn/${PN}/trunk"
ESVN_PROJECT="${PN}"
KEYWORDS=""
fi
LICENSE="GPL-2"
SLOT="4"
IUSE="debug"
DEPEND="
app-text/poppler[qt4]
dev-libs/libxml2
dev-libs/libxslt
virtual/tex-base
"
RDEPEND="${DEPEND}
dev-tex/bibtex2html"
S=${WORKDIR}/${P/_/-}

@ -2,3 +2,4 @@ DIST Sigil-0.4.2-Code.zip 10104606 SHA256 78490b43e071e840e191c3553b7d2041798b37
DIST Sigil-0.4.905-Code.zip 12336033 SHA256 55055550050074ddc36f95a0c1efc00fbad19eba1b13d528be134476087c09cd SHA512 291bc0481e8a8b4cce694d5e28ef0919461055500bb7188c42e3f20badd1237ec43b8731090db9d775d302ecc288806dd44e70ecabb86e39a47e692d8c060f70 WHIRLPOOL 3fafbe509f602bd5b761449db7b72cf814497e4a4e1e2cca9d4a5b95b43f4c412d2c55ce4bc12a4c1aacd540cc2169f2a7b86bbe253c54724d0672398ab96961
DIST Sigil-0.5.0-Code.zip 12396113 SHA256 e91c48df313540e08d651b73f48d3a78685976916beb794caba1f96f5a61d9de SHA512 abb7b1a385c4e4f740574117499725eb778b19526669483dbb4b45816fa7e07e5c3ba5b30eaa8c0a58eeb12269001ae4f1c769538830e8de93ca67be392b7a5e WHIRLPOOL a2f5161fe23e4cbba4f57155741713b47b8269bc0cec4614c74ddfb68b00895bec5efff1dfe328d6ba6f5bee6177f359d66dedce8800739328c26ea0e32eb5d4
DIST Sigil-0.5.3-Code.zip 12843490 SHA256 9525ac3885e7d3962a85e491b271fd857e8a9430e92868e1772c3bcaeb9bc778 SHA512 e1f528cc8a1bae3fa7a4fbe0f13c8345f23da2cb7d47592353c64c062d8f38b4060a7886a9c5ecd212cd39672f4f2575f5324e5b4167f5ac569656610cb13347 WHIRLPOOL 568d8710b7cc0ca2902f373f7a44738271ca0627770cdecb69ff51073d6f064cd46d6d14f4369df57c15db795c4e8885d701417ee6fd041873f3fc0b441a4e02
DIST Sigil-0.6.0-Code.zip 12907949 SHA256 02b95d3d1d5ad8a186212c6c60ae76fa17a98da83a748965db9546ff51903308 SHA512 3b5e9bbea6aebc2fc36f465d8035cd09afb6c2b94d9eeddbf83c2f071d31ba1999807c9eb9272cbaf16142fb1a6298b7de7e5eb6826066e694a26c9784100b30 WHIRLPOOL cd39e774c77fbde70e7327ce5610d617499f68815622053c9955c16cef6f0766a848aae18d3c0a3becb7cd3509a7a1f48f704d0f5904cdc25e6d20318c82625d

@ -0,0 +1,41 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-text/sigil/sigil-0.6.0.ebuild,v 1.2 2012/10/31 20:42:20 flameeyes Exp $
EAPI=4
CMAKE_BUILD_TYPE="Release"
inherit eutils cmake-utils
MY_P="Sigil-${PV}-Code"
DESCRIPTION="Sigil is a multi-platform WYSIWYG ebook editor for ePub format."
HOMEPAGE="http://code.google.com/p/sigil/"
SRC_URI="http://${PN}.googlecode.com/files/${MY_P}.zip"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
DEPEND="
>=sys-libs/zlib-1.2.7[minizip]
>=dev-libs/libpcre-8.31
>=dev-libs/boost-1.49
>=app-text/hunspell-1.3.2
>=dev-libs/xerces-c-3.1.1
>=x11-libs/qt-webkit-4.8:4
>=x11-libs/qt-svg-4.8:4
>=x11-libs/qt-gui-4.8:4"
RDEPEND="${DEPEND}"
S="${WORKDIR}"
DOCS=( ChangeLog README )
src_prepare() {
# use standard naming
mv -f README.txt README
mv -f ChangeLog.txt ChangeLog
edos2unix ChangeLog README
}

@ -1,2 +1 @@
DIST gitolite-syntax-20100826.tar.bz2 1407 SHA256 02d49b50e8eff9b1d3072554b74c992a977b01a2bee79dda00dd21d1a5803d6c SHA512 cc2db8dc54203dc43960c144fd091ff9a9ea8742783ea684900c1c3428e575cfdc3168f75e0ea5eb689cc26738f10ae749bc3ac0438ee448059d86307b23b1cc WHIRLPOOL 1745a4ac21d7694b391f732e1eb2da3faa311315d0489b5fcdd4d94640c7a9cdb6e88e378a6a646bd5d6f6e69c3748893e7179ea064f0348540a54ed1e9acaf4
DIST gitolite-syntax-20111225.tar.bz2 1833 SHA256 abf8ded395260f5ac11ff0ad2bdcdfe1303ed81676c1bd03dac0d4b1282200ba SHA512 28cac71111f9d41c46e6f9f68a22760512a03650b5f1f2d77ef40e002c22c024a288ede2d6e898320d4616066409d5f8343688681169c136505235b784d3dda5 WHIRLPOOL 48fa3c5f7ca23857b6e3a011d728f05625179bb0b4704fcdbeffec64eaf4a226373c44f64e78794b04bed511aa319e5e164af8bba605c2512f4e9c3815fbfb97

@ -1,17 +0,0 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-vim/gitolite-syntax/gitolite-syntax-20100826.ebuild,v 1.3 2011/02/12 09:50:55 hwoarang Exp $
EAPI=3
inherit vim-plugin
DESCRIPTION="vim plugin: gitolite syntax highlighting"
HOMEPAGE="http://www.vim.org/scripts/script.php?script_id=2900"
LICENSE="Apache-2.0"
KEYWORDS="amd64 x86"
IUSE=""
S=$WORKDIR
SRC_URI="mirror://gentoo/${P}.tar.bz2"
VIM_PLUGIN_HELPTEXT="Vim Syntax highlight for gitolite configuration file gitolite.conf"

@ -1 +1,2 @@
DIST gstreamermm-0.10.10.1.tar.xz 6269376 SHA256 4ba05200b699973af75d5fb397f2e4270f924cdd8c394f7954f5c11ea5083c9c SHA512 497b989810aef002f7587c53d538d700c530b20005542560ce932c1c0797ffb190b33172d345a669faf829260cf5e37f02d3a838687b64c8180288639e593891 WHIRLPOOL f31906533fd2e0f76ca1fba9e18c689fc29d5ed42038381f53d4b1192fe37a00c9474bcd3e86a4aeebb5f5fe91006638cb0c3443feb02992e0687de61d5cb299
DIST gstreamermm-0.10.11.tar.xz 5840552 SHA256 12b5f377363594a69cb79f2f5cd0a8b1813ca6553680c3216e6354cfd682ebc6 SHA512 2ad370f6902dcb4663ea801bdbbf744a98de9e24fc04f27b5044a4a95337168e2bb195761a07ac9c1011f9ed4936287fcc5f4c2b984f0a362b429d05be7d3909 WHIRLPOOL d9be72d4691b9b0769b75819ca9403a2df7f1dbdad4974e4b26e4fd87d4b7ea0503fb2ba6a500a008ec9d1c29f6677e61649798801e6babf7e4d7b8562cc72f2

@ -0,0 +1,35 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-cpp/gstreamermm/gstreamermm-0.10.11.ebuild,v 1.1 2012/10/30 22:04:07 eva Exp $
EAPI="5"
GNOME2_LA_PUNT="yes"
inherit gnome2
DESCRIPTION="C++ interface for GStreamer"
HOMEPAGE="http://gstreamer.freedesktop.org/bindings/cplusplus.html"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86"
IUSE="test"
RDEPEND="
>=media-libs/gstreamer-0.10.36:0.10
>=media-libs/gst-plugins-base-0.10.36:0.10
>=dev-cpp/glibmm-2.28.0:2
>=dev-cpp/libxmlpp-2.14:2.6
>=dev-libs/libsigc++-2:2
"
DEPEND="${RDEPEND}
virtual/pkgconfig
test? (
media-libs/gst-plugins-good:0.10
media-plugins/gst-plugins-vorbis:0.10
media-plugins/gst-plugins-x:0.10 )
"
DOCS="AUTHORS ChangeLog NEWS README"
# Installs reference docs into /usr/share/doc/gstreamermm-0.10/
# but that's okay, because the rest of dev-cpp/*mm stuff does the same

@ -0,0 +1 @@
DIST MyGUI_3.2.0.zip 14383788 SHA256 1704006f364b733b2d2cc6807c6dc10833cf695542b797aee50b8fd061eea19a SHA512 8ff8de065a6f355a03e45bfeac6d8db706ee7a122346f41ef26664dc8280d4d1cba8ac943afbaae27c5a1b7fb8bfa8729a1758cc87e8764370284aec943f9278 WHIRLPOOL 982c8fd9e714d7ebc5583a884953ef41fd6a2b2c1f62ec56bc81768ee607135116c14973e3eb4f528e636cf3ca1df6dd155931ea93b26fe537a66cb09a44aba4

@ -0,0 +1,63 @@
From: Julian Ospald <hasufell@gentoo.org>
Date: Sat Oct 27 22:39:31 UTC 2012
Subject: FHS
paths hardcoded until upstream fixed the logic
--- Common/Base/Ogre/BaseManager.cpp
+++ Common/Base/Ogre/BaseManager.cpp
@@ -47,14 +47,14 @@
mWindow(nullptr),
mExit(false),
mPluginCfgName("plugins.cfg"),
- mResourceXMLName("resources.xml"),
+ mResourceXMLName("/etc/MYGUI/resources.xml"),
mResourceFileName("MyGUI_Core.xml"),
mNode(nullptr)
{
#if MYGUI_PLATFORM == MYGUI_PLATFORM_APPLE
mResourcePath = macBundlePath() + "/Contents/Resources/";
#else
- mResourcePath = "";
+ mResourcePath = "/etc/MYGUI/";
#endif
}
@@ -65,12 +65,16 @@
bool BaseManager::create()
{
Ogre::String pluginsPath;
+ char *homedir;
+ homedir = getenv("HOME");
+ std::string homePath;
+ homePath = homedir;
#ifndef OGRE_STATIC_LIB
pluginsPath = mResourcePath + mPluginCfgName;
#endif
- mRoot = new Ogre::Root(pluginsPath, mResourcePath + "ogre.cfg", mResourcePath + "Ogre.log");
+ mRoot = new Ogre::Root(pluginsPath, homePath + "/mygui-ogre.cfg", homePath + "/mygui-Ogre.log");
setupResources();
--- CMake/InstallResources.cmake
+++ CMake/InstallResources.cmake
@@ -24,7 +24,7 @@
else ()
install(FILES
${MYGUI_BINARY_DIR}/bin/${FILENAME}
- DESTINATION "bin"
+ DESTINATION "/etc/MYGUI"
)
endif ()
endfunction(install_file)
@@ -51,7 +51,7 @@
if (WIN32)
set(MYGUI_MEDIA_DIR "../../Media")
elseif (UNIX)
- set(MYGUI_MEDIA_DIR "../share/MYGUI/Media")
+ set(MYGUI_MEDIA_DIR "${CMAKE_INSTALL_PREFIX}/share/MYGUI/Media")
else ()
set(MYGUI_MEDIA_DIR "../../Media")
endif ()

@ -0,0 +1,72 @@
From: Julian Ospald <hasufell@gentoo.org>
Date: Fri Jun 15 21:58:45 UTC 2012
use proper destinations and allow Gentoo build type
rename demo targets to avoid confusion
--- CMake/Utils/MyGUIConfigTargets.cmake
+++ CMake/Utils/MyGUIConfigTargets.cmake
@@ -1,6 +1,8 @@
# Configure settings and install targets
# FIXME: Copypasted from Ogre and need lots of changes
+include(GNUInstallDirs)
+
if (WIN32)
set(MYGUI_RELEASE_PATH "/Release")
set(MYGUI_RELWDBG_PATH "/RelWithDebInfo")
@@ -56,6 +58,12 @@
# install targets according to current build type
function(mygui_install_target TARGETNAME SUFFIX)
install(TARGETS ${TARGETNAME}
+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" CONFIGURATIONS Gentoo ""
+ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" CONFIGURATIONS Gentoo ""
+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" CONFIGURATIONS Gentoo ""
+ FRAMEWORK DESTINATION "${MYGUI_FRAMEWORK_PATH}" CONFIGURATIONS Gentoo ""
+ )
+ install(TARGETS ${TARGETNAME}
RUNTIME DESTINATION "bin${MYGUI_RELEASE_PATH}" CONFIGURATIONS Release None ""
LIBRARY DESTINATION "lib${MYGUI_LIB_RELEASE_PATH}${SUFFIX}" CONFIGURATIONS Release None ""
ARCHIVE DESTINATION "lib${MYGUI_LIB_RELEASE_PATH}${SUFFIX}" CONFIGURATIONS Release None ""
@@ -170,7 +178,13 @@
endif ()
add_executable(${PROJECTNAME} ${MYGUI_EXEC_TYPE} ${HEADER_FILES} ${SOURCE_FILES})
endif ()
- set_target_properties(${PROJECTNAME} PROPERTIES FOLDER ${SOLUTIONFOLDER})
+
+ # rename demo target
+ if (${SOLUTIONFOLDER} STREQUAL "Demos")
+ set_target_properties(${PROJECTNAME} PROPERTIES FOLDER ${SOLUTIONFOLDER} OUTPUT_NAME MYGUI-${PROJECTNAME})
+ else()
+ set_target_properties(${PROJECTNAME} PROPERTIES FOLDER ${SOLUTIONFOLDER})
+ endif()
add_dependencies(${PROJECTNAME} MyGUIEngine Common)
@@ -326,4 +340,4 @@
INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib)
set_property(TARGET ${PROJECTNAME} PROPERTY INSTALL_RPATH_USE_LINK_PATH TRUE)
endif ()
-endfunction(mygui_config_sample)
\ No newline at end of file
+endfunction(mygui_config_sample)
--- CMake/ConfigureBuild.cmake
+++ CMake/ConfigureBuild.cmake
@@ -4,6 +4,8 @@
# also prepare package files for pkg-config and CMake.
#######################################################################
+include(GNUInstallDirs)
+
# should we build static libs?
if (MYGUI_STATIC)
set(MYGUI_LIB_TYPE STATIC)
@@ -47,7 +49,7 @@
else ()
configure_file(${MYGUI_TEMPLATES_DIR}/MYGUI.pc.in ${MYGUI_BINARY_DIR}/pkgconfig/MYGUI${MYGUI_LIB_SUFFIX}.pc @ONLY)
endif ()
- install(FILES ${MYGUI_BINARY_DIR}/pkgconfig/MYGUI${MYGUI_LIB_SUFFIX}.pc DESTINATION lib/pkgconfig)
+ install(FILES ${MYGUI_BINARY_DIR}/pkgconfig/MYGUI${MYGUI_LIB_SUFFIX}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
# configure additional packages

@ -0,0 +1,20 @@
From: Julian Ospald <hasufell@gentoo.org>
Date: Fri Jun 15 10:42:42 UTC 2012
Subject: build system
fix underlinking
--- MyGUIEngine/CMakeLists.txt
+++ MyGUIEngine/CMakeLists.txt
@@ -48,7 +48,10 @@
if (MYGUI_USE_FREETYPE)
target_link_libraries(${PROJECTNAME}
${FREETYPE_LIBRARIES}
- )
+ dl)
+else()
+ target_link_libraries(${PROJECTNAME}
+ dl)
endif()
# platform specific dependencies

@ -0,0 +1,48 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<herd>games</herd>
<maintainer>
<email>hasufell@gentoo.org</email>
<name>Julian Ospald</name>
<description>Maintainer, assign bugs to him</description>
</maintainer>
<upstream>
<maintainer status="active">
<email>altren@list.ru</email>
<name>Evmenov Georgiy</name>
<description>CC on bugs</description>
</maintainer>
<changelog>http://redmine.mygui.info/repositories/entry/mygui/tags/MyGUI3.2/ChangeLog.txt</changelog>
<bugs-to>https://sourceforge.net/tracker/?group_id=193706&amp;atid=946487</bugs-to>
</upstream>
<use>
<flag name="linguas_ru">Install some additional russian docs if 'doc' useflag enabled</flag>
<flag name="plugins">Build MyGUI plugins</flag>
<flag name="samples">Install MyGUI demos</flag>
<flag name="tools">Build the tools for development</flag>
</use>
<longdescription lang="en">
MyGUI is a library for creating Graphical User Interfaces (GUIs) for
games and 3D applications. The main goals of mygui are: speed,
flexibility and ease of use.
Speed
We speed up our system by using our own batching subsystem which
combines geometry. It is also possible for the more experienced
developers to write their own render system or new subsystems
Flexibility
The library supports plugins that allows you to create dynamically
loaded custom controls or subsystems. Most subsystems are expandable
with plugins without the need to touch the core code. All resources
and settings are described in XML files. It is possible to load
resources like fonts, cursors, images, skins, etc. Forms (layouts)
via dynamically by using XML files.
Simplicity
The user interface is easy to use and uses delegates (Signals and
slots) for easy to use event handling.
</longdescription>
</pkgmetadata>

@ -0,0 +1,124 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-games/mygui/mygui-3.2.0-r1.ebuild,v 1.1 2012/10/31 20:37:20 hasufell Exp $
EAPI=4
inherit eutils cmake-utils flag-o-matic multilib
MY_PN=MyGUI
MY_P=${MY_PN}_${PV}
DESCRIPTION="A library for creating GUIs for games"
HOMEPAGE="http://mygui.info/"
SRC_URI="mirror://sourceforge/my-gui/${MY_PN}/${MY_P}/${MY_P}.zip"
LICENSE="LGPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="debug doc plugins samples static-libs test tools linguas_ru"
RDEPEND="dev-games/ogre[freeimage,opengl]
media-libs/freetype:2
samples? ( dev-games/ois )
tools? ( dev-games/ois )"
DEPEND="${RDEPEND}
app-arch/unzip
virtual/pkgconfig
doc? ( app-doc/doxygen )"
S=${WORKDIR}/${MY_P}
STATIC_BUILD=${WORKDIR}/${P}_build_static
src_prepare() {
epatch "${FILESDIR}"/${P}-underlinking.patch \
"${FILESDIR}"/${P}-build.patch \
"${FILESDIR}"/${P}-FHS.patch
}
src_configure() {
use debug && append-cppflags -DDEBUG
local mycmakeargs=()
# static configuration
if use static-libs ; then
mycmakeargs=( -DMYGUI_STATIC=ON
-DMYGUI_BUILD_DOCS=OFF
-DMYGUI_INSTALL_DOCS=OFF
-DMYGUI_USE_FREETYPE=ON
$(cmake-utils_use plugins MYGUI_BUILD_PLUGINS)
-DMYGUI_BUILD_DEMOS=OFF
-DMYGUI_INSTALL_SAMPLES=OFF
-DMYGUI_BUILD_TOOLS=OFF
-DMYGUI_INSTALL_TOOLS=OFF
-DMYGUI_BUILD_WRAPPER=OFF
-DMYGUI_RENDERSYSTEM=2 )
CMAKE_BUILD_DIR=${STATIC_BUILD} cmake-utils_src_configure
unset mycmakeargs
fi
# main configuration
mycmakeargs=( -DMYGUI_STATIC=OFF
$(cmake-utils_use doc MYGUI_BUILD_DOCS)
$(cmake-utils_use doc MYGUI_INSTALL_DOCS)
-DMYGUI_USE_FREETYPE=ON
$(cmake-utils_use plugins MYGUI_BUILD_PLUGINS)
$(cmake-utils_use samples MYGUI_BUILD_DEMOS)
$(cmake-utils_use samples MYGUI_INSTALL_SAMPLES)
$(cmake-utils_use tools MYGUI_BUILD_TOOLS)
$(cmake-utils_use tools MYGUI_INSTALL_TOOLS)
-DMYGUI_BUILD_WRAPPER=OFF
-DMYGUI_RENDERSYSTEM=2 )
if use tools || use samples ; then
mycmakeargs+=( -DMYGUI_INSTALL_MEDIA=ON )
else
mycmakeargs+=( -DMYGUI_INSTALL_MEDIA=OFF )
fi
cmake-utils_src_configure
}
src_compile() {
# build system does not support building static and shared at once,
# run a double build
if use static-libs ; then
CMAKE_BUILD_DIR=${STATIC_BUILD} cmake-utils_src_compile
fi
cmake-utils_src_compile
use doc && emake -C "${CMAKE_BUILD_DIR}"/Docs api-docs
}
src_install() {
cmake-utils_src_install
if use static-libs ; then
find "${STATIC_BUILD}" -name "*.a" \! -name "libCommon.a" -exec dolib.a '{}' \;
insinto /usr/$(get_libdir)/pkgconfig
doins "${STATIC_BUILD}"/pkgconfig/MYGUIStatic.pc
fi
if use doc ; then
dohtml -r "${CMAKE_BUILD_DIR}"/Docs/html/*
if use linguas_ru ; then
docompress -x /usr/share/doc/${PF}/Papers
dodoc -r Docs/Papers
fi
fi
# test media not needed at runtime
rm -rf "${D}"/usr/share/MYGUI/Media/UnitTests
# wrapper not available for linux, remove related media
rm -rf "${D}"/usr/share/MYGUI/Media/Wrapper
}
pkg_postinst() {
einfo
elog "ogre.cfg and Ogre.log are created as"
elog "~/mygui-ogre.cfg and ~/mygui-Ogre.log"
einfo
}

@ -1,3 +1,2 @@
DIST wfmath-0.3.10.tar.bz2 331936 SHA256 74013586e9bf7b0d1a28e8ba1107113e804de1a18fa4bd8c357de564aaa565c9 SHA512 90335479df5a03b8cca781e8d98c0f7175da11d4507b261a476e2e3557d4eb535cb87d133448c367bcc3122f4ccee95da0158d81fae65bb48e4ea92f8dcb5b6d WHIRLPOOL 1de78bfa084de262b5e9c935c97eb277a6142189774d0c10bd325eb2e76a9789975d690f1fd2ef445a69d45df4f44e838835928df1be6ba248482e0fca20b6bf
DIST wfmath-0.3.11.tar.bz2 369831 SHA256 da4d4f55b2d56cf8412db406933b0331a051a17b3053ac91003323cbe51eecea SHA512 3be9ed9332baa1d7f54e01ba61596238443848804820b74b1e83a1a40c501b2a0d3b799dcdf1b998435329684995c29a2346b9a38284226b68603f47a2916c32 WHIRLPOOL 1ebe21236d5fefc88d1df1561c77af635b01c60ed286b944dca24773fa1f54088f6894513dd7a2cff52463daa70f3d6b76ad670013bac44b571f64676de91ad1
DIST wfmath-1.0.0.tar.bz2 390060 SHA256 6283fde403b87547b41394af0a1993f5086d7cb9d2ed8db4bcca5fae625fd99b SHA512 aa3fb300cd00c53ede226d860301fc51852429af61fac460b26345e77cc23a3c6af4c63f9241639e30e6c7993ecbe8f568fcc2185cd0a75983ddcd4acccf1222 WHIRLPOOL 707389e29d9378f9d266e8abb23b6b11a10457347e25ed6af60be706807c1152607fd5886a3edb54f9cdc94a5065e4c1187f6e57b8c9683fae956c1e71e7764e

@ -0,0 +1,21 @@
--- wfmath/vector.h.old 2012-10-31 08:39:38.033547273 +0100
+++ wfmath/vector.h 2012-10-31 08:40:12.200097132 +0100
@@ -34,6 +34,7 @@
#include <wfmath/zero.h>
#include <iosfwd>
+#include <cmath>
namespace WFMath {
--- wfmath/point.h.old 2012-10-31 08:41:00.226654036 +0100
+++ wfmath/point.h 2012-10-31 08:41:52.353918234 +0100
@@ -32,6 +32,8 @@
#include <memory>
#include <iosfwd>
+#include <cmath>
+
namespace WFMath {
template<const int dim>

@ -1,41 +0,0 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-games/wfmath/wfmath-0.3.10.ebuild,v 1.5 2011/01/16 04:11:53 mr_bones_ Exp $
EAPI=2
DESCRIPTION="Worldforge math library"
HOMEPAGE="http://www.worldforge.org/dev/eng/libraries/wfmath"
SRC_URI="mirror://sourceforge/worldforge/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="doc static-libs"
RDEPEND=""
DEPEND="doc? ( app-doc/doxygen )"
src_configure() {
econf \
--disable-dependency-tracking \
$(use_enable static-libs static)
}
src_compile() {
emake || die "emake failed"
if use doc; then
emake -C doc docs || die "emake doc failed"
fi
}
src_install() {
emake DESTDIR="${D}" install || die "emake install failed"
dodoc AUTHORS ChangeLog NEWS README TODO
if use doc; then
dohtml doc/html/*
fi
if ! use static-libs ; then
find "${D}" -type f -name '*.la' -exec rm {} + \
|| die "la removal failed"
fi
}

@ -1,8 +1,11 @@
# Copyright 1999-2011 Gentoo Foundation
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-games/wfmath/wfmath-0.3.11.ebuild,v 1.3 2011/11/11 09:18:33 phajdan.jr Exp $
# $Header: /var/cvsroot/gentoo-x86/dev-games/wfmath/wfmath-0.3.11.ebuild,v 1.4 2012/10/31 09:25:13 tupone Exp $
EAPI=2
inherit eutils
DESCRIPTION="Worldforge math library"
HOMEPAGE="http://www.worldforge.org/dev/eng/libraries/wfmath"
SRC_URI="mirror://sourceforge/worldforge/${P}.tar.bz2"
@ -15,6 +18,10 @@ IUSE="doc static-libs"
RDEPEND=""
DEPEND="doc? ( app-doc/doxygen )"
src_prepare() {
epatch "${FILESDIR}"/${P}-gcc47.patch
}
src_configure() {
econf \
--disable-dependency-tracking \

@ -1,8 +1,8 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-games/wfmath/wfmath-1.0.0.ebuild,v 1.1 2012/07/10 16:50:56 mr_bones_ Exp $
# $Header: /var/cvsroot/gentoo-x86/dev-games/wfmath/wfmath-1.0.0.ebuild,v 1.2 2012/10/31 09:25:13 tupone Exp $
EAPI=2
EAPI=4
DESCRIPTION="Worldforge math library"
HOMEPAGE="http://www.worldforge.org/dev/eng/libraries/wfmath"
SRC_URI="mirror://sourceforge/worldforge/${P}.tar.bz2"
@ -18,20 +18,18 @@ DEPEND="doc? ( app-doc/doxygen )
src_configure() {
econf \
--disable-dependency-tracking \
$(use_enable static-libs static)
}
src_compile() {
emake || die "emake failed"
emake
if use doc; then
emake -C doc docs || die "emake doc failed"
emake -C doc docs
fi
}
src_install() {
emake DESTDIR="${D}" install || die "emake install failed"
dodoc AUTHORS ChangeLog NEWS README TODO
default
if use doc; then
dohtml doc/html/*
fi

@ -1,6 +1,6 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-java/icedtea-bin/icedtea-bin-6.1.11.5.ebuild,v 1.2 2012/10/21 10:31:52 ago Exp $
# $Header: /var/cvsroot/gentoo-x86/dev-java/icedtea-bin/icedtea-bin-6.1.11.5.ebuild,v 1.3 2012/10/31 14:24:22 nativemad Exp $
EAPI="4"
@ -28,7 +28,7 @@ SRC_URI="
LICENSE="GPL-2-with-linking-exception"
SLOT="6"
KEYWORDS="-* amd64 ~x86"
KEYWORDS="-* amd64 x86"
IUSE="+X +alsa cjk +cups doc examples nsplugin source"
REQUIRED_USE="nsplugin? ( X )"

@ -1,2 +1,3 @@
DIST jtds-1.2.4-src.zip 3875862 SHA256 a47e8ae732287a3e693a0663e221bac1b71ba4548754b246ad827bd2cda748cf SHA512 99f82f247db4b7a9af9d0942e9adf561ff71224a43df38fc4faaa81b04186a6aa770e761678a144fbb22ac3c43c2b535922a214e64ac262c367976bee411ea4e WHIRLPOOL b9ab5fad3cce280b9501ff353e530626c7e146e4e0300888069cf9de901280e859cfe36ec50da2a458b101021940ffb073ecf09eadaa3cad352f49598a203c65
DIST jtds-1.2.5-src.zip 3953955 SHA256 d86c7244826543d2f2f9cdc1d50888003596c1ec18f30808b21627e8889e9114 SHA512 d2b496a7aac4e4c9c0e164c1514d2d21392024903e1376b13fa6a3396d045a1bfc6a085b2beb1202703a6b6e59e8b534bc82508fcb58c71a25b6a13a3d051eda WHIRLPOOL b5e88e6cdb00f797de1d824a7581d693111d4d746ce6d5a709934ce00befbed4fb4c3b248448715bdf27691c33d8f1cca8ca270e942eb27907cd2567e919084d
DIST jtds-1.3.0-src.zip 3377646 SHA256 9f500d9eb243e87ef16fbec3909d297b7261893a298646223c9722162ab43c75 SHA512 a07b0a69ecf055a6b2fac0a0cdf3f7562fefb7c4e4c65eed96cc9b667a66b4b4a0de543d904d8a9871031e181c0e75c450afb2f01bfb7a504d1abcd9776216e9 WHIRLPOOL 65707009909715fdfbdcc54b0345c657ec226810414b7d5a3fa08ec04b5eaa11950901221f5934a0e81739cfba70d004368dd7e2a95125d93d981204bd67072e

@ -0,0 +1,29 @@
--- build.xml.orig 2009-11-07 18:55:41.000000000 +0100
+++ build.xml 2009-11-07 18:58:17.000000000 +0100
@@ -75,13 +75,13 @@
</junit>
</target>
- <target name="dist" depends="clean,compile,javadoc">
+ <target name="jar" depends="compile">
<mkdir dir="${dist}"/>
<!-- Runtime jar -->
<jar basedir="${build}/classes"
excludes="net/sourceforge/jtds/test/*.class"
includes="**/*"
- jarfile="${build}/${ant.project.name}-${version}.jar">
+ jarfile="${build}/${ant.project.name}.jar">
<manifest>
<attribute name="Implementation-Title" value="jTDS JDBC Driver"/>
<attribute name="Implementation-Version" value="${version}"/>
@@ -92,6 +92,10 @@
<attribute name="Main-Class" value="net.sourceforge.jtds.jdbc.Driver"/>
</manifest>
</jar>
+
+ </target>
+
+ <target name="dist" depends="jar">
<!-- Source package -->
<copy todir="${dist}/tmp/doc">

@ -0,0 +1,13 @@
--- build.xml
+++ build.xml
@@ -117,7 +117,9 @@
</junit>
</target>
- <target name="dist" depends="clean,compile,javadoc">
+ <target name="dist" depends="clean,jar,javadoc"/>
+
+ <target name="jar" depends="compile">
<mkdir dir="${dist}"/>
<!-- runtime jar -->

@ -0,0 +1,52 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-java/jtds/jtds-1.2.5-r1.ebuild,v 1.1 2012/10/30 19:24:54 sera Exp $
EAPI=5
JAVA_PKG_IUSE="doc source"
inherit eutils java-pkg-2 java-ant-2
DESCRIPTION="jTDS - SQL Server and Sybase JDBC driver"
SRC_URI="mirror://sourceforge/${PN}/${P}-src.zip"
HOMEPAGE="http://jtds.sourceforge.net"
LICENSE="LGPL-2.1"
SLOT="1.2"
KEYWORDS="~amd64 ~x86"
IUSE=""
# Would need a running server
RESTRICT="test"
COMMON_DEPEND="
dev-java/jcifs:1.1"
RDEPEND="${COMMON_DEPEND}
virtual/jre:1.6"
DEPEND="${COMMON_DEPEND}
virtual/jdk:1.6
app-arch/unzip"
S=${WORKDIR}
java_prepare() {
find -name '*.jar' -exec rm -v {} + || die
epatch "${FILESDIR}"/${P}-build.xml.patch
rm -vr ./src/test/net/sourceforge/jtds/test || die
}
JAVA_ANT_REWRITE_CLASSPATH="yes"
JAVA_ANT_CLASSPATH_TAGS+=" javadoc"
EANT_GENTOO_CLASSPATH="jcifs-1.1"
src_install() {
java-pkg_dojar build/${PN}.jar
dodoc CHANGELOG README*
use doc && java-pkg_dojavadoc build/doc
use source && java-pkg_dosrc "${S}"/src/main/*
}

@ -0,0 +1,52 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-java/jtds/jtds-1.3.0.ebuild,v 1.1 2012/10/30 19:24:54 sera Exp $
EAPI=5
JAVA_PKG_IUSE="doc source"
inherit eutils java-pkg-2 java-ant-2
DESCRIPTION="jTDS - SQL Server and Sybase JDBC driver"
SRC_URI="mirror://sourceforge/${PN}/${P}-src.zip"
HOMEPAGE="http://jtds.sourceforge.net"
LICENSE="LGPL-2.1"
SLOT="1.3"
KEYWORDS="~amd64 ~x86"
IUSE=""
# Would need a running server
RESTRICT="test"
COMMON_DEPEND="
dev-java/jcifs:1.1"
RDEPEND="${COMMON_DEPEND}
virtual/jre:1.7"
DEPEND="${COMMON_DEPEND}
virtual/jdk:1.7
app-arch/unzip"
S=${WORKDIR}
java_prepare() {
find -name '*.jar' -exec rm -v {} + || die
epatch "${FILESDIR}"/${P}-build.xml.patch
mkdir -p build/doc || die
}
JAVA_ANT_REWRITE_CLASSPATH="yes"
JAVA_ANT_CLASSPATH_TAGS+=" javadoc"
EANT_GENTOO_CLASSPATH="jcifs-1.1"
src_install() {
java-pkg_newjar build/${P}.jar
dodoc CHANGELOG README*
use doc && java-pkg_dojavadoc build/doc
use source && java-pkg_dosrc "${S}"/src/main/*
}

@ -1,2 +1,3 @@
DIST openjdk7-macppc-2009-12-16-b4.tar.bz2 52825661 SHA256 a31b444214de2f9ff7959a8d9fa626f7be446fa612e78af5ac8087ad30de8a42 SHA512 ac856d91d2d80fcbde99e85a2f603746dd05fa40d113770354d1871ee87a8821a83e41332b56b99a24e832d1c3e7ceeca76ec94cccb010a4e086ebb362b2ee28 WHIRLPOOL 24b41b33ed489b4426545567977377186892a10cb3adec159eba6429d124a55da63d5ef4b09ba658872e1fc3a7031846483d51549f6087ec9058e6b069181304
DIST soylatte16-amd64-1.0.3.tar.bz2 53888225 SHA256 749762d742450a8711acd7ba981969c0056e9373b453d3e97c58af07f5f92c60 SHA512 51e3499eb56c3177c3cef9416e265769757fc8e5b8075a5eb1cbde74fd7b64edb0ab64ba2c2e9751fc21f5fae035e6224a60ffff2ab8808e7f9a4d106ac1d071 WHIRLPOOL ec3e01cab1c1ddcb126e34b31a1552b65fbc96282e505f672e1e175e14aa22be348f4d3077b93ae711352eee3cbd37271950c4ab246dad58e775210e79f42f90
DIST soylatte16-i386-1.0.3.tar.bz2 55567606 SHA256 8f389eb9c19336ce18d864ad600edd692c6994259889646d68c2e66494d67ffc SHA512 e19f9755ffea0de8d397c537264334d473ae5678034bed0a04254dc82d9322ab8ae6ddc158d85713fe19c4e51542c46a06cfc7fe86ce17d278673dbd47be3abc WHIRLPOOL d8b9ae1ca8674135f6dd10aa511ee9606f255fdfa8d72b75e50d30daec39b4645137a6d02b5142020029a6a0ac0f5a766673d7833acb41e59ed29339e55f13aa

@ -0,0 +1,17 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-java/soylatte-jdk-bin/files/soylatte-jdk-bin-1.7.env,v 1.1 2012/10/30 20:23:46 grobian Exp $
VERSION="Landon Fuller's OpenJDK @PV@"
JAVA_HOME="@GENTOO_PORTAGE_EPREFIX@/opt/@P@"
JDK_HOME="@GENTOO_PORTAGE_EPREFIX@/opt/@P@"
JAVAC=${JAVA_HOME}/bin/javac
PATH="${JAVA_HOME}/bin:${JAVA_HOME}/jre/bin"
ROOTPATH="${JAVA_HOME}/bin:${JAVA_HOME}/jre/bin"
LDPATH="${JAVA_HOME}/jre/lib/@PLATFORM@/:${JAVA_HOME}/jre/lib/@PLATFORM@/native_threads/:${JAVA_HOME}/jre/lib/@PLATFORM@/xawt/:${JAVA_HOME}/jre/lib/@PLATFORM@/server/"
MANPATH="@GENTOO_PORTAGE_EPREFIX@/opt/@P@/man"
PROVIDES_TYPE="JDK JRE"
PROVIDES_VERSION="1.7"
BOOTCLASSPATH="${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/jre/lib/i18n.jar:${JAVA_HOME}/jre/lib/sunrsasign.jar:${JAVA_HOME}/jre/lib/jsse.jar:${JAVA_HOME}/jre/lib/jce.jar:${JAVA_HOME}/jre/lib/charsets.jar"
GENERATION="2"
ENV_VARS="JAVA_HOME JDK_HOME JAVAC PATH ROOTPATH LDPATH MANPATH"

@ -0,0 +1,87 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-java/soylatte-jdk-bin/soylatte-jdk-bin-7.ebuild,v 1.1 2012/10/30 20:23:46 grobian Exp $
EAPI="3"
JAVA_SUPPORTS_GENERATION_1="true"
inherit java-vm-2 multilib
DESCRIPTION="Landon Fuller's OpenJDK 7 for Mac OS X 10.5/PPC"
HOMEPAGE="http://landonf.bikemonkey.org/static/soylatte/"
SRC_URI="http://landonf.bikemonkey.org/static/soylatte/bsd-dist/openjdk7_darwin/openjdk7-macppc-2009-12-16-b4.tar.bz2"
SLOT="1.7"
LICENSE="GPL-2-with-exceptions"
KEYWORDS="~ppc-macos"
IUSE="examples"
RDEPEND="dev-db/unixODBC"
JAVA_PROVIDE="jdbc-stdext"
S=${WORKDIR}/openjdk7-macppc-2009-12-16-b4
src_prepare() {
# fix install_names
local original_root=/Users/landonf/Desktop/openjdk-ppc/bsd-port/build/bsd-ppc
local original_demo=${original_root}/demo
local original_lib=${original_root}/lib
for dir in demo jre ; do
for dynamic_lib in $(find ${dir} -name '*.dylib'); do
install_name_tool \
-id "${EPREFIX}"/opt/${P}/${dynamic_lib} \
${dynamic_lib}
for linked_against in $(scanmacho -BF'%n#f' ${dynamic_lib} | tr ',' ' '); do
case ${linked_against} in
${original_lib}/*)
install_name_tool -change \
${linked_against} \
"${EPREFIX}"/opt/${P}/jre${linked_against#${original_root}} \
${dynamic_lib}
;;
${original_demo}/*)
install_name_tool -change \
${linked_against} \
"${EPREFIX}"/opt/${P}${linked_against#${original_root}} \
${dynamic_lib}
;;
libjvm.dylib)
install_name_tool -change \
${linked_against} \
"${EPREFIX}"/opt/${P}/jre/lib/ppc/server/libjvm.dylib \
${dynamic_lib}
;;
*/libodbc*.dylib)
install_name_tool -change \
${linked_against} \
"${EPREFIX}"/usr/$(get_libdir)/${linked_against##*/} \
${dynamic_lib}
;;
esac
done
done
done
}
src_install() {
local dirs="bin include jre lib man"
dodir /opt/${P}
cp -pPR $dirs "${ED}/opt/${P}/" || die "failed to copy"
cp -pP src.zip "${ED}/opt/${P}/" || die
if use examples; then
cp -pPR demo sample "${ED}/opt/${P}/" || die
fi
# create dir for system preferences
dodir /opt/${P}/jre/.systemPrefs
# Create files used as storage for system preferences.
touch "${ED}"/opt/${P}/jre/.systemPrefs/.system.lock
chmod 644 "${ED}"/opt/${P}/jre/.systemPrefs/.system.lock
touch "${ED}"/opt/${P}/jre/.systemPrefs/.systemRootModFile
chmod 644 "${ED}"/opt/${P}/jre/.systemPrefs/.systemRootModFile
set_java_env
}

@ -1,6 +1,6 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/nasm/nasm-2.10.05.ebuild,v 1.2 2012/10/29 20:42:24 jdhore Exp $
# $Header: /var/cvsroot/gentoo-x86/dev-lang/nasm/nasm-2.10.05.ebuild,v 1.3 2012/10/30 17:04:46 ago Exp $
EAPI=2
inherit flag-o-matic
@ -11,7 +11,7 @@ SRC_URI="http://www.nasm.us/pub/nasm/releasebuilds/${PV/_}/${P/_}.tar.bz2"
LICENSE="BSD-2"
SLOT="0"
KEYWORDS="-* ~amd64 x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x64-macos"
KEYWORDS="-* amd64 x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x64-macos"
IUSE="doc"
DEPEND="dev-lang/perl

@ -4,9 +4,11 @@ DIST pl-6.2.2.tar.gz 14353692 SHA256 e2d5a62756ea0001f65a2411dfe7d380e1d2ab7b365
DIST pl-6.3.0.tar.gz 14439682 SHA256 994fb0fee1e64b5d961400f42aa1a2a2835da22d135180db0ef06326944eeffd SHA512 d9587a2e7b03b956e2d5b2b39b3cf14e5f0b353a6b19af45923ffdb86195bfff0d39cb690164df2ddf83ed372b469ef9dabacc5e86a2044fba63221c803e0389 WHIRLPOOL 4d8ab2c3e8ec93d3656ea84acafc5e2da73bc72f8d5ef73c2592d7f70f2972bac2f9d0085d735ee94c744fbf13e2bc436311d9d2aaf40a464683bc9a6c5149dc
DIST pl-6.3.1.tar.gz 14445130 SHA256 9c68b3a357c834aeb79415a6a4f94e5212165f3bd28e8ae169b1b330424a70cf SHA512 7cab65d0393243d49114336d217387ed08ac071aec2078045f7cc6f3ad0d34e55e3233018fa964f05ad0035291cdd233369acb230d87a5faeeeebf3e74f7fefc WHIRLPOOL a3fd6db961e0e8be95d0c2abea18f46a6dafa389ae55ad3fa43ecbf69d09762406a935efa5e1e600dd8d6cc633fc6043ffa5d781bca4950286d2fdc63d0e2e05
DIST pl-6.3.2.tar.gz 14449864 SHA256 0f36c99a39c8039c9d838c30daf57bfef420ea5ddaa896c49d37bac8b3eceea3 SHA512 acab5e707b21d00544a100a6de189e645031583bdad22326957aad71dd361364a6f807db7322db5c1d87326fd95e55927696c9ba7f12d1467c7777eacdbd43f3 WHIRLPOOL 6540e9285862b86bdf93af9ca4fc1c7ac01582e6fa4e6ecff4737e2b9f69588a39e993b8d3cb4a6ebf273d01699c050c85ede8d847a20fb21fc462f676132812
DIST pl-6.3.3.tar.gz 14467750 SHA256 6ea09e5a07eb80f6eee49282ed669f9ef89a86443b58061677345e17675041d1 SHA512 5664fb7bbad3cceb430387542f11fbd394fc088738cec69510f192ab6df2052a99f0a57d4bdaa21d0e01259ab83d122cbf4ca1343d30e3cd1f43833254c60d2e WHIRLPOOL 98240880a50e3a318f06ad8cecb153acaf3b20c84e180039188f628ffe5f701285043da6dc41ca7cccdf099a932758fa7e85c0b996c542d16fb40b669f2a53ce
DIST swi-prolog-6.2.0-gentoo-patchset-5.tar.gz 5340 SHA256 94d1ca1c17bba09c00e8d29bf599598574667f2093996651a357eb168e5a3f7a SHA512 2a7bc9998c117a9e509f1bab73898f668922225af97f31a2569f689b89edba6776f6117f32e7023db22354e4fedefb557e7603be31fc5a696f939d271f1aebf2 WHIRLPOOL 5e05b315ff8914eb54ec4b91ce455c98604ae7b514acbafea9f72d70fcb6f68a77579e03a3b292a57c0f8dfe0d3cb6d07fe5fb9b29cdcbd051919dffc5fd5904
DIST swi-prolog-6.2.1-gentoo-patchset-4.tar.gz 4765 SHA256 2d08ec0f5d74794c8d9df48cff8cccce17fd427fa25fc14472aecb40dfc34481 SHA512 46d7af77b78bab4873b3c2456d65337cf051b5b015d6421c62024df9707265a140809ed843eac0e13e38122366bb5b433a626b340075f6b4e906df46a8abd819 WHIRLPOOL 84d1fc399ee945a9ea06a164b2dae9f4b57df4794b9da4eb84294435e5f8f5d091be8e8ce03b03a720d48a9d3554fdb01d3769842cff68d09a16a71170ae9c33
DIST swi-prolog-6.2.2-gentoo-patchset-0.tar.gz 4303 SHA256 824dd784cf3b7e1b45b65e6a923289de6e6e28d3cf0b797e071e4185f2c05f9f SHA512 5c9c579971172e7300c01120bb70c273ea37a9f962d9ede3d0e7bd45dba6441b7f3244b568643bc6f16b8eabd3099b4cbee25f5be17ac4cebe54c06547cf530f WHIRLPOOL db8349096acd6341de46465ee7c914d19087227fb31064cf3bc21593f2c25660bff2d7d7080e78dff92508bb29dde4da0248ce8b290809aa8543882c82cd0638
DIST swi-prolog-6.3.0-gentoo-patchset-3.tar.gz 4680 SHA256 2332c09b06a98ae71113c0896d09bf204b9c8caa9b4949804f0bfe4a4abd65ba SHA512 409404a6eefd9d71d290dfc5d9e3c38942315feb0798374316b260a7b656a116f903994240cbd5a1f242cec29acb2ecd41aeeaad930c3cab5db8f3bda51cdb57 WHIRLPOOL a697a6aab18e57b0d3f99663bf2db7afd2b5eab1a0d89e2b106d4b9591b6d78bee8a14a99a3b4d045c01b4bdd2d59194499a4c39dca7e741927e63ca9a5619c4
DIST swi-prolog-6.3.1-gentoo-patchset-1.tar.gz 4308 SHA256 e7aa904f702eb9656484a45d6316e06d4896c1d70651cdd9c510696006a1af3c SHA512 10fe474add1b27bcd2a09bd4ede756e2f8189d3b2dd4005c67a4187c2c857a3a894f6c34d02d8101dc0b2ff60f41939a8d9afa81eda81d2b0e0d03211654ec7c WHIRLPOOL 85651558425814278a3a02adbcd056623fb92a2977d97359ac373fd5aa20fd201b568b3126bcdcc150e62ecf4c18352b92ef99225501a04406f8faad905d4bee
DIST swi-prolog-6.3.2-gentoo-patchset-0.tar.gz 4177 SHA256 b8811c0c3415833ba989058fd2926232a0de36ce4f7c0280cacf409d97c7792f SHA512 f5d5d046cc2bd71ddc23884ea0fe46fd1225ed1daf6128574a4939840e2cad41d5bd7b42bce8448c18314a7067e3f157ebdf06977a5434a660c50f5b9eed9264 WHIRLPOOL 90c84f908ee7d92ad4d0e5c1e4598ae7d3db7e763720cf4372f5dc061ab1bfca2a739c36d8810844af42612ff1271af76cf81676dd48fc88ec5142420370bdf9
DIST swi-prolog-6.3.3-gentoo-patchset-0.tar.gz 2732 SHA256 a1d1af6730cb0edb217e2705b1253ea44b5704e69b95230934cafbc2a4cc488f SHA512 c2e9aa945220dc4a0945639665ed041e694cb0940d9df3e19505a267bd1f2c135e001c5e7745cfb96e3ed462aa7837fad4079cd26dc44fe92c9e6de774f53186 WHIRLPOOL 48f1f848e39e7d5084b3e7b5ca411df72808ac44303ba192bb2da09dd96e66fe60c900e9cb4088e3eeb5f8cede0829f332682e07f53af6fc484731365cabddda

@ -0,0 +1,125 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/swi-prolog/swi-prolog-6.3.3.ebuild,v 1.1 2012/10/31 11:59:35 keri Exp $
EAPI=4
inherit eutils flag-o-matic java-pkg-opt-2 multilib
PATCHSET_VER="0"
DESCRIPTION="free, small, and standard compliant Prolog compiler"
HOMEPAGE="http://www.swi-prolog.org/"
SRC_URI="http://www.swi-prolog.org/download/devel/src/pl-${PV}.tar.gz
mirror://gentoo/${P}-gentoo-patchset-${PATCHSET_VER}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~x86-macos"
IUSE="archive debug doc gmp hardened java minimal odbc readline ssl static-libs test zlib X"
RDEPEND="sys-libs/ncurses
archive? ( app-arch/libarchive )
zlib? ( sys-libs/zlib )
odbc? ( dev-db/unixODBC )
readline? ( sys-libs/readline )
gmp? ( dev-libs/gmp )
ssl? ( dev-libs/openssl )
java? ( >=virtual/jdk-1.4 )
X? (
virtual/jpeg
x11-libs/libX11
x11-libs/libXft
x11-libs/libXpm
x11-libs/libXt
x11-libs/libICE
x11-libs/libSM )"
DEPEND="${RDEPEND}
X? ( x11-proto/xproto )
java? ( test? ( =dev-java/junit-3.8* ) )"
S="${WORKDIR}/pl-${PV}"
src_prepare() {
EPATCH_FORCE=yes
EPATCH_SUFFIX=patch
epatch "${WORKDIR}"/${PV}
# OSX/Intel ld doesn't like an archive without table of contents
sed -i -e 's/-cru/-scru/' packages/nlp/libstemmer_c/Makefile.pl || die
}
src_configure() {
append-flags -fno-strict-aliasing
use ppc && append-flags -mno-altivec
use hardened && append-flags -fno-unit-at-a-time
use debug && append-flags -DO_DEBUG
# ARCH is used in the configure script to figure out host and target
# specific stuff
export ARCH=${CHOST}
export CC_FOR_BUILD=$(tc-getBUILD_CC)
cd "${S}"/src
econf \
--libdir="${EPREFIX}"/usr/$(get_libdir) \
$(use_enable gmp) \
$(use_enable readline) \
$(use_enable static-libs static) \
--enable-shared \
--enable-custom-flags COFLAGS="${CFLAGS}"
if ! use minimal ; then
local jpltestconf
if use java && use test ; then
jpltestconf="--with-junit=$(java-config --classpath junit)"
fi
cd "${S}/packages"
econf \
--libdir="${EPREFIX}"/usr/$(get_libdir) \
$(use_with archive) \
$(use_with java jpl) \
${jpltestconf} \
$(use_with odbc) \
$(use_with ssl) \
$(use_with X xpce) \
$(use_with zlib) \
COFLAGS='"${CFLAGS}"'
fi
}
src_compile() {
cd "${S}"/src
emake
if ! use minimal ; then
cd "${S}/packages"
emake
fi
}
src_test() {
cd "${S}/src"
emake check
if ! use minimal ; then
cd "${S}/packages"
emake check
fi
}
src_install() {
emake -C src DESTDIR="${D}" install
if ! use minimal ; then
emake -C packages DESTDIR="${D}" install
if use doc ; then
emake -C packages DESTDIR="${D}" html-install
fi
fi
dodoc ReleaseNotes/relnotes-5.10 INSTALL README VERSION
}

@ -1,6 +1,5 @@
DIST v8-3.12.19.15.tar.bz2 10184474 SHA256 5f8f0a700a88250170118b5994aacf57f6527a6c0017096b5cb322ecbad6e187 SHA512 40c1bbc4dc48331c5f6cfeb4a0168abd47b8c11d68be64bef25a094439898f197920f3bb5b7be2c795a9906a5789239f843702ae6f65439bb6b1f958fb40297d WHIRLPOOL 65e145a8b866213790e03d97293d7911754169f33c497007f5f1806e9ab32f1fe9a257a3966a8814972c8b0d08361f81548ec01c0fbd3f6dcc742bbf13f1c868
DIST v8-3.13.7.1.tar.bz2 10201729 SHA256 6c903410651d87f67e7c5b35321e8a6709b2e442fa6e283ac2def898fdc4d4a7 SHA512 015285af38b9e9259abb0f1fe2f1c1c24b7280c3a2424c119d9dc64b1d213942a30f6eec8e7517a6badad88e455b8fc97d8ea074d991153853529a29d942a5cf WHIRLPOOL b2f002e5dfc3e9c344dced70c9f0999fa2087636842053df25168af324d71ec3ecffd4d506d924f7d8a6e4303d691cb18bc6af7ccbb49452d38a3b34fa63b581
DIST v8-3.13.7.2.tar.bz2 10202585 SHA256 ff5761dcd52c4479237e39e6e20fcfcc511764ece69109541a9b461c6a5dad5a SHA512 987e06f34d2f45ece40a3fd6957a827cb971adc44c52380b4cf9086f075885c4dcf42edb407c89b14652f4e824fb840ed8c21429230fe2d279d158b170fa0d96 WHIRLPOOL e38dd3f8f53cdfc86b4af88a47bce523ec045866d6a88c6e5f7b8caf9e5e8ab383a7428091c3048e92687df89a1718bce9fc72997ae23e503db68192b2676b9c
DIST v8-3.13.7.4.tar.bz2 10203184 SHA256 8faa9c1e797f0499378ed03f3d809dcd4bc64a7d1dd6b2b303e1a3039357b888 SHA512 e324a2e52740c9d155c81d2a1b54778f1f03451b2c5b0aeb0894791845252e4182bee0dc94cb56019d70aa424214cecba86a0f91ab8db426e321728050f504bd WHIRLPOOL 4755754012e33b2d21260aa409f900bc9f9fa3c4ce31aff1a1228d28297f707e178c0cd2121449e6dcf9cc6dc3d44f8a56f90b714a8f210a3fd3a40ff14a33e8
DIST v8-3.13.7.5.tar.bz2 10203429 SHA256 f28c939b89adfbb8a7e44b1c65a75c368256e68d17ee84516b2bb15e946e6d5f SHA512 71bf56b913a96850d97e27615c4a0ccec384bb5eb4774f0af6fd9029b6762f71b6119b92d6dad6ef4c001954623213ef3a46e168a7fd7f334981e4c6c00a0a57 WHIRLPOOL 4400312a142e509ce25fbebd02313377c120c8f0d8852ee6a5e788f7338a5e47f2c41b2b52921ae2ae51987ea87418a149f241a60bc11b32cac3d820f5cccfe3
DIST v8-3.14.4.1.tar.bz2 10347734 SHA256 06ccd996d8e82580aa6a9ea41bbd2a5c66fa599b666df3b4b2b3deca453831b1 SHA512 c6b13365529c3440b717cc4cbd0563e1a0246bc694eaf9aa11bbe18f4526aa373af36252310fc8f2e83620adb7a81b1214da71d5d31a328b5accd32144992e76 WHIRLPOOL 218dc59348327dbd0750aa6422114abf6ffb4a85050fe72c83745e16d8cbbfa7a5b4c0afeab4ab4dca6d36a35beae36079f4d566ac0181c69ba5ab719b4a80d9
DIST v8-3.14.5.tar.bz2 10351058 SHA256 361ad3b63dc7c9d0943b72b1be592a8135e4ddb0e416b9bcf02b4d2df514fca7 SHA512 ee27a9f892c1d2151173d38e007dc226c0d59768c26bb2e8f9be8057898d76839c93f70fcda4e6771634d564dcb565e1378e6fcbbfcd8317723cb63c24d32956 WHIRLPOOL 9a9ea3bdf7b466329640ecad752b04ef3c7e288581a23683cda331323369ee2804e91419b2a20eba19594eb517850b33761e13dc7b02f96d1771bca306c7e391

@ -1,139 +0,0 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/v8/v8-3.13.7.1.ebuild,v 1.1 2012/09/23 12:57:32 phajdan.jr Exp $
EAPI="4"
PYTHON_DEPEND="2:2.6"
inherit eutils multilib pax-utils python toolchain-funcs versionator
DESCRIPTION="Google's open source JavaScript engine"
HOMEPAGE="http://code.google.com/p/v8"
SRC_URI="http://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.bz2"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~arm ~x86 ~x86-fbsd ~x64-macos ~x86-macos"
IUSE=""
pkg_setup() {
python_set_active_version 2
python_pkg_setup
}
src_prepare() {
epatch "${FILESDIR}"/${PN}-3.10.8.10-freebsd9.patch
}
src_compile() {
tc-export AR CC CXX RANLIB
export LINK=${CXX}
local hardfp=off
# Use target arch detection logic from bug #354601.
case ${CHOST} in
i?86-*) myarch=ia32 ;;
x86_64-*)
if [[ $ABI = x86 ]] ; then
myarch=ia32
else
myarch=x64
fi ;;
arm*-hardfloat-*)
hardfp=on
myarch=arm ;;
arm*-*) myarch=arm ;;
*) die "Unrecognized CHOST: ${CHOST}"
esac
mytarget=${myarch}.release
soname_version="$(get_version_component_range 1-3)"
local snapshot=on
host-is-pax && snapshot=off
# TODO: Add console=readline option once implemented upstream
# http://code.google.com/p/v8/issues/detail?id=1781
emake V=1 \
library=shared \
werror=no \
soname_version=${soname_version} \
snapshot=${snapshot} \
hardfp=${hardfp} \
${mytarget} || die
pax-mark m out/${mytarget}/{cctest,d8,shell} || die
}
src_test() {
local arg testjobs
for arg in ${MAKEOPTS}; do
case ${arg} in
-j*) testjobs=${arg#-j} ;;
--jobs=*) testjobs=${arg#--jobs=} ;;
esac
done
tools/test-wrapper-gypbuild.py \
-j${testjobs:-1} \
--arch-and-mode=${mytarget} \
--no-presubmit \
--progress=dots || die
}
src_install() {
insinto /usr
doins -r include || die
if [[ ${CHOST} == *-darwin* ]] ; then
# buildsystem is too horrific to get this built correctly
mkdir -p out/${mytarget}/lib.target
mv out/${mytarget}/libv8.so.${soname_version} \
out/${mytarget}/lib.target/libv8$(get_libname ${soname_version}) || die
install_name_tool \
-id "${EPREFIX}"/usr/$(get_libdir)/libv8$(get_libname) \
out/${mytarget}/lib.target/libv8$(get_libname ${soname_version}) \
|| die
install_name_tool \
-change \
"${S}"/out/${mytarget}/libv8.so.${soname_version} \
"${EPREFIX}"/usr/$(get_libdir)/libv8$(get_libname) \
out/${mytarget}/d8 || die
fi
dobin out/${mytarget}/d8 || die
dolib out/${mytarget}/lib.target/libv8$(get_libname ${soname_version}) || die
dosym libv8$(get_libname ${soname_version}) /usr/$(get_libdir)/libv8$(get_libname) || die
dodoc AUTHORS ChangeLog || die
}
pkg_preinst() {
preserved_libs=()
local baselib candidate
eshopts_push -s nullglob
for candidate in "${EROOT}usr/$(get_libdir)"/libv8$(get_libname).*; do
baselib=${candidate##*/}
if [[ ! -e "${ED}usr/$(get_libdir)/${baselib}" ]]; then
preserved_libs+=( "${EPREFIX}/usr/$(get_libdir)/${baselib}" )
fi
done
eshopts_pop
if [[ ${#preserved_libs[@]} -gt 0 ]]; then
preserve_old_lib "${preserved_libs[@]}"
fi
}
pkg_postinst() {
if [[ ${#preserved_libs[@]} -gt 0 ]]; then
preserve_old_lib_notify "${preserved_libs[@]}"
fi
}

@ -1,6 +1,6 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/v8/v8-3.13.7.2.ebuild,v 1.1 2012/09/28 06:46:12 phajdan.jr Exp $
# $Header: /var/cvsroot/gentoo-x86/dev-lang/v8/v8-3.13.7.5.ebuild,v 1.1 2012/10/31 20:12:14 floppym Exp $
EAPI="4"

@ -1,6 +1,6 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/vala/vala-0.18.0.ebuild,v 1.6 2012/10/20 12:15:18 blueness Exp $
# $Header: /var/cvsroot/gentoo-x86/dev-lang/vala/vala-0.18.0.ebuild,v 1.7 2012/10/30 17:27:35 jer Exp $
EAPI="4"
GCONF_DEBUG="no"
@ -13,7 +13,7 @@ HOMEPAGE="http://live.gnome.org/Vala"
LICENSE="LGPL-2.1"
SLOT="0.18"
KEYWORDS="alpha amd64 arm ~hppa ~ia64 ~mips ppc ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-linux"
KEYWORDS="alpha amd64 arm hppa ~ia64 ~mips ppc ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-linux"
IUSE="test +vapigen"
RDEPEND=">=dev-libs/glib-2.18:2

@ -1 +1 @@
DIST bcm2835-1.10.tar.gz 223902 SHA256 c4cae3c3b547ed4ce5cb95dc5348b18e5d24f7df5798d8dc33bdf009e0e63173 SHA512 68cb171de9459efcccc1a01f6c4366afd1bcc2f4f64802e4e813218359f9efc6455485acf49969de30464e9f90933a4540fdebd4e243d834576e8d260293444d WHIRLPOOL 6e8f997f8d88bc000531ee4e93443113c5bbc6d694c050a2d53a1898ae7511f4dfcce89e253bd42150318a8c612348565f212f5e866c3a7e55c4d75acaee293e
DIST bcm2835-1.11.tar.gz 223921 SHA256 0726234a88f77c5ac6d5a4d062635c33fc314cedc8aa9a27f46f67d99790a77b SHA512 ef9a304ac74625121e982f94ea5b259e5e5baf74cac7a46965af9f455c143659e6f9e9b570f426b8e75b579ed281addfc2e5861bfb2abf61239333ed381c5526 WHIRLPOOL 00c9d25a5f8d84cbfd3bfa6b4101a128dea258479f0b744e4ffb467ce79a49719e2486cc347bf13db78a699f643186c985ec875b64b3f8a55982bf239eceae43

@ -1,6 +1,6 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/bcm2835/bcm2835-1.10.ebuild,v 1.1 2012/09/28 00:04:13 chithanh Exp $
# $Header: /var/cvsroot/gentoo-x86/dev-libs/bcm2835/bcm2835-1.11.ebuild,v 1.1 2012/10/31 23:45:06 chithanh Exp $
EAPI=4

@ -1,16 +1,3 @@
DIST boost-patches-1.35.0-3.tbz2 4521 SHA256 e6360a99de6daa43daa3a605d1e2eeee2bf3a8bb4bf0128fc17b4e9d3f9348b8 SHA512 6c7765bccffa355afb9ea860977c8b24f032c19801023a06652f0326ac676f3553ec6730f2ae536c806355cda7f782b72fded94fe08b32563f5468aa5022db02 WHIRLPOOL 4ddcee099e72b9d479ec04e62c65c4b13b5615e0a4ffd93e03adfe83f1432bfd7a9814be5ad4bbe8c5d6628f9a662dfdedbb6b70970e74a171e648377e20a529
DIST boost-patches-1.35.0-5.tbz2 5537 SHA256 9d8d6c61d6915cb7629f5f1537054949b616301ecd1f1cfe1d0e2a5a7a676e11 SHA512 e9a308f3cdec856ad92f443081415d7de1702edc98a50a51991f0a4bbb261090ee7d070bdbafdf444e94d98813065f4096e7c08a2d2b118d88cfb0e8bec20cbf WHIRLPOOL 5f728a7e1775120e1c9dbf3af1653dd6e8c719f2d592b0edfcb4ed7c35a7253505480e19588598731bb6f66aec92d615130ccd77c09d5f4b46da5bead7cb9f2b
DIST boost-patches-1.37.0-1.tbz2 1207 SHA256 a10e3de954a812a181835f62b410c53b9ff21b8e7a063850fc70c0cf58804b37 SHA512 6af9e904be129183287bd61babd984cd6abb9cbc0200cdb18506b8e61ee2c40540c3768171ace6046b4d7f205eed905dd1e5696370bd6a7d8ab1b49977ca39be WHIRLPOOL 90f01073a2e7ab3cd23169afa6d99669f29b472839c32dfc50530884de540503e4c89f88cce00efb24c21ec82c2256cf8daa97484d75a7787fd276c03d32cb86
DIST boost-patches-1.39.0-1.tbz2 1113 SHA256 f98f4ed539425b46de47a14b8b9ca06a69bb3248f966342999a73a619db8fec3 SHA512 f311c2818d36dc9314adff1911756e58c8f5b941cf8e6976a76e1831cbf744a55aa118f0029f0ee774d9f83d9afcf198cd1f04ad63a8663c1a91f1e657fa7c1e WHIRLPOOL 23e1c7dc714c47c2024e3887783da7de31e25afa6a05d6585615988c53ef71071026eb6020805169fe13f35a9f12b978da3a081954929f67ea20e5f02e7eb7f5
DIST boost_1_35_0.tar.bz2 23416747 SHA256 f8bf7368a22ccf2e2cf77048ab2129744be4c03f8488c76ad31c0aa229b280da SHA512 90ed283492550cae1b2ac1d0e6f0580a8a95c5dc039e8733e68ca9507b78ef5e2fddefd4b21773908fb088be923750a88b487396705c968e461dbda4e8c51de5 WHIRLPOOL 848886d74b9560a375976cc64fad920f6c531fe710bacefb24bc84575144201bfab7322bb9a44d8700cb09e0e5a80052bb2c6b9e03145ea32f161f6ff635f006
DIST boost_1_37_0.tar.bz2 29435646 SHA256 d52ef49f70b1b9addc4e0d1a3a2a1966227f0d173c3301bac3e6d399eeac5472 SHA512 20d3394fea7025b359208712fad1454390c6cc6e29000de9f3ddd9fbf88684ffb917495bb034bf582df112040a02dabc1e019a8c7381a4c7839b3435d2ea1395 WHIRLPOOL 0d1b9af4ab3271980d8213d60bfcd1342da6136f3e37c168ec17c97b34da6400df9afda4ab3ac458feac24fa7acb914b8528b73e6aebcf656f4b305df9463571
DIST boost_1_39_0.tar.bz2 29408537 SHA256 44785eae8c6cce61a29a8a51f9b737e57b34d66baa7c0bcd4af188832b8018fd SHA512 473a3da235f954487f7f8150f4892b5be5df187d688e3c1324189809b0110374ed6bfcafe89f41bb02f1339522a571e8cc022971d42104be2cd3cdb3db95874a WHIRLPOOL ce9f43bb954e7c0241f001492037a84c64a10ae61452209bddfb2e835be449e7bf0207e73e1fb6b6ec10fddd394f11ebdb78e716f2aa0e841aa5fc27cf4781c5
DIST boost_1_41_0.tar.bz2 33348161 SHA256 1ef94e6749eaf13318284b4f629be063544c7015b45e38113b975ac1945cc726 SHA512 5e035c15d963f90cf0624dfbf4b67253d4aedbb42496a7b94928e2b8e717e6a6ba0e4d5f7d67a7dbc4bc917e09a1845619128b2343b013c8de2c517e7c679b64 WHIRLPOOL 714f32808c7e50afcd732a50f9ee3b1ad789776183e736b826532f900f4f7c8bdeebf97c2d2c0c95ed72f95865ae220c5542cdf9cead54e8c13f9301e3b396f6
DIST boost_1_42_0.tar.bz2 33426755 SHA256 4b1eb95bd250ce15ac66435d6167f225b072b0d3a7eb72477a31847a9ca9e609 SHA512 f3edbe7c52f6da16ccdb29afdb016a4e5b2f1ffd1fb8c9fea6e27c4ead2da17ccc5e31e1b509e207473dbd095eef492a141ccad673e3ccfe6293f3dc786e1503 WHIRLPOOL 1a7ca29227e89ea68c24c3a2fba5095dd43a95f13b10da4f26c6ea8b033eafdb9a64d8aaecd8f4ce22e925f598bca6f4870ce2640b4c826c26056c950398db31
DIST boost_1_45_0.tar.bz2 39330184 SHA256 55ed3ec51d5687e8224c988e22bef215dacce04e037d9f689569a80c4377a6d5 SHA512 835d4f8b02847a83d0acd35a8cab98ecf811ba2bc04a0f83349941d23071cd9ce3a92bcbb16474e98221b6b4aa8d9cfee4c4c28db303e4e64f234e421c962425 WHIRLPOOL 1e009cbe6ed29bbb17ab47d2eea8cf5c90f8933240c186e7f20565c50485c9edc6fea2310fe349e4b26d91ce026385339aab0a92d5501f6a67bf3c29163c63dd
DIST boost_1_46_1.tar.bz2 42001335 SHA256 e1dfbf42b16e5015c46b98e9899c423ca4d04469cbeee05e43ea19236416d883 SHA512 e7cc4383bb960cb59eecd29ef66e2c53466fe5f126bde58f50ba104ee8ab220771db5f7b35e4b9856e9f257d1def5a9b7ea48e1d2757976a89c5a2e3f1fdc327 WHIRLPOOL 4d8d94821c996475ec2bab962b92ec061b890a318897cab695e66daef3f9c8687990450fb26fd783fd0c5be35ccb71616994ef0c8e41c555312ae5383e3649cf
DIST boost_1_47_0.tar.bz2 45952657 SHA256 815a5d9faac4dbd523fbcf3fe1065e443c0bbf43427c44aa423422c6ec4c2e31 SHA512 ce7a1839edd2424f70e7109dc9f15900aceeba247cf73389a7301b8b769c426230c1d56a289746a35136ca19056a2de86d972c687b5069fe4678dfa5ad8d74b5 WHIRLPOOL 46ce4827719be5693ab1c2e70e62d1435c549b1ae3cf4d3c7208bf8a8c729a5c830350a53588acc85bdab0bba8a41304cf17cef6093c4ace56b2aa8e5cd7617b
DIST boost_1_48_0.tar.bz2 48236989 SHA256 1bf254b2d69393ccd57a3cdd30a2f80318a005de8883a0792ed2f5e2598e5ada SHA512 f8188d65a47f1f6b34d154eb84ec3afb4ce8730fac0adc2bce629db4eb6994bb1192330b8e18a4d3509ff533a6f2bd91f59f4cb5d5c82b0453a99b2289c754e1 WHIRLPOOL a74ecca3fb611ebe7b3627aefe6a651ba2da8a8095ee1fa6e49b57fe6510cd947d81e5aea7ebb7523667a33aa9aa2783e182e39fc5f79f2bddc5faec80cff0e2
DIST boost_1_49_0.tar.bz2 48499961 SHA256 dd748a7f5507a7e7af74f452e1c52a64e651ed1f7263fce438a06641d2180d3c SHA512 9f6198270659df112a57731afe31cbf1012d103ba36ed82f6c3f1bdc0185ddb89dcc42c5dfb9ee3f95973d52999aad6c7509dc61125420d45146e39ebf20219d WHIRLPOOL c049b4212307b0208d0b37ac870a7cfb8562d2b685ce505e1971af7bc68ae9746b06ea80ddc52599ed4cbd6dc3305b5f8051cd771387412aaa1d2f8e939a48ba
DIST boost_1_50_0.tar.bz2 50786885 SHA256 c9ace2b8c81fa6703d1d17c7e478de3bc51101c5adbdeb3f6cb72cf3045a8529 SHA512 5909a2eca520a28af31de6a36c51f57b11fddcc0a51493a1e500ade00d9c4e78175c4892c04857ee385f3874f96e561b74b6427e1a155102e926421067d889fe WHIRLPOOL f5f5d9bc2e321da270dbaab04e0ec898240010720e77b362fac7266896a67b1eaa2e71a1d0e948057f55578dca5998e4faf8dc300e2c92608ee06316092bd08c
DIST boost_1_51_0.tar.bz2 50811407 SHA256 fb2d2335a29ee7fe040a197292bfce982af84a645c81688a915c84c925b69696 SHA512 43a45ff34879328c57e1694e199b895d7535df7cdf78b127ec2649841ac5973f2dddbc0b00a1ed71f2347def6d44f1d8cc5c0deea120f60f53714ebe28046478 WHIRLPOOL 2cfe8ff8b1b812f1a2d02cad25a06fe2a824ef319d95e113fc307d432ff54f2367ac86d922517ce63fce2335b14a9d86ec0c9858b10466b4bf76d28c1ceca828

@ -1,268 +0,0 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.35.0-r2.ebuild,v 1.17 2012/06/06 20:29:00 jer Exp $
inherit python flag-o-matic multilib toolchain-funcs versionator check-reqs
KEYWORDS="alpha amd64 arm ia64 ~mips ppc ppc64 s390 sh sparc x86"
MY_P=${PN}_$(replace_all_version_separators _)
PATCHSET_VERSION="${PV}-3"
DESCRIPTION="Boost Libraries for C++"
HOMEPAGE="http://www.boost.org/"
SRC_URI="mirror://sourceforge/boost/${MY_P}.tar.bz2
mirror://gentoo/boost-patches-${PATCHSET_VERSION}.tbz2"
LICENSE="Boost-1.0"
SLOT="0"
IUSE="debug doc expat icu mpi test tools"
RDEPEND="icu? ( >=dev-libs/icu-3.3 )
expat? ( dev-libs/expat )
mpi? ( || ( sys-cluster/openmpi sys-cluster/mpich2 ) )
sys-libs/zlib
dev-lang/python"
DEPEND="${RDEPEND}
=dev-util/boost-build-${PV}-r1"
S=${WORKDIR}/${MY_P}
# Maintainer Information
# ToDo:
# - write a patch to support /dev/urandom on FreeBSD and OSX (see below)
pkg_setup() {
if use test ; then
CHECKREQS_DISK_BUILD="1024"
check_reqs
ewarn "The tests may take several hours on a recent machine"
ewarn "but they will not fail (unless something weird happens ;-)"
ewarn "This is because the tests depend on the used compiler/-version"
ewarn "and the platform and upstream says that this is normal."
ewarn "If you are interested in the results, please take a look at the"
ewarn "generated results page:"
ewarn " ${ROOT}usr/share/doc/${PF}/status/cs-$(uname).html"
ebeep 5
fi
}
src_unpack() {
unpack ${A}
cd "${S}"
EPATCH_SOURCE="${WORKDIR}/patches"
EPATCH_SUFFIX="patch"
epatch
# This enables building the boost.random library with /dev/urandom support
if ! use userland_Darwin ; then
mkdir -p libs/random/build
cp "${FILESDIR}/random-Jamfile" libs/random/build/Jamfile.v2
fi
}
generate_options() {
# Maintainer information:
# The debug-symbols=none and optimization=none
# are not official upstream flags but a Gentoo
# specific patch to make sure that all our
# CXXFLAGS/LDFLAGS are being respected.
# Using optimization=off would for example add
# "-O0" and override "-O2" set by the user.
# Please take a look at the boost-build ebuild
# for more information.
BUILDNAME="gentoorelease"
use debug && BUILDNAME="gentoodebug"
OPTIONS="${BUILDNAME}"
use icu && OPTIONS="${OPTIONS} -sICU_PATH=/usr"
if use expat ; then
OPTIONS="${OPTIONS} -sEXPAT_INCLUDE=/usr/include -sEXPAT_LIBPATH=/usr/$(get_libdir)"
fi
if ! use mpi ; then
OPTIONS="${OPTIONS} --without-mpi"
fi
OPTIONS="${OPTIONS} --user-config=${S}/user-config.jam --boost-build=/usr/share/boost-build"
}
generate_userconfig() {
einfo "Writing new user-config.jam"
local compiler compilerVersion compilerExecutable
if [[ ${CHOST} == *-darwin* ]] ; then
compiler=darwin
compilerVersion=$(gcc-version)
compilerExecutable=$(tc-getCXX)
append-ldflags -ldl
else
compiler=gcc
compilerVersion=$(gcc-version)
compilerExecutable=$(tc-getCXX)
fi
cat > "${S}/user-config.jam" << __EOF__
variant gentoorelease : release : <optimization>none <debug-symbols>none ;
variant gentoodebug : debug : <optimization>none <debug-symbols>none ;
using ${compiler} : ${compilerVersion} : ${compilerExecutable} : <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
using python : $(python_get_version) : /usr : $(python_get_includedir) : $(python_get_libdir) ;
__EOF__
if use mpi ; then
echo "using mpi ;" >> "${S}/user-config.jam"
fi
}
src_compile() {
NUMJOBS=$(sed -e 's/.*\(\-j[ 0-9]\+\) .*/\1/' <<< ${MAKEOPTS})
generate_userconfig
generate_options
elog "Using the following options to build: "
elog " ${OPTIONS}"
export BOOST_ROOT=${S}
bjam ${NUMJOBS} -q \
${OPTIONS} \
threading=single,multi link=shared,static runtime-link=shared,static \
--prefix="${D}/usr" \
--layout=system \
|| die "building boost failed"
if use tools; then
cd "${S}/tools/"
# We have to set optimization to -O0 or -O1 to work around a gcc-bug
# optimization=off adds -O0 to the compiler call and overwrites our settings.
bjam ${NUMJOBS} -q \
${OPTIONS} \
--prefix="${D}/usr" \
--layout=system \
|| die "building tools failed"
fi
}
src_install () {
generate_options
export BOOST_ROOT=${S}
bjam -q \
${OPTIONS} \
threading=single,multi link=shared,static runtime-link=shared,static \
--prefix="${D}/usr" \
--includedir="${D}/usr/include" \
--libdir="${D}/usr/$(get_libdir)" \
--layout=system \
install || die "install failed for options '${OPTIONS}'"
# Move the mpi.so to the right place
if use mpi; then
mkdir -p "${D}$(python_get_sitedir)"
mv "${D}/usr/$(get_libdir)/mpi.so" "${D}$(python_get_sitedir)"
fi
if use doc ; then
find libs -iname "test" -or -iname "src" | xargs rm -rf
dohtml \
-A pdf,txt,cpp \
*.{htm,html,png,css} \
-r doc more people wiki
insinto /usr/share/doc/${PF}/html
doins -r libs
# To avoid broken links
insinto /usr/share/doc/${PF}/html
doins LICENSE_1_0.txt
dosym /usr/include/boost /usr/share/doc/${PF}/html/boost
fi
cd "${D}/usr/$(get_libdir)"
# If built with debug enabled, all libraries get a 'd' postfix,
# this breaks linking other apps against boost (bug #181972)
if use debug ; then
for lib in $(ls -1 libboost_*) ; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-d\././' -e 's/d\././' <<< ${lib})"
done
fi
for lib in $(ls -1 libboost_thread-mt.*) ; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
done
if use tools; then
cd "${S}/dist"
dobin bin/*
insinto /usr
doins -r share
fi
cd "${S}/status"
if [ -f regress.log ]; then
docinto status
dohtml *.{html,gif} ../boost.png
dodoc regress.log
fi
}
src_test() {
generate_options
export BOOST_ROOT=${S}
cd "${S}/tools/regression/build"
bjam -q \
${OPTIONS} \
--prefix="${D}/usr" \
--layout=system \
process_jam_log compiler_status \
|| die "building regression test helpers failed"
cd "${S}/status"
# Some of the test-checks seem to rely on regexps
export LC_ALL="C"
# The following is largely taken from tools/regression/run_tests.sh,
# but adapted to our needs.
# Run the tests & write them into a file for postprocessing
bjam \
${OPTIONS} \
--dump-tests 2>&1 | tee regress.log
# Postprocessing
cat regress.log | "${S}/tools/regression/build/bin/gcc-$(gcc-version)/${BUILDNAME}/process_jam_log" --v2
if test $? != 0 ; then
die "Postprocessing the build log failed"
fi
cat > "${S}/status/comment.html" <<- __EOF__
<p>Tests are run on a <a href="http://www.gentoo.org">Gentoo</a> system.</p>
__EOF__
# Generate the build log html summary page
"${S}/tools/regression/build/bin/gcc-$(gcc-version)/${BUILDNAME}/compiler_status" --v2 \
--comment "${S}/status/comment.html" "${S}" \
cs-$(uname).html cs-$(uname)-links.html
if test $? != 0 ; then
die "Generating the build log html summary page failed"
fi
# And do some cosmetic fixes :)
sed -i -e 's|../boost.png|boost.png|' *.html
}

@ -1,334 +0,0 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.35.0-r5.ebuild,v 1.18 2012/06/06 20:29:00 jer Exp $
EAPI="2"
inherit python flag-o-matic multilib toolchain-funcs versionator check-reqs eutils
KEYWORDS="alpha amd64 arm ia64 ~mips ppc ~ppc64 s390 sh sparc x86"
MY_P=${PN}_$(replace_all_version_separators _)
PATCHSET_VERSION="${PV}-5"
DESCRIPTION="Boost Libraries for C++"
HOMEPAGE="http://www.boost.org/"
SRC_URI="mirror://sourceforge/boost/${MY_P}.tar.bz2
mirror://gentoo/boost-patches-${PATCHSET_VERSION}.tbz2
http://www.gentoo.org/~dev-zero/distfiles/boost-patches-${PATCHSET_VERSION}.tbz2"
LICENSE="Boost-1.0"
SLOT="0"
IUSE="doc +eselect expat icu mpi python test tools"
RDEPEND="icu? ( >=dev-libs/icu-3.3 )
expat? ( dev-libs/expat )
mpi? ( sys-cluster/openmpi[cxx] )
sys-libs/zlib
python? ( dev-lang/python )
!!<=dev-libs/boost-1.35.0-r2
>=app-admin/eselect-boost-0.3"
DEPEND="${RDEPEND}
>=dev-util/boost-build-1.35.0-r2:${SLOT}"
S=${WORKDIR}/${MY_P}
# Maintainer Information
# ToDo:
# - write a patch to support /dev/urandom on FreeBSD and OSX (see below)
# manually setting it for this major version
MAJOR_PV=1_35
BJAM="bjam-${MAJOR_PV}"
# Usage:
# _add_line <line-to-add> <profile>
# ... to add to specific profile
# or
# _add_line <line-to-add>
# ... to add to all profiles for which the use flag set
_add_line() {
if [ -z "$2" ] ; then
echo "${1}" >> "${D}/usr/share/boost-eselect/profiles/1.35/default"
else
echo "${1}" >> "${D}/usr/share/boost-eselect/profiles/1.35/${2}"
fi
}
pkg_setup() {
if use test ; then
CHECKREQS_DISK_BUILD="1024"
check_reqs
ewarn "The tests may take several hours on a recent machine"
ewarn "but they will not fail (unless something weird happens ;-)"
ewarn "This is because the tests depend on the used compiler/-version"
ewarn "and the platform and upstream says that this is normal."
ewarn "If you are interested in the results, please take a look at the"
ewarn "generated results page:"
ewarn " ${ROOT}usr/share/doc/${PF}/status/cs-$(uname).html"
ebeep 5
fi
}
src_prepare() {
EPATCH_SOURCE="${WORKDIR}/patches"
EPATCH_SUFFIX="patch"
epatch
epatch \
"${FILESDIR}/remove_toolset_from_targetname.patch"
# This enables building the boost.random library with /dev/urandom support
if ! use userland_Darwin ; then
mkdir -p libs/random/build
cp "${FILESDIR}/random-Jamfile" libs/random/build/Jamfile.v2
fi
epatch "${FILESDIR}/1.35-remove-hardlink-creation.patch"
}
src_configure() {
einfo "Writing new user-config.jam"
local compiler compilerVersion compilerExecutable mpi
if [[ ${CHOST} == *-darwin* ]] ; then
compiler=darwin
compilerVersion=$(gcc-version)
compilerExecutable=$(tc-getCXX)
append-ldflags -ldl
else
compiler=gcc
compilerVersion=$(gcc-version)
compilerExecutable=$(tc-getCXX)
fi
# Huge number of strict-aliasing warnings cause a build failure w/ >= GCC 4.4 bug #252287
[[ $(gcc-version) > 4.3 ]] && append-flags -Wno-strict-aliasing
use mpi && mpi="using mpi ;"
if use python ; then
pystring="using python : $(python_get_version) : /usr : $(python_get_includedir) : $(python_get_libdir) ;"
fi
cat > "${S}/user-config.jam" << __EOF__
variant gentoorelease : release : <optimization>none <debug-symbols>none ;
variant gentoodebug : debug : <optimization>none ;
using ${compiler} : ${compilerVersion} : ${compilerExecutable} : <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
${pystring}
${mpi}
__EOF__
# Maintainer information:
# The debug-symbols=none and optimization=none
# are not official upstream flags but a Gentoo
# specific patch to make sure that all our
# CXXFLAGS/LDFLAGS are being respected.
# Using optimization=off would for example add
# "-O0" and override "-O2" set by the user.
# Please take a look at the boost-build ebuild
# for more infomration.
use icu && OPTIONS="-sICU_PATH=/usr"
use expat && OPTIONS="${OPTIONS} -sEXPAT_INCLUDE=/usr/include -sEXPAT_LIBPATH=/usr/$(get_libdir)"
use mpi || OPTIONS="${OPTIONS} --without-mpi"
use python || OPTIONS="${OPTIONS} --without-python"
OPTIONS="${OPTIONS} --user-config=${S}/user-config.jam --boost-build=/usr/share/boost-build-${MAJOR_PV} --prefix=${D}/usr --layout=versioned"
}
src_compile() {
NUMJOBS=$(sed -e 's/.*\(\-j[ 0-9]\+\) .*/\1/; s/--jobs=\?/-j/' <<< ${MAKEOPTS})
einfo "Using the following options to build: "
einfo " ${OPTIONS}"
export BOOST_ROOT="${S}"
${BJAM} ${NUMJOBS} -q \
gentoorelease \
${OPTIONS} \
threading=single,multi link=shared,static runtime-link=shared,static \
|| die "building boost failed"
if use tools; then
cd "${S}/tools/"
${BJAM} ${NUMJOBS} -q \
gentoorelease \
${OPTIONS} \
|| die "building tools failed"
fi
}
src_install () {
einfo "Using the following options to install: "
einfo " ${OPTIONS}"
export BOOST_ROOT="${S}"
${BJAM} -q \
gentoorelease \
${OPTIONS} \
threading=single,multi link=shared,static runtime-link=shared,static \
--includedir="${D}/usr/include" \
--libdir="${D}/usr/$(get_libdir)" \
install || die "install failed for options '${OPTIONS}'"
use python || rm -rf "${D}/usr/include/boost-${MAJOR_PV}/boost"/python*
dodir /usr/share/boost-eselect/profiles/1.35
touch "${D}/usr/share/boost-eselect/profiles/1.35/default"
# Move the mpi.so to the right place and make sure it's slotted
if use mpi && use python; then
mkdir -p "${D}$(python_get_sitedir)/boost_${MAJOR_PV}"
mv "${D}/usr/$(get_libdir)/mpi.so" "${D}$(python_get_sitedir)/boost_${MAJOR_PV}/"
touch "${D}$(python_get_sitedir)/boost_${MAJOR_PV}/__init__.py"
_add_line "python=\"$(python_get_sitedir)/boost_${MAJOR_PV}/mpi.so\""
fi
if use doc ; then
find libs/*/* -iname "test" -or -iname "src" | xargs rm -rf
dohtml \
-A pdf,txt,cpp,cpp,hpp \
*.{htm,html,png,css} \
-r doc more people wiki
insinto /usr/share/doc/${PF}/html
doins -r libs
# To avoid broken links
insinto /usr/share/doc/${PF}/html
doins LICENSE_1_0.txt
dosym /usr/include/boost /usr/share/doc/${PF}/html/boost
fi
cd "${D}/usr/$(get_libdir)"
# Remove (unversioned) symlinks
# And check for what we remove to catch bugs
# got a better idea how to do it? tell me!
for f in $(ls -1 *.{a,so} | grep -v "${MAJOR_PV}") ; do
if [ ! -h "${f}" ] ; then
eerror "Ups, tried to remove '${f}' which is a a real file instead of a symlink"
die "slotting/naming of the libs broken!"
fi
rm "${f}"
done
# The threading libs obviously always gets the "-mt" (multithreading) tag
# some packages seem to have a problem with it. Creating symlinks...
for lib in libboost_thread-mt-${MAJOR_PV}{.a,.so} ; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
done
# The same goes for the mpi libs
if use mpi ; then
for lib in libboost_mpi-mt-${MAJOR_PV}{.a,.so} ; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
done
fi
# Create a subdirectory with completely unversioned symlinks
# and store the names in the profiles-file for eselect
dodir /usr/$(get_libdir)/boost-${MAJOR_PV}
_add_line "libs=\"" default
for f in libboost_*.{a,so} ; do
dosym ../${f} /usr/$(get_libdir)/boost-${MAJOR_PV}/${f/-${MAJOR_PV}}
_add_line "/usr/$(get_libdir)/${f}" default
done
_add_line "\"" default
_add_line "includes=\"/usr/include/boost-${MAJOR_PV}/boost\"" default
if use tools; then
cd "${S}/dist/bin"
# Append version postfix to binaries for slotting
_add_line "bins=\""
for b in * ; do
newbin "${b}" "${b}-${MAJOR_PV}"
_add_line "/usr/bin/${b}-${MAJOR_PV}"
done
_add_line "\""
cd "${S}/dist"
insinto /usr/share
doins -r share/boostbook
# Append version postfix for slotting
mv "${D}/usr/share/boostbook" "${D}/usr/share/boostbook-${MAJOR_PV}"
_add_line "dirs=\"/usr/share/boostbook-${MAJOR_PV}\""
fi
cd "${S}/status"
if [ -f regress.log ] ; then
docinto status
dohtml *.{html,gif} ../boost.png
dodoc regress.log
fi
use python && python_need_rebuild
}
src_test() {
export BOOST_ROOT=${S}
cd "${S}/tools/regression/build"
${BJAM} -q \
gentoorelease \
${OPTIONS} \
process_jam_log compiler_status \
|| die "building regression test helpers failed"
cd "${S}/status"
# Some of the test-checks seem to rely on regexps
export LC_ALL="C"
# The following is largely taken from tools/regression/run_tests.sh,
# but adapted to our needs.
# Run the tests & write them into a file for postprocessing
${BJAM} \
${OPTIONS} \
--dump-tests 2>&1 | tee regress.log
# Postprocessing
cat regress.log | "${S}/tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease/process_jam_log" --v2
if test $? != 0 ; then
die "Postprocessing the build log failed"
fi
cat > "${S}/status/comment.html" <<- __EOF__
<p>Tests are run on a <a href="http://www.gentoo.org">Gentoo</a> system.</p>
__EOF__
# Generate the build log html summary page
"${S}/tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease/compiler_status" --v2 \
--comment "${S}/status/comment.html" "${S}" \
cs-$(uname).html cs-$(uname)-links.html
if test $? != 0 ; then
die "Generating the build log html summary page failed"
fi
# And do some cosmetic fixes :)
sed -i -e 's|../boost.png|boost.png|' *.html
}
pkg_postinst() {
use eselect && eselect boost update
if [ ! -h "${ROOT}/etc/eselect/boost/active" ] ; then
elog "No active boost version found. Calling eselect to select one..."
eselect boost update
fi
}

@ -1,428 +0,0 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.37.0-r1.ebuild,v 1.17 2011/04/05 05:23:28 ulm Exp $
EAPI="2"
inherit python flag-o-matic multilib toolchain-funcs versionator check-reqs
KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
MY_P=${PN}_$(replace_all_version_separators _)
PATCHSET_VERSION="${PV}-1"
DESCRIPTION="Boost Libraries for C++"
HOMEPAGE="http://www.boost.org/"
SRC_URI="mirror://sourceforge/boost/${MY_P}.tar.bz2
mirror://gentoo/boost-patches-${PATCHSET_VERSION}.tbz2
http://www.gentoo.org/~dev-zero/distfiles/boost-patches-${PATCHSET_VERSION}.tbz2"
LICENSE="Boost-1.0"
SLOT="1.37"
IUSE="debug doc +eselect expat icu mpi python test tools"
RDEPEND="icu? ( >=dev-libs/icu-3.3 )
expat? ( dev-libs/expat )
mpi? ( sys-cluster/openmpi[cxx] )
sys-libs/zlib
python? ( dev-lang/python )
!!<=dev-libs/boost-1.35.0-r2
>=app-admin/eselect-boost-0.3"
DEPEND="${RDEPEND}
dev-util/boost-build:${SLOT}"
S=${WORKDIR}/${MY_P}
# Maintainer Information
# ToDo:
# - write a patch to support /dev/urandom on FreeBSD and OSX (see below)
MAJOR_PV=$(replace_all_version_separators _ ${SLOT})
BJAM="bjam-${MAJOR_PV}"
# Usage:
# _add_line <line-to-add> <profile>
# ... to add to specific profile
# or
# _add_line <line-to-add>
# ... to add to all profiles for which the use flag set
_add_line() {
if [ -z "$2" ] ; then
echo "${1}" >> "${D}/usr/share/boost-eselect/profiles/${SLOT}/default"
use debug && echo "${1}" >> "${D}/usr/share/boost-eselect/profiles/${SLOT}/debug"
else
echo "${1}" >> "${D}/usr/share/boost-eselect/profiles/${SLOT}/${2}"
fi
}
pkg_setup() {
if use test ; then
CHECKREQS_DISK_BUILD="1024"
check_reqs
ewarn "The tests may take several hours on a recent machine"
ewarn "but they will not fail (unless something weird happens ;-)"
ewarn "This is because the tests depend on the used compiler/-version"
ewarn "and the platform and upstream says that this is normal."
ewarn "If you are interested in the results, please take a look at the"
ewarn "generated results page:"
ewarn " ${ROOT}usr/share/doc/${PF}/status/cs-$(uname).html"
ebeep 5
fi
if use debug ; then
ewarn "The debug USE-flag means that a second set of the boost libraries"
ewarn "will be built containing debug-symbols. You'll be able to select them"
ewarn "using the boost-eselect module. But even though the optimization flags"
ewarn "you might have set are not stripped, there will be a performance"
ewarn "penalty and linking other packages against the debug version"
ewarn "of boost is _not_ recommended."
fi
}
src_prepare() {
EPATCH_SOURCE="${WORKDIR}/patches"
EPATCH_SUFFIX="patch"
epatch
epatch \
"${FILESDIR}/remove_toolset_from_targetname.patch" \
"${FILESDIR}/buildid-fix.patch" \
"${FILESDIR}"/${P}-darwin-long-double.patch
# This enables building the boost.random library with /dev/urandom support
if [[ -e /dev/urandom ]] ; then
mkdir -p libs/random/build
cp "${FILESDIR}/random-Jamfile" libs/random/build/Jamfile.v2
# yeah, we WANT it to work on non-Linux too
sed -i -e 's/#ifdef __linux__/#if 1/' libs/random/random_device.cpp || die
fi
}
src_configure() {
einfo "Writing new user-config.jam"
local compiler compilerVersion compilerExecutable mpi
if [[ ${CHOST} == *-darwin* ]] ; then
compiler=darwin
compilerVersion=$(gcc-fullversion)
compilerExecutable=$(tc-getCXX)
# we need to add the prefix, and in two cases this exceeds, so prepare
# for the largest possible space allocation
append-ldflags -Wl,-headerpad_max_install_names
else
compiler=gcc
compilerVersion=$(gcc-version)
compilerExecutable=$(tc-getCXX)
fi
# Huge number of strict-aliasing warnings cause a build failure w/ >= GCC 4.4 bug #252287
[[ $(gcc-version) > 4.3 ]] && append-flags -Wno-strict-aliasing
use mpi && mpi="using mpi ;"
if use python ; then
pystring="using python : $(python_get_version) : /usr : $(python_get_includedir) : $(python_get_libdir) ;"
fi
cat > "${S}/user-config.jam" << __EOF__
variant gentoorelease : release : <optimization>none <debug-symbols>none ;
variant gentoodebug : debug : <optimization>none ;
using ${compiler} : ${compilerVersion} : ${compilerExecutable} : <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
${pystring}
${mpi}
__EOF__
# Maintainer information:
# The debug-symbols=none and optimization=none
# are not official upstream flags but a Gentoo
# specific patch to make sure that all our
# CXXFLAGS/LDFLAGS are being respected.
# Using optimization=off would for example add
# "-O0" and override "-O2" set by the user.
# Please take a look at the boost-build ebuild
# for more infomration.
use icu && OPTIONS="-sICU_PATH=/usr"
use expat && OPTIONS="${OPTIONS} -sEXPAT_INCLUDE=/usr/include -sEXPAT_LIBPATH=/usr/$(get_libdir)"
use mpi || OPTIONS="${OPTIONS} --without-mpi"
use python || OPTIONS="${OPTIONS} --without-python"
OPTIONS="${OPTIONS} --user-config=\"${S}/user-config.jam\" --boost-build=/usr/share/boost-build-${MAJOR_PV} --prefix=\"${D}/usr\" --layout=versioned"
}
src_compile() {
NUMJOBS=$(sed -e 's/.*\(\-j[ 0-9]\+\) .*/\1/; s/--jobs=\?/-j/' <<< ${MAKEOPTS})
einfo "Using the following options to build: "
einfo " ${OPTIONS}"
export BOOST_ROOT="${S}"
${BJAM} ${NUMJOBS} -q \
gentoorelease \
${OPTIONS} \
threading=single,multi link=shared,static runtime-link=shared,static \
|| die "building boost failed"
# ... and do the whole thing one more time to get the debug libs
if use debug ; then
${BJAM} ${NUMJOBS} -q \
gentoodebug \
${OPTIONS} \
threading=single,multi link=shared,static runtime-link=shared,static \
--buildid=debug \
|| die "building boost failed"
fi
if use tools; then
cd "${S}/tools/"
${BJAM} ${NUMJOBS} -q \
gentoorelease \
${OPTIONS} \
|| die "building tools failed"
fi
}
src_install () {
einfo "Using the following options to install: "
einfo " ${OPTIONS}"
export BOOST_ROOT="${S}"
${BJAM} -q \
gentoorelease \
${OPTIONS} \
threading=single,multi link=shared,static runtime-link=shared,static \
--includedir="${D}/usr/include" \
--libdir="${D}/usr/$(get_libdir)" \
install || die "install failed for options '${OPTIONS}'"
if use debug ; then
${BJAM} -q \
gentoodebug \
${OPTIONS} \
threading=single,multi link=shared,static runtime-link=shared,static \
--includedir="${D}/usr/include" \
--libdir="${D}/usr/$(get_libdir)" \
--buildid=debug \
install || die "install failed for options '${OPTIONS}'"
fi
use python || rm -rf "${D}/usr/include/boost-${MAJOR_PV}/boost"/python*
dodir /usr/share/boost-eselect/profiles/${SLOT}
touch "${D}/usr/share/boost-eselect/profiles/${SLOT}/default"
use debug && touch "${D}/usr/share/boost-eselect/profiles/${SLOT}/debug"
# Move the mpi.so to the right place and make sure it's slotted
if use mpi && use python; then
mkdir -p "${D}$(python_get_sitedir)/boost_${MAJOR_PV}"
mv "${D}/usr/$(get_libdir)/mpi.so" "${D}$(python_get_sitedir)/boost_${MAJOR_PV}/"
touch "${D}$(python_get_sitedir)/boost_${MAJOR_PV}/__init__.py"
_add_line "python=\"$(python_get_sitedir)/boost_${MAJOR_PV}/mpi.so\""
fi
if use doc ; then
find libs/*/* -iname "test" -or -iname "src" | xargs rm -rf
dohtml \
-A pdf,txt,cpp,hpp \
*.{htm,html,png,css} \
-r doc more people wiki
dohtml \
-A pdf,txt \
-r tools
insinto /usr/share/doc/${PF}/html
doins -r libs
# To avoid broken links
insinto /usr/share/doc/${PF}/html
doins LICENSE_1_0.txt
dosym /usr/include/boost /usr/share/doc/${PF}/html/boost
fi
cd "${D}/usr/$(get_libdir)"
# Remove (unversioned) symlinks
# And check for what we remove to catch bugs
# got a better idea how to do it? tell me!
for f in $(ls -1 *{.a,$(get_libname)} | grep -v "${MAJOR_PV}") ; do
if [ ! -h "${f}" ] ; then
eerror "Ups, tried to remove '${f}' which is a a real file instead of a symlink"
die "slotting/naming of the libs broken!"
fi
rm "${f}"
done
# The threading libs obviously always gets the "-mt" (multithreading) tag
# some packages seem to have a problem with it. Creating symlinks...
for lib in libboost_thread-mt-${MAJOR_PV}{.a,$(get_libname)} ; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
done
# The same goes for the mpi libs
if use mpi ; then
for lib in libboost_mpi-mt-${MAJOR_PV}{.a,$(get_libname)} ; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
done
fi
if use debug ; then
for lib in libboost_thread-mt-${MAJOR_PV}-debug{.a,$(get_libname)} ; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
done
if use mpi ; then
for lib in libboost_mpi-mt-${MAJOR_PV}-debug{.a,$(get_libname)} ; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
done
fi
fi
# Create a subdirectory with completely unversioned symlinks
# and store the names in the profiles-file for eselect
dodir /usr/$(get_libdir)/boost-${MAJOR_PV}
_add_line "libs=\"" default
for f in $(ls -1 *{.a,$(get_libname)} | grep -v debug) ; do
dosym ../${f} /usr/$(get_libdir)/boost-${MAJOR_PV}/${f/-${MAJOR_PV}}
_add_line "/usr/$(get_libdir)/${f}" default
done
_add_line "\"" default
if use debug ; then
_add_line "libs=\"" debug
dodir /usr/$(get_libdir)/boost-${MAJOR_PV}-debug
for f in $(ls -1 *{.a,$(get_libname)} | grep debug) ; do
dosym ../${f} /usr/$(get_libdir)/boost-${MAJOR_PV}-debug/${f/-${MAJOR_PV}-debug}
_add_line "/usr/$(get_libdir)/${f}" debug
done
_add_line "\"" debug
_add_line "includes=\"/usr/include/boost-${MAJOR_PV}/boost\"" debug
_add_line "suffix=\"-debug\"" debug
fi
_add_line "includes=\"/usr/include/boost-${MAJOR_PV}/boost\"" default
if use tools; then
cd "${S}/dist/bin"
# Append version postfix to binaries for slotting
_add_line "bins=\""
for b in * ; do
newbin "${b}" "${b}-${MAJOR_PV}"
_add_line "/usr/bin/${b}-${MAJOR_PV}"
done
_add_line "\""
cd "${S}/dist"
insinto /usr/share
doins -r share/boostbook
# Append version postfix for slotting
mv "${D}/usr/share/boostbook" "${D}/usr/share/boostbook-${MAJOR_PV}"
_add_line "dirs=\"/usr/share/boostbook-${MAJOR_PV}\""
fi
cd "${S}/status"
if [ -f regress.log ] ; then
docinto status
dohtml *.{html,gif} ../boost.png
dodoc regress.log
fi
use python && python_need_rebuild
# boost's build system truely sucks for not having a destdir. Because for
# this reason we are forced to build with a prefix that includes the
# DESTROOT, dynamic libraries on Darwin end messed up, referencing the
# DESTROOT instread of the actual EPREFIX. There is no way out of here
# but to do it the dirty way of manually setting the right install_names.
[[ -z ${ED+set} ]] && local ED=${D%/}${EPREFIX}/
if [[ ${CHOST} == *-darwin* ]] ; then
einfo "Working around completely broken build-system(tm)"
for d in "${ED}"usr/lib/*.dylib ; do
if [[ -f ${d} ]] ; then
# fix the "soname"
ebegin " correcting install_name of ${d#${ED}}"
install_name_tool -id "/${d#${D}}" "${d}"
eend $?
# fix references to other libs
refs=$(otool -XL "${d}" | \
sed -e '1d' -e 's/^\t//' | \
grep "^libboost_" | \
cut -f1 -d' ')
for r in ${refs} ; do
ebegin " correcting reference to ${r}"
install_name_tool -change \
"${r}" \
"${EPREFIX}/usr/lib/${r}" \
"${d}"
eend $?
done
fi
done
fi
}
src_test() {
export BOOST_ROOT=${S}
cd "${S}/tools/regression/build"
${BJAM} -q \
gentoorelease \
${OPTIONS} \
process_jam_log compiler_status \
|| die "building regression test helpers failed"
cd "${S}/status"
# Some of the test-checks seem to rely on regexps
export LC_ALL="C"
# The following is largely taken from tools/regression/run_tests.sh,
# but adapted to our needs.
# Run the tests & write them into a file for postprocessing
${BJAM} \
${OPTIONS} \
--dump-tests 2>&1 | tee regress.log
# Postprocessing
cat regress.log | "${S}/tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease/process_jam_log" --v2
if test $? != 0 ; then
die "Postprocessing the build log failed"
fi
cat > "${S}/status/comment.html" <<- __EOF__
<p>Tests are run on a <a href="http://www.gentoo.org">Gentoo</a> system.</p>
__EOF__
# Generate the build log html summary page
"${S}/tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease/compiler_status" --v2 \
--comment "${S}/status/comment.html" "${S}" \
cs-$(uname).html cs-$(uname)-links.html
if test $? != 0 ; then
die "Generating the build log html summary page failed"
fi
# And do some cosmetic fixes :)
sed -i -e 's|http://www.boost.org/boost.png|boost.png|' *.html
}
pkg_postinst() {
use eselect && eselect boost update
if [ ! -h "${ROOT}/etc/eselect/boost/active" ] ; then
elog "No active boost version found. Calling eselect to select one..."
eselect boost update
fi
}

@ -1,422 +0,0 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.39.0.ebuild,v 1.11 2011/04/05 05:23:28 ulm Exp $
EAPI="2"
inherit python flag-o-matic multilib toolchain-funcs versionator check-reqs
KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
MY_P=${PN}_$(replace_all_version_separators _)
PATCHSET_VERSION="${PV}-1"
DESCRIPTION="Boost Libraries for C++"
HOMEPAGE="http://www.boost.org/"
SRC_URI="mirror://sourceforge/boost/${MY_P}.tar.bz2
mirror://gentoo/boost-patches-${PATCHSET_VERSION}.tbz2
http://www.gentoo.org/~dev-zero/distfiles/boost-patches-${PATCHSET_VERSION}.tbz2"
LICENSE="Boost-1.0"
SLOT="$(get_version_component_range 1-2)"
IUSE="debug doc +eselect expat icu mpi python test tools"
RDEPEND="icu? ( >=dev-libs/icu-3.3 )
expat? ( dev-libs/expat )
mpi? ( sys-cluster/openmpi[cxx] )
sys-libs/zlib
python? ( dev-lang/python )
!!<=dev-libs/boost-1.35.0-r2
>=app-admin/eselect-boost-0.3"
DEPEND="${RDEPEND}
dev-util/boost-build:${SLOT}"
S=${WORKDIR}/${MY_P}
MAJOR_PV=$(replace_all_version_separators _ ${SLOT})
BJAM="bjam-${MAJOR_PV}"
# Usage:
# _add_line <line-to-add> <profile>
# ... to add to specific profile
# or
# _add_line <line-to-add>
# ... to add to all profiles for which the use flag set
_add_line() {
if [ -z "$2" ] ; then
echo "${1}" >> "${D}/usr/share/boost-eselect/profiles/${SLOT}/default"
use debug && echo "${1}" >> "${D}/usr/share/boost-eselect/profiles/${SLOT}/debug"
else
echo "${1}" >> "${D}/usr/share/boost-eselect/profiles/${SLOT}/${2}"
fi
}
pkg_setup() {
if use test ; then
CHECKREQS_DISK_BUILD="1024"
check_reqs
ewarn "The tests may take several hours on a recent machine"
ewarn "but they will not fail (unless something weird happens ;-)"
ewarn "This is because the tests depend on the used compiler/-version"
ewarn "and the platform and upstream says that this is normal."
ewarn "If you are interested in the results, please take a look at the"
ewarn "generated results page:"
ewarn " ${ROOT}usr/share/doc/${PF}/status/cs-$(uname).html"
ebeep 5
fi
if use debug ; then
ewarn "The debug USE-flag means that a second set of the boost libraries"
ewarn "will be built containing debug-symbols. You'll be able to select them"
ewarn "using the boost-eselect module. But even though the optimization flags"
ewarn "you might have set are not stripped, there will be a performance"
ewarn "penalty and linking other packages against the debug version"
ewarn "of boost is _not_ recommended."
fi
}
src_prepare() {
EPATCH_SOURCE="${WORKDIR}/patches"
EPATCH_SUFFIX="patch"
epatch
epatch \
"${FILESDIR}/remove_toolset_from_targetname.patch"
# This enables building the boost.random library with /dev/urandom support
if [[ -e /dev/urandom ]] ; then
mkdir -p libs/random/build
cp "${FILESDIR}/random-Jamfile" libs/random/build/Jamfile.v2
# yeah, we WANT it to work on non-Linux too
sed -i -e 's/#ifdef __linux__/#if 1/' libs/random/random_device.cpp || die
fi
}
src_configure() {
einfo "Writing new user-config.jam"
local compiler compilerVersion compilerExecutable mpi
if [[ ${CHOST} == *-darwin* ]] ; then
compiler=darwin
compilerVersion=$(gcc-fullversion)
compilerExecutable=$(tc-getCXX)
# we need to add the prefix, and in two cases this exceeds, so prepare
# for the largest possible space allocation
append-ldflags -Wl,-headerpad_max_install_names
else
compiler=gcc
compilerVersion=$(gcc-version)
compilerExecutable=$(tc-getCXX)
fi
# Huge number of strict-aliasing warnings cause a build failure w/ >= GCC 4.4 bug #252287
[[ $(gcc-version) > 4.3 ]] && append-flags -Wno-strict-aliasing
use mpi && mpi="using mpi ;"
if use python ; then
pystring="using python : $(python_get_version) : /usr : $(python_get_includedir) : $(python_get_libdir) ;"
fi
cat > "${S}/user-config.jam" << __EOF__
variant gentoorelease : release : <optimization>none <debug-symbols>none ;
variant gentoodebug : debug : <optimization>none ;
using ${compiler} : ${compilerVersion} : ${compilerExecutable} : <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
${pystring}
${mpi}
__EOF__
# Maintainer information:
# The debug-symbols=none and optimization=none
# are not official upstream flags but a Gentoo
# specific patch to make sure that all our
# CXXFLAGS/LDFLAGS are being respected.
# Using optimization=off would for example add
# "-O0" and override "-O2" set by the user.
# Please take a look at the boost-build ebuild
# for more infomration.
use icu && OPTIONS="-sICU_PATH=/usr"
use expat && OPTIONS="${OPTIONS} -sEXPAT_INCLUDE=/usr/include -sEXPAT_LIBPATH=/usr/$(get_libdir)"
use mpi || OPTIONS="${OPTIONS} --without-mpi"
use python || OPTIONS="${OPTIONS} --without-python"
OPTIONS="${OPTIONS} --user-config=\"${S}/user-config.jam\" --boost-build=/usr/share/boost-build-${MAJOR_PV} --prefix=\"${D}/usr\" --layout=versioned"
}
src_compile() {
NUMJOBS=$(sed -e 's/.*\(\-j[ 0-9]\+\) .*/\1/; s/--jobs=\?/-j/' <<< ${MAKEOPTS})
einfo "Using the following options to build: "
einfo " ${OPTIONS}"
export BOOST_ROOT="${S}"
${BJAM} ${NUMJOBS} -q \
gentoorelease \
${OPTIONS} \
threading=single,multi link=shared,static runtime-link=shared \
|| die "building boost failed"
# ... and do the whole thing one more time to get the debug libs
if use debug ; then
${BJAM} ${NUMJOBS} -q \
gentoodebug \
${OPTIONS} \
threading=single,multi link=shared,static runtime-link=shared \
--buildid=debug \
|| die "building boost failed"
fi
if use tools; then
cd "${S}/tools/"
${BJAM} ${NUMJOBS} -q \
gentoorelease \
${OPTIONS} \
|| die "building tools failed"
fi
}
src_install () {
einfo "Using the following options to install: "
einfo " ${OPTIONS}"
export BOOST_ROOT="${S}"
${BJAM} -q \
gentoorelease \
${OPTIONS} \
threading=single,multi link=shared,static runtime-link=shared \
--includedir="${D}/usr/include" \
--libdir="${D}/usr/$(get_libdir)" \
install || die "install failed for options '${OPTIONS}'"
if use debug ; then
${BJAM} -q \
gentoodebug \
${OPTIONS} \
threading=single,multi link=shared,static runtime-link=shared \
--includedir="${D}/usr/include" \
--libdir="${D}/usr/$(get_libdir)" \
--buildid=debug \
install || die "install failed for options '${OPTIONS}'"
fi
use python || rm -rf "${D}/usr/include/boost-${MAJOR_PV}/boost"/python*
dodir /usr/share/boost-eselect/profiles/${SLOT}
touch "${D}/usr/share/boost-eselect/profiles/${SLOT}/default"
use debug && touch "${D}/usr/share/boost-eselect/profiles/${SLOT}/debug"
# Move the mpi.so to the right place and make sure it's slotted
if use mpi && use python; then
mkdir -p "${D}$(python_get_sitedir)/boost_${MAJOR_PV}"
mv "${D}/usr/$(get_libdir)/mpi.so" "${D}$(python_get_sitedir)/boost_${MAJOR_PV}/"
touch "${D}$(python_get_sitedir)/boost_${MAJOR_PV}/__init__.py"
_add_line "python=\"$(python_get_sitedir)/boost_${MAJOR_PV}/mpi.so\""
fi
if use doc ; then
find libs/*/* -iname "test" -or -iname "src" | xargs rm -rf
dohtml \
-A pdf,txt,cpp,hpp \
*.{htm,html,png,css} \
-r doc more people wiki
dohtml \
-A pdf,txt \
-r tools
insinto /usr/share/doc/${PF}/html
doins -r libs
# To avoid broken links
insinto /usr/share/doc/${PF}/html
doins LICENSE_1_0.txt
dosym /usr/include/boost /usr/share/doc/${PF}/html/boost
fi
cd "${D}/usr/$(get_libdir)"
# Remove (unversioned) symlinks
# And check for what we remove to catch bugs
# got a better idea how to do it? tell me!
for f in $(ls -1 *{.a,$(get_libname)} | grep -v "${MAJOR_PV}") ; do
if [ ! -h "${f}" ] ; then
eerror "Ups, tried to remove '${f}' which is a a real file instead of a symlink"
die "slotting/naming of the libs broken!"
fi
rm "${f}"
done
# The threading libs obviously always gets the "-mt" (multithreading) tag
# some packages seem to have a problem with it. Creating symlinks...
for lib in libboost_thread-mt-${MAJOR_PV}{.a,$(get_libname)} ; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
done
# The same goes for the mpi libs
if use mpi ; then
for lib in libboost_mpi-mt-${MAJOR_PV}{.a,$(get_libname)} ; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
done
fi
if use debug ; then
for lib in libboost_thread-mt-${MAJOR_PV}-debug{.a,$(get_libname)} ; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
done
if use mpi ; then
for lib in libboost_mpi-mt-${MAJOR_PV}-debug{.a,$(get_libname)} ; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
done
fi
fi
# Create a subdirectory with completely unversioned symlinks
# and store the names in the profiles-file for eselect
dodir /usr/$(get_libdir)/boost-${MAJOR_PV}
_add_line "libs=\"" default
for f in $(ls -1 *{.a,$(get_libname)} | grep -v debug) ; do
dosym ../${f} /usr/$(get_libdir)/boost-${MAJOR_PV}/${f/-${MAJOR_PV}}
_add_line "/usr/$(get_libdir)/${f}" default
done
_add_line "\"" default
if use debug ; then
_add_line "libs=\"" debug
dodir /usr/$(get_libdir)/boost-${MAJOR_PV}-debug
for f in $(ls -1 *{.a,$(get_libname)} | grep debug) ; do
dosym ../${f} /usr/$(get_libdir)/boost-${MAJOR_PV}-debug/${f/-${MAJOR_PV}-debug}
_add_line "/usr/$(get_libdir)/${f}" debug
done
_add_line "\"" debug
_add_line "includes=\"/usr/include/boost-${MAJOR_PV}/boost\"" debug
_add_line "suffix=\"-debug\"" debug
fi
_add_line "includes=\"/usr/include/boost-${MAJOR_PV}/boost\"" default
if use tools; then
cd "${S}/dist/bin"
# Append version postfix to binaries for slotting
_add_line "bins=\""
for b in * ; do
newbin "${b}" "${b}-${MAJOR_PV}"
_add_line "/usr/bin/${b}-${MAJOR_PV}"
done
_add_line "\""
cd "${S}/dist"
insinto /usr/share
doins -r share/boostbook
# Append version postfix for slotting
mv "${D}/usr/share/boostbook" "${D}/usr/share/boostbook-${MAJOR_PV}"
_add_line "dirs=\"/usr/share/boostbook-${MAJOR_PV}\""
fi
cd "${S}/status"
if [ -f regress.log ] ; then
docinto status
dohtml *.{html,gif} ../boost.png
dodoc regress.log
fi
use python && python_need_rebuild
# boost's build system truely sucks for not having a destdir. Because for
# this reason we are forced to build with a prefix that includes the
# DESTROOT, dynamic libraries on Darwin end messed up, referencing the
# DESTROOT instread of the actual EPREFIX. There is no way out of here
# but to do it the dirty way of manually setting the right install_names.
[[ -z ${ED+set} ]] && local ED=${D%/}${EPREFIX}/
if [[ ${CHOST} == *-darwin* ]] ; then
einfo "Working around completely broken build-system(tm)"
for d in "${ED}"usr/lib/*.dylib ; do
if [[ -f ${d} ]] ; then
# fix the "soname"
ebegin " correcting install_name of ${d#${ED}}"
install_name_tool -id "/${d#${D}}" "${d}"
eend $?
# fix references to other libs
refs=$(otool -XL "${d}" | \
sed -e '1d' -e 's/^\t//' | \
grep "^libboost_" | \
cut -f1 -d' ')
for r in ${refs} ; do
ebegin " correcting reference to ${r}"
install_name_tool -change \
"${r}" \
"${EPREFIX}/usr/lib/${r}" \
"${d}"
eend $?
done
fi
done
fi
}
src_test() {
export BOOST_ROOT=${S}
cd "${S}/tools/regression/build"
${BJAM} -q \
gentoorelease \
${OPTIONS} \
process_jam_log compiler_status \
|| die "building regression test helpers failed"
cd "${S}/status"
# Some of the test-checks seem to rely on regexps
export LC_ALL="C"
# The following is largely taken from tools/regression/run_tests.sh,
# but adapted to our needs.
# Run the tests & write them into a file for postprocessing
${BJAM} \
${OPTIONS} \
--dump-tests 2>&1 | tee regress.log
# Postprocessing
cat regress.log | "${S}/tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease/process_jam_log" --v2
if test $? != 0 ; then
die "Postprocessing the build log failed"
fi
cat > "${S}/status/comment.html" <<- __EOF__
<p>Tests are run on a <a href="http://www.gentoo.org">Gentoo</a> system.</p>
__EOF__
# Generate the build log html summary page
"${S}/tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease/compiler_status" --v2 \
--comment "${S}/status/comment.html" "${S}" \
cs-$(uname).html cs-$(uname)-links.html
if test $? != 0 ; then
die "Generating the build log html summary page failed"
fi
# And do some cosmetic fixes :)
sed -i -e 's|http://www.boost.org/boost.png|boost.png|' *.html
}
pkg_postinst() {
use eselect && eselect boost update
if [ ! -h "${ROOT}/etc/eselect/boost/active" ] ; then
elog "No active boost version found. Calling eselect to select one..."
eselect boost update
fi
}

@ -1,473 +0,0 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.41.0-r3.ebuild,v 1.14 2011/07/15 16:27:59 mattst88 Exp $
EAPI="2"
inherit python flag-o-matic multilib toolchain-funcs versionator check-reqs
MY_P=${PN}_$(replace_all_version_separators _)
DESCRIPTION="Boost Libraries for C++"
HOMEPAGE="http://www.boost.org/"
SRC_URI="mirror://sourceforge/boost/${MY_P}.tar.bz2"
LICENSE="Boost-1.0"
SLOT="$(get_version_component_range 1-2)"
IUSE="debug doc +eselect expat icu mpi python test tools"
KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd"
RDEPEND="icu? ( >=dev-libs/icu-3.3 )
expat? ( dev-libs/expat )
mpi? ( || ( sys-cluster/openmpi[cxx] sys-cluster/mpich2[cxx,threads] ) )
sys-libs/zlib
python? ( dev-lang/python )
!!<=dev-libs/boost-1.35.0-r2
>=app-admin/eselect-boost-0.3"
DEPEND="${RDEPEND}
dev-util/boost-build:${SLOT}"
S=${WORKDIR}/${MY_P}
MAJOR_PV=$(replace_all_version_separators _ ${SLOT})
BJAM="bjam-${MAJOR_PV}"
# Usage:
# _add_line <line-to-add> <profile>
# ... to add to specific profile
# or
# _add_line <line-to-add>
# ... to add to all profiles for which the use flag set
_add_line() {
if [ -z "$2" ] ; then
echo "${1}" >> "${D}/usr/share/boost-eselect/profiles/${SLOT}/default"
use debug && echo "${1}" >> "${D}/usr/share/boost-eselect/profiles/${SLOT}/debug"
else
echo "${1}" >> "${D}/usr/share/boost-eselect/profiles/${SLOT}/${2}"
fi
}
pkg_setup() {
# It doesn't compile with USE="python mpi" and python-3 (bug 295705)
if use python && use mpi ; then
if [[ "$(python_get_version --major)" != "2" ]]; then
eerror "The Boost.MPI python bindings do not support any other python version"
eerror "than 2.x. Please either use eselect to select a python 2.x version or"
eerror "disable the python and/or mpi use flag for =${CATEGORY}/${PF}."
die "unsupported python version"
fi
fi
if use test ; then
CHECKREQS_DISK_BUILD="1024"
check_reqs
ewarn "The tests may take several hours on a recent machine"
ewarn "but they will not fail (unless something weird happens ;-)"
ewarn "This is because the tests depend on the used compiler/-version"
ewarn "and the platform and upstream says that this is normal."
ewarn "If you are interested in the results, please take a look at the"
ewarn "generated results page:"
ewarn " ${ROOT}usr/share/doc/${PF}/status/cs-$(uname).html"
ebeep 5
fi
if use debug ; then
ewarn "The debug USE-flag means that a second set of the boost libraries"
ewarn "will be built containing debug-symbols. You'll be able to select them"
ewarn "using the boost-eselect module. But even though the optimization flags"
ewarn "you might have set are not stripped, there will be a performance"
ewarn "penalty and linking other packages against the debug version"
ewarn "of boost is _not_ recommended."
fi
}
src_prepare() {
epatch "${FILESDIR}/remove-toolset-${PV}.patch"
# bug 291660
epatch "${FILESDIR}/boost-${PV}-parameter-needs-python.patch"
# http://thread.gmane.org/gmane.comp.lib.boost.devel/196471
epatch "${FILESDIR}/boost-${PV}-mpi_process_group-missing-include.patch"
# https://svn.boost.org/trac/boost/ticket/3010
epatch "${FILESDIR}/boost-${PV}-iostreams-missing-include-guard.patch"
# bug 297163
# https://svn.boost.org/trac/boost/ticket/3352
epatch "${FILESDIR}/boost-${PV}-fix-CRC-on-x64-during-gzip-decompression.patch"
# bug 297500
# https://svn.boost.org/trac/boost/ticket/3724
epatch "${FILESDIR}/boost-${PV}-spirit-fixed-include-guard-conflict.patch"
# This enables building the boost.random library with /dev/urandom support
if [[ -e /dev/urandom ]] ; then
mkdir -p libs/random/build
cp "${FILESDIR}/random-Jamfile" libs/random/build/Jamfile.v2
# yeah, we WANT it to work on non-Linux too
sed -i -e 's/#ifdef __linux__/#if 1/' libs/random/random_device.cpp || die
fi
}
src_configure() {
einfo "Writing new user-config.jam"
local compiler compilerVersion compilerExecutable mpi
if [[ ${CHOST} == *-darwin* ]] ; then
compiler=darwin
compilerVersion=$(gcc-fullversion)
compilerExecutable=$(tc-getCXX)
# we need to add the prefix, and in two cases this exceeds, so prepare
# for the largest possible space allocation
append-ldflags -Wl,-headerpad_max_install_names
else
compiler=gcc
compilerVersion=$(gcc-version)
compilerExecutable=$(tc-getCXX)
fi
# Using -fno-strict-aliasing to prevent possible creation of invalid code.
append-flags -fno-strict-aliasing
# bug 298489
if use ppc || use ppc64 ; then
[[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec
fi;
use mpi && mpi="using mpi ;"
if use python ; then
pystring="using python : $(python_get_version) : /usr : $(python_get_includedir) : $(python_get_libdir) ;"
fi
cat > "${S}/user-config.jam" << __EOF__
variant gentoorelease : release : <optimization>none <debug-symbols>none ;
variant gentoodebug : debug : <optimization>none ;
using ${compiler} : ${compilerVersion} : ${compilerExecutable} : <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
${pystring}
${mpi}
__EOF__
# Maintainer information:
# The debug-symbols=none and optimization=none
# are not official upstream flags but a Gentoo
# specific patch to make sure that all our
# CXXFLAGS/LDFLAGS are being respected.
# Using optimization=off would for example add
# "-O0" and override "-O2" set by the user.
# Please take a look at the boost-build ebuild
# for more infomration.
use icu && OPTIONS="-sICU_PATH=/usr"
use expat && OPTIONS="${OPTIONS} -sEXPAT_INCLUDE=/usr/include -sEXPAT_LIBPATH=/usr/$(get_libdir)"
use mpi || OPTIONS="${OPTIONS} --without-mpi"
use python || OPTIONS="${OPTIONS} --without-python"
# https://svn.boost.org/trac/boost/attachment/ticket/2597/add-disable-long-double.patch
if use sparc || { use mips && [[ ${ABI} = "o32" ]]; } || use hppa || use arm || use x86-fbsd || use sh; then
OPTIONS="${OPTIONS} --disable-long-double"
fi
OPTIONS="${OPTIONS} pch=off --user-config=\"${S}/user-config.jam\" --boost-build=/usr/share/boost-build-${MAJOR_PV} --prefix=\"${D}/usr\" --layout=versioned"
}
src_compile() {
jobs=$( echo " ${MAKEOPTS} " | \
sed -e 's/ --jobs[= ]/ -j /g' \
-e 's/ -j \([1-9][0-9]*\)/ -j\1/g' \
-e 's/ -j\>/ -j1/g' | \
( while read -d ' ' j ; do if [[ "${j#-j}" = "$j" ]]; then continue; fi; jobs="${j#-j}"; done; echo ${jobs} ) )
if [[ "${jobs}" != "" ]]; then NUMJOBS="-j"${jobs}; fi;
export BOOST_ROOT="${S}"
einfo "Using the following command to build: "
einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoorelease ${OPTIONS} threading=single,multi link=shared,static runtime-link=shared"
${BJAM} ${NUMJOBS} -q -d+2 \
gentoorelease \
${OPTIONS} \
threading=single,multi link=shared,static runtime-link=shared \
|| die "building boost failed"
# ... and do the whole thing one more time to get the debug libs
if use debug ; then
einfo "Using the following command to build: "
einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoodebug ${OPTIONS} threading=single,multi link=shared,static runtime-link=shared --buildid=debug"
${BJAM} ${NUMJOBS} -q -d+2 \
gentoodebug \
${OPTIONS} \
threading=single,multi link=shared,static runtime-link=shared \
--buildid=debug \
|| die "building boost failed"
fi
if use tools; then
cd "${S}/tools/"
einfo "Using the following command to build the tools: "
einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoorelease ${OPTIONS}"
${BJAM} ${NUMJOBS} -q -d+2\
gentoorelease \
${OPTIONS} \
|| die "building tools failed"
fi
}
src_install () {
export BOOST_ROOT="${S}"
einfo "Using the following command to install: "
einfo "${BJAM} -q -d+2 gentoorelease ${OPTIONS} threading=single,multi link=shared,static runtime-link=shared --includedir=\"${D}/usr/include\" --libdir=\"${D}/usr/$(get_libdir)\" install"
${BJAM} -q -d+2 \
gentoorelease \
${OPTIONS} \
threading=single,multi link=shared,static runtime-link=shared \
--includedir="${D}/usr/include" \
--libdir="${D}/usr/$(get_libdir)" \
install || die "install failed for options '${OPTIONS}'"
if use debug ; then
einfo "Using the following command to install: "
einfo "${BJAM} -q -d+2 gentoodebug ${OPTIONS} threading=single,multi link=shared,static runtime-link=shared --includedir=\"${D}/usr/include\" --libdir=\"${D}/usr/$(get_libdir)\" --buildid=debug"
${BJAM} -q -d+2 \
gentoodebug \
${OPTIONS} \
threading=single,multi link=shared,static runtime-link=shared \
--includedir="${D}/usr/include" \
--libdir="${D}/usr/$(get_libdir)" \
--buildid=debug \
install || die "install failed for options '${OPTIONS}'"
fi
use python || rm -rf "${D}/usr/include/boost-${MAJOR_PV}/boost"/python*
dodir /usr/share/boost-eselect/profiles/${SLOT}
touch "${D}/usr/share/boost-eselect/profiles/${SLOT}/default"
use debug && touch "${D}/usr/share/boost-eselect/profiles/${SLOT}/debug"
# Move the mpi.so to the right place and make sure it's slotted
if use mpi && use python; then
mkdir -p "${D}$(python_get_sitedir)/boost_${MAJOR_PV}"
mv "${D}/usr/$(get_libdir)/mpi.so" "${D}$(python_get_sitedir)/boost_${MAJOR_PV}/"
touch "${D}$(python_get_sitedir)/boost_${MAJOR_PV}/__init__.py"
_add_line "python=\"$(python_get_sitedir)/boost_${MAJOR_PV}/mpi.so\""
fi
if use doc ; then
find libs/*/* -iname "test" -or -iname "src" | xargs rm -rf
dohtml \
-A pdf,txt,cpp,hpp \
*.{htm,html,png,css} \
-r doc more people wiki
dohtml \
-A pdf,txt \
-r tools
insinto /usr/share/doc/${PF}/html
doins -r libs
# To avoid broken links
insinto /usr/share/doc/${PF}/html
doins LICENSE_1_0.txt
dosym /usr/include/boost-${MAJOR_PV}/boost /usr/share/doc/${PF}/html/boost
fi
cd "${D}/usr/$(get_libdir)"
# Remove (unversioned) symlinks
# And check for what we remove to catch bugs
# got a better idea how to do it? tell me!
for f in $(ls -1 *{.a,$(get_libname)} | grep -v "${MAJOR_PV}") ; do
if [ ! -h "${f}" ] ; then
eerror "Ups, tried to remove '${f}' which is a a real file instead of a symlink"
die "slotting/naming of the libs broken!"
fi
rm "${f}"
done
# The threading libs obviously always gets the "-mt" (multithreading) tag
# some packages seem to have a problem with it. Creating symlinks...
for lib in libboost_thread-mt-${MAJOR_PV}{.a,$(get_libname)} ; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
done
# The same goes for the mpi libs
if use mpi ; then
for lib in libboost_mpi-mt-${MAJOR_PV}{.a,$(get_libname)} ; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
done
fi
if use debug ; then
for lib in libboost_thread-mt-${MAJOR_PV}-debug{.a,$(get_libname)} ; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
done
if use mpi ; then
for lib in libboost_mpi-mt-${MAJOR_PV}-debug{.a,$(get_libname)} ; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
done
fi
fi
# Create a subdirectory with completely unversioned symlinks
# and store the names in the profiles-file for eselect
dodir /usr/$(get_libdir)/boost-${MAJOR_PV}
_add_line "libs=\"" default
for f in $(ls -1 *{.a,$(get_libname)} | grep -v debug) ; do
dosym ../${f} /usr/$(get_libdir)/boost-${MAJOR_PV}/${f/-${MAJOR_PV}}
_add_line "/usr/$(get_libdir)/${f}" default
done
_add_line "\"" default
if use debug ; then
_add_line "libs=\"" debug
dodir /usr/$(get_libdir)/boost-${MAJOR_PV}-debug
for f in $(ls -1 *{.a,$(get_libname)} | grep debug) ; do
dosym ../${f} /usr/$(get_libdir)/boost-${MAJOR_PV}-debug/${f/-${MAJOR_PV}-debug}
_add_line "/usr/$(get_libdir)/${f}" debug
done
_add_line "\"" debug
_add_line "includes=\"/usr/include/boost-${MAJOR_PV}/boost\"" debug
_add_line "suffix=\"-debug\"" debug
fi
_add_line "includes=\"/usr/include/boost-${MAJOR_PV}/boost\"" default
if use tools; then
cd "${S}/dist/bin"
# Append version postfix to binaries for slotting
_add_line "bins=\""
for b in * ; do
newbin "${b}" "${b}-${MAJOR_PV}"
_add_line "/usr/bin/${b}-${MAJOR_PV}"
done
_add_line "\""
cd "${S}/dist"
insinto /usr/share
doins -r share/boostbook
# Append version postfix for slotting
mv "${D}/usr/share/boostbook" "${D}/usr/share/boostbook-${MAJOR_PV}"
_add_line "dirs=\"/usr/share/boostbook-${MAJOR_PV}\""
fi
cd "${S}/status"
if [ -f regress.log ] ; then
docinto status
dohtml *.html ../boost.png
dodoc regress.log
fi
use python && python_need_rebuild
# boost's build system truely sucks for not having a destdir. Because for
# this reason we are forced to build with a prefix that includes the
# DESTROOT, dynamic libraries on Darwin end messed up, referencing the
# DESTROOT instread of the actual EPREFIX. There is no way out of here
# but to do it the dirty way of manually setting the right install_names.
[[ -z ${ED+set} ]] && local ED=${D%/}${EPREFIX}/
if [[ ${CHOST} == *-darwin* ]] ; then
einfo "Working around completely broken build-system(tm)"
for d in "${ED}"usr/lib/*.dylib ; do
if [[ -f ${d} ]] ; then
# fix the "soname"
ebegin " correcting install_name of ${d#${ED}}"
install_name_tool -id "/${d#${D}}" "${d}"
eend $?
# fix references to other libs
refs=$(otool -XL "${d}" | \
sed -e '1d' -e 's/^\t//' | \
grep "^libboost_" | \
cut -f1 -d' ')
for r in ${refs} ; do
ebegin " correcting reference to ${r}"
install_name_tool -change \
"${r}" \
"${EPREFIX}/usr/lib/${r}" \
"${d}"
eend $?
done
fi
done
fi
}
src_test() {
export BOOST_ROOT=${S}
cd "${S}/tools/regression/build"
einfo "Using the following command to build test helpers: "
einfo "${BJAM} -q -d+2 gentoorelease ${OPTIONS} process_jam_log compiler_status"
${BJAM} -q -d+2 \
gentoorelease \
${OPTIONS} \
process_jam_log compiler_status \
|| die "building regression test helpers failed"
cd "${S}/status"
# Some of the test-checks seem to rely on regexps
export LC_ALL="C"
# The following is largely taken from tools/regression/run_tests.sh,
# but adapted to our needs.
# Run the tests & write them into a file for postprocessing
einfo "Using the following command to test: "
einfo "${BJAM} ${OPTIONS} --dump-tests"
${BJAM} \
${OPTIONS} \
--dump-tests 2>&1 | tee regress.log
# Postprocessing
cat regress.log | "${S}/tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease/pch-off/process_jam_log" --v2
if test $? != 0 ; then
die "Postprocessing the build log failed"
fi
cat > "${S}/status/comment.html" <<- __EOF__
<p>Tests are run on a <a href="http://www.gentoo.org">Gentoo</a> system.</p>
__EOF__
# Generate the build log html summary page
"${S}/tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease/pch-off/compiler_status" --v2 \
--comment "${S}/status/comment.html" "${S}" \
cs-$(uname).html cs-$(uname)-links.html
if test $? != 0 ; then
die "Generating the build log html summary page failed"
fi
# And do some cosmetic fixes :)
sed -i -e 's|http://www.boost.org/boost.png|boost.png|' *.html
}
pkg_postinst() {
if use eselect ; then
eselect boost update || ewarn "eselect boost update failed."
fi
if [ ! -h "${ROOT}/etc/eselect/boost/active" ] ; then
elog "No active boost version found. Calling eselect to select one..."
eselect boost update
fi
}

@ -1,491 +0,0 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.42.0-r1.ebuild,v 1.4 2011/07/15 16:27:59 mattst88 Exp $
EAPI="2"
inherit python flag-o-matic multilib toolchain-funcs versionator check-reqs
MY_P=${PN}_$(replace_all_version_separators _)
DESCRIPTION="Boost Libraries for C++"
HOMEPAGE="http://www.boost.org/"
SRC_URI="mirror://sourceforge/boost/${MY_P}.tar.bz2"
LICENSE="Boost-1.0"
SLOT="$(get_version_component_range 1-2)"
IUSE="debug doc +eselect icu mpi python static-libs test tools"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
RDEPEND="icu? ( >=dev-libs/icu-3.3 )
mpi? ( || ( sys-cluster/openmpi[cxx] sys-cluster/mpich2[cxx,threads] ) )
sys-libs/zlib
python? ( dev-lang/python )
!!<=dev-libs/boost-1.35.0-r2
>=app-admin/eselect-boost-0.3"
DEPEND="${RDEPEND}
dev-util/boost-build:${SLOT}"
S=${WORKDIR}/${MY_P}
MAJOR_PV=$(replace_all_version_separators _ ${SLOT})
BJAM="bjam-${MAJOR_PV}"
# Usage:
# _add_line <line-to-add> <profile>
# ... to add to specific profile
# or
# _add_line <line-to-add>
# ... to add to all profiles for which the use flag set
_add_line() {
if [ -z "$2" ] ; then
echo "${1}" >> "${D}/usr/share/boost-eselect/profiles/${SLOT}/default"
use debug && echo "${1}" >> "${D}/usr/share/boost-eselect/profiles/${SLOT}/debug"
else
echo "${1}" >> "${D}/usr/share/boost-eselect/profiles/${SLOT}/${2}"
fi
}
pkg_setup() {
# It doesn't compile with USE="python mpi" and python-3 (bug 295705)
if use python && use mpi ; then
if [[ "$(python_get_version --major)" != "2" ]]; then
eerror "The Boost.MPI python bindings do not support any other python version"
eerror "than 2.x. Please either use eselect to select a python 2.x version or"
eerror "disable the python and/or mpi use flag for =${CATEGORY}/${PF}."
die "unsupported python version"
fi
fi
if use test ; then
CHECKREQS_DISK_BUILD="1024"
check_reqs
ewarn "The tests may take several hours on a recent machine"
ewarn "but they will not fail (unless something weird happens ;-)"
ewarn "This is because the tests depend on the used compiler/-version"
ewarn "and the platform and upstream says that this is normal."
ewarn "If you are interested in the results, please take a look at the"
ewarn "generated results page:"
ewarn " ${ROOT}usr/share/doc/${PF}/status/cs-$(uname).html"
ebeep 5
fi
if use debug ; then
ewarn "The debug USE-flag means that a second set of the boost libraries"
ewarn "will be built containing debug-symbols. You'll be able to select them"
ewarn "using the boost-eselect module. But even though the optimization flags"
ewarn "you might have set are not stripped, there will be a performance"
ewarn "penalty and linking other packages against the debug version"
ewarn "of boost is _not_ recommended."
fi
}
src_prepare() {
epatch "${FILESDIR}/remove-toolset-${PV}.patch"
# bug 291660
epatch "${FILESDIR}/boost-${PV}-parameter-needs-python.patch"
epatch "${FILESDIR}"/${P}-template_arity-gcc45.patch
# This enables building the boost.random library with /dev/urandom support
if [[ -e /dev/urandom ]] ; then
mkdir -p libs/random/build
cp "${FILESDIR}/random-Jamfile" libs/random/build/Jamfile.v2
# yeah, we WANT it to work on non-Linux too
sed -i -e 's/#ifdef __linux__/#if 1/' libs/random/random_device.cpp || die
fi
}
src_configure() {
einfo "Writing new user-config.jam"
local compiler compilerVersion compilerExecutable mpi
if [[ ${CHOST} == *-darwin* ]] ; then
compiler=darwin
compilerVersion=$(gcc-fullversion)
compilerExecutable=$(tc-getCXX)
# we need to add the prefix, and in two cases this exceeds, so prepare
# for the largest possible space allocation
append-ldflags -Wl,-headerpad_max_install_names
else
compiler=gcc
compilerVersion=$(gcc-version)
compilerExecutable=$(tc-getCXX)
fi
# Using -fno-strict-aliasing to prevent possible creation of invalid code.
append-flags -fno-strict-aliasing
# bug 298489
if use ppc || use ppc64 ; then
[[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec
fi;
use mpi && mpi="using mpi ;"
if use python ; then
pystring="using python : $(python_get_version) : /usr : $(python_get_includedir) : $(python_get_libdir) ;"
fi
cat > "${S}/user-config.jam" << __EOF__
variant gentoorelease : release : <optimization>none <debug-symbols>none ;
variant gentoodebug : debug : <optimization>none ;
using ${compiler} : ${compilerVersion} : ${compilerExecutable} : <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
${pystring}
${mpi}
__EOF__
# Maintainer information:
# The debug-symbols=none and optimization=none
# are not official upstream flags but a Gentoo
# specific patch to make sure that all our
# CXXFLAGS/LDFLAGS are being respected.
# Using optimization=off would for example add
# "-O0" and override "-O2" set by the user.
# Please take a look at the boost-build ebuild
# for more infomration.
use icu && OPTIONS="-sICU_PATH=/usr"
use mpi || OPTIONS="${OPTIONS} --without-mpi"
use python || OPTIONS="${OPTIONS} --without-python"
# https://svn.boost.org/trac/boost/attachment/ticket/2597/add-disable-long-double.patch
if use sparc || { use mips && [[ ${ABI} = "o32" ]]; } || use hppa || use arm || use x86-fbsd || use sh; then
OPTIONS="${OPTIONS} --disable-long-double"
fi
OPTIONS="${OPTIONS} pch=off --user-config=\"${S}/user-config.jam\" --boost-build=/usr/share/boost-build-${MAJOR_PV} --prefix=\"${D}/usr\" --layout=versioned"
if use static-libs ; then
LINK_OPTS="link=shared,static"
LIBRARY_TARGETS="*.a *$(get_libname)"
else
LINK_OPTS="link=shared"
#there is no dynamicly linked version of libboost_test_exec_monitor
LIBRARY_TARGETS="libboost_test_exec_monitor*.a *$(get_libname)"
fi
}
src_compile() {
jobs=$( echo " ${MAKEOPTS} " | \
sed -e 's/ --jobs[= ]/ -j /g' \
-e 's/ -j \([1-9][0-9]*\)/ -j\1/g' \
-e 's/ -j\>/ -j1/g' | \
( while read -d ' ' j ; do if [[ "${j#-j}" = "$j" ]]; then continue; fi; jobs="${j#-j}"; done; echo ${jobs} ) )
if [[ "${jobs}" != "" ]]; then NUMJOBS="-j"${jobs}; fi;
export BOOST_ROOT="${S}"
einfo "Using the following command to build: "
einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoorelease ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared"
${BJAM} ${NUMJOBS} -q -d+2 \
gentoorelease \
${OPTIONS} \
threading=single,multi ${LINK_OPTS} runtime-link=shared \
|| die "building boost failed"
# ... and do the whole thing one more time to get the debug libs
if use debug ; then
einfo "Using the following command to build: "
einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoodebug ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared --buildid=debug"
${BJAM} ${NUMJOBS} -q -d+2 \
gentoodebug \
${OPTIONS} \
threading=single,multi ${LINK_OPTS} runtime-link=shared \
--buildid=debug \
|| die "building boost failed"
fi
if use tools; then
cd "${S}/tools/"
einfo "Using the following command to build the tools: "
einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoorelease ${OPTIONS}"
${BJAM} ${NUMJOBS} -q -d+2\
gentoorelease \
${OPTIONS} \
|| die "building tools failed"
fi
}
src_install () {
export BOOST_ROOT="${S}"
einfo "Using the following command to install: "
einfo "${BJAM} -q -d+2 gentoorelease ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared --includedir=\"${D}/usr/include\" --libdir=\"${D}/usr/$(get_libdir)\" install"
${BJAM} -q -d+2 \
gentoorelease \
${OPTIONS} \
threading=single,multi ${LINK_OPTS} runtime-link=shared \
--includedir="${D}/usr/include" \
--libdir="${D}/usr/$(get_libdir)" \
install || die "install failed for options '${OPTIONS}'"
if use debug ; then
einfo "Using the following command to install: "
einfo "${BJAM} -q -d+2 gentoodebug ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared --includedir=\"${D}/usr/include\" --libdir=\"${D}/usr/$(get_libdir)\" --buildid=debug"
${BJAM} -q -d+2 \
gentoodebug \
${OPTIONS} \
threading=single,multi ${LINK_OPTS} runtime-link=shared \
--includedir="${D}/usr/include" \
--libdir="${D}/usr/$(get_libdir)" \
--buildid=debug \
install || die "install failed for options '${OPTIONS}'"
fi
use python || rm -rf "${D}/usr/include/boost-${MAJOR_PV}/boost"/python* || die
dodir /usr/share/boost-eselect/profiles/${SLOT} || die
touch "${D}/usr/share/boost-eselect/profiles/${SLOT}/default" || die
if use debug ; then
touch "${D}/usr/share/boost-eselect/profiles/${SLOT}/debug" || die
fi
# Move the mpi.so to the right place and make sure it's slotted
if use mpi && use python; then
mkdir -p "${D}$(python_get_sitedir)/boost_${MAJOR_PV}" || die
mv "${D}/usr/$(get_libdir)/mpi.so" "${D}$(python_get_sitedir)/boost_${MAJOR_PV}/" || die
touch "${D}$(python_get_sitedir)/boost_${MAJOR_PV}/__init__.py" || die
_add_line "python=\"$(python_get_sitedir)/boost_${MAJOR_PV}/mpi.so\""
fi
if use doc ; then
find libs/*/* -iname "test" -or -iname "src" | xargs rm -rf
dohtml \
-A pdf,txt,cpp,hpp \
*.{htm,html,png,css} \
-r doc more people wiki || die
dohtml \
-A pdf,txt \
-r tools || die
insinto /usr/share/doc/${PF}/html
doins -r libs || die
# To avoid broken links
insinto /usr/share/doc/${PF}/html
doins LICENSE_1_0.txt || die
dosym /usr/include/boost-${MAJOR_PV}/boost /usr/share/doc/${PF}/html/boost || die
fi
cd "${D}/usr/$(get_libdir)" || die
# Remove (unversioned) symlinks
# And check for what we remove to catch bugs
# got a better idea how to do it? tell me!
for f in $(ls -1 ${LIBRARY_TARGETS} | grep -v "${MAJOR_PV}") ; do
if [ ! -h "${f}" ] ; then
eerror "Ups, tried to remove '${f}' which is a a real file instead of a symlink"
die "slotting/naming of the libs broken!"
fi
rm "${f}" || die
done
# The threading libs obviously always gets the "-mt" (multithreading) tag
# some packages seem to have a problem with it. Creating symlinks...
if use static-libs ; then
THREAD_LIBS="libboost_thread-mt-${MAJOR_PV}.a libboost_thread-mt-${MAJOR_PV}$(get_libname)"
else
THREAD_LIBS="libboost_thread-mt-${MAJOR_PV}$(get_libname)"
fi
for lib in ${THREAD_LIBS} ; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})" || die
done
# The same goes for the mpi libs
if use mpi ; then
if use static-libs ; then
MPI_LIBS="libboost_mpi-mt-${MAJOR_PV}.a libboost_mpi-mt-${MAJOR_PV}$(get_libname)"
else
MPI_LIBS="libboost_mpi-mt-${MAJOR_PV}$(get_libname)"
fi
for lib in ${MPI_LIBS} ; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})" || die
done
fi
if use debug ; then
if use static-libs ; then
THREAD_DEBUG_LIBS="libboost_thread-mt-${MAJOR_PV}-debug$(get_libname) libboost_thread-mt-${MAJOR_PV}-debug.a"
else
THREAD_DEBUG_LIBS="libboost_thread-mt-${MAJOR_PV}-debug$(get_libname)"
fi
for lib in ${THREAD_DEBUG_LIBS} ; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})" || die
done
if use mpi ; then
if use static-libs ; then
MPI_DEBUG_LIBS="libboost_mpi-mt-${MAJOR_PV}-debug.a libboost_mpi-mt-${MAJOR_PV}-debug$(get_libname)"
else
MPI_DEBUG_LIBS="libboost_mpi-mt-${MAJOR_PV}-debug$(get_libname)"
fi
for lib in ${MPI_DEBUG_LIBS} ; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})" || die
done
fi
fi
# Create a subdirectory with completely unversioned symlinks
# and store the names in the profiles-file for eselect
dodir /usr/$(get_libdir)/boost-${MAJOR_PV} || die
_add_line "libs=\"" default
for f in $(ls -1 ${LIBRARY_TARGETS} | grep -v debug) ; do
dosym ../${f} /usr/$(get_libdir)/boost-${MAJOR_PV}/${f/-${MAJOR_PV}} || die
_add_line "/usr/$(get_libdir)/${f}" default
done
_add_line "\"" default
if use debug ; then
_add_line "libs=\"" debug
dodir /usr/$(get_libdir)/boost-${MAJOR_PV}-debug || die
for f in $(ls -1 ${LIBRARY_TARGETS} | grep debug) ; do
dosym ../${f} /usr/$(get_libdir)/boost-${MAJOR_PV}-debug/${f/-${MAJOR_PV}-debug} || die
_add_line "/usr/$(get_libdir)/${f}" debug
done
_add_line "\"" debug
_add_line "includes=\"/usr/include/boost-${MAJOR_PV}/boost\"" debug
_add_line "suffix=\"-debug\"" debug
fi
_add_line "includes=\"/usr/include/boost-${MAJOR_PV}/boost\"" default
if use tools; then
cd "${S}/dist/bin" || die
# Append version postfix to binaries for slotting
_add_line "bins=\""
for b in * ; do
newbin "${b}" "${b}-${MAJOR_PV}" || die
_add_line "/usr/bin/${b}-${MAJOR_PV}"
done
_add_line "\""
cd "${S}/dist" || die
insinto /usr/share || die
doins -r share/boostbook || die
# Append version postfix for slotting
mv "${D}/usr/share/boostbook" "${D}/usr/share/boostbook-${MAJOR_PV}" || die
_add_line "dirs=\"/usr/share/boostbook-${MAJOR_PV}\""
fi
cd "${S}/status" || die
if [ -f regress.log ] ; then
docinto status || die
dohtml *.html ../boost.png || die
dodoc regress.log || die
fi
use python && python_need_rebuild
# boost's build system truely sucks for not having a destdir. Because for
# this reason we are forced to build with a prefix that includes the
# DESTROOT, dynamic libraries on Darwin end messed up, referencing the
# DESTROOT instread of the actual EPREFIX. There is no way out of here
# but to do it the dirty way of manually setting the right install_names.
[[ -z ${ED+set} ]] && local ED=${D%/}${EPREFIX}/
if [[ ${CHOST} == *-darwin* ]] ; then
einfo "Working around completely broken build-system(tm)"
for d in "${ED}"usr/lib/*.dylib ; do
if [[ -f ${d} ]] ; then
# fix the "soname"
ebegin " correcting install_name of ${d#${ED}}"
install_name_tool -id "/${d#${D}}" "${d}"
eend $?
# fix references to other libs
refs=$(otool -XL "${d}" | \
sed -e '1d' -e 's/^\t//' | \
grep "^libboost_" | \
cut -f1 -d' ')
for r in ${refs} ; do
ebegin " correcting reference to ${r}"
install_name_tool -change \
"${r}" \
"${EPREFIX}/usr/lib/${r}" \
"${d}"
eend $?
done
fi
done
fi
}
src_test() {
export BOOST_ROOT=${S}
cd "${S}/tools/regression/build" || die
einfo "Using the following command to build test helpers: "
einfo "${BJAM} -q -d+2 gentoorelease ${OPTIONS} process_jam_log compiler_status"
${BJAM} -q -d+2 \
gentoorelease \
${OPTIONS} \
process_jam_log compiler_status \
|| die "building regression test helpers failed"
cd "${S}/status" || die
# Some of the test-checks seem to rely on regexps
export LC_ALL="C"
# The following is largely taken from tools/regression/run_tests.sh,
# but adapted to our needs.
# Run the tests & write them into a file for postprocessing
einfo "Using the following command to test: "
einfo "${BJAM} ${OPTIONS} --dump-tests"
${BJAM} \
${OPTIONS} \
--dump-tests 2>&1 | tee regress.log || die
# Postprocessing
cat regress.log | "${S}/tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease/pch-off/process_jam_log" --v2
if test $? != 0 ; then
die "Postprocessing the build log failed"
fi
cat > "${S}/status/comment.html" <<- __EOF__
<p>Tests are run on a <a href="http://www.gentoo.org">Gentoo</a> system.</p>
__EOF__
# Generate the build log html summary page
"${S}/tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease/pch-off/compiler_status" --v2 \
--comment "${S}/status/comment.html" "${S}" \
cs-$(uname).html cs-$(uname)-links.html
if test $? != 0 ; then
die "Generating the build log html summary page failed"
fi
# And do some cosmetic fixes :)
sed -i -e 's|http://www.boost.org/boost.png|boost.png|' *.html || die
}
pkg_postinst() {
if use eselect ; then
eselect boost update || ewarn "eselect boost update failed."
fi
if [ ! -h "${ROOT}/etc/eselect/boost/active" ] ; then
elog "No active boost version found. Calling eselect to select one..."
eselect boost update || ewarn "eselect boost update failed."
fi
}

@ -1,492 +0,0 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.42.0-r2.ebuild,v 1.12 2011/07/15 16:27:59 mattst88 Exp $
EAPI="2"
inherit python flag-o-matic multilib toolchain-funcs versionator check-reqs
MY_P=${PN}_$(replace_all_version_separators _)
DESCRIPTION="Boost Libraries for C++"
HOMEPAGE="http://www.boost.org/"
SRC_URI="mirror://sourceforge/boost/${MY_P}.tar.bz2"
LICENSE="Boost-1.0"
SLOT="$(get_version_component_range 1-2)"
IUSE="debug doc +eselect icu mpi python static-libs test tools"
KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd"
RDEPEND="icu? ( >=dev-libs/icu-3.3 )
mpi? ( || ( sys-cluster/openmpi[cxx] sys-cluster/mpich2[cxx,threads] ) )
sys-libs/zlib
python? ( dev-lang/python )
!!<=dev-libs/boost-1.35.0-r2
>=app-admin/eselect-boost-0.3"
DEPEND="${RDEPEND}
dev-util/boost-build:${SLOT}"
S=${WORKDIR}/${MY_P}
MAJOR_PV=$(replace_all_version_separators _ ${SLOT})
BJAM="bjam-${MAJOR_PV}"
# Usage:
# _add_line <line-to-add> <profile>
# ... to add to specific profile
# or
# _add_line <line-to-add>
# ... to add to all profiles for which the use flag set
_add_line() {
if [ -z "$2" ] ; then
echo "${1}" >> "${D}/usr/share/boost-eselect/profiles/${SLOT}/default"
use debug && echo "${1}" >> "${D}/usr/share/boost-eselect/profiles/${SLOT}/debug"
else
echo "${1}" >> "${D}/usr/share/boost-eselect/profiles/${SLOT}/${2}"
fi
}
pkg_setup() {
# It doesn't compile with USE="python mpi" and python-3 (bug 295705)
if use python && use mpi ; then
if [[ "$(python_get_version --major)" != "2" ]]; then
eerror "The Boost.MPI python bindings do not support any other python version"
eerror "than 2.x. Please either use eselect to select a python 2.x version or"
eerror "disable the python and/or mpi use flag for =${CATEGORY}/${PF}."
die "unsupported python version"
fi
fi
if use test ; then
CHECKREQS_DISK_BUILD="1024"
check_reqs
ewarn "The tests may take several hours on a recent machine"
ewarn "but they will not fail (unless something weird happens ;-)"
ewarn "This is because the tests depend on the used compiler/-version"
ewarn "and the platform and upstream says that this is normal."
ewarn "If you are interested in the results, please take a look at the"
ewarn "generated results page:"
ewarn " ${ROOT}usr/share/doc/${PF}/status/cs-$(uname).html"
ebeep 5
fi
if use debug ; then
ewarn "The debug USE-flag means that a second set of the boost libraries"
ewarn "will be built containing debug-symbols. You'll be able to select them"
ewarn "using the boost-eselect module. But even though the optimization flags"
ewarn "you might have set are not stripped, there will be a performance"
ewarn "penalty and linking other packages against the debug version"
ewarn "of boost is _not_ recommended."
fi
}
src_prepare() {
epatch "${FILESDIR}/remove-toolset-${PV}.patch"
# bug 291660
epatch "${FILESDIR}/boost-${PV}-parameter-needs-python.patch"
epatch "${FILESDIR}"/${P}-template_arity-gcc45.patch
epatch "${FILESDIR}"/${P}-gcc45-python.patch
# This enables building the boost.random library with /dev/urandom support
if [[ -e /dev/urandom ]] ; then
mkdir -p libs/random/build
cp "${FILESDIR}/random-Jamfile" libs/random/build/Jamfile.v2
# yeah, we WANT it to work on non-Linux too
sed -i -e 's/#ifdef __linux__/#if 1/' libs/random/random_device.cpp || die
fi
}
src_configure() {
einfo "Writing new user-config.jam"
local compiler compilerVersion compilerExecutable mpi
if [[ ${CHOST} == *-darwin* ]] ; then
compiler=darwin
compilerVersion=$(gcc-fullversion)
compilerExecutable=$(tc-getCXX)
# we need to add the prefix, and in two cases this exceeds, so prepare
# for the largest possible space allocation
append-ldflags -Wl,-headerpad_max_install_names
else
compiler=gcc
compilerVersion=$(gcc-version)
compilerExecutable=$(tc-getCXX)
fi
# Using -fno-strict-aliasing to prevent possible creation of invalid code.
append-flags -fno-strict-aliasing
# bug 298489
if use ppc || use ppc64 ; then
[[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec
fi;
use mpi && mpi="using mpi ;"
if use python ; then
pystring="using python : $(python_get_version) : /usr : $(python_get_includedir) : $(python_get_libdir) ;"
fi
cat > "${S}/user-config.jam" << __EOF__
variant gentoorelease : release : <optimization>none <debug-symbols>none ;
variant gentoodebug : debug : <optimization>none ;
using ${compiler} : ${compilerVersion} : ${compilerExecutable} : <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
${pystring}
${mpi}
__EOF__
# Maintainer information:
# The debug-symbols=none and optimization=none
# are not official upstream flags but a Gentoo
# specific patch to make sure that all our
# CXXFLAGS/LDFLAGS are being respected.
# Using optimization=off would for example add
# "-O0" and override "-O2" set by the user.
# Please take a look at the boost-build ebuild
# for more infomration.
use icu && OPTIONS="-sICU_PATH=/usr"
use mpi || OPTIONS="${OPTIONS} --without-mpi"
use python || OPTIONS="${OPTIONS} --without-python"
# https://svn.boost.org/trac/boost/attachment/ticket/2597/add-disable-long-double.patch
if use sparc || { use mips && [[ ${ABI} = "o32" ]]; } || use hppa || use arm || use x86-fbsd || use sh; then
OPTIONS="${OPTIONS} --disable-long-double"
fi
OPTIONS="${OPTIONS} pch=off --user-config=\"${S}/user-config.jam\" --boost-build=/usr/share/boost-build-${MAJOR_PV} --prefix=\"${D}/usr\" --layout=versioned"
if use static-libs ; then
LINK_OPTS="link=shared,static"
LIBRARY_TARGETS="*.a *$(get_libname)"
else
LINK_OPTS="link=shared"
#there is no dynamicly linked version of libboost_test_exec_monitor
LIBRARY_TARGETS="libboost_test_exec_monitor*.a *$(get_libname)"
fi
}
src_compile() {
jobs=$( echo " ${MAKEOPTS} " | \
sed -e 's/ --jobs[= ]/ -j /g' \
-e 's/ -j \([1-9][0-9]*\)/ -j\1/g' \
-e 's/ -j\>/ -j1/g' | \
( while read -d ' ' j ; do if [[ "${j#-j}" = "$j" ]]; then continue; fi; jobs="${j#-j}"; done; echo ${jobs} ) )
if [[ "${jobs}" != "" ]]; then NUMJOBS="-j"${jobs}; fi;
export BOOST_ROOT="${S}"
einfo "Using the following command to build: "
einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoorelease ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared"
${BJAM} ${NUMJOBS} -q -d+2 \
gentoorelease \
${OPTIONS} \
threading=single,multi ${LINK_OPTS} runtime-link=shared \
|| die "building boost failed"
# ... and do the whole thing one more time to get the debug libs
if use debug ; then
einfo "Using the following command to build: "
einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoodebug ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared --buildid=debug"
${BJAM} ${NUMJOBS} -q -d+2 \
gentoodebug \
${OPTIONS} \
threading=single,multi ${LINK_OPTS} runtime-link=shared \
--buildid=debug \
|| die "building boost failed"
fi
if use tools; then
cd "${S}/tools/"
einfo "Using the following command to build the tools: "
einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoorelease ${OPTIONS}"
${BJAM} ${NUMJOBS} -q -d+2\
gentoorelease \
${OPTIONS} \
|| die "building tools failed"
fi
}
src_install () {
export BOOST_ROOT="${S}"
einfo "Using the following command to install: "
einfo "${BJAM} -q -d+2 gentoorelease ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared --includedir=\"${D}/usr/include\" --libdir=\"${D}/usr/$(get_libdir)\" install"
${BJAM} -q -d+2 \
gentoorelease \
${OPTIONS} \
threading=single,multi ${LINK_OPTS} runtime-link=shared \
--includedir="${D}/usr/include" \
--libdir="${D}/usr/$(get_libdir)" \
install || die "install failed for options '${OPTIONS}'"
if use debug ; then
einfo "Using the following command to install: "
einfo "${BJAM} -q -d+2 gentoodebug ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared --includedir=\"${D}/usr/include\" --libdir=\"${D}/usr/$(get_libdir)\" --buildid=debug"
${BJAM} -q -d+2 \
gentoodebug \
${OPTIONS} \
threading=single,multi ${LINK_OPTS} runtime-link=shared \
--includedir="${D}/usr/include" \
--libdir="${D}/usr/$(get_libdir)" \
--buildid=debug \
install || die "install failed for options '${OPTIONS}'"
fi
use python || rm -rf "${D}/usr/include/boost-${MAJOR_PV}/boost"/python* || die
dodir /usr/share/boost-eselect/profiles/${SLOT} || die
touch "${D}/usr/share/boost-eselect/profiles/${SLOT}/default" || die
if use debug ; then
touch "${D}/usr/share/boost-eselect/profiles/${SLOT}/debug" || die
fi
# Move the mpi.so to the right place and make sure it's slotted
if use mpi && use python; then
mkdir -p "${D}$(python_get_sitedir)/boost_${MAJOR_PV}" || die
mv "${D}/usr/$(get_libdir)/mpi.so" "${D}$(python_get_sitedir)/boost_${MAJOR_PV}/" || die
touch "${D}$(python_get_sitedir)/boost_${MAJOR_PV}/__init__.py" || die
_add_line "python=\"$(python_get_sitedir)/boost_${MAJOR_PV}/mpi.so\""
fi
if use doc ; then
find libs/*/* -iname "test" -or -iname "src" | xargs rm -rf
dohtml \
-A pdf,txt,cpp,hpp \
*.{htm,html,png,css} \
-r doc more people wiki || die
dohtml \
-A pdf,txt \
-r tools || die
insinto /usr/share/doc/${PF}/html
doins -r libs || die
# To avoid broken links
insinto /usr/share/doc/${PF}/html
doins LICENSE_1_0.txt || die
dosym /usr/include/boost-${MAJOR_PV}/boost /usr/share/doc/${PF}/html/boost || die
fi
cd "${D}/usr/$(get_libdir)" || die
# Remove (unversioned) symlinks
# And check for what we remove to catch bugs
# got a better idea how to do it? tell me!
for f in $(ls -1 ${LIBRARY_TARGETS} | grep -v "${MAJOR_PV}") ; do
if [ ! -h "${f}" ] ; then
eerror "Ups, tried to remove '${f}' which is a a real file instead of a symlink"
die "slotting/naming of the libs broken!"
fi
rm "${f}" || die
done
# The threading libs obviously always gets the "-mt" (multithreading) tag
# some packages seem to have a problem with it. Creating symlinks...
if use static-libs ; then
THREAD_LIBS="libboost_thread-mt-${MAJOR_PV}.a libboost_thread-mt-${MAJOR_PV}$(get_libname)"
else
THREAD_LIBS="libboost_thread-mt-${MAJOR_PV}$(get_libname)"
fi
for lib in ${THREAD_LIBS} ; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})" || die
done
# The same goes for the mpi libs
if use mpi ; then
if use static-libs ; then
MPI_LIBS="libboost_mpi-mt-${MAJOR_PV}.a libboost_mpi-mt-${MAJOR_PV}$(get_libname)"
else
MPI_LIBS="libboost_mpi-mt-${MAJOR_PV}$(get_libname)"
fi
for lib in ${MPI_LIBS} ; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})" || die
done
fi
if use debug ; then
if use static-libs ; then
THREAD_DEBUG_LIBS="libboost_thread-mt-${MAJOR_PV}-debug$(get_libname) libboost_thread-mt-${MAJOR_PV}-debug.a"
else
THREAD_DEBUG_LIBS="libboost_thread-mt-${MAJOR_PV}-debug$(get_libname)"
fi
for lib in ${THREAD_DEBUG_LIBS} ; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})" || die
done
if use mpi ; then
if use static-libs ; then
MPI_DEBUG_LIBS="libboost_mpi-mt-${MAJOR_PV}-debug.a libboost_mpi-mt-${MAJOR_PV}-debug$(get_libname)"
else
MPI_DEBUG_LIBS="libboost_mpi-mt-${MAJOR_PV}-debug$(get_libname)"
fi
for lib in ${MPI_DEBUG_LIBS} ; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})" || die
done
fi
fi
# Create a subdirectory with completely unversioned symlinks
# and store the names in the profiles-file for eselect
dodir /usr/$(get_libdir)/boost-${MAJOR_PV} || die
_add_line "libs=\"" default
for f in $(ls -1 ${LIBRARY_TARGETS} | grep -v debug) ; do
dosym ../${f} /usr/$(get_libdir)/boost-${MAJOR_PV}/${f/-${MAJOR_PV}} || die
_add_line "/usr/$(get_libdir)/${f}" default
done
_add_line "\"" default
if use debug ; then
_add_line "libs=\"" debug
dodir /usr/$(get_libdir)/boost-${MAJOR_PV}-debug || die
for f in $(ls -1 ${LIBRARY_TARGETS} | grep debug) ; do
dosym ../${f} /usr/$(get_libdir)/boost-${MAJOR_PV}-debug/${f/-${MAJOR_PV}-debug} || die
_add_line "/usr/$(get_libdir)/${f}" debug
done
_add_line "\"" debug
_add_line "includes=\"/usr/include/boost-${MAJOR_PV}/boost\"" debug
_add_line "suffix=\"-debug\"" debug
fi
_add_line "includes=\"/usr/include/boost-${MAJOR_PV}/boost\"" default
if use tools; then
cd "${S}/dist/bin" || die
# Append version postfix to binaries for slotting
_add_line "bins=\""
for b in * ; do
newbin "${b}" "${b}-${MAJOR_PV}" || die
_add_line "/usr/bin/${b}-${MAJOR_PV}"
done
_add_line "\""
cd "${S}/dist" || die
insinto /usr/share || die
doins -r share/boostbook || die
# Append version postfix for slotting
mv "${D}/usr/share/boostbook" "${D}/usr/share/boostbook-${MAJOR_PV}" || die
_add_line "dirs=\"/usr/share/boostbook-${MAJOR_PV}\""
fi
cd "${S}/status" || die
if [ -f regress.log ] ; then
docinto status || die
dohtml *.html ../boost.png || die
dodoc regress.log || die
fi
use python && python_need_rebuild
# boost's build system truely sucks for not having a destdir. Because for
# this reason we are forced to build with a prefix that includes the
# DESTROOT, dynamic libraries on Darwin end messed up, referencing the
# DESTROOT instread of the actual EPREFIX. There is no way out of here
# but to do it the dirty way of manually setting the right install_names.
[[ -z ${ED+set} ]] && local ED=${D%/}${EPREFIX}/
if [[ ${CHOST} == *-darwin* ]] ; then
einfo "Working around completely broken build-system(tm)"
for d in "${ED}"usr/lib/*.dylib ; do
if [[ -f ${d} ]] ; then
# fix the "soname"
ebegin " correcting install_name of ${d#${ED}}"
install_name_tool -id "/${d#${D}}" "${d}"
eend $?
# fix references to other libs
refs=$(otool -XL "${d}" | \
sed -e '1d' -e 's/^\t//' | \
grep "^libboost_" | \
cut -f1 -d' ')
for r in ${refs} ; do
ebegin " correcting reference to ${r}"
install_name_tool -change \
"${r}" \
"${EPREFIX}/usr/lib/${r}" \
"${d}"
eend $?
done
fi
done
fi
}
src_test() {
export BOOST_ROOT=${S}
cd "${S}/tools/regression/build" || die
einfo "Using the following command to build test helpers: "
einfo "${BJAM} -q -d+2 gentoorelease ${OPTIONS} process_jam_log compiler_status"
${BJAM} -q -d+2 \
gentoorelease \
${OPTIONS} \
process_jam_log compiler_status \
|| die "building regression test helpers failed"
cd "${S}/status" || die
# Some of the test-checks seem to rely on regexps
export LC_ALL="C"
# The following is largely taken from tools/regression/run_tests.sh,
# but adapted to our needs.
# Run the tests & write them into a file for postprocessing
einfo "Using the following command to test: "
einfo "${BJAM} ${OPTIONS} --dump-tests"
${BJAM} \
${OPTIONS} \
--dump-tests 2>&1 | tee regress.log || die
# Postprocessing
cat regress.log | "${S}/tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease/pch-off/process_jam_log" --v2
if test $? != 0 ; then
die "Postprocessing the build log failed"
fi
cat > "${S}/status/comment.html" <<- __EOF__
<p>Tests are run on a <a href="http://www.gentoo.org">Gentoo</a> system.</p>
__EOF__
# Generate the build log html summary page
"${S}/tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease/pch-off/compiler_status" --v2 \
--comment "${S}/status/comment.html" "${S}" \
cs-$(uname).html cs-$(uname)-links.html
if test $? != 0 ; then
die "Generating the build log html summary page failed"
fi
# And do some cosmetic fixes :)
sed -i -e 's|http://www.boost.org/boost.png|boost.png|' *.html || die
}
pkg_postinst() {
if use eselect ; then
eselect boost update || ewarn "eselect boost update failed."
fi
if [ ! -h "${ROOT}/etc/eselect/boost/active" ] ; then
elog "No active boost version found. Calling eselect to select one..."
eselect boost update || ewarn "eselect boost update failed."
fi
}

@ -1,490 +0,0 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.42.0.ebuild,v 1.6 2011/07/15 16:27:59 mattst88 Exp $
EAPI="2"
inherit python flag-o-matic multilib toolchain-funcs versionator check-reqs
MY_P=${PN}_$(replace_all_version_separators _)
DESCRIPTION="Boost Libraries for C++"
HOMEPAGE="http://www.boost.org/"
SRC_URI="mirror://sourceforge/boost/${MY_P}.tar.bz2"
LICENSE="Boost-1.0"
SLOT="$(get_version_component_range 1-2)"
IUSE="debug doc +eselect icu mpi python static-libs test tools"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
RDEPEND="icu? ( >=dev-libs/icu-3.3 )
mpi? ( || ( sys-cluster/openmpi[cxx] sys-cluster/mpich2[cxx,threads] ) )
sys-libs/zlib
python? ( dev-lang/python )
!!<=dev-libs/boost-1.35.0-r2
>=app-admin/eselect-boost-0.3"
DEPEND="${RDEPEND}
dev-util/boost-build:${SLOT}"
S=${WORKDIR}/${MY_P}
MAJOR_PV=$(replace_all_version_separators _ ${SLOT})
BJAM="bjam-${MAJOR_PV}"
# Usage:
# _add_line <line-to-add> <profile>
# ... to add to specific profile
# or
# _add_line <line-to-add>
# ... to add to all profiles for which the use flag set
_add_line() {
if [ -z "$2" ] ; then
echo "${1}" >> "${D}/usr/share/boost-eselect/profiles/${SLOT}/default"
use debug && echo "${1}" >> "${D}/usr/share/boost-eselect/profiles/${SLOT}/debug"
else
echo "${1}" >> "${D}/usr/share/boost-eselect/profiles/${SLOT}/${2}"
fi
}
pkg_setup() {
# It doesn't compile with USE="python mpi" and python-3 (bug 295705)
if use python && use mpi ; then
if [[ "$(python_get_version --major)" != "2" ]]; then
eerror "The Boost.MPI python bindings do not support any other python version"
eerror "than 2.x. Please either use eselect to select a python 2.x version or"
eerror "disable the python and/or mpi use flag for =${CATEGORY}/${PF}."
die "unsupported python version"
fi
fi
if use test ; then
CHECKREQS_DISK_BUILD="1024"
check_reqs
ewarn "The tests may take several hours on a recent machine"
ewarn "but they will not fail (unless something weird happens ;-)"
ewarn "This is because the tests depend on the used compiler/-version"
ewarn "and the platform and upstream says that this is normal."
ewarn "If you are interested in the results, please take a look at the"
ewarn "generated results page:"
ewarn " ${ROOT}usr/share/doc/${PF}/status/cs-$(uname).html"
ebeep 5
fi
if use debug ; then
ewarn "The debug USE-flag means that a second set of the boost libraries"
ewarn "will be built containing debug-symbols. You'll be able to select them"
ewarn "using the boost-eselect module. But even though the optimization flags"
ewarn "you might have set are not stripped, there will be a performance"
ewarn "penalty and linking other packages against the debug version"
ewarn "of boost is _not_ recommended."
fi
}
src_prepare() {
epatch "${FILESDIR}/remove-toolset-${PV}.patch"
# bug 291660
epatch "${FILESDIR}/boost-${PV}-parameter-needs-python.patch"
# This enables building the boost.random library with /dev/urandom support
if [[ -e /dev/urandom ]] ; then
mkdir -p libs/random/build
cp "${FILESDIR}/random-Jamfile" libs/random/build/Jamfile.v2
# yeah, we WANT it to work on non-Linux too
sed -i -e 's/#ifdef __linux__/#if 1/' libs/random/random_device.cpp || die
fi
}
src_configure() {
einfo "Writing new user-config.jam"
local compiler compilerVersion compilerExecutable mpi
if [[ ${CHOST} == *-darwin* ]] ; then
compiler=darwin
compilerVersion=$(gcc-fullversion)
compilerExecutable=$(tc-getCXX)
# we need to add the prefix, and in two cases this exceeds, so prepare
# for the largest possible space allocation
append-ldflags -Wl,-headerpad_max_install_names
else
compiler=gcc
compilerVersion=$(gcc-version)
compilerExecutable=$(tc-getCXX)
fi
# Using -fno-strict-aliasing to prevent possible creation of invalid code.
append-flags -fno-strict-aliasing
# bug 298489
if use ppc || use ppc64 ; then
[[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec
fi;
use mpi && mpi="using mpi ;"
if use python ; then
pystring="using python : $(python_get_version) : /usr : $(python_get_includedir) : $(python_get_libdir) ;"
fi
cat > "${S}/user-config.jam" << __EOF__
variant gentoorelease : release : <optimization>none <debug-symbols>none ;
variant gentoodebug : debug : <optimization>none ;
using ${compiler} : ${compilerVersion} : ${compilerExecutable} : <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
${pystring}
${mpi}
__EOF__
# Maintainer information:
# The debug-symbols=none and optimization=none
# are not official upstream flags but a Gentoo
# specific patch to make sure that all our
# CXXFLAGS/LDFLAGS are being respected.
# Using optimization=off would for example add
# "-O0" and override "-O2" set by the user.
# Please take a look at the boost-build ebuild
# for more infomration.
use icu && OPTIONS="-sICU_PATH=/usr"
use mpi || OPTIONS="${OPTIONS} --without-mpi"
use python || OPTIONS="${OPTIONS} --without-python"
# https://svn.boost.org/trac/boost/attachment/ticket/2597/add-disable-long-double.patch
if use sparc || { use mips && [[ ${ABI} = "o32" ]]; } || use hppa || use arm || use x86-fbsd || use sh; then
OPTIONS="${OPTIONS} --disable-long-double"
fi
OPTIONS="${OPTIONS} pch=off --user-config=\"${S}/user-config.jam\" --boost-build=/usr/share/boost-build-${MAJOR_PV} --prefix=\"${D}/usr\" --layout=versioned"
if use static-libs ; then
LINK_OPTS="link=shared,static"
LIBRARY_TARGETS="*.a *$(get_libname)"
else
LINK_OPTS="link=shared"
#there is no dynamicly linked version of libboost_test_exec_monitor
LIBRARY_TARGETS="libboost_test_exec_monitor*.a *$(get_libname)"
fi
}
src_compile() {
jobs=$( echo " ${MAKEOPTS} " | \
sed -e 's/ --jobs[= ]/ -j /g' \
-e 's/ -j \([1-9][0-9]*\)/ -j\1/g' \
-e 's/ -j\>/ -j1/g' | \
( while read -d ' ' j ; do if [[ "${j#-j}" = "$j" ]]; then continue; fi; jobs="${j#-j}"; done; echo ${jobs} ) )
if [[ "${jobs}" != "" ]]; then NUMJOBS="-j"${jobs}; fi;
export BOOST_ROOT="${S}"
einfo "Using the following command to build: "
einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoorelease ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared"
${BJAM} ${NUMJOBS} -q -d+2 \
gentoorelease \
${OPTIONS} \
threading=single,multi ${LINK_OPTS} runtime-link=shared \
|| die "building boost failed"
# ... and do the whole thing one more time to get the debug libs
if use debug ; then
einfo "Using the following command to build: "
einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoodebug ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared --buildid=debug"
${BJAM} ${NUMJOBS} -q -d+2 \
gentoodebug \
${OPTIONS} \
threading=single,multi ${LINK_OPTS} runtime-link=shared \
--buildid=debug \
|| die "building boost failed"
fi
if use tools; then
cd "${S}/tools/"
einfo "Using the following command to build the tools: "
einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoorelease ${OPTIONS}"
${BJAM} ${NUMJOBS} -q -d+2\
gentoorelease \
${OPTIONS} \
|| die "building tools failed"
fi
}
src_install () {
export BOOST_ROOT="${S}"
einfo "Using the following command to install: "
einfo "${BJAM} -q -d+2 gentoorelease ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared --includedir=\"${D}/usr/include\" --libdir=\"${D}/usr/$(get_libdir)\" install"
${BJAM} -q -d+2 \
gentoorelease \
${OPTIONS} \
threading=single,multi ${LINK_OPTS} runtime-link=shared \
--includedir="${D}/usr/include" \
--libdir="${D}/usr/$(get_libdir)" \
install || die "install failed for options '${OPTIONS}'"
if use debug ; then
einfo "Using the following command to install: "
einfo "${BJAM} -q -d+2 gentoodebug ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared --includedir=\"${D}/usr/include\" --libdir=\"${D}/usr/$(get_libdir)\" --buildid=debug"
${BJAM} -q -d+2 \
gentoodebug \
${OPTIONS} \
threading=single,multi ${LINK_OPTS} runtime-link=shared \
--includedir="${D}/usr/include" \
--libdir="${D}/usr/$(get_libdir)" \
--buildid=debug \
install || die "install failed for options '${OPTIONS}'"
fi
use python || rm -rf "${D}/usr/include/boost-${MAJOR_PV}/boost"/python* || die
dodir /usr/share/boost-eselect/profiles/${SLOT} || die
touch "${D}/usr/share/boost-eselect/profiles/${SLOT}/default" || die
if use debug ; then
touch "${D}/usr/share/boost-eselect/profiles/${SLOT}/debug" || die
fi
# Move the mpi.so to the right place and make sure it's slotted
if use mpi && use python; then
mkdir -p "${D}$(python_get_sitedir)/boost_${MAJOR_PV}" || die
mv "${D}/usr/$(get_libdir)/mpi.so" "${D}$(python_get_sitedir)/boost_${MAJOR_PV}/" || die
touch "${D}$(python_get_sitedir)/boost_${MAJOR_PV}/__init__.py" || die
_add_line "python=\"$(python_get_sitedir)/boost_${MAJOR_PV}/mpi.so\""
fi
if use doc ; then
find libs/*/* -iname "test" -or -iname "src" | xargs rm -rf
dohtml \
-A pdf,txt,cpp,hpp \
*.{htm,html,png,css} \
-r doc more people wiki || die
dohtml \
-A pdf,txt \
-r tools || die
insinto /usr/share/doc/${PF}/html
doins -r libs || die
# To avoid broken links
insinto /usr/share/doc/${PF}/html
doins LICENSE_1_0.txt || die
dosym /usr/include/boost-${MAJOR_PV}/boost /usr/share/doc/${PF}/html/boost || die
fi
cd "${D}/usr/$(get_libdir)" || die
# Remove (unversioned) symlinks
# And check for what we remove to catch bugs
# got a better idea how to do it? tell me!
for f in $(ls -1 ${LIBRARY_TARGETS} | grep -v "${MAJOR_PV}") ; do
if [ ! -h "${f}" ] ; then
eerror "Ups, tried to remove '${f}' which is a a real file instead of a symlink"
die "slotting/naming of the libs broken!"
fi
rm "${f}" || die
done
# The threading libs obviously always gets the "-mt" (multithreading) tag
# some packages seem to have a problem with it. Creating symlinks...
if use static-libs ; then
THREAD_LIBS="libboost_thread-mt-${MAJOR_PV}.a libboost_thread-mt-${MAJOR_PV}$(get_libname)"
else
THREAD_LIBS="libboost_thread-mt-${MAJOR_PV}$(get_libname)"
fi
for lib in ${THREAD_LIBS} ; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})" || die
done
# The same goes for the mpi libs
if use mpi ; then
if use static-libs ; then
MPI_LIBS="libboost_mpi-mt-${MAJOR_PV}.a libboost_mpi-mt-${MAJOR_PV}$(get_libname)"
else
MPI_LIBS="libboost_mpi-mt-${MAJOR_PV}$(get_libname)"
fi
for lib in ${MPI_LIBS} ; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})" || die
done
fi
if use debug ; then
if use static-libs ; then
THREAD_DEBUG_LIBS="libboost_thread-mt-${MAJOR_PV}-debug$(get_libname) libboost_thread-mt-${MAJOR_PV}-debug.a"
else
THREAD_DEBUG_LIBS="libboost_thread-mt-${MAJOR_PV}-debug$(get_libname)"
fi
for lib in ${THREAD_DEBUG_LIBS} ; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})" || die
done
if use mpi ; then
if use static-libs ; then
MPI_DEBUG_LIBS="libboost_mpi-mt-${MAJOR_PV}-debug.a libboost_mpi-mt-${MAJOR_PV}-debug$(get_libname)"
else
MPI_DEBUG_LIBS="libboost_mpi-mt-${MAJOR_PV}-debug$(get_libname)"
fi
for lib in ${MPI_DEBUG_LIBS} ; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})" || die
done
fi
fi
# Create a subdirectory with completely unversioned symlinks
# and store the names in the profiles-file for eselect
dodir /usr/$(get_libdir)/boost-${MAJOR_PV} || die
_add_line "libs=\"" default
for f in $(ls -1 ${LIBRARY_TARGETS} | grep -v debug) ; do
dosym ../${f} /usr/$(get_libdir)/boost-${MAJOR_PV}/${f/-${MAJOR_PV}} || die
_add_line "/usr/$(get_libdir)/${f}" default
done
_add_line "\"" default
if use debug ; then
_add_line "libs=\"" debug
dodir /usr/$(get_libdir)/boost-${MAJOR_PV}-debug || die
for f in $(ls -1 ${LIBRARY_TARGETS} | grep debug) ; do
dosym ../${f} /usr/$(get_libdir)/boost-${MAJOR_PV}-debug/${f/-${MAJOR_PV}-debug} || die
_add_line "/usr/$(get_libdir)/${f}" debug
done
_add_line "\"" debug
_add_line "includes=\"/usr/include/boost-${MAJOR_PV}/boost\"" debug
_add_line "suffix=\"-debug\"" debug
fi
_add_line "includes=\"/usr/include/boost-${MAJOR_PV}/boost\"" default
if use tools; then
cd "${S}/dist/bin" || die
# Append version postfix to binaries for slotting
_add_line "bins=\""
for b in * ; do
newbin "${b}" "${b}-${MAJOR_PV}" || die
_add_line "/usr/bin/${b}-${MAJOR_PV}"
done
_add_line "\""
cd "${S}/dist" || die
insinto /usr/share || die
doins -r share/boostbook || die
# Append version postfix for slotting
mv "${D}/usr/share/boostbook" "${D}/usr/share/boostbook-${MAJOR_PV}" || die
_add_line "dirs=\"/usr/share/boostbook-${MAJOR_PV}\""
fi
cd "${S}/status" || die
if [ -f regress.log ] ; then
docinto status || die
dohtml *.html ../boost.png || die
dodoc regress.log || die
fi
use python && python_need_rebuild
# boost's build system truely sucks for not having a destdir. Because for
# this reason we are forced to build with a prefix that includes the
# DESTROOT, dynamic libraries on Darwin end messed up, referencing the
# DESTROOT instread of the actual EPREFIX. There is no way out of here
# but to do it the dirty way of manually setting the right install_names.
[[ -z ${ED+set} ]] && local ED=${D%/}${EPREFIX}/
if [[ ${CHOST} == *-darwin* ]] ; then
einfo "Working around completely broken build-system(tm)"
for d in "${ED}"usr/lib/*.dylib ; do
if [[ -f ${d} ]] ; then
# fix the "soname"
ebegin " correcting install_name of ${d#${ED}}"
install_name_tool -id "/${d#${D}}" "${d}"
eend $?
# fix references to other libs
refs=$(otool -XL "${d}" | \
sed -e '1d' -e 's/^\t//' | \
grep "^libboost_" | \
cut -f1 -d' ')
for r in ${refs} ; do
ebegin " correcting reference to ${r}"
install_name_tool -change \
"${r}" \
"${EPREFIX}/usr/lib/${r}" \
"${d}"
eend $?
done
fi
done
fi
}
src_test() {
export BOOST_ROOT=${S}
cd "${S}/tools/regression/build" || die
einfo "Using the following command to build test helpers: "
einfo "${BJAM} -q -d+2 gentoorelease ${OPTIONS} process_jam_log compiler_status"
${BJAM} -q -d+2 \
gentoorelease \
${OPTIONS} \
process_jam_log compiler_status \
|| die "building regression test helpers failed"
cd "${S}/status" || die
# Some of the test-checks seem to rely on regexps
export LC_ALL="C"
# The following is largely taken from tools/regression/run_tests.sh,
# but adapted to our needs.
# Run the tests & write them into a file for postprocessing
einfo "Using the following command to test: "
einfo "${BJAM} ${OPTIONS} --dump-tests"
${BJAM} \
${OPTIONS} \
--dump-tests 2>&1 | tee regress.log || die
# Postprocessing
cat regress.log | "${S}/tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease/pch-off/process_jam_log" --v2
if test $? != 0 ; then
die "Postprocessing the build log failed"
fi
cat > "${S}/status/comment.html" <<- __EOF__
<p>Tests are run on a <a href="http://www.gentoo.org">Gentoo</a> system.</p>
__EOF__
# Generate the build log html summary page
"${S}/tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease/pch-off/compiler_status" --v2 \
--comment "${S}/status/comment.html" "${S}" \
cs-$(uname).html cs-$(uname)-links.html
if test $? != 0 ; then
die "Generating the build log html summary page failed"
fi
# And do some cosmetic fixes :)
sed -i -e 's|http://www.boost.org/boost.png|boost.png|' *.html || die
}
pkg_postinst() {
if use eselect ; then
eselect boost update || ewarn "eselect boost update failed."
fi
if [ ! -h "${ROOT}/etc/eselect/boost/active" ] ; then
elog "No active boost version found. Calling eselect to select one..."
eselect boost update || ewarn "eselect boost update failed."
fi
}

@ -1,486 +0,0 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.45.0.ebuild,v 1.8 2012/01/08 11:42:28 hwoarang Exp $
EAPI="2"
inherit python flag-o-matic multilib toolchain-funcs versionator check-reqs
MY_P=${PN}_$(replace_all_version_separators _)
DESCRIPTION="Boost Libraries for C++"
HOMEPAGE="http://www.boost.org/"
SRC_URI="mirror://sourceforge/boost/${MY_P}.tar.bz2"
LICENSE="Boost-1.0"
SLOT="$(get_version_component_range 1-2)"
IUSE="debug doc +eselect icu mpi python static-libs test tools"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
RDEPEND="icu? ( >=dev-libs/icu-3.3 )
mpi? ( || ( sys-cluster/openmpi[cxx] sys-cluster/mpich2[cxx,threads] ) )
sys-libs/zlib
python? ( dev-lang/python )
!!<=dev-libs/boost-1.35.0-r2
>=app-admin/eselect-boost-0.3"
DEPEND="${RDEPEND}
dev-util/boost-build:${SLOT}"
S=${WORKDIR}/${MY_P}
MAJOR_PV=$(replace_all_version_separators _ ${SLOT})
BJAM="bjam-${MAJOR_PV}"
# Usage:
# _add_line <line-to-add> <profile>
# ... to add to specific profile
# or
# _add_line <line-to-add>
# ... to add to all profiles for which the use flag set
_add_line() {
if [ -z "$2" ] ; then
echo "${1}" >> "${D}/usr/share/boost-eselect/profiles/${SLOT}/default"
use debug && echo "${1}" >> "${D}/usr/share/boost-eselect/profiles/${SLOT}/debug"
else
echo "${1}" >> "${D}/usr/share/boost-eselect/profiles/${SLOT}/${2}"
fi
}
pkg_setup() {
# It doesn't compile with USE="python mpi" and python-3 (bug 295705)
if use python && use mpi ; then
if [[ "$(python_get_version --major)" != "2" ]]; then
eerror "The Boost.MPI python bindings do not support any other python version"
eerror "than 2.x. Please either use eselect to select a python 2.x version or"
eerror "disable the python and/or mpi use flag for =${CATEGORY}/${PF}."
die "unsupported python version"
fi
fi
if use test ; then
CHECKREQS_DISK_BUILD="15G"
check_reqs
ewarn "The tests may take several hours on a recent machine"
ewarn "but they will not fail (unless something weird happens ;-)"
ewarn "This is because the tests depend on the used compiler/-version"
ewarn "and the platform and upstream says that this is normal."
ewarn "If you are interested in the results, please take a look at the"
ewarn "generated results page:"
ewarn " ${ROOT}usr/share/doc/${PF}/status/cs-$(uname).html"
ebeep 5
fi
if use debug ; then
ewarn "The debug USE-flag means that a second set of the boost libraries"
ewarn "will be built containing debug-symbols. You'll be able to select them"
ewarn "using the boost-eselect module. But even though the optimization flags"
ewarn "you might have set are not stripped, there will be a performance"
ewarn "penalty and linking other packages against the debug version"
ewarn "of boost is _not_ recommended."
fi
}
src_prepare() {
epatch "${FILESDIR}/remove-toolset-${PV}.patch"
epatch "${FILESDIR}/${P}-lambda_bind.patch"
# This enables building the boost.random library with /dev/urandom support
if [[ -e /dev/urandom ]] ; then
mkdir -p libs/random/build
cp "${FILESDIR}/random-Jamfile-${PV}" libs/random/build/Jamfile.v2
fi
}
src_configure() {
einfo "Writing new user-config.jam"
local compiler compilerVersion compilerExecutable mpi
if [[ ${CHOST} == *-darwin* ]] ; then
compiler=darwin
compilerVersion=$(gcc-fullversion)
compilerExecutable=$(tc-getCXX)
# we need to add the prefix, and in two cases this exceeds, so prepare
# for the largest possible space allocation
append-ldflags -Wl,-headerpad_max_install_names
else
compiler=gcc
compilerVersion=$(gcc-version)
compilerExecutable=$(tc-getCXX)
fi
# Using -fno-strict-aliasing to prevent possible creation of invalid code.
append-flags -fno-strict-aliasing
# bug 298489
if use ppc || use ppc64 ; then
[[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec
fi;
use mpi && mpi="using mpi ;"
if use python ; then
pystring="using python : $(python_get_version) : /usr : $(python_get_includedir) : $(python_get_libdir) ;"
fi
cat > "${S}/user-config.jam" << __EOF__
variant gentoorelease : release : <optimization>none <debug-symbols>none ;
variant gentoodebug : debug : <optimization>none ;
using ${compiler} : ${compilerVersion} : ${compilerExecutable} : <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
${pystring}
${mpi}
__EOF__
# Maintainer information:
# The debug-symbols=none and optimization=none
# are not official upstream flags but a Gentoo
# specific patch to make sure that all our
# CXXFLAGS/LDFLAGS are being respected.
# Using optimization=off would for example add
# "-O0" and override "-O2" set by the user.
# Please take a look at the boost-build ebuild
# for more infomration.
use icu && OPTIONS="-sICU_PATH=/usr"
use mpi || OPTIONS="${OPTIONS} --without-mpi"
use python || OPTIONS="${OPTIONS} --without-python"
# https://svn.boost.org/trac/boost/attachment/ticket/2597/add-disable-long-double.patch
if use sparc || { use mips && [[ ${ABI} = "o32" ]]; } || use hppa || use arm || use x86-fbsd || use sh; then
OPTIONS="${OPTIONS} --disable-long-double"
fi
OPTIONS="${OPTIONS} pch=off --user-config=\"${S}/user-config.jam\" --boost-build=/usr/share/boost-build-${MAJOR_PV} --prefix=\"${D}/usr\" --layout=versioned"
if use static-libs ; then
LINK_OPTS="link=shared,static"
LIBRARY_TARGETS="*.a *$(get_libname)"
else
LINK_OPTS="link=shared"
#there is no dynamicly linked version of libboost_test_exec_monitor
LIBRARY_TARGETS="libboost_test_exec_monitor*.a *$(get_libname)"
fi
}
src_compile() {
jobs=$( echo " ${MAKEOPTS} " | \
sed -e 's/ --jobs[= ]/ -j /g' \
-e 's/ -j \([1-9][0-9]*\)/ -j\1/g' \
-e 's/ -j\>/ -j1/g' | \
( while read -d ' ' j ; do if [[ "${j#-j}" = "$j" ]]; then continue; fi; jobs="${j#-j}"; done; echo ${jobs} ) )
if [[ "${jobs}" != "" ]]; then NUMJOBS="-j"${jobs}; fi;
export BOOST_ROOT="${S}"
einfo "Using the following command to build: "
einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoorelease ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared"
${BJAM} ${NUMJOBS} -q -d+2 \
gentoorelease \
${OPTIONS} \
threading=single,multi ${LINK_OPTS} runtime-link=shared \
|| die "building boost failed"
# ... and do the whole thing one more time to get the debug libs
if use debug ; then
einfo "Using the following command to build: "
einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoodebug ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared --buildid=debug"
${BJAM} ${NUMJOBS} -q -d+2 \
gentoodebug \
${OPTIONS} \
threading=single,multi ${LINK_OPTS} runtime-link=shared \
--buildid=debug \
|| die "building boost failed"
fi
if use tools; then
cd "${S}/tools/"
einfo "Using the following command to build the tools: "
einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoorelease ${OPTIONS}"
${BJAM} ${NUMJOBS} -q -d+2\
gentoorelease \
${OPTIONS} \
|| die "building tools failed"
fi
}
src_install () {
export BOOST_ROOT="${S}"
einfo "Using the following command to install: "
einfo "${BJAM} -q -d+2 gentoorelease ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared --includedir=\"${D}/usr/include\" --libdir=\"${D}/usr/$(get_libdir)\" install"
${BJAM} -q -d+2 \
gentoorelease \
${OPTIONS} \
threading=single,multi ${LINK_OPTS} runtime-link=shared \
--includedir="${D}/usr/include" \
--libdir="${D}/usr/$(get_libdir)" \
install || die "install failed for options '${OPTIONS}'"
if use debug ; then
einfo "Using the following command to install: "
einfo "${BJAM} -q -d+2 gentoodebug ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared --includedir=\"${D}/usr/include\" --libdir=\"${D}/usr/$(get_libdir)\" --buildid=debug"
${BJAM} -q -d+2 \
gentoodebug \
${OPTIONS} \
threading=single,multi ${LINK_OPTS} runtime-link=shared \
--includedir="${D}/usr/include" \
--libdir="${D}/usr/$(get_libdir)" \
--buildid=debug \
install || die "install failed for options '${OPTIONS}'"
fi
use python || rm -rf "${D}/usr/include/boost-${MAJOR_PV}/boost"/python* || die
dodir /usr/share/boost-eselect/profiles/${SLOT} || die
touch "${D}/usr/share/boost-eselect/profiles/${SLOT}/default" || die
if use debug ; then
touch "${D}/usr/share/boost-eselect/profiles/${SLOT}/debug" || die
fi
# Move the mpi.so to the right place and make sure it's slotted
if use mpi && use python; then
mkdir -p "${D}$(python_get_sitedir)/boost_${MAJOR_PV}" || die
mv "${D}/usr/$(get_libdir)/mpi.so" "${D}$(python_get_sitedir)/boost_${MAJOR_PV}/" || die
touch "${D}$(python_get_sitedir)/boost_${MAJOR_PV}/__init__.py" || die
_add_line "python=\"$(python_get_sitedir)/boost_${MAJOR_PV}/mpi.so\""
fi
if use doc ; then
find libs/*/* -iname "test" -or -iname "src" | xargs rm -rf
dohtml \
-A pdf,txt,cpp,hpp \
*.{htm,html,png,css} \
-r doc || die
dohtml \
-A pdf,txt \
-r tools || die
insinto /usr/share/doc/${PF}/html
doins -r libs || die
# To avoid broken links
insinto /usr/share/doc/${PF}/html
doins LICENSE_1_0.txt || die
dosym /usr/include/boost-${MAJOR_PV}/boost /usr/share/doc/${PF}/html/boost || die
fi
cd "${D}/usr/$(get_libdir)" || die
# Remove (unversioned) symlinks
# And check for what we remove to catch bugs
# got a better idea how to do it? tell me!
for f in $(ls -1 ${LIBRARY_TARGETS} | grep -v "${MAJOR_PV}") ; do
if [ ! -h "${f}" ] ; then
eerror "Ups, tried to remove '${f}' which is a a real file instead of a symlink"
die "slotting/naming of the libs broken!"
fi
rm "${f}" || die
done
# The threading libs obviously always gets the "-mt" (multithreading) tag
# some packages seem to have a problem with it. Creating symlinks...
if use static-libs ; then
THREAD_LIBS="libboost_thread-mt-${MAJOR_PV}.a libboost_thread-mt-${MAJOR_PV}$(get_libname)"
else
THREAD_LIBS="libboost_thread-mt-${MAJOR_PV}$(get_libname)"
fi
for lib in ${THREAD_LIBS} ; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})" || die
done
# The same goes for the mpi libs
if use mpi ; then
if use static-libs ; then
MPI_LIBS="libboost_mpi-mt-${MAJOR_PV}.a libboost_mpi-mt-${MAJOR_PV}$(get_libname)"
else
MPI_LIBS="libboost_mpi-mt-${MAJOR_PV}$(get_libname)"
fi
for lib in ${MPI_LIBS} ; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})" || die
done
fi
if use debug ; then
if use static-libs ; then
THREAD_DEBUG_LIBS="libboost_thread-mt-${MAJOR_PV}-debug$(get_libname) libboost_thread-mt-${MAJOR_PV}-debug.a"
else
THREAD_DEBUG_LIBS="libboost_thread-mt-${MAJOR_PV}-debug$(get_libname)"
fi
for lib in ${THREAD_DEBUG_LIBS} ; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})" || die
done
if use mpi ; then
if use static-libs ; then
MPI_DEBUG_LIBS="libboost_mpi-mt-${MAJOR_PV}-debug.a libboost_mpi-mt-${MAJOR_PV}-debug$(get_libname)"
else
MPI_DEBUG_LIBS="libboost_mpi-mt-${MAJOR_PV}-debug$(get_libname)"
fi
for lib in ${MPI_DEBUG_LIBS} ; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})" || die
done
fi
fi
# Create a subdirectory with completely unversioned symlinks
# and store the names in the profiles-file for eselect
dodir /usr/$(get_libdir)/boost-${MAJOR_PV} || die
_add_line "libs=\"" default
for f in $(ls -1 ${LIBRARY_TARGETS} | grep -v debug) ; do
dosym ../${f} /usr/$(get_libdir)/boost-${MAJOR_PV}/${f/-${MAJOR_PV}} || die
_add_line "/usr/$(get_libdir)/${f}" default
done
_add_line "\"" default
if use debug ; then
_add_line "libs=\"" debug
dodir /usr/$(get_libdir)/boost-${MAJOR_PV}-debug || die
for f in $(ls -1 ${LIBRARY_TARGETS} | grep debug) ; do
dosym ../${f} /usr/$(get_libdir)/boost-${MAJOR_PV}-debug/${f/-${MAJOR_PV}-debug} || die
_add_line "/usr/$(get_libdir)/${f}" debug
done
_add_line "\"" debug
_add_line "includes=\"/usr/include/boost-${MAJOR_PV}/boost\"" debug
_add_line "suffix=\"-debug\"" debug
fi
_add_line "includes=\"/usr/include/boost-${MAJOR_PV}/boost\"" default
if use tools; then
cd "${S}/dist/bin" || die
# Append version postfix to binaries for slotting
_add_line "bins=\""
for b in * ; do
newbin "${b}" "${b}-${MAJOR_PV}" || die
_add_line "/usr/bin/${b}-${MAJOR_PV}"
done
_add_line "\""
cd "${S}/dist" || die
insinto /usr/share || die
doins -r share/boostbook || die
# Append version postfix for slotting
mv "${D}/usr/share/boostbook" "${D}/usr/share/boostbook-${MAJOR_PV}" || die
_add_line "dirs=\"/usr/share/boostbook-${MAJOR_PV}\""
fi
cd "${S}/status" || die
if [ -f regress.log ] ; then
docinto status || die
dohtml *.html ../boost.png || die
dodoc regress.log || die
fi
use python && python_need_rebuild
# boost's build system truely sucks for not having a destdir. Because for
# this reason we are forced to build with a prefix that includes the
# DESTROOT, dynamic libraries on Darwin end messed up, referencing the
# DESTROOT instread of the actual EPREFIX. There is no way out of here
# but to do it the dirty way of manually setting the right install_names.
[[ -z ${ED+set} ]] && local ED=${D%/}${EPREFIX}/
if [[ ${CHOST} == *-darwin* ]] ; then
einfo "Working around completely broken build-system(tm)"
for d in "${ED}"usr/lib/*.dylib ; do
if [[ -f ${d} ]] ; then
# fix the "soname"
ebegin " correcting install_name of ${d#${ED}}"
install_name_tool -id "/${d#${D}}" "${d}"
eend $?
# fix references to other libs
refs=$(otool -XL "${d}" | \
sed -e '1d' -e 's/^\t//' | \
grep "^libboost_" | \
cut -f1 -d' ')
for r in ${refs} ; do
ebegin " correcting reference to ${r}"
install_name_tool -change \
"${r}" \
"${EPREFIX}/usr/lib/${r}" \
"${d}"
eend $?
done
fi
done
fi
}
src_test() {
export BOOST_ROOT=${S}
cd "${S}/tools/regression/build" || die
einfo "Using the following command to build test helpers: "
einfo "${BJAM} -q -d+2 gentoorelease ${OPTIONS} process_jam_log compiler_status"
${BJAM} -q -d+2 \
gentoorelease \
${OPTIONS} \
process_jam_log compiler_status \
|| die "building regression test helpers failed"
cd "${S}/status" || die
# Some of the test-checks seem to rely on regexps
export LC_ALL="C"
# The following is largely taken from tools/regression/run_tests.sh,
# but adapted to our needs.
# Run the tests & write them into a file for postprocessing
einfo "Using the following command to test: "
einfo "${BJAM} ${OPTIONS} --dump-tests"
${BJAM} \
${OPTIONS} \
--dump-tests 2>&1 | tee regress.log || die
# Postprocessing
cat regress.log | "${S}/tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease/pch-off/process_jam_log" --v2
if test $? != 0 ; then
die "Postprocessing the build log failed"
fi
cat > "${S}/status/comment.html" <<- __EOF__
<p>Tests are run on a <a href="http://www.gentoo.org">Gentoo</a> system.</p>
__EOF__
# Generate the build log html summary page
"${S}/tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease/pch-off/compiler_status" --v2 \
--comment "${S}/status/comment.html" "${S}" \
cs-$(uname).html cs-$(uname)-links.html
if test $? != 0 ; then
die "Generating the build log html summary page failed"
fi
# And do some cosmetic fixes :)
sed -i -e 's|http://www.boost.org/boost.png|boost.png|' *.html || die
}
pkg_postinst() {
if use eselect ; then
eselect boost update || ewarn "eselect boost update failed."
fi
if [ ! -h "${ROOT}/etc/eselect/boost/active" ] ; then
elog "No active boost version found. Calling eselect to select one..."
eselect boost update || ewarn "eselect boost update failed."
fi
}

@ -1,6 +1,6 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.46.1-r1.ebuild,v 1.7 2012/01/08 11:42:28 hwoarang Exp $
# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.46.1-r1.ebuild,v 1.8 2012/10/31 16:32:25 flameeyes Exp $
EAPI="2"
@ -12,7 +12,8 @@ DESCRIPTION="Boost Libraries for C++"
HOMEPAGE="http://www.boost.org/"
SRC_URI="mirror://sourceforge/boost/${MY_P}.tar.bz2"
LICENSE="Boost-1.0"
SLOT="$(get_version_component_range 1-2)"
SLOT=0
MAJOR_V="$(get_version_component_range 1-2)"
IUSE="debug doc +eselect icu mpi python static-libs test tools"
KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd"
@ -24,11 +25,11 @@ RDEPEND="icu? ( >=dev-libs/icu-3.3 )
!!<=dev-libs/boost-1.35.0-r2
>=app-admin/eselect-boost-0.3"
DEPEND="${RDEPEND}
dev-util/boost-build:${SLOT}"
=dev-util/boost-build-${MAJOR_V}*"
S=${WORKDIR}/${MY_P}
MAJOR_PV=$(replace_all_version_separators _ ${SLOT})
MAJOR_PV=$(replace_all_version_separators _ ${MAJOR_V})
BJAM="bjam-${MAJOR_PV}"
# Usage:

@ -1,487 +0,0 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.47.0-r1.ebuild,v 1.2 2012/01/08 11:42:28 hwoarang Exp $
EAPI="2"
inherit python flag-o-matic multilib toolchain-funcs versionator check-reqs
MY_P=${PN}_$(replace_all_version_separators _)
DESCRIPTION="Boost Libraries for C++"
HOMEPAGE="http://www.boost.org/"
SRC_URI="mirror://sourceforge/boost/${MY_P}.tar.bz2"
LICENSE="Boost-1.0"
SLOT="$(get_version_component_range 1-2)"
IUSE="debug doc +eselect icu mpi python static-libs test tools"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
RDEPEND="icu? ( >=dev-libs/icu-3.3 )
mpi? ( || ( sys-cluster/openmpi[cxx] sys-cluster/mpich2[cxx,threads] ) )
sys-libs/zlib
python? ( dev-lang/python )
!!<=dev-libs/boost-1.35.0-r2
>=app-admin/eselect-boost-0.3"
DEPEND="${RDEPEND}
dev-util/boost-build:${SLOT}"
S=${WORKDIR}/${MY_P}
MAJOR_PV=$(replace_all_version_separators _ ${SLOT})
BJAM="b2-${MAJOR_PV}"
# Usage:
# _add_line <line-to-add> <profile>
# ... to add to specific profile
# or
# _add_line <line-to-add>
# ... to add to all profiles for which the use flag set
_add_line() {
if [ -z "$2" ] ; then
echo "${1}" >> "${D}/usr/share/boost-eselect/profiles/${SLOT}/default"
use debug && echo "${1}" >> "${D}/usr/share/boost-eselect/profiles/${SLOT}/debug"
else
echo "${1}" >> "${D}/usr/share/boost-eselect/profiles/${SLOT}/${2}"
fi
}
pkg_setup() {
# It doesn't compile with USE="python mpi" and python-3 (bug 295705)
if use python && use mpi ; then
if [[ "$(python_get_version --major)" != "2" ]]; then
eerror "The Boost.MPI python bindings do not support any other python version"
eerror "than 2.x. Please either use eselect to select a python 2.x version or"
eerror "disable the python and/or mpi use flag for =${CATEGORY}/${PF}."
die "unsupported python version"
fi
fi
if use test ; then
CHECKREQS_DISK_BUILD="15G"
check_reqs
ewarn "The tests may take several hours on a recent machine"
ewarn "but they will not fail (unless something weird happens ;-)"
ewarn "This is because the tests depend on the used compiler/-version"
ewarn "and the platform and upstream says that this is normal."
ewarn "If you are interested in the results, please take a look at the"
ewarn "generated results page:"
ewarn " ${ROOT}usr/share/doc/${PF}/status/cs-$(uname).html"
ebeep 5
fi
if use debug ; then
ewarn "The debug USE-flag means that a second set of the boost libraries"
ewarn "will be built containing debug-symbols. You'll be able to select them"
ewarn "using the boost-eselect module. But even though the optimization flags"
ewarn "you might have set are not stripped, there will be a performance"
ewarn "penalty and linking other packages against the debug version"
ewarn "of boost is _not_ recommended."
fi
}
src_prepare() {
epatch "${FILESDIR}/remove-toolset-${PV}.patch"
epatch "${FILESDIR}/${P}-exceptions.patch"
# This enables building the boost.random library with /dev/urandom support
if [[ -e /dev/urandom ]] ; then
mkdir -p libs/random/build || die
cp "${FILESDIR}/random-Jamfile-${PV}" libs/random/build/Jamfile.v2 || die
fi
}
src_configure() {
einfo "Writing new user-config.jam"
local compiler compilerVersion compilerExecutable mpi
if [[ ${CHOST} == *-darwin* ]] ; then
compiler=darwin
compilerVersion=$(gcc-fullversion)
compilerExecutable=$(tc-getCXX)
# we need to add the prefix, and in two cases this exceeds, so prepare
# for the largest possible space allocation
append-ldflags -Wl,-headerpad_max_install_names
else
compiler=gcc
compilerVersion=$(gcc-version)
compilerExecutable=$(tc-getCXX)
fi
# Using -fno-strict-aliasing to prevent possible creation of invalid code.
append-flags -fno-strict-aliasing
# bug 298489
if use ppc || use ppc64 ; then
[[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec
fi;
use mpi && mpi="using mpi ;"
if use python ; then
pystring="using python : $(python_get_version) : /usr : $(python_get_includedir) : $(python_get_libdir) ;"
fi
cat > "${S}/user-config.jam" << __EOF__
variant gentoorelease : release : <optimization>none <debug-symbols>none ;
variant gentoodebug : debug : <optimization>none ;
using ${compiler} : ${compilerVersion} : ${compilerExecutable} : <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
${pystring}
${mpi}
__EOF__
# Maintainer information:
# The debug-symbols=none and optimization=none
# are not official upstream flags but a Gentoo
# specific patch to make sure that all our
# CXXFLAGS/LDFLAGS are being respected.
# Using optimization=off would for example add
# "-O0" and override "-O2" set by the user.
# Please take a look at the boost-build ebuild
# for more infomration.
use icu && OPTIONS="-sICU_PATH=/usr"
use icu || OPTIONS="--disable-icu"
use mpi || OPTIONS="${OPTIONS} --without-mpi"
use python || OPTIONS="${OPTIONS} --without-python"
# https://svn.boost.org/trac/boost/attachment/ticket/2597/add-disable-long-double.patch
if use sparc || { use mips && [[ ${ABI} = "o32" ]]; } || use hppa || use arm || use x86-fbsd || use sh; then
OPTIONS="${OPTIONS} --disable-long-double"
fi
OPTIONS="${OPTIONS} pch=off --user-config=\"${S}/user-config.jam\" --boost-build=/usr/share/boost-build-${MAJOR_PV} --prefix=\"${D}/usr\" --layout=versioned"
if use static-libs ; then
LINK_OPTS="link=shared,static"
LIBRARY_TARGETS="*.a *$(get_libname)"
else
LINK_OPTS="link=shared"
#there is no dynamicly linked version of libboost_test_exec_monitor and libboost_exception
LIBRARY_TARGETS="libboost_test_exec_monitor*.a libboost_exception*.a *$(get_libname)"
fi
}
src_compile() {
jobs=$( echo " ${MAKEOPTS} " | \
sed -e 's/ --jobs[= ]/ -j /g' \
-e 's/ -j \([1-9][0-9]*\)/ -j\1/g' \
-e 's/ -j\>/ -j1/g' | \
( while read -d ' ' j ; do if [[ "${j#-j}" = "$j" ]]; then continue; fi; jobs="${j#-j}"; done; echo ${jobs} ) )
if [[ "${jobs}" != "" ]]; then NUMJOBS="-j"${jobs}; fi;
export BOOST_ROOT="${S}"
einfo "Using the following command to build: "
einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoorelease ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared"
${BJAM} ${NUMJOBS} -q -d+2 \
gentoorelease \
${OPTIONS} \
threading=single,multi ${LINK_OPTS} runtime-link=shared \
|| die "building boost failed"
# ... and do the whole thing one more time to get the debug libs
if use debug ; then
einfo "Using the following command to build: "
einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoodebug ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared --buildid=debug"
${BJAM} ${NUMJOBS} -q -d+2 \
gentoodebug \
${OPTIONS} \
threading=single,multi ${LINK_OPTS} runtime-link=shared \
--buildid=debug \
|| die "building boost failed"
fi
if use tools; then
cd "${S}/tools/"
einfo "Using the following command to build the tools: "
einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoorelease ${OPTIONS}"
${BJAM} ${NUMJOBS} -q -d+2\
gentoorelease \
${OPTIONS} \
|| die "building tools failed"
fi
}
src_install () {
export BOOST_ROOT="${S}"
einfo "Using the following command to install: "
einfo "${BJAM} -q -d+2 gentoorelease ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared --includedir=\"${D}/usr/include\" --libdir=\"${D}/usr/$(get_libdir)\" install"
${BJAM} -q -d+2 \
gentoorelease \
${OPTIONS} \
threading=single,multi ${LINK_OPTS} runtime-link=shared \
--includedir="${D}/usr/include" \
--libdir="${D}/usr/$(get_libdir)" \
install || die "install failed for options '${OPTIONS}'"
if use debug ; then
einfo "Using the following command to install: "
einfo "${BJAM} -q -d+2 gentoodebug ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared --includedir=\"${D}/usr/include\" --libdir=\"${D}/usr/$(get_libdir)\" --buildid=debug"
${BJAM} -q -d+2 \
gentoodebug \
${OPTIONS} \
threading=single,multi ${LINK_OPTS} runtime-link=shared \
--includedir="${D}/usr/include" \
--libdir="${D}/usr/$(get_libdir)" \
--buildid=debug \
install || die "install failed for options '${OPTIONS}'"
fi
use python || rm -rf "${D}/usr/include/boost-${MAJOR_PV}/boost"/python* || die
dodir /usr/share/boost-eselect/profiles/${SLOT} || die
touch "${D}/usr/share/boost-eselect/profiles/${SLOT}/default" || die
if use debug ; then
touch "${D}/usr/share/boost-eselect/profiles/${SLOT}/debug" || die
fi
# Move the mpi.so to the right place and make sure it's slotted
if use mpi && use python; then
mkdir -p "${D}$(python_get_sitedir)/boost_${MAJOR_PV}" || die
mv "${D}/usr/$(get_libdir)/mpi.so" "${D}$(python_get_sitedir)/boost_${MAJOR_PV}/" || die
touch "${D}$(python_get_sitedir)/boost_${MAJOR_PV}/__init__.py" || die
_add_line "python=\"$(python_get_sitedir)/boost_${MAJOR_PV}/mpi.so\""
fi
if use doc ; then
find libs/*/* -iname "test" -or -iname "src" | xargs rm -rf
dohtml \
-A pdf,txt,cpp,hpp \
*.{htm,html,png,css} \
-r doc || die
dohtml \
-A pdf,txt \
-r tools || die
insinto /usr/share/doc/${PF}/html
doins -r libs || die
doins -r more || die
# To avoid broken links
insinto /usr/share/doc/${PF}/html
doins LICENSE_1_0.txt || die
dosym /usr/include/boost-${MAJOR_PV}/boost /usr/share/doc/${PF}/html/boost || die
fi
cd "${D}/usr/$(get_libdir)" || die
# Remove (unversioned) symlinks
# And check for what we remove to catch bugs
# got a better idea how to do it? tell me!
for f in $(ls -1 ${LIBRARY_TARGETS} | grep -v "${MAJOR_PV}") ; do
if [ ! -h "${f}" ] ; then
eerror "Ups, tried to remove '${f}' which is a a real file instead of a symlink"
die "slotting/naming of the libs broken!"
fi
rm "${f}" || die
done
# The threading libs obviously always gets the "-mt" (multithreading) tag
# some packages seem to have a problem with it. Creating symlinks...
if use static-libs ; then
THREAD_LIBS="libboost_thread-mt-${MAJOR_PV}.a libboost_thread-mt-${MAJOR_PV}$(get_libname)"
else
THREAD_LIBS="libboost_thread-mt-${MAJOR_PV}$(get_libname)"
fi
for lib in ${THREAD_LIBS} ; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})" || die
done
# The same goes for the mpi libs
if use mpi ; then
if use static-libs ; then
MPI_LIBS="libboost_mpi-mt-${MAJOR_PV}.a libboost_mpi-mt-${MAJOR_PV}$(get_libname)"
else
MPI_LIBS="libboost_mpi-mt-${MAJOR_PV}$(get_libname)"
fi
for lib in ${MPI_LIBS} ; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})" || die
done
fi
if use debug ; then
if use static-libs ; then
THREAD_DEBUG_LIBS="libboost_thread-mt-${MAJOR_PV}-debug$(get_libname) libboost_thread-mt-${MAJOR_PV}-debug.a"
else
THREAD_DEBUG_LIBS="libboost_thread-mt-${MAJOR_PV}-debug$(get_libname)"
fi
for lib in ${THREAD_DEBUG_LIBS} ; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})" || die
done
if use mpi ; then
if use static-libs ; then
MPI_DEBUG_LIBS="libboost_mpi-mt-${MAJOR_PV}-debug.a libboost_mpi-mt-${MAJOR_PV}-debug$(get_libname)"
else
MPI_DEBUG_LIBS="libboost_mpi-mt-${MAJOR_PV}-debug$(get_libname)"
fi
for lib in ${MPI_DEBUG_LIBS} ; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})" || die
done
fi
fi
# Create a subdirectory with completely unversioned symlinks
# and store the names in the profiles-file for eselect
dodir /usr/$(get_libdir)/boost-${MAJOR_PV} || die
_add_line "libs=\"" default
for f in $(ls -1 ${LIBRARY_TARGETS} | grep -v debug) ; do
dosym ../${f} /usr/$(get_libdir)/boost-${MAJOR_PV}/${f/-${MAJOR_PV}} || die
_add_line "/usr/$(get_libdir)/${f}" default
done
_add_line "\"" default
if use debug ; then
_add_line "libs=\"" debug
dodir /usr/$(get_libdir)/boost-${MAJOR_PV}-debug || die
for f in $(ls -1 ${LIBRARY_TARGETS} | grep debug) ; do
dosym ../${f} /usr/$(get_libdir)/boost-${MAJOR_PV}-debug/${f/-${MAJOR_PV}-debug} || die
_add_line "/usr/$(get_libdir)/${f}" debug
done
_add_line "\"" debug
_add_line "includes=\"/usr/include/boost-${MAJOR_PV}/boost\"" debug
_add_line "suffix=\"-debug\"" debug
fi
_add_line "includes=\"/usr/include/boost-${MAJOR_PV}/boost\"" default
if use tools; then
cd "${S}/dist/bin" || die
# Append version postfix to binaries for slotting
_add_line "bins=\""
for b in * ; do
newbin "${b}" "${b}-${MAJOR_PV}" || die
_add_line "/usr/bin/${b}-${MAJOR_PV}"
done
_add_line "\""
cd "${S}/dist" || die
insinto /usr/share || die
doins -r share/boostbook || die
# Append version postfix for slotting
mv "${D}/usr/share/boostbook" "${D}/usr/share/boostbook-${MAJOR_PV}" || die
_add_line "dirs=\"/usr/share/boostbook-${MAJOR_PV}\""
fi
cd "${S}/status" || die
if [ -f regress.log ] ; then
docinto status || die
dohtml *.html ../boost.png || die
dodoc regress.log || die
fi
use python && python_need_rebuild
# boost's build system truely sucks for not having a destdir. Because for
# this reason we are forced to build with a prefix that includes the
# DESTROOT, dynamic libraries on Darwin end messed up, referencing the
# DESTROOT instread of the actual EPREFIX. There is no way out of here
# but to do it the dirty way of manually setting the right install_names.
[[ -z ${ED+set} ]] && local ED=${D%/}${EPREFIX}/
if [[ ${CHOST} == *-darwin* ]] ; then
einfo "Working around completely broken build-system(tm)"
for d in "${ED}"usr/lib/*.dylib ; do
if [[ -f ${d} ]] ; then
# fix the "soname"
ebegin " correcting install_name of ${d#${ED}}"
install_name_tool -id "/${d#${D}}" "${d}"
eend $?
# fix references to other libs
refs=$(otool -XL "${d}" | \
sed -e '1d' -e 's/^\t//' | \
grep "^libboost_" | \
cut -f1 -d' ')
for r in ${refs} ; do
ebegin " correcting reference to ${r}"
install_name_tool -change \
"${r}" \
"${EPREFIX}/usr/lib/${r}" \
"${d}"
eend $?
done
fi
done
fi
}
src_test() {
export BOOST_ROOT=${S}
cd "${S}/tools/regression/build" || die
einfo "Using the following command to build test helpers: "
einfo "${BJAM} -q -d+2 gentoorelease ${OPTIONS} process_jam_log compiler_status"
${BJAM} -q -d+2 \
gentoorelease \
${OPTIONS} \
process_jam_log compiler_status \
|| die "building regression test helpers failed"
cd "${S}/status" || die
# Some of the test-checks seem to rely on regexps
export LC_ALL="C"
# The following is largely taken from tools/regression/run_tests.sh,
# but adapted to our needs.
# Run the tests & write them into a file for postprocessing
einfo "Using the following command to test: "
einfo "${BJAM} ${OPTIONS} --dump-tests"
${BJAM} \
${OPTIONS} \
--dump-tests 2>&1 | tee regress.log || die
# Postprocessing
cat regress.log | "${S}/tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease/pch-off/process_jam_log" --v2
if test $? != 0 ; then
die "Postprocessing the build log failed"
fi
cat > "${S}/status/comment.html" <<- __EOF__
<p>Tests are run on a <a href="http://www.gentoo.org">Gentoo</a> system.</p>
__EOF__
# Generate the build log html summary page
"${S}/tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease/pch-off/compiler_status" --v2 \
--comment "${S}/status/comment.html" "${S}" \
cs-$(uname).html cs-$(uname)-links.html
if test $? != 0 ; then
die "Generating the build log html summary page failed"
fi
# And do some cosmetic fixes :)
sed -i -e 's|http://www.boost.org/boost.png|boost.png|' *.html || die
}
pkg_postinst() {
if use eselect ; then
eselect boost update || ewarn "eselect boost update failed."
fi
if [ ! -h "${ROOT}/etc/eselect/boost/active" ] ; then
elog "No active boost version found. Calling eselect to select one..."
eselect boost update || ewarn "eselect boost update failed."
fi
}

@ -1,487 +0,0 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.47.0.ebuild,v 1.3 2012/01/08 11:42:28 hwoarang Exp $
EAPI="2"
inherit python flag-o-matic multilib toolchain-funcs versionator check-reqs
MY_P=${PN}_$(replace_all_version_separators _)
DESCRIPTION="Boost Libraries for C++"
HOMEPAGE="http://www.boost.org/"
SRC_URI="mirror://sourceforge/boost/${MY_P}.tar.bz2"
LICENSE="Boost-1.0"
SLOT="$(get_version_component_range 1-2)"
IUSE="debug doc +eselect icu mpi python static-libs test tools"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
RDEPEND="icu? ( >=dev-libs/icu-3.3 )
mpi? ( || ( sys-cluster/openmpi[cxx] sys-cluster/mpich2[cxx,threads] ) )
sys-libs/zlib
python? ( dev-lang/python )
!!<=dev-libs/boost-1.35.0-r2
>=app-admin/eselect-boost-0.3"
DEPEND="${RDEPEND}
dev-util/boost-build:${SLOT}"
S=${WORKDIR}/${MY_P}
MAJOR_PV=$(replace_all_version_separators _ ${SLOT})
BJAM="b2-${MAJOR_PV}"
# Usage:
# _add_line <line-to-add> <profile>
# ... to add to specific profile
# or
# _add_line <line-to-add>
# ... to add to all profiles for which the use flag set
_add_line() {
if [ -z "$2" ] ; then
echo "${1}" >> "${D}/usr/share/boost-eselect/profiles/${SLOT}/default"
use debug && echo "${1}" >> "${D}/usr/share/boost-eselect/profiles/${SLOT}/debug"
else
echo "${1}" >> "${D}/usr/share/boost-eselect/profiles/${SLOT}/${2}"
fi
}
pkg_setup() {
# It doesn't compile with USE="python mpi" and python-3 (bug 295705)
if use python && use mpi ; then
if [[ "$(python_get_version --major)" != "2" ]]; then
eerror "The Boost.MPI python bindings do not support any other python version"
eerror "than 2.x. Please either use eselect to select a python 2.x version or"
eerror "disable the python and/or mpi use flag for =${CATEGORY}/${PF}."
die "unsupported python version"
fi
fi
if use test ; then
CHECKREQS_DISK_BUILD="15G"
check_reqs
ewarn "The tests may take several hours on a recent machine"
ewarn "but they will not fail (unless something weird happens ;-)"
ewarn "This is because the tests depend on the used compiler/-version"
ewarn "and the platform and upstream says that this is normal."
ewarn "If you are interested in the results, please take a look at the"
ewarn "generated results page:"
ewarn " ${ROOT}usr/share/doc/${PF}/status/cs-$(uname).html"
ebeep 5
fi
if use debug ; then
ewarn "The debug USE-flag means that a second set of the boost libraries"
ewarn "will be built containing debug-symbols. You'll be able to select them"
ewarn "using the boost-eselect module. But even though the optimization flags"
ewarn "you might have set are not stripped, there will be a performance"
ewarn "penalty and linking other packages against the debug version"
ewarn "of boost is _not_ recommended."
fi
}
src_prepare() {
epatch "${FILESDIR}/remove-toolset-${PV}.patch"
epatch "${FILESDIR}/${P}-exceptions.patch"
# This enables building the boost.random library with /dev/urandom support
if [[ -e /dev/urandom ]] ; then
mkdir -p libs/random/build || die
cp "${FILESDIR}/random-Jamfile-${PV}" libs/random/build/Jamfile.v2 || die
fi
}
src_configure() {
einfo "Writing new user-config.jam"
local compiler compilerVersion compilerExecutable mpi
if [[ ${CHOST} == *-darwin* ]] ; then
compiler=darwin
compilerVersion=$(gcc-fullversion)
compilerExecutable=$(tc-getCXX)
# we need to add the prefix, and in two cases this exceeds, so prepare
# for the largest possible space allocation
append-ldflags -Wl,-headerpad_max_install_names
else
compiler=gcc
compilerVersion=$(gcc-version)
compilerExecutable=$(tc-getCXX)
fi
# Using -fno-strict-aliasing to prevent possible creation of invalid code.
append-flags -fno-strict-aliasing
# bug 298489
if use ppc || use ppc64 ; then
[[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec
fi;
use mpi && mpi="using mpi ;"
if use python ; then
pystring="using python : $(python_get_version) : /usr : $(python_get_includedir) : $(python_get_libdir) ;"
fi
cat > "${S}/user-config.jam" << __EOF__
variant gentoorelease : release : <optimization>none <debug-symbols>none ;
variant gentoodebug : debug : <optimization>none ;
using ${compiler} : ${compilerVersion} : ${compilerExecutable} : <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
${pystring}
${mpi}
__EOF__
# Maintainer information:
# The debug-symbols=none and optimization=none
# are not official upstream flags but a Gentoo
# specific patch to make sure that all our
# CXXFLAGS/LDFLAGS are being respected.
# Using optimization=off would for example add
# "-O0" and override "-O2" set by the user.
# Please take a look at the boost-build ebuild
# for more infomration.
use icu && OPTIONS="-sICU_PATH=/usr"
use icu || OPTIONS="--disable-icu"
use mpi || OPTIONS="${OPTIONS} --without-mpi"
use python || OPTIONS="${OPTIONS} --without-python"
# https://svn.boost.org/trac/boost/attachment/ticket/2597/add-disable-long-double.patch
if use sparc || { use mips && [[ ${ABI} = "o32" ]]; } || use hppa || use arm || use x86-fbsd || use sh; then
OPTIONS="${OPTIONS} --disable-long-double"
fi
OPTIONS="${OPTIONS} pch=off --user-config=\"${S}/user-config.jam\" --boost-build=/usr/share/boost-build-${MAJOR_PV} --prefix=\"${D}/usr\" --layout=versioned"
if use static-libs ; then
LINK_OPTS="link=shared,static"
LIBRARY_TARGETS="*.a *$(get_libname)"
else
LINK_OPTS="link=shared"
#there is no dynamicly linked version of libboost_test_exec_monitor and libboost_exception
LIBRARY_TARGETS="libboost_test_exec_monitor*.a libboost_exception*.a *$(get_libname)"
fi
}
src_compile() {
jobs=$( echo " ${MAKEOPTS} " | \
sed -e 's/ --jobs[= ]/ -j /g' \
-e 's/ -j \([1-9][0-9]*\)/ -j\1/g' \
-e 's/ -j\>/ -j1/g' | \
( while read -d ' ' j ; do if [[ "${j#-j}" = "$j" ]]; then continue; fi; jobs="${j#-j}"; done; echo ${jobs} ) )
if [[ "${jobs}" != "" ]]; then NUMJOBS="-j"${jobs}; fi;
export BOOST_ROOT="${S}"
einfo "Using the following command to build: "
einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoorelease ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared"
${BJAM} ${NUMJOBS} -q -d+2 \
gentoorelease \
${OPTIONS} \
threading=single,multi ${LINK_OPTS} runtime-link=shared \
|| die "building boost failed"
# ... and do the whole thing one more time to get the debug libs
if use debug ; then
einfo "Using the following command to build: "
einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoodebug ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared --buildid=debug"
${BJAM} ${NUMJOBS} -q -d+2 \
gentoodebug \
${OPTIONS} \
threading=single,multi ${LINK_OPTS} runtime-link=shared \
--buildid=debug \
|| die "building boost failed"
fi
if use tools; then
cd "${S}/tools/"
einfo "Using the following command to build the tools: "
einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoorelease ${OPTIONS}"
${BJAM} ${NUMJOBS} -q -d+2\
gentoorelease \
${OPTIONS} \
|| die "building tools failed"
fi
}
src_install () {
export BOOST_ROOT="${S}"
einfo "Using the following command to install: "
einfo "${BJAM} -q -d+2 gentoorelease ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared --includedir=\"${D}/usr/include\" --libdir=\"${D}/usr/$(get_libdir)\" install"
${BJAM} -q -d+2 \
gentoorelease \
${OPTIONS} \
threading=single,multi ${LINK_OPTS} runtime-link=shared \
--includedir="${D}/usr/include" \
--libdir="${D}/usr/$(get_libdir)" \
install || die "install failed for options '${OPTIONS}'"
if use debug ; then
einfo "Using the following command to install: "
einfo "${BJAM} -q -d+2 gentoodebug ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared --includedir=\"${D}/usr/include\" --libdir=\"${D}/usr/$(get_libdir)\" --buildid=debug"
${BJAM} -q -d+2 \
gentoodebug \
${OPTIONS} \
threading=single,multi ${LINK_OPTS} runtime-link=shared \
--includedir="${D}/usr/include" \
--libdir="${D}/usr/$(get_libdir)" \
--buildid=debug \
install || die "install failed for options '${OPTIONS}'"
fi
use python || rm -rf "${D}/usr/include/boost-${MAJOR_PV}/boost"/python* || die
dodir /usr/share/boost-eselect/profiles/${SLOT} || die
touch "${D}/usr/share/boost-eselect/profiles/${SLOT}/default" || die
if use debug ; then
touch "${D}/usr/share/boost-eselect/profiles/${SLOT}/debug" || die
fi
# Move the mpi.so to the right place and make sure it's slotted
if use mpi && use python; then
mkdir -p "${D}$(python_get_sitedir)/boost_${MAJOR_PV}" || die
mv "${D}/usr/$(get_libdir)/mpi.so" "${D}$(python_get_sitedir)/boost_${MAJOR_PV}/" || die
touch "${D}$(python_get_sitedir)/boost_${MAJOR_PV}/__init__.py" || die
_add_line "python=\"$(python_get_sitedir)/boost_${MAJOR_PV}/mpi.so\""
fi
if use doc ; then
find libs/*/* -iname "test" -or -iname "src" | xargs rm -rf
dohtml \
-A pdf,txt,cpp,hpp \
*.{htm,html,png,css} \
-r doc || die
dohtml \
-A pdf,txt \
-r tools || die
insinto /usr/share/doc/${PF}/html
doins -r libs || die
doins -r more || die
# To avoid broken links
insinto /usr/share/doc/${PF}/html
doins LICENSE_1_0.txt || die
dosym /usr/include/boost-${MAJOR_PV}/boost /usr/share/doc/${PF}/html/boost || die
fi
cd "${D}/usr/$(get_libdir)" || die
# Remove (unversioned) symlinks
# And check for what we remove to catch bugs
# got a better idea how to do it? tell me!
for f in $(ls -1 ${LIBRARY_TARGETS} | grep -v "${MAJOR_PV}") ; do
if [ ! -h "${f}" ] ; then
eerror "Ups, tried to remove '${f}' which is a a real file instead of a symlink"
die "slotting/naming of the libs broken!"
fi
rm "${f}" || die
done
# The threading libs obviously always gets the "-mt" (multithreading) tag
# some packages seem to have a problem with it. Creating symlinks...
if use static-libs ; then
THREAD_LIBS="libboost_thread-mt-${MAJOR_PV}.a libboost_thread-mt-${MAJOR_PV}$(get_libname)"
else
THREAD_LIBS="libboost_thread-mt-${MAJOR_PV}$(get_libname)"
fi
for lib in ${THREAD_LIBS} ; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})" || die
done
# The same goes for the mpi libs
if use mpi ; then
if use static-libs ; then
MPI_LIBS="libboost_mpi-mt-${MAJOR_PV}.a libboost_mpi-mt-${MAJOR_PV}$(get_libname)"
else
MPI_LIBS="libboost_mpi-mt-${MAJOR_PV}$(get_libname)"
fi
for lib in ${MPI_LIBS} ; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})" || die
done
fi
if use debug ; then
if use static-libs ; then
THREAD_DEBUG_LIBS="libboost_thread-mt-${MAJOR_PV}-debug$(get_libname) libboost_thread-mt-${MAJOR_PV}-debug.a"
else
THREAD_DEBUG_LIBS="libboost_thread-mt-${MAJOR_PV}-debug$(get_libname)"
fi
for lib in ${THREAD_DEBUG_LIBS} ; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})" || die
done
if use mpi ; then
if use static-libs ; then
MPI_DEBUG_LIBS="libboost_mpi-mt-${MAJOR_PV}-debug.a libboost_mpi-mt-${MAJOR_PV}-debug$(get_libname)"
else
MPI_DEBUG_LIBS="libboost_mpi-mt-${MAJOR_PV}-debug$(get_libname)"
fi
for lib in ${MPI_DEBUG_LIBS} ; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})" || die
done
fi
fi
# Create a subdirectory with completely unversioned symlinks
# and store the names in the profiles-file for eselect
dodir /usr/$(get_libdir)/boost-${MAJOR_PV} || die
_add_line "libs=\"" default
for f in $(ls -1 ${LIBRARY_TARGETS} | grep -v debug) ; do
dosym ../${f} /usr/$(get_libdir)/boost-${MAJOR_PV}/${f/-${MAJOR_PV}} || die
_add_line "/usr/$(get_libdir)/${f}" default
done
_add_line "\"" default
if use debug ; then
_add_line "libs=\"" debug
dodir /usr/$(get_libdir)/boost-${MAJOR_PV}-debug || die
for f in $(ls -1 ${LIBRARY_TARGETS} | grep debug) ; do
dosym ../${f} /usr/$(get_libdir)/boost-${MAJOR_PV}-debug/${f/-${MAJOR_PV}-debug} || die
_add_line "/usr/$(get_libdir)/${f}" debug
done
_add_line "\"" debug
_add_line "includes=\"/usr/include/boost-${MAJOR_PV}/boost\"" debug
_add_line "suffix=\"-debug\"" debug
fi
_add_line "includes=\"/usr/include/boost-${MAJOR_PV}/boost\"" default
if use tools; then
cd "${S}/dist/bin" || die
# Append version postfix to binaries for slotting
_add_line "bins=\""
for b in * ; do
newbin "${b}" "${b}-${MAJOR_PV}" || die
_add_line "/usr/bin/${b}-${MAJOR_PV}"
done
_add_line "\""
cd "${S}/dist" || die
insinto /usr/share || die
doins -r share/boostbook || die
# Append version postfix for slotting
mv "${D}/usr/share/boostbook" "${D}/usr/share/boostbook-${MAJOR_PV}" || die
_add_line "dirs=\"/usr/share/boostbook-${MAJOR_PV}\""
fi
cd "${S}/status" || die
if [ -f regress.log ] ; then
docinto status || die
dohtml *.html ../boost.png || die
dodoc regress.log || die
fi
use python && python_need_rebuild
# boost's build system truely sucks for not having a destdir. Because for
# this reason we are forced to build with a prefix that includes the
# DESTROOT, dynamic libraries on Darwin end messed up, referencing the
# DESTROOT instread of the actual EPREFIX. There is no way out of here
# but to do it the dirty way of manually setting the right install_names.
[[ -z ${ED+set} ]] && local ED=${D%/}${EPREFIX}/
if [[ ${CHOST} == *-darwin* ]] ; then
einfo "Working around completely broken build-system(tm)"
for d in "${ED}"usr/lib/*.dylib ; do
if [[ -f ${d} ]] ; then
# fix the "soname"
ebegin " correcting install_name of ${d#${ED}}"
install_name_tool -id "/${d#${D}}" "${d}"
eend $?
# fix references to other libs
refs=$(otool -XL "${d}" | \
sed -e '1d' -e 's/^\t//' | \
grep "^libboost_" | \
cut -f1 -d' ')
for r in ${refs} ; do
ebegin " correcting reference to ${r}"
install_name_tool -change \
"${r}" \
"${EPREFIX}/usr/lib/${r}" \
"${d}"
eend $?
done
fi
done
fi
}
src_test() {
export BOOST_ROOT=${S}
cd "${S}/tools/regression/build" || die
einfo "Using the following command to build test helpers: "
einfo "${BJAM} -q -d+2 gentoorelease ${OPTIONS} process_jam_log compiler_status"
${BJAM} -q -d+2 \
gentoorelease \
${OPTIONS} \
process_jam_log compiler_status \
|| die "building regression test helpers failed"
cd "${S}/status" || die
# Some of the test-checks seem to rely on regexps
export LC_ALL="C"
# The following is largely taken from tools/regression/run_tests.sh,
# but adapted to our needs.
# Run the tests & write them into a file for postprocessing
einfo "Using the following command to test: "
einfo "${BJAM} ${OPTIONS} --dump-tests"
${BJAM} \
${OPTIONS} \
--dump-tests 2>&1 | tee regress.log || die
# Postprocessing
cat regress.log | "${S}/tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease/pch-off/process_jam_log" --v2
if test $? != 0 ; then
die "Postprocessing the build log failed"
fi
cat > "${S}/status/comment.html" <<- __EOF__
<p>Tests are run on a <a href="http://www.gentoo.org">Gentoo</a> system.</p>
__EOF__
# Generate the build log html summary page
"${S}/tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease/pch-off/compiler_status" --v2 \
--comment "${S}/status/comment.html" "${S}" \
cs-$(uname).html cs-$(uname)-links.html
if test $? != 0 ; then
die "Generating the build log html summary page failed"
fi
# And do some cosmetic fixes :)
sed -i -e 's|http://www.boost.org/boost.png|boost.png|' *.html || die
}
pkg_postinst() {
if use eselect ; then
eselect boost update || ewarn "eselect boost update failed."
fi
if [ ! -h "${ROOT}/etc/eselect/boost/active" ] ; then
elog "No active boost version found. Calling eselect to select one..."
eselect boost update || ewarn "eselect boost update failed."
fi
}

@ -1,625 +0,0 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.48.0-r2.ebuild,v 1.9 2012/10/25 22:04:33 floppym Exp $
EAPI="4"
PYTHON_DEPEND="python? *"
SUPPORT_PYTHON_ABIS="1"
RESTRICT_PYTHON_ABIS="*-jython *-pypy-*"
inherit check-reqs flag-o-matic multilib python toolchain-funcs versionator
MY_P=${PN}_$(replace_all_version_separators _)
DESCRIPTION="Boost Libraries for C++"
HOMEPAGE="http://www.boost.org/"
SRC_URI="mirror://sourceforge/boost/${MY_P}.tar.bz2"
LICENSE="Boost-1.0"
SLOT="$(get_version_component_range 1-2)"
KEYWORDS="~alpha amd64 arm hppa ~ia64 ~mips ppc ~ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd"
IUSE="debug doc +eselect icu mpi python static-libs test tools"
RDEPEND="icu? ( >=dev-libs/icu-3.3 )
mpi? ( || ( sys-cluster/openmpi[cxx] sys-cluster/mpich2[cxx,threads] ) )
sys-libs/zlib
!!<=dev-libs/boost-1.35.0-r2
>=app-admin/eselect-boost-0.4"
DEPEND="${RDEPEND}
>=dev-util/boost-build-1.48.0-r1:${SLOT}"
S=${WORKDIR}/${MY_P}
MAJOR_PV=$(replace_all_version_separators _ ${SLOT})
BJAM="b2-${MAJOR_PV}"
# Usage:
# _add_line <line-to-add> <profile>
# ... to add to specific profile
# or
# _add_line <line-to-add>
# ... to add to all profiles for which the use flag set
_add_line() {
if [[ -z "$2" ]]; then
echo "${1}" >> "${D}usr/share/boost-eselect/profiles/${SLOT}/default"
if use debug; then
echo "${1}" >> "${D}usr/share/boost-eselect/profiles/${SLOT}/debug"
fi
else
echo "${1}" >> "${D}usr/share/boost-eselect/profiles/${SLOT}/${2}"
fi
}
create_user-config.jam() {
local compiler compiler_version compiler_executable
if [[ ${CHOST} == *-darwin* ]]; then
compiler="darwin"
compiler_version="$(gcc-fullversion)"
compiler_executable="$(tc-getCXX)"
else
compiler="gcc"
compiler_version="$(gcc-version)"
compiler_executable="$(tc-getCXX)"
fi
local mpi_configuration python_configuration
if use mpi; then
mpi_configuration="using mpi ;"
fi
if use python; then
python_configuration="using python : $(python_get_version) : /usr : $(python_get_includedir) : /usr/$(get_libdir) ;"
fi
# The debug-symbols=none and optimization=none are not official upstream flags but a Gentoo
# specific patch to make sure that all our CFLAGS/CXXFLAGS/LDFLAGS are being respected.
# Using optimization=off would for example add "-O0" and override "-O2" set by the user.
# Please take a look at the boost-build ebuild for more information.
cat > user-config.jam << __EOF__
variant gentoorelease : release : <optimization>none <debug-symbols>none ;
variant gentoodebug : debug : <optimization>none ;
using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
${mpi_configuration}
${python_configuration}
__EOF__
}
pkg_pretend() {
if use test; then
CHECKREQS_DISK_BUILD="15G" check-reqs_pkg_pretend
ewarn "The tests may take several hours on a recent machine"
ewarn "but they will not fail (unless something weird happens ;-)"
ewarn "This is because the tests depend on the used compiler version"
ewarn "and the platform and upstream says that this is normal."
ewarn "If you are interested in the results, please take a look at the"
ewarn "generated results page:"
ewarn " ${ROOT}usr/share/doc/${PF}/status/cs-$(uname).html"
fi
}
pkg_setup() {
if use python; then
python_pkg_setup
fi
if use debug; then
ewarn "The debug USE flag means that a second set of the boost libraries"
ewarn "will be built containing debug symbols. You'll be able to select them"
ewarn "using the boost-eselect module. But even though the optimization flags"
ewarn "you might have set are not stripped, there will be a performance"
ewarn "penalty and linking other packages against the debug version"
ewarn "of boost is _not_ recommended."
fi
}
src_prepare() {
epatch "${FILESDIR}/${P}-BOOST_FOREACH.patch"
epatch "${FILESDIR}/${P}-mpi_python3.patch"
epatch "${FILESDIR}/${P}-respect_python-buildid.patch"
epatch "${FILESDIR}/${P}-support_dots_in_python-buildid.patch"
epatch "${FILESDIR}/${P}-no_strict_aliasing_python2.patch"
epatch "${FILESDIR}/${P}-disable_libboost_python3.patch"
epatch "${FILESDIR}/${P}-python_linking.patch"
epatch "${FILESDIR}/${P}-disable_icu_rpath.patch"
epatch "${FILESDIR}/remove-toolset-${PV}.patch"
epatch "${FILESDIR}/${P}-gcc47.patch"
}
src_configure() {
OPTIONS=""
if [[ ${CHOST} == *-darwin* ]]; then
# We need to add the prefix, and in two cases this exceeds, so prepare
# for the largest possible space allocation.
append-ldflags -Wl,-headerpad_max_install_names
fi
# bug 298489
if use ppc || use ppc64; then
[[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec
fi
use icu && OPTIONS+=" -sICU_PATH=/usr"
use icu || OPTIONS+=" --disable-icu boost.locale.icu=off"
use mpi || OPTIONS+=" --without-mpi"
use python || OPTIONS+=" --without-python"
# https://svn.boost.org/trac/boost/attachment/ticket/2597/add-disable-long-double.patch
if use sparc || { use mips && [[ ${ABI} = "o32" ]]; } || use hppa || use arm || use x86-fbsd || use sh; then
OPTIONS+=" --disable-long-double"
fi
OPTIONS+=" pch=off --boost-build=/usr/share/boost-build-${MAJOR_PV} --prefix=\"${D}usr\" --layout=versioned"
if use static-libs; then
LINK_OPTS="link=shared,static"
LIBRARY_TARGETS="*.a *$(get_libname)"
else
LINK_OPTS="link=shared"
# There is no dynamically linked version of libboost_test_exec_monitor and libboost_exception.
LIBRARY_TARGETS="libboost_test_exec_monitor*.a libboost_exception*.a *$(get_libname)"
fi
}
src_compile() {
local jobs
jobs=$( echo " ${MAKEOPTS} " | \
sed -e 's/ --jobs[= ]/ -j /g' \
-e 's/ -j \([1-9][0-9]*\)/ -j\1/g' \
-e 's/ -j\>/ -j1/g' | \
( while read -d ' ' j; do if [[ "${j#-j}" = "$j" ]]; then continue; fi; jobs="${j#-j}"; done; echo ${jobs} ) )
if [[ "${jobs}" != "" ]]; then NUMJOBS="-j"${jobs}; fi
export BOOST_ROOT="${S}"
PYTHON_DIRS=""
MPI_PYTHON_MODULE=""
building() {
create_user-config.jam
einfo "Using the following command to build:"
einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoorelease --user-config=user-config.jam ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared $(use python && echo --python-buildid=${PYTHON_ABI})"
${BJAM} ${NUMJOBS} -q -d+2 \
gentoorelease \
--user-config=user-config.jam \
${OPTIONS} \
threading=single,multi ${LINK_OPTS} runtime-link=shared \
$(use python && echo --python-buildid=${PYTHON_ABI}) \
|| die "Building of Boost libraries failed"
# ... and do the whole thing one more time to get the debug libs
if use debug; then
einfo "Using the following command to build:"
einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoodebug --user-config=user-config.jam ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared --buildid=debug $(use python && echo --python-buildid=${PYTHON_ABI})"
${BJAM} ${NUMJOBS} -q -d+2 \
gentoodebug \
--user-config=user-config.jam \
${OPTIONS} \
threading=single,multi ${LINK_OPTS} runtime-link=shared \
--buildid=debug \
$(use python && echo --python-buildid=${PYTHON_ABI}) \
|| die "Building of Boost debug libraries failed"
fi
if use python; then
if [[ -z "${PYTHON_DIRS}" ]]; then
PYTHON_DIRS="$(find bin.v2/libs -name python | sort)"
else
if [[ "${PYTHON_DIRS}" != "$(find bin.v2/libs -name python | sort)" ]]; then
die "Inconsistent structure of build directories"
fi
fi
local dir
for dir in ${PYTHON_DIRS}; do
mv ${dir} ${dir}-${PYTHON_ABI} || die "Renaming of '${dir}' to '${dir}-${PYTHON_ABI}' failed"
done
if use mpi; then
if [[ -z "${MPI_PYTHON_MODULE}" ]]; then
MPI_PYTHON_MODULE="$(find bin.v2/libs/mpi/build/*/gentoorelease -name mpi.so)"
if [[ "$(echo "${MPI_PYTHON_MODULE}" | wc -l)" -ne 1 ]]; then
die "Multiple mpi.so files found"
fi
else
if [[ "${MPI_PYTHON_MODULE}" != "$(find bin.v2/libs/mpi/build/*/gentoorelease -name mpi.so)" ]]; then
die "Inconsistent structure of build directories"
fi
fi
mv stage/lib/mpi.so stage/lib/mpi.so-${PYTHON_ABI} || die "Renaming of 'stage/lib/mpi.so' to 'stage/lib/mpi.so-${PYTHON_ABI}' failed"
fi
fi
}
if use python; then
python_execute_function building
else
building
fi
if use tools; then
pushd tools > /dev/null || die
einfo "Using the following command to build the tools:"
einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoorelease --user-config=../user-config.jam ${OPTIONS}"
${BJAM} ${NUMJOBS} -q -d+2\
gentoorelease \
--user-config=../user-config.jam \
${OPTIONS} \
|| die "Building of Boost tools failed"
popd > /dev/null || die
fi
}
src_install () {
dodir /usr/share/boost-eselect/profiles/${SLOT}
touch "${D}usr/share/boost-eselect/profiles/${SLOT}/default" || die
if use debug; then
touch "${D}usr/share/boost-eselect/profiles/${SLOT}/debug" || die
fi
if use mpi && use python; then
_add_line "python_modules=\""
fi
installation() {
create_user-config.jam
if use python; then
local dir
for dir in ${PYTHON_DIRS}; do
cp -pr ${dir}-${PYTHON_ABI} ${dir} || die "Copying of '${dir}-${PYTHON_ABI}' to '${dir}' failed"
done
if use mpi; then
cp -p stage/lib/mpi.so-${PYTHON_ABI} "${MPI_PYTHON_MODULE}" || die "Copying of 'stage/lib/mpi.so-${PYTHON_ABI}' to '${MPI_PYTHON_MODULE}' failed"
cp -p stage/lib/mpi.so-${PYTHON_ABI} stage/lib/mpi.so || die "Copying of 'stage/lib/mpi.so-${PYTHON_ABI}' to 'stage/lib/mpi.so' failed"
fi
fi
einfo "Using the following command to install:"
einfo "${BJAM} -q -d+2 gentoorelease --user-config=user-config.jam ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared --includedir=\"${D}usr/include\" --libdir=\"${D}usr/$(get_libdir)\" $(use python && echo --python-buildid=${PYTHON_ABI}) install"
${BJAM} -q -d+2 \
gentoorelease \
--user-config=user-config.jam \
${OPTIONS} \
threading=single,multi ${LINK_OPTS} runtime-link=shared \
--includedir="${D}usr/include" \
--libdir="${D}usr/$(get_libdir)" \
$(use python && echo --python-buildid=${PYTHON_ABI}) \
install || die "Installation of Boost libraries failed"
if use debug; then
einfo "Using the following command to install:"
einfo "${BJAM} -q -d+2 gentoodebug --user-config=user-config.jam ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared --includedir=\"${D}usr/include\" --libdir=\"${D}usr/$(get_libdir)\" --buildid=debug $(use python && echo --python-buildid=${PYTHON_ABI})"
${BJAM} -q -d+2 \
gentoodebug \
--user-config=user-config.jam \
${OPTIONS} \
threading=single,multi ${LINK_OPTS} runtime-link=shared \
--includedir="${D}usr/include" \
--libdir="${D}usr/$(get_libdir)" \
--buildid=debug \
$(use python && echo --python-buildid=${PYTHON_ABI}) \
install || die "Installation of Boost debug libraries failed"
fi
if use python; then
rm -r ${PYTHON_DIRS} || die
# Move mpi.so Python module to Python site-packages directory and make sure it is slotted.
if use mpi; then
mkdir -p "${D}$(python_get_sitedir)/boost_${MAJOR_PV}" || die
mv "${D}usr/$(get_libdir)/mpi.so" "${D}$(python_get_sitedir)/boost_${MAJOR_PV}" || die
cat << EOF > "${D}$(python_get_sitedir)/boost_${MAJOR_PV}/__init__.py" || die
import sys
if sys.platform.startswith('linux'):
import DLFCN
flags = sys.getdlopenflags()
sys.setdlopenflags(DLFCN.RTLD_NOW | DLFCN.RTLD_GLOBAL)
from . import mpi
sys.setdlopenflags(flags)
del DLFCN, flags
else:
from . import mpi
del sys
EOF
_add_line "$(python_get_sitedir)/mpi.py:boost_${MAJOR_PV}.mpi"
fi
fi
}
if use python; then
python_execute_function installation
else
installation
fi
if use mpi && use python; then
_add_line "\""
fi
use python || rm -rf "${D}usr/include/boost-${MAJOR_PV}/boost"/python* || die
if use doc; then
find libs/*/* -iname "test" -or -iname "src" | xargs rm -rf
dohtml \
-A pdf,txt,cpp,hpp \
*.{htm,html,png,css} \
-r doc
dohtml \
-A pdf,txt \
-r tools
insinto /usr/share/doc/${PF}/html
doins -r libs
doins -r more
# To avoid broken links
insinto /usr/share/doc/${PF}/html
doins LICENSE_1_0.txt
dosym /usr/include/boost-${MAJOR_PV}/boost /usr/share/doc/${PF}/html/boost
fi
pushd "${D}usr/$(get_libdir)" > /dev/null || die
# Remove (unversioned) symlinks
# And check for what we remove to catch bugs
# got a better idea how to do it? tell me!
local f
for f in $(ls -1 ${LIBRARY_TARGETS} | grep -v "${MAJOR_PV}"); do
if [[ ! -h "${f}" ]]; then
eerror "Tried to remove '${f}' which is a regular file instead of a symlink"
die "Slotting/naming of the libraries broken!"
fi
rm "${f}" || die
done
# The threading libs obviously always gets the "-mt" (multithreading) tag
# some packages seem to have a problem with it. Creating symlinks...
if use static-libs; then
THREAD_LIBS="libboost_thread-mt-${MAJOR_PV}.a libboost_thread-mt-${MAJOR_PV}$(get_libname)"
else
THREAD_LIBS="libboost_thread-mt-${MAJOR_PV}$(get_libname)"
fi
local lib
for lib in ${THREAD_LIBS}; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
done
# The same goes for the mpi libs
if use mpi; then
if use static-libs; then
MPI_LIBS="libboost_mpi-mt-${MAJOR_PV}.a libboost_mpi-mt-${MAJOR_PV}$(get_libname)"
else
MPI_LIBS="libboost_mpi-mt-${MAJOR_PV}$(get_libname)"
fi
local lib
for lib in ${MPI_LIBS}; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
done
fi
if use debug; then
if use static-libs; then
THREAD_DEBUG_LIBS="libboost_thread-mt-${MAJOR_PV}-debug$(get_libname) libboost_thread-mt-${MAJOR_PV}-debug.a"
else
THREAD_DEBUG_LIBS="libboost_thread-mt-${MAJOR_PV}-debug$(get_libname)"
fi
local lib
for lib in ${THREAD_DEBUG_LIBS}; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
done
if use mpi; then
if use static-libs; then
MPI_DEBUG_LIBS="libboost_mpi-mt-${MAJOR_PV}-debug.a libboost_mpi-mt-${MAJOR_PV}-debug$(get_libname)"
else
MPI_DEBUG_LIBS="libboost_mpi-mt-${MAJOR_PV}-debug$(get_libname)"
fi
local lib
for lib in ${MPI_DEBUG_LIBS}; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
done
fi
fi
# Create a subdirectory with completely unversioned symlinks
# and store the names in the profiles-file for eselect
dodir /usr/$(get_libdir)/boost-${MAJOR_PV}
_add_line "libs=\"" default
local f
for f in $(ls -1 ${LIBRARY_TARGETS} | grep -v debug); do
dosym ../${f} /usr/$(get_libdir)/boost-${MAJOR_PV}/${f/-${MAJOR_PV}}
_add_line "/usr/$(get_libdir)/${f}" default
done
_add_line "\"" default
if use debug; then
_add_line "libs=\"" debug
dodir /usr/$(get_libdir)/boost-${MAJOR_PV}-debug
local f
for f in $(ls -1 ${LIBRARY_TARGETS} | grep debug); do
dosym ../${f} /usr/$(get_libdir)/boost-${MAJOR_PV}-debug/${f/-${MAJOR_PV}-debug}
_add_line "/usr/$(get_libdir)/${f}" debug
done
_add_line "\"" debug
_add_line "includes=\"/usr/include/boost-${MAJOR_PV}/boost\"" debug
_add_line "suffix=\"-debug\"" debug
fi
_add_line "includes=\"/usr/include/boost-${MAJOR_PV}/boost\"" default
popd > /dev/null || die
if use tools; then
pushd dist/bin > /dev/null || die
# Append version postfix to binaries for slotting
_add_line "bins=\""
local b
for b in *; do
newbin "${b}" "${b}-${MAJOR_PV}"
_add_line "/usr/bin/${b}-${MAJOR_PV}"
done
_add_line "\""
popd > /dev/null || die
pushd dist > /dev/null || die
insinto /usr/share
doins -r share/boostbook
# Append version postfix for slotting
mv "${D}usr/share/boostbook" "${D}usr/share/boostbook-${MAJOR_PV}" || die
_add_line "dirs=\"/usr/share/boostbook-${MAJOR_PV}\""
popd > /dev/null || die
fi
pushd status > /dev/null || die
if [[ -f regress.log ]]; then
docinto status
dohtml *.html ../boost.png
dodoc regress.log
fi
popd > /dev/null || die
# boost's build system truely sucks for not having a destdir. Because for
# this reason we are forced to build with a prefix that includes the
# DESTROOT, dynamic libraries on Darwin end messed up, referencing the
# DESTROOT instread of the actual EPREFIX. There is no way out of here
# but to do it the dirty way of manually setting the right install_names.
if [[ ${CHOST} == *-darwin* ]]; then
einfo "Working around completely broken build-system(tm)"
local d
for d in "${ED}"usr/lib/*.dylib; do
if [[ -f ${d} ]]; then
# fix the "soname"
ebegin " correcting install_name of ${d#${ED}}"
install_name_tool -id "/${d#${D}}" "${d}"
eend $?
# fix references to other libs
refs=$(otool -XL "${d}" | \
sed -e '1d' -e 's/^\t//' | \
grep "^libboost_" | \
cut -f1 -d' ')
local r
for r in ${refs}; do
ebegin " correcting reference to ${r}"
install_name_tool -change \
"${r}" \
"${EPREFIX}/usr/lib/${r}" \
"${d}"
eend $?
done
fi
done
fi
}
src_test() {
testing() {
if use python; then
local dir
for dir in ${PYTHON_DIRS}; do
cp -pr ${dir}-${PYTHON_ABI} ${dir} || die "Copying of '${dir}-${PYTHON_ABI}' to '${dir}' failed"
done
if use mpi; then
cp -p stage/lib/mpi.so-${PYTHON_ABI} "${MPI_PYTHON_MODULE}" || die "Copying of 'stage/lib/mpi.so-${PYTHON_ABI}' to '${MPI_PYTHON_MODULE}' failed"
cp -p stage/lib/mpi.so-${PYTHON_ABI} stage/lib/mpi.so || die "Copying of 'stage/lib/mpi.so-${PYTHON_ABI}' to 'stage/lib/mpi.so' failed"
fi
fi
pushd tools/regression/build > /dev/null || die
einfo "Using the following command to build test helpers:"
einfo "${BJAM} -q -d+2 gentoorelease --user-config=../../../user-config.jam ${OPTIONS} process_jam_log compiler_status"
${BJAM} -q -d+2 \
gentoorelease \
--user-config=../../../user-config.jam \
${OPTIONS} \
process_jam_log compiler_status \
|| die "Building of regression test helpers failed"
popd > /dev/null || die
pushd status > /dev/null || die
# Some of the test-checks seem to rely on regexps
export LC_ALL="C"
# The following is largely taken from tools/regression/run_tests.sh,
# but adapted to our needs.
# Run the tests & write them into a file for postprocessing
einfo "Using the following command to test:"
einfo "${BJAM} --user-config=../user-config.jam ${OPTIONS} --dump-tests"
${BJAM} \
--user-config=../user-config.jam \
${OPTIONS} \
--dump-tests 2>&1 | tee regress.log || die
# Postprocessing
cat regress.log | "$(find ../tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease -name process_jam_log)" --v2
if test $? != 0; then
die "Postprocessing the build log failed"
fi
cat > comment.html <<- __EOF__
<p>Tests are run on a <a href="http://www.gentoo.org">Gentoo</a> system.</p>
__EOF__
# Generate the build log html summary page
"$(find ../tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease -name compiler_status)" --v2 \
--comment comment.html "${S}" \
cs-$(uname).html cs-$(uname)-links.html
if test $? != 0; then
die "Generating the build log html summary page failed"
fi
# And do some cosmetic fixes :)
sed -i -e 's|http://www.boost.org/boost.png|boost.png|' *.html || die
popd > /dev/null || die
if use python; then
rm -r ${PYTHON_DIRS} || die
fi
}
if use python; then
python_execute_function -f -q testing
else
testing
fi
}
pkg_postinst() {
if use eselect; then
eselect boost update || ewarn "eselect boost update failed."
fi
if [[ ! -h "${ROOT}etc/eselect/boost/active" ]]; then
elog "No active boost version found. Calling eselect to select one..."
eselect boost update || ewarn "eselect boost update failed."
fi
if use python; then
python_mod_optimize boost_${MAJOR_PV}
fi
}
pkg_postrm() {
if use python; then
python_mod_cleanup boost_${MAJOR_PV}
fi
}

@ -1,13 +1,13 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.49.0-r1.ebuild,v 1.9 2012/10/25 22:04:33 floppym Exp $
# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.49.0-r2.ebuild,v 1.1 2012/10/31 21:36:31 flameeyes Exp $
EAPI="4"
PYTHON_DEPEND="python? *"
SUPPORT_PYTHON_ABIS="1"
RESTRICT_PYTHON_ABIS="*-jython *-pypy-*"
inherit check-reqs flag-o-matic multilib python toolchain-funcs versionator
inherit flag-o-matic multilib python toolchain-funcs versionator
MY_P=${PN}_$(replace_all_version_separators _)
@ -16,41 +16,23 @@ HOMEPAGE="http://www.boost.org/"
SRC_URI="mirror://sourceforge/boost/${MY_P}.tar.bz2"
LICENSE="Boost-1.0"
SLOT="$(get_version_component_range 1-2)"
SLOT=0
MAJOR_V="$(get_version_component_range 1-2)"
KEYWORDS="~alpha amd64 arm hppa ~ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd"
IUSE="debug doc +eselect icu mpi python static-libs test tools"
IUSE="debug doc icu mpi python static-libs tools"
RDEPEND="icu? ( >=dev-libs/icu-3.3 )
mpi? ( || ( sys-cluster/openmpi[cxx] sys-cluster/mpich2[cxx,threads] ) )
sys-libs/zlib
!!<=dev-libs/boost-1.35.0-r2
>=app-admin/eselect-boost-0.4"
!app-admin/eselect-boost"
DEPEND="${RDEPEND}
dev-util/boost-build:${SLOT}"
=dev-util/boost-build-${MAJOR_V}*"
S=${WORKDIR}/${MY_P}
MAJOR_PV=$(replace_all_version_separators _ ${SLOT})
MAJOR_PV=$(replace_all_version_separators _ ${MAJOR_V})
BJAM="b2-${MAJOR_PV}"
# Usage:
# _add_line <line-to-add> <profile>
# ... to add to specific profile
# or
# _add_line <line-to-add>
# ... to add to all profiles for which the use flag set
_add_line() {
if [[ -z "$2" ]]; then
echo "${1}" >> "${D}usr/share/boost-eselect/profiles/${SLOT}/default"
if use debug; then
echo "${1}" >> "${D}usr/share/boost-eselect/profiles/${SLOT}/debug"
fi
else
echo "${1}" >> "${D}usr/share/boost-eselect/profiles/${SLOT}/${2}"
fi
}
create_user-config.jam() {
local compiler compiler_version compiler_executable
@ -87,33 +69,10 @@ ${python_configuration}
__EOF__
}
pkg_pretend() {
if use test; then
CHECKREQS_DISK_BUILD="15G" check-reqs_pkg_pretend
ewarn "The tests may take several hours on a recent machine"
ewarn "but they will not fail (unless something weird happens ;-)"
ewarn "This is because the tests depend on the used compiler version"
ewarn "and the platform and upstream says that this is normal."
ewarn "If you are interested in the results, please take a look at the"
ewarn "generated results page:"
ewarn " ${ROOT}usr/share/doc/${PF}/status/cs-$(uname).html"
fi
}
pkg_setup() {
if use python; then
python_pkg_setup
fi
if use debug; then
ewarn "The debug USE flag means that a second set of the boost libraries"
ewarn "will be built containing debug symbols. You'll be able to select them"
ewarn "using the boost-eselect module. But even though the optimization flags"
ewarn "you might have set are not stripped, there will be a performance"
ewarn "penalty and linking other packages against the debug version"
ewarn "of boost is _not_ recommended."
fi
}
src_prepare() {
@ -256,16 +215,6 @@ src_compile() {
}
src_install () {
dodir /usr/share/boost-eselect/profiles/${SLOT}
touch "${D}usr/share/boost-eselect/profiles/${SLOT}/default" || die
if use debug; then
touch "${D}usr/share/boost-eselect/profiles/${SLOT}/debug" || die
fi
if use mpi && use python; then
_add_line "python_modules=\""
fi
installation() {
create_user-config.jam
@ -330,7 +279,6 @@ else:
from . import mpi
del sys
EOF
_add_line "$(python_get_sitedir)/mpi.py:boost_${MAJOR_PV}.mpi"
fi
fi
}
@ -340,10 +288,6 @@ EOF
installation
fi
if use mpi && use python; then
_add_line "\""
fi
use python || rm -rf "${D}usr/include/boost-${MAJOR_PV}/boost"/python* || die
if use doc; then
@ -363,22 +307,12 @@ EOF
insinto /usr/share/doc/${PF}/html
doins LICENSE_1_0.txt
dosym /usr/include/boost-${MAJOR_PV}/boost /usr/share/doc/${PF}/html/boost
dosym /usr/include/boost /usr/share/doc/${PF}/html/boost
fi
pushd "${D}usr/$(get_libdir)" > /dev/null || die
dosym boost-${MAJOR_PV}/boost /usr/include/boost
# Remove (unversioned) symlinks
# And check for what we remove to catch bugs
# got a better idea how to do it? tell me!
local f
for f in $(ls -1 ${LIBRARY_TARGETS} | grep -v "${MAJOR_PV}"); do
if [[ ! -h "${f}" ]]; then
eerror "Tried to remove '${f}' which is a regular file instead of a symlink"
die "Slotting/naming of the libraries broken!"
fi
rm "${f}" || die
done
pushd "${D}usr/$(get_libdir)" > /dev/null || die
# The threading libs obviously always gets the "-mt" (multithreading) tag
# some packages seem to have a problem with it. Creating symlinks...
@ -390,7 +324,7 @@ EOF
fi
local lib
for lib in ${THREAD_LIBS}; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
dosym ${lib} "/usr/$(get_libdir)/${lib/-mt/}"
done
# The same goes for the mpi libs
@ -402,7 +336,7 @@ EOF
fi
local lib
for lib in ${MPI_LIBS}; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
dosym ${lib} "/usr/$(get_libdir)/${lib/-mt/}"
done
fi
@ -415,7 +349,7 @@ EOF
local lib
for lib in ${THREAD_DEBUG_LIBS}; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
dosym ${lib} "/usr/$(get_libdir)/${lib/-mt/}"
done
if use mpi; then
@ -427,51 +361,33 @@ EOF
local lib
for lib in ${MPI_DEBUG_LIBS}; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
dosym ${lib} "/usr/$(get_libdir)/${lib/-mt/}"
done
fi
fi
# Create a subdirectory with completely unversioned symlinks
# and store the names in the profiles-file for eselect
dodir /usr/$(get_libdir)/boost-${MAJOR_PV}
_add_line "libs=\"" default
local f
for f in $(ls -1 ${LIBRARY_TARGETS} | grep -v debug); do
dosym ../${f} /usr/$(get_libdir)/boost-${MAJOR_PV}/${f/-${MAJOR_PV}}
_add_line "/usr/$(get_libdir)/${f}" default
dosym ${f} /usr/$(get_libdir)/${f/-${MAJOR_PV}}
done
_add_line "\"" default
if use debug; then
_add_line "libs=\"" debug
dodir /usr/$(get_libdir)/boost-${MAJOR_PV}-debug
dodir /usr/$(get_libdir)/boost-debug
local f
for f in $(ls -1 ${LIBRARY_TARGETS} | grep debug); do
dosym ../${f} /usr/$(get_libdir)/boost-${MAJOR_PV}-debug/${f/-${MAJOR_PV}-debug}
_add_line "/usr/$(get_libdir)/${f}" debug
dosym ../${f} /usr/$(get_libdir)/boost-debug/${f/-${MAJOR_PV}-debug}
done
_add_line "\"" debug
_add_line "includes=\"/usr/include/boost-${MAJOR_PV}/boost\"" debug
_add_line "suffix=\"-debug\"" debug
fi
_add_line "includes=\"/usr/include/boost-${MAJOR_PV}/boost\"" default
popd > /dev/null || die
if use tools; then
pushd dist/bin > /dev/null || die
# Append version postfix to binaries for slotting
_add_line "bins=\""
local b
for b in *; do
newbin "${b}" "${b}-${MAJOR_PV}"
_add_line "/usr/bin/${b}-${MAJOR_PV}"
done
_add_line "\""
popd > /dev/null || die
pushd dist > /dev/null || die
@ -479,7 +395,6 @@ EOF
doins -r share/boostbook
# Append version postfix for slotting
mv "${D}usr/share/boostbook" "${D}usr/share/boostbook-${MAJOR_PV}" || die
_add_line "dirs=\"/usr/share/boostbook-${MAJOR_PV}\""
popd > /dev/null || die
fi
@ -524,100 +439,9 @@ EOF
fi
}
src_test() {
testing() {
if use python; then
local dir
for dir in ${PYTHON_DIRS}; do
cp -pr ${dir}-${PYTHON_ABI} ${dir} || die "Copying of '${dir}-${PYTHON_ABI}' to '${dir}' failed"
done
if use mpi; then
cp -p stage/lib/mpi.so-${PYTHON_ABI} "${MPI_PYTHON_MODULE}" || die "Copying of 'stage/lib/mpi.so-${PYTHON_ABI}' to '${MPI_PYTHON_MODULE}' failed"
cp -p stage/lib/mpi.so-${PYTHON_ABI} stage/lib/mpi.so || die "Copying of 'stage/lib/mpi.so-${PYTHON_ABI}' to 'stage/lib/mpi.so' failed"
fi
fi
pushd tools/regression/build > /dev/null || die
einfo "Using the following command to build test helpers:"
einfo "${BJAM} -q -d+2 gentoorelease --user-config=../../../user-config.jam ${OPTIONS} process_jam_log compiler_status"
${BJAM} -q -d+2 \
gentoorelease \
--user-config=../../../user-config.jam \
${OPTIONS} \
process_jam_log compiler_status \
|| die "Building of regression test helpers failed"
popd > /dev/null || die
pushd status > /dev/null || die
# Some of the test-checks seem to rely on regexps
export LC_ALL="C"
# The following is largely taken from tools/regression/run_tests.sh,
# but adapted to our needs.
# Run the tests & write them into a file for postprocessing
einfo "Using the following command to test:"
einfo "${BJAM} --user-config=../user-config.jam ${OPTIONS} --dump-tests"
${BJAM} \
--user-config=../user-config.jam \
${OPTIONS} \
--dump-tests 2>&1 | tee regress.log || die
# Postprocessing
cat regress.log | "$(find ../tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease -name process_jam_log)" --v2
if test $? != 0; then
die "Postprocessing the build log failed"
fi
cat > comment.html <<- __EOF__
<p>Tests are run on a <a href="http://www.gentoo.org">Gentoo</a> system.</p>
__EOF__
# Generate the build log html summary page
"$(find ../tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease -name compiler_status)" --v2 \
--comment comment.html "${S}" \
cs-$(uname).html cs-$(uname)-links.html
if test $? != 0; then
die "Generating the build log html summary page failed"
fi
# And do some cosmetic fixes :)
sed -i -e 's|http://www.boost.org/boost.png|boost.png|' *.html || die
popd > /dev/null || die
if use python; then
rm -r ${PYTHON_DIRS} || die
fi
}
if use python; then
python_execute_function -f -q testing
else
testing
fi
}
pkg_postinst() {
if use eselect; then
eselect boost update || ewarn "eselect boost update failed."
fi
if [[ ! -h "${ROOT}etc/eselect/boost/active" ]]; then
elog "No active boost version found. Calling eselect to select one..."
eselect boost update || ewarn "eselect boost update failed."
fi
if use python; then
python_mod_optimize boost_${MAJOR_PV}
fi
}
pkg_postrm() {
if use python; then
python_mod_cleanup boost_${MAJOR_PV}
fi
}
# the tests will never fail because these are not intended as sanity
# tests at all. They are more a way for upstream to check their own code
# on new compilers. Since they would either be completely unreliable
# (failing for no good reason) or completely useless (never failing)
# there is no point in having them in the ebuild to begin with.
src_test() { :; }

@ -1,621 +0,0 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.50.0-r2.ebuild,v 1.3 2012/10/25 22:04:33 floppym Exp $
EAPI="4"
PYTHON_DEPEND="python? *"
SUPPORT_PYTHON_ABIS="1"
RESTRICT_PYTHON_ABIS="*-jython *-pypy-*"
inherit check-reqs flag-o-matic multilib multiprocessing python toolchain-funcs versionator
MY_P=${PN}_$(replace_all_version_separators _)
DESCRIPTION="Boost Libraries for C++"
HOMEPAGE="http://www.boost.org/"
SRC_URI="mirror://sourceforge/boost/${MY_P}.tar.bz2"
LICENSE="Boost-1.0"
SLOT="$(get_version_component_range 1-2)"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
IUSE="debug doc icu mpi python static-libs test tools"
RDEPEND="icu? ( >=dev-libs/icu-3.6 )
!icu? ( virtual/libiconv )
mpi? ( || ( sys-cluster/openmpi[cxx] sys-cluster/mpich2[cxx,threads] ) )
sys-libs/zlib
!!<=dev-libs/boost-1.35.0-r2"
DEPEND="${RDEPEND}
>=dev-util/boost-build-1.50.0-r2:${SLOT}"
S=${WORKDIR}/${MY_P}
MAJOR_PV=$(replace_all_version_separators _ ${SLOT})
BJAM="b2-${MAJOR_PV}"
create_user-config.jam() {
local compiler compiler_version compiler_executable
if [[ ${CHOST} == *-darwin* ]]; then
compiler="darwin"
compiler_version="$(gcc-fullversion)"
compiler_executable="$(tc-getCXX)"
else
compiler="gcc"
compiler_version="$(gcc-version)"
compiler_executable="$(tc-getCXX)"
fi
local mpi_configuration python_configuration
if use mpi; then
mpi_configuration="using mpi ;"
fi
if use python; then
python_configuration="using python : $(python_get_version) : /usr : $(python_get_includedir) : /usr/$(get_libdir) ;"
fi
cat > user-config.jam << __EOF__
using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
${mpi_configuration}
${python_configuration}
__EOF__
}
pkg_pretend() {
if use test; then
CHECKREQS_DISK_BUILD="15G" check-reqs_pkg_pretend
ewarn "The tests may take several hours on a recent machine"
ewarn "but they will not fail (unless something weird happens ;-)"
ewarn "This is because the tests depend on the used compiler version"
ewarn "and the platform and upstream says that this is normal."
ewarn "If you are interested in the results, please take a look at the"
ewarn "generated results page:"
ewarn " ${ROOT}usr/share/doc/${PF}/status/cs-$(uname).html"
fi
}
pkg_setup() {
if use python; then
python_pkg_setup
fi
if use debug; then
ewarn "The debug USE flag means that a second set of the boost libraries"
ewarn "will be built containing debug symbols. But even though the optimization flags"
ewarn "you might have set are not stripped, there will be a performance"
ewarn "penalty and linking other packages against the debug version"
ewarn "of boost is _not_ recommended."
fi
}
src_prepare() {
epatch \
"${FILESDIR}/${PN}-1.48.0-mpi_python3.patch" \
"${FILESDIR}/${PN}-1.48.0-respect_python-buildid.patch" \
"${FILESDIR}/${PN}-1.48.0-support_dots_in_python-buildid.patch" \
"${FILESDIR}/${PN}-1.48.0-no_strict_aliasing_python2.patch" \
"${FILESDIR}/${PN}-1.48.0-disable_libboost_python3.patch" \
"${FILESDIR}/${PN}-1.48.0-python_linking.patch" \
"${FILESDIR}/${PN}-1.48.0-disable_icu_rpath.patch" \
"${FILESDIR}/remove-toolset-1.48.0.patch"
}
src_configure() {
OPTIONS=""
if [[ ${CHOST} == *-darwin* ]]; then
# We need to add the prefix, and in two cases this exceeds, so prepare
# for the largest possible space allocation.
append-ldflags -Wl,-headerpad_max_install_names
fi
# bug 298489
if use ppc || use ppc64; then
[[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec
fi
use icu && OPTIONS+=" -sICU_PATH=/usr"
use icu || OPTIONS+=" --disable-icu boost.locale.icu=off"
use mpi || OPTIONS+=" --without-mpi"
use python || OPTIONS+=" --without-python"
# https://svn.boost.org/trac/boost/attachment/ticket/2597/add-disable-long-double.patch
if use sparc || { use mips && [[ ${ABI} = "o32" ]]; } || use hppa || use arm || use x86-fbsd || use sh; then
OPTIONS+=" --disable-long-double"
fi
OPTIONS+=" pch=off --boost-build=/usr/share/boost-build-${MAJOR_PV} --prefix=\"${D}usr\" --layout=versioned"
if use static-libs; then
LINK_OPTS="link=shared,static"
LIBRARY_TARGETS="*.a *$(get_libname)"
else
LINK_OPTS="link=shared"
# There is no dynamically linked version of libboost_test_exec_monitor and libboost_exception.
LIBRARY_TARGETS="libboost_test_exec_monitor*.a libboost_exception*.a *$(get_libname)"
fi
}
src_compile() {
export BOOST_ROOT="${S}"
PYTHON_DIRS=""
MPI_PYTHON_MODULE=""
NUMJOBS="-j$(makeopts_jobs)"
building() {
create_user-config.jam
einfo "Using the following command to build:"
einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoorelease --user-config=user-config.jam ${OPTIONS} threading=single,multi ${LINK_OPTS} $(use python && echo --python-buildid=${PYTHON_ABI})"
${BJAM} ${NUMJOBS} -q -d+2 \
gentoorelease \
--user-config=user-config.jam \
${OPTIONS} threading=single,multi ${LINK_OPTS} \
$(use python && echo --python-buildid=${PYTHON_ABI}) \
|| die "Building of Boost libraries failed"
# ... and do the whole thing one more time to get the debug libs
if use debug; then
einfo "Using the following command to build:"
einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoodebug --user-config=user-config.jam ${OPTIONS} threading=single,multi ${LINK_OPTS} --buildid=debug $(use python && echo --python-buildid=${PYTHON_ABI})"
${BJAM} ${NUMJOBS} -q -d+2 \
gentoodebug \
--user-config=user-config.jam \
${OPTIONS} threading=single,multi ${LINK_OPTS} \
--buildid=debug \
$(use python && echo --python-buildid=${PYTHON_ABI}) \
|| die "Building of Boost debug libraries failed"
fi
if use python; then
if [[ -z "${PYTHON_DIRS}" ]]; then
PYTHON_DIRS="$(find bin.v2/libs -name python | sort)"
else
if [[ "${PYTHON_DIRS}" != "$(find bin.v2/libs -name python | sort)" ]]; then
die "Inconsistent structure of build directories"
fi
fi
local dir
for dir in ${PYTHON_DIRS}; do
mv ${dir} ${dir}-${PYTHON_ABI} || die "Renaming of '${dir}' to '${dir}-${PYTHON_ABI}' failed"
done
if use mpi; then
if [[ -z "${MPI_PYTHON_MODULE}" ]]; then
MPI_PYTHON_MODULE="$(find bin.v2/libs/mpi/build/*/gentoorelease -name mpi.so)"
if [[ "$(echo "${MPI_PYTHON_MODULE}" | wc -l)" -ne 1 ]]; then
die "Multiple mpi.so files found"
fi
else
if [[ "${MPI_PYTHON_MODULE}" != "$(find bin.v2/libs/mpi/build/*/gentoorelease -name mpi.so)" ]]; then
die "Inconsistent structure of build directories"
fi
fi
mv stage/lib/mpi.so stage/lib/mpi.so-${PYTHON_ABI} || die "Renaming of 'stage/lib/mpi.so' to 'stage/lib/mpi.so-${PYTHON_ABI}' failed"
fi
fi
}
if use python; then
python_execute_function building
else
building
fi
if use tools; then
pushd tools > /dev/null || die
einfo "Using the following command to build the tools:"
einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoorelease --user-config=../user-config.jam ${OPTIONS}"
${BJAM} ${NUMJOBS} -q -d+2\
gentoorelease \
--user-config=../user-config.jam \
${OPTIONS} \
|| die "Building of Boost tools failed"
popd > /dev/null || die
fi
}
src_install () {
installation() {
create_user-config.jam
if use python; then
local dir
for dir in ${PYTHON_DIRS}; do
cp -pr ${dir}-${PYTHON_ABI} ${dir} || die "Copying of '${dir}-${PYTHON_ABI}' to '${dir}' failed"
done
if use mpi; then
cp -p stage/lib/mpi.so-${PYTHON_ABI} "${MPI_PYTHON_MODULE}" || die "Copying of 'stage/lib/mpi.so-${PYTHON_ABI}' to '${MPI_PYTHON_MODULE}' failed"
cp -p stage/lib/mpi.so-${PYTHON_ABI} stage/lib/mpi.so || die "Copying of 'stage/lib/mpi.so-${PYTHON_ABI}' to 'stage/lib/mpi.so' failed"
fi
fi
einfo "Using the following command to install:"
einfo "${BJAM} -q -d+2 gentoorelease --user-config=user-config.jam ${OPTIONS} threading=single,multi ${LINK_OPTS} --includedir=\"${D}usr/include\" --libdir=\"${D}usr/$(get_libdir)\" $(use python && echo --python-buildid=${PYTHON_ABI}) install"
${BJAM} -q -d+2 \
gentoorelease \
--user-config=user-config.jam \
${OPTIONS} threading=single,multi ${LINK_OPTS} \
--includedir="${D}usr/include" \
--libdir="${D}usr/$(get_libdir)" \
$(use python && echo --python-buildid=${PYTHON_ABI}) \
install || die "Installation of Boost libraries failed"
if use debug; then
einfo "Using the following command to install:"
einfo "${BJAM} -q -d+2 gentoodebug --user-config=user-config.jam ${OPTIONS} threading=single,multi ${LINK_OPTS} --includedir=\"${D}usr/include\" --libdir=\"${D}usr/$(get_libdir)\" --buildid=debug $(use python && echo --python-buildid=${PYTHON_ABI})"
${BJAM} -q -d+2 \
gentoodebug \
--user-config=user-config.jam \
${OPTIONS} threading=single,multi ${LINK_OPTS} \
--includedir="${D}usr/include" \
--libdir="${D}usr/$(get_libdir)" \
--buildid=debug \
$(use python && echo --python-buildid=${PYTHON_ABI}) \
install || die "Installation of Boost debug libraries failed"
fi
if use python; then
rm -r ${PYTHON_DIRS} || die
# Move mpi.so Python module to Python site-packages directory and make sure it is slotted.
if use mpi; then
mkdir -p "${D}$(python_get_sitedir)/boost_${MAJOR_PV}" || die
mv "${D}usr/$(get_libdir)/mpi.so" "${D}$(python_get_sitedir)/boost_${MAJOR_PV}" || die
cat << EOF > "${D}$(python_get_sitedir)/boost_${MAJOR_PV}/__init__.py" || die
import sys
if sys.platform.startswith('linux'):
import DLFCN
flags = sys.getdlopenflags()
sys.setdlopenflags(DLFCN.RTLD_NOW | DLFCN.RTLD_GLOBAL)
from . import mpi
sys.setdlopenflags(flags)
del DLFCN, flags
else:
from . import mpi
del sys
EOF
fi
fi
}
if use python; then
python_execute_function installation
else
installation
fi
use python || rm -rf "${D}usr/include/boost-${MAJOR_PV}/boost"/python* || die
if use doc; then
find libs/*/* -iname "test" -or -iname "src" | xargs rm -rf
dohtml \
-A pdf,txt,cpp,hpp \
*.{htm,html,png,css} \
-r doc
dohtml \
-A pdf,txt \
-r tools
insinto /usr/share/doc/${PF}/html
doins -r libs
doins -r more
# To avoid broken links
insinto /usr/share/doc/${PF}/html
doins LICENSE_1_0.txt
dosym /usr/include/boost-${MAJOR_PV}/boost /usr/share/doc/${PF}/html/boost
fi
pushd "${D}usr/$(get_libdir)" > /dev/null || die
# Remove (unversioned) symlinks
# And check for what we remove to catch bugs
# got a better idea how to do it? tell me!
local f
for f in $(ls -1 ${LIBRARY_TARGETS} | grep -v "${MAJOR_PV}"); do
if [[ ! -h "${f}" ]]; then
eerror "Tried to remove '${f}' which is a regular file instead of a symlink"
die "Slotting/naming of the libraries broken!"
fi
rm "${f}" || die
done
# The threading libs obviously always gets the "-mt" (multithreading) tag
# some packages seem to have a problem with it. Creating symlinks...
if use static-libs; then
THREAD_LIBS="libboost_thread-mt-${MAJOR_PV}.a libboost_thread-mt-${MAJOR_PV}$(get_libname)"
else
THREAD_LIBS="libboost_thread-mt-${MAJOR_PV}$(get_libname)"
fi
local lib
for lib in ${THREAD_LIBS}; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
done
# The same goes for the mpi libs
if use mpi; then
if use static-libs; then
MPI_LIBS="libboost_mpi-mt-${MAJOR_PV}.a libboost_mpi-mt-${MAJOR_PV}$(get_libname)"
else
MPI_LIBS="libboost_mpi-mt-${MAJOR_PV}$(get_libname)"
fi
local lib
for lib in ${MPI_LIBS}; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
done
fi
if use debug; then
if use static-libs; then
THREAD_DEBUG_LIBS="libboost_thread-mt-${MAJOR_PV}-debug$(get_libname) libboost_thread-mt-${MAJOR_PV}-debug.a"
else
THREAD_DEBUG_LIBS="libboost_thread-mt-${MAJOR_PV}-debug$(get_libname)"
fi
local lib
for lib in ${THREAD_DEBUG_LIBS}; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
done
if use mpi; then
if use static-libs; then
MPI_DEBUG_LIBS="libboost_mpi-mt-${MAJOR_PV}-debug.a libboost_mpi-mt-${MAJOR_PV}-debug$(get_libname)"
else
MPI_DEBUG_LIBS="libboost_mpi-mt-${MAJOR_PV}-debug$(get_libname)"
fi
local lib
for lib in ${MPI_DEBUG_LIBS}; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
done
fi
fi
# Create a subdirectory with completely unversioned symlinks
dodir /usr/$(get_libdir)/boost-${MAJOR_PV}
local f
for f in $(ls -1 ${LIBRARY_TARGETS} | grep -v debug); do
dosym ../${f} /usr/$(get_libdir)/boost-${MAJOR_PV}/${f/-${MAJOR_PV}}
done
if use debug; then
dodir /usr/$(get_libdir)/boost-${MAJOR_PV}-debug
local f
for f in $(ls -1 ${LIBRARY_TARGETS} | grep debug); do
dosym ../${f} /usr/$(get_libdir)/boost-${MAJOR_PV}-debug/${f/-${MAJOR_PV}-debug}
done
fi
popd > /dev/null || die
if use tools; then
pushd dist/bin > /dev/null || die
# Append version postfix to binaries for slotting
local b
for b in *; do
newbin "${b}" "${b}-${MAJOR_PV}"
done
popd > /dev/null || die
pushd dist > /dev/null || die
insinto /usr/share
doins -r share/boostbook
# Append version postfix for slotting
mv "${D}usr/share/boostbook" "${D}usr/share/boostbook-${MAJOR_PV}" || die
popd > /dev/null || die
fi
pushd status > /dev/null || die
if [[ -f regress.log ]]; then
docinto status
dohtml *.html ../boost.png
dodoc regress.log
fi
popd > /dev/null || die
# boost's build system truely sucks for not having a destdir. Because for
# this reason we are forced to build with a prefix that includes the
# DESTROOT, dynamic libraries on Darwin end messed up, referencing the
# DESTROOT instread of the actual EPREFIX. There is no way out of here
# but to do it the dirty way of manually setting the right install_names.
if [[ ${CHOST} == *-darwin* ]]; then
einfo "Working around completely broken build-system(tm)"
local d
for d in "${ED}"usr/lib/*.dylib; do
if [[ -f ${d} ]]; then
# fix the "soname"
ebegin " correcting install_name of ${d#${ED}}"
install_name_tool -id "/${d#${D}}" "${d}"
eend $?
# fix references to other libs
refs=$(otool -XL "${d}" | \
sed -e '1d' -e 's/^\t//' | \
grep "^libboost_" | \
cut -f1 -d' ')
local r
for r in ${refs}; do
ebegin " correcting reference to ${r}"
install_name_tool -change \
"${r}" \
"${EPREFIX}/usr/lib/${r}" \
"${d}"
eend $?
done
fi
done
fi
}
src_test() {
testing() {
if use python; then
local dir
for dir in ${PYTHON_DIRS}; do
cp -pr ${dir}-${PYTHON_ABI} ${dir} || die "Copying of '${dir}-${PYTHON_ABI}' to '${dir}' failed"
done
if use mpi; then
cp -p stage/lib/mpi.so-${PYTHON_ABI} "${MPI_PYTHON_MODULE}" || die "Copying of 'stage/lib/mpi.so-${PYTHON_ABI}' to '${MPI_PYTHON_MODULE}' failed"
cp -p stage/lib/mpi.so-${PYTHON_ABI} stage/lib/mpi.so || die "Copying of 'stage/lib/mpi.so-${PYTHON_ABI}' to 'stage/lib/mpi.so' failed"
fi
fi
pushd tools/regression/build > /dev/null || die
einfo "Using the following command to build test helpers:"
einfo "${BJAM} -q -d+2 gentoorelease --user-config=../../../user-config.jam ${OPTIONS} process_jam_log compiler_status"
${BJAM} -q -d+2 \
gentoorelease \
--user-config=../../../user-config.jam \
${OPTIONS} \
process_jam_log compiler_status \
|| die "Building of regression test helpers failed"
popd > /dev/null || die
pushd status > /dev/null || die
# Some of the test-checks seem to rely on regexps
export LC_ALL="C"
# The following is largely taken from tools/regression/run_tests.sh,
# but adapted to our needs.
# Run the tests & write them into a file for postprocessing
einfo "Using the following command to test:"
einfo "${BJAM} --user-config=../user-config.jam ${OPTIONS} --dump-tests"
${BJAM} \
--user-config=../user-config.jam \
${OPTIONS} \
--dump-tests 2>&1 | tee regress.log || die
# Postprocessing
cat regress.log | "$(find ../tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease -name process_jam_log)" --v2
if test $? != 0; then
die "Postprocessing the build log failed"
fi
cat > comment.html <<- __EOF__
<p>Tests are run on a <a href="http://www.gentoo.org">Gentoo</a> system.</p>
__EOF__
# Generate the build log html summary page
"$(find ../tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease -name compiler_status)" --v2 \
--comment comment.html "${S}" \
cs-$(uname).html cs-$(uname)-links.html
if test $? != 0; then
die "Generating the build log html summary page failed"
fi
# And do some cosmetic fixes :)
sed -i -e 's|http://www.boost.org/boost.png|boost.png|' *.html || die
popd > /dev/null || die
if use python; then
rm -r ${PYTHON_DIRS} || die
fi
}
if use python; then
python_execute_function -f -q testing
else
testing
fi
}
pkg_postinst() {
# mostly copy/paste from eselect-boost
_boost_tools="bcp bjam compiler_status inspect library_status process_jam_log quickbook wave"
# ... meaning: <none> and -debug:
_suffices="|-debug"
einfo "Removing symlinks from old version"
local link
for link in "${ROOT}/usr/include/boost" "${ROOT}/usr/share/boostbook" ; do
if [[ -L "${link}" ]] ; then
rm "${link}" || die -q "Couldn't remove \"${link}\" symlink"
else
[[ -e "${link}" ]] && die -q "\"${link}\" exists and isn't a symlink"
fi
done
pushd "${ROOT}/usr/$(get_libdir)" 1>/dev/null
local lib
for lib in libboost_*.{a,so} ; do
[[ -L "${lib}" && "${lib}" != libboost_*[[:digit:]]_[[:digit:]][[:digit:]]@(${_suffices}).@(a|so) ]] || continue
rm "${lib}" || die -q "Unable to remove \"/usr/$(get_libdir)/${lib}\" symlink"
done
popd 1>/dev/null
pushd "${ROOT}"/usr/bin 1>/dev/null
local tool
for tool in ${_boost_tools} ; do
[[ -L "${tool}" ]] && ( rm "${tool}" || die -q "Unable to remove \"/usr/bin/${tool}\" symlink" )
done
popd 1>/dev/null
local python_module python_module_dir
for python_module in mpi.py ; do
for python_module_dir in "${ROOT}"usr/$(get_libdir)/python*/site-packages ; do
if [[ -e "${python_module_dir}/${python_module}" ]] ; then
rm "${python_module_dir}/${python_module}" || die -q "Unable to remove \"${python_module_dir}/${python_module}\""
fi
done
done
# Deprecated code for Boost <1.48.
local mod="mpi.so"
for moddir in "${ROOT}"/usr/$(get_libdir)/python*/site-packages ; do
if [ -L "${moddir}/${mod}" ] ; then
rm "${moddir}/${mod}" || die -q "Unable to remove \"${moddir}/${mod}\" symlink"
else
[[ -e "${moddir}/${mod}" ]] && die -q "\"${moddir}/${mod}\" exists and isn't a symlink"
fi
done
if [ -L "${ROOT}/etc/eselect/boost/active" ] ; then
rm "${ROOT}/etc/eselect/boost/active" || die -q "Unable to remove \"${ROOT}/etc/eselect/boost/active\" symlink"
else
[[ -e "${ROOT}/etc/eselect/boost/active" ]] && die -q "\"${ROOT}/etc/eselect/boost/active\" exists and isn't a symlink"
fi
if use python; then
if use mpi; then
create_mpi.py() {
echo "from boost_${MAJOR_PV}.mpi import *" > "${EROOT}$(python_get_sitedir -b)/mpi.py"
}
python_execute_function -q create_mpi.py
fi
python_mod_optimize boost_${MAJOR_PV} $(use mpi && echo mpi.py)
fi
}
pkg_postrm() {
if use python; then
if use mpi; then
delete_mpi.py() {
if [[ "$(<"${EROOT}$(python_get_sitedir -b)/mpi.py")" == "from boost_${MAJOR_PV}.mpi import *" ]]; then
rm -f "${EROOT}$(python_get_sitedir -b)/mpi.py"
fi
}
python_execute_function -q delete_mpi.py
fi
python_mod_cleanup boost_${MAJOR_PV} $(use mpi && echo mpi.py)
fi
}

@ -1,613 +0,0 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.50.0.ebuild,v 1.1 2012/07/07 18:56:41 floppym Exp $
EAPI="4"
PYTHON_DEPEND="python? *"
SUPPORT_PYTHON_ABIS="1"
RESTRICT_PYTHON_ABIS="*-jython *-pypy-*"
inherit check-reqs flag-o-matic multilib python toolchain-funcs versionator
MY_P=${PN}_$(replace_all_version_separators _)
DESCRIPTION="Boost Libraries for C++"
HOMEPAGE="http://www.boost.org/"
SRC_URI="mirror://sourceforge/boost/${MY_P}.tar.bz2"
LICENSE="Boost-1.0"
SLOT="$(get_version_component_range 1-2)"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
IUSE="debug doc +eselect icu mpi python static-libs test tools"
RDEPEND="icu? ( >=dev-libs/icu-3.3 )
mpi? ( || ( sys-cluster/openmpi[cxx] sys-cluster/mpich2[cxx,threads] ) )
sys-libs/zlib
!!<=dev-libs/boost-1.35.0-r2
>=app-admin/eselect-boost-0.4"
DEPEND="${RDEPEND}
dev-util/boost-build:${SLOT}"
S=${WORKDIR}/${MY_P}
MAJOR_PV=$(replace_all_version_separators _ ${SLOT})
BJAM="b2-${MAJOR_PV}"
# Usage:
# _add_line <line-to-add> <profile>
# ... to add to specific profile
# or
# _add_line <line-to-add>
# ... to add to all profiles for which the use flag set
_add_line() {
if [[ -z "$2" ]]; then
echo "${1}" >> "${D}usr/share/boost-eselect/profiles/${SLOT}/default"
if use debug; then
echo "${1}" >> "${D}usr/share/boost-eselect/profiles/${SLOT}/debug"
fi
else
echo "${1}" >> "${D}usr/share/boost-eselect/profiles/${SLOT}/${2}"
fi
}
create_user-config.jam() {
local compiler compiler_version compiler_executable
if [[ ${CHOST} == *-darwin* ]]; then
compiler="darwin"
compiler_version="$(gcc-fullversion)"
compiler_executable="$(tc-getCXX)"
else
compiler="gcc"
compiler_version="$(gcc-version)"
compiler_executable="$(tc-getCXX)"
fi
local mpi_configuration python_configuration
if use mpi; then
mpi_configuration="using mpi ;"
fi
if use python; then
python_configuration="using python : $(python_get_version) : /usr : $(python_get_includedir) : /usr/$(get_libdir) ;"
fi
# The debug-symbols=none and optimization=none are not official upstream flags but a Gentoo
# specific patch to make sure that all our CFLAGS/CXXFLAGS/LDFLAGS are being respected.
# Using optimization=off would for example add "-O0" and override "-O2" set by the user.
# Please take a look at the boost-build ebuild for more information.
cat > user-config.jam << __EOF__
variant gentoorelease : release : <optimization>none <debug-symbols>none ;
variant gentoodebug : debug : <optimization>none ;
using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
${mpi_configuration}
${python_configuration}
__EOF__
}
pkg_pretend() {
if use test; then
CHECKREQS_DISK_BUILD="15G" check-reqs_pkg_pretend
ewarn "The tests may take several hours on a recent machine"
ewarn "but they will not fail (unless something weird happens ;-)"
ewarn "This is because the tests depend on the used compiler version"
ewarn "and the platform and upstream says that this is normal."
ewarn "If you are interested in the results, please take a look at the"
ewarn "generated results page:"
ewarn " ${ROOT}usr/share/doc/${PF}/status/cs-$(uname).html"
fi
}
pkg_setup() {
if use python; then
python_pkg_setup
fi
if use debug; then
ewarn "The debug USE flag means that a second set of the boost libraries"
ewarn "will be built containing debug symbols. You'll be able to select them"
ewarn "using the boost-eselect module. But even though the optimization flags"
ewarn "you might have set are not stripped, there will be a performance"
ewarn "penalty and linking other packages against the debug version"
ewarn "of boost is _not_ recommended."
fi
}
src_prepare() {
epatch "${FILESDIR}/${PN}-1.48.0-mpi_python3.patch"
epatch "${FILESDIR}/${PN}-1.48.0-respect_python-buildid.patch"
epatch "${FILESDIR}/${PN}-1.48.0-support_dots_in_python-buildid.patch"
epatch "${FILESDIR}/${PN}-1.48.0-no_strict_aliasing_python2.patch"
epatch "${FILESDIR}/${PN}-1.48.0-disable_libboost_python3.patch"
epatch "${FILESDIR}/${PN}-1.48.0-python_linking.patch"
epatch "${FILESDIR}/${PN}-1.48.0-disable_icu_rpath.patch"
epatch "${FILESDIR}/remove-toolset-1.48.0.patch"
}
src_configure() {
OPTIONS=""
if [[ ${CHOST} == *-darwin* ]]; then
# We need to add the prefix, and in two cases this exceeds, so prepare
# for the largest possible space allocation.
append-ldflags -Wl,-headerpad_max_install_names
fi
# bug 298489
if use ppc || use ppc64; then
[[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec
fi
use icu && OPTIONS+=" -sICU_PATH=/usr"
use icu || OPTIONS+=" --disable-icu boost.locale.icu=off"
use mpi || OPTIONS+=" --without-mpi"
use python || OPTIONS+=" --without-python"
# https://svn.boost.org/trac/boost/attachment/ticket/2597/add-disable-long-double.patch
if use sparc || { use mips && [[ ${ABI} = "o32" ]]; } || use hppa || use arm || use x86-fbsd || use sh; then
OPTIONS+=" --disable-long-double"
fi
OPTIONS+=" pch=off --boost-build=/usr/share/boost-build-${MAJOR_PV} --prefix=\"${D}usr\" --layout=versioned"
if use static-libs; then
LINK_OPTS="link=shared,static"
LIBRARY_TARGETS="*.a *$(get_libname)"
else
LINK_OPTS="link=shared"
# There is no dynamically linked version of libboost_test_exec_monitor and libboost_exception.
LIBRARY_TARGETS="libboost_test_exec_monitor*.a libboost_exception*.a *$(get_libname)"
fi
}
src_compile() {
local jobs
jobs=$( echo " ${MAKEOPTS} " | \
sed -e 's/ --jobs[= ]/ -j /g' \
-e 's/ -j \([1-9][0-9]*\)/ -j\1/g' \
-e 's/ -j\>/ -j1/g' | \
( while read -d ' ' j; do if [[ "${j#-j}" = "$j" ]]; then continue; fi; jobs="${j#-j}"; done; echo ${jobs} ) )
if [[ "${jobs}" != "" ]]; then NUMJOBS="-j"${jobs}; fi
export BOOST_ROOT="${S}"
PYTHON_DIRS=""
MPI_PYTHON_MODULE=""
building() {
create_user-config.jam
einfo "Using the following command to build:"
einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoorelease --user-config=user-config.jam ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared $(use python && echo --python-buildid=${PYTHON_ABI})"
${BJAM} ${NUMJOBS} -q -d+2 \
gentoorelease \
--user-config=user-config.jam \
${OPTIONS} \
threading=single,multi ${LINK_OPTS} runtime-link=shared \
$(use python && echo --python-buildid=${PYTHON_ABI}) \
|| die "Building of Boost libraries failed"
# ... and do the whole thing one more time to get the debug libs
if use debug; then
einfo "Using the following command to build:"
einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoodebug --user-config=user-config.jam ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared --buildid=debug $(use python && echo --python-buildid=${PYTHON_ABI})"
${BJAM} ${NUMJOBS} -q -d+2 \
gentoodebug \
--user-config=user-config.jam \
${OPTIONS} \
threading=single,multi ${LINK_OPTS} runtime-link=shared \
--buildid=debug \
$(use python && echo --python-buildid=${PYTHON_ABI}) \
|| die "Building of Boost debug libraries failed"
fi
if use python; then
if [[ -z "${PYTHON_DIRS}" ]]; then
PYTHON_DIRS="$(find bin.v2/libs -name python | sort)"
else
if [[ "${PYTHON_DIRS}" != "$(find bin.v2/libs -name python | sort)" ]]; then
die "Inconsistent structure of build directories"
fi
fi
local dir
for dir in ${PYTHON_DIRS}; do
mv ${dir} ${dir}-${PYTHON_ABI} || die "Renaming of '${dir}' to '${dir}-${PYTHON_ABI}' failed"
done
if use mpi; then
if [[ -z "${MPI_PYTHON_MODULE}" ]]; then
MPI_PYTHON_MODULE="$(find bin.v2/libs/mpi/build/*/gentoorelease -name mpi.so)"
if [[ "$(echo "${MPI_PYTHON_MODULE}" | wc -l)" -ne 1 ]]; then
die "Multiple mpi.so files found"
fi
else
if [[ "${MPI_PYTHON_MODULE}" != "$(find bin.v2/libs/mpi/build/*/gentoorelease -name mpi.so)" ]]; then
die "Inconsistent structure of build directories"
fi
fi
mv stage/lib/mpi.so stage/lib/mpi.so-${PYTHON_ABI} || die "Renaming of 'stage/lib/mpi.so' to 'stage/lib/mpi.so-${PYTHON_ABI}' failed"
fi
fi
}
if use python; then
python_execute_function building
else
building
fi
if use tools; then
pushd tools > /dev/null || die
einfo "Using the following command to build the tools:"
einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoorelease --user-config=../user-config.jam ${OPTIONS}"
${BJAM} ${NUMJOBS} -q -d+2\
gentoorelease \
--user-config=../user-config.jam \
${OPTIONS} \
|| die "Building of Boost tools failed"
popd > /dev/null || die
fi
}
src_install () {
dodir /usr/share/boost-eselect/profiles/${SLOT}
touch "${D}usr/share/boost-eselect/profiles/${SLOT}/default" || die
if use debug; then
touch "${D}usr/share/boost-eselect/profiles/${SLOT}/debug" || die
fi
if use mpi && use python; then
_add_line "python_modules=\""
fi
installation() {
create_user-config.jam
if use python; then
local dir
for dir in ${PYTHON_DIRS}; do
cp -pr ${dir}-${PYTHON_ABI} ${dir} || die "Copying of '${dir}-${PYTHON_ABI}' to '${dir}' failed"
done
if use mpi; then
cp -p stage/lib/mpi.so-${PYTHON_ABI} "${MPI_PYTHON_MODULE}" || die "Copying of 'stage/lib/mpi.so-${PYTHON_ABI}' to '${MPI_PYTHON_MODULE}' failed"
cp -p stage/lib/mpi.so-${PYTHON_ABI} stage/lib/mpi.so || die "Copying of 'stage/lib/mpi.so-${PYTHON_ABI}' to 'stage/lib/mpi.so' failed"
fi
fi
einfo "Using the following command to install:"
einfo "${BJAM} -q -d+2 gentoorelease --user-config=user-config.jam ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared --includedir=\"${D}usr/include\" --libdir=\"${D}usr/$(get_libdir)\" $(use python && echo --python-buildid=${PYTHON_ABI}) install"
${BJAM} -q -d+2 \
gentoorelease \
--user-config=user-config.jam \
${OPTIONS} \
threading=single,multi ${LINK_OPTS} runtime-link=shared \
--includedir="${D}usr/include" \
--libdir="${D}usr/$(get_libdir)" \
$(use python && echo --python-buildid=${PYTHON_ABI}) \
install || die "Installation of Boost libraries failed"
if use debug; then
einfo "Using the following command to install:"
einfo "${BJAM} -q -d+2 gentoodebug --user-config=user-config.jam ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared --includedir=\"${D}usr/include\" --libdir=\"${D}usr/$(get_libdir)\" --buildid=debug $(use python && echo --python-buildid=${PYTHON_ABI})"
${BJAM} -q -d+2 \
gentoodebug \
--user-config=user-config.jam \
${OPTIONS} \
threading=single,multi ${LINK_OPTS} runtime-link=shared \
--includedir="${D}usr/include" \
--libdir="${D}usr/$(get_libdir)" \
--buildid=debug \
$(use python && echo --python-buildid=${PYTHON_ABI}) \
install || die "Installation of Boost debug libraries failed"
fi
if use python; then
rm -r ${PYTHON_DIRS} || die
# Move mpi.so Python module to Python site-packages directory and make sure it is slotted.
if use mpi; then
mkdir -p "${D}$(python_get_sitedir)/boost_${MAJOR_PV}" || die
mv "${D}usr/$(get_libdir)/mpi.so" "${D}$(python_get_sitedir)/boost_${MAJOR_PV}" || die
cat << EOF > "${D}$(python_get_sitedir)/boost_${MAJOR_PV}/__init__.py" || die
import sys
if sys.platform.startswith('linux'):
import DLFCN
flags = sys.getdlopenflags()
sys.setdlopenflags(DLFCN.RTLD_NOW | DLFCN.RTLD_GLOBAL)
from . import mpi
sys.setdlopenflags(flags)
del DLFCN, flags
else:
from . import mpi
del sys
EOF
_add_line "$(python_get_sitedir)/mpi.py:boost_${MAJOR_PV}.mpi"
fi
fi
}
if use python; then
python_execute_function installation
else
installation
fi
if use mpi && use python; then
_add_line "\""
fi
use python || rm -rf "${D}usr/include/boost-${MAJOR_PV}/boost"/python* || die
if use doc; then
find libs/*/* -iname "test" -or -iname "src" | xargs rm -rf
dohtml \
-A pdf,txt,cpp,hpp \
*.{htm,html,png,css} \
-r doc
dohtml \
-A pdf,txt \
-r tools
insinto /usr/share/doc/${PF}/html
doins -r libs
doins -r more
# To avoid broken links
insinto /usr/share/doc/${PF}/html
doins LICENSE_1_0.txt
dosym /usr/include/boost-${MAJOR_PV}/boost /usr/share/doc/${PF}/html/boost
fi
pushd "${D}usr/$(get_libdir)" > /dev/null || die
# Remove (unversioned) symlinks
# And check for what we remove to catch bugs
# got a better idea how to do it? tell me!
local f
for f in $(ls -1 ${LIBRARY_TARGETS} | grep -v "${MAJOR_PV}"); do
if [[ ! -h "${f}" ]]; then
eerror "Tried to remove '${f}' which is a regular file instead of a symlink"
die "Slotting/naming of the libraries broken!"
fi
rm "${f}" || die
done
# The threading libs obviously always gets the "-mt" (multithreading) tag
# some packages seem to have a problem with it. Creating symlinks...
if use static-libs; then
THREAD_LIBS="libboost_thread-mt-${MAJOR_PV}.a libboost_thread-mt-${MAJOR_PV}$(get_libname)"
else
THREAD_LIBS="libboost_thread-mt-${MAJOR_PV}$(get_libname)"
fi
local lib
for lib in ${THREAD_LIBS}; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
done
# The same goes for the mpi libs
if use mpi; then
if use static-libs; then
MPI_LIBS="libboost_mpi-mt-${MAJOR_PV}.a libboost_mpi-mt-${MAJOR_PV}$(get_libname)"
else
MPI_LIBS="libboost_mpi-mt-${MAJOR_PV}$(get_libname)"
fi
local lib
for lib in ${MPI_LIBS}; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
done
fi
if use debug; then
if use static-libs; then
THREAD_DEBUG_LIBS="libboost_thread-mt-${MAJOR_PV}-debug$(get_libname) libboost_thread-mt-${MAJOR_PV}-debug.a"
else
THREAD_DEBUG_LIBS="libboost_thread-mt-${MAJOR_PV}-debug$(get_libname)"
fi
local lib
for lib in ${THREAD_DEBUG_LIBS}; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
done
if use mpi; then
if use static-libs; then
MPI_DEBUG_LIBS="libboost_mpi-mt-${MAJOR_PV}-debug.a libboost_mpi-mt-${MAJOR_PV}-debug$(get_libname)"
else
MPI_DEBUG_LIBS="libboost_mpi-mt-${MAJOR_PV}-debug$(get_libname)"
fi
local lib
for lib in ${MPI_DEBUG_LIBS}; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
done
fi
fi
# Create a subdirectory with completely unversioned symlinks
# and store the names in the profiles-file for eselect
dodir /usr/$(get_libdir)/boost-${MAJOR_PV}
_add_line "libs=\"" default
local f
for f in $(ls -1 ${LIBRARY_TARGETS} | grep -v debug); do
dosym ../${f} /usr/$(get_libdir)/boost-${MAJOR_PV}/${f/-${MAJOR_PV}}
_add_line "/usr/$(get_libdir)/${f}" default
done
_add_line "\"" default
if use debug; then
_add_line "libs=\"" debug
dodir /usr/$(get_libdir)/boost-${MAJOR_PV}-debug
local f
for f in $(ls -1 ${LIBRARY_TARGETS} | grep debug); do
dosym ../${f} /usr/$(get_libdir)/boost-${MAJOR_PV}-debug/${f/-${MAJOR_PV}-debug}
_add_line "/usr/$(get_libdir)/${f}" debug
done
_add_line "\"" debug
_add_line "includes=\"/usr/include/boost-${MAJOR_PV}/boost\"" debug
_add_line "suffix=\"-debug\"" debug
fi
_add_line "includes=\"/usr/include/boost-${MAJOR_PV}/boost\"" default
popd > /dev/null || die
if use tools; then
pushd dist/bin > /dev/null || die
# Append version postfix to binaries for slotting
_add_line "bins=\""
local b
for b in *; do
newbin "${b}" "${b}-${MAJOR_PV}"
_add_line "/usr/bin/${b}-${MAJOR_PV}"
done
_add_line "\""
popd > /dev/null || die
pushd dist > /dev/null || die
insinto /usr/share
doins -r share/boostbook
# Append version postfix for slotting
mv "${D}usr/share/boostbook" "${D}usr/share/boostbook-${MAJOR_PV}" || die
_add_line "dirs=\"/usr/share/boostbook-${MAJOR_PV}\""
popd > /dev/null || die
fi
pushd status > /dev/null || die
if [[ -f regress.log ]]; then
docinto status
dohtml *.html ../boost.png
dodoc regress.log
fi
popd > /dev/null || die
# boost's build system truely sucks for not having a destdir. Because for
# this reason we are forced to build with a prefix that includes the
# DESTROOT, dynamic libraries on Darwin end messed up, referencing the
# DESTROOT instread of the actual EPREFIX. There is no way out of here
# but to do it the dirty way of manually setting the right install_names.
if [[ ${CHOST} == *-darwin* ]]; then
einfo "Working around completely broken build-system(tm)"
local d
for d in "${ED}"usr/lib/*.dylib; do
if [[ -f ${d} ]]; then
# fix the "soname"
ebegin " correcting install_name of ${d#${ED}}"
install_name_tool -id "/${d#${D}}" "${d}"
eend $?
# fix references to other libs
refs=$(otool -XL "${d}" | \
sed -e '1d' -e 's/^\t//' | \
grep "^libboost_" | \
cut -f1 -d' ')
local r
for r in ${refs}; do
ebegin " correcting reference to ${r}"
install_name_tool -change \
"${r}" \
"${EPREFIX}/usr/lib/${r}" \
"${d}"
eend $?
done
fi
done
fi
}
src_test() {
testing() {
if use python; then
local dir
for dir in ${PYTHON_DIRS}; do
cp -pr ${dir}-${PYTHON_ABI} ${dir} || die "Copying of '${dir}-${PYTHON_ABI}' to '${dir}' failed"
done
if use mpi; then
cp -p stage/lib/mpi.so-${PYTHON_ABI} "${MPI_PYTHON_MODULE}" || die "Copying of 'stage/lib/mpi.so-${PYTHON_ABI}' to '${MPI_PYTHON_MODULE}' failed"
cp -p stage/lib/mpi.so-${PYTHON_ABI} stage/lib/mpi.so || die "Copying of 'stage/lib/mpi.so-${PYTHON_ABI}' to 'stage/lib/mpi.so' failed"
fi
fi
pushd tools/regression/build > /dev/null || die
einfo "Using the following command to build test helpers:"
einfo "${BJAM} -q -d+2 gentoorelease --user-config=../../../user-config.jam ${OPTIONS} process_jam_log compiler_status"
${BJAM} -q -d+2 \
gentoorelease \
--user-config=../../../user-config.jam \
${OPTIONS} \
process_jam_log compiler_status \
|| die "Building of regression test helpers failed"
popd > /dev/null || die
pushd status > /dev/null || die
# Some of the test-checks seem to rely on regexps
export LC_ALL="C"
# The following is largely taken from tools/regression/run_tests.sh,
# but adapted to our needs.
# Run the tests & write them into a file for postprocessing
einfo "Using the following command to test:"
einfo "${BJAM} --user-config=../user-config.jam ${OPTIONS} --dump-tests"
${BJAM} \
--user-config=../user-config.jam \
${OPTIONS} \
--dump-tests 2>&1 | tee regress.log || die
# Postprocessing
cat regress.log | "$(find ../tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease -name process_jam_log)" --v2
if test $? != 0; then
die "Postprocessing the build log failed"
fi
cat > comment.html <<- __EOF__
<p>Tests are run on a <a href="http://www.gentoo.org">Gentoo</a> system.</p>
__EOF__
# Generate the build log html summary page
"$(find ../tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease -name compiler_status)" --v2 \
--comment comment.html "${S}" \
cs-$(uname).html cs-$(uname)-links.html
if test $? != 0; then
die "Generating the build log html summary page failed"
fi
# And do some cosmetic fixes :)
sed -i -e 's|http://www.boost.org/boost.png|boost.png|' *.html || die
popd > /dev/null || die
if use python; then
rm -r ${PYTHON_DIRS} || die
fi
}
if use python; then
python_execute_function -f -q testing
else
testing
fi
}
pkg_postinst() {
if use eselect; then
eselect boost update || ewarn "eselect boost update failed."
fi
if [[ ! -h "${ROOT}etc/eselect/boost/active" ]]; then
elog "No active boost version found. Calling eselect to select one..."
eselect boost update || ewarn "eselect boost update failed."
fi
}

@ -1,13 +1,13 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.51.0.ebuild,v 1.1 2012/10/25 22:28:45 floppym Exp $
# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.51.0-r1.ebuild,v 1.1 2012/10/31 16:32:25 flameeyes Exp $
EAPI="5"
PYTHON_DEPEND="python? *"
SUPPORT_PYTHON_ABIS="1"
RESTRICT_PYTHON_ABIS="*-jython *-pypy-*"
inherit check-reqs flag-o-matic multilib multiprocessing python toolchain-funcs versionator
inherit flag-o-matic multilib multiprocessing python toolchain-funcs versionator
MY_P=${PN}_$(replace_all_version_separators _)
@ -16,21 +16,22 @@ HOMEPAGE="http://www.boost.org/"
SRC_URI="mirror://sourceforge/boost/${MY_P}.tar.bz2"
LICENSE="Boost-1.0"
SLOT="$(get_version_component_range 1-2)"
SLOT=0
MAJOR_V="$(get_version_component_range 1-2)"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
IUSE="debug doc icu mpi python static-libs test tools"
IUSE="debug doc icu mpi python static-libs tools"
RDEPEND="icu? ( >=dev-libs/icu-3.6:= )
!icu? ( virtual/libiconv )
mpi? ( || ( sys-cluster/openmpi[cxx] sys-cluster/mpich2[cxx,threads] ) )
sys-libs/zlib
!!<=dev-libs/boost-1.35.0-r2"
!app-admin/eselect-boost"
DEPEND="${RDEPEND}
dev-util/boost-build:${SLOT}"
=dev-util/boost-build-${MAJOR_V}*"
S=${WORKDIR}/${MY_P}
MAJOR_PV=$(replace_all_version_separators _ ${SLOT})
MAJOR_PV=$(replace_all_version_separators _ ${MAJOR_V})
BJAM="b2-${MAJOR_PV}"
create_user-config.jam() {
@ -62,32 +63,10 @@ ${python_configuration}
__EOF__
}
pkg_pretend() {
if use test; then
CHECKREQS_DISK_BUILD="15G" check-reqs_pkg_pretend
ewarn "The tests may take several hours on a recent machine"
ewarn "but they will not fail (unless something weird happens ;-)"
ewarn "This is because the tests depend on the used compiler version"
ewarn "and the platform and upstream says that this is normal."
ewarn "If you are interested in the results, please take a look at the"
ewarn "generated results page:"
ewarn " ${ROOT}usr/share/doc/${PF}/status/cs-$(uname).html"
fi
}
pkg_setup() {
if use python; then
python_pkg_setup
fi
if use debug; then
ewarn "The debug USE flag means that a second set of the boost libraries"
ewarn "will be built containing debug symbols. But even though the optimization flags"
ewarn "you might have set are not stripped, there will be a performance"
ewarn "penalty and linking other packages against the debug version"
ewarn "of boost is _not_ recommended."
fi
}
src_prepare() {
@ -293,7 +272,7 @@ EOF
installation
fi
use python || rm -rf "${D}usr/include/boost-${MAJOR_PV}/boost"/python* || die
use python || rm -rf "${D}usr/include/boost"/python* || die
if use doc; then
find libs/*/* -iname "test" -or -iname "src" | xargs rm -rf
@ -312,22 +291,12 @@ EOF
insinto /usr/share/doc/${PF}/html
doins LICENSE_1_0.txt
dosym /usr/include/boost-${MAJOR_PV}/boost /usr/share/doc/${PF}/html/boost
dosym /usr/include/boost /usr/share/doc/${PF}/html/boost
fi
pushd "${D}usr/$(get_libdir)" > /dev/null || die
dosym boost-${MAJOR_PV}/boost /usr/include/boost
# Remove (unversioned) symlinks
# And check for what we remove to catch bugs
# got a better idea how to do it? tell me!
local f
for f in $(ls -1 ${LIBRARY_TARGETS} | grep -v "${MAJOR_PV}"); do
if [[ ! -h "${f}" ]]; then
eerror "Tried to remove '${f}' which is a regular file instead of a symlink"
die "Slotting/naming of the libraries broken!"
fi
rm "${f}" || die
done
pushd "${D}usr/$(get_libdir)" > /dev/null || die
# The threading libs obviously always gets the "-mt" (multithreading) tag
# some packages seem to have a problem with it. Creating symlinks...
@ -339,7 +308,7 @@ EOF
fi
local lib
for lib in ${THREAD_LIBS}; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
dosym ${lib} "/usr/$(get_libdir)/${lib/-mt/}"
done
# The same goes for the mpi libs
@ -351,7 +320,7 @@ EOF
fi
local lib
for lib in ${MPI_LIBS}; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
dosym ${lib} "/usr/$(get_libdir)/${lib/-mt/}"
done
fi
@ -364,7 +333,7 @@ EOF
local lib
for lib in ${THREAD_DEBUG_LIBS}; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
dosym ${lib} "/usr/$(get_libdir)/${lib/-mt/}"
done
if use mpi; then
@ -376,24 +345,21 @@ EOF
local lib
for lib in ${MPI_DEBUG_LIBS}; do
dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
dosym ${lib} "/usr/$(get_libdir)/${lib/-mt/}"
done
fi
fi
# Create a subdirectory with completely unversioned symlinks
dodir /usr/$(get_libdir)/boost-${MAJOR_PV}
local f
for f in $(ls -1 ${LIBRARY_TARGETS} | grep -v debug); do
dosym ../${f} /usr/$(get_libdir)/boost-${MAJOR_PV}/${f/-${MAJOR_PV}}
dosym ${f} /usr/$(get_libdir)/${f/-${MAJOR_PV}}
done
if use debug; then
dodir /usr/$(get_libdir)/boost-${MAJOR_PV}-debug
dodir /usr/$(get_libdir)/boost-debug
local f
for f in $(ls -1 ${LIBRARY_TARGETS} | grep debug); do
dosym ../${f} /usr/$(get_libdir)/boost-${MAJOR_PV}-debug/${f/-${MAJOR_PV}-debug}
dosym ../${f} /usr/$(get_libdir)/boost-debug/${f/-${MAJOR_PV}-debug}
done
fi
@ -457,165 +423,9 @@ EOF
fi
}
src_test() {
testing() {
if use python; then
local dir
for dir in ${PYTHON_DIRS}; do
cp -pr ${dir}-${PYTHON_ABI} ${dir} || die "Copying of '${dir}-${PYTHON_ABI}' to '${dir}' failed"
done
if use mpi; then
cp -p stage/lib/mpi.so-${PYTHON_ABI} "${MPI_PYTHON_MODULE}" || die "Copying of 'stage/lib/mpi.so-${PYTHON_ABI}' to '${MPI_PYTHON_MODULE}' failed"
cp -p stage/lib/mpi.so-${PYTHON_ABI} stage/lib/mpi.so || die "Copying of 'stage/lib/mpi.so-${PYTHON_ABI}' to 'stage/lib/mpi.so' failed"
fi
fi
pushd tools/regression/build > /dev/null || die
einfo "Using the following command to build test helpers:"
einfo "${BJAM} -q -d+2 gentoorelease --user-config=../../../user-config.jam ${OPTIONS} process_jam_log compiler_status"
${BJAM} -q -d+2 \
gentoorelease \
--user-config=../../../user-config.jam \
${OPTIONS} \
process_jam_log compiler_status \
|| die "Building of regression test helpers failed"
popd > /dev/null || die
pushd status > /dev/null || die
# Some of the test-checks seem to rely on regexps
export LC_ALL="C"
# The following is largely taken from tools/regression/run_tests.sh,
# but adapted to our needs.
# Run the tests & write them into a file for postprocessing
einfo "Using the following command to test:"
einfo "${BJAM} --user-config=../user-config.jam ${OPTIONS} --dump-tests"
${BJAM} \
--user-config=../user-config.jam \
${OPTIONS} \
--dump-tests 2>&1 | tee regress.log || die
# Postprocessing
cat regress.log | "$(find ../tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease -name process_jam_log)" --v2
if test $? != 0; then
die "Postprocessing the build log failed"
fi
cat > comment.html <<- __EOF__
<p>Tests are run on a <a href="http://www.gentoo.org">Gentoo</a> system.</p>
__EOF__
# Generate the build log html summary page
"$(find ../tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease -name compiler_status)" --v2 \
--comment comment.html "${S}" \
cs-$(uname).html cs-$(uname)-links.html
if test $? != 0; then
die "Generating the build log html summary page failed"
fi
# And do some cosmetic fixes :)
sed -i -e 's|http://www.boost.org/boost.png|boost.png|' *.html || die
popd > /dev/null || die
if use python; then
rm -r ${PYTHON_DIRS} || die
fi
}
if use python; then
python_execute_function -f -q testing
else
testing
fi
}
pkg_postinst() {
# mostly copy/paste from eselect-boost
_boost_tools="bcp bjam compiler_status inspect library_status process_jam_log quickbook wave"
# ... meaning: <none> and -debug:
_suffices="|-debug"
einfo "Removing symlinks from old version"
local link
for link in "${ROOT}/usr/include/boost" "${ROOT}/usr/share/boostbook" ; do
if [[ -L "${link}" ]] ; then
rm "${link}" || die -q "Couldn't remove \"${link}\" symlink"
else
[[ -e "${link}" ]] && die -q "\"${link}\" exists and isn't a symlink"
fi
done
pushd "${ROOT}/usr/$(get_libdir)" 1>/dev/null
local lib
for lib in libboost_*.{a,so} ; do
[[ -L "${lib}" && "${lib}" != libboost_*[[:digit:]]_[[:digit:]][[:digit:]]@(${_suffices}).@(a|so) ]] || continue
rm "${lib}" || die -q "Unable to remove \"/usr/$(get_libdir)/${lib}\" symlink"
done
popd 1>/dev/null
pushd "${ROOT}"/usr/bin 1>/dev/null
local tool
for tool in ${_boost_tools} ; do
[[ -L "${tool}" ]] && ( rm "${tool}" || die -q "Unable to remove \"/usr/bin/${tool}\" symlink" )
done
popd 1>/dev/null
local python_module python_module_dir
for python_module in mpi.py ; do
for python_module_dir in "${ROOT}"usr/$(get_libdir)/python*/site-packages ; do
if [[ -e "${python_module_dir}/${python_module}" ]] ; then
rm "${python_module_dir}/${python_module}" || die -q "Unable to remove \"${python_module_dir}/${python_module}\""
fi
done
done
# Deprecated code for Boost <1.48.
local mod="mpi.so"
for moddir in "${ROOT}"/usr/$(get_libdir)/python*/site-packages ; do
if [ -L "${moddir}/${mod}" ] ; then
rm "${moddir}/${mod}" || die -q "Unable to remove \"${moddir}/${mod}\" symlink"
else
[[ -e "${moddir}/${mod}" ]] && die -q "\"${moddir}/${mod}\" exists and isn't a symlink"
fi
done
if [ -L "${ROOT}/etc/eselect/boost/active" ] ; then
rm "${ROOT}/etc/eselect/boost/active" || die -q "Unable to remove \"${ROOT}/etc/eselect/boost/active\" symlink"
else
[[ -e "${ROOT}/etc/eselect/boost/active" ]] && die -q "\"${ROOT}/etc/eselect/boost/active\" exists and isn't a symlink"
fi
if use python; then
if use mpi; then
create_mpi.py() {
echo "from boost_${MAJOR_PV}.mpi import *" > "${EROOT}$(python_get_sitedir -b)/mpi.py"
}
python_execute_function -q create_mpi.py
fi
python_mod_optimize boost_${MAJOR_PV} $(use mpi && echo mpi.py)
fi
}
pkg_postrm() {
if use python; then
if use mpi; then
delete_mpi.py() {
if [[ "$(<"${EROOT}$(python_get_sitedir -b)/mpi.py")" == "from boost_${MAJOR_PV}.mpi import *" ]]; then
rm -f "${EROOT}$(python_get_sitedir -b)/mpi.py"
fi
}
python_execute_function -q delete_mpi.py
fi
python_mod_cleanup boost_${MAJOR_PV} $(use mpi && echo mpi.py)
fi
}
# the tests will never fail because these are not intended as sanity
# tests at all. They are more a way for upstream to check their own code
# on new compilers. Since they would either be completely unreliable
# (failing for no good reason) or completely useless (never failing)
# there is no point in having them in the ebuild to begin with.
src_test() { :; }

@ -1,21 +0,0 @@
--- Jamroot.orig 2009-04-03 19:23:02.876426258 +0200
+++ Jamroot 2009-04-03 19:37:05.899697787 +0200
@@ -444,14 +444,10 @@
}
return $(result) ;
}
-
- generate stage-unversioned : stage-proper :
- <generating-rule>@make-unversioned-links ;
- explicit stage-unversioned ;
-
- generate install-unversioned : install-proper :
- <generating-rule>@make-unversioned-links ;
- explicit install-unversioned ;
+
+
+ alias stage-unversioned ;
+ alias install-unversioned ;
}
else
{

@ -1,24 +0,0 @@
diff -Nur boost_1_41_0.orig/boost/iostreams/filter/zlib.hpp boost_1_41_0/boost/iostreams/filter/zlib.hpp
--- boost_1_41_0.orig/boost/iostreams/filter/zlib.hpp 2009-10-14 18:20:36.000000000 +0300
+++ boost_1_41_0/boost/iostreams/filter/zlib.hpp 2009-12-13 16:47:53.078056507 +0200
@@ -20,6 +20,7 @@
#include <memory> // allocator, bad_alloc.
#include <new>
#include <boost/config.hpp> // MSVC, STATIC_CONSTANT, DEDUCED_TYPENAME, DINKUM.
+#include <boost/cstdint.hpp> // uint*_t
#include <boost/detail/workaround.hpp>
#include <boost/iostreams/constants.hpp> // buffer size.
#include <boost/iostreams/detail/config/auto_link.hpp>
@@ -43,9 +44,9 @@
namespace zlib {
// Typedefs
-typedef unsigned int uint;
-typedef unsigned char byte;
-typedef unsigned long ulong;
+typedef uint32_t uint;
+typedef uint8_t byte;
+typedef uint32_t ulong;
// Prefix 'x' prevents symbols from being redefined when Z_PREFIX is defined
typedef void* (*xalloc_func)(void*, zlib::uint, zlib::uint);

@ -1,20 +0,0 @@
diff --git a/boost/iostreams/device/mapped_file.hpp b/boost/iostreams/device/mapped_file.hpp
index aae9dab..be656ef 100644
--- a/boost/iostreams/device/mapped_file.hpp
+++ b/boost/iostreams/device/mapped_file.hpp
@@ -4,6 +4,9 @@
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt.)
+#ifndef BOOST_IOSTREAMS_MAPPED_FILE_HPP_INCLUDED
+#define BOOST_IOSTREAMS_MAPPED_FILE_HPP_INCLUDED
+
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
# pragma once
#endif
@@ -591,3 +594,5 @@ operator^=(mapped_file::mapmode& a, mapped_file::mapmode b)
} } // End namespaces iostreams, boost.
#include <boost/config/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
+
+#endif // #ifndef BOOST_IOSTREAMS_MAPPED_FILE_HPP_INCLUDED

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save