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);
|
@ -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,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,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,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 +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,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/_/-}
|
@ -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&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,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
|
||||
}
|
@ -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 +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,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,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,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…
Reference in new issue