Skip site navigation (1)Skip section navigation (2)
Date:      2 Dec 2013 19:11:08 -0000
From:      Michael Gmelin <freebsd@grem.de>
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   ports/184453: [MAINTAINER] devel/ice: update to 3.5.1 (also devel/py-ice and devel/php5-ice)
Message-ID:  <20131202191108.62408.qmail@mail.grem.de>
Resent-Message-ID: <201312021920.rB2JK1pd021339@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         184453
>Category:       ports
>Synopsis:       [MAINTAINER] devel/ice: update to 3.5.1 (also devel/py-ice and devel/php5-ice)
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Mon Dec 02 19:20:00 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator:     Michael Gmelin
>Release:        FreeBSD 9.1-RELEASE-p2 amd64
>Organization:
Grem Equity GmbH
>Environment:
System: FreeBSD bsd64.grem.de 9.1-RELEASE-p2 FreeBSD 9.1-RELEASE-p2 #5 r249052M: Fri May 31 17:50:16 UTC
>Description:

The attached patch modifies devel/ice, devel/py-ice and devel/php5-ice.
It accomplishes the following:
- Update Ice to 3.5.1.
- Stageify all three ports [1].
- Convert py-ice and php5-ice to slave ports.
- Use ICONV_LIB, so it builds ok with native iconv [2].
- Workaround for FreeBSD 10's static destructor order
  disaster [3].
- Install man pages.
- Allow package build for non-root users.

Ports have been tested on:
- FreeBSD 9.1 + pkg_tools
- FreeBSD 9.2 + pkg (aka pkgng)
- FreeBSD 10.0-BETA2

Checked for correct build and potential leftovers using
make stage && make check-orphans && make package (root and non-root).

Also verified clean build using poudriere (PREFIX != LOCALBASE).

[1] https://wiki.freebsd.org/ports/StageDir
[2] http://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/using-iconv.html
[3] http://lists.freebsd.org/pipermail/freebsd-ports/2013-June/084580.html

Generated with FreeBSD Port Tools 0.99_7 (mode: update, diff: suffix)
>How-To-Repeat:
>Fix:

Apply the attached patch:

cd /usr/ports
patch </path/to/Ice-3.5.1.patch

--- Ice-3.5.1.patch begins here ---
diff -ruN devel/ice.orig/Makefile devel/ice/Makefile
--- devel/ice.orig/Makefile	2013-09-20 19:04:43.000000000 +0200
+++ devel/ice/Makefile	2013-12-02 19:40:02.000000000 +0100
@@ -2,7 +2,7 @@
 # $FreeBSD: devel/ice/Makefile 327723 2013-09-20 17:04:43Z bapt $
 
 PORTNAME=		Ice
-PORTVERSION=		3.5.0
+PORTVERSION=		3.5.1
 CATEGORIES=		devel
 MASTER_SITES=		http://download.zeroc.com/Ice/3.5/
 
@@ -14,12 +14,11 @@
 LIB_DEPENDS=		expat:${PORTSDIR}/textproc/expat2 \
 			mcpp:${PORTSDIR}/devel/mcpp
 
-OPTIONS_DEFINE=		DEBUG DEMOS DOCS TESTS
-OPTIONS_DEFAULT=	DEMOS TESTS
-TESTS_DESC=		Build and run tests (requires lang/python)
-DEMOS_DESC=		Build demos
+OPTIONS_DEFINE?=	DEBUG DEMOS DOCS TESTS
+OPTIONS_DEFAULT?=	DEMOS TESTS
+TESTS_DESC?=		Build and run tests (requires lang/python)
+DEMOS_DESC?=		Build demos
 
-NO_STAGE=	yes
 .include <bsd.port.options.mk>
 
 .if ${PORT_OPTIONS:MTESTS}
@@ -31,11 +30,13 @@
 USE_BDB=		5
 INVALID_BDB_VER=	2 3 40 41 42 43 44 46 47 48
 USE_LDCONFIG=		yes
-BUILD_WRKSRC=		${WRKSRC}/cpp
-INSTALL_WRKSRC=		${WRKSRC}/cpp
+BUILD_WRKSRC?=		${WRKSRC}/cpp
+INSTALL_WRKSRC?=	${WRKSRC}/cpp
 
 CFLAGS+=		-ftemplate-depth-128 -fPIC -DPIC -Wall -D_REENTRANT -I${LOCALBASE}/include
-.if !${PORT_OPTIONS:MDEBUG}
+.if ${PORT_OPTIONS:MDEBUG}
+CFLAGS+=		-g
+.else
 CFLAGS+=		-DNDEBUG
 .endif
 
@@ -47,12 +48,8 @@
 BROKEN=			fails to link
 .endif
 
-.if ${OSVERSION} >= 1000000
-BROKEN=			Does not work on FreeBSD 10
-.endif
-
 .if ((${ARCH} != i386) && (${ARCH} != powerpc))
-MAKE_ENV=		LP64=yes
+MAKE_ENV+=		LP64=yes
 .endif
 
 .if !${PORT_OPTIONS:MTESTS}
@@ -64,13 +61,41 @@
 .endif
 
 .if !${PORT_OPTIONS:MDOCS}
-MAKE_ENV+=		NOPORTDOCS=yes
+MAKE_ENV+=		NOICEDOCS=yes
+.endif
+
+.include <bsd.port.pre.mk>
+
+.if defined(PYTHON_REL) && ${PYTHON_REL} >= 320
+PLIST_SUB+=	PYTHON32=""
+PLIST_SUB+=	PYTHONPRE32="@comment "
+.else
+PLIST_SUB+=	PYTHON32="@comment "
+PLIST_SUB+=	PYTHONPRE32=""
+.endif
+
+PLIST_SUB+=	PYTHON_SUFFIX=${PYTHON_SUFFIX}
+
+.if ${PREFIX} != ${LOCALBASE} && !defined(NO_STAGE)
+PYSITEDIR=	${PREFIX}${PYTHON_SITELIBDIR:S|^${LOCALBASE}||}
+.else
+PYSITEDIR=	${PYTHON_SITELIBDIR}
+.endif
+
+.if ${PORT_OPTIONS:MNAMESPACES}
+MAKE_ARGS+=	USE_NAMESPACES=yes
+PLIST_SUB+=	NAMESPACES=""
+PLIST_SUB+=	NONAMESPACES="@comment "
+.else
+PLIST_SUB+=	NAMESPACES="@comment "
+PLIST_SUB+=	NONAMESPACES=""
 .endif
 
 post-patch:
-	@${SED} 's|%%PREFIX%%|${PREFIX}|g; \
-		s|%%DATADIR%%|${DATADIR}|g; \
-		s|%%DOCSDIR%%|${DOCSDIR}|g; \
+	@${SED} 's|%%PREFIX%%|${STAGEDIR}${PREFIX}|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' \
 		${FILESDIR}/Make.rules.FreeBSD > ${WRKSRC}/cpp/config/Make.rules.FreeBSD
@@ -83,8 +108,19 @@
 		${WRKSRC}/cpp/config/Make.rules
 	@${REINPLACE_CMD} 's|INSTALL_PROGRAM|INSTALL_DATA|g' \
 		${WRKSRC}/cpp/src/ca/Makefile
-	@${REINPLACE_CMD} '/LICENSE/s/prefix/install_slicedir/' \
+	@${REINPLACE_CMD} '/LICENSE/s/prefix/install_slicedir/; \
+		s|%%INSTALL_PROGRAM%%|${INSTALL_PROGRAM}|g; ' \
 		${WRKSRC}/config/Make.common.rules
+	@${REINPLACE_CMD} 's|%%INSTALL_PROGRAM%%|${INSTALL_PROGRAM}|g; \
+		s|%%INSTALL_DATA%%|${INSTALL_DATA}|g; \
+		s|%%ICONV_LIB%%|${ICONV_LIB}|g; \
+		s|%%PYTHON_SITELIBDIR%%|${STAGEDIR}${PYSITEDIR}|g; \
+		s|%%PREFIX%%|${PREFIX}|g ; \
+		s|%%LOCALBASE%%|${LOCALBASE}|g' ${WRKSRC}/py/config/Make.rules
+	@${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
 
 .if ${PORT_OPTIONS:MTESTS}
 TEST_CMD=		@cd ${BUILD_WRKSRC} && ${PYTHON_CMD} ./allTests.py
diff -ruN devel/ice.orig/distinfo devel/ice/distinfo
--- devel/ice.orig/distinfo	2013-06-17 13:42:41.000000000 +0200
+++ devel/ice/distinfo	2013-11-30 23:05:33.000000000 +0100
@@ -1,2 +1,2 @@
-SHA256 (Ice-3.5.0.tar.gz) = bbde6b5a87f5abc8d9105468731f1419829bc22b5d23b8fdef553967a2eebdb0
-SIZE (Ice-3.5.0.tar.gz) = 4790555
+SHA256 (Ice-3.5.1.tar.gz) = 989e51194c6adadbd156da3288e37bad847b93b3b876502e83033b70493af392
+SIZE (Ice-3.5.1.tar.gz) = 4799296
diff -ruN devel/ice.orig/files/Make.rules.FreeBSD devel/ice/files/Make.rules.FreeBSD
--- devel/ice.orig/files/Make.rules.FreeBSD	2013-02-14 10:42:12.000000000 +0100
+++ devel/ice/files/Make.rules.FreeBSD	2013-12-01 03:09:18.000000000 +0100
@@ -1,6 +1,6 @@
 mkshlib                 = $(CXX) -shared $(LDFLAGS) -o $(1) -Wl,-h,$(2) $(3) $(4)
 
-BASELIBS		= -lIceUtil -pthread -L$(LOCALBASE)/lib -liconv
+BASELIBS		= -lIceUtil -pthread -L$(LOCALBASE)/lib %%ICONV_LIB%%
 LIBS			= -lIce $(BASELIBS) 
 
 ICEUTIL_OS_LIBS         = -pthread
@@ -19,3 +19,4 @@
 INSTALL			= %%INSTALL_DATA%%
 INSTALL_PROGRAM		= %%INSTALL_PROGRAM%%
 MCPP_HOME		= $(LOCALBASE)
+override DESTDIR	=
diff -ruN devel/ice.orig/files/patch-config-Make.common.rules devel/ice/files/patch-config-Make.common.rules
--- devel/ice.orig/files/patch-config-Make.common.rules	2013-06-17 13:42:41.000000000 +0200
+++ devel/ice/files/patch-config-Make.common.rules	2013-12-01 17:50:24.000000000 +0100
@@ -1,18 +1,45 @@
 --- config.orig/Make.common.rules	2013-05-20 22:21:58.666286011 +0000
 +++ config/Make.common.rules	2013-05-20 22:20:50.897196090 +0000
-@@ -378,11 +378,15 @@
+@@ -19,7 +19,7 @@
+ SHORT_VERSION           = 3.4
+ SOVERSION		= 34
+ 
+-INSTALL			= cp -fp
++INSTALL			= %%INSTALL_PROGRAM%%
+ INSTALL_PROGRAM		= ${INSTALL}
+ INSTALL_LIBRARY		= ${INSTALL}
+ INSTALL_DATA		= ${INSTALL}
+@@ -386,11 +386,15 @@
  	then \
- 	    echo "Creating $(install_slicedir)..." ; \
- 	    $(call mkdir, $(install_slicedir)) ; \
+ 	    echo "Creating $(DESTDIR)$(install_slicedir)..." ; \
+ 	    $(call mkdir, $(DESTDIR)$(install_slicedir), -p) ; \
 +	fi
 +
-+	@if test -d $(install_slicedir) ; \
++	@if test -d $(DESTDIR)$(install_slicedir) ; \
 +	then \
  	    cd $(top_srcdir)/../slice ; \
  	    for subdir in * ; \
  	    do \
- 	        echo "Copying slice/$$subdir to $(install_slicedir)..." ; \
- 	        cp -fpr $$subdir $(install_slicedir) ; \
+ 	        echo "Copying slice/$$subdir to $(DESTDIR)$(install_slicedir)..." ; \
+ 	        cp -fpr $$subdir $(DESTDIR)$(install_slicedir) ; \
  	    done ; \
 -	    fi
 +	fi
+ 
+@@ -410,12 +410,12 @@
+     fi
+ 
+ 
+-	@if test ! -f $(DESTDIR)$(prefix)/CHANGES$(TEXT_EXTENSION) ; \
++	@if test ! -f $(DESTDIR)$(install_slicedir)/CHANGES$(TEXT_EXTENSION) ; \
+ 	then \
+-		$(call installdata,$(top_srcdir)/../CHANGES$(TEXT_EXTENSION),$(DESTDIR)$(prefix)) ; \
++		$(call installdata,$(top_srcdir)/../CHANGES$(TEXT_EXTENSION),$(DESTDIR)$(install_slicedir)) ; \
+ 	fi
+ 
+-	@if test ! -f $(DESTDIR)$(prefix)/RELEASE_NOTES$(TEXT_EXTENSION) ; \
++	@if test ! -f $(DESTDIR)$(install_slicedir)/RELEASE_NOTES$(TEXT_EXTENSION) ; \
+ 	then \
+-		$(call installdata,$(top_srcdir)/../RELEASE_NOTES$(TEXT_EXTENSION),$(DESTDIR)$(prefix)) ; \
++		$(call installdata,$(top_srcdir)/../RELEASE_NOTES$(TEXT_EXTENSION),$(DESTDIR)$(install_slicedir)) ; \
+ 	fi
diff -ruN devel/ice.orig/files/patch-cpp-Makefile devel/ice/files/patch-cpp-Makefile
--- devel/ice.orig/files/patch-cpp-Makefile	2013-06-17 13:42:41.000000000 +0200
+++ devel/ice/files/patch-cpp-Makefile	2013-12-02 19:40:02.000000000 +0100
@@ -17,7 +17,7 @@
  endif
 +endif
 +
-+ifeq ($(NOPORTDOCS),)
++ifeq ($(NOICEDOCS),)
 +SUBDIRS		:= $(SUBDIRS) doc
 +endif
 +
diff -ruN devel/ice.orig/files/patch-cpp-allTests.py devel/ice/files/patch-cpp-allTests.py
--- devel/ice.orig/files/patch-cpp-allTests.py	2013-06-17 13:42:41.000000000 +0200
+++ devel/ice/files/patch-cpp-allTests.py	2013-12-01 04:07:12.000000000 +0100
@@ -9,6 +9,15 @@
      ("Ice/defaultServant", ["core"]),
      ("Ice/defaultValue", ["core"]),
      ("Ice/invoke", ["core", "novc6"]),
+@@ -85,7 +85,7 @@
+     ("IceStorm/federation2", ["service", "novc90", "nomingw"]),
+     ("IceStorm/stress", ["service", "stress", "novc90", "noappverifier", "nomingw"]), # Too slow with appverifier.
+     ("IceStorm/rep1", ["service", "novc90", "nomingw"]),
+-    ("IceStorm/repgrid", ["service", "novc90", "nomingw"]),
++    ("IceStorm/repgrid", ["service", "novc90", "nomingw", "nofreebsd"]),
+     ("IceStorm/repstress", ["service", "noipv6", "stress", "novc90", "nomingw"]),
+     ("FreezeScript/dbmap", ["once", "novc90", "nomingw"]),
+     ("FreezeScript/evictor", ["once", "novc90", "nomingw"]),
 @@ -106,8 +107,8 @@
  #
  if TestUtil.isWin32() or os.getuid() == 0:
diff -ruN devel/ice.orig/files/patch-cpp-include-IceUtil-Config.h devel/ice/files/patch-cpp-include-IceUtil-Config.h
--- devel/ice.orig/files/patch-cpp-include-IceUtil-Config.h	2013-06-17 13:42:41.000000000 +0200
+++ devel/ice/files/patch-cpp-include-IceUtil-Config.h	1970-01-01 01:00:00.000000000 +0100
@@ -1,11 +0,0 @@
---- cpp.orig/include/IceUtil/Config.h	2013-03-11 15:19:46.000000000 +0000
-+++ cpp/include/IceUtil/Config.h	2013-05-20 02:09:58.239194578 +0000
-@@ -51,7 +51,7 @@
- // Check for C++ 11 support
- //
- #if (defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)) && defined(__GXX_EXPERIMENTAL_CXX0X__)) || \
--    (defined(__clang__) && (__clang_major__ >= 4) && __cplusplus >= 201103) || \
-+    (defined(__clang__) && ((defined(__APPLE__) && __clang_major__ >= 4) || (!defined(__APPLE__) && __clang_major__ >= 3)) && __cplusplus >= 201103) || \
-     (defined(_MSC_VER) && (_MSC_VER >= 1600))
- #   define ICE_CPP11
- #endif
diff -ruN devel/ice.orig/files/patch-cpp-src-IceGrid-FileCache.cpp devel/ice/files/patch-cpp-src-IceGrid-FileCache.cpp
--- devel/ice.orig/files/patch-cpp-src-IceGrid-FileCache.cpp	2013-06-17 13:42:41.000000000 +0200
+++ devel/ice/files/patch-cpp-src-IceGrid-FileCache.cpp	1970-01-01 01:00:00.000000000 +0100
@@ -1,16 +0,0 @@
---- cpp.orig/src/IceGrid/FileCache.cpp	2013-03-11 15:19:12.271195149 +0000
-+++ cpp/src/IceGrid/FileCache.cpp	2013-06-01 17:47:48.636196265 +0000
-@@ -195,11 +195,11 @@
-         // Some eofbit cases will also set failbit. So first
-         // check eof.
-         //
--        if(is.eof())
-+        if(is.eof() || is.fail())
-         {
-             newOffset += line.size();
-         }
--        else if(!is.fail())
-+        else
-         {
-             newOffset = is.tellg();
-         }
diff -ruN devel/ice.orig/files/patch-cpp-src-slice2cpp-Gen.cpp devel/ice/files/patch-cpp-src-slice2cpp-Gen.cpp
--- devel/ice.orig/files/patch-cpp-src-slice2cpp-Gen.cpp	2013-06-17 13:42:41.000000000 +0200
+++ devel/ice/files/patch-cpp-src-slice2cpp-Gen.cpp	2013-11-30 23:17:53.000000000 +0100
@@ -1,13 +1,44 @@
 --- cpp.orig/src/slice2cpp/Gen.cpp	2013-03-11 15:19:46.000000000 +0000
 +++ cpp/src/slice2cpp/Gen.cpp	2013-05-20 19:51:48.109197053 +0000
-@@ -385,6 +385,10 @@
-         H << "\n#include <Ice/Proxy.h>";
-         H << "\n#include <Ice/OutgoingAsync.h>";
-     }
-+    else if(p->hasNonLocalClassDecls())
-+    {
-+        H << "\n#include <Ice/Proxy.h>";
-+    }
+@@ -756,10 +756,11 @@
+ 
+         C << sp << nl << "class " << factoryName << "__Init";
+         C << sb;
++        C << nl << "IceInternal::FactoryTableInit* _ftableinit;";
+         C.dec();
+         C << nl << "public:";
+         C.inc();
+-        C << sp << nl << factoryName << "__Init()";
++        C << sp << nl << factoryName << "__Init(): _ftableinit(new IceInternal::FactoryTableInit)";
+         C << sb;
+         C << nl << "::IceInternal::factoryTable->addExceptionFactory(\"" << p->scoped() << "\", new "
+           << factoryName << ");";
+@@ -767,6 +768,7 @@
+         C << sp << nl << "~" << factoryName << "__Init()";
+         C << sb;
+         C << nl << "::IceInternal::factoryTable->removeExceptionFactory(\"" << p->scoped() << "\");";
++        C << nl << "delete _ftableinit;";
+         C << eb;
+         C << eb << ';';
+ 
+@@ -3976,10 +3978,11 @@
+             C << sp;
+             C << nl << "class " << factoryName << "__Init";
+             C << sb;
++            C << nl << "IceInternal::FactoryTableInit* _ftableinit;";
+             C.dec();
+             C << nl << "public:";
+             C.inc();
+-            C << sp << nl << factoryName << "__Init()";
++            C << sp << nl << factoryName << "__Init(): _ftableinit(new IceInternal::FactoryTableInit)";
+             C << sb;
+             if(!p->isAbstract())
+             {
+@@ -4002,6 +4005,7 @@
+             {
+                 C << nl << "::IceInternal::factoryTable->removeTypeId(" << p->compactId() << ");";
+             }
++            C << nl << "delete _ftableinit;";
+             C << eb;
+             C << eb << ';';
  
-     if(p->hasNonLocalDataOnlyClasses() || p->hasNonLocalExceptions())
-     {
diff -ruN devel/ice.orig/files/patch-cpp-test-Ice-properties-run.py devel/ice/files/patch-cpp-test-Ice-properties-run.py
--- devel/ice.orig/files/patch-cpp-test-Ice-properties-run.py	2013-06-17 13:42:41.000000000 +0200
+++ devel/ice/files/patch-cpp-test-Ice-properties-run.py	1970-01-01 01:00:00.000000000 +0100
@@ -1,29 +0,0 @@
---- cpp.orig/test/Ice/properties/run.py	2013-03-11 15:19:47.000000000 +0000
-+++ cpp/test/Ice/properties/run.py	2013-05-21 03:48:13.020195761 +0000
-@@ -28,15 +28,15 @@
- #
- if sys.version_info[0] == 2:
-     configPath = "./config/\xe4\xb8\xad\xe5\x9b\xbd_client.config".decode("utf-8")
--    TestUtil.createConfig(configPath, 
-+    TestUtil.createConfig(configPath.encode("utf-8"), 
-                           ["# Automatically generated by Ice test driver.", 
-                            "Ice.Trace.Protocol=1",
-                            "Ice.Trace.Network=1", 
-                            "Ice.ProgramName=PropertiesClient", 
--                           "Config.Path=./config/中国_client.config"])
-+                           "Config.Path=" + configPath.encode("utf-8")])
- else:
-     configPath = "./config/\u4e2d\u56fd_client.config"
--    TestUtil.createConfig(configPath, 
-+    TestUtil.createConfig(configPath.encode("utf-8"), 
-                           ["# Automatically generated by Ice test driver.", 
-                            "Ice.Trace.Protocol=1",
-                            "Ice.Trace.Network=1", 
-@@ -46,5 +46,5 @@
- 
- TestUtil.simpleTest(client)
- 
--if os.path.exists(configPath):
--    os.remove(configPath)
-+if os.path.exists(configPath.encode("utf-8")):
-+    os.remove(configPath.encode("utf-8"))
diff -ruN devel/ice.orig/files/patch-php-Makefile devel/ice/files/patch-php-Makefile
--- devel/ice.orig/files/patch-php-Makefile	1970-01-01 01:00:00.000000000 +0100
+++ devel/ice/files/patch-php-Makefile	2013-12-01 22:21:04.000000000 +0100
@@ -0,0 +1,11 @@
+--- 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)
+ 
+-install:: install-common
++install::
+ 	@for subdir in $(INSTALL_SUBDIRS); \
+ 	do \
+ 	    if test ! -d $(DESTDIR)$$subdir ; \
diff -ruN devel/ice.orig/files/patch-php-config-Make.rules.php devel/ice/files/patch-php-config-Make.rules.php
--- devel/ice.orig/files/patch-php-config-Make.rules.php	1970-01-01 01:00:00.000000000 +0100
+++ devel/ice/files/patch-php-config-Make.rules.php	2013-12-01 22:26:14.000000000 +0100
@@ -0,0 +1,23 @@
+--- php/config/Make.rules.php.orig	2013-03-11 15:19:47.000000000 +0000
++++ php/config/Make.rules.php	2013-06-02 14:36:13.744196194 +0000
+@@ -100,8 +100,8 @@
+ endif
+ 
+ libdir			= $(top_srcdir)/lib
+ ifneq ($(prefix), /usr)
+-install_phpdir      = $(prefix)/php
+-install_libdir      = $(prefix)/php
++install_phpdir		= $(prefix)/share/pear
++install_libdir		= $(prefix)/lib/php/$(PHP_EXT_DIR)
+ else
+
+@@ -155,7 +155,8 @@
+ endif
+ 
+ ifeq ($(installphplib),)
+-    installphplib	= $(INSTALL) $(1) $(2); \
++    installphplib	= mkdir -p $(2) ; \
++			  $(INSTALL) $(1) $(2); \
+ 			  chmod a+rx $(2)/$(notdir $(1))
+ endif
+ 
diff -ruN devel/ice.orig/files/patch-php-lib-Makefile devel/ice/files/patch-php-lib-Makefile
--- devel/ice.orig/files/patch-php-lib-Makefile	1970-01-01 01:00:00.000000000 +0100
+++ devel/ice/files/patch-php-lib-Makefile	2013-12-01 22:27:27.000000000 +0100
@@ -0,0 +1,12 @@
+--- php/lib/Makefile.orig	2013-06-02 12:11:06.451195440 +0000
++++ php/lib/Makefile	2013-06-02 12:16:29.249191742 +0000
+@@ -167,7 +167,8 @@
+ 	@echo "Installing generated code"
+ 	@for i in $(MODULES) ; \
+ 	do \
+-	    $(INSTALL_DATA) -r $$i $(DESTDIR)$(install_phpdir) ; \
++	    mkdir -p $(DESTDIR)$(install_phpdir)/$$i ; \
++	    $(INSTALL_DATA) $$i/*.php $(DESTDIR)$(install_phpdir)/$$i ; \
+ 	done
+ 	@for i in $(MODULE_SRCS) ; \
+ 	do \
diff -ruN devel/ice.orig/files/patch-py-Makefile devel/ice/files/patch-py-Makefile
--- devel/ice.orig/files/patch-py-Makefile	1970-01-01 01:00:00.000000000 +0100
+++ devel/ice/files/patch-py-Makefile	2013-12-01 17:37:43.000000000 +0100
@@ -0,0 +1,11 @@
+--- py/Makefile.orig	2013-10-04 15:48:15.000000000 +0000
++++ py/Makefile	2013-12-01 16:37:09.381657035 +0000
+@@ -15,7 +15,7 @@
+ 
+ INSTALL_SUBDIRS = $(install_pythondir) $(install_libdir)
+ 
+-install:: install-common
++install::
+ 	@for subdir in $(INSTALL_SUBDIRS); \
+ 	do \
+ 	    if test ! -d $(DESTDIR)$$subdir ; \
diff -ruN devel/ice.orig/files/patch-py-config-Make.rules devel/ice/files/patch-py-config-Make.rules
--- devel/ice.orig/files/patch-py-config-Make.rules	1970-01-01 01:00:00.000000000 +0100
+++ devel/ice/files/patch-py-config-Make.rules	2013-12-01 19:36:54.000000000 +0100
@@ -0,0 +1,41 @@
+--- py/config/Make.rules.orig	2013-03-11 15:19:47.000000000 +0000
++++ py/config/Make.rules	2013-05-20 14:21:13.335195726 +0000
+@@ -12,7 +12,8 @@
+ # if it does not exist.
+ #
+ 
+-prefix			?= /opt/Ice-$(VERSION)
++ICE_HOME		= %%LOCALBASE%%
++prefix			?= %%PREFIX%%
+ 
+ #
+ # The "root directory" for runpath embedded in executables. Can be unset
+@@ -96,8 +97,8 @@
+ 
+ libdir                  = $(top_srcdir)/python
+ ifneq ($(prefix), /usr)
+-install_pythondir       = $(prefix)/python
+-install_libdir          = $(prefix)/python
++install_pythondir       = %%PYTHON_SITELIBDIR%%/Ice
++install_libdir          = %%PYTHON_SITELIBDIR%%/Ice
+ else
+     ifeq ($(shell test -d $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/dist-packages && echo 0),0)
+         install_pythondir       = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/dist-packages
+@@ -128,7 +129,7 @@
+     ICE_LIB_DIR = -L$(ice_dir)/$(libsubdir)
+     ICE_FLAGS	= -I$(ice_dir)/include
+ endif
+-ICE_LIBS = $(ICE_LIB_DIR) -lIce -lSlice -lIceUtil
++ICE_LIBS = $(ICE_LIB_DIR) -lIce -lSlice -lIceUtil %%ICONV_LIB%%
+ 
+ ifneq ($(embedded_runpath_prefix),)
+    runpath_libdir	:= $(embedded_runpath_prefix)/$(libsubdir)
+@@ -167,7 +167,7 @@
+ 
+ all:: $(SRCS)
+ 
+-%_ice.py: $(slicedir)/%.ice
++%_ice.py: $(ICE_HOME)/%.ice
+ 	rm -f $(*F).py
+ 	$(SLICE2PY) $(SLICE2PYFLAGS) $<
+ 
diff -ruN devel/ice.orig/files/patch-py-python-Makefile devel/ice/files/patch-py-python-Makefile
--- devel/ice.orig/files/patch-py-python-Makefile	1970-01-01 01:00:00.000000000 +0100
+++ devel/ice/files/patch-py-python-Makefile	2013-12-01 13:59:14.000000000 +0100
@@ -0,0 +1,16 @@
+--- py/python/Makefile.orig	2010-07-11 13:05:38.000000000 +1000
++++ py/python/Makefile	2012-09-11 00:09:09.000000000 +2000
+@@ -118,10 +118,11 @@
+ 
+ install:: $(ALL_SRCS)
+ 	@echo "Installing generated code"
+-	$(INSTALL_DATA) *.py $(DESTDIR)$(install_pythondir)
++	$(INSTALL_DATA) *.py* $(DESTDIR)$(install_pythondir)
+ 	@for i in $(PACKAGES) ; \
+ 	do \
+-	    $(INSTALL_DATA) -r $$i $(DESTDIR)$(install_pythondir) ; \
++	    mkdir -p $(DESTDIR)$(install_pythondir)/$$i ; \
++	    $(INSTALL_DATA) $$i/*.py* $(DESTDIR)$(install_pythondir)/$$i ; \
+ 	done
+ 
+ depend::  $(ICE_SLICE) $(GLACIER2_SLICE) $(ICEBOX_SLICE) $(ICEGRID_SLICE) $(ICEPATCH2_SLICE) $(ICESTORM_SLICE)
diff -ruN devel/ice.orig/files/patch-py-test-Ice-info-AllTests.py devel/ice/files/patch-py-test-Ice-info-AllTests.py
--- devel/ice.orig/files/patch-py-test-Ice-info-AllTests.py	1970-01-01 01:00:00.000000000 +0100
+++ devel/ice/files/patch-py-test-Ice-info-AllTests.py	2013-12-01 13:21:41.000000000 +0100
@@ -0,0 +1,79 @@
+--- py/test/Ice/info/AllTests.py.orig	2013-03-11 15:19:47.000000000 +0000
++++ py/test/Ice/info/AllTests.py	2013-05-20 14:25:56.860196743 +0000
+@@ -7,12 +7,31 @@
+ #
+ # **********************************************************************
+ 
+-import Ice, Test, sys, threading
++import Ice, Test, sys, threading, subprocess
+ 
+ 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 "+key, shell=1, stdout=subprocess.PIPE)
++    try:
++        result = p.communicate()[0].strip().split()[1]
++    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 allTests(communicator, collocated):
+     sys.stdout.write("testing proxy endpoint information... ")
+     sys.stdout.flush()
+@@ -67,12 +86,12 @@
+ 
+     ipEndpoint = endpoints[0].getInfo()
+     test(ipEndpoint.type() == Ice.TCPEndpointType or ipEndpoint.type() == 2)
+-    test(ipEndpoint.host == defaultHost)
++    test(ipEndpoint.host == defaultHost or isFreeBSDJail())
+     test(ipEndpoint.port > 0)
+     test(ipEndpoint.timeout == 15000)
+ 
+     udpEndpoint = endpoints[1].getInfo()
+-    test(udpEndpoint.host == defaultHost)
++    test(udpEndpoint.host == defaultHost or isFreeBSDJail())
+     test(udpEndpoint.datagram())
+     test(udpEndpoint.port > 0)
+ 
+@@ -108,7 +127,7 @@
+     ipinfo = base.ice_getConnection().getEndpoint().getInfo()
+     test(ipinfo.port == 12010)
+     test(not ipinfo.compress)
+-    test(ipinfo.host == defaultHost)
++    test(ipinfo.host == defaultHost or isFreeBSDJail())
+ 
+     ctx = testIntf.getEndpointInfoAsContext()
+     test(ctx["host"] == ipinfo.host)
+@@ -118,7 +137,7 @@
+ 
+     udp = base.ice_datagram().ice_getConnection().getEndpoint().getInfo()
+     test(udp.port == 12010)
+-    test(udp.host == defaultHost)
++    test(udp.host == defaultHost or isFreeBSDJail())
+ 
+     print("ok")
+ 
+@@ -129,8 +148,8 @@
+     test(not info.incoming)
+     test(len(info.adapterName) == 0)
+     test(info.remotePort == 12010)
+-    test(info.remoteAddress == defaultHost)
+-    test(info.localAddress == defaultHost)
++    test(info.remoteAddress == defaultHost or isFreeBSDJail())
++    test(info.localAddress == defaultHost or isFreeBSDJail())
+ 
+     ctx = testIntf.getConnectionInfoAsContext()
+     test(ctx["incoming"] == "true")
diff -ruN devel/ice.orig/pkg-plist devel/ice/pkg-plist
--- devel/ice.orig/pkg-plist	2013-06-17 13:42:41.000000000 +0200
+++ devel/ice/pkg-plist	2013-12-01 01:01:58.000000000 +0100
@@ -108,6 +108,8 @@
 include/Ice/MetricsAdminI.h
 include/Ice/MetricsFunctional.h
 include/Ice/MetricsObserverI.h
+include/Ice/NativePropertiesAdmin.h
+include/Ice/NetworkF.h
 include/Ice/Object.h
 include/Ice/ObjectAdapter.h
 include/Ice/ObjectAdapterF.h
@@ -230,50 +232,74 @@
 include/Slice/Util.h
 lib/ImportKey.class
 lib/libFreeze.so
-lib/libFreeze.so.3.5.0
+lib/libFreeze.so.3.5.1
 lib/libFreeze.so.35
 lib/libGlacier2.so
-lib/libGlacier2.so.3.5.0
+lib/libGlacier2.so.3.5.1
 lib/libGlacier2.so.35
 lib/libIce.so
-lib/libIce.so.3.5.0
+lib/libIce.so.3.5.1
 lib/libIce.so.35
 lib/libIceBox.so
-lib/libIceBox.so.3.5.0
+lib/libIceBox.so.3.5.1
 lib/libIceBox.so.35
 lib/libIceDB.so
-lib/libIceDB.so.3.5.0
+lib/libIceDB.so.3.5.1
 lib/libIceDB.so.35
 lib/libIceGrid.so
-lib/libIceGrid.so.3.5.0
+lib/libIceGrid.so.3.5.1
 lib/libIceGrid.so.35
 lib/libIceGridFreezeDB.so
-lib/libIceGridFreezeDB.so.3.5.0
+lib/libIceGridFreezeDB.so.3.5.1
 lib/libIceGridFreezeDB.so.35
 lib/libIcePatch2.so
-lib/libIcePatch2.so.3.5.0
+lib/libIcePatch2.so.3.5.1
 lib/libIcePatch2.so.35
 lib/libIceSSL.so
-lib/libIceSSL.so.3.5.0
+lib/libIceSSL.so.3.5.1
 lib/libIceSSL.so.35
 lib/libIceStorm.so
-lib/libIceStorm.so.3.5.0
+lib/libIceStorm.so.3.5.1
 lib/libIceStorm.so.35
 lib/libIceStormFreezeDB.so
-lib/libIceStormFreezeDB.so.3.5.0
+lib/libIceStormFreezeDB.so.3.5.1
 lib/libIceStormFreezeDB.so.35
 lib/libIceStormService.so
-lib/libIceStormService.so.3.5.0
+lib/libIceStormService.so.3.5.1
 lib/libIceStormService.so.35
 lib/libIceUtil.so
-lib/libIceUtil.so.3.5.0
+lib/libIceUtil.so.3.5.1
 lib/libIceUtil.so.35
 lib/libIceXML.so
-lib/libIceXML.so.3.5.0
+lib/libIceXML.so.3.5.1
 lib/libIceXML.so.35
 lib/libSlice.so
-lib/libSlice.so.3.5.0
+lib/libSlice.so.3.5.1
 lib/libSlice.so.35
+man/man1/dumpdb.1.gz
+man/man1/glacier2router.1.gz
+man/man1/icebox.1.gz
+man/man1/iceboxadmin.1.gz
+man/man1/iceca.1.gz
+man/man1/icegridadmin.1.gz
+man/man1/icegridnode.1.gz
+man/man1/icegridregistry.1.gz
+man/man1/icepatch2calc.1.gz
+man/man1/icepatch2client.1.gz
+man/man1/icepatch2server.1.gz
+man/man1/icestormadmin.1.gz
+man/man1/icestormmigrate.1.gz
+man/man1/slice2cpp.1.gz
+man/man1/slice2cs.1.gz
+man/man1/slice2freeze.1.gz
+man/man1/slice2freezej.1.gz
+man/man1/slice2html.1.gz
+man/man1/slice2java.1.gz
+man/man1/slice2php.1.gz
+man/man1/slice2py.1.gz
+man/man1/slice2rb.1.gz
+man/man1/transformdb.1.gz
+%%DATADIR%%/CHANGES
 %%DATADIR%%/Freeze/BackgroundSaveEvictor.ice
 %%DATADIR%%/Freeze/CatalogData.ice
 %%DATADIR%%/Freeze/Connection.ice
@@ -322,6 +348,7 @@
 %%DATADIR%%/Ice/PluginF.ice
 %%DATADIR%%/Ice/Process.ice
 %%DATADIR%%/Ice/ProcessF.ice
+%%DATADIR%%/Ice/PropertiesAdmin.ice
 %%DATADIR%%/Ice/Properties.ice
 %%DATADIR%%/Ice/PropertiesF.ice
 %%DATADIR%%/Ice/Router.ice
@@ -350,6 +377,7 @@
 %%DATADIR%%/IceStorm/IceStorm.ice
 %%DATADIR%%/IceStorm/Metrics.ice
 %%DATADIR%%/LICENSE
+%%DATADIR%%/RELEASE_NOTES
 %%DATADIR%%/config/convertssl.py
 %%DATADIR%%/config/icegrid-slice.3.1.ice.gz
 %%DATADIR%%/config/icegrid-slice.3.2.ice.gz
diff -ruN devel/php5-ice.orig/Makefile devel/php5-ice/Makefile
--- devel/php5-ice.orig/Makefile	2013-09-20 19:13:42.000000000 +0200
+++ devel/php5-ice/Makefile	2013-12-02 19:34:12.000000000 +0100
@@ -1,10 +1,7 @@
 # Created by: DIrk Ye <dirk.ye@gmail.com>
 # $FreeBSD: devel/php5-ice/Makefile 327724 2013-09-20 17:13:42Z bapt $
 
-PORTNAME=	Ice
-PORTVERSION=	3.5.0
 CATEGORIES=	devel
-MASTER_SITES=	http://download.zeroc.com/Ice/3.5/
 PKGNAMEPREFIX=	php5-
 
 MAINTAINER=	freebsd@grem.de
@@ -12,15 +9,21 @@
 
 LICENSE=	GPLv2
 
-BUILD_DEPENDS=	mcpp:${PORTSDIR}/devel/mcpp
+BUILD_DEPENDS=	mcpp:${PORTSDIR}/devel/mcpp \
+		slice2php:${PORTSDIR}/devel/ice
 LIB_DEPENDS=	Ice.${LIB_VRS}:${PORTSDIR}/devel/ice
 
 OPTIONS_DEFINE=	DEBUG DOCS NAMESPACES
+OPTIONS_DEFAULT=
 NAMESPACES_DESC=	Use PHP namespaces (recommended)
 
 USE_GMAKE=	yes
-MAKE_ARGS+=	PHP_EXT_DIR=${PHP_EXT_DIR} ICE_HOME=${PREFIX} \
-		PHP_HOME=${PREFIX} OPTIMIZE=yes
+SLAVE_PORT=	yes
+MASTERDIR=	${.CURDIR}/../ice
+PLIST=		${.CURDIR}/pkg-plist
+
+MAKE_ARGS+=	PHP_EXT_DIR=${PHP_EXT_DIR} ICE_HOME=${LOCALBASE} \
+		PHP_HOME=${LOCALBASE} OPTIMIZE=yes
 USE_PHP=	yes
 USE_PHP_BUILD=	yes
 DEFAULT_PHP_VER=5
@@ -31,53 +34,8 @@
 LIB_VRS=	${PORTVERSION:S|.||g:C|0$||}
 PHP_MODNAME?=	IcePHP
 
-NO_STAGE=	yes
-.include <bsd.port.options.mk>
-
-CFLAGS+=	-ftemplate-depth-128 -fPIC -DPIC -Wall -D_REENTRANT
-.if ${PORT_OPTIONS:MDEBUG}
-CFLAGS+=	-g
-.else
-CFLAGS+=	-DNDEBUG
-.endif
-
-.if ${ARCH} == "ia64"
-BROKEN=		does not compile on ia64
-.endif
-
-.if ((${ARCH} != i386) && (${ARCH} != powerpc))
-MAKE_ENV=	LP64=yes
-.endif
-
-.if ${PORT_OPTIONS:MNAMESPACES}
-MAKE_ARGS+=	USE_NAMESPACES=yes
-PLIST_SUB+=	NAMESPACES=""
-PLIST_SUB+=	NONAMESPACES="@comment "
-.else
-PLIST_SUB+=	NAMESPACES="@comment "
-PLIST_SUB+=	NONAMESPACES=""
-.endif
-
-.if empty(PORT_OPTIONS:MDOCS)
-MAKE_ENV+=	NOPORTDOCS=yes
-.endif
-
-post-patch:
-	@${SED} 's|%%PREFIX%%|${PREFIX}|g; \
-		s|%%DATADIR%%|${DATADIR}|g; \
-		s|%%DOCSDIR%%|${DOCSDIR}|g; \
-		s|%%INSTALL_PROGRAM%%|${INSTALL_PROGRAM}|g; \
-		s|%%INSTALL_DATA%%|${INSTALL_DATA}|g' \
-		${FILESDIR}/Make.rules.FreeBSD > ${WRKSRC}/cpp/config/Make.rules.FreeBSD
-	@${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
-
 post-install:
-	@${MKDIR} ${PREFIX}/etc/php
-	@${ECHO_CMD} extension=${PHP_MODNAME}.so \
-		>> ${PREFIX}/etc/php/extensions.ini
+	@${MKDIR} ${STAGEDIR}${PREFIX}/etc/php
 
 add-plist-info:
 	@${ECHO_CMD} "@exec mkdir -p %D/etc/php" \
@@ -105,4 +63,4 @@
 	@${ECHO_CMD} ""
 	@${ECHO_CMD} "****************************************************************************"
 
-.include <bsd.port.mk>
+.include "${MASTERDIR}/Makefile"
diff -ruN devel/php5-ice.orig/distinfo devel/php5-ice/distinfo
--- devel/php5-ice.orig/distinfo	2013-06-17 13:49:32.000000000 +0200
+++ devel/php5-ice/distinfo	1970-01-01 01:00:00.000000000 +0100
@@ -1,2 +0,0 @@
-SHA256 (Ice-3.5.0.tar.gz) = bbde6b5a87f5abc8d9105468731f1419829bc22b5d23b8fdef553967a2eebdb0
-SIZE (Ice-3.5.0.tar.gz) = 4790555
diff -ruN devel/php5-ice.orig/files/Make.rules.FreeBSD devel/php5-ice/files/Make.rules.FreeBSD
--- devel/php5-ice.orig/files/Make.rules.FreeBSD	2013-06-17 13:49:32.000000000 +0200
+++ devel/php5-ice/files/Make.rules.FreeBSD	1970-01-01 01:00:00.000000000 +0100
@@ -1,21 +0,0 @@
-mkshlib                 = $(CXX) -shared $(LDFLAGS) -o $(1) -Wl,-h,$(2) $(3) $(4)
-
-BASELIBS		= -lIceUtil -pthread -L$(LOCALBASE)/lib -liconv
-LIBS			= -lIce $(BASELIBS) 
-
-ICEUTIL_OS_LIBS         = -pthread
-
-PLATFORM_HAS_READLINE   := yes
-
-export LD_LIBRARY_PATH	:= $(libdir):$(LD_LIBRARY_PATH)
-
-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)
diff -ruN devel/php5-ice.orig/files/patch-config_Make.common.rules devel/php5-ice/files/patch-config_Make.common.rules
--- devel/php5-ice.orig/files/patch-config_Make.common.rules	2013-06-17 13:49:32.000000000 +0200
+++ devel/php5-ice/files/patch-config_Make.common.rules	1970-01-01 01:00:00.000000000 +0100
@@ -1,16 +0,0 @@
---- ./config/Make.common.rules.orig	2013-06-05 13:13:29.000000000 +0400
-+++ ./config/Make.common.rules	2013-06-17 09:45:21.000000000 +0400
-@@ -385,13 +385,3 @@
- 	        cp -fpr $$subdir $(install_slicedir) ; \
- 	    done ; \
- 	    fi
--
--	@if test ! -f $(prefix)/ICE_LICENSE$(TEXT_EXTENSION) ; \
--	then \
--	    $(call installdata,$(top_srcdir)/../ICE_LICENSE$(TEXT_EXTENSION),$(prefix)) ; \
--	fi
--
--	@if test ! -f $(prefix)/LICENSE$(TEXT_EXTENSION) ; \
--	then \
--	    $(call installdata,$(top_srcdir)/../LICENSE$(TEXT_EXTENSION),$(prefix)) ; \
--	fi
diff -ruN devel/php5-ice.orig/files/patch-cpp-config-Make.rules devel/php5-ice/files/patch-cpp-config-Make.rules
--- devel/php5-ice.orig/files/patch-cpp-config-Make.rules	2013-06-17 13:49:32.000000000 +0200
+++ devel/php5-ice/files/patch-cpp-config-Make.rules	1970-01-01 01:00:00.000000000 +0100
@@ -1,13 +0,0 @@
---- cpp.orig/config/Make.rules	Fri Mar 11 16:19:00 2013
-+++ cpp/config/Make.rules	Fri May 19 22:00:09 2013
-@@ -233,7 +233,9 @@
-           DB_FLAGS          = -I/usr/local/include/db53
-           DB_LIBS           = -L/usr/local/$(libsubdir)/db53 -ldb_cxx
-       else
--        DB_LIBS      = -ldb_cxx
-+        DB_FLAGS          = -I%%BDB_INCLUDE_DIR%%
-+        DB_LIBS           = -L%%BDB_LIB_DIR%% -l%%BDB_LIB_CXX_NAME%%
-+        DB_RPATH_LINK     = $(call rpathlink,%%BDB_LIB_DIR%%)
-       endif
-    endif
- endif
diff -ruN devel/php5-ice.orig/files/patch-php-config-Make.rules.php devel/php5-ice/files/patch-php-config-Make.rules.php
--- devel/php5-ice.orig/files/patch-php-config-Make.rules.php	2013-06-17 13:49:32.000000000 +0200
+++ devel/php5-ice/files/patch-php-config-Make.rules.php	1970-01-01 01:00:00.000000000 +0100
@@ -1,23 +0,0 @@
---- php/config/Make.rules.php.orig	2013-03-11 15:19:47.000000000 +0000
-+++ php/config/Make.rules.php	2013-06-02 14:36:13.744196194 +0000
-@@ -100,8 +100,8 @@
- endif
- 
- libdir			= $(top_srcdir)/lib
--install_phpdir		= $(prefix)/php
--install_libdir		= $(prefix)/php
-+install_phpdir		= $(prefix)/share/pear
-+install_libdir		= $(prefix)/lib/php/$(PHP_EXT_DIR)
- 
- #
- # Platform specific definitions
-@@ -155,7 +155,8 @@
- endif
- 
- ifeq ($(installphplib),)
--    installphplib	= $(INSTALL) $(1) $(2); \
-+    installphplib	= mkdir -p $(2) ; \
-+			  $(INSTALL) $(1) $(2); \
- 			  chmod a+rx $(2)/$(notdir $(1))
- endif
- 
diff -ruN devel/php5-ice.orig/files/patch-php-lib-Makefile devel/php5-ice/files/patch-php-lib-Makefile
--- devel/php5-ice.orig/files/patch-php-lib-Makefile	2013-06-17 13:49:32.000000000 +0200
+++ devel/php5-ice/files/patch-php-lib-Makefile	1970-01-01 01:00:00.000000000 +0100
@@ -1,12 +0,0 @@
---- php/lib/Makefile.orig	2013-06-02 12:11:06.451195440 +0000
-+++ php/lib/Makefile	2013-06-02 12:16:29.249191742 +0000
-@@ -167,7 +167,8 @@
- 	@echo "Installing generated code"
- 	@for i in $(MODULES) ; \
- 	do \
--	    $(INSTALL_DATA) -r $$i $(install_phpdir) ; \
-+	    mkdir -p $(install_phpdir)/$$i ; \
-+	    $(INSTALL_DATA) $$i/*.php $(install_phpdir)/$$i ; \
- 	done
- 	@for i in $(MODULE_SRCS) ; \
- 	do \
diff -ruN devel/php5-ice.orig/files/patch-php-src-IcePHP-Communicator.cpp devel/php5-ice/files/patch-php-src-IcePHP-Communicator.cpp
--- devel/php5-ice.orig/files/patch-php-src-IcePHP-Communicator.cpp	2013-06-17 13:49:32.000000000 +0200
+++ devel/php5-ice/files/patch-php-src-IcePHP-Communicator.cpp	1970-01-01 01:00:00.000000000 +0100
@@ -1,11 +0,0 @@
---- php/src/IcePHP/Communicator.cpp.orig	2013-06-02 11:48:21.990197196 +0000
-+++ php/src/IcePHP/Communicator.cpp	2013-06-02 11:48:29.692195174 +0000
-@@ -1341,7 +1341,7 @@
-     //
-     zend_class_entry ce;
- #ifdef ICEPHP_USE_NAMESPACES
--    INIT_NS_CLASS_ENTRY(ce, STRCAST("Ice"), STRCAST("Communicator"), _interfaceMethods);
-+    INIT_NS_CLASS_ENTRY(ce, "Ice", "Communicator", _interfaceMethods);
- #else
-     INIT_CLASS_ENTRY(ce, "Ice_Communicator", _interfaceMethods);
- #endif
diff -ruN devel/php5-ice.orig/files/patch-php-src-IcePHP-Connection.cpp devel/php5-ice/files/patch-php-src-IcePHP-Connection.cpp
--- devel/php5-ice.orig/files/patch-php-src-IcePHP-Connection.cpp	2013-06-17 13:49:32.000000000 +0200
+++ devel/php5-ice/files/patch-php-src-IcePHP-Connection.cpp	1970-01-01 01:00:00.000000000 +0100
@@ -1,47 +0,0 @@
---- php/src/IcePHP/Connection.cpp.orig	2013-06-02 11:48:58.022196354 +0000
-+++ php/src/IcePHP/Connection.cpp	2013-06-02 11:50:59.494195380 +0000
-@@ -360,7 +360,7 @@
-     //
-     zend_class_entry ce;
- #ifdef ICEPHP_USE_NAMESPACES
--    INIT_NS_CLASS_ENTRY(ce, STRCAST("Ice"), STRCAST("Connection"), _interfaceMethods);
-+    INIT_NS_CLASS_ENTRY(ce, "Ice", "Connection", _interfaceMethods);
- #else
-     INIT_CLASS_ENTRY(ce, "Ice_Connection", _interfaceMethods);
- #endif
-@@ -380,7 +380,7 @@
-     // Register the ConnectionInfo class.
-     //
- #ifdef ICEPHP_USE_NAMESPACES
--    INIT_NS_CLASS_ENTRY(ce, STRCAST("Ice"), STRCAST("ConnectionInfo"), _connectionInfoClassMethods);
-+    INIT_NS_CLASS_ENTRY(ce, "Ice", "ConnectionInfo", _connectionInfoClassMethods);
- #else
-     INIT_CLASS_ENTRY(ce, "Ice_ConnectionInfo", _connectionInfoClassMethods);
- #endif
-@@ -396,7 +396,7 @@
-     // Register the IPConnectionInfo class.
-     //
- #ifdef ICEPHP_USE_NAMESPACES
--    INIT_NS_CLASS_ENTRY(ce, STRCAST("Ice"), STRCAST("IPConnectionInfo"), NULL);
-+    INIT_NS_CLASS_ENTRY(ce, "Ice", "IPConnectionInfo", NULL);
- #else
-     INIT_CLASS_ENTRY(ce, "Ice_IPConnectionInfo", NULL);
- #endif
-@@ -415,7 +415,7 @@
-     // Register the TCPConnectionInfo class.
-     //
- #ifdef ICEPHP_USE_NAMESPACES
--    INIT_NS_CLASS_ENTRY(ce, STRCAST("Ice"), STRCAST("TCPConnectionInfo"), NULL);
-+    INIT_NS_CLASS_ENTRY(ce, "Ice", "TCPConnectionInfo", NULL);
- #else
-     INIT_CLASS_ENTRY(ce, "Ice_TCPConnectionInfo", NULL);
- #endif
-@@ -426,7 +426,7 @@
-     // Register the UDPConnectionInfo class.
-     //
- #ifdef ICEPHP_USE_NAMESPACES
--    INIT_NS_CLASS_ENTRY(ce, STRCAST("Ice"), STRCAST("UDPConnectionInfo"), NULL);
-+    INIT_NS_CLASS_ENTRY(ce, "Ice", "UDPConnectionInfo", NULL);
- #else
-     INIT_CLASS_ENTRY(ce, "Ice_UDPConnectionInfo", NULL);
- #endif
diff -ruN devel/php5-ice.orig/files/patch-php-src-IcePHP-Endpoint.cpp devel/php5-ice/files/patch-php-src-IcePHP-Endpoint.cpp
--- devel/php5-ice.orig/files/patch-php-src-IcePHP-Endpoint.cpp	2013-06-17 13:49:32.000000000 +0200
+++ devel/php5-ice/files/patch-php-src-IcePHP-Endpoint.cpp	1970-01-01 01:00:00.000000000 +0100
@@ -1,56 +0,0 @@
---- php/src/IcePHP/Endpoint.cpp.orig	2013-06-02 11:51:19.569193334 +0000
-+++ php/src/IcePHP/Endpoint.cpp	2013-06-02 11:52:06.348197336 +0000
-@@ -274,7 +274,7 @@
-     //
-     zend_class_entry ce;
- #ifdef ICEPHP_USE_NAMESPACES
--    INIT_NS_CLASS_ENTRY(ce, STRCAST("Ice"), STRCAST("Endpoint"), _interfaceMethods);
-+    INIT_NS_CLASS_ENTRY(ce, "Ice", "Endpoint", _interfaceMethods);
- #else
-     INIT_CLASS_ENTRY(ce, "Ice_Endpoint", _interfaceMethods);
- #endif
-@@ -293,7 +293,7 @@
-     // Register the EndpointInfo class.
-     //
- #ifdef ICEPHP_USE_NAMESPACES
--    INIT_NS_CLASS_ENTRY(ce, STRCAST("Ice"), STRCAST("EndpointInfo"), _endpointInfoMethods);
-+    INIT_NS_CLASS_ENTRY(ce, "Ice", "EndpointInfo", _endpointInfoMethods);
- #else
-     INIT_CLASS_ENTRY(ce, "Ice_EndpointInfo", _endpointInfoMethods);
- #endif
-@@ -309,7 +309,7 @@
-     // Register the IPEndpointInfo class.
-     //
- #ifdef ICEPHP_USE_NAMESPACES
--    INIT_NS_CLASS_ENTRY(ce, STRCAST("Ice"), STRCAST("IPEndpointInfo"), NULL);
-+    INIT_NS_CLASS_ENTRY(ce, "Ice", "IPEndpointInfo", NULL);
- #else
-     INIT_CLASS_ENTRY(ce, "Ice_IPEndpointInfo", NULL);
- #endif
-@@ -324,7 +324,7 @@
-     // Register the TCPEndpointInfo class.
-     //
- #ifdef ICEPHP_USE_NAMESPACES
--    INIT_NS_CLASS_ENTRY(ce, STRCAST("Ice"), STRCAST("TCPEndpointInfo"), NULL);
-+    INIT_NS_CLASS_ENTRY(ce, "Ice", "TCPEndpointInfo", NULL);
- #else
-     INIT_CLASS_ENTRY(ce, "Ice_TCPEndpointInfo", NULL);
- #endif
-@@ -335,7 +335,7 @@
-     // Register the UDPEndpointInfo class.
-     //
- #ifdef ICEPHP_USE_NAMESPACES
--    INIT_NS_CLASS_ENTRY(ce, STRCAST("Ice"), STRCAST("UDPEndpointInfo"), NULL);
-+    INIT_NS_CLASS_ENTRY(ce, "Ice", "UDPEndpointInfo", NULL);
- #else
-     INIT_CLASS_ENTRY(ce, "Ice_UDPEndpointInfo", NULL);
- #endif
-@@ -350,7 +350,7 @@
-     // Register the OpaqueEndpointInfo class.
-     //
- #ifdef ICEPHP_USE_NAMESPACES
--    INIT_NS_CLASS_ENTRY(ce, STRCAST("Ice"), STRCAST("OpaqueEndpointInfo"), NULL);
-+    INIT_NS_CLASS_ENTRY(ce, "Ice", "OpaqueEndpointInfo", NULL);
- #else
-     INIT_CLASS_ENTRY(ce, "Ice_OpaqueEndpointInfo", NULL);
- #endif
diff -ruN devel/php5-ice.orig/files/patch-php-src-IcePHP-Init.cpp devel/php5-ice/files/patch-php-src-IcePHP-Init.cpp
--- devel/php5-ice.orig/files/patch-php-src-IcePHP-Init.cpp	2013-06-17 13:49:32.000000000 +0200
+++ devel/php5-ice/files/patch-php-src-IcePHP-Init.cpp	1970-01-01 01:00:00.000000000 +0100
@@ -1,15 +0,0 @@
---- php/src/IcePHP/Init.cpp.orig	2013-03-11 15:19:47.000000000 +0000
-+++ php/src/IcePHP/Init.cpp	2013-06-02 11:44:16.052196522 +0000
-@@ -22,10 +22,10 @@
- 
- ZEND_DECLARE_MODULE_GLOBALS(ice)
- 
--ZEND_BEGIN_ARG_INFO(Ice_initialize_arginfo, 1)
-+ZEND_BEGIN_ARG_INFO_EX(Ice_initialize_arginfo, 1, ZEND_RETURN_VALUE, static_cast<zend_uint>(-1))
- ZEND_END_ARG_INFO()
- 
--ZEND_BEGIN_ARG_INFO(Ice_createProperties_arginfo, 1)
-+ZEND_BEGIN_ARG_INFO_EX(Ice_createProperties_arginfo, 1, ZEND_RETURN_VALUE, static_cast<zend_uint>(-1))
- ZEND_END_ARG_INFO()
- 
- #define ICEPHP_COMMUNICATOR_FUNCTIONS \
diff -ruN devel/php5-ice.orig/files/patch-php-src-IcePHP-Logger.cpp devel/php5-ice/files/patch-php-src-IcePHP-Logger.cpp
--- devel/php5-ice.orig/files/patch-php-src-IcePHP-Logger.cpp	2013-06-17 13:49:32.000000000 +0200
+++ devel/php5-ice/files/patch-php-src-IcePHP-Logger.cpp	1970-01-01 01:00:00.000000000 +0100
@@ -1,11 +0,0 @@
---- php/src/IcePHP/Logger.cpp.orig	2013-06-02 11:52:25.727195546 +0000
-+++ php/src/IcePHP/Logger.cpp	2013-06-02 11:52:39.876195038 +0000
-@@ -269,7 +269,7 @@
-     //
-     zend_class_entry ce;
- #ifdef ICEPHP_USE_NAMESPACES
--    INIT_NS_CLASS_ENTRY(ce, STRCAST("Ice"), STRCAST("Logger"), _interfaceMethods);
-+    INIT_NS_CLASS_ENTRY(ce, "Ice", "Logger", _interfaceMethods);
- #else
-     INIT_CLASS_ENTRY(ce, "Ice_Logger", _interfaceMethods);
- #endif
diff -ruN devel/php5-ice.orig/files/patch-php-src-IcePHP-Properties.cpp devel/php5-ice/files/patch-php-src-IcePHP-Properties.cpp
--- devel/php5-ice.orig/files/patch-php-src-IcePHP-Properties.cpp	2013-06-17 13:49:32.000000000 +0200
+++ devel/php5-ice/files/patch-php-src-IcePHP-Properties.cpp	1970-01-01 01:00:00.000000000 +0100
@@ -1,11 +0,0 @@
---- php/src/IcePHP/Properties.cpp.orig	2013-06-02 11:52:55.531198249 +0000
-+++ php/src/IcePHP/Properties.cpp	2013-06-02 11:53:07.786227648 +0000
-@@ -641,7 +641,7 @@
-     //
-     zend_class_entry ce;
- #ifdef ICEPHP_USE_NAMESPACES
--    INIT_NS_CLASS_ENTRY(ce, STRCAST("Ice"), STRCAST("Properties"), _interfaceMethods);
-+    INIT_NS_CLASS_ENTRY(ce, "Ice", "Properties", _interfaceMethods);
- #else
-     INIT_CLASS_ENTRY(ce, "Ice_Properties", _interfaceMethods);
- #endif
diff -ruN devel/php5-ice.orig/files/patch-php-src-IcePHP-Proxy.cpp devel/php5-ice/files/patch-php-src-IcePHP-Proxy.cpp
--- devel/php5-ice.orig/files/patch-php-src-IcePHP-Proxy.cpp	2013-06-17 13:49:32.000000000 +0200
+++ devel/php5-ice/files/patch-php-src-IcePHP-Proxy.cpp	1970-01-01 01:00:00.000000000 +0100
@@ -1,11 +0,0 @@
---- php/src/IcePHP/Proxy.cpp.orig	2013-06-02 11:54:02.594196824 +0000
-+++ php/src/IcePHP/Proxy.cpp	2013-06-02 11:53:46.793198453 +0000
-@@ -1702,7 +1702,7 @@
-     //
-     zend_class_entry ce;
- #ifdef ICEPHP_USE_NAMESPACES
--    INIT_NS_CLASS_ENTRY(ce, STRCAST("Ice"), STRCAST("ObjectPrx"), _proxyMethods);
-+    INIT_NS_CLASS_ENTRY(ce, "Ice", "ObjectPrx", _proxyMethods);
- #else
-     INIT_CLASS_ENTRY(ce, "Ice_ObjectPrx", _proxyMethods);
- #endif
diff -ruN devel/php5-ice.orig/pkg-plist devel/php5-ice/pkg-plist
--- devel/php5-ice.orig/pkg-plist	2013-06-17 13:49:32.000000000 +0200
+++ devel/php5-ice/pkg-plist	2013-12-01 23:42:59.000000000 +0100
@@ -38,6 +38,7 @@
 share/pear/Ice/Process.php
 share/pear/Ice/ProcessF.php
 share/pear/Ice/Properties.php
+share/pear/Ice/PropertiesAdmin.php
 share/pear/Ice/PropertiesF.php
 share/pear/Ice/Router.php
 share/pear/Ice/RouterF.php
@@ -72,3 +73,5 @@
 @dirrmtry share/pear/IceStorm
 @dirrmtry share/pear
 @dirrmtry lib/php/%%PHP_EXT_DIR%%
+@dirrmtry lib/php
+@dirrmtry etc/php
diff -ruN devel/py-ice.orig/Makefile devel/py-ice/Makefile
--- devel/py-ice.orig/Makefile	2013-09-20 19:13:42.000000000 +0200
+++ devel/py-ice/Makefile	2013-12-02 19:33:15.000000000 +0100
@@ -1,10 +1,7 @@
 # Created by: Boris B. Samorodov <bsam@ipt.ru>
 # $FreeBSD: devel/py-ice/Makefile 327724 2013-09-20 17:13:42Z bapt $
 
-PORTNAME=	Ice
-PORTVERSION=	3.5.0
 CATEGORIES=	devel python
-MASTER_SITES=	http://download.zeroc.com/Ice/3.5/
 PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
 
 MAINTAINER=	freebsd@grem.de
@@ -12,17 +9,20 @@
 
 LICENSE=	GPLv2
 
-BUILD_DEPENDS=	mcpp:${PORTSDIR}/devel/mcpp
+BUILD_DEPENDS=	mcpp:${PORTSDIR}/devel/mcpp \
+		slice2py:${PORTSDIR}/devel/ice
 LIB_DEPENDS=	Ice.${LIB_VRS}:${PORTSDIR}/devel/ice
 
-USE_GMAKE=	yes
 USE_PYTHON=	yes
+SLAVE_PORT=	yes
+MASTERDIR=	${.CURDIR}/../ice
+PLIST=		${.CURDIR}/pkg-plist
+
 BUILD_WRKSRC=	${WRKSRC}/py
 INSTALL_WRKSRC=	${WRKSRC}/py
 
-LIB_VRS=	${PORTVERSION:S|.||g:C|0$||}
+LIB_VRS=	${PORTVERSION:S|.||g:C|[0-9]$||}
 PLIST_SUB=	LIB_VERSION="${PORTVERSION}" LIB_VRS="${LIB_VRS}"
-MAKE_ENV=	ICE_HOME="${LOCALBASE}/share/Ice"
 
 # bypass infrastructure bug (taken from www/py-django)
 OPTIONSFILE=	${PORT_DBDIR}/py-${PORTNAME}/options
@@ -30,69 +30,11 @@
 OPTIONS_DEFAULT=TESTS
 TESTS_DESC=	Run tests
 
-NO_STAGE=	yes
-.include <bsd.port.options.mk>
-
-CFLAGS+=	-ftemplate-depth-128 -fPIC -DPIC -Wall -D_REENTRANT
-.if empty(PORT_OPTIONS:MDEBUG)
-CFLAGS+=	-DNDEBUG
-.endif
-
-.if ${ARCH} == "ia64"
-BROKEN=		does not compile on ia64
-.endif
-
-.if ((${ARCH} != i386) && (${ARCH} != powerpc))
-MAKE_ENV=	LP64=yes
-.endif
-
-.if empty(PORT_OPTIONS:MDOCS)
-MAKE_ENV+=	NOPORTDOCS=yes
-.endif
-
-.include <bsd.port.pre.mk>
-
-.if ${PYTHON_REL} >= 320
-PLIST_SUB+=	PYTHON32=""
-PLIST_SUB+=	PYTHONPRE32="@comment "
-.else
-PLIST_SUB+=	PYTHON32="@comment "
-PLIST_SUB+=	PYTHONPRE32=""
-.endif
-
-PLIST_SUB+=	PYTHON_SUFFIX=${PYTHON_SUFFIX}
-
-post-patch:
-	@${SED} 's|%%PREFIX%%|${PREFIX}|g; \
-		s|%%DATADIR%%|${DATADIR}|g; \
-		s|%%DOCSDIR%%|${DOCSDIR}|g; \
-		s|%%INSTALL_PROGRAM%%|${INSTALL_PROGRAM}|g; \
-		s|%%INSTALL_DATA%%|${INSTALL_DATA}|g' \
-		${FILESDIR}/Make.rules.FreeBSD > ${WRKSRC}/cpp/config/Make.rules.FreeBSD
-	@${REINPLACE_CMD} 's|%%INSTALL_PROGRAM%%|${INSTALL_PROGRAM}|g; \
-		s|%%INSTALL_DATA%%|${INSTALL_DATA}|g; \
-		s|%%PYTHON_SITELIBDIR%%|${PYTHON_SITELIBDIR}|g; \
-		s|%%PREFIX%%|${PREFIX}|g ; \
-		s|%%LOCALBASE%%|${LOCALBASE}|g' ${WRKSRC}/py/config/Make.rules
-	@${REINPLACE_CMD} 's|.(ice_dir).slice|${DATADIR}|g; \
-		s|.(prefix).slice|${DATADIR}|g; \
-		s|.(prefix).[ICE_]*LICENSE|${DATADIR}/LICENSE|g;' \
-		${WRKSRC}/config/Make.common.rules
-
 post-install:
-	${ECHO} "Ice" > ${PYTHON_SITELIBDIR}/Ice.pth
-	@${PYTHON_CMD} ${PYTHON_LIBDIR}/compileall.py ${PYTHON_SITELIBDIR}/Ice
-	@${PYTHON_CMD} -O ${PYTHON_LIBDIR}/compileall.py ${PYTHON_SITELIBDIR}/Ice
-
-.if ${PORT_OPTIONS:MTESTS}
-TEST_CMD=	@cd ${BUILD_WRKSRC} && ${PYTHON_CMD} ./allTests.py
-.endif
-
-.if ${PORT_OPTIONS:MTESTS}
-post-build:
-	${TEST_CMD}
-regression-test test: build
-	${TEST_CMD}
-.endif
+	${ECHO} "Ice" > ${STAGEDIR}${PYSITEDIR}/Ice.pth
+	@${FIND} ${STAGEDIR}${PYSITEDIR}/Ice \( -name "*.pyc" -or -name "*.pyo" \) \
+		-exec ${CHMOD} u+w {} \;
+	@${PYTHON_CMD} -m compileall ${STAGEDIR}${PYSITEDIR}/Ice
+	@${PYTHON_CMD} -O -m compileall ${STAGEDIR}${PYSITEDIR}/Ice
 
-.include <bsd.port.post.mk>
+.include "${MASTERDIR}/Makefile"
diff -ruN devel/py-ice.orig/distinfo devel/py-ice/distinfo
--- devel/py-ice.orig/distinfo	2013-06-17 13:46:10.000000000 +0200
+++ devel/py-ice/distinfo	1970-01-01 01:00:00.000000000 +0100
@@ -1,2 +0,0 @@
-SHA256 (Ice-3.5.0.tar.gz) = bbde6b5a87f5abc8d9105468731f1419829bc22b5d23b8fdef553967a2eebdb0
-SIZE (Ice-3.5.0.tar.gz) = 4790555
diff -ruN devel/py-ice.orig/files/Make.rules.FreeBSD devel/py-ice/files/Make.rules.FreeBSD
--- devel/py-ice.orig/files/Make.rules.FreeBSD	2013-02-14 10:42:12.000000000 +0100
+++ devel/py-ice/files/Make.rules.FreeBSD	1970-01-01 01:00:00.000000000 +0100
@@ -1,21 +0,0 @@
-mkshlib                 = $(CXX) -shared $(LDFLAGS) -o $(1) -Wl,-h,$(2) $(3) $(4)
-
-BASELIBS		= -lIceUtil -pthread -L$(LOCALBASE)/lib -liconv
-LIBS			= -lIce $(BASELIBS) 
-
-ICEUTIL_OS_LIBS         = -pthread
-
-PLATFORM_HAS_READLINE   := yes
-
-export LD_LIBRARY_PATH	:= $(libdir):$(LD_LIBRARY_PATH)
-
-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)
diff -ruN devel/py-ice.orig/files/patch-config-Make.common.rules devel/py-ice/files/patch-config-Make.common.rules
--- devel/py-ice.orig/files/patch-config-Make.common.rules	2012-10-27 21:57:57.000000000 +0200
+++ devel/py-ice/files/patch-config-Make.common.rules	1970-01-01 01:00:00.000000000 +0100
@@ -1,11 +0,0 @@
---- config/Make.common.rules.orig	2010-07-11 13:40:06.000000000 +1000
-+++ config/Make.common.rules	2010-07-11 13:40:43.000000000 +1000
-@@ -19,7 +19,7 @@
- SHORT_VERSION           = 3.4
- SOVERSION		= 34
- 
--INSTALL			= cp -fp
-+INSTALL			= install
- INSTALL_PROGRAM		= ${INSTALL}
- INSTALL_LIBRARY		= ${INSTALL}
- INSTALL_DATA		= ${INSTALL}
diff -ruN devel/py-ice.orig/files/patch-cpp-include-IceUtil-Config.h devel/py-ice/files/patch-cpp-include-IceUtil-Config.h
--- devel/py-ice.orig/files/patch-cpp-include-IceUtil-Config.h	2013-06-17 13:46:10.000000000 +0200
+++ devel/py-ice/files/patch-cpp-include-IceUtil-Config.h	1970-01-01 01:00:00.000000000 +0100
@@ -1,11 +0,0 @@
---- cpp/include/IceUtil/Config.h.orig	2013-03-11 15:19:46.000000000 +0000
-+++ cpp/include/IceUtil/Config.h	2013-05-20 02:09:58.239194578 +0000
-@@ -51,7 +51,7 @@
- // Check for C++ 11 support
- //
- #if (defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)) && defined(__GXX_EXPERIMENTAL_CXX0X__)) || \
--    (defined(__clang__) && (__clang_major__ >= 4) && __cplusplus >= 201103) || \
-+    (defined(__clang__) && ((defined(__APPLE__) && __clang_major__ >= 4) || (!defined(__APPLE__) && __clang_major__ >= 3)) && __cplusplus >= 201103) || \
-     (defined(_MSC_VER) && (_MSC_VER >= 1600))
- #   define ICE_CPP11
- #endif
diff -ruN devel/py-ice.orig/files/patch-py-config-Make.rules devel/py-ice/files/patch-py-config-Make.rules
--- devel/py-ice.orig/files/patch-py-config-Make.rules	2013-06-17 13:46:10.000000000 +0200
+++ devel/py-ice/files/patch-py-config-Make.rules	1970-01-01 01:00:00.000000000 +0100
@@ -1,32 +0,0 @@
---- py/config/Make.rules.orig	2013-03-11 15:19:47.000000000 +0000
-+++ py/config/Make.rules	2013-05-20 14:21:13.335195726 +0000
-@@ -12,7 +12,8 @@
- # if it does not exist.
- #
- 
--prefix			?= /opt/Ice-$(VERSION)
-+ICE_HOME		= %%LOCALBASE%%
-+prefix			?= %%PREFIX%%
- 
- #
- # The "root directory" for runpath embedded in executables. Can be unset
-@@ -95,8 +96,8 @@
- endif 
- 
- libdir                  = $(top_srcdir)/python
--install_pythondir       = $(prefix)/python
--install_libdir          = $(prefix)/python
-+install_pythondir       = %%PYTHON_SITELIBDIR%%/Ice
-+install_libdir          = %%PYTHON_SITELIBDIR%%/Ice
- 
- ifeq ($(UNAME),SunOS)
-    ifeq ($(LP64),yes)
-@@ -118,7 +119,7 @@
-     ICE_LIB_DIR = -L$(ice_dir)/$(libsubdir)
-     ICE_FLAGS	= -I$(ice_dir)/include
- endif
--ICE_LIBS = $(ICE_LIB_DIR) -lIce -lSlice -lIceUtil
-+ICE_LIBS = $(ICE_LIB_DIR) -lIce -lSlice -lIceUtil -liconv
- 
- ifneq ($(embedded_runpath_prefix),)
-    runpath_libdir	:= $(embedded_runpath_prefix)/$(libsubdir)
diff -ruN devel/py-ice.orig/files/patch-py-python-Makefile devel/py-ice/files/patch-py-python-Makefile
--- devel/py-ice.orig/files/patch-py-python-Makefile	2013-06-17 13:46:10.000000000 +0200
+++ devel/py-ice/files/patch-py-python-Makefile	1970-01-01 01:00:00.000000000 +0100
@@ -1,16 +0,0 @@
---- py/python/Makefile.orig	2010-07-11 13:05:38.000000000 +1000
-+++ py/python/Makefile	2012-09-11 00:09:09.000000000 +2000
-@@ -118,10 +118,11 @@
- 
- install:: $(ALL_SRCS)
- 	@echo "Installing generated code"
--	$(INSTALL_DATA) *.py $(install_pythondir)
-+	$(INSTALL_DATA) *.py* $(install_pythondir)
- 	@for i in $(PACKAGES) ; \
- 	do \
--	    $(INSTALL_DATA) -r $$i $(install_pythondir) ; \
-+	    mkdir -p $(install_pythondir)/$$i ; \
-+	    $(INSTALL_DATA) $$i/*.py* $(install_pythondir)/$$i ; \
- 	done
- 
- depend::  $(ICE_SLICE) $(GLACIER2_SLICE) $(ICEBOX_SLICE) $(ICEGRID_SLICE) $(ICEPATCH2_SLICE) $(ICESTORM_SLICE)
diff -ruN devel/py-ice.orig/files/patch-py-test-Ice-info-AllTests.py devel/py-ice/files/patch-py-test-Ice-info-AllTests.py
--- devel/py-ice.orig/files/patch-py-test-Ice-info-AllTests.py	2013-06-17 13:46:10.000000000 +0200
+++ devel/py-ice/files/patch-py-test-Ice-info-AllTests.py	1970-01-01 01:00:00.000000000 +0100
@@ -1,79 +0,0 @@
---- py/test/Ice/info/AllTests.py.orig	2013-03-11 15:19:47.000000000 +0000
-+++ py/test/Ice/info/AllTests.py	2013-05-20 14:25:56.860196743 +0000
-@@ -7,12 +7,31 @@
- #
- # **********************************************************************
- 
--import Ice, Test, sys, threading
-+import Ice, Test, sys, threading, subprocess
- 
- 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 "+key, shell=1, stdout=subprocess.PIPE)
-+    try:
-+        result = p.communicate()[0].strip().split()[1]
-+    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 allTests(communicator, collocated):
-     sys.stdout.write("testing proxy endpoint information... ")
-     sys.stdout.flush()
-@@ -67,12 +86,12 @@
- 
-     ipEndpoint = endpoints[0].getInfo()
-     test(ipEndpoint.type() == Ice.TCPEndpointType or ipEndpoint.type() == 2)
--    test(ipEndpoint.host == defaultHost)
-+    test(ipEndpoint.host == defaultHost or isFreeBSDJail())
-     test(ipEndpoint.port > 0)
-     test(ipEndpoint.timeout == 15000)
- 
-     udpEndpoint = endpoints[1].getInfo()
--    test(udpEndpoint.host == defaultHost)
-+    test(udpEndpoint.host == defaultHost or isFreeBSDJail())
-     test(udpEndpoint.datagram())
-     test(udpEndpoint.port > 0)
- 
-@@ -108,7 +127,7 @@
-     ipinfo = base.ice_getConnection().getEndpoint().getInfo()
-     test(ipinfo.port == 12010)
-     test(not ipinfo.compress)
--    test(ipinfo.host == defaultHost)
-+    test(ipinfo.host == defaultHost or isFreeBSDJail())
- 
-     ctx = testIntf.getEndpointInfoAsContext()
-     test(ctx["host"] == ipinfo.host)
-@@ -118,7 +137,7 @@
- 
-     udp = base.ice_datagram().ice_getConnection().getEndpoint().getInfo()
-     test(udp.port == 12010)
--    test(udp.host == defaultHost)
-+    test(udp.host == defaultHost or isFreeBSDJail())
- 
-     print("ok")
- 
-@@ -129,8 +148,8 @@
-     test(not info.incoming)
-     test(len(info.adapterName) == 0)
-     test(info.remotePort == 12010)
--    test(info.remoteAddress == defaultHost)
--    test(info.localAddress == defaultHost)
-+    test(info.remoteAddress == defaultHost or isFreeBSDJail())
-+    test(info.localAddress == defaultHost or isFreeBSDJail())
- 
-     ctx = testIntf.getConnectionInfoAsContext()
-     test(ctx["incoming"] == "true")
diff -ruN devel/py-ice.orig/files/patch-py-test-Ice-properties-run.py devel/py-ice/files/patch-py-test-Ice-properties-run.py
--- devel/py-ice.orig/files/patch-py-test-Ice-properties-run.py	2013-06-17 13:46:10.000000000 +0200
+++ devel/py-ice/files/patch-py-test-Ice-properties-run.py	1970-01-01 01:00:00.000000000 +0100
@@ -1,29 +0,0 @@
---- py/test/Ice/properties/run.py.orig	2013-05-21 02:29:52.861195367 +0000
-+++ py/test/Ice/properties/run.py	2013-05-21 02:30:44.972196471 +0000
-@@ -26,15 +26,15 @@
- #
- if sys.version_info[0] == 2:
-     configPath = "./config/\xe4\xb8\xad\xe5\x9b\xbd_client.config".decode("utf-8")
--    TestUtil.createConfig(configPath, 
-+    TestUtil.createConfig(configPath.encode("utf-8"), 
-                           ["# Automatically generated by Ice test driver.", 
-                            "Ice.Trace.Protocol=1",
-                            "Ice.Trace.Network=1", 
-                            "Ice.ProgramName=PropertiesClient", 
--                           "Config.Path=./config/中国_client.config"])
-+                           "Config.Path=" + configPath.encode("utf-8")])
- else:
-     configPath = "./config/\u4e2d\u56fd_client.config"
--    TestUtil.createConfig(configPath, 
-+    TestUtil.createConfig(configPath.encode("utf-8"), 
-                           ["# Automatically generated by Ice test driver.", 
-                            "Ice.Trace.Protocol=1",
-                            "Ice.Trace.Network=1", 
-@@ -44,5 +44,5 @@
- 
- TestUtil.simpleTest()
- 
--if os.path.exists(configPath):
--    os.remove(configPath)
-+if os.path.exists(configPath.encode("utf-8")):
-+    os.remove(configPath.encode("utf-8"))
diff -ruN devel/py-ice.orig/pkg-plist devel/py-ice/pkg-plist
--- devel/py-ice.orig/pkg-plist	2013-06-17 13:46:10.000000000 +0200
+++ devel/py-ice/pkg-plist	2013-12-01 17:48:34.000000000 +0100
@@ -115,6 +115,8 @@
 %%PYTHON32%%%%PYTHON_SITELIBDIR%%/Ice/__pycache__/Ice_ProcessF_ice.cpython-%%PYTHON_SUFFIX%%.pyo
 %%PYTHON32%%%%PYTHON_SITELIBDIR%%/Ice/__pycache__/Ice_Process_ice.cpython-%%PYTHON_SUFFIX%%.pyc
 %%PYTHON32%%%%PYTHON_SITELIBDIR%%/Ice/__pycache__/Ice_Process_ice.cpython-%%PYTHON_SUFFIX%%.pyo
+%%PYTHON32%%%%PYTHON_SITELIBDIR%%/Ice/__pycache__/Ice_PropertiesAdmin_ice.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON32%%%%PYTHON_SITELIBDIR%%/Ice/__pycache__/Ice_PropertiesAdmin_ice.cpython-%%PYTHON_SUFFIX%%.pyo
 %%PYTHON32%%%%PYTHON_SITELIBDIR%%/Ice/__pycache__/Ice_PropertiesF_ice.cpython-%%PYTHON_SUFFIX%%.pyc
 %%PYTHON32%%%%PYTHON_SITELIBDIR%%/Ice/__pycache__/Ice_PropertiesF_ice.cpython-%%PYTHON_SUFFIX%%.pyo
 %%PYTHON32%%%%PYTHON_SITELIBDIR%%/Ice/__pycache__/Ice_Properties_ice.cpython-%%PYTHON_SUFFIX%%.pyc
@@ -251,6 +253,8 @@
 %%PYTHONPRE32%%%%PYTHON_SITELIBDIR%%/Ice/Ice_ProcessF_ice.pyo
 %%PYTHONPRE32%%%%PYTHON_SITELIBDIR%%/Ice/Ice_Process_ice.pyc
 %%PYTHONPRE32%%%%PYTHON_SITELIBDIR%%/Ice/Ice_Process_ice.pyo
+%%PYTHONPRE32%%%%PYTHON_SITELIBDIR%%/Ice/Ice_PropertiesAdmin_ice.pyc
+%%PYTHONPRE32%%%%PYTHON_SITELIBDIR%%/Ice/Ice_PropertiesAdmin_ice.pyo
 %%PYTHONPRE32%%%%PYTHON_SITELIBDIR%%/Ice/Ice_PropertiesF_ice.pyc
 %%PYTHONPRE32%%%%PYTHON_SITELIBDIR%%/Ice/Ice_PropertiesF_ice.pyo
 %%PYTHONPRE32%%%%PYTHON_SITELIBDIR%%/Ice/Ice_Properties_ice.pyc
@@ -332,6 +336,7 @@
 %%PYTHON_SITELIBDIR%%/Ice/Ice_Plugin_ice.py
 %%PYTHON_SITELIBDIR%%/Ice/Ice_ProcessF_ice.py
 %%PYTHON_SITELIBDIR%%/Ice/Ice_Process_ice.py
+%%PYTHON_SITELIBDIR%%/Ice/Ice_PropertiesAdmin_ice.py
 %%PYTHON_SITELIBDIR%%/Ice/Ice_PropertiesF_ice.py
 %%PYTHON_SITELIBDIR%%/Ice/Ice_Properties_ice.py
 %%PYTHON_SITELIBDIR%%/Ice/Ice_RouterF_ice.py
@@ -354,3 +359,5 @@
 @dirrmtry %%PYTHON_SITELIBDIR%%/Ice/IceStorm
 %%PYTHON32%%@dirrmtry %%PYTHON_SITELIBDIR%%/Ice/__pycache__
 @dirrmtry %%PYTHON_SITELIBDIR%%/Ice
+@dirrmtry %%PYTHON_SITELIBDIR%%
+@dirrmtry %%PYTHON_LIBDIR%%
--- Ice-3.5.1.patch ends here ---

>Release-Note:
>Audit-Trail:
>Unformatted:



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