Add ZeroC Ice 3.7.1 as devel/ice37

Upgrading from Ice 3.6 (devel/ice) is non-trivial (requires application code
changes), therefore a separate port was required.

PR:		221141
This commit is contained in:
Michael Gmelin 2018-08-27 12:07:11 +00:00
parent 5c22e647dc
commit 38818469f1
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=478195
35 changed files with 1365 additions and 0 deletions

View file

@ -1216,6 +1216,7 @@
SUBDIR += i386-gcc
SUBDIR += i386-xtoolchain-gcc
SUBDIR += ice
SUBDIR += ice37
SUBDIR += icestorm
SUBDIR += icmake
SUBDIR += icontheme

148
devel/ice37/Makefile Normal file
View file

@ -0,0 +1,148 @@
# Created by: Michael Gmelin <grembo@FreeBSD.org>
# $FreeBSD$
PORTNAME= Ice
PORTVERSION= 3.7.1
DISTVERSIONPREFIX= v
CATEGORIES= devel
PKGNAMESUFFIX?= 37
MAINTAINER= grembo@FreeBSD.org
COMMENT= Modern alternative to object middleware such as CORBA/COM/DCOM/COM+
LICENSE= GPLv2
SLAVE_PORT?= no
CONFLICTS= Ice py*-Ice php*-Ice
.if ${SLAVE_PORT} == "no"
LIB_DEPENDS= libexpat.so:textproc/expat2 \
liblmdb.so:databases/lmdb \
libmcpp.so:devel/mcpp
.else
LIB_VRS= ${PORTVERSION:R:S|.||g}
LIB_DEPENDS+= libIce.so.${LIB_VRS}:devel/ice37
PLIST_SUB+= LIB_VERSION="${PORTVERSION}" LIB_VRS="${LIB_VRS}"
.endif
DESTDIRNAME= NOT_USED # setting DESTDIR interferes with Ice's Makefiles
OPTIONS_DEFINE?= DEBUG STATIC TEST
OPTIONS_SUB= yes
USES+= compiler:c++14-lang iconv gmake
CONFIGS= shared
DEBUG_MAKE_ENV= OPTIMIZE=no
TEST_ALL_TARGET_OFF= srcs
MAKE_ARGS+= V=1
CONFIGS= shared
.if ${SLAVE_PORT} == "no"
USES+= ssl
CONFIGS+= cpp11-shared
STATIC_VARS= configs+="static cpp11-static"
TEST_USES= python:build shebangfix
TEST_VARS= shebang_glob=*.py
TEST_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}passlib>0:security/py-passlib@${PY_FLAVOR}
.endif
.include <bsd.port.options.mk>
USE_LDCONFIG= yes
BUILD_WRKSRC?= ${WRKSRC}/cpp
INSTALL_WRKSRC?= ${WRKSRC}/cpp
USE_GITHUB= yes
GH_ACCOUNT= zeroc-ice
GH_PROJECT= ice
.if ((${ARCH} != i386) && (${ARCH} != powerpc))
MAKE_ENV+= LP64=yes
.endif
.include <bsd.port.pre.mk>
.if ${PREFIX} != ${LOCALBASE}
PYSITEDIR= ${PREFIX}${PYTHON_SITELIBDIR:S|^${LOCALBASE}||}
.else
PYSITEDIR= ${PYTHON_SITELIBDIR}
.endif
.if defined(PYTHON_VER) && (${PYTHON_VER} == "2.7" || ${PYTHON_VER} == "3.4")
PLIST_SUB+= PYTHONGT34="@comment "
.else
PLIST_SUB+= PYTHONGT34=""
.endif
post-patch:
@${SED} 's|%%CONFIGS%%|${CONFIGS}|g; \
s|%%DATADIR%%|${STAGEDIR}${DATADIR}|g; \
s|%%DOCSDIR%%|${STAGEDIR}${DOCSDIR}|g; \
s|%%ICONV_LIB%%|${ICONV_LIB}|g; \
s|%%INSTALL_PROGRAM%%|${INSTALL_PROGRAM}|g; \
s|%%INSTALL_DATA%%|${INSTALL_DATA}|g; \
s|%%LOCALBASE%%|${LOCALBASE}|g; \
s|%%MANPREFIX%%|${STAGEDIR}${MANPREFIX}|g; \
s|%%OPENSSLLIB%%|${OPENSSLLIB}|g; \
s|%%OPENSSLINC%%|${OPENSSLINC}|g; \
s|%%PREFIX%%|${STAGEDIR}${PREFIX}|g;' \
${FILESDIR}/Make.rules.FreeBSD > ${WRKSRC}/config/Make.rules.FreeBSD
@${REINPLACE_CMD} 's|%%CHMOD%%|${CHMOD}|g; \
s|%%INSTALL_DATA%%|${INSTALL_DATA}|g; \
s|%%INSTALL_LIB%%|${INSTALL_LIB}|g; \
s|%%INSTALL_PROGRAM%%|${INSTALL_PROGRAM}|g; \
s|%%MKDIR%%|${MKDIR}|g; \
s|%%MV%%|${MV}|g; \
s|%%RM%%|${RM}|g;' \
${WRKSRC}/config/Make.project.rules
@${REINPLACE_CMD} 's|%%INSTALL_PROGRAM%%|${INSTALL_PROGRAM}|g; \
s|%%INSTALL_DATA%%|${INSTALL_DATA}|g; \
s|%%ICONV_LIB%%|${ICONV_LIB}|g; \
s|%%PYTHON_CMD%%|${PYTHON_CMD}|g; \
s|%%PYTHON_SITELIBDIR%%|${STAGEDIR}${PYSITEDIR}|g; \
s|%%PREFIX%%|${PREFIX}|g; \
s|%%LOCALBASE%%|${LOCALBASE}|g' ${WRKSRC}/python/config/Make.rules
@${REINPLACE_CMD} 's|%%CHMOD%%|${CHMOD}|g; \
s|%%INSTALL_DATA%%|${INSTALL_DATA}|g; \
s|%%INSTALL_LIB%%|${INSTALL_LIB}|g; \
s|%%INSTALL_PROGRAM%%|${INSTALL_PROGRAM}|g; \
s|%%MKDIR%%|${MKDIR}|g; \
s|%%MV%%|${MV}|g; \
s|%%RM%%|${RM}|g;' \
${WRKSRC}/python/python/Makefile
@${REINPLACE_CMD} 's|%%INSTALL_PROGRAM%%|${INSTALL_PROGRAM}|g; \
s|%%INSTALL_DATA%%|${INSTALL_DATA}|g; \
s|%%PREFIX%%|${PREFIX}|g; \
s|%%LOCALBASE%%|${LOCALBASE}|g;' ${WRKSRC}/php/Makefile
@${REINPLACE_CMD} 's|%%LOCALBASE%%|${LOCALBASE}|g;' \
${WRKSRC}/scripts/Util.py
@${REINPLACE_CMD} 's|%%LOCALBASE%%|${LOCALBASE}|g;' \
${WRKSRC}/scripts/Glacier2Util.py
IS_JAILED_CMD= ${SYSCTL} -n security.jail.jailed
JAILED_FILTER= --rfilter=IceDiscovery \
--rfilter=priority \
--rfilter=threadPoolPriority \
--rfilter=udp
do-test-TEST-on:
.for CONFIG in ${CONFIGS}
@${ECHO} Testing configuration ${CONFIG}
cd ${BUILD_WRKSRC} && \
${SETENV} LC_ALL=en_US.UTF-8 ${PYTHON_CMD} ./allTests.py \
--config=${CONFIG} \
$$(${TEST} $$(${IS_JAILED_CMD}) -eq 1 \
&& ${ECHO} ${JAILED_FILTER})
.endfor
.if ${SLAVE_PORT} == "no"
pre-install:
@${MKDIR} ${STAGEDIR}${DATADIR}
post-install:
${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/*.so.*
@cd ${WRKSRC} && ${GMAKE} install-doc install-slice
.endif
.include <bsd.port.post.mk>

3
devel/ice37/distinfo Normal file
View file

@ -0,0 +1,3 @@
TIMESTAMP = 1534213743
SHA256 (zeroc-ice-ice-v3.7.1_GH0.tar.gz) = b1526ab9ba80a3d5f314dacf22674dff005efb9866774903d0efca5a0fab326d
SIZE (zeroc-ice-ice-v3.7.1_GH0.tar.gz) = 8765196

View file

@ -0,0 +1,75 @@
# **********************************************************************
#
# Copyright (c) 2003-2018 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
#
# **********************************************************************
supported-platforms = freebsd
supported-configs = shared static cpp11-shared cpp11-static
CONFIGS = %%CONFIGS%%
DEFAULT_MUTEX_PROTOCOL = PrioInherit
prefix = %%PREFIX%%
install_mandir = %%MANPREFIX%%/man
install_slicedir = %%DATADIR%%
install_configdir = %%DATADIR%%/config
install_docdir = %%DOCSDIR%%
localbase = %%LOCALBASE%%
opensslinc = $(filter-out "-I","-I%%OPENSSLINC%%")
openssllib = $(filter-out "-L","-L%%OPENSSLLIB%%")
cppflags = -Wall -pthread \
${opensslinc} -isystem ${localbase}/include \
$(if $(filter yes,$(OPTIMIZE)),-DNDEBUG,-g)
ldflags = -pthread -L${top_srcdir}/cpp/lib -L${localbase}/lib
ifeq ($(MAXWARN),yes)
cppflags += -Wextra -Wshadow -Wredundant-decls
endif
freebsd_ldflags = $(ldflags)
freebsd_targetdir = $(if $(filter %/build,$5),/freebsd)
iconv_ldflags = %%ICONV_LIB%%
embedded_runpath = no
rpath-link-ldflag = -Wl,-rpath-link,$1
make-rpath-link-ldflags = $(foreach d,$(filter-out $2,$(call get-all-deps,$1)),$(call rpath-link-ldflag,$($d_targetdir)))
# If building objects for a shared library build, enable PIC or PIE:
shared_cppflags = $(if $(filter-out program,$($1_target)),-fPIC,-fPIE) -fvisibility=hidden
static_targetdir = $(if $(and $(filter-out %/build,$5),$(filter $($1_target),program)),,static)
# If we are linking a program, add -rpath-link to locate secondary libraries that aren't linked with the executable.
shared_ldflags = $(if $(filter-out program,$($1_target)),\
$(if $(filter yes,$(allow-undefined-symbols)),,-Wl$(comma)--no-undefined),\
-pie $(if $(filter yes,$(new_dtags)),-Wl$(comma)--enable-new-dtags,-Wl$(comma)--disable-new-dtags) \
$$(call unique,$$(foreach d,$($4_dependencies),$$(call make-rpath-link-ldflags,$$d,$($4_dependencies)))))
ifeq ($(embedded_runpath),yes)
#
# Our default for embedded runpath prefix on AIX is $(prefix)
#
ifeq ($(embedded_runpath_prefix),)
embedded_runpath_prefix = $(prefix)
endif
endif
# $(call mklib,$1=target,$2=objects,$3=libname,$4=version,$5=soversion,$6=ldflags,$7=platform)
mklib = $(or $($7_ar),$(AR)) cr $1 $2
# $(call mkshlib,$1=target,$2=objects,$3=libname,$4=version,$5=soversion,$6=ldflags,$7=platform)
#tmpsofile = $(dir $1)lib$2.so$(if $3,.$3)
mkshlib = $(or $($7_cxx),$(CXX)) -shared $(if $5,-Wl$(comma)-h$(comma)$(call mksoname,$3,$4,$5)) -o $1 $2 $6
#
# $(call mkxxx,$1=libname,$2=version,$3=soversion)
#
mksoname = lib$(1).so$(if $3,.$3)
mkshlibfilename = lib$(1).so$(if $2,.$2)
mkshlibname = lib$(1).so
Ice_system_libs = ${openssllib} -lcrypto
IceSSL_system_libs = ${openssllib} -lssl -lcrypto
Glacier2CryptPermissionsVerifier_system_libs = -lcrypt

View file

@ -0,0 +1,64 @@
--- config/Make.project.rules.orig 2018-04-20 15:02:08 UTC
+++ config/Make.project.rules
@@ -48,17 +48,16 @@ component-configs = $(call unique,
#
# Some variables for utilities
#
-INSTALL = install -p
-MV = mv -f
-RM = rm -f
-MKDIR = mkdir
-CHMOD = chmod
+MV = /bin/mv
+RM = /bin/rm -f
+MKDIR = /bin/mkdir -p
+CHMOD = /bin/chmod
Q := $(if $(V),,@)
E := $(if $(V),@:,@echo)
# $(call install-data,$1=filename,$2=srcdir,$3=destdist)
-install-data = $(INSTALL) -m 644 $2/$1 $(DESTDIR)$3/$1
+install-data = %%INSTALL_DATA%% $2/$1 $(DESTDIR)$3/$1
#
# $(call install-data-files,$1=files,$2=$srcdir,$3=$destdir,$4=target,$5=text-output)
@@ -218,7 +217,7 @@ endef
define install-static-library
$(DESTDIR)$5/$(call mklibname,$1,$3,$4): $2/$(call mklibname,$1,$3,$4) | $(DESTDIR)$5
$(E) "Installing $$@"
- $(Q)$(INSTALL) $$< $(DESTDIR)$5
+ $(Q)%%INSTALL_LIB%% $$< $(DESTDIR)$5
endef
# $(call get-static-library-targets,$1=libname,$2=libdir,$3=version,$4=soversion,$5=devinstall)
@@ -254,8 +253,7 @@ define install-shared-library
$(DESTDIR)$5/$(call mkshlibfilename,$1,$3,$4): $2/$(call mkshlibfilename,$1,$3,$4) | $(DESTDIR)$5
$(E) "Installing $$@"
- $(Q)$(INSTALL) $$< $(DESTDIR)$5
- $(Q)$(CHMOD) a+rx $$@
+ $(Q)%%INSTALL_LIB%% $$< $(DESTDIR)$5
ifneq ($(and $4,$(filter-out undefined,$(origin mksoname))),)
$(DESTDIR)$5/$(call mksoname,$1,$3,$4): $(DESTDIR)$5/$(call mkshlibfilename,$1,$3,$4) \
@@ -295,8 +293,7 @@ endef
define install-shared-module
$(DESTDIR)$5/$1: $2/$1 | $(DESTDIR)$5
$(E) "Installing $$@"
- $(Q)$(INSTALL) $$< $(DESTDIR)$5
- $(Q)$(CHMOD) a+rx $$@
+ $(Q)%%INSTALL_LIB%% $$< $(DESTDIR)$5
endef
# $(call get-shared-module-targets,$1=libname,$2=libdir,$3=version,$4=soversion,$5=devinstall)
@@ -320,8 +317,7 @@ endef
define install-program
$(DESTDIR)$5/$1$(EXE_EXT): $2/$1$(EXE_EXT) | $(DESTDIR)$5
$(E) "Installing $$@"
- $(Q)$(INSTALL) $$< $(DESTDIR)$5
- $(Q)$(CHMOD) a+rx $$@
+ $(Q)%%INSTALL_PROGRAM%% $$< $(DESTDIR)$5
endef
# $(call get-program-targets,$1=exename,$2=bindir,$3=version,$4=soversion,$5=devinstall)

View file

@ -0,0 +1,11 @@
--- config/Make.rules.orig 2018-04-20 15:02:08 UTC
+++ config/Make.rules
@@ -150,7 +150,7 @@ slicedir = $(if $(use-bin
sdkdir = $(if $(use-bin-dist),$(ice_home)/sdk,$(top_srcdir)/sdk)
srcdir = $(call mappingdir,$(or $1,$(currentdir)),src)
-usr_dir_install := $(or $(filter yes,$(USR_DIR_INSTALL)),$(filter /usr%,$(prefix)))
+#usr_dir_install := $(or $(filter yes,$(USR_DIR_INSTALL)),$(filter /usr%,$(prefix)))
install_bindir ?= $(prefix)/bin
install_libdir ?= $(prefix)/lib
install_slicedir ?= $(prefix)$(if $(usr_dir_install),/share/ice)/slice

View file

@ -0,0 +1,20 @@
--- cpp/include/IceUtil/Config.h.orig 2018-04-20 15:02:08 UTC
+++ cpp/include/IceUtil/Config.h
@@ -80,13 +80,15 @@
//
# include <stdint.h>
-# if defined(__WORDSIZE) && (__WORDSIZE == 64)
+# if (__cplusplus >= 201103L) && defined(__WORDSIZE) && (__WORDSIZE == 64)
# define ICE_64
-# elif defined(__WORDSIZE) && (__WORDSIZE == 32)
+# elif (__cplusplus >= 201103L) && defined(__WORDSIZE) && (__WORDSIZE == 32)
# define ICE_32
# elif defined(__sun) && (defined(__sparcv9) || defined(__x86_64)) || \
defined(__linux) && defined(__x86_64) || \
defined(__APPLE__) && defined(__x86_64) || \
+ defined(__FreeBSD__) && defined(__x86_64) || \
+ defined(__FreeBSD__) && defined(__LP64__) || \
defined(__hppa) && defined(__LP64__) || \
defined(_ARCH_COM) && defined(__64BIT__) || \
defined(__alpha__) || \

View file

@ -0,0 +1,10 @@
--- cpp/src/Ice/ProxyFactory.cpp.orig 2018-04-20 15:02:08 UTC
+++ cpp/src/Ice/ProxyFactory.cpp
@@ -233,6 +233,7 @@ IceInternal::ProxyFactory::checkRetryAft
}
else if(cnt > static_cast<int>(_retryIntervals.size()))
{
+ interval = 0; // apeace compiler
if(traceLevels->retry >= 1)
{
Trace out(logger, traceLevels->retryCat);

View file

@ -0,0 +1,15 @@
--- cpp/src/Ice/Thread.cpp.orig 2018-04-20 15:02:08 UTC
+++ cpp/src/Ice/Thread.cpp
@@ -720,6 +720,12 @@ IceUtil::Thread::start(size_t stackSize,
stackSize = stackSize / 4096 * 4096 + 4096;
}
#endif
+#if defined(__FreeBSD__)
+ if(stackSize < 16384)
+ {
+ stackSize = 16384;
+ }
+#endif
rc = pthread_attr_setstacksize(&attr, stackSize);
if(rc != 0)
{

View file

@ -0,0 +1,23 @@
--- cpp/src/IceGrid/PluginFacadeI.cpp.orig 2018-04-20 15:02:08 UTC
+++ cpp/src/IceGrid/PluginFacadeI.cpp
@@ -34,10 +34,16 @@ public:
IceGrid::setRegistryPluginFacade(new RegistryPluginFacadeI);
}
- ~Init()
- {
- IceGrid::setRegistryPluginFacade(0);
- }
+/* This is a bad idea, see
+ * https://isocpp.org/wiki/faq/ctors#construct-on-first-use-v2
+ * That's why we disabled it and make sure the registrypluginfacace
+ * is reset somwhere else. Construction is still here, so that
+ * registry plugins work as expected.
+ * ~Init()
+ * {
+ * IceGrid::setRegistryPluginFacade(0);
+ * }
+ */
};
Init init;

View file

@ -0,0 +1,24 @@
--- cpp/src/IceGrid/RegistryI.cpp.orig 2018-04-20 15:02:08 UTC
+++ cpp/src/IceGrid/RegistryI.cpp
@@ -46,6 +46,13 @@ using namespace std;
using namespace Ice;
using namespace IceGrid;
+namespace IceGrid
+{
+
+ICEGRID_API void setRegistryPluginFacade(const RegistryPluginFacadePtr&);
+
+}
+
namespace
{
@@ -183,6 +190,7 @@ RegistryI::RegistryI(const CommunicatorP
RegistryI::~RegistryI()
{
+ IceGrid::setRegistryPluginFacade(0);
}
bool

View file

@ -0,0 +1,25 @@
--- cpp/test/Glacier2/ssl/Server.cpp.orig 2018-04-20 15:02:08 UTC
+++ cpp/test/Glacier2/ssl/Server.cpp
@@ -35,9 +35,9 @@ void testContext(bool ssl, const Ice::Co
port << getTestPort(communicator->getProperties(), 1);
test(ctx["_con.localPort"] == port.str());
}
- test(ctx["_con.localAddress"] == "127.0.0.1");
+ test(ctx["_con.localAddress"] == "127.0.0.1" || inFreeBSDJail());
test(ctx["_con.remotePort"] != "");
- test(ctx["_con.remoteAddress"] == "127.0.0.1");
+ test(ctx["_con.remoteAddress"] == "127.0.0.1" || inFreeBSDJail());
}
}
@@ -129,8 +129,8 @@ public:
{
testContext(true, current.adapter->getCommunicator(), current.ctx);
- test(info.remoteHost == "127.0.0.1");
- test(info.localHost == "127.0.0.1");
+ test(info.remoteHost == "127.0.0.1" || inFreeBSDJail());
+ test(info.localHost == "127.0.0.1" || inFreeBSDJail());
test(info.localPort == getTestPort(current.adapter->getCommunicator()->getProperties(), 1));
try

View file

@ -0,0 +1,40 @@
--- cpp/test/Ice/info/AllTests.cpp.orig 2018-04-20 15:02:08 UTC
+++ cpp/test/Ice/info/AllTests.cpp
@@ -129,13 +129,13 @@ allTests(const Ice::CommunicatorPtr& com
test(ipEndpoint);
test(ipEndpoint->type() == Ice::TCPEndpointType || ipEndpoint->type() == Ice::SSLEndpointType ||
ipEndpoint->type() == Ice::WSEndpointType || ipEndpoint->type() == Ice::WSSEndpointType);
- test(ipEndpoint->host == "127.0.0.1");
+ test(ipEndpoint->host == "127.0.0.1" || inFreeBSDJail());
test(ipEndpoint->port > 0);
test(ipEndpoint->timeout == 15000);
Ice::UDPEndpointInfoPtr udpEndpoint = ICE_DYNAMIC_CAST(Ice::UDPEndpointInfo, endpoints[1]->getInfo());
test(udpEndpoint);
- test(udpEndpoint->host == "127.0.0.1");
+ test(udpEndpoint->host == "127.0.0.1" || inFreeBSDJail());
test(udpEndpoint->datagram());
test(udpEndpoint->port > 0);
@@ -218,8 +218,8 @@ allTests(const Ice::CommunicatorPtr& com
test(info->remotePort == port);
if(defaultHost == "127.0.0.1")
{
- test(info->remoteAddress == defaultHost);
- test(info->localAddress == defaultHost);
+ test(info->remoteAddress == defaultHost || inFreeBSDJail());
+ test(info->localAddress == defaultHost || inFreeBSDJail());
}
#if !defined(ICE_OS_UWP)
test(info->rcvSize >= 1024);
@@ -279,8 +279,8 @@ allTests(const Ice::CommunicatorPtr& com
test(udpinfo->remotePort == port);
if(defaultHost == "127.0.0.1")
{
- test(udpinfo->remoteAddress == defaultHost);
- test(udpinfo->localAddress == defaultHost);
+ test(udpinfo->remoteAddress == defaultHost || inFreeBSDJail());
+ test(udpinfo->localAddress == defaultHost || inFreeBSDJail());
}
#if !defined(ICE_OS_UWP)

View file

@ -0,0 +1,50 @@
--- cpp/test/Ice/metrics/AllTests.cpp.orig 2018-04-20 15:02:08 UTC
+++ cpp/test/Ice/metrics/AllTests.cpp
@@ -712,9 +712,12 @@ allTests(const Ice::CommunicatorPtr& com
testAttribute(clientMetrics, clientProps, update.get(), "Connection", "incoming", "false");
testAttribute(clientMetrics, clientProps, update.get(), "Connection", "adapterName", "");
testAttribute(clientMetrics, clientProps, update.get(), "Connection", "connectionId", "Con1");
- testAttribute(clientMetrics, clientProps, update.get(), "Connection", "localHost", host);
- //testAttribute(clientMetrics, clientProps, update.get(), "Connection", "localPort", "");
- testAttribute(clientMetrics, clientProps, update.get(), "Connection", "remoteHost", host);
+ if (!inFreeBSDJail())
+ {
+ testAttribute(clientMetrics, clientProps, update.get(), "Connection", "localHost", host);
+ //testAttribute(clientMetrics, clientProps, update.get(), "Connection", "localPort", "");
+ testAttribute(clientMetrics, clientProps, update.get(), "Connection", "remoteHost", host);
+ }
testAttribute(clientMetrics, clientProps, update.get(), "Connection", "remotePort", port);
testAttribute(clientMetrics, clientProps, update.get(), "Connection", "mcastHost", "");
testAttribute(clientMetrics, clientProps, update.get(), "Connection", "mcastPort", "");
@@ -803,7 +806,7 @@ allTests(const Ice::CommunicatorPtr& com
bool dnsException = false;
try
{
- communicator->stringToProxy("test:tcp -t 500 -h unknownfoo.zeroc.com -p " + port)->ice_ping();
+ communicator->stringToProxy("test:tcp -t 500 -h unknownhost9999.example.org -p " + port)->ice_ping();
test(false);
}
catch(const Ice::DNSException&)
@@ -816,7 +819,7 @@ allTests(const Ice::CommunicatorPtr& com
}
test(clientMetrics->getMetricsView("View", timestamp)["EndpointLookup"].size() == 2);
m1 = clientMetrics->getMetricsView("View", timestamp)["EndpointLookup"][1];
- test(m1->id == "tcp -h unknownfoo.zeroc.com -p " + port + " -t 500" && m1->total == 2 &&
+ test(m1->id == "tcp -h unknownhost9999.example.org -p " + port + " -t 500" && m1->total == 2 &&
(!dnsException || m1->failures == 2));
if(dnsException)
{
@@ -947,9 +950,11 @@ allTests(const Ice::CommunicatorPtr& com
testAttribute(serverMetrics, serverProps, update.get(), "Dispatch", "incoming", "true", op);
testAttribute(serverMetrics, serverProps, update.get(), "Dispatch", "adapterName", "TestAdapter", op);
testAttribute(serverMetrics, serverProps, update.get(), "Dispatch", "connectionId", "", op);
- testAttribute(serverMetrics, serverProps, update.get(), "Dispatch", "localHost", host, op);
+ if (!inFreeBSDJail())
+ testAttribute(serverMetrics, serverProps, update.get(), "Dispatch", "localHost", host, op);
testAttribute(serverMetrics, serverProps, update.get(), "Dispatch", "localPort", port, op);
- testAttribute(serverMetrics, serverProps, update.get(), "Dispatch", "remoteHost", host, op);
+ if (!inFreeBSDJail())
+ testAttribute(serverMetrics, serverProps, update.get(), "Dispatch", "remoteHost", host, op);
//testAttribute(serverMetrics, serverProps, update.get(), "Dispatch", "remotePort", port, op);
testAttribute(serverMetrics, serverProps, update.get(), "Dispatch", "mcastHost", "", op);
testAttribute(serverMetrics, serverProps, update.get(), "Dispatch", "mcastPort", "", op);

View file

@ -0,0 +1,11 @@
--- cpp/test/Ice/threadPoolPriority/AllTests.cpp.orig 2018-04-20 15:02:08 UTC
+++ cpp/test/Ice/threadPoolPriority/AllTests.cpp
@@ -30,7 +30,7 @@ allTests(const Ice::CommunicatorPtr& com
#ifdef _WIN32
test(1 == priority->getPriority());
#else
- test(50 == priority->getPriority());
+ test(31 == priority->getPriority());
#endif
}
catch(...)

View file

@ -0,0 +1,11 @@
--- cpp/test/Ice/threadPoolPriority/Server.cpp.orig 2018-04-20 15:02:08 UTC
+++ cpp/test/Ice/threadPoolPriority/Server.cpp
@@ -43,7 +43,7 @@ run(int, char**, const Ice::Communicator
#ifdef _WIN32
communicator->getProperties()->setProperty("Ice.ThreadPool.Server.ThreadPriority", "1");
#else
- communicator->getProperties()->setProperty("Ice.ThreadPool.Server.ThreadPriority", "50");
+ communicator->getProperties()->setProperty("Ice.ThreadPool.Server.ThreadPriority", "31");
#endif
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");

View file

@ -0,0 +1,11 @@
--- cpp/test/Ice/threadPoolPriority/ServerCustomThreadPool.cpp.orig 2018-04-20 15:02:08 UTC
+++ cpp/test/Ice/threadPoolPriority/ServerCustomThreadPool.cpp
@@ -48,7 +48,7 @@ run(int, char**, const Ice::Communicator
communicator->getProperties()->setProperty("TestAdapter.ThreadPool.ThreadPriority", "1");
#else
communicator->getProperties()->setProperty("Ice.ThreadPool.Server.ThreadPriority", "10");
- communicator->getProperties()->setProperty("TestAdapter.ThreadPool.ThreadPriority", "50");
+ communicator->getProperties()->setProperty("TestAdapter.ThreadPool.ThreadPriority", "31");
#endif
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
Ice::ObjectPtr object = ICE_MAKE_SHARED(PriorityI, adapter);

View file

@ -0,0 +1,54 @@
--- cpp/test/IceSSL/configuration/AllTests.cpp.orig 2018-04-20 15:02:08 UTC
+++ cpp/test/IceSSL/configuration/AllTests.cpp
@@ -741,7 +741,11 @@ allTests(const CommunicatorPtr& communic
openSSLVersion = plugin->getOpenSSLVersion();
comm->destroy();
}
+# if defined(LIBRESSL_VERSION_NUMBER)
+ const string anonCiphers = "ADH";
+# else
const string anonCiphers = openSSLVersion >= 0x10100000L ? "ADH:@SECLEVEL=0" : "ADH";
+# endif
#endif
IceSSL::ConnectionInfoPtr info;
@@ -2655,6 +2659,7 @@ allTests(const CommunicatorPtr& communic
// This is fixed in 10.11.3
if(!elCapitanUpdate2OrLower)
{
+#if !defined(LIBRESSL_VERSION_NUMBER)
//
// This should fail because we disabled all anonymous ciphers and the server doesn't
// provide a certificate.
@@ -2692,6 +2697,7 @@ allTests(const CommunicatorPtr& communic
}
fact->destroyServer(server);
comm->destroy();
+#endif
}
# ifdef ICE_USE_SECURE_TRANSPORT
{
@@ -2843,7 +2849,7 @@ allTests(const CommunicatorPtr& communic
//
// No DSA support in Secure Transport / AIX 7.1
//
-# if !defined(ICE_USE_SECURE_TRANSPORT) && !defined(_AIX) && !defined(ICE_USE_SCHANNEL)
+# if !defined(ICE_USE_SECURE_TRANSPORT) && !defined(_AIX) && !defined(ICE_USE_SCHANNEL) && !defined(LIBRESSL_VERSION_NUMBER)
{
//
// DSA PEM keys are not supported with SChannel. Since Windows 10
@@ -4165,6 +4171,7 @@ allTests(const CommunicatorPtr& communic
#endif
}
+#if 0
#if !defined(_AIX) && !defined(ICE_OS_UWP) && !(defined(_WIN32) && defined(ICE_USE_OPENSSL))
//
// On AIX 6.1, the default root certificates don't validate demo.zeroc.com.
@@ -4279,5 +4286,6 @@ allTests(const CommunicatorPtr& communic
}
cout << "ok" << endl;
#endif
+#endif
return factory;
}

View file

@ -0,0 +1,17 @@
--- cpp/test/IceStorm/single/test.py.orig 2018-08-27 01:10:47 UTC
+++ cpp/test/IceStorm/single/test.py
@@ -15,12 +15,12 @@
# send buffer size (causing the received messages to be truncated). See
# bug #6070 and #7558.
#
-props = { "Ice.UDP.SndSize" : 2048 * 1024, "Ice.Warn.Dispatch" : 0 }
+props = { "Ice.UDP.SndSize" : 512 * 1024, "Ice.Warn.Dispatch" : 0 }
persistent = IceStorm(props = props)
transient = IceStorm(props = props, transient=True)
replicated = [ IceStorm(replica=i, nreplicas=3, props = props) for i in range(0,3) ]
-sub = Subscriber(args=["{testcase.parent.name}"], props = { "Ice.UDP.RcvSize" : 4096 * 1024 }, readyCount=3)
+sub = Subscriber(args=["{testcase.parent.name}"], props = { "Ice.UDP.RcvSize" : 1024 * 1024 }, readyCount=3)
pub = Publisher(args=["{testcase.parent.name}"])
class IceStormSingleTestCase(IceStormTestCase):

View file

@ -0,0 +1,13 @@
--- cpp/test/IceUtil/priority/PriorityInversion.cpp.orig 2018-04-20 15:02:08 UTC
+++ cpp/test/IceUtil/priority/PriorityInversion.cpp
@@ -342,8 +342,8 @@ PriorityInversionTest::run()
return; // Mutex protocol PrioInherit not supported
}
cores = static_cast<int>(sysconf(_SC_NPROCESSORS_ONLN));
- high = 45;
- medium = 35;
+ high = 31;
+ medium = 15;
low = 1;
#endif

View file

@ -0,0 +1,11 @@
--- cpp/test/Slice/unicodePaths/test.py.orig 2018-08-27 01:10:47 UTC
+++ cpp/test/Slice/unicodePaths/test.py
@@ -14,7 +14,7 @@ class SliceUnicodePathsTestCase(ClientTe
def runClientSide(self, current):
- if isinstance(platform, Linux) or isinstance(platform, AIX):
+ if isinstance(platform, Linux) or isinstance(platform, AIX) or isinstance(platform, FreeBSD):
encoding = locale.getdefaultlocale()[1]
if encoding != "UTF-8":
current.writeln("Please set LC_ALL to xx_xx.UTF-8, for example FR_FR.UTF-8")

View file

@ -0,0 +1,25 @@
--- cpp/test/include/TestCommon.h.orig 2018-04-20 15:02:08 UTC
+++ cpp/test/include/TestCommon.h
@@ -38,6 +38,22 @@
# endif
#endif
+#if defined(__FreeBSD__)
+extern "C" { int sysctlbyname(const char *name, void *oldp, size_t *oldlenp,
+ const void *newp, size_t newlen); }
+inline bool inFreeBSDJail()
+{
+ int jailed;
+ size_t size = sizeof(jailed);
+ return (sysctlbyname("security.jail.jailed", &jailed, &size, NULL, 0) != -1 || jailed);
+}
+#else
+inline bool inFreeBSDJail()
+{
+ return false;
+}
+#endif
+
void
inline print(const std::string& msg)
{

View file

@ -0,0 +1,28 @@
--- php/Makefile.orig 2018-04-20 15:02:08 UTC
+++ php/Makefile
@@ -15,8 +15,8 @@ include $(top_srcdir)/config/Make.rules
#
# Load C++ dependencies
#
-$(eval $(call load-translator-dependencies,$(top_srcdir)/cpp/src/slice2php))
-$(eval $(call load-dependencies,$(addprefix $(top_srcdir)/cpp/src/,Ice IceSSL IceDiscovery IceLocatorDiscovery)))
+#$(eval $(call load-translator-dependencies,$(top_srcdir)/cpp/src/slice2php))
+#$(eval $(call load-dependencies,$(addprefix $(top_srcdir)/cpp/src/,Ice IceSSL IceDiscovery IceLocatorDiscovery)))
#
# Load php rules after loading C++ dependencies
@@ -44,11 +44,11 @@ $(call make-projects,$(projects))
install:: | $(DESTDIR)$(install_phpdir)
$(E) "Installing generated code"
- $(Q)$(INSTALL) -m 644 lib/Glacier2.php lib/IceBox.php lib/IceGrid.php lib/IcePatch2.php lib/IceStorm.php $(DESTDIR)$(install_phpdir)
+ $(Q)%%INSTALL_DATA%% lib/Glacier2.php lib/IceBox.php lib/IceGrid.php lib/IcePatch2.php lib/IceStorm.php $(DESTDIR)$(install_phpdir)
ifeq ($(USE_NAMESPACES),no)
- $(Q)$(INSTALL) -m 644 lib/Ice_no_ns.php $(DESTDIR)$(install_phpdir)/Ice.php
+ $(Q)%%INSTALL_DATA%% lib/Ice_no_ns.php $(DESTDIR)$(install_phpdir)/Ice.php
else
- $(Q)$(INSTALL) -m 644 lib/Ice_ns.php $(DESTDIR)$(install_phpdir)/Ice.php
+ $(Q)%%INSTALL_DATA%% lib/Ice_ns.php $(DESTDIR)$(install_phpdir)/Ice.php
endif
$(eval $(call make-php-package,$(slicedir),lib,Ice))

View file

@ -0,0 +1,13 @@
--- php/config/Make.rules.orig 2018-04-20 15:02:08 UTC
+++ php/config/Make.rules
@@ -23,6 +23,10 @@ USE_NAMESPACES ?= yes
# Don't change anything below this line!
# ----------------------------------------------------------------------
+slice2php_path = $(localbase)/bin/slice2php
+install_phpdir = $(prefix)/share/pear
+install_phplibdir = $(prefix)/lib/php/$(PHP_EXT_DIR)
+
ifneq ($(USE_NAMESPACES),yes)
slice2php_flags = --no-namespace
endif

View file

@ -0,0 +1,13 @@
--- php/src/php5/Makefile.mk.orig 2018-04-20 15:02:08 UTC
+++ php/src/php5/Makefile.mk
@@ -14,8 +14,8 @@ IcePHP_targetname := ice
IcePHP_targetdir := lib
IcePHP_installdir := $(install_phplibdir)
IcePHP_cppflags := -I$(project) -I$(top_srcdir)/cpp/src $(ice_cpp_cppflags) $(php_cppflags)
-IcePHP_system_libs := $(php_ldflags)
-IcePHP_dependencies := IceDiscovery IceLocatorDiscovery IceSSL Ice
+IcePHP_system_libs := $(php_ldflags) -L/usr/local/lib -lIceDiscovery -lIceLocatorDiscovery -lIceSSL -lIce -lphp5
+#IcePHP_dependencies := IceDiscovery IceLocatorDiscovery IceSSL Ice
IcePHP_extra_sources := $(top_srcdir)/cpp/src/Slice/PHPUtil.cpp
projects += $(project)

View file

@ -0,0 +1,13 @@
--- php/src/php7/Makefile.mk.orig 2018-04-20 15:02:08 UTC
+++ php/src/php7/Makefile.mk
@@ -14,8 +14,8 @@ IcePHP_targetname := ice
IcePHP_targetdir := lib
IcePHP_installdir := $(install_phplibdir)
IcePHP_cppflags := -I$(project) -I$(top_srcdir)/cpp/src $(ice_cpp_cppflags) $(php_cppflags)
-IcePHP_ldflags := $(php_ldflags)
-IcePHP_dependencies := IceDiscovery IceLocatorDiscovery IceSSL Ice
+IcePHP_system_libs := $(php_ldflags) -L/usr/local/lib -lIceDiscovery -lIceLocatorDiscovery -lIceSSL -lIce -lphp7
+#IcePHP_dependencies := IceDiscovery IceLocatorDiscovery IceSSL Ice
IcePHP_extra_sources := $(top_srcdir)/cpp/src/Slice/PHPUtil.cpp
projects += $(project)

View file

@ -0,0 +1,11 @@
--- python/Makefile.orig 2018-04-20 15:02:08 UTC
+++ python/Makefile
@@ -19,7 +19,7 @@ include $(top_srcdir)/config/Make.rules
#
# Load C++ dependencies
#
-$(eval $(call load-dependencies,$(addprefix $(top_srcdir)/cpp/src/,Ice IceSSL IceLocatorDiscovery IceDiscovery)))
+#$(eval $(call load-dependencies,$(addprefix $(top_srcdir)/cpp/src/,Ice IceSSL IceLocatorDiscovery IceDiscovery)))
#
# Load python rules after loading C++ dependencies

View file

@ -0,0 +1,21 @@
--- python/config/Make.rules.orig 2018-04-20 15:02:08 UTC
+++ python/config/Make.rules
@@ -12,7 +12,8 @@
# version to be used for building the Ice extension, set PYTHON to the
# location of the python interpreter.
#
-PYTHON ?= python
+PYTHON = %%PYTHON_CMD%%
+slice2py_path = $(localbase)/bin/slice2py
# ----------------------------------------------------------------------
# Don't change anything below this line!
@@ -46,7 +47,7 @@ python_cppflags := $(filter-out
#
# Python installation directory
#
-install_pythondir = $(if $(usr_dir_install),$(shell $(PYTHON) $(lang_srcdir)/config/install_dir),$(prefix)/python)
+install_pythondir = %%PYTHON_SITELIBDIR%%
#
# Rules to build a python module. We just compute the name of the python module

View file

@ -0,0 +1,13 @@
--- python/modules/IcePy/Makefile.mk.orig 2018-04-20 15:02:08 UTC
+++ python/modules/IcePy/Makefile.mk
@@ -14,8 +14,8 @@ IcePy_targetname := IcePy
IcePy_targetdir := $(lang_srcdir)/python
IcePy_installdir := $(install_pythondir)
IcePy_cppflags := -I$(project) $(ice_cpp_cppflags) -I$(top_srcdir)/cpp/src $(python_cppflags)
-IcePy_system_libs := $(python_ldflags)
-IcePy_dependencies := IceDiscovery IceLocatorDiscovery IceSSL Ice
+IcePy_system_libs := $(python_ldflags) -lIceDiscovery -lIceLocatorDiscovery -lIceSSL -lIce
+#IcePy_dependencies := IceDiscovery IceLocatorDiscovery IceSSL Ice
IcePy_libs := mcpp
IcePy_extra_sources := $(filter-out %Util.cpp %Ruby.cpp,\
$(wildcard $(top_srcdir)/cpp/src/Slice/*.cpp)) \

View file

@ -0,0 +1,28 @@
--- python/python/Makefile.orig 2018-04-20 15:02:08 UTC
+++ python/python/Makefile
@@ -16,7 +16,7 @@ include $(lang_srcdir)/config/Make.rules
#
# Load C++ dependencies
#
-$(eval $(call load-translator-dependencies,$(top_srcdir)/cpp/src/slice2py))
+#$(eval $(call load-translator-dependencies,$(top_srcdir)/cpp/src/slice2py))
.NOTPARALLEL:
@@ -35,12 +35,12 @@ $(eval $(call make-python-slice,$(sliced
install:: | $(DESTDIR)$(install_pythondir)/Ice
$(E) "Installing generated code"
- $(Q)$(INSTALL) -m 644 Ice/__init__.py $(DESTDIR)$(install_pythondir)/Ice
+ $(Q)%%INSTALL_DATA%% -m 644 Ice/__init__.py $(DESTDIR)$(install_pythondir)/Ice
# Ice/Future requires python >= 3.5
ifeq ($(shell $(PYTHON) -c "print(1 if $(python-version) >= 3.5 else 0)"),1)
- $(Q)$(INSTALL) -d -m 755 $(DESTDIR)$(install_pythondir)/Ice/Py3
- $(Q)$(INSTALL) -m 644 Ice/Py3/IceFuture.py $(DESTDIR)$(install_pythondir)/Ice/Py3/
+ $(Q)%%MKDIR%% $(DESTDIR)$(install_pythondir)/Ice/Py3
+ $(Q)%%INSTALL_DATA%% -m 644 Ice/Py3/IceFuture.py $(DESTDIR)$(install_pythondir)/Ice/Py3/
endif
install:: | $(DESTDIR)$(install_pythondir)/Glacier2
- $(Q)$(INSTALL) -m 644 Glacier2/__init__.py $(DESTDIR)$(install_pythondir)/Glacier2
+ $(Q)%%INSTALL_DATA%% -m 644 Glacier2/__init__.py $(DESTDIR)$(install_pythondir)/Glacier2

View file

@ -0,0 +1,73 @@
--- python/test/Ice/info/AllTests.py.orig 2018-08-27 01:10:47 UTC
+++ python/test/Ice/info/AllTests.py
@@ -7,12 +7,31 @@
#
# **********************************************************************
-import Ice, Test, sys, threading
+import Ice, Test, sys, subprocess, threading
def test(b):
if not b:
raise RuntimeError('test assertion failed')
+def isFreeBSD():
+ return sys.platform.startswith("freebsd")
+
+def sysctl(key):
+ p = subprocess.Popen("sysctl -n "+key, shell=1, stdout=subprocess.PIPE)
+ try:
+ result = p.communicate()[0].strip()
+ except IndexError:
+ return 0
+ if sys.version_info >= (3,):
+ result = str(result, sys.stdout.encoding)
+ try:
+ return int(result)
+ except ValueError:
+ return result
+
+def isFreeBSDJail():
+ return isFreeBSD() and sysctl("security.jail.jailed")
+
def getTCPEndpointInfo(info):
while(info):
if isinstance(info, Ice.TCPEndpointInfo):
@@ -119,7 +138,7 @@ def allTests(communicator):
test(tcpEndpoint.port == 12020)
tcpEndpoint = getTCPEndpointInfo(publishedEndpoints[0].getInfo())
- test(tcpEndpoint.host == "127.0.0.1")
+ test(tcpEndpoint.host == "127.0.0.1" or isFreeBSDJail())
test(tcpEndpoint.port == 12020)
adapter.destroy()
@@ -137,7 +156,7 @@ def allTests(communicator):
tcpinfo = getTCPEndpointInfo(base.ice_getConnection().getEndpoint().getInfo())
test(tcpinfo.port == 12010)
test(not tcpinfo.compress)
- test(tcpinfo.host == defaultHost)
+ test(tcpinfo.host == defaultHost or isFreeBSDJail())
ctx = testIntf.getEndpointInfoAsContext()
test(ctx["host"] == tcpinfo.host)
@@ -147,7 +166,7 @@ def allTests(communicator):
udp = base.ice_datagram().ice_getConnection().getEndpoint().getInfo()
test(udp.port == 12010)
- test(udp.host == defaultHost)
+ test(udp.host == defaultHost or isFreeBSDJail())
print("ok")
@@ -163,8 +182,8 @@ def allTests(communicator):
test(len(info.adapterName) == 0)
test(tcpinfo.remotePort == 12010)
if defaultHost == '127.0.0.1':
- test(tcpinfo.remoteAddress == defaultHost)
- test(tcpinfo.localAddress == defaultHost)
+ test(tcpinfo.remoteAddress == defaultHost or isFreeBSDJail())
+ test(tcpinfo.localAddress == defaultHost or isFreeBSDJail())
test(tcpinfo.rcvSize >= 1024)
test(tcpinfo.sndSize >= 2048)

View file

@ -0,0 +1,17 @@
--- scripts/Glacier2Util.py.orig 2018-08-27 01:10:47 UTC
+++ scripts/Glacier2Util.py
@@ -19,10 +19,13 @@ class Glacier2Router(ProcessFromBinDir,
self.passwords = passwords
def setup(self, current):
+ glacier2router = self.getMapping(current).getCommandLine(current, self, self.exe, "")
+ if not os.path.exists(self.exe) and os.path.exists("/usr/local/bin/glacier2router"):
+ self.exe = "/usr/local/bin/glacier2router"
if self.passwords:
path = os.path.join(current.testsuite.getPath(), "passwords")
with open(path, "w") as file:
- command = "\"%s\" %s" % (sys.executable,
+ command = "\"%s\" %s 2>/dev/null" % (sys.executable,
os.path.abspath(os.path.join(toplevel, "scripts", "icehashpassword.py")))
#

View file

@ -0,0 +1,78 @@
--- scripts/Util.py.orig 2018-08-27 01:10:47 UTC
+++ scripts/Util.py
@@ -82,7 +82,7 @@ class Platform:
def parseBuildVariables(self, variables):
# Run make to get the values of the given variables
- output = run('make print V="{0}"'.format(" ".join(variables.keys())), cwd = toplevel)
+ output = run('gmake print V="{0}"'.format(" ".join(variables.keys())), cwd = toplevel)
for l in output.split("\n"):
match = re.match(r'^.*:.*: (.*) = (.*)', l)
if match and match.group(1):
@@ -199,6 +199,46 @@ class AIX(Platform):
def hasOpenSSL(self):
return True
+class FreeBSD(Platform):
+
+ def __init__(self):
+ Platform.__init__(self)
+
+ def getFilters(self, config):
+ filters = Platform.getFilters(self, config)
+ #filters = (filters[0], filters[1] + ["Slice/*"])
+ return filters
+
+ def hasOpenSSL(self):
+ return True
+
+ def getBinSubDir(self, mapping, process, current):
+ buildPlatform = current.driver.configs[mapping].buildPlatform
+ return "bin"
+
+ def getLibSubDir(self, mapping, process, current):
+ buildPlatform = current.driver.configs[mapping].buildPlatform
+
+ # PHP module is always installed in the lib directory for the default build platform
+ if isinstance(mapping, PhpMapping) and buildPlatform == self.getDefaultBuildPlatform():
+ return "lib"
+ return "lib"
+
+ def getBuildSubDir(self, name, current):
+ return os.path.join("build", current.config.buildPlatform, current.config.buildConfig)
+
+ def getSliceDir(self, iceDir):
+ return os.path.join(iceDir, "slice")
+
+ def getDefaultExe(self, name, config):
+ if name == "icebox":
+ if config.cpp11:
+ name += "++11"
+ return name
+
+ def canRun(self, mapping, current):
+ return Platform.canRun(self, mapping, current)
+
class Linux(Platform):
def __init__(self):
@@ -434,6 +474,8 @@ if sys.platform == "darwin":
platform = Darwin()
elif sys.platform.startswith("aix"):
platform = AIX()
+elif sys.platform.startswith("freebsd"):
+ platform = FreeBSD()
elif sys.platform.startswith("linux") or sys.platform.startswith("gnukfreebsd"):
platform = Linux()
elif sys.platform == "win32" or sys.platform[:6] == "cygwin":
@@ -1333,8 +1375,8 @@ class SliceTranslator(ProcessFromBinDir,
return translator + " " + args if args else translator
elif isinstance(platform, Windows):
return os.path.join(os.path.dirname(sys.executable), "Scripts", "slice2py.exe")
- elif os.path.exists("/usr/local/bin/slice2py"):
- return "/usr/local/bin/slice2py"
+ elif os.path.exists("%%LOCALBASE%%/bin/slice2py"):
+ return "%%LOCALBASE%%/bin/slice2py " + args if args else "%%LOCALBASE%%/bin/slice2py "
else:
import slice2py
return sys.executable + " " + os.path.normpath(

7
devel/ice37/pkg-descr Normal file
View file

@ -0,0 +1,7 @@
The Internet Communications Engine (Ice) is a modern alternative to object
middleware such as CORBA(TM) or COM/DCOM/COM+. Ice is easy to learn, yet
provides a powerful network infrastructure for demanding technical applications.
Ice shines where technologies such as SOAP or XML-RPC are too slow, or do not
provide sufficient scalability or security.
WWW: http://www.zeroc.com/

388
devel/ice37/pkg-plist Normal file
View file

@ -0,0 +1,388 @@
bin/glacier2router
bin/icebox
bin/icebox++11
bin/iceboxadmin
bin/icebridge
bin/icegridadmin
bin/icegriddb
bin/icegridnode
bin/icegridregistry
bin/icepatch2calc
bin/icepatch2client
bin/icepatch2server
bin/icestormadmin
bin/icestormdb
bin/slice2confluence
bin/slice2cpp
bin/slice2cs
bin/slice2html
bin/slice2java
bin/slice2js
bin/slice2matlab
bin/slice2objc
bin/slice2php
bin/slice2py
bin/slice2rb
include/Glacier2/Application.h
include/Glacier2/Config.h
include/Glacier2/Glacier2.h
include/Glacier2/Metrics.h
include/Glacier2/NullPermissionsVerifier.h
include/Glacier2/PermissionsVerifier.h
include/Glacier2/PermissionsVerifierF.h
include/Glacier2/Router.h
include/Glacier2/RouterF.h
include/Glacier2/SSLInfo.h
include/Glacier2/Session.h
include/Glacier2/SessionHelper.h
include/Ice/Application.h
include/Ice/AsyncResult.h
include/Ice/AsyncResultF.h
include/Ice/BatchRequestInterceptor.h
include/Ice/BatchRequestQueueF.h
include/Ice/Buffer.h
include/Ice/BuiltinSequences.h
include/Ice/Communicator.h
include/Ice/CommunicatorAsync.h
include/Ice/CommunicatorF.h
include/Ice/Comparable.h
include/Ice/Config.h
include/Ice/Connection.h
include/Ice/ConnectionAsync.h
include/Ice/ConnectionF.h
include/Ice/ConnectionIF.h
include/Ice/ConsoleUtil.h
include/Ice/Current.h
include/Ice/DefaultValueFactory.h
include/Ice/DispatchInterceptor.h
include/Ice/Dispatcher.h
include/Ice/DynamicLibrary.h
include/Ice/DynamicLibraryF.h
include/Ice/Endpoint.h
include/Ice/EndpointF.h
include/Ice/EndpointTypes.h
include/Ice/Exception.h
include/Ice/ExceptionHelpers.h
include/Ice/FacetMap.h
include/Ice/FactoryTable.h
include/Ice/FactoryTableInit.h
include/Ice/Format.h
include/Ice/Functional.h
include/Ice/GCObject.h
include/Ice/Handle.h
include/Ice/Ice.h
include/Ice/IconvStringConverter.h
include/Ice/Identity.h
include/Ice/ImplicitContext.h
include/Ice/ImplicitContextF.h
include/Ice/Incoming.h
include/Ice/IncomingAsync.h
include/Ice/IncomingAsyncF.h
include/Ice/Initialize.h
include/Ice/InputStream.h
include/Ice/InstanceF.h
include/Ice/Instrumentation.h
include/Ice/InstrumentationF.h
include/Ice/InterfaceByValue.h
include/Ice/LocalException.h
include/Ice/LocalObject.h
include/Ice/LocalObjectF.h
include/Ice/Locator.h
include/Ice/LocatorF.h
include/Ice/Logger.h
include/Ice/LoggerF.h
include/Ice/LoggerUtil.h
include/Ice/Metrics.h
include/Ice/MetricsAdminI.h
include/Ice/MetricsFunctional.h
include/Ice/MetricsObserverI.h
include/Ice/NativePropertiesAdmin.h
include/Ice/Object.h
include/Ice/ObjectAdapter.h
include/Ice/ObjectAdapterF.h
include/Ice/ObjectF.h
include/Ice/ObjectFactory.h
include/Ice/ObserverHelper.h
include/Ice/Optional.h
include/Ice/OutgoingAsync.h
include/Ice/OutgoingAsyncF.h
include/Ice/OutputStream.h
include/Ice/Plugin.h
include/Ice/PluginF.h
include/Ice/Process.h
include/Ice/ProcessF.h
include/Ice/Properties.h
include/Ice/PropertiesAdmin.h
include/Ice/PropertiesF.h
include/Ice/Protocol.h
include/Ice/Proxy.h
include/Ice/ProxyF.h
include/Ice/ProxyFactoryF.h
include/Ice/ProxyHandle.h
include/Ice/ReferenceF.h
include/Ice/RegisterPlugins.h
include/Ice/RemoteLogger.h
include/Ice/RequestHandlerF.h
include/Ice/ResponseHandlerF.h
include/Ice/Router.h
include/Ice/RouterF.h
include/Ice/SHA1.h
include/Ice/ServantLocator.h
include/Ice/ServantLocatorF.h
include/Ice/ServantManagerF.h
include/Ice/Service.h
include/Ice/SliceChecksumDict.h
include/Ice/SliceChecksums.h
include/Ice/SlicedData.h
include/Ice/SlicedDataF.h
include/Ice/StreamHelpers.h
include/Ice/StringConverter.h
include/Ice/ThreadPoolF.h
include/Ice/UUID.h
include/Ice/UniquePtr.h
include/Ice/UniqueRef.h
include/Ice/UserExceptionFactory.h
include/Ice/Value.h
include/Ice/ValueF.h
include/Ice/ValueFactory.h
include/Ice/Version.h
include/IceBox/Config.h
include/IceBox/IceBox.h
include/IceGrid/Admin.h
include/IceGrid/Config.h
include/IceGrid/Descriptor.h
include/IceGrid/Exception.h
include/IceGrid/FileParser.h
include/IceGrid/IceGrid.h
include/IceGrid/PluginFacade.h
include/IceGrid/Registry.h
include/IceGrid/ReplicaGroupFilter.h
include/IceGrid/Session.h
include/IceGrid/UserAccountMapper.h
include/IcePatch2/ClientUtil.h
include/IcePatch2/Config.h
include/IcePatch2/FileInfo.h
include/IcePatch2/FileServer.h
include/IcePatch2/IcePatch2.h
include/IceSSL/Config.h
include/IceSSL/ConnectionInfo.h
include/IceSSL/ConnectionInfoF.h
include/IceSSL/EndpointInfo.h
include/IceSSL/IceSSL.h
include/IceSSL/OpenSSL.h
include/IceSSL/Plugin.h
include/IceSSL/SChannel.h
include/IceSSL/SecureTransport.h
include/IceSSL/UWP.h
include/IceStorm/Config.h
include/IceStorm/IceStorm.h
include/IceStorm/Metrics.h
include/IceUtil/Atomic.h
include/IceUtil/Cond.h
include/IceUtil/Config.h
include/IceUtil/ConsoleUtil.h
include/IceUtil/CountDownLatch.h
include/IceUtil/CtrlCHandler.h
include/IceUtil/DisableWarnings.h
include/IceUtil/Exception.h
include/IceUtil/FileUtil.h
include/IceUtil/Functional.h
include/IceUtil/Handle.h
include/IceUtil/IceUtil.h
include/IceUtil/InputUtil.h
include/IceUtil/Iterator.h
include/IceUtil/Lock.h
include/IceUtil/Monitor.h
include/IceUtil/Mutex.h
include/IceUtil/MutexProtocol.h
include/IceUtil/MutexPtrLock.h
include/IceUtil/MutexPtrTryLock.h
include/IceUtil/Optional.h
include/IceUtil/Options.h
include/IceUtil/OutputUtil.h
include/IceUtil/PopDisableWarnings.h
include/IceUtil/PushDisableWarnings.h
include/IceUtil/Random.h
include/IceUtil/RecMutex.h
include/IceUtil/ResourceConfig.h
include/IceUtil/ScannerConfig.h
include/IceUtil/ScopedArray.h
include/IceUtil/Shared.h
include/IceUtil/StopWatch.h
include/IceUtil/StringConverter.h
include/IceUtil/StringUtil.h
include/IceUtil/Thread.h
include/IceUtil/ThreadException.h
include/IceUtil/Time.h
include/IceUtil/Timer.h
include/IceUtil/UUID.h
include/IceUtil/UndefSysMacros.h
%%STATIC%%lib/libGlacier2++11.a
lib/libGlacier2++11.so
lib/libGlacier2++11.so.3.7.1
lib/libGlacier2++11.so.37
%%STATIC%%lib/libGlacier2.a
lib/libGlacier2.so
lib/libGlacier2.so.3.7.1
lib/libGlacier2.so.37
lib/libGlacier2CryptPermissionsVerifier.so.3.7.1
lib/libGlacier2CryptPermissionsVerifier.so.37
%%STATIC%%lib/libIce++11.a
lib/libIce++11.so
lib/libIce++11.so.3.7.1
lib/libIce++11.so.37
%%STATIC%%lib/libIce.a
lib/libIce.so
lib/libIce.so.3.7.1
lib/libIce.so.37
%%STATIC%%lib/libIceBox++11.a
lib/libIceBox++11.so
lib/libIceBox++11.so.3.7.1
lib/libIceBox++11.so.37
%%STATIC%%lib/libIceBox.a
lib/libIceBox.so
lib/libIceBox.so.3.7.1
lib/libIceBox.so.37
lib/libIceDB.so.3.7.1
lib/libIceDB.so.37
%%STATIC%%lib/libIceDiscovery++11.a
lib/libIceDiscovery++11.so
lib/libIceDiscovery++11.so.3.7.1
lib/libIceDiscovery++11.so.37
%%STATIC%%lib/libIceDiscovery.a
lib/libIceDiscovery.so
lib/libIceDiscovery.so.3.7.1
lib/libIceDiscovery.so.37
%%STATIC%%lib/libIceGrid++11.a
lib/libIceGrid++11.so
lib/libIceGrid++11.so.3.7.1
lib/libIceGrid++11.so.37
%%STATIC%%lib/libIceGrid.a
lib/libIceGrid.so
lib/libIceGrid.so.3.7.1
lib/libIceGrid.so.37
%%STATIC%%lib/libIceLocatorDiscovery++11.a
lib/libIceLocatorDiscovery++11.so
lib/libIceLocatorDiscovery++11.so.3.7.1
lib/libIceLocatorDiscovery++11.so.37
%%STATIC%%lib/libIceLocatorDiscovery.a
lib/libIceLocatorDiscovery.so
lib/libIceLocatorDiscovery.so.3.7.1
lib/libIceLocatorDiscovery.so.37
%%STATIC%%lib/libIcePatch2.a
lib/libIcePatch2.so
lib/libIcePatch2.so.3.7.1
lib/libIcePatch2.so.37
%%STATIC%%lib/libIceSSL++11.a
lib/libIceSSL++11.so
lib/libIceSSL++11.so.3.7.1
lib/libIceSSL++11.so.37
%%STATIC%%lib/libIceSSL.a
lib/libIceSSL.so
lib/libIceSSL.so.3.7.1
lib/libIceSSL.so.37
%%STATIC%%lib/libIceStorm++11.a
lib/libIceStorm++11.so
lib/libIceStorm++11.so.3.7.1
lib/libIceStorm++11.so.37
%%STATIC%%lib/libIceStorm.a
lib/libIceStorm.so
lib/libIceStorm.so.3.7.1
lib/libIceStorm.so.37
lib/libIceStormService.so.3.7.1
lib/libIceStormService.so.37
lib/libIceXML.so.3.7.1
lib/libIceXML.so.37
man/man1/glacier2router.1.gz
man/man1/icebox.1.gz
man/man1/iceboxadmin.1.gz
man/man1/icebridge.1.gz
man/man1/icegridadmin.1.gz
man/man1/icegriddb.1.gz
man/man1/icegridnode.1.gz
man/man1/icegridregistry.1.gz
man/man1/icepatch2calc.1.gz
man/man1/icepatch2client.1.gz
man/man1/icepatch2server.1.gz
man/man1/icestormadmin.1.gz
man/man1/icestormdb.1.gz
man/man1/slice2cpp.1.gz
man/man1/slice2cs.1.gz
man/man1/slice2html.1.gz
man/man1/slice2java.1.gz
man/man1/slice2js.1.gz
man/man1/slice2matlab.1.gz
man/man1/slice2objc.1.gz
man/man1/slice2php.1.gz
man/man1/slice2py.1.gz
man/man1/slice2rb.1.gz
%%DATADIR%%/Glacier2/Metrics.ice
%%DATADIR%%/Glacier2/PermissionsVerifier.ice
%%DATADIR%%/Glacier2/PermissionsVerifierF.ice
%%DATADIR%%/Glacier2/Router.ice
%%DATADIR%%/Glacier2/RouterF.ice
%%DATADIR%%/Glacier2/SSLInfo.ice
%%DATADIR%%/Glacier2/Session.ice
%%DATADIR%%/Ice/BuiltinSequences.ice
%%DATADIR%%/Ice/Communicator.ice
%%DATADIR%%/Ice/CommunicatorF.ice
%%DATADIR%%/Ice/Connection.ice
%%DATADIR%%/Ice/ConnectionF.ice
%%DATADIR%%/Ice/Current.ice
%%DATADIR%%/Ice/Endpoint.ice
%%DATADIR%%/Ice/EndpointF.ice
%%DATADIR%%/Ice/EndpointTypes.ice
%%DATADIR%%/Ice/FacetMap.ice
%%DATADIR%%/Ice/Identity.ice
%%DATADIR%%/Ice/ImplicitContext.ice
%%DATADIR%%/Ice/ImplicitContextF.ice
%%DATADIR%%/Ice/Instrumentation.ice
%%DATADIR%%/Ice/InstrumentationF.ice
%%DATADIR%%/Ice/LocalException.ice
%%DATADIR%%/Ice/Locator.ice
%%DATADIR%%/Ice/LocatorF.ice
%%DATADIR%%/Ice/Logger.ice
%%DATADIR%%/Ice/LoggerF.ice
%%DATADIR%%/Ice/Metrics.ice
%%DATADIR%%/Ice/ObjectAdapter.ice
%%DATADIR%%/Ice/ObjectAdapterF.ice
%%DATADIR%%/Ice/ObjectFactory.ice
%%DATADIR%%/Ice/Plugin.ice
%%DATADIR%%/Ice/PluginF.ice
%%DATADIR%%/Ice/Process.ice
%%DATADIR%%/Ice/ProcessF.ice
%%DATADIR%%/Ice/Properties.ice
%%DATADIR%%/Ice/PropertiesAdmin.ice
%%DATADIR%%/Ice/PropertiesF.ice
%%DATADIR%%/Ice/RemoteLogger.ice
%%DATADIR%%/Ice/Router.ice
%%DATADIR%%/Ice/RouterF.ice
%%DATADIR%%/Ice/ServantLocator.ice
%%DATADIR%%/Ice/ServantLocatorF.ice
%%DATADIR%%/Ice/SliceChecksumDict.ice
%%DATADIR%%/Ice/ValueFactory.ice
%%DATADIR%%/Ice/Version.ice
%%DATADIR%%/IceBT/ConnectionInfo.ice
%%DATADIR%%/IceBT/EndpointInfo.ice
%%DATADIR%%/IceBT/Types.ice
%%DATADIR%%/IceBox/IceBox.ice
%%DATADIR%%/IceGrid/Admin.ice
%%DATADIR%%/IceGrid/Descriptor.ice
%%DATADIR%%/IceGrid/Exception.ice
%%DATADIR%%/IceGrid/FileParser.ice
%%DATADIR%%/IceGrid/PluginFacade.ice
%%DATADIR%%/IceGrid/Registry.ice
%%DATADIR%%/IceGrid/Session.ice
%%DATADIR%%/IceGrid/UserAccountMapper.ice
%%DATADIR%%/IceIAP/ConnectionInfo.ice
%%DATADIR%%/IceIAP/EndpointInfo.ice
%%DATADIR%%/IcePatch2/FileInfo.ice
%%DATADIR%%/IcePatch2/FileServer.ice
%%DATADIR%%/IceSSL/ConnectionInfo.ice
%%DATADIR%%/IceSSL/ConnectionInfoF.ice
%%DATADIR%%/IceSSL/EndpointInfo.ice
%%DATADIR%%/IceStorm/IceStorm.ice
%%DATADIR%%/IceStorm/Metrics.ice
%%DATADIR%%/config/templates.xml
%%DOCSDIR%%/ICE_LICENSE
%%DOCSDIR%%/LICENSE