]> Pileus Git - ~andy/sunrise/commitdiff
dev-libs/librets: Revision bump for librets-1.5.3. Thanks hasufell and floppym for...
authorMatthew Schultz <mattsch@gmail.com>
Wed, 2 Jan 2013 21:13:55 +0000 (15:13 -0600)
committerMatthew Schultz <mattsch@gmail.com>
Wed, 2 Jan 2013 21:13:55 +0000 (15:13 -0600)
dev-libs/librets/ChangeLog
dev-libs/librets/Manifest
dev-libs/librets/files/librets-1.5.3-build.patch [new file with mode: 0644]
dev-libs/librets/files/librets-1.5.3-extconf.rb.patch [moved from dev-libs/librets/files/extconf.rb.patch with 100% similarity]
dev-libs/librets/files/librets-1.5.3-java.mk.patch [moved from dev-libs/librets/files/java.mk.patch with 100% similarity]
dev-libs/librets/librets-1.5.3-r1.ebuild [moved from dev-libs/librets/librets-1.5.3.ebuild with 65% similarity]
dev-libs/librets/metadata.xml

index b3cec352b37f38f403ca0d9f5970a38e40c1263a..6deb58fa257b023f1e782313e3a8981b530bf8c9 100644 (file)
@@ -1,7 +1,16 @@
 # ChangeLog for dev-libs/librets
-# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
+# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
 # $Header: $
 
+*librets-1.5.3-r1 (02 Jan 2013)
+
+  02 Jan 2013; Matthew Schultz (mschultz) <mattsch@gmail.com>
+  -librets-1.5.3.ebuild, +librets-1.5.3-r1.ebuild,
+  +files/librets-1.5.3-build.patch, +files/librets-1.5.3-extconf.rb.patch,
+  +files/librets-1.5.3-java.mk.patch, -files/extconf.rb.patch,
+  -files/java.mk.patch, metadata.xml:
+  Revision bump for librets-1.5.3. Thanks hasufell and floppym for your help.
+
   22 Jun 2012; Thomas Sachau (Tommy[D]) <tommy@gentoo.org>
   librets-1.5.3.ebuild:
   inherit missing autotools eclass for eautoreconf
index 125438585372b98019dbccf262745e516019fc41..d506020bab6236a2c19eef419fdfb37b4816778a 100644 (file)
@@ -1,7 +1,8 @@
-AUX extconf.rb.patch 773 RMD160 ff2cf3ceb431f7bdbf7ae48bc6695b796f953a20 SHA1 8ee0f585c4e4524c2531002c5656798ab2197c74 SHA256 f21d12ddd90316592fa8fb0d7575bb619051727aac1025df5c9c243064f80e29
-AUX java.mk.patch 527 RMD160 c02644408575d08cfef75c530efb06a081c5a407 SHA1 203f3bf73dbedc9309faab83b681b69ae925236a SHA256 a3ec350548388967b91b489266be2d24b2ad8a0e9fb4f63316ce5e3e9ceeb9ab
-AUX librets.snk 596 RMD160 437c0db04bccb0da482d0e6c9dc38f21757ce17b SHA1 aec4dcf1e29aa0f8519e710f19a5bac308566bfd SHA256 6bf3c8c92df3bda29091d32608e402132516553b1591c9665f234305ed4f6d6f
-DIST librets-1.5.3.tar.gz 1442794 RMD160 30619eaa62325d25d268c5f37dd2a8c536363a13 SHA1 2de4d9e9cb26533eb0a9a090b3354a70ed3c41ec SHA256 d878b9dad7e31edfb560a786f2d23f37b67af42a96bc4848049e5b9083b9648a
-EBUILD librets-1.5.3.ebuild 8185 RMD160 45787e8d39f7755dd86578dafd8d74f97ea62245 SHA1 106325148aef0a5caf1729cfdbc8e2543d8240c6 SHA256 fd685ad8e7d52e3ae5d1a9f9cbebfaedb954d37be08574f691aa9e6e1ee16d6c
-MISC ChangeLog 2938 RMD160 bd90ae9a2a3496b7594d89ae3f2933d8ab6b6404 SHA1 54cd6467ef80226d9f685be2dd435eb66f2981bd SHA256 6d34262395c6acc1c43fc6a3686fbf2f8c49915de82202b0d6af7fc0258aaeae
-MISC metadata.xml 830 RMD160 50a58e8cd7c132469fd2b693be4eb9bda93136f1 SHA1 83ab36379a556b91023d0a2b5f15fb2109f4eb3c SHA256 05f6e383376e2d49d18dfd40738f55ba069dee9f697829619ba9a3d0e6693748
+AUX librets-1.5.3-build.patch 4244 SHA256 9b1bbf043b5866e1e390a18f382babf7f1d262ed025c691d763018fe8950d6b6 SHA512 90a0da8c754e5185530bef54d420db9580588a40da120498b8d4c32b39618e8024953e457b9cd0b92544a224e3c2946844200f39dbff57d2e67075dbc64c5858 WHIRLPOOL d02c486b607c089d7c72b4dbd977af8c1784b072df3ce22e0762d09428d9e72a51830114ca945c842561057dbc81bf538812e161721c543efbf8fd1a4911f005
+AUX librets-1.5.3-extconf.rb.patch 773 SHA256 f21d12ddd90316592fa8fb0d7575bb619051727aac1025df5c9c243064f80e29 SHA512 646831e751863a9ced415b6c559cc24b42a369cbcdaeea225d0a46d7d07bc79c08cc64f87b34e504a88db671d7b6d05c2becb751e03c22061decf90e072f644c WHIRLPOOL 4ad71a252bbfc75827bfac986088c048fc74d037dc92a2060d84b9117b6f109c5a64063c859e3248a4c0d16eaaba22b1f1b64f0c8d81c2bbb51d4e58b17d2dfe
+AUX librets-1.5.3-java.mk.patch 527 SHA256 a3ec350548388967b91b489266be2d24b2ad8a0e9fb4f63316ce5e3e9ceeb9ab SHA512 1b752dd35e8d5032ed5058d8a46e84606b409e29596d69a69b84546952e106d86fa95ee21fb1d3abcfbc4a6b4119ac766fe576767859e73e1cda4b1f4ad22f55 WHIRLPOOL c6799d5c0ec4c18a27fe0ed1c3fa9ef092571aada24dc2c0c2cad21db1964649c180f50be431f5dfe649c6ec8f6a5d3f556ff851a38c64e295b23fe250d2f02f
+AUX librets.snk 596 SHA256 6bf3c8c92df3bda29091d32608e402132516553b1591c9665f234305ed4f6d6f SHA512 6f3e9eecf17c30c0649e262d99d663c6604ded3bc51f2488b5518f710addc767cb0a045d944e386ad01054f2da101c014982950bca3d951d9eff3d50591b5b07 WHIRLPOOL fb319f74336e0058c5dfc7d8e819fc042a4673b5409b9bebcdb5c431be4e06498f876f874cd884d3108b030e33a53f6840ea4335158188d6f12fdd9cbee25a49
+DIST librets-1.5.3.tar.gz 1442794 SHA256 d878b9dad7e31edfb560a786f2d23f37b67af42a96bc4848049e5b9083b9648a SHA512 035477f7ca8dbada97ab6729dc93637006714c407368f750ff5529f5ac01e6d1c7d99a385344f065eab939d338aa6a8cffefc1b72d56dc40228c45877afdbe14 WHIRLPOOL 39ac2910a33330b84695571fcbda9c2bc9bc5fdf75425f4bee72981419eb83623dea8e38d980ecd73b549dd1593be1c56033a0c18c491add55bf2fa57fc970a4
+EBUILD librets-1.5.3-r1.ebuild 8372 SHA256 dc7a897ef44059d52af71a0cbc4d2aefbc641874aa55e7ed32260612f2cae72a SHA512 ce33ab07edcff63a83139ebd2aa4ab8b5df503f91bcc957af396e9ab02769b733274734bc8c8d77d635a83675d25d2455c8191af8f5dbdfc8de2346228adf19e WHIRLPOOL 536340e8750a5e4444545f6c30ef28f158c2f0ae48942d40c92132906e6f578ae763fcd03c89985fdd346b368a8f8a7dee326a6fb646afff324b6ab2a7a80f40
+MISC ChangeLog 3339 SHA256 0b3ab7997a07bc6edb60f3b5f13d36049071cf9b284595423c91780794fb0ebf SHA512 272d14a66e8646cf48bf84f3f611d3aae0ba4b30b445e0f8eff4c175d36e79931d7e65b5ef18454dd98420ec12294deaccee0e06c1bea177e2e824ef40f73e04 WHIRLPOOL be2b0bcd1b36d84ff4e816bb496c8d3d79492d91eb1025b88d6bd57211506e8eb8eb5c86cc97a7ce59257eaeb5ccf218eddfe484697e7220f084c3f945752ca3
+MISC metadata.xml 774 SHA256 5b2aeaf3434f0c6ca946cb530fc822c8d54abde507e47eee513c473680126ffa SHA512 e0330367997c697881dd10980ad7b2b41700e65ad1cf8ddfc3fd879d933da3e3cfde676e35b645fb86550a32ec02702bc9a007c816446e7b1fbc3cd47fe0734c WHIRLPOOL f61f90404603e1162ce2917e641c1e66a566e10fef02c0e46e63f5210a50c0d8ce6ef438551ef5160b5037537456dc019260e3f3a16b5aae5bfccd1d5699436a
diff --git a/dev-libs/librets/files/librets-1.5.3-build.patch b/dev-libs/librets/files/librets-1.5.3-build.patch
new file mode 100644 (file)
index 0000000..135e1fb
--- /dev/null
@@ -0,0 +1,104 @@
+--- librets-1.5.3/project/build/java.mk
++++ librets-1.5.3/project/build/java.mk
+@@ -46,7 +46,7 @@
+   ${JAVA_DYNAMICLINK} -o ${JAVA_DLL} ${JAVA_OBJ_DIR}/librets_wrap.o ${SWIG_LIBRETS_LIBS} ${SWIG_BRIDGE_OBJ}
+ ${JAVA_OBJ_DIR}/librets_wrap.o: ${JAVA_OBJ_DIR}/librets_wrap.cpp
+-      ${CXX}  ${JAVA_CXX_FLAGS} -I${LIBRETS_INC_DIR} -I${SWIG_DIR} ${BOOST_CFLAGS} ${JAVA_INCLUDES} -c $< -o $@
++      ${CXX}  ${CXXFLAGS} ${JAVA_CXX_FLAGS} -I${LIBRETS_INC_DIR} -I${SWIG_DIR} ${BOOST_CFLAGS} ${JAVA_INCLUDES} -c $< -o $@
+ ifneq (${SWIG_OSNAME}, MSWin32)
+--- librets-1.5.3/project/build/rules.mk
++++ librets-1.5.3/project/build/rules.mk
+@@ -3,7 +3,7 @@
+ SRC_TGZ       = librets-$(VERSION).tar.gz
+ SRC_ZIP               = librets-$(VERSION).zip
+-CFLAGS                += $(TARGET_CFLAGS) -DLIBRETS_VERSION='"$(VERSION)"'
++CPPFLAGS              += $(TARGET_CFLAGS) -DLIBRETS_VERSION='"$(VERSION)"'
+ LIBRETS_LDFLAGS = $(BOOST_LIBS) $(BOOST_FILESYSTEM) $(BOOST_SYSTEM) \
+       $(BOOST_THREAD) $(CURL_LDFLAGS) $(EXPAT_LDFLAGS) $(ANTLR_LDFLAGS)
+--- librets-1.5.3/project/build/swig.mk
++++ librets-1.5.3/project/build/swig.mk
+@@ -13,13 +13,13 @@
+ SWIG_OBJ_DIR          = ${BUILD}/swig
+ SWIG_OSNAME           = $(shell perl -e 'use Config; print $$Config{osname};')
+-SWIG_BRIDGE_CFLAGS    = `${SWIG_LIBRETS_CONFIG} --cflags` ${CFLAGS}
++SWIG_BRIDGE_CFLAGS    = `${SWIG_LIBRETS_CONFIG} --cflags` ${CXXFLAGS}
+ SWIG_BRIDGE_H         = ${SWIG_DIR}/librets_bridge.h
+ SWIG_BRIDGE_SRC               = ${SWIG_DIR}/librets_bridge.cpp
+ SWIG_BRIDGE_OBJ               = ${SWIG_OBJ_DIR}/librets_bridge.o
+ DLL                   = so
+-SWIG_LINK             = ${CXX} -shared
++SWIG_LINK             = ${CXX} ${LDFLAGS} -shared
+ ifeq (${SWIG_OSNAME}, darwin)
+ SWIG_LINK             = ${CXX} -bundle -undefined suppress -flat_namespace 
+--- librets-1.5.3/project/build/sources.mk
++++ librets-1.5.3/project/build/sources.mk
+@@ -37,7 +37,7 @@
+               LookupTreeParser.cpp LookupColumnsTreeParser.cpp)
+ LIBRETS_ANTLR_OBJECTS := $(LIBRETS_ANTLR_SRC_FILES:.cpp=.o)
+ LIBRETS_ANTLR_DEPENDS := $(LIBRETS_ANTLR_SRC_FILES:.cpp=.d)
+-LIBRETS_ANTLR_CFLAGS = $(CFLAGS) $(CPPFLAGS) $(BOOST_CFLAGS) $(ARCH_CFLAGS)
++LIBRETS_ANTLR_CFLAGS = $(CXXFLAGS) $(CPPFLAGS) $(BOOST_CFLAGS) $(ARCH_CFLAGS)
+ ANTLR_FLAGS = -o $(LIBRETS_ANTLR_SRC_DIR)
+ ANTLR_TREE_FLAGS = $(ANTLR_FLAGS) -glib $(LIBRETS_ANTLR_PARSER)
+@@ -68,7 +68,7 @@
+ #####
+-LIBRETS_CFLAGS = $(CFLAGS) $(CPPFLAGS) $(CURL_CFLAGS) $(EXPAT_CFLAGS) \
++LIBRETS_CFLAGS = $(CXXFLAGS) $(CPPFLAGS) $(CURL_CFLAGS) $(EXPAT_CFLAGS) \
+       ${LIBRETS_THREAD_FLAGS} $(BOOST_CFLAGS) -I$(LIBRETS_INC_DIR) 
+ ifeq ($(USE_SQL_COMPILER),1)
+--- librets-1.5.3/configure.ac
++++ librets-1.5.3/configure.ac
+@@ -158,6 +158,7 @@
+ if test "$my_use_pic" = "yes"; then
+    CFLAGS="$CFLAGS -fPIC"
++   CXXFLAGS="$CXXFLAGS -fPIC"
+    LIBRETS_CFLAGS="$LIBRETS_CFLAGS -fPIC"
+ fi
+--- librets-1.5.3/Makefile.in
++++ librets-1.5.3/Makefile.in
+@@ -23,6 +23,7 @@
+ CC=@CC@
+ CXX=@CXX@
+ CFLAGS=@CFLAGS@ @DEFS@
++CXXFLAGS=@CXXFLAGS@ @DEFS@
+ CPPFLAGS=@CPPFLAGS@
+ LIBS=@LIBS@
+ LDFLAGS=@LDFLAGS@
+--- librets-1.5.3/project/build/php.mk
++++ librets-1.5.3/project/build/php.mk
+@@ -21,5 +21,5 @@
+       ${SWIG_LINK} -o ${PHP_DLL} ${PHP_OBJ_DIR}/librets_wrap.o ${SWIG_LIBRETS_LIBS} ${SWIG_BRIDGE_OBJ}
+ ${PHP_OBJ_DIR}/librets_wrap.o: ${PHP_OBJ_DIR}/librets_wrap.cpp
+-      ${CXX} ${PHP_CXX_FLAGS} -g -DLIBRETS_VERSION='"$(VERSION)"' -I${LIBRETS_INC_DIR} -I${PHP_SRC_DIR} \
++      ${CXX} ${CXXFLAGS} ${PHP_CXX_FLAGS} -DLIBRETS_VERSION='"$(VERSION)"' -I${LIBRETS_INC_DIR} -I${PHP_SRC_DIR} \
+                       -I${SWIG_DIR} ${BOOST_CFLAGS} ${PHP_INCLUDES} -c $< -o $@
+--- librets-1.5.3/project/build/dotnet.mk
++++ librets-1.5.3/project/build/dotnet.mk
+@@ -83,10 +83,10 @@
+       ${SWIG_LINK} -o ${DOTNET_UNMANAGED_DLL} ${DOTNET_UNMANAGED_OBJ} ${SWIG_LIBRETS_LIBS} 
+ ${DOTNET_OBJ_DIR}/%.o: ${DOTNET_OBJ_DIR}/%.cpp 
+-      ${CXX} ${DOTNET_CXX_FLAGS} -I${LIBRETS_INC_DIR} -I${DOTNET_OBJ_DIR} -I${DOTNET_DIR} -I${SWIG_DIR} -c $< -o $@
++      ${CXX} ${CXXFLAGS} ${DOTNET_CXX_FLAGS} -I${LIBRETS_INC_DIR} -I${DOTNET_OBJ_DIR} -I${DOTNET_DIR} -I${SWIG_DIR} -c $< -o $@
+ ${DOTNET_OBJ_DIR}/%.o: ${DOTNET_DIR}/%.cpp
+-      ${CXX} ${DOTNET_CXX_FLAGS} -I${LIBRETS_INC_DIR} -I${DOTNET_OBJ_DIR} -I${DOTNET_DIR} -I${SWIG_DIR} -c $< -o $@
++      ${CXX} ${CXXFLAGS} ${DOTNET_CXX_FLAGS} -I${LIBRETS_INC_DIR} -I${DOTNET_OBJ_DIR} -I${DOTNET_DIR} -I${SWIG_DIR} -c $< -o $@
+ ifneq (${SWIG_OSNAME}, MSWin32)
+ ########
\ No newline at end of file
similarity index 65%
rename from dev-libs/librets/librets-1.5.3.ebuild
rename to dev-libs/librets/librets-1.5.3-r1.ebuild
index 56c5fa64ecd60c314f997bc5185309b8c00114e9..1abc11e55e6e3879e1335fdd8cefa31db99a556e 100644 (file)
@@ -1,22 +1,22 @@
-# Copyright 1999-2012 Gentoo Foundation
+# Copyright 1999-2013 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Header: $
 
-EAPI="4"
+EAPI="5"
 
 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
+# Will add php5-4 support as soon as someone fixes gentoo bug 404453 with swig 2.0.4
+# or upstream fixes the build error with swig >= 2.0.8
 USE_PHP="php5-3"
 
-PYTHON_DEPEND="python? 2"
-PYTHON_MODNAME="librets.py"
+PYTHON_COMPAT=( python2_{6,7} )
 
 USE_RUBY="ree18 ruby18 ruby19"
 RUBY_OPTIONAL="yes"
 
-inherit autotools distutils eutils java-pkg-opt-2 mono multilib perl-module php-ext-source-r2 ruby-ng versionator
+inherit autotools eutils java-pkg-opt-2 mono perl-module php-ext-source-r2 python-r1 ruby-ng toolchain-funcs versionator
 
 DESCRIPTION="A library that implements the RETS 1.8, 1.7, 1.5 and 1.0 standards"
 HOMEPAGE="http://www.crt.realtors.org/projects/rets/librets/"
@@ -25,47 +25,49 @@ SRC_URI="http://www.crt.realtors.org/projects/rets/${PN}/files/${P}.tar.gz"
 LICENSE="BSD-NAR"
 SLOT="0"
 KEYWORDS="~amd64 ~x86"
-IUSE="debug doc java mono perl php python ruby sql-compiler threads"
+IUSE="doc java mono perl php python ruby sql-compiler threads"
 # Enabling threads for perl, php, python or ruby causes segmentation faults in cli scripts but not through apache
 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+=" ${i}? (
-               dev-libs/libgcrypt
-               dev-libs/libgpg-error
-               dev-libs/libtasn1
-               net-dns/libidn
-               net-libs/gnutls
-       )"
-done
-
-RDEPEND="
-       >=dev-libs/boost-1.46
+SWIG_RDEPEND="dev-libs/libgcrypt
+       dev-libs/libgpg-error
+       dev-libs/libtasn1
+       net-dns/libidn
+       net-libs/gnutls"
+
+RDEPEND=">=dev-libs/boost-1.46
        dev-libs/expat
        >=dev-util/boost-build-1.46
-       java? ( >=virtual/jdk-1.6.0 )
-       mono? ( dev-lang/mono )
        net-misc/curl
-       ruby? ( $(ruby_implementations_depend) )
        sql-compiler? ( dev-java/antlr:0[script] )
        sys-libs/zlib
-       ${SWIG_RDEPEND}"
+       java? ( >=virtual/jdk-1.6.0 ${SWIG_RDEPEND} )
+       mono? ( dev-lang/mono ${SWIG_RDEPEND} )
+       php? ( ${SWIG_RDEPEND} )
+       python? ( ${SWIG_RDEPEND} )
+       ruby? ( $(ruby_implementations_depend) ${SWIG_RDEPEND} )"
+
+# An upstream bug prevents the php extension from building with swig >= 2.0.5
+DEPEND="java? ( >=dev-lang/swig-1.3.40-r1 )
+       mono? ( >=dev-lang/swig-1.3.40-r1 )
+       php? ( <dev-lang/swig-2.0.5 >=dev-lang/swig-1.3.40-r1 )
+       python? ( >=dev-lang/swig-1.3.40-r1 )
+       ruby_targets_ruby18? ( >=dev-lang/swig-1.3.40-r1 )
+       ruby_targets_ruby18? ( >=dev-lang/swig-1.3.40-r1 )
+       ruby_targets_ruby19? ( >=dev-lang/swig-2.0.4-r1 )
+       ${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() {
+my_php-ext-source-r2_src_install() {
        local slot
        for slot in $(php_get_slots); do
                php_init_slot_env ${slot}
@@ -76,19 +78,19 @@ _php-ext-source-r2_src_install() {
        php-ext-source-r2_createinifiles
 }
 
-_php-move_swig_build_to_modules_dir() {
+my_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"
 }
 
-_php-replace_config_with_selected_config() {
+my_php-replace_config_with_selected_config() {
        php_init_slot_env ${1}
        cd "${S}" || die "cannot change to source directory"
        # Replace the reference to php-config with the current slotted one
        sed -i -e "s|${2}|${PHPCONFIG}|g" project/build/php.mk || die "sed php-config change failed"
 }
 
-_ruby-move_swig_build_to_impl_dir() {
+my_ruby-move_swig_build_to_impl_dir() {
        mkdir -p "${1}"/${P} || die "Could not create directory for ruby implementation"
        mv build/swig/ruby/* "${1}"/${P} || die "Could not move ruby implementation build"
 }
@@ -96,10 +98,6 @@ _ruby-move_swig_build_to_impl_dir() {
 pkg_setup() {
        use java && java-pkg-opt-2_pkg_setup
        use perl && perl-module_pkg_setup
-       if use python; then
-               python_set_active_version 2
-               python_pkg_setup
-       fi
        use ruby && ruby-ng_pkg_setup
 }
 
@@ -109,42 +107,32 @@ src_unpack() {
 }
 
 src_prepare() {
-       # Patch to fix compilation errors by removing the java exmaples target when building for java
-       epatch "${FILESDIR}"/java.mk.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 || 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}"
+       epatch "${FILESDIR}"/${P}-extconf.rb.patch
+       # Patch to fix compilation errors by removing the java examples target when building for java
+       epatch "${FILESDIR}"/${P}-java.mk.patch
+       # add missing LDFLAGS and change CFLAGS to CXXFLAGS
+       epatch "${FILESDIR}"/${P}-build.patch
        eautoreconf
+
+       # Change the path to librets-config-inplace for python slotted build support
+       if use python; then
+               sed -i -e "s|../../..|${S}|" project/swig/python/setup.py || die
+       fi
+
        use php && php-ext-source-r2_src_prepare
 }
 
 src_configure() {
-       local myconf
        local myphpprefix
 
-       use java || myconf="--disable-java"
-       use mono || myconf="${myconf} --disable-dotnet"
-       use perl || myconf="${myconf} --disable-perl"
        if use php; then
                # Enable php extension when it finds the current selected slot
                myphpprefix="${PHPPREFIX}/include"
-       else
-               myconf="${myconf} --disable-php"
-       fi
-       use python || myconf="${myconf} --disable-python"
-
-       if use doc; then
-               myconf="${myconf} --enable-maintainer-documentation"
        fi
 
-       use threads && myconf="${myconf} --enable-thread-safe"
+       # The build system just finds "python", which could be python3.2 if EPYTHON is unset.
+       use python && python_export_best EPYTHON
 
        if use ruby; then
                MYRUBYIMPLS=($(ruby_get_use_implementations))
@@ -152,20 +140,26 @@ src_configure() {
                # Set RUBY value in config to the first ruby implementation to build
                RUBY=$(ruby_implementation_command ${MYRUBYFIRSTIMPL})
                MYRUBYIMPLS=(${MYRUBYIMPLS[@]:1})
-               myconf="${myconf} RUBY=${RUBY}"
-       else
-               myconf="${myconf} --disable-ruby"
        fi
 
+       # Allow cross-compiling between operating systems since ar is not portable
+       tc-export AR
        econf \
                --enable-shared_dependencies \
                --enable-depends \
                --enable-default-search-path="/usr /opt ${myphpprefix}" \
                --disable-examples \
-               $(use_enable debug) \
+               --disable-debug \
+               $(usex doc "--enable-maintainer-documentation") \
+               $(usex java "" "--disable-java") \
+               $(usex mono "" "--disable-dotnet") \
+               $(usex perl "" "--disable-perl") \
+               $(usex php "" "--disable-php") \
+               $(usex python "" "--disable-python") \
+               $(usex threads "--enable-thread-safe") \
                $(use_enable sql-compiler) \
                $(use_with mono "snk-file" "${FILESDIR}"/${PN}.snk) \
-               ${myconf}
+               $(usex ruby " RUBY=${RUBY}" "--disable-ruby")
 }
 
 src_compile() {
@@ -173,25 +167,29 @@ src_compile() {
                local slot myphpconfig="php-config"
                # Shift off the first slot so it doesn't get built again
                local myphpslots=($(php_get_slots)) myphpfirstslot="${myphpslots[@]:0:1}" myphpslots=(${myphpslots[@]:1})
-               _php-replace_config_with_selected_config ${myphpfirstslot} ${myphpconfig}
+               my_php-replace_config_with_selected_config ${myphpfirstslot} ${myphpconfig}
                myphpconfig="${PHPCONFIG}"
        fi
        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}"
+               my_php-move_swig_build_to_modules_dir "${WORKDIR}/${myphpfirstslot}"
                # Build the remaining slots
                for slot in ${myphpslots[@]}; do
-                       _php-replace_config_with_selected_config ${slot} ${myphpconfig}
+                       my_php-replace_config_with_selected_config ${slot} ${myphpconfig}
                        myphpconfig="${PHPCONFIG}"
                        # Build the current slot
                        emake build/swig/php5/${PN}.so
-                       _php-move_swig_build_to_modules_dir ${PHP_EXT_S}
+                       my_php-move_swig_build_to_modules_dir "${PHP_EXT_S}"
                done
        fi
+
+       # Build the remaining python implementations
+       use python && python_foreach_impl emake
+
        if use ruby; then
                # Move the current implementation build of ruby to another dir so other implementations can be built
-               _ruby-move_swig_build_to_impl_dir "${WORKDIR}/${MYRUBYFIRSTIMPL}"
+               my_ruby-move_swig_build_to_impl_dir "${WORKDIR}/${MYRUBYFIRSTIMPL}"
                unset MYFIRSTRUBYIMPL
                unset RUBY
                local impl
@@ -205,9 +203,11 @@ src_compile() {
                        MYRUBYIMPL="$(ruby_implementation_command ${impl})"
                        # Build the current implementation
                        emake build/swig/ruby/${PN}_native.bundle
-                       _ruby-move_swig_build_to_impl_dir "${WORKDIR}/${impl}"
+                       my_ruby-move_swig_build_to_impl_dir "${WORKDIR}/${impl}"
                done
+               unset MYRUBYIMPL
                unset MYRUBYIMPLS
+               unset impl
        fi
 }
 
@@ -226,7 +226,7 @@ src_install() {
        dobin "${PN}-config"
 
        if use php; then
-               _php-ext-source-r2_src_install
+               my_php-ext-source-r2_src_install
                insinto /usr/share/php
                doins "${WORKDIR}"/php"${PHP_CURRENTSLOT}"/modules/${PN}.php
        fi
@@ -252,8 +252,12 @@ src_install() {
        fi
 
        if use python; then
-               cd "${S}"/build/swig/python || die
-               distutils_src_install
+               python_install() {
+                       pushd "${S}"/build/swig/python || die
+                       "${PYTHON}" setup.py install --root="${D}" || die
+                       popd
+               }
+               python_foreach_impl python_install
        fi
 }
 
@@ -262,7 +266,6 @@ pkg_preinst() {
 }
 
 pkg_postinst() {
-       use python && distutils_pkg_postinst
        use perl && perl-module_pkg_postinst
 }
 
@@ -271,6 +274,5 @@ pkg_prerm() {
 }
 
 pkg_postrm() {
-       use python && distutils_pkg_postrm
        use perl && perl-module_pkg_postrm
 }
index aab8b09d629ee517a72d0f5cbcf088347f14ad69..b4dca2f58725d24a07cfb6f929666171336cbd19 100644 (file)
@@ -3,7 +3,6 @@
 <pkgmetadata>
   <maintainer><email>maintainer-wanted@gentoo.org</email></maintainer>
   <use>
-    <flag name="debug">Enable debug compile type</flag>
     <flag name="doc">Add maintainer documentation</flag>
     <flag name="java">Install java libraries</flag>
     <flag name="mono">Install mono  libraries</flag>