diff options
-rw-r--r-- | dev-libs/librets/Manifest | 12 | ||||
-rw-r--r-- | dev-libs/librets/files/librets-1.5.3-boost.patch | 68 | ||||
-rw-r--r-- | dev-libs/librets/files/librets-1.5.3-build.patch | 106 | ||||
-rw-r--r-- | dev-libs/librets/files/librets-1.5.3-curl.patch | 17 | ||||
-rw-r--r-- | dev-libs/librets/files/librets-1.5.3-extconf.rb.patch | 18 | ||||
-rw-r--r-- | dev-libs/librets/files/librets-1.6.1-extconf.rb.patch | 19 | ||||
-rw-r--r-- | dev-libs/librets/files/librets-1.6.1-fix-php-build-errors.patch | 77 | ||||
-rw-r--r-- | dev-libs/librets/files/librets-1.6.1-java.mk.patch (renamed from dev-libs/librets/files/librets-1.5.3-java.mk.patch) | 0 | ||||
-rw-r--r-- | dev-libs/librets/librets-1.6.1.ebuild (renamed from dev-libs/librets/librets-1.5.3-r3.ebuild) | 61 |
9 files changed, 146 insertions, 232 deletions
diff --git a/dev-libs/librets/Manifest b/dev-libs/librets/Manifest index 3f8a128eb..744c95942 100644 --- a/dev-libs/librets/Manifest +++ b/dev-libs/librets/Manifest @@ -1,10 +1,8 @@ -AUX librets-1.5.3-boost.patch 2060 SHA256 fb4697cc76e035d68f315be1fbd8ae1b6aff63b73744485b5da15ed47345c2b3 SHA512 d5a8052cacf6d1b43e213f8effcd8bedd33be98dbfc0512057d23708c4c6577681159a61f8ec3c76d187182fa5260334fbe75475aea883cab614d0416eb22c2c WHIRLPOOL 941a27db2defa3020d353dbe34405caf129582636492179cebd3535df4a22ac2b5b33eae891ad4b1da8e5a5bfa7d25e48329001d5be8cf1b23bbe4ece7be81bb -AUX librets-1.5.3-build.patch 4296 SHA256 9b82f3f3e00ac015f20aab181f023cc73bdfbcea66d9e3189d6e8012a6edf3e0 SHA512 1c425c61f780989747f0f9cee14fccd83c32b2805858f3640eb42191d13595ca04552445c362e1f7b6e31653bd6a69e97f7d42327d00c6f32def819d13fc4559 WHIRLPOOL f6743795af35df333d20945f6232e01f3e0990a2134d249d3114c393b39c4abe9582752f9d626fb38253505f280744e551f4ad75b53929ad2c78a7375479fa31 -AUX librets-1.5.3-curl.patch 740 SHA256 f40a24265fc94af4d883ba0d80a91df1f22c16ee8c6c0e2fa0d2ba1f208b87b9 SHA512 8cd17e39473b3dc74e3d187e7de6d520596b6970e31916fea8a050550b026e10e0df730e01b24b483f943af8b43384be2f66d46bd40767cdea91a9a4543eb09f WHIRLPOOL d57ed24d939268c02ddf39995c2dd60064fb386e2951757bc2ea01367ebf427c8d0ecfc20ecce82df5545a6ae2b570f87a80e05decb9d43d4de9ac6ffe846de6 -AUX librets-1.5.3-extconf.rb.patch 874 SHA256 f06f46d826e87cd6f905d76c021b49e0983b31a696df0e4fc6805524f5dfffa9 SHA512 724852d96ea9d2b6af69201767dd8e7d5d859d8d7afdefd7945d3ac99303360bd14b3ee2339d967366bc6838294da7c228844137e02b49872cbdb41d9ac3895d WHIRLPOOL 06b654af7a9d5571d9fd6be39ae30dfc7b7d3f89a8709c02555f56da308b8f937cd24b76228ad8c35ce6e850b4066979420a2081ecfdb1c263cbaebdfc5cacd2 -AUX librets-1.5.3-java.mk.patch 620 SHA256 1e18e6bf3c4b1cf3fc41ede276ee7f344fae0ee39a9e5683ab95df8926573adf SHA512 8ee91e24567034b44fa88e04026c50f3f91ec7849f604b03d6e2bf3d013200eb62f08ab2ebd4a6bb4a6c8ee52841ee8f40b3995cc47efa2462a91103d29e0127 WHIRLPOOL 62f3b4e779045c05bd1d81e3f0584cae76d8fa506a7f1f920b1df285a7671d507861dbaa4a649ecd9b742ee057db8fd7f326df9c6e5991adc0cd91b86c96e81e +AUX librets-1.6.1-extconf.rb.patch 1064 SHA256 097a42eeb9f89865536c51a35cf1deed4df64f2144ffe21c15b03e6132708bf3 SHA512 cefc5bd953c3c4e36bb9899e0b828e069c624d14c9d8c93b75b04539f4e05e88cbbaa8e4b8557f7caa15dbca710241d473ed2ae64c622c645831e4b5137e5561 WHIRLPOOL 2171be43d5b08412e5f7603fa78f96632fccf0c1bc98dce26d6d7cd42ee1bdd68a2df9570093550a159042f7ae7df16e90bcd7b8c7a774c5a1b31f2b85b13b80 +AUX librets-1.6.1-fix-php-build-errors.patch 3062 SHA256 81a354bbc7c5556332e6511eed061c04d99376acf89029069c8aa6cddfe2b887 SHA512 2c08f8ea9c2f1fc4577e60278eb9e331688eaeee2d315ea5ce7488ce99f54f9c023bce1a0fd799cf961499e93aa19d43892fa80dc919cbf422672b29c1f879a7 WHIRLPOOL 308270a2999a5b74ec0c28b48b42c21c7b9d246bbdbaa9e2b27cf59a6f675d0abc1e1b3e715f19f169a9dec93c80348f720a00f0be6f1cc8cec3df842f06c85b +AUX librets-1.6.1-java.mk.patch 620 SHA256 1e18e6bf3c4b1cf3fc41ede276ee7f344fae0ee39a9e5683ab95df8926573adf SHA512 8ee91e24567034b44fa88e04026c50f3f91ec7849f604b03d6e2bf3d013200eb62f08ab2ebd4a6bb4a6c8ee52841ee8f40b3995cc47efa2462a91103d29e0127 WHIRLPOOL 62f3b4e779045c05bd1d81e3f0584cae76d8fa506a7f1f920b1df285a7671d507861dbaa4a649ecd9b742ee057db8fd7f326df9c6e5991adc0cd91b86c96e81e 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-r3.ebuild 8167 SHA256 6eacf2b1b39595549a2ba55b07d302e362c5f917d32b2620c9d57947f8791c2a SHA512 500a5b5280c90156c2e60110b53a84e84b92f9909972928d6991bd97c27b29a14acf391dc5a5fe7b8dbf61150d6e51b18def23f577ca17b452e4b3b55974e3e0 WHIRLPOOL 3864ba226ed1950420cbe384beb72a2b0f97438b006d3dbab4234d336dd59d9a66f18c49bd9134dc8740195a284cb52cf03e25cbe1769605e1c77fae3c11c3f1 +DIST librets-1.6.1.tar.gz 1394134 SHA256 1d0cf82d8553266f6ff7246209c4d177bddacb2496800c3414eb4a5e56cb47a0 SHA512 6e24becdd9f14e0a4da7b2cf7aceac34185af26b8af5e828dfacfe3a6ebf94111978b5dcf515263822e6865e18bb1759807895aa5034d49a9ac25cb5f55b952b WHIRLPOOL 73601d40f863f78ede43d890e7ef759cb8df179c464765bf8b502fa85772173e75b0b64bbe6de53b4a1900e10c4fa9437e031da4aa313e735c0ded4cca553e81 +EBUILD librets-1.6.1.ebuild 9386 SHA256 5e0c31e0c99ecf02a21543f82f522fe0bdc4c2026a42b1b6217abf613efc5011 SHA512 1050593fc39a9b439abe6bb3f2b5206d93158f20949c7e11e0fba6257c4b482e922a83136b33157d58fa63514cd0499b661a18cb0bf86da3316a7caafffb2b12 WHIRLPOOL 9acc8608845cae702964f864666a392c4d90de90a386bdcdef229dcd474312fcaffafb47772afe3f4a0e12c170b4f2c00f1cf57db6e08575e936baa070e29206 MISC ChangeLog 4106 SHA256 b01165124a1c0f6272c8841f8d81cf44042c6ec0a55c44b6681c71a7435fade2 SHA512 a9029ff84ea7aa40dbc1754e340408a2decf5d47a39a4a00cfea07b7d5f65a4ffac49fa312382f7f7921ecb047d6e08ee81c0720d93cee9cf01473a6b705b4a2 WHIRLPOOL 7a13763be4148eefb169bf2171ff1ec0f13c2fe77e5259f61b434ae5524dee77e3b1ff1ddc1ff3100ee308e3f93db4d032598c2392639a7547801f0457541338 MISC metadata.xml 774 SHA256 5b2aeaf3434f0c6ca946cb530fc822c8d54abde507e47eee513c473680126ffa SHA512 e0330367997c697881dd10980ad7b2b41700e65ad1cf8ddfc3fd879d933da3e3cfde676e35b645fb86550a32ec02702bc9a007c816446e7b1fbc3cd47fe0734c WHIRLPOOL f61f90404603e1162ce2917e641c1e66a566e10fef02c0e46e63f5210a50c0d8ce6ef438551ef5160b5037537456dc019260e3f3a16b5aae5bfccd1d5699436a diff --git a/dev-libs/librets/files/librets-1.5.3-boost.patch b/dev-libs/librets/files/librets-1.5.3-boost.patch deleted file mode 100644 index 8e357dc14..000000000 --- a/dev-libs/librets/files/librets-1.5.3-boost.patch +++ /dev/null @@ -1,68 +0,0 @@ -Fixes boost filesystem version detection error when compiling - -Index: project/librets/include/librets/RetsExceptionContext.h -=================================================================== ---- project/librets/include/librets/RetsExceptionContext.h (revision 1552) -+++ project/librets/include/librets/RetsExceptionContext.h (revision 1553) -@@ -22,6 +22,7 @@ - */ - /// @cond MAINTAINER - #include <string> -+#include <boost/filesystem/path.hpp> - - namespace librets { - /** -@@ -36,12 +37,12 @@ - - bool IsValid() const throw(); - -- std::string GetFileName() const throw(); -+ boost::filesystem::path GetFileName() const throw(); - - int GetLineNumber() const throw(); - - private: -- std::string mFileName; -+ boost::filesystem::path mFileName; - int mLineNumber; - }; - -Index: project/librets/src/RetsExceptionContext.cpp -=================================================================== ---- project/librets/src/RetsExceptionContext.cpp (revision 1552) -+++ project/librets/src/RetsExceptionContext.cpp (revision 1553) -@@ -14,14 +14,12 @@ - * both the above copyright notice(s) and this permission notice - * appear in supporting documentation. - */ --#define BOOST_FILESYSTEM_VERSION 2 - #include <boost/filesystem/path.hpp> - #include "librets/RetsExceptionContext.h" - - using namespace librets; - using namespace std; - --#undef BOOST_FILESYSTEM_VERSION - #define BOOST_FILESYSTEM_VERSION 3 - namespace fs = boost::filesystem; - -@@ -43,7 +41,7 @@ - return (!mFileName.empty()); - } - --string RetsExceptionContext::GetFileName() const throw() -+fs::path RetsExceptionContext::GetFileName() const throw() - { - return mFileName; - } -Index: project/librets/src/RetsReplyException.cpp -=================================================================== ---- project/librets/src/RetsReplyException.cpp (revision 1552) -+++ project/librets/src/RetsReplyException.cpp (revision 1553) -@@ -52,4 +52,4 @@ - string RetsReplyException::GetExtendedMeaning() const throw() - { - return mExtendedMeaning; --} -\ No newline at end of file -+} diff --git a/dev-libs/librets/files/librets-1.5.3-build.patch b/dev-libs/librets/files/librets-1.5.3-build.patch deleted file mode 100644 index 0069ee4b4..000000000 --- a/dev-libs/librets/files/librets-1.5.3-build.patch +++ /dev/null @@ -1,106 +0,0 @@ -Add missing LDFLAGS and change CFLAGS to CXXFLAGS - ---- 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) - ######## diff --git a/dev-libs/librets/files/librets-1.5.3-curl.patch b/dev-libs/librets/files/librets-1.5.3-curl.patch deleted file mode 100644 index 05e52b16e..000000000 --- a/dev-libs/librets/files/librets-1.5.3-curl.patch +++ /dev/null @@ -1,17 +0,0 @@ -Fixes bug: Could not Verify SSL Host: curl error #43 - -Index: project/librets/src/CurlEasy.cpp -=================================================================== ---- project/librets/src/CurlEasy.cpp (revision 1308) -+++ project/librets/src/CurlEasy.cpp (revision 1556) -@@ -209,8 +209,8 @@ - if (verify) - verifies = 2; - -- CurlAssert(curl_easy_setopt(mCurl, CURLOPT_SSL_VERIFYPEER, verify), "Verify SSL Peer"); -- CurlAssert(curl_easy_setopt(mCurl, CURLOPT_SSL_VERIFYHOST, verify), "Verify SSL Host"); -+ CurlAssert(curl_easy_setopt(mCurl, CURLOPT_SSL_VERIFYPEER, verifies), "Verify SSL Peer"); -+ CurlAssert(curl_easy_setopt(mCurl, CURLOPT_SSL_VERIFYHOST, verifies), "Verify SSL Host"); - } - - void CurlEasy::Perform() diff --git a/dev-libs/librets/files/librets-1.5.3-extconf.rb.patch b/dev-libs/librets/files/librets-1.5.3-extconf.rb.patch deleted file mode 100644 index 2901e2e9e..000000000 --- a/dev-libs/librets/files/librets-1.5.3-extconf.rb.patch +++ /dev/null @@ -1,18 +0,0 @@ -Upstream patch to allow the ruby extension to compile when multiple versions of boost are installed - -Index: project/swig/ruby/extconf.rb -=================================================================== ---- project/swig/ruby/extconf.rb (revision 1547) -+++ project/swig/ruby/extconf.rb (revision 1549) -@@ -60,6 +60,11 @@ - create_makefile('librets_native') - - orig_makefile = IO::read("Makefile") -+if RUBY_PLATFORM =~ /linux/ -+ # Make sure the proper version boost libraries are detected first by changing ruby's create_makefile library declaration order -+ orig_makefile.gsub!(/LIBS = \$\(LIBRUBYARG_SHARED\)(.+)/, "LIBS = \\1 \$\(LIBRUBYARG_SHARED\)"); -+ orig_makefile.gsub!(/(-o \$@ \$\(OBJS\))( \$\(LIBPATH\) \$\(DLDFLAGS\) \$\(LOCAL_LIBS\))( \$\(LIBS\))/, "\\1\\3\\2") -+end - File.open("Makefile", "w") do |mfile| - mfile << makefile_prefix - mfile << orig_makefile diff --git a/dev-libs/librets/files/librets-1.6.1-extconf.rb.patch b/dev-libs/librets/files/librets-1.6.1-extconf.rb.patch new file mode 100644 index 000000000..dbafc6220 --- /dev/null +++ b/dev-libs/librets/files/librets-1.6.1-extconf.rb.patch @@ -0,0 +1,19 @@ +commit 98dfabee1c528dd22d82d47f7c3397fb7096b91d +Author: Matthew Schultz <mattsch@gmail.com> +Date: Tue May 27 10:03:34 2014 -0500 + + Fixed compilation with ruby 2.0 by properly including the CFLAGS in CXXFLAGS. + +diff --git a/project/swig/ruby/extconf.rb b/project/swig/ruby/extconf.rb +index 494caa9..68e2920 100644 +--- a/project/swig/ruby/extconf.rb ++++ b/project/swig/ruby/extconf.rb +@@ -64,6 +64,8 @@ if RUBY_PLATFORM =~ /linux/ + # Make sure the proper version boost libraries are detected first by changing ruby's create_makefile library declaration order + orig_makefile.gsub!(/LIBS = \$\(LIBRUBYARG_SHARED\)(.+)/, "LIBS = \\1 \$\(LIBRUBYARG_SHARED\)"); + orig_makefile.gsub!(/(-o \$@ \$\(OBJS\))( \$\(LIBPATH\) \$\(DLDFLAGS\) \$\(LOCAL_LIBS\))( \$\(LIBS\))/, "\\1\\3\\2") ++ # Ruby 2.0 improperly generates CXXFLAGS without including CFLAGS which causes compilation to fail due to missing librets.h ++ orig_makefile.gsub!(/CXXFLAGS = \$\(CCDLFLAGS\)/, "CXXFLAGS = \$\(CFLAGS\)"); + end + File.open("Makefile", "w") do |mfile| + mfile << makefile_prefix diff --git a/dev-libs/librets/files/librets-1.6.1-fix-php-build-errors.patch b/dev-libs/librets/files/librets-1.6.1-fix-php-build-errors.patch new file mode 100644 index 000000000..0d63bc962 --- /dev/null +++ b/dev-libs/librets/files/librets-1.6.1-fix-php-build-errors.patch @@ -0,0 +1,77 @@ +commit 59e5e7af0e2c19ae2461e3eb071c2344629b8543 +Author: Keith T. Garner <kgarner@realtors.org> +Date: Wed Apr 9 11:20:17 2014 -0500 + + Rewrote the php configure test to use php-config. + +diff --git a/project/build/ac-macros/swig.m4 b/project/build/ac-macros/swig.m4 +index 4280d55..c267dc2 100644 +--- a/project/build/ac-macros/swig.m4 ++++ b/project/build/ac-macros/swig.m4 +@@ -168,25 +168,21 @@ EOF + dnl Check to see if we can build for php + dnl + if test "$my_use_php" = "yes"; then +- AC_CHECK_PROG(PHP, php, php, no) +- if test "$PHP" != "no"; then +- for php_prefix in $default_search_path +- do +- php_h="$php_prefix/php/main/php.h" +- zend_h="$php_prefix/php/Zend/zend.h" +- AC_CHECK_FILE([$php_h], [my_php_h=$php_h]) +- AC_CHECK_FILE([$zend_h], [my_zend_h=$zend_h]) +- test -n "$my_php_h" && break +- test -n "$my_zend_h" && break +- done ++ AC_CHECK_PROG(PHPCONFIG, php-config, php-config, no) ++ if test "$PHPCONFIG" != "no"; then ++ php_inc=`php-config --include-dir` ++ php_h="$php_inc/main/php.h" ++ zend_h="$php_inc/Zend/zend.h" ++ AC_CHECK_FILE([$php_h], [my_php_h=$php_h]) ++ AC_CHECK_FILE([$zend_h], [my_zend_h=$zend_h]) + if test -n "$my_php_h"; then + if test -n "$my_zend_h"; then + HAVE_PHP=1 + my_have_php=yes + fi +- fi ++ fi + fi +- fi ++ fi + + dnl + dnl Check to see if we can build for python3 + +commit fc3df0736cbea41b661979f91a400f12b397d02a +Author: Keith T. Garner <kgarner@realtors.org> +Date: Wed Apr 9 18:04:38 2014 -0500 + + Allow php to link with undefines as its a plugin and that's expected + +diff --git a/project/build/php.mk b/project/build/php.mk +index e031492..5b318cd 100644 +--- a/project/build/php.mk ++++ b/project/build/php.mk +@@ -18,7 +18,7 @@ ${PHP_WRAP}: ${SWIG_FILES} + -outdir ${PHP_OBJ_DIR} ${SWIG_DIR}/librets.i + + ${PHP_DLL}: ${PHP_WRAP} ${PHP_OBJ_DIR}/librets_wrap.o ${SWIG_BRIDGE_OBJ} ${LIBRETS_LIB} +- ${SWIG_LINK} -o ${PHP_DLL} ${PHP_OBJ_DIR}/librets_wrap.o ${SWIG_LIBRETS_LIBS} ${SWIG_BRIDGE_OBJ} ++ ${SWIG_LINK_UNDEFINED} -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} ${CXXFLAGS} ${PHP_CXX_FLAGS} -g -DLIBRETS_VERSION='"$(VERSION)"' -I${LIBRETS_INC_DIR} -I${PHP_SRC_DIR} \ +diff --git a/project/build/swig.mk b/project/build/swig.mk +index 4dfa1fa..c853f3e 100644 +--- a/project/build/swig.mk ++++ b/project/build/swig.mk +@@ -20,6 +20,7 @@ SWIG_BRIDGE_OBJ = ${SWIG_OBJ_DIR}/librets_bridge.o + + DLL = so + SWIG_LINK = ${CXX} ${LDFLAGS} -shared -Wl,--no-undefined ++SWIG_LINK_UNDEFINED = ${CXX} ${LDFLAGS} -shared + + ifeq (${SWIG_OSNAME}, darwin) + SWIG_LINK = ${CXX} -bundle -undefined suppress -flat_namespace diff --git a/dev-libs/librets/files/librets-1.5.3-java.mk.patch b/dev-libs/librets/files/librets-1.6.1-java.mk.patch index a724e29b1..a724e29b1 100644 --- a/dev-libs/librets/files/librets-1.5.3-java.mk.patch +++ b/dev-libs/librets/files/librets-1.6.1-java.mk.patch diff --git a/dev-libs/librets/librets-1.5.3-r3.ebuild b/dev-libs/librets/librets-1.6.1.ebuild index 4e2c15f1f..02b27ae8a 100644 --- a/dev-libs/librets/librets-1.5.3-r3.ebuild +++ b/dev-libs/librets/librets-1.6.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2013 Gentoo Foundation +# Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ @@ -9,9 +9,9 @@ PHP_EXT_NAME="librets" PHP_EXT_SKIP_PHPIZE="yes" USE_PHP="php5-3 php5-4 php5-5" -PYTHON_COMPAT=( python2_{6,7} ) +PYTHON_COMPAT=( python2_7 python3_{2,3} ) -USE_RUBY="ruby18 ruby19" +USE_RUBY="ruby19 ruby20" RUBY_OPTIONAL="yes" inherit autotools eutils java-pkg-opt-2 mono-env perl-module php-ext-source-r2 python-r1 ruby-ng toolchain-funcs @@ -25,7 +25,8 @@ SLOT="0" KEYWORDS="~amd64 ~x86" IUSE="doc java mono perl php python ruby sql-compiler threads" # Enabling thread safety for perl, php, python or ruby causes segmentation faults in cli scripts but not through apache -REQUIRED_USE="perl? ( !threads ) +REQUIRED_USE="mono? ( sql-compiler ) + perl? ( !threads ) php? ( !threads ) python? ( !threads ) ruby? ( !threads )" @@ -52,8 +53,8 @@ DEPEND="java? ( >=dev-lang/swig-1.3.40-r1 ) mono? ( >=dev-lang/swig-1.3.40-r1 ) php? ( dev-lang/php[-threads] >=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_ruby19? ( >=dev-lang/swig-2.0.4-r1 ) + ruby_targets_ruby20? ( >=dev-lang/swig-2.0.4-r1 ) ${RDEPEND}" # Reset to the default $S since ruby-ng overrides it @@ -91,6 +92,15 @@ my_ruby-move_swig_build_to_impl_dir() { mv build/swig/ruby/* "${1}"/${P} || die "Could not move ruby implementation build" } +my_python3-move_swig_build_to_impl_dir() { + # Only move if something there are files in the python3 directory + if [ "$(ls -A build/swig/python3)" ]; then + mkdir -p build/swig/"${1}" || die "Could not create directory for python3 implementation" + cp -R build/swig/python3/* build/swig/"${1}" || die "Could not move python3 implementation build" + rm -r build/swig/python3/build || die "Could not remove python3 build" + fi +} + pkg_setup() { use java && java-pkg-opt-2_pkg_setup use mono && mono-env_pkg_setup @@ -104,17 +114,17 @@ src_unpack() { } src_prepare() { - epatch "${FILESDIR}"/${P}-extconf.rb.patch \ - "${FILESDIR}"/${P}-java.mk.patch \ - "${FILESDIR}"/${P}-build.patch \ - "${FILESDIR}"/${P}-curl.patch \ - "${FILESDIR}"/${P}-boost.patch + epatch "${FILESDIR}"/${P}-fix-php-build-errors.patch \ + "${FILESDIR}"/${P}-extconf.rb.patch \ + "${FILESDIR}"/${P}-java.mk.patch epatch_user 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 + # Change the path to librets-config-inplace for python slotted build support + sed -i -e "s|../../..|${S}|" project/swig/python/setup.py project/swig/python3/setup.py || die + # Remove the build-lib path for python slotted build support + sed -i -e "s| --build-lib=.||" project/build/python3.mk || die fi use php && php-ext-source-r2_src_prepare @@ -127,7 +137,7 @@ src_configure() { myphpprefix="${PHPPREFIX}/include" fi - # The build system just finds "python", which could be python3.2 if EPYTHON is unset. + # The build system just finds "python", which could be any version of python if EPYTHON is unset. use python && python_export_best EPYTHON if use ruby; then @@ -180,8 +190,22 @@ src_compile() { done fi - # Build the remaining python implementations - use python && python_foreach_impl emake + if use python; then + local selectedPython3=$(eselect python show --python3) + my_python3-move_swig_build_to_impl_dir ${selectedPython3} + building() { + # Skip python 2.7 and the selected python3 interpreter since it was already built when make ran the first time + if [ "${EPYTHON:6:1}" = "2" ] || [ "${EPYTHON}" = "${selectedPython3}" ]; then + return 0 + fi + + pushd "${S}"/build/swig/python3 || die + "${PYTHON}" setup.py build || die + popd + my_python3-move_swig_build_to_impl_dir ${EPYTHON} + } + python_foreach_impl building + fi if use ruby; then # Move the current implementation build of ruby to another dir so other implementations can be built @@ -254,7 +278,12 @@ src_install() { if use python; then python_install() { - pushd "${S}"/build/swig/python || die + local pythonversion + # build files for python 3 reside in folders with slot versions + if [ "${EPYTHON:6:1}" = "3" ]; then + pythonversion=${EPYTHON:6} + fi + pushd "${S}"/build/swig/python${pythonversion} || die "${PYTHON}" setup.py install --root="${D}" || die popd } |