Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 27 Aug 2018 16:37:54 +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: r478221 - in head/devel: . ice ice37 ice37/files php-ice37 py-ice37
Message-ID:  <201808271637.w7RGbstb093004@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: grembo
Date: Mon Aug 27 16:37:53 2018
New Revision: 478221
URL: https://svnweb.freebsd.org/changeset/ports/478221

Log:
  Add ZeroC Ice 3.7.1 as new ports devel/{ice37|php-ice37|py-ice37}
  
  Upgrading from Ice 3.6 isn't trivial, as it requires application
  code changes. Therefore a new set of ports was created.
  
  Marked devel/{ice|php5-ice|py-ice} as conflicting (and vice versa).
  
  PR:		221141

Added:
  head/devel/ice37/
     - copied from r478217, head/devel/ice/
  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-src-Ice-Thread.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-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-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-modules-IcePy-Makefile.mk   (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/php-ice37/
     - copied from r478217, head/devel/php5-ice/
  head/devel/py-ice37/
     - copied from r478217, head/devel/py-ice/
Deleted:
  head/devel/ice37/files/patch-config-Make.common.rules
  head/devel/ice37/files/patch-cpp-Makefile
  head/devel/ice37/files/patch-cpp-allTests.py
  head/devel/ice37/files/patch-cpp-config-Make.rules
  head/devel/ice37/files/patch-cpp-include-Ice-FactoryTableInit.h
  head/devel/ice37/files/patch-cpp-include-IceUtil-ScannerConfig.h
  head/devel/ice37/files/patch-cpp-src-Glacier2CryptPermissionsVerifier-CryptPermissionsVerifierI.cpp
  head/devel/ice37/files/patch-cpp-src-IceSSL-Makefile
  head/devel/ice37/files/patch-cpp-test-Glacier2-staticFiltering-run.py
  head/devel/ice37/files/patch-cpp-test-Ice-objects-Makefile
  head/devel/ice37/files/patch-cpp-test-Ice-properties-run.py
  head/devel/ice37/files/patch-cpp-test-IceGrid-admin-run.py
  head/devel/ice37/files/patch-cpp-test-IceGrid-deployer-AllTests.cpp
  head/devel/ice37/files/patch-cpp-test-IceGrid-deployer-Makefile
  head/devel/ice37/files/patch-cpp-test-IceGrid-deployer-application.xml
  head/devel/ice37/files/patch-cpp-test-IceGrid-distribution-AllTests.cpp
  head/devel/ice37/files/patch-cpp-test-IceGrid-distribution-application.xml
  head/devel/ice37/files/patch-cpp-test-IceGrid-distribution-run.py
  head/devel/ice37/files/patch-cpp-test-IceGrid-session-run.py
  head/devel/ice37/files/patch-cpp-test-IceSSL-configuration-run.py
  head/devel/ice37/files/patch-cpp-test-Slice-headers-run.py
  head/devel/ice37/files/patch-cpp-test-Slice-unicodePaths-run.py
  head/devel/ice37/files/patch-php-config-Make.rules.php
  head/devel/ice37/files/patch-php-lib-Makefile
  head/devel/ice37/files/patch-python-modules-IcePy-Types.cpp
  head/devel/ice37/files/patch-python-modules-IcePy-Types.h
  head/devel/ice37/files/patch-python-test-Ice-properties-run.py
  head/devel/ice37/files/patch-python-test-Slice-unicodePaths-run.py
  head/devel/ice37/files/patch-scripts-Expect.py
  head/devel/ice37/files/patch-scripts-IceGridAdmin.py
  head/devel/ice37/files/patch-scripts-TestUtil.py
  head/devel/ice37/pkg-message
Modified:
  head/devel/Makefile
  head/devel/ice/Makefile
  head/devel/ice37/Makefile
  head/devel/ice37/distinfo
  head/devel/ice37/files/Make.rules.FreeBSD
  head/devel/ice37/files/patch-cpp-include-IceUtil-Config.h
  head/devel/ice37/files/patch-cpp-src-Ice-ProxyFactory.cpp
  head/devel/ice37/files/patch-cpp-src-IceGrid-PluginFacadeI.cpp
  head/devel/ice37/files/patch-cpp-src-IceGrid-RegistryI.cpp
  head/devel/ice37/files/patch-cpp-test-Glacier2-ssl-Server.cpp
  head/devel/ice37/files/patch-cpp-test-Ice-info-AllTests.cpp
  head/devel/ice37/files/patch-cpp-test-Ice-metrics-AllTests.cpp
  head/devel/ice37/files/patch-cpp-test-IceSSL-configuration-AllTests.cpp
  head/devel/ice37/files/patch-cpp-test-include-TestCommon.h
  head/devel/ice37/files/patch-php-Makefile
  head/devel/ice37/files/patch-python-Makefile
  head/devel/ice37/files/patch-python-config-Make.rules
  head/devel/ice37/files/patch-python-python-Makefile
  head/devel/ice37/files/patch-python-test-Ice-info-AllTests.py
  head/devel/ice37/pkg-plist
  head/devel/php-ice37/Makefile
  head/devel/php-ice37/pkg-plist
  head/devel/py-ice37/Makefile
  head/devel/py-ice37/pkg-plist

Modified: head/devel/Makefile
==============================================================================
--- head/devel/Makefile	Mon Aug 27 16:29:29 2018	(r478220)
+++ head/devel/Makefile	Mon Aug 27 16:37:53 2018	(r478221)
@@ -1216,6 +1216,7 @@
     SUBDIR += i386-gcc
     SUBDIR += i386-xtoolchain-gcc
     SUBDIR += ice
+    SUBDIR += ice37
     SUBDIR += icestorm
     SUBDIR += icmake
     SUBDIR += icontheme
@@ -4105,6 +4106,7 @@
     SUBDIR += php-Psr_Log
     SUBDIR += php-composer
     SUBDIR += php-geshi
+    SUBDIR += php-ice37
     SUBDIR += php-jq
     SUBDIR += php-libawl
     SUBDIR += php-maxminddb
@@ -4613,6 +4615,7 @@
     SUBDIR += py-hypothesis
     SUBDIR += py-icalendar
     SUBDIR += py-ice
+    SUBDIR += py-ice37
     SUBDIR += py-imgkit
     SUBDIR += py-incremental
     SUBDIR += py-inflect

Modified: head/devel/ice/Makefile
==============================================================================
--- head/devel/ice/Makefile	Mon Aug 27 16:29:29 2018	(r478220)
+++ head/devel/ice/Makefile	Mon Aug 27 16:37:53 2018	(r478221)
@@ -12,6 +12,7 @@ COMMENT=		Modern alternative to object middleware such
 LICENSE=		GPLv2
 
 SLAVE_PORT?=		no
+CONFLICTS=		Ice37 py*-Ice37 php*-Ice37
 
 MAKE_JOBS_UNSAFE=	yes
 

Modified: head/devel/ice37/Makefile
==============================================================================
--- head/devel/ice/Makefile	Mon Aug 27 16:15:04 2018	(r478217)
+++ head/devel/ice37/Makefile	Mon Aug 27 16:37:53 2018	(r478221)
@@ -1,43 +1,53 @@
-# Created by: Stefan Ehmann <shoesoft@gmx.net>
 # $FreeBSD$
 
 PORTNAME=		Ice
-PORTVERSION=		3.6.4
+PORTVERSION=		3.7.1
 DISTVERSIONPREFIX=	v
 CATEGORIES=		devel
+PKGNAMESUFFIX?=		37
 
-MAINTAINER=		freebsd@grem.de
+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
 
-MAKE_JOBS_UNSAFE=	yes
-
 .if ${SLAVE_PORT} == "no"
 LIB_DEPENDS=		libexpat.so:textproc/expat2 \
+			liblmdb.so:databases/lmdb \
 			libmcpp.so:devel/mcpp
-USES+=			ssl
 .else
 LIB_VRS=		${PORTVERSION:R:S|.||g}
-LIB_DEPENDS+=		libIce.so.${LIB_VRS}:devel/ice
+LIB_DEPENDS+=		libIce.so.${LIB_VRS}:devel/ice37
 PLIST_SUB+=		LIB_VERSION="${PORTVERSION}" LIB_VRS="${LIB_VRS}"
 .endif
 
-OPTIONS_DEFINE?=	DEBUG TEST
+DESTDIRNAME=		NOT_USED # setting DESTDIR interferes with Ice's Makefiles
 
-.include <bsd.port.options.mk>
+OPTIONS_DEFINE?=	DEBUG STATIC TEST
+OPTIONS_SUB=		yes
 
-USES+=			iconv gmake
+USES+=			compiler:c++14-lang iconv gmake
+CONFIGS=		shared
+DEBUG_MAKE_ENV=		OPTIMIZE=no
+TEST_ALL_TARGET_OFF=	srcs
+MAKE_ARGS+=		V=1
 
-.if ${PORT_OPTIONS:MTEST} && ${SLAVE_PORT} == "no"
-USES+=			python:build
-BUILD_DEPENDS+=		${PYTHON_PKGNAMEPREFIX}passlib>0:security/py-passlib@${PY_FLAVOR}
+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
 
-USES+=			bdb:5
-INVALID_BDB_VER=	48 6
+.include <bsd.port.options.mk>
+
 USE_LDCONFIG=		yes
 BUILD_WRKSRC?=		${WRKSRC}/cpp
 INSTALL_WRKSRC?=	${WRKSRC}/cpp
@@ -45,67 +55,45 @@ USE_GITHUB=		yes
 GH_ACCOUNT=		zeroc-ice
 GH_PROJECT=		ice
 
-CFLAGS+=		-ftemplate-depth-128 -fPIC -DPIC -Wall -D_REENTRANT -I${LOCALBASE}/include
-
-.if !${PORT_OPTIONS:MDEBUG}
-CFLAGS+=		-DNDEBUG
-.endif
-
 .if ((${ARCH} != i386) && (${ARCH} != powerpc))
 MAKE_ENV+=		LP64=yes
 .endif
 
-.if !${PORT_OPTIONS:MTEST}
-MAKE_ENV+=		NOTESTS=yes
-.endif
-
-.if ${SLAVE_PORT} == "no"
-MAKE_ENV+=		LD_LIBRARY_PATH=${WRKSRC}/cpp/lib:$$LD_LIBRARY_PATH
-.endif
-
 .include <bsd.port.pre.mk>
 
 .if ${PREFIX} != ${LOCALBASE}
-PYSITEDIR=	${PREFIX}${PYTHON_SITELIBDIR:S|^${LOCALBASE}||}
+PYSITEDIR=		${PREFIX}${PYTHON_SITELIBDIR:S|^${LOCALBASE}||}
 .else
-PYSITEDIR=	${PYTHON_SITELIBDIR}
+PYSITEDIR=		${PYTHON_SITELIBDIR}
 .endif
 
-.if ${PORT_OPTIONS:MNAMESPACES}
-MAKE_ARGS+=	USE_NAMESPACES=yes
-PLIST_SUB+=	NAMESPACES=""
-PLIST_SUB+=	NONAMESPACES="@comment "
+.if defined(PYTHON_VER) && (${PYTHON_VER} == "2.7" || ${PYTHON_VER} == "3.4")
+PLIST_SUB+=		PYTHONGT34="@comment "
 .else
-PLIST_SUB+=	NAMESPACES="@comment "
-PLIST_SUB+=	NONAMESPACES=""
+PLIST_SUB+=		PYTHONGT34=""
 .endif
 
 post-patch:
-	@${SED} 's|%%PREFIX%%|${STAGEDIR}${PREFIX}|g; \
+	@${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|%%OPENSSLRPATH%%|${OPENSSLRPATH}|g;' \
-		${FILESDIR}/Make.rules.FreeBSD > ${WRKSRC}/cpp/config/Make.rules.FreeBSD
-	@${REINPLACE_CMD} 's|%%BDB_LIB_CXX_NAME%%|${BDB_LIB_CXX_NAME}|g; \
-		s|%%BDB_LIB_DIR%%|${BDB_LIB_DIR}|g; \
-		s|%%BDB_INCLUDE_DIR%%|${BDB_INCLUDE_DIR}|g; \
-		s|%%OPENSSLLIB%%|${OPENSSLLIB}|g; \
-		s|%%OPENSSLINC%%|${OPENSSLINC}|g; \
-		s|%%OPENSSLRPATH%%|${OPENSSLRPATH}|g; \
-		/install_docdir/d' \
-		${WRKSRC}/cpp/config/Make.rules
-	@${REINPLACE_CMD} 's|%%OPENSSLBASE%%|${OPENSSLBASE}|g;' \
-		${WRKSRC}/cpp/test/IceSSL/configuration/run.py
-	@${REINPLACE_CMD} '/install_configdir/d' \
-		${WRKSRC}/cpp/config/Make.rules
-	@${REINPLACE_CMD} '/LICENSE/s/prefix/install_slicedir/; \
-		s|%%INSTALL_PROGRAM%%|${INSTALL_PROGRAM}|g;' \
-		${WRKSRC}/config/Make.common.rules
+		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; \
@@ -113,17 +101,47 @@ post-patch:
 		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/config/Make.rules.php
+		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:
-	@cd ${BUILD_WRKSRC} && ${PYTHON_CMD} ./allTests.py
+.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>

Modified: head/devel/ice37/distinfo
==============================================================================
--- head/devel/ice/distinfo	Mon Aug 27 16:15:04 2018	(r478217)
+++ head/devel/ice37/distinfo	Mon Aug 27 16:37:53 2018	(r478221)
@@ -1,3 +1,3 @@
-TIMESTAMP = 1505206779
-SHA256 (zeroc-ice-ice-v3.6.4_GH0.tar.gz) = 4f5cc5e09586eab7de7745bbdc5fbf383c59f8fdc561264d4010bba19afdde2a
-SIZE (zeroc-ice-ice-v3.6.4_GH0.tar.gz) = 5523841
+TIMESTAMP = 1534213743
+SHA256 (zeroc-ice-ice-v3.7.1_GH0.tar.gz) = b1526ab9ba80a3d5f314dacf22674dff005efb9866774903d0efca5a0fab326d
+SIZE (zeroc-ice-ice-v3.7.1_GH0.tar.gz) = 8765196

Modified: head/devel/ice37/files/Make.rules.FreeBSD
==============================================================================
--- head/devel/ice/files/Make.rules.FreeBSD	Mon Aug 27 16:15:04 2018	(r478217)
+++ head/devel/ice37/files/Make.rules.FreeBSD	Mon Aug 27 16:37:53 2018	(r478221)
@@ -1,26 +1,75 @@
-mkshlib                 = $(CXX) -shared $(LDFLAGS) -o $(1) -Wl,-h,$(2) $(3) $(4)
-mkplugin		= $(CXX) -shared $(LDFLAGS) -o $(1) $(3) $(4)
+# **********************************************************************
+#
+# 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
 
-BASELIBS		= -lIceUtil -pthread -L$(LOCALBASE)/lib %%ICONV_LIB%%
-LIBS			= -lIce $(BASELIBS) 
+prefix              = %%PREFIX%%
+install_mandir      = %%MANPREFIX%%/man
+install_slicedir    = %%DATADIR%%
+install_configdir   = %%DATADIR%%/config
+install_docdir      = %%DOCSDIR%%
+localbase           = %%LOCALBASE%%
 
-CRYPT_OS_LIBS		= -lcrypt
-ICEUTIL_OS_LIBS		= -pthread $(OPENSSL_RPATH_LINK) -L%%OPENSSLLIB%% -lcrypto
-ICEUTIL_FLAGS		+= $(OPENSSL_FLAGS)
+opensslinc	= $(filter-out "-I","-I%%OPENSSLINC%%") 
+openssllib	= $(filter-out "-L","-L%%OPENSSLLIB%%") 
 
-PLATFORM_HAS_READLINE   := yes
+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%%
 
-cpp11libdirsuffix	=
-lp64suffix		=
-create_runpath_symlink	= no
-prefix			= %%PREFIX%%
-install_slicedir	= %%DATADIR%%
-install_configdir	= %%DATADIR%%/config
-install_docdir		= %%DOCSDIR%%
-EXPAT_HOME		= $(LOCALBASE)
-INSTALL			= %%INSTALL_DATA%%
-INSTALL_PROGRAM		= %%INSTALL_PROGRAM%%
-MCPP_HOME		= $(LOCALBASE)
-override DESTDIR	=
-rpathlink		= -Wl,-rpath,$(1)
+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 16:37:53 2018	(r478221)
@@ -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 16:37:53 2018	(r478221)
@@ -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

Modified: head/devel/ice37/files/patch-cpp-include-IceUtil-Config.h
==============================================================================
--- head/devel/ice/files/patch-cpp-include-IceUtil-Config.h	Mon Aug 27 16:15:04 2018	(r478217)
+++ head/devel/ice37/files/patch-cpp-include-IceUtil-Config.h	Mon Aug 27 16:37:53 2018	(r478221)
@@ -1,5 +1,5 @@
---- cpp/include/IceUtil/Config.h.orig	2016-10-05 16:59:08.000000000 +0200
-+++ cpp/include/IceUtil/Config.h	2017-01-30 22:11:08.235308977 +0100
+--- 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>
@@ -18,20 +18,3 @@
           defined(__hppa) && defined(__LP64__)                         || \
           defined(_ARCH_COM) && defined(__64BIT__)                     || \
           defined(__alpha__)                                           || \
-@@ -98,6 +100,16 @@
- #endif
- 
- //
-+// FreeBSD 10.0-RELEASE had a broken atexit handler
-+// (affects the order of static destruction)
-+#if defined(__FreeBSD__)
-+#include <sys/param.h>
-+#   if __FreeBSD_version < 1000700
-+#   define ICE_BROKEN_ATEXIT = 1
-+#   endif
-+#endif
-+
-+//
- // Check for C++ 11 support
- //
- // For GCC, we recognize --std=c++0x only for GCC version 4.5 and greater,

Modified: head/devel/ice37/files/patch-cpp-src-Ice-ProxyFactory.cpp
==============================================================================
--- head/devel/ice/files/patch-cpp-src-Ice-ProxyFactory.cpp	Mon Aug 27 16:15:04 2018	(r478217)
+++ head/devel/ice37/files/patch-cpp-src-Ice-ProxyFactory.cpp	Mon Aug 27 16:37:53 2018	(r478221)
@@ -1,7 +1,7 @@
---- cpp.orig/src/Ice/ProxyFactory.cpp	2011-06-15 21:43:59.000000000 +0200
-+++ cpp/src/Ice/ProxyFactory.cpp	2012-03-04 20:14:53.000000000 +0100
-@@ -229,6 +229,7 @@
-     } 
+--- 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

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 16:37:53 2018	(r478221)
@@ -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)
+         {

Modified: head/devel/ice37/files/patch-cpp-src-IceGrid-PluginFacadeI.cpp
==============================================================================
--- head/devel/ice/files/patch-cpp-src-IceGrid-PluginFacadeI.cpp	Mon Aug 27 16:15:04 2018	(r478217)
+++ head/devel/ice37/files/patch-cpp-src-IceGrid-PluginFacadeI.cpp	Mon Aug 27 16:37:53 2018	(r478221)
@@ -1,6 +1,6 @@
---- cpp/src/IceGrid/PluginFacadeI.cpp.orig	2015-07-03 17:38:27.734242982 +0200
-+++ cpp/src/IceGrid/PluginFacadeI.cpp	2015-07-03 17:42:42.990740982 +0200
-@@ -34,10 +34,16 @@
+--- 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);
      }
  
@@ -8,8 +8,8 @@
 -    {
 -        IceGrid::setRegistryPluginFacade(0);
 -    }
-+/*	This is a bad idea, see
-+ *	https://isocpp.org/wiki/faq/ctors#construct-on-first-use-v2
++/*  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.

Modified: head/devel/ice37/files/patch-cpp-src-IceGrid-RegistryI.cpp
==============================================================================
--- head/devel/ice/files/patch-cpp-src-IceGrid-RegistryI.cpp	Mon Aug 27 16:15:04 2018	(r478217)
+++ head/devel/ice37/files/patch-cpp-src-IceGrid-RegistryI.cpp	Mon Aug 27 16:37:53 2018	(r478221)
@@ -1,20 +1,20 @@
---- cpp/src/IceGrid/RegistryI.cpp.orig	2015-07-03 17:43:25.231459982 +0200
-+++ cpp/src/IceGrid/RegistryI.cpp	2015-07-03 17:46:57.991198982 +0200
-@@ -48,6 +48,13 @@
+--- 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
 +{
 +
-+ICE_GRID_API void setRegistryPluginFacade(const RegistryPluginFacadePtr&);
++ICEGRID_API void setRegistryPluginFacade(const RegistryPluginFacadePtr&);
 +
 +}
 +
  namespace
  {
  
-@@ -159,6 +166,7 @@
+@@ -183,6 +190,7 @@ RegistryI::RegistryI(const CommunicatorP
  
  RegistryI::~RegistryI()
  {

Modified: head/devel/ice37/files/patch-cpp-test-Glacier2-ssl-Server.cpp
==============================================================================
--- head/devel/ice/files/patch-cpp-test-Glacier2-ssl-Server.cpp	Mon Aug 27 16:15:04 2018	(r478217)
+++ head/devel/ice37/files/patch-cpp-test-Glacier2-ssl-Server.cpp	Mon Aug 27 16:37:53 2018	(r478221)
@@ -1,34 +1,25 @@
---- cpp.orig/test/Glacier2/ssl/Server.cpp	2011-06-15 21:43:59.000000000 +0200
-+++ cpp/test/Glacier2/ssl/Server.cpp	2012-03-04 20:14:53.000000000 +0100
-@@ -31,9 +31,15 @@
-         test(ctx["_con.type"] == "ssl");
-         test(ctx["_con.localPort"] == "12348");
+--- 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");
-+    if (!inFreeBSDJail())
-+    {
-+        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");
-+    if (!inFreeBSDJail())
-+    {
-+        test(ctx["_con.remoteAddress"] == "127.0.0.1");
-+    }
++    test(ctx["_con.remoteAddress"] == "127.0.0.1" || inFreeBSDJail());
  }
  
  }
-@@ -133,8 +139,11 @@
+@@ -129,8 +129,8 @@ public:
      {
-         testContext(true, current.ctx);
+         testContext(true, current.adapter->getCommunicator(), current.ctx);
  
 -        test(info.remoteHost == "127.0.0.1");
 -        test(info.localHost == "127.0.0.1");
-+        if (!inFreeBSDJail())
-+        {
-+            test(info.remoteHost == "127.0.0.1");
-+            test(info.localHost == "127.0.0.1");
-+        }
-         test(info.localPort == 12348);
++        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

Modified: head/devel/ice37/files/patch-cpp-test-Ice-info-AllTests.cpp
==============================================================================
--- head/devel/ice/files/patch-cpp-test-Ice-info-AllTests.cpp	Mon Aug 27 16:15:04 2018	(r478217)
+++ head/devel/ice37/files/patch-cpp-test-Ice-info-AllTests.cpp	Mon Aug 27 16:37:53 2018	(r478221)
@@ -1,20 +1,40 @@
---- cpp.orig/test/Ice/info/AllTests.cpp	2015-01-23 12:42:09.819774063 +0000
-+++ cpp/test/Ice/info/AllTests.cpp	2015-01-23 12:42:59.341774435 +0000
-@@ -157,7 +157,7 @@
-         test(info->adapterName.empty());
-         test(info->localPort > 0);
-         test(info->remotePort == 12010);
--        if(defaultHost == "127.0.0.1")
-+        if(defaultHost == "127.0.0.1" && !inFreeBSDJail())
+--- 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);
-@@ -182,7 +182,7 @@
-         test(info->adapterName.empty());
-         test(info->localPort > 0);
-         test(info->remotePort == 12010);
--        if(defaultHost == "127.0.0.1")
-+        if(defaultHost == "127.0.0.1" && !inFreeBSDJail())
+-            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(info->remoteAddress == defaultHost);
-             test(info->localAddress == defaultHost);
+-            test(udpinfo->remoteAddress == defaultHost);
+-            test(udpinfo->localAddress == defaultHost);
++            test(udpinfo->remoteAddress == defaultHost || inFreeBSDJail());
++            test(udpinfo->localAddress == defaultHost || inFreeBSDJail());
+         }
+ 
+ #if !defined(ICE_OS_UWP)

Modified: head/devel/ice37/files/patch-cpp-test-Ice-metrics-AllTests.cpp
==============================================================================
--- head/devel/ice/files/patch-cpp-test-Ice-metrics-AllTests.cpp	Mon Aug 27 16:15:04 2018	(r478217)
+++ head/devel/ice37/files/patch-cpp-test-Ice-metrics-AllTests.cpp	Mon Aug 27 16:37:53 2018	(r478221)
@@ -1,50 +1,50 @@
---- cpp/test/Ice/metrics/AllTests.cpp.orig	2015-06-23 15:30:20.000000000 +0000
-+++ cpp/test/Ice/metrics/AllTests.cpp	2015-06-27 19:16:18.877197646 +0000
-@@ -639,9 +639,12 @@
-         testAttribute(clientMetrics, clientProps, update, "Connection", "incoming", "false");
-         testAttribute(clientMetrics, clientProps, update, "Connection", "adapterName", "");
-         testAttribute(clientMetrics, clientProps, update, "Connection", "connectionId", "Con1");
--        testAttribute(clientMetrics, clientProps, update, "Connection", "localHost", "127.0.0.1");
+--- 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, "Connection", "localHost", "127.0.0.1");
-+            testAttribute(clientMetrics, clientProps, update, "Connection", "remoteHost", "127.0.0.1");
++            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, "Connection", "localPort", "");
--        testAttribute(clientMetrics, clientProps, update, "Connection", "remoteHost", "127.0.0.1");
-         testAttribute(clientMetrics, clientProps, update, "Connection", "remotePort", "12010");
-         testAttribute(clientMetrics, clientProps, update, "Connection", "mcastHost", "");
-         testAttribute(clientMetrics, clientProps, update, "Connection", "mcastPort", "");
-@@ -726,7 +729,7 @@
+         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 -p 12010 -h unknownfoo.zeroc.com")->ice_ping();
-+            communicator->stringToProxy("test:tcp -t 500 -p 12010 -h unknownhost9999.example.org")->ice_ping();
+-            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&)
-@@ -739,7 +742,7 @@
+@@ -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 12010 -t 500" && m1->total == 2 &&
-+        test(m1->id == "tcp -h unknownhost9999.example.org -p 12010 -t 500" && m1->total == 2 &&
+-        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)
          {
-@@ -871,9 +874,12 @@
-         testAttribute(serverMetrics, serverProps, update, "Dispatch", "incoming", "true", op);
-         testAttribute(serverMetrics, serverProps, update, "Dispatch", "adapterName", "TestAdapter", op);
-         testAttribute(serverMetrics, serverProps, update, "Dispatch", "connectionId", "", op);
--        testAttribute(serverMetrics, serverProps, update, "Dispatch", "localHost", "127.0.0.1", op);
+@@ -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, "Dispatch", "localHost", "127.0.0.1", op);
-+            testAttribute(serverMetrics, serverProps, update, "Dispatch", "remoteHost", "127.0.0.1", op);
-+        }
-         testAttribute(serverMetrics, serverProps, update, "Dispatch", "localPort", "12010", op);
--        testAttribute(serverMetrics, serverProps, update, "Dispatch", "remoteHost", "127.0.0.1", op);
-         //testAttribute(serverMetrics, serverProps, update, "Dispatch", "remotePort", "12010", op);
-         testAttribute(serverMetrics, serverProps, update, "Dispatch", "mcastHost", "", op);
-         testAttribute(serverMetrics, serverProps, update, "Dispatch", "mcastPort", "", op);
++            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 16:37:53 2018	(r478221)
@@ -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 16:37:53 2018	(r478221)
@@ -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 16:37:53 2018	(r478221)
@@ -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);

Modified: head/devel/ice37/files/patch-cpp-test-IceSSL-configuration-AllTests.cpp
==============================================================================
--- head/devel/ice/files/patch-cpp-test-IceSSL-configuration-AllTests.cpp	Mon Aug 27 16:15:04 2018	(r478217)
+++ head/devel/ice37/files/patch-cpp-test-IceSSL-configuration-AllTests.cpp	Mon Aug 27 16:37:53 2018	(r478221)
@@ -1,31 +1,54 @@
---- cpp/test/IceSSL/configuration/AllTests.cpp.orig	2016-10-05 16:59:08.000000000 +0200
-+++ cpp/test/IceSSL/configuration/AllTests.cpp	2016-10-12 01:57:47.897380902 +0200
-@@ -27,7 +27,7 @@
- //
- // With OpenSSL 1.1.0 we need to set SECLEVEL=0 to allow ADH ciphers
- //
--#  if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+#  if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
- const string anonCiphers = "ADH:@SECLEVEL=0";
- #  else
- const string anonCiphers = "ADH";
-@@ -2048,7 +2048,7 @@
+--- 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 / SChannel
+     // 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)
+-#  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
-@@ -3215,9 +3215,7 @@
+@@ -4165,6 +4171,7 @@ allTests(const CommunicatorPtr& communic
  #endif
      }
  
--#ifndef _AIX
--    // On AIX 6.1, the default root certificates don't validate demo.zeroc.com
--
-+#if 0 // we don't want to talk to zeroc while building
-     cout << "testing system CAs... " << flush;
-     {
-         InitializationData initData;
++#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 16:37:53 2018	(r478221)
@@ -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 16:37:53 2018	(r478221)
@@ -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 16:37:53 2018	(r478221)
@@ -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")

Modified: head/devel/ice37/files/patch-cpp-test-include-TestCommon.h
==============================================================================
--- head/devel/ice/files/patch-cpp-test-include-TestCommon.h	Mon Aug 27 16:15:04 2018	(r478217)
+++ head/devel/ice37/files/patch-cpp-test-include-TestCommon.h	Mon Aug 27 16:37:53 2018	(r478221)
@@ -1,12 +1,12 @@
---- cpp.orig/test/include/TestCommon.h	2011-06-15 21:43:59.000000000 +0200
-+++ cpp/test/include/TestCommon.h	2012-03-04 20:14:53.000000000 +0100
-@@ -17,6 +17,22 @@
- #include <stdlib.h>
+--- 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__)
-+#  include <sys/types.h>
-+#  include <sys/sysctl.h>
++extern "C" { int sysctlbyname(const char *name, void *oldp, size_t *oldlenp,
++                 const void *newp, size_t newlen); }
 +inline bool inFreeBSDJail()
 +{
 +    int jailed;
@@ -21,5 +21,5 @@
 +#endif
 +
  void
- inline testFailed(const char* expr, const char* file, unsigned int line)
+ inline print(const std::string& msg)
  {

Modified: head/devel/ice37/files/patch-php-Makefile
==============================================================================
--- head/devel/ice/files/patch-php-Makefile	Mon Aug 27 16:15:04 2018	(r478217)
+++ head/devel/ice37/files/patch-php-Makefile	Mon Aug 27 16:37:53 2018	(r478221)
@@ -1,11 +1,28 @@
---- php/Makefile.orig	2013-10-04 15:48:15.000000000 +0000
-+++ php/Makefile	2013-12-01 21:19:31.863489109 +0000
-@@ -14,7 +14,7 @@
- SUBDIRS		= src lib demo test
- INSTALL_SUBDIRS = $(install_phpdir) $(install_libdir)
+--- 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)))
  
--install:: install-common
-+install::
- 	@for subdir in $(INSTALL_SUBDIRS); \
- 	do \
- 	    if test ! -d $(DESTDIR)$$subdir ; \
+ #
+ # 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 16:37:53 2018	(r478221)
@@ -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

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



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