Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 27 Aug 2018 12:07:11 +0000 (UTC)
From:      Michael Gmelin <grembo@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r478195 - in head/devel: . ice37 ice37/files
Message-ID:  <201808271207.w7RC7Btn051478@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: grembo
Date: Mon Aug 27 12:07:11 2018
New Revision: 478195
URL: https://svnweb.freebsd.org/changeset/ports/478195

Log:
  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

Added:
  head/devel/ice37/
  head/devel/ice37/Makefile   (contents, props changed)
  head/devel/ice37/distinfo   (contents, props changed)
  head/devel/ice37/files/
  head/devel/ice37/files/Make.rules.FreeBSD   (contents, props changed)
  head/devel/ice37/files/patch-config-Make.project.rules   (contents, props changed)
  head/devel/ice37/files/patch-config-Make.rules   (contents, props changed)
  head/devel/ice37/files/patch-cpp-include-IceUtil-Config.h   (contents, props changed)
  head/devel/ice37/files/patch-cpp-src-Ice-ProxyFactory.cpp   (contents, props changed)
  head/devel/ice37/files/patch-cpp-src-Ice-Thread.cpp   (contents, props changed)
  head/devel/ice37/files/patch-cpp-src-IceGrid-PluginFacadeI.cpp   (contents, props changed)
  head/devel/ice37/files/patch-cpp-src-IceGrid-RegistryI.cpp   (contents, props changed)
  head/devel/ice37/files/patch-cpp-test-Glacier2-ssl-Server.cpp   (contents, props changed)
  head/devel/ice37/files/patch-cpp-test-Ice-info-AllTests.cpp   (contents, props changed)
  head/devel/ice37/files/patch-cpp-test-Ice-metrics-AllTests.cpp   (contents, props changed)
  head/devel/ice37/files/patch-cpp-test-Ice-threadPoolPriority-AllTests.cpp   (contents, props changed)
  head/devel/ice37/files/patch-cpp-test-Ice-threadPoolPriority-Server.cpp   (contents, props changed)
  head/devel/ice37/files/patch-cpp-test-Ice-threadPoolPriority-ServerCustomThreadPool.cpp   (contents, props changed)
  head/devel/ice37/files/patch-cpp-test-IceSSL-configuration-AllTests.cpp   (contents, props changed)
  head/devel/ice37/files/patch-cpp-test-IceStorm-single-test.py   (contents, props changed)
  head/devel/ice37/files/patch-cpp-test-IceUtil-priority-PriorityInversion.cpp   (contents, props changed)
  head/devel/ice37/files/patch-cpp-test-Slice-unicodePaths-test.py   (contents, props changed)
  head/devel/ice37/files/patch-cpp-test-include-TestCommon.h   (contents, props changed)
  head/devel/ice37/files/patch-php-Makefile   (contents, props changed)
  head/devel/ice37/files/patch-php-config-Make.rules   (contents, props changed)
  head/devel/ice37/files/patch-php-src-php5-Makefile.mk   (contents, props changed)
  head/devel/ice37/files/patch-php-src-php7-Makefile.mk   (contents, props changed)
  head/devel/ice37/files/patch-python-Makefile   (contents, props changed)
  head/devel/ice37/files/patch-python-config-Make.rules   (contents, props changed)
  head/devel/ice37/files/patch-python-modules-IcePy-Makefile.mk   (contents, props changed)
  head/devel/ice37/files/patch-python-python-Makefile   (contents, props changed)
  head/devel/ice37/files/patch-python-test-Ice-info-AllTests.py   (contents, props changed)
  head/devel/ice37/files/patch-scripts-Glacier2Util.py   (contents, props changed)
  head/devel/ice37/files/patch-scripts-Util.py   (contents, props changed)
  head/devel/ice37/pkg-descr   (contents, props changed)
  head/devel/ice37/pkg-plist   (contents, props changed)
Modified:
  head/devel/Makefile

Modified: head/devel/Makefile
==============================================================================
--- head/devel/Makefile	Mon Aug 27 11:31:18 2018	(r478194)
+++ head/devel/Makefile	Mon Aug 27 12:07:11 2018	(r478195)
@@ -1216,6 +1216,7 @@
     SUBDIR += i386-gcc
     SUBDIR += i386-xtoolchain-gcc
     SUBDIR += ice
+    SUBDIR += ice37
     SUBDIR += icestorm
     SUBDIR += icmake
     SUBDIR += icontheme

Added: head/devel/ice37/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/ice37/Makefile	Mon Aug 27 12:07:11 2018	(r478195)
@@ -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>

Added: head/devel/ice37/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/ice37/distinfo	Mon Aug 27 12:07:11 2018	(r478195)
@@ -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

Added: head/devel/ice37/files/Make.rules.FreeBSD
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/ice37/files/Make.rules.FreeBSD	Mon Aug 27 12:07:11 2018	(r478195)
@@ -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

Added: head/devel/ice37/files/patch-config-Make.project.rules
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/ice37/files/patch-config-Make.project.rules	Mon Aug 27 12:07:11 2018	(r478195)
@@ -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)

Added: head/devel/ice37/files/patch-config-Make.rules
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/ice37/files/patch-config-Make.rules	Mon Aug 27 12:07:11 2018	(r478195)
@@ -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

Added: head/devel/ice37/files/patch-cpp-include-IceUtil-Config.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/ice37/files/patch-cpp-include-IceUtil-Config.h	Mon Aug 27 12:07:11 2018	(r478195)
@@ -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__)                                           || \

Added: head/devel/ice37/files/patch-cpp-src-Ice-ProxyFactory.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/ice37/files/patch-cpp-src-Ice-ProxyFactory.cpp	Mon Aug 27 12:07:11 2018	(r478195)
@@ -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);

Added: head/devel/ice37/files/patch-cpp-src-Ice-Thread.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/ice37/files/patch-cpp-src-Ice-Thread.cpp	Mon Aug 27 12:07:11 2018	(r478195)
@@ -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)
+         {

Added: head/devel/ice37/files/patch-cpp-src-IceGrid-PluginFacadeI.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/ice37/files/patch-cpp-src-IceGrid-PluginFacadeI.cpp	Mon Aug 27 12:07:11 2018	(r478195)
@@ -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;

Added: head/devel/ice37/files/patch-cpp-src-IceGrid-RegistryI.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/ice37/files/patch-cpp-src-IceGrid-RegistryI.cpp	Mon Aug 27 12:07:11 2018	(r478195)
@@ -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

Added: head/devel/ice37/files/patch-cpp-test-Glacier2-ssl-Server.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/ice37/files/patch-cpp-test-Glacier2-ssl-Server.cpp	Mon Aug 27 12:07:11 2018	(r478195)
@@ -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

Added: head/devel/ice37/files/patch-cpp-test-Ice-info-AllTests.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/ice37/files/patch-cpp-test-Ice-info-AllTests.cpp	Mon Aug 27 12:07:11 2018	(r478195)
@@ -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)

Added: head/devel/ice37/files/patch-cpp-test-Ice-metrics-AllTests.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/ice37/files/patch-cpp-test-Ice-metrics-AllTests.cpp	Mon Aug 27 12:07:11 2018	(r478195)
@@ -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);

Added: head/devel/ice37/files/patch-cpp-test-Ice-threadPoolPriority-AllTests.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/ice37/files/patch-cpp-test-Ice-threadPoolPriority-AllTests.cpp	Mon Aug 27 12:07:11 2018	(r478195)
@@ -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(...)

Added: head/devel/ice37/files/patch-cpp-test-Ice-threadPoolPriority-Server.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/ice37/files/patch-cpp-test-Ice-threadPoolPriority-Server.cpp	Mon Aug 27 12:07:11 2018	(r478195)
@@ -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");

Added: head/devel/ice37/files/patch-cpp-test-Ice-threadPoolPriority-ServerCustomThreadPool.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/ice37/files/patch-cpp-test-Ice-threadPoolPriority-ServerCustomThreadPool.cpp	Mon Aug 27 12:07:11 2018	(r478195)
@@ -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);

Added: head/devel/ice37/files/patch-cpp-test-IceSSL-configuration-AllTests.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/ice37/files/patch-cpp-test-IceSSL-configuration-AllTests.cpp	Mon Aug 27 12:07:11 2018	(r478195)
@@ -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;
+ }

Added: head/devel/ice37/files/patch-cpp-test-IceStorm-single-test.py
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/ice37/files/patch-cpp-test-IceStorm-single-test.py	Mon Aug 27 12:07:11 2018	(r478195)
@@ -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):

Added: head/devel/ice37/files/patch-cpp-test-IceUtil-priority-PriorityInversion.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/ice37/files/patch-cpp-test-IceUtil-priority-PriorityInversion.cpp	Mon Aug 27 12:07:11 2018	(r478195)
@@ -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
+ 

Added: head/devel/ice37/files/patch-cpp-test-Slice-unicodePaths-test.py
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/ice37/files/patch-cpp-test-Slice-unicodePaths-test.py	Mon Aug 27 12:07:11 2018	(r478195)
@@ -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")

Added: head/devel/ice37/files/patch-cpp-test-include-TestCommon.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/ice37/files/patch-cpp-test-include-TestCommon.h	Mon Aug 27 12:07:11 2018	(r478195)
@@ -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)
+ {

Added: head/devel/ice37/files/patch-php-Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/ice37/files/patch-php-Makefile	Mon Aug 27 12:07:11 2018	(r478195)
@@ -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))

Added: head/devel/ice37/files/patch-php-config-Make.rules
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/ice37/files/patch-php-config-Make.rules	Mon Aug 27 12:07:11 2018	(r478195)
@@ -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

Added: head/devel/ice37/files/patch-php-src-php5-Makefile.mk
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/ice37/files/patch-php-src-php5-Makefile.mk	Mon Aug 27 12:07:11 2018	(r478195)
@@ -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)

Added: head/devel/ice37/files/patch-php-src-php7-Makefile.mk
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/ice37/files/patch-php-src-php7-Makefile.mk	Mon Aug 27 12:07:11 2018	(r478195)
@@ -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)

Added: head/devel/ice37/files/patch-python-Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/ice37/files/patch-python-Makefile	Mon Aug 27 12:07:11 2018	(r478195)
@@ -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

Added: head/devel/ice37/files/patch-python-config-Make.rules
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/ice37/files/patch-python-config-Make.rules	Mon Aug 27 12:07:11 2018	(r478195)
@@ -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

Added: head/devel/ice37/files/patch-python-modules-IcePy-Makefile.mk
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/ice37/files/patch-python-modules-IcePy-Makefile.mk	Mon Aug 27 12:07:11 2018	(r478195)
@@ -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)) \

Added: head/devel/ice37/files/patch-python-python-Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/ice37/files/patch-python-python-Makefile	Mon Aug 27 12:07:11 2018	(r478195)
@@ -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

Added: head/devel/ice37/files/patch-python-test-Ice-info-AllTests.py
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/ice37/files/patch-python-test-Ice-info-AllTests.py	Mon Aug 27 12:07:11 2018	(r478195)
@@ -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)
+ 

Added: head/devel/ice37/files/patch-scripts-Glacier2Util.py
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/ice37/files/patch-scripts-Glacier2Util.py	Mon Aug 27 12:07:11 2018	(r478195)
@@ -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")))
+ 
+                 #

Added: head/devel/ice37/files/patch-scripts-Util.py
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/ice37/files/patch-scripts-Util.py	Mon Aug 27 12:07:11 2018	(r478195)
@@ -0,0 +1,78 @@
+--- scripts/Util.py.orig	2018-08-27 01:10:47 UTC
++++ scripts/Util.py
+@@ -82,7 +82,7 @@ class Platform:

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201808271207.w7RC7Btn051478>