From owner-svn-ports-all@freebsd.org Mon Aug 27 12:07:19 2018 Return-Path: Delivered-To: svn-ports-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E7A031087418; Mon, 27 Aug 2018 12:07:18 +0000 (UTC) (envelope-from grembo@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 9C82F8CD28; Mon, 27 Aug 2018 12:07:18 +0000 (UTC) (envelope-from grembo@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 787FE1D632; Mon, 27 Aug 2018 12:07:18 +0000 (UTC) (envelope-from grembo@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w7RC7IDi051515; Mon, 27 Aug 2018 12:07:18 GMT (envelope-from grembo@FreeBSD.org) Received: (from grembo@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w7RC7Btn051478; Mon, 27 Aug 2018 12:07:11 GMT (envelope-from grembo@FreeBSD.org) Message-Id: <201808271207.w7RC7Btn051478@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: grembo set sender to grembo@FreeBSD.org using -f From: Michael Gmelin Date: Mon, 27 Aug 2018 12:07:11 +0000 (UTC) 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 X-SVN-Group: ports-head X-SVN-Commit-Author: grembo X-SVN-Commit-Paths: in head/devel: . ice37 ice37/files X-SVN-Commit-Revision: 478195 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Aug 2018 12:07:19 -0000 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 +# $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 + +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 + +.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 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 + +-# 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(_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(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 ***