AUX dotnet.patch 3455 RMD160 1aa58621db217a576427c13dc6b18d31bb330b71 SHA1 727980aec242d70f9c8caf8309d11dd41be9de53 SHA256 8ead4f481df2ef5f0b0dbe7b235bf2d09dfef2de8090611122a9606062028f9e
+AUX extconf.rb.patch 773 RMD160 ff2cf3ceb431f7bdbf7ae48bc6695b796f953a20 SHA1 8ee0f585c4e4524c2531002c5656798ab2197c74 SHA256 f21d12ddd90316592fa8fb0d7575bb619051727aac1025df5c9c243064f80e29
AUX java.mk.patch 783 RMD160 1ba38cbea393c1646f1517665c515402a3834135 SHA1 049e24d2240fe8b3c22325f4e476afa4f901b063 SHA256 9709b787b2c55c9c390a22677fbe15d821beb588e6ccedb48e1277fff47345de
AUX librets.snk 596 RMD160 437c0db04bccb0da482d0e6c9dc38f21757ce17b SHA1 aec4dcf1e29aa0f8519e710f19a5bac308566bfd SHA256 6bf3c8c92df3bda29091d32608e402132516553b1591c9665f234305ed4f6d6f
AUX perl.mk.patch 1088 RMD160 7054d8bb712814434e3978c69c36ff267c102a5a SHA1 660fa197034f316aa7523a17c2a0ea065876e975 SHA256 200c4fa5f034478b406892fbac17156655be49164f46dcaba094e13745993198
AUX python.mk.patch 501 RMD160 611578ad08ee095d4364e538e6b69e4f5727d401 SHA1 803f4678b974d87008e772115d09034fb31bb8fe SHA256 8ba69a842499dcfeaaba25ac8fb9f4723d7243293b7fba7734510bca47eb89cb
AUX swig.m4.patch 462 RMD160 d0e5b1f14b78d514a7bcee9e052e433645a02162 SHA1 6003ea54742da9aff9b9a320643819ad34f1cf7b SHA256 aa217a9442f967196027ef589e114eeca2d5583506b69eeae72dd9107f8594d1
DIST librets-1.5.2.tar.gz 1157546 RMD160 154a4fff9bbf994b739a1d30b3bb5eed9ecdd5d3 SHA1 cc856a41bc8120865937d199c918542bf3d82a95 SHA256 5d9c32eefd1a20b90c58ef117010768d8161c56ee0138efa4dd8b1ab82a433ce
-EBUILD librets-1.5.2-r3.ebuild 8004 RMD160 4468079b607021cfbf24db47208c6113ddb73170 SHA1 52eb6d2429ad9b33e8c8e54d5d3ce883cb853365 SHA256 43fa6223cd67196a4ab7faeac197d81476fc228d4cbc67189b5417e37caebbb2
-MISC ChangeLog 2240 RMD160 4be97e7efe69891d0e0c991d47708c1a1bf4b9a8 SHA1 5f93a77033c292411cf539cfb8c11a9a5b7a43ec SHA256 a60389793828fd2d9ed6520adbd08b17c5dd8f089320ac8a33a8d1e55f4633a1
+EBUILD librets-1.5.2-r4.ebuild 8524 RMD160 7545678d9108ba47e99a1a47b01751e67e080d07 SHA1 12e105d4a707a733022cda6bcb9072a663012b76 SHA256 8e2f2734de65326c47b0441f630d38e51df3d7efb7749c602061e649e36386f5
+MISC ChangeLog 2529 RMD160 226646e07f0337a4afb855022dc30b06c433066b SHA1 517a66626b2c398b566daa6fa5b05236203fe797 SHA256 b3a36c845e1366b7e1703a5e6405fcec712ed838a584a0b330f67c73e4124071
MISC metadata.xml 830 RMD160 50a58e8cd7c132469fd2b693be4eb9bda93136f1 SHA1 83ab36379a556b91023d0a2b5f15fb2109f4eb3c SHA256 05f6e383376e2d49d18dfd40738f55ba069dee9f697829619ba9a3d0e6693748
-# Copyright 1999-2011 Gentoo Foundation
+# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
-EAPI="3"
+EAPI="4"
PHP_EXT_OPTIONAL_USE="php"
PHP_EXT_NAME="librets"
PHP_EXT_SKIP_PHPIZE="yes"
+# Will add php5-4 support as soon as someone fixes gentoo bug 404453
USE_PHP="php5-3"
PYTHON_DEPEND="python? 2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="debug doc java mono perl php python ruby sql-compiler threads"
+# Enabling threads for perl, php, python or ruby causes segmentation faults.
+REQUIRED_USE="perl? ( !threads )
+ php? ( !threads )
+ python? ( !threads )
+ ruby? ( !threads )"
for i in java perl php python ruby; do
SWIG_DEPEND+=" ${i}? ( dev-lang/swig )"
${SWIG_RDEPEND}"
DEPEND="${RDEPEND} ${SWIG_DEPEND}"
+# Reset to the default $S since ruby-ng overrides it
+S="${WORKDIR}/${P}"
unset SWIG_DEPEND
unset SWIG_RDEPEND
unset i
+# Since php-ext-source-r2_src_install tries to install non-existant headers
+# and a bad emake fails on EAPI 4, a copied subset must be used instead (bug 404307).
+_php-ext-source-r2_src_install() {
+ local slot
+ for slot in $(php_get_slots); do
+ php_init_slot_env ${slot}
+ # Let's put the default module away
+ insinto "${EXT_DIR}"
+ newins "modules/${PHP_EXT_NAME}.so" "${PHP_EXT_NAME}.so" || die "Unable to install extension"
+ done
+ php-ext-source-r2_createinifiles
+}
+
_php-move_swig_build_to_modules_dir() {
mkdir "${1}"/modules || die "Could not create directory for php slot"
mv build/swig/php5/* "${1}"/modules || die "Could not move php slot build"
epatch "${FILESDIR}"/swig.m4.patch
# Patch to allow dotnet binding to build and set snk key file
epatch "${FILESDIR}"/dotnet.patch
+ # Patch to allow the ruby extension to compile when multiple versions of boost are installed
+ epatch "${FILESDIR}"/extconf.rb.patch
local myboostpackage=$(best_version "<dev-libs/boost-1.46")
local myboostpackagever=${myboostpackage/*boost-/}
local myboostver=$(get_version_component_range 1-2 ${myboostpackagever})
local myboostslot=$(replace_version_separator 1 _ ${myboostver})
- sed -i -e "s|boost_include_dir=\"include\"|boost_include_dir=\"include/boost-${myboostslot}\"|g" project/build/ac-macros/boost.m4
- sed -i -e "s|/lib/libboost|/lib/boost-${myboostslot}/liboost|g" project/build/ac-macros/boost.m4
- sed -i -e "s|-L\${BOOST_PREFIX}/lib|-L\${BOOST_PREFIX}/lib/boost-${myboostslot}|g" project/build/ac-macros/boost.m4
+ sed -i -e "s|boost_include_dir=\"include\"|boost_include_dir=\"include/boost-${myboostslot}\"|g" project/build/ac-macros/boost.m4 || die
+ sed -i -e "s|/lib/libboost|/lib/boost-${myboostslot}/libboost|g" project/build/ac-macros/boost.m4 || die
+ sed -i -e "s|-L\${BOOST_PREFIX}/lib|-L\${BOOST_PREFIX}/lib/boost-${myboostslot}|g" project/build/ac-macros/boost.m4 || die
einfo "Using boost version ${myboostver}"
eautoreconf
use php && php-ext-source-r2_src_prepare
myconf="${myconf} --enable-maintainer-documentation"
fi
- if use threads; then
- if use perl || use php || use python || use ruby; then
- ewarn "Enabling threads for perl, php, python or ruby causes segmentation faults."
- ewarn "Disabling threads"
- myconf="${myconf} --disable-thread-safe"
- else
- myconf="${myconf} --enable-thread-safe"
- fi
- fi
+ use threads && myconf="${myconf} --enable-thread-safe"
if use ruby; then
MYRUBYIMPLS=($(ruby_get_use_implementations))
_php-replace_config_with_selected_config ${myphpfirstslot} ${myphpconfig}
myphpconfig="${PHPCONFIG}"
fi
- emake || die "emake failed"
+ emake
if use php; then
# Move the current slotted build of php to another dir so other slots can be built
_php-move_swig_build_to_modules_dir "${WORKDIR}/${myphpfirstslot}"
_php-replace_config_with_selected_config ${slot} ${myphpconfig}
myphpconfig="${PHPCONFIG}"
# Build the current slot
- emake build/swig/php5/${PN}.so || die "Unable to make php${slot} extension"
+ emake build/swig/php5/${PN}.so
_php-move_swig_build_to_modules_dir ${PHP_EXT_S}
done
fi
project/build/ruby.mk || die "sed ruby implementation change failed"
MYRUBYIMPL="$(ruby_implementation_command ${impl})"
# Build the current implementation
- emake build/swig/ruby/${PN}_native.bundle || die "Unable to make ${impl} extension"
+ emake build/swig/ruby/${PN}_native.bundle
_ruby-move_swig_build_to_impl_dir "${WORKDIR}/${impl}"
done
unset MYRUBYIMPLS
each_ruby_install() {
exeinto "$(ruby_rbconfig_value archdir)"
- doexe "${S}"/librets_native.so || die
- doruby "${S}"/librets.rb || die
+ doexe "${S}"/librets_native.so
+ doruby "${S}"/librets.rb
}
src_install() {
- dolib.a build/${PN}/lib/${PN}.a || die
+ dolib.a build/${PN}/lib/${PN}.a
insinto /usr/include
- doins -r project/${PN}/include/${PN} || die
+ doins -r project/${PN}/include/${PN}
- dobin "${PN}-config" || die
+ dobin "${PN}-config"
if use php; then
- php-ext-source-r2_src_install
+ _php-ext-source-r2_src_install
insinto /usr/share/php
- doins "${WORKDIR}"/php"${PHP_CURRENTSLOT}"/modules/${PN}.php || die
+ doins "${WORKDIR}"/php"${PHP_CURRENTSLOT}"/modules/${PN}.php
fi
if use perl; then
# Install manually since the package install has sandbox violations
insinto ${SITE_ARCH}
insopts "-m755"
- doins -r "${S}"/build/swig/perl/blib/arch/auto || die
+ doins -r "${S}"/build/swig/perl/blib/arch/auto
insopts "-m644"
- doins "${S}"/build/swig/perl/${PN}.pm || die
+ doins "${S}"/build/swig/perl/${PN}.pm
fi
if use java; then
- java-pkg_dojar "${S}"/build/swig/java/${PN}.jar || die
- LIBOPTIONS="-m755" java-pkg_doso "${S}"/build/swig/java/${PN}.so || die
+ java-pkg_dojar "${S}"/build/swig/java/${PN}.jar
+ LIBOPTIONS="-m755" java-pkg_doso "${S}"/build/swig/java/${PN}.so
fi
use ruby && ruby-ng_src_install