[dev-libs/Ice] put back db 5.1 support since that is stable, no idea if 5.3 gets stable anytime soon, add libressl support, apply patch from PLD which maybe can fix bug 552702

This commit is contained in:
Robert Förster 2016-02-12 23:54:02 +01:00
parent 11c2ac4835
commit 98a6dfa42a
3 changed files with 78 additions and 5 deletions

View File

@ -26,12 +26,16 @@ SRC_URI="https://github.com/zeroc-ice/ice/archive/v${PV}.tar.gz -> ${P}.tar.gz
LICENSE="GPL-2" LICENSE="GPL-2"
SLOT="0/${PV}" SLOT="0/${PV}"
KEYWORDS="~amd64 ~arm ~ia64 ~x86 ~x86-linux ~x64-macos" KEYWORDS="~amd64 ~arm ~ia64 ~x86 ~x86-linux ~x64-macos"
IUSE="doc examples +ncurses mono php php_namespaces python ruby test debug" IUSE="doc examples libressl +ncurses mono php php_namespaces python ruby test debug"
RDEPEND=">=dev-libs/expat-2.0.1 RDEPEND=">=dev-libs/expat-2.0.1
>=app-arch/bzip2-1.0.5 >=app-arch/bzip2-1.0.5
>=dev-libs/openssl-0.9.8o:0 !libressl? ( >=dev-libs/openssl-0.9.8o:0 )
sys-libs/db:5.3[cxx] libressl? ( dev-libs/libressl )
|| (
sys-libs/db:5.3[cxx]
sys-libs/db:5.1[cxx]
)
dev-cpp/libmcpp dev-cpp/libmcpp
python? ( ${PYTHON_DEPS} ) python? ( ${PYTHON_DEPS} )
ruby? ( $(ruby_implementation_depend ruby22) ) ruby? ( $(ruby_implementation_depend ruby22) )
@ -71,6 +75,8 @@ src_unpack() {
} }
src_prepare() { src_prepare() {
epatch "${FILESDIR}/${P}-libressl.patch"
epatch "${FILESDIR}/${P}-no-arch-opts.patch"
epatch "${FILESDIR}/${P}-csharp.patch" epatch "${FILESDIR}/${P}-csharp.patch"
sed -i \ sed -i \
-e 's|\(install_configdir[[:space:]]*\):=|\1?=|' \ -e 's|\(install_configdir[[:space:]]*\):=|\1?=|' \
@ -114,6 +120,18 @@ src_prepare() {
fi fi
} }
suitable_db_version() {
local tested_slots="5.3 5.1"
for ver in ${tested_slots}; do
if [[ -n $(db_findver sys-libs/db:${ver}) ]]; then
echo ${ver}
return 0
fi
done
die "No suitable BerkDB versions found, aborting"
}
src_configure() { src_configure() {
MAKE_RULES="prefix=\"${ED}/usr\" MAKE_RULES="prefix=\"${ED}/usr\"
install_docdir=\"${ED}/usr/share/doc/${PF}\" install_docdir=\"${ED}/usr/share/doc/${PF}\"
@ -126,13 +144,14 @@ src_configure() {
use ncurses && OPTIONS="${MAKE_RULES} USE_READLINE=yes" || MAKE_RULES="${MAKE_RULES} USE_READLINE=no" use ncurses && OPTIONS="${MAKE_RULES} USE_READLINE=yes" || MAKE_RULES="${MAKE_RULES} USE_READLINE=no"
use debug && OPTIONS="${MAKE_RULES} OPTIMIZE=no" || MAKE_RULES="${MAKE_RULES} OPTIMIZE=yes" use debug && OPTIONS="${MAKE_RULES} OPTIMIZE=no" || MAKE_RULES="${MAKE_RULES} OPTIMIZE=yes"
MAKE_RULES="${MAKE_RULES} DB_FLAGS=-I$(db_includedir 5.3)" local BERKDB_VERSION="$(suitable_db_version)"
MAKE_RULES="${MAKE_RULES} DB_FLAGS=-I$(db_includedir ${BERKDB_VERSION})"
sed -i \ sed -i \
-e "s|g++|$(tc-getCXX)|" \ -e "s|g++|$(tc-getCXX)|" \
-e "s|\(CFLAGS[[:space:]]*=\)|\1 ${CFLAGS}|" \ -e "s|\(CFLAGS[[:space:]]*=\)|\1 ${CFLAGS}|" \
-e "s|\(CXXFLAGS[[:space:]]*=\)|\1 ${CXXFLAGS}|" \ -e "s|\(CXXFLAGS[[:space:]]*=\)|\1 ${CXXFLAGS}|" \
-e "s|\(LDFLAGS[[:space:]]*=\)|\1 ${LDFLAGS}|" \ -e "s|\(LDFLAGS[[:space:]]*=\)|\1 ${LDFLAGS}|" \
-e "s|\(DB_LIBS[[:space:]]*=\) \-ldb_cxx|\1 -ldb_cxx-$(db_findver sys-libs/db:5.3)|" \ -e "s|\(DB_LIBS[[:space:]]*=\) \-ldb_cxx|\1 -ldb_cxx-$(db_findver sys-libs/db:${BERKDB_VERSION})|" \
cpp/config/Make.rules{,.Linux} python/config/Make.rules || die "sed failed" cpp/config/Make.rules{,.Linux} python/config/Make.rules || die "sed failed"
if use python ; then if use python ; then

View File

@ -0,0 +1,23 @@
From 5974de7290be5097960a117321fc87fa8fb607d4 Mon Sep 17 00:00:00 2001
From: hasufell <hasufell@hasufell.de>
Date: Sat, 3 Oct 2015 15:40:56 +0200
Subject: [PATCH] Fix compilation with LibreSSL
Signed-off-by: Joe George <joe@zeroc.com>
---
cpp/src/IceSSL/OpenSSLEngine.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/cpp/src/IceSSL/OpenSSLEngine.cpp b/cpp/src/IceSSL/OpenSSLEngine.cpp
index 5ec9186..a5e857c 100644
--- a/cpp/src/IceSSL/OpenSSLEngine.cpp
+++ b/cpp/src/IceSSL/OpenSSLEngine.cpp
@@ -259,7 +259,7 @@ OpenSSLEngine::OpenSSLEngine(const CommunicatorPtr& communicator) :
}
}
}
-# ifndef _WIN32
+# if !defined (_WIN32) && !defined (OPENSSL_NO_EGD)
//
// The Entropy Gathering Daemon (EGD) is not available on Windows.
// The file should be a Unix domain socket for the daemon.

View File

@ -0,0 +1,31 @@
--- ice-3.6.0/cpp/config/Make.rules.Linux~ 2015-06-27 16:56:56.000000000 +0200
+++ ice-3.6.0/cpp/config/Make.rules.Linux 2015-06-27 17:23:45.810591931 +0200
@@ -71,14 +71,6 @@
CXXARCHFLAGS += -mtune=v8 -pipe -Wno-deprecated -DICE_USE_MUTEX_SHARED
endif
- ifeq ($(MACHINE),x86_64)
- ifeq ($(LP64),yes)
- CXXARCHFLAGS += -m64
- else
- CXXARCHFLAGS += -m32
- endif
- endif
-
CXXFLAGS += $(CXXARCHFLAGS) -fvisibility=hidden -Wall -Werror -pthread
# If MAXWARN is set then enable extra warnings
--- ice-3.6.0/config/Make.common.rules~ 2015-06-23 17:30:20.000000000 +0200
+++ ice-3.6.0/config/Make.common.rules 2015-06-28 01:53:57.149666595 +0200
@@ -104,11 +104,6 @@
LP64 = yes
endif
endif
- ifneq ($(STATICLIBS),yes)
- ifneq ($(LP64),yes)
- binsuffix = 32
- endif
- endif
endif
ifeq ($(shell test -d $(usr_dir)/lib/i386-linux-gnu && echo 0),0)