Bug 85546 - New port: devel/py-ice, Ice (devel/ice) mappings for Python
Summary: New port: devel/py-ice, Ice (devel/ice) mappings for Python
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-ports-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-08-31 22:40 UTC by Boris B.Samorodov
Modified: 2005-09-04 15:25 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Boris B.Samorodov 2005-08-31 22:40:17 UTC
	New port is an Ice language mapping for Python.

	Internet Communications Engine (Ice) is a modern alternative
	to object middleware such as CORBA(TM) or COM/DCOM/COM+ and
	is already ported. See devel/ice.

Fix: 

WBR
-- 
bsam--7xeMlDz2sy2GERBuL9RsCvPGEYBflZM5VA4jclY0Kl8uQ2Rm
Content-Type: text/plain; name="py-ice.shar"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="py-ice.shar"

# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	py-ice
#	py-ice/files
#	py-ice/files/patch-Makefile
#	py-ice/files/patch-config+Make.rules
#	py-ice/files/patch-python+Makefile
#	py-ice/files/patch-config+Make.rules.FreeBSD
#	py-ice/Makefile
#	py-ice/distinfo
#	py-ice/pkg-descr
#	py-ice/pkg-plist
#
echo c - py-ice
mkdir -p py-ice > /dev/null 2>&1
echo c - py-ice/files
mkdir -p py-ice/files > /dev/null 2>&1
echo x - py-ice/files/patch-Makefile
sed 's/^X//' >py-ice/files/patch-Makefile << 'END-of-py-ice/files/patch-Makefile'
X--- Makefile.orig	Tue Aug 30 21:50:09 2005
X+++ Makefile	Tue Aug 30 21:27:37 2005
X@@ -26,11 +26,11 @@
X 	    $(call mkdir,$(install_libdir)) ; \
X 	fi
X 
X-	@if test ! -d $(install_slicedir) ; \
X-	then \
X-	    echo "Creating $(install_slicedir)..." ; \
X-	    $(call mkdir,$(install_slicedir)) ; \
X-	fi
X+#	@if test ! -d $(install_slicedir) ; \
X+#	then \
X+#	    echo "Creating $(install_slicedir)..." ; \
X+#	    $(call mkdir,$(install_slicedir)) ; \
X+#	fi
X 
X 	@if test ! -d $(install_pythondir) ; \
X 	then \
X@@ -45,32 +45,32 @@
X 	    ( cd $$subdir && $(MAKE) $@ ) || exit 1; \
X 	done
X 
X-install::
X-	@if test -d slice ; \
X-	then \
X-	    cd slice ; \
X-	    for i in * ; \
X-	    do \
X-		if test ! -d $(install_slicedir)/$$i ; \
X-		then \
X-		    echo "Creating $(install_slicedir)/$$i..." ; \
X-		    mkdir $(install_slicedir)/$$i ; \
X-		    chmod a+rx $(install_slicedir)/$$i ; \
X-		fi ; \
X-		cd $$i ; \
X-		for f in *.ice ; \
X-		do \
X-		    echo "Installing $$i/$$f" ; \
X-		    $(INSTALL_DATA) $$f $(install_slicedir)/$$i ; \
X-		    chmod a+r $(install_slicedir)/$$i/$$f ; \
X-		done ; \
X-		cd .. ; \
X-	    done \
X-	fi
X+#install::
X+#	@if test -d slice ; \
X+#	then \
X+#	    cd slice ; \
X+#	    for i in * ; \
X+#	    do \
X+#		if test ! -d $(install_slicedir)/$$i ; \
X+#		then \
X+#		    echo "Creating $(install_slicedir)/$$i..." ; \
X+#		    mkdir $(install_slicedir)/$$i ; \
X+#		    chmod a+rx $(install_slicedir)/$$i ; \
X+#		fi ; \
X+#		cd $$i ; \
X+#		for f in *.ice ; \
X+#		do \
X+#		    echo "Installing $$i/$$f" ; \
X+#		    $(INSTALL_DATA) $$f $(install_slicedir)/$$i ; \
X+#		    chmod a+r $(install_slicedir)/$$i/$$f ; \
X+#		done ; \
X+#		cd .. ; \
X+#	    done \
X+#	fi
X 
X install::
X-	$(call installdata,ICE_LICENSE,$(prefix))
X-	$(call installdata,LICENSE,$(prefix))
X+	$(call installdata,ICE_LICENSE,$(install_libdir))
X+	$(call installdata,LICENSE,$(install_libdir))
X 
X test::
X 	@python $(top_srcdir)/allTests.py
END-of-py-ice/files/patch-Makefile
echo x - py-ice/files/patch-config+Make.rules
sed 's/^X//' >py-ice/files/patch-config+Make.rules << 'END-of-py-ice/files/patch-config+Make.rules'
X--- config/Make.rules.orig	Fri Jun 24 01:36:53 2005
X+++ config/Make.rules	Tue Aug 30 20:31:34 2005
X@@ -7,6 +7,8 @@
X #
X # **********************************************************************
X 
X+ICE_HOME		= /usr/local
X+
X ifndef ICE_HOME
X     $(error ICE_HOME is not defined)
X endif
X@@ -16,7 +18,7 @@
X # if it does not exist.
X #
X 
X-prefix			= /opt/IcePy-$(VERSION)
X+prefix			= /usr/local/Ice
X 
X #
X # Define OPTIMIZE as yes if you want to build with optimization.
X@@ -65,13 +67,13 @@
X     # version used for building the Ice extension, then set PYTHON_VERSION
X     # to "python2.3" or "python2.4".
X     #
X-    PYTHON_VERSION	?= $(word 1,$(notdir $(wildcard /usr/include/python2.[34]*)))
X+    PYTHON_VERSION	?= $(word 1,$(notdir $(wildcard /usr/local/include/python2.[34]*)))
X     ifeq ($(PYTHON_VERSION),)
X       python_darwin_home = /System/Library/Frameworks/Python.framework/Versions/Current
X       PYTHON_VERSION 	= $(word 1,$(notdir $(wildcard $(python_darwin_home)/include/python2.[34]*)))
X     endif
X-    PYTHON_INCLUDE_DIR	= /usr/include/$(PYTHON_VERSION)
X-    PYTHON_LIB_DIR	= /usr/lib/$(PYTHON_VERSION)/config
X+    PYTHON_INCLUDE_DIR	= /usr/local/include/$(PYTHON_VERSION)
X+    PYTHON_LIB_DIR	= /usr/local/lib/$(PYTHON_VERSION)
X endif
X 
X ifeq ($(PYTHON_VERSION),)
X@@ -103,14 +105,14 @@
X ifeq ($(LP64),yes)
X     install_libdir	= $(prefix)/lib$(lp64suffix)
X else
X-    install_libdir	= $(prefix)/lib
X+    install_libdir	= %%PYTHON_SITELIBDIR%%/Ice
X endif
X 
X install_slicedir	= $(prefix)/slice
X-install_pythondir	= $(prefix)/python
X+install_pythondir	= %%PYTHON_SITELIBDIR%%/Ice
X 
X-INSTALL			= cp -fp
X-INSTALL_PROGRAM		= ${INSTALL}
X+INSTALL			= install -C  -o root -g wheel -m 444
X+INSTALL_PROGRAM		= install -C  -s -o root -g wheel -m 555
X INSTALL_LIBRARY		= ${INSTALL}
X INSTALL_DATA		= ${INSTALL}
X 
END-of-py-ice/files/patch-config+Make.rules
echo x - py-ice/files/patch-python+Makefile
sed 's/^X//' >py-ice/files/patch-python+Makefile << 'END-of-py-ice/files/patch-python+Makefile'
X--- python/Makefile.orig	Thu Feb 17 00:48:17 2005
X+++ python/Makefile	Tue Aug 30 19:16:53 2005
X@@ -94,7 +94,8 @@
X 	$(INSTALL_DATA) *.py $(install_pythondir)
X 	@for i in $(PACKAGES) ; \
X 	do \
X-	    $(INSTALL_DATA) -r $$i $(install_pythondir) ; \
X+	    $(INSTALL_DATA) -d $(install_pythondir)/$$i ; \
X+	    $(INSTALL_DATA) $$i/*.py $(install_pythondir)/$$i ; \
X 	done
X 
X clean::
END-of-py-ice/files/patch-python+Makefile
echo x - py-ice/files/patch-config+Make.rules.FreeBSD
sed 's/^X//' >py-ice/files/patch-config+Make.rules.FreeBSD << 'END-of-py-ice/files/patch-config+Make.rules.FreeBSD'
X--- config/Make.rules.FreeBSD.orig	Tue Aug 30 16:02:02 2005
X+++ config/Make.rules.FreeBSD	Tue Aug 30 16:02:50 2005
X@@ -26,12 +26,12 @@
X #
X CXXLIBS			=
X 
X-mkshlib                 = $(CXX) -shared $(LDFLAGS) -o $(1) -Wl,-h,$(2) $(3) $(4) -lc_r
X+mkshlib                 = $(CXX) -shared $(LDFLAGS) -o $(1) -Wl,-h,$(2) $(3) $(4)
X 
X-BASELIBS		= -lIceUtil -lc_r
X+BASELIBS		= -lIceUtil %%PTHREAD_LIBS%%
X LIBS			= -lIce $(BASELIBS)
X 
X-ICEUTIL_OS_LIBS         = 
X+ICEUTIL_OS_LIBS         = %%PTHREAD_LIBS%%
X ICE_OS_LIBS             = 
X 
X PLATFORM_HAS_READLINE   := yes
END-of-py-ice/files/patch-config+Make.rules.FreeBSD
echo x - py-ice/Makefile
sed 's/^X//' >py-ice/Makefile << 'END-of-py-ice/Makefile'
X# New ports collection makefile for:	py-ice
X# Date created:				2005-08-30
X# Whom:					Boris B. Samorodov <bsam@ipt.ru>
X#
X# $FreeBSD$
X#
X
XPORTNAME=	Ice
XPORTVERSION=	2.1.2
XCATEGORIES=	devel python
XMASTER_SITES=	http://www.zeroc.com/download/Ice/2.1/
XPKGNAMEPREFIX=	py-
XDISTNAME=	IcePy-${PORTVERSION}
X
XMAINTAINER=	bsam@ipt.ru
XCOMMENT=	An Ice (Internet Communications Engine) language mapping for Python
X
XLIB_DEPENDS=	Ice.21:${PORTSDIR}/devel/ice
X
XUSE_GMAKE=	yes
XUSE_REINPLACE=	yes
XUSE_PYTHON=	yes
X
XCFLAGS+=	-ftemplate-depth-128 -fPIC -DPIC -Wall -D_REENTRANT ${PTHREAD_CFLAGS}
X.if defined(DEBUG)
XCFLAGS+=	-g
X.else
XCFLAGS+=	-DNDEBUG
X.endif
X
X.include <bsd.port.pre.mk>
X.if ${OSVERSION} < 500028
XBROKEN=	"does not compile on systems prior to 5.x"
X.endif
X
X.if ${ARCH} == "ia64"
XBROKEN=		"Does not compile on ia64"
X.endif
X
X.if ((${ARCH} != i386) && (${ARCH} != powerpc))
XMAKE_ENV=	LP64=yes
X.endif
X
Xpost-patch:
X	${REINPLACE_CMD} 's|%%INSTALL_PROGRAM%%|${INSTALL_PROGRAM}|g; \
X		s|%%INSTALL_DATA%%|${INSTALL_DATA}|g; \
X		s|%%PYTHON_SITELIBDIR%%|${PYTHON_SITELIBDIR}|g; \
X		s|%%PREFIX%%|${PREFIX}|g' ${WRKSRC}/config/Make.rules
X
Xpost-install:
X	${ECHO} "Ice" > ${PYTHON_SITELIBDIR}/Ice.pth
X
X.include <bsd.port.post.mk>
END-of-py-ice/Makefile
echo x - py-ice/distinfo
sed 's/^X//' >py-ice/distinfo << 'END-of-py-ice/distinfo'
XMD5 (IcePy-2.1.2.tar.gz) = 81af19ef229fbab2102290e7517a39bb
XSIZE (IcePy-2.1.2.tar.gz) = 295138
END-of-py-ice/distinfo
echo x - py-ice/pkg-descr
sed 's/^X//' >py-ice/pkg-descr << 'END-of-py-ice/pkg-descr'
XPython and Ice have much in common: they both are suited for a wide variety
Xof tasks, excel at application integration, and are easy for developers
Xto use. An Ice language mapping for Python is a recent and welcome addition
Xto the Ice product portfolio, enabling developers to take advantage
Xof the productivity offered by Python's friendly syntax and extensive
Xfunction library.
X
XWWW: http://www.zeroc.org/
X
X
XSee ya at cyberspace!
X
X- Boris B. Samorodov
Xbsam@ipt.ru
END-of-py-ice/pkg-descr
echo x - py-ice/pkg-plist
sed 's/^X//' >py-ice/pkg-plist << 'END-of-py-ice/pkg-plist'
X%%PYTHON_SITELIBDIR%%/Ice/Glacier2_PermissionsVerifierF_ice.py
X%%PYTHON_SITELIBDIR%%/Ice/Glacier2_PermissionsVerifier_ice.py
X%%PYTHON_SITELIBDIR%%/Ice/Glacier2_RouterF_ice.py
X%%PYTHON_SITELIBDIR%%/Ice/Glacier2_Router_ice.py
X%%PYTHON_SITELIBDIR%%/Ice/Glacier2_SessionF_ice.py
X%%PYTHON_SITELIBDIR%%/Ice/Glacier2_Session_ice.py
X%%PYTHON_SITELIBDIR%%/Ice/Ice.py
X%%PYTHON_SITELIBDIR%%/Ice/IceBox_IceBox_ice.py
X%%PYTHON_SITELIBDIR%%/Ice/IcePack_Admin_ice.py
X%%PYTHON_SITELIBDIR%%/Ice/IcePack_Exception_ice.py
X%%PYTHON_SITELIBDIR%%/Ice/IcePack_Query_ice.py
X%%PYTHON_SITELIBDIR%%/Ice/IcePatch2_FileInfo_ice.py
X%%PYTHON_SITELIBDIR%%/Ice/IcePatch2_FileServer_ice.py
X%%PYTHON_SITELIBDIR%%/Ice/IceStorm_IceStorm_ice.py
X%%PYTHON_SITELIBDIR%%/Ice/Ice_BuiltinSequences_ice.py
X%%PYTHON_SITELIBDIR%%/Ice/Ice_CommunicatorF_ice.py
X%%PYTHON_SITELIBDIR%%/Ice/Ice_Communicator_ice.py
X%%PYTHON_SITELIBDIR%%/Ice/Ice_ConnectionF_ice.py
X%%PYTHON_SITELIBDIR%%/Ice/Ice_Connection_ice.py
X%%PYTHON_SITELIBDIR%%/Ice/Ice_Current_ice.py
X%%PYTHON_SITELIBDIR%%/Ice/Ice_FacetMap_ice.py
X%%PYTHON_SITELIBDIR%%/Ice/Ice_Identity_ice.py
X%%PYTHON_SITELIBDIR%%/Ice/Ice_LocalException_ice.py
X%%PYTHON_SITELIBDIR%%/Ice/Ice_LocatorF_ice.py
X%%PYTHON_SITELIBDIR%%/Ice/Ice_Locator_ice.py
X%%PYTHON_SITELIBDIR%%/Ice/Ice_LoggerF_ice.py
X%%PYTHON_SITELIBDIR%%/Ice/Ice_Logger_ice.py
X%%PYTHON_SITELIBDIR%%/Ice/Ice_ObjectAdapterF_ice.py
X%%PYTHON_SITELIBDIR%%/Ice/Ice_ObjectAdapter_ice.py
X%%PYTHON_SITELIBDIR%%/Ice/Ice_ObjectFactoryF_ice.py
X%%PYTHON_SITELIBDIR%%/Ice/Ice_ObjectFactory_ice.py
X%%PYTHON_SITELIBDIR%%/Ice/Ice_PluginF_ice.py
X%%PYTHON_SITELIBDIR%%/Ice/Ice_Plugin_ice.py
X%%PYTHON_SITELIBDIR%%/Ice/Ice_ProcessF_ice.py
X%%PYTHON_SITELIBDIR%%/Ice/Ice_Process_ice.py
X%%PYTHON_SITELIBDIR%%/Ice/Ice_PropertiesF_ice.py
X%%PYTHON_SITELIBDIR%%/Ice/Ice_Properties_ice.py
X%%PYTHON_SITELIBDIR%%/Ice/Ice_RouterF_ice.py
X%%PYTHON_SITELIBDIR%%/Ice/Ice_Router_ice.py
X%%PYTHON_SITELIBDIR%%/Ice/Ice_ServantLocatorF_ice.py
X%%PYTHON_SITELIBDIR%%/Ice/Ice_ServantLocator_ice.py
X%%PYTHON_SITELIBDIR%%/Ice/Ice_SliceChecksumDict_ice.py
X%%PYTHON_SITELIBDIR%%/Ice/Ice_StatsF_ice.py
X%%PYTHON_SITELIBDIR%%/Ice/Ice_Stats_ice.py
X%%PYTHON_SITELIBDIR%%/Ice/IcePy.so
X%%PYTHON_SITELIBDIR%%/Ice/IcePy.so.2.1.2
X%%PYTHON_SITELIBDIR%%/Ice/IcePy.so.21
X%%PYTHON_SITELIBDIR%%/Ice/LICENSE
X%%PYTHON_SITELIBDIR%%/Ice/ICE_LICENSE
X%%PYTHON_SITELIBDIR%%/Ice/Glacier2/__init__.py
X%%PYTHON_SITELIBDIR%%/Ice/IceBox/__init__.py
X%%PYTHON_SITELIBDIR%%/Ice/IcePack/__init__.py
X%%PYTHON_SITELIBDIR%%/Ice/IcePatch2/__init__.py
X%%PYTHON_SITELIBDIR%%/Ice/IceStorm/__init__.py
X%%PYTHON_SITELIBDIR%%/Ice.pth
X@dirrm %%PYTHON_SITELIBDIR%%/Ice/Glacier2
X@dirrm %%PYTHON_SITELIBDIR%%/Ice/IceBox
X@dirrm %%PYTHON_SITELIBDIR%%/Ice/IcePack
X@dirrm %%PYTHON_SITELIBDIR%%/Ice/IcePatch2
X@dirrm %%PYTHON_SITELIBDIR%%/Ice/IceStorm
X@dirrm %%PYTHON_SITELIBDIR%%/Ice
END-of-py-ice/pkg-plist
exit
Comment 1 Pav Lucistnik freebsd_committer 2005-09-04 15:25:21 UTC
State Changed
From-To: open->closed

New port added, thank you! 

It does not compile on amd64, could you take a look at it? 

c++ -c -I.  -I/usr/local/include -I/usr/local/include/python2.4 -g -ftemplate-depth-128 -fPIC -Wall -D_REENTRANT -D_THREAD_SAFE Operation.cpp 
Operation.cpp: In member function `virtual void IcePy::ParamInfo::unmarshaled(PyObject*, PyObject*, void*)': 
Operation.cpp:330: error: reinterpret_cast from `void*' to `int' loses precision 
Operation.cpp: In member function `virtual void IcePy::OperationI::dispatch(PyObject*, const Ice::AMD_Object_ice_invokePtr&, const std::vector<Ice::Byte, std::allocator<Ice::Byte> >&, const Ice::Current&)': 
Operation.cpp:644: warning: cast to pointer from integer of different size 
Operation.cpp: In member function `PyObject* IcePy::OperationI::unmarshalResults(const std::vector<Ice::Byte, std::allocator<Ice::Byte> >&, const Ice::CommunicatorPtr&)': 
Operation.cpp:1038: warning: cast to pointer from integer of different size 
gmake[2]: *** [Operation.o] Error 1