summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--net-libs/ice/ChangeLog12
-rw-r--r--net-libs/ice/files/ice-3.3.0-cross-compile.patch119
-rw-r--r--net-libs/ice/files/ice-3.3.0-destdir.patch18
-rw-r--r--net-libs/ice/files/ice-3.3.0-gentoo-db-include.patch110
-rw-r--r--net-libs/ice/files/ice-3.3.0-makefile.patch50
-rw-r--r--net-libs/ice/files/ice-3.3.0-thread-fix.patch16
-rw-r--r--net-libs/ice/ice-3.3.0.ebuild77
-rw-r--r--net-libs/ice/metadata.xml11
8 files changed, 413 insertions, 0 deletions
diff --git a/net-libs/ice/ChangeLog b/net-libs/ice/ChangeLog
new file mode 100644
index 000000000000..3c397dc4b5b1
--- /dev/null
+++ b/net-libs/ice/ChangeLog
@@ -0,0 +1,12 @@
+# ChangeLog for net-libs/ice
+# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/net-libs/ice/ChangeLog,v 1.1 2009/01/07 15:19:18 b33fc0d3 Exp $
+
+*ice-3.3.0 (07 Jan 2009)
+
+ 07 Jan 2009; Ahmed Ammar <aammar@edge-techno.com> <b33fc0d3@gentoo.org>
+ +files/ice-3.3.0-cross-compile.patch, +files/ice-3.3.0-destdir.patch,
+ +files/ice-3.3.0-gentoo-db-include.patch, +files/ice-3.3.0-makefile.patch,
+ +files/ice-3.3.0-thread-fix.patch, +metadata.xml, +ice-3.3.0.ebuild:
+ New ebuild for Ice. Ebuild written by b33fc0d3.
+
diff --git a/net-libs/ice/files/ice-3.3.0-cross-compile.patch b/net-libs/ice/files/ice-3.3.0-cross-compile.patch
new file mode 100644
index 000000000000..76c107e664af
--- /dev/null
+++ b/net-libs/ice/files/ice-3.3.0-cross-compile.patch
@@ -0,0 +1,119 @@
+--- ./Ice-3.3.0/cpp/Makefile.orig 2008-09-17 11:11:23.000000000 +0200
++++ ./Ice-3.3.0/cpp/Makefile 2008-09-17 12:28:23.000000000 +0200
+@@ -11,7 +11,7 @@
+
+ include $(top_srcdir)/config/Make.rules
+
+-SUBDIRS = config src include test demo
++SUBDIRS = config src include
+
+ INSTALL_SUBDIRS = $(install_bindir) $(install_libdir) $(install_includedir) $(install_configdir)
+
+--- ./Ice-3.3.0/cpp/src/Makefile.orig 2008-09-17 11:27:14.000000000 +0200
++++ ./Ice-3.3.0/cpp/src/Makefile 2008-09-17 11:09:31.000000000 +0200
+@@ -13,18 +13,6 @@
+
+ SUBDIRS = IceUtil \
+ Slice \
+- slice2cpp \
+- slice2cppe \
+- slice2cs \
+- slice2freeze \
+- slice2freezej \
+- slice2docbook \
+- slice2java \
+- slice2javae \
+- slice2py \
+- slice2rb \
+- slice2sl \
+- slice2html \
+ Ice \
+ IceXML \
+ IceSSL \
+--- ./Ice-3.3.0/cpp/config/Make.rules.Linux.orig 2008-09-17 11:04:41.000000000 +0200
++++ ./Ice-3.3.0/cpp/config/Make.rules.Linux 2008-09-17 13:05:41.000000000 +0200
+@@ -17,13 +17,7 @@
+ #
+ # Default compiler is c++ (aka g++).
+ #
+-ifeq ($(CXX),)
+- ICXX = c++
+-endif
+-
+-ifeq ($(CXX),g++)
+- ICXX = c++
+-endif
++ICXX = c++
+
+ #
+ # icecpp is built with a C compiler
+@@ -78,7 +72,7 @@
+ endif
+ endif
+
+- CXXFLAGS += $(CXXARCHFLAGS) -ftemplate-depth-128 -Wall -D_REENTRANT -I/usr/include/nptl
++ CXXFLAGS += $(CXXARCHFLAGS) -ftemplate-depth-128 -Wall -D_REENTRANT
+
+ ifneq ($(GENPIC),no)
+ CXXFLAGS += -fPIC
+@@ -154,9 +148,7 @@
+
+ endif
+
+-NPTL_LIB = /usr/$(libsubdir)/nptl
+-
+-BASELIBS = -lIceUtil -L$(NPTL_LIB) -lpthread -lrt
++BASELIBS = -lIceUtil -lpthread -lrt
+ LIBS = $(BZIP2_RPATH_LINK) -lIce $(BASELIBS)
+
+ ICEUTIL_OS_LIBS =
+--- ./Ice-3.3.0/cpp/config/Make.rules.orig 2008-09-17 11:13:00.000000000 +0200
++++ ./Ice-3.3.0/cpp/config/Make.rules 2008-09-17 11:20:19.000000000 +0200
+@@ -221,17 +221,11 @@
+ endif
+
+ ifdef ice_src_dist
+- SLICEPARSERLIB = $(libdir)/$(call mklibfilename,Slice,$(VERSION))
+- SLICE2CPP = $(bindir)/slice2cpp
+- SLICE2XSD = $(bindir)/slice2xsd
+- SLICE2FREEZE = $(bindir)/slice2freeze
+- SLICE2DOCBOOK = $(bindir)/slice2docbook
+-else
+- SLICEPARSERLIB = $(ice_dir)/$(libsubdir)/$(call mklibfilename,Slice,$(VERSION))
+- SLICE2CPP = $(ice_dir)/$(binsubdir)/slice2cpp
+- SLICE2XSD = $(ice_dir)/$(binsubdir)/slice2xsd
+- SLICE2FREEZE = $(ice_dir)/$(binsubdir)/slice2freeze
+- SLICE2DOCBOOK = $(ice_dir)/$(binsubdir)/slice2docbook
++ SLICEPARSERLIB = /usr/lib/$(call mklibfilename,Slice,$(VERSION))
++ SLICE2CPP = /usr/bin/slice2cpp
++ SLICE2XSD = /usr/bin/slice2xsd
++ SLICE2FREEZE = /usr/bin/slice2freeze
++ SLICE2DOCBOOK = /usr/bin/slice2docbook
+ endif
+
+ EVERYTHING = all depend clean install
+--- ./Ice-3.3.0/cpp/include/IceUtil/Config.h.orig 2008-09-17 11:01:12.000000000 +0200
++++ ./Ice-3.3.0/cpp/include/IceUtil/Config.h 2008-09-17 12:27:56.000000000 +0200
+@@ -16,18 +16,12 @@
+ // Most CPUs support only one endianness, with the notable exceptions
+ // of Itanium (IA64) and MIPS.
+ //
+-#if defined(__i386) || defined(_M_IX86) || defined(__x86_64) || \
+- defined(_M_X64) || defined(_M_IA64) || defined(__alpha__) || \
+- defined(__MIPSEL__)
+-# define ICE_LITTLE_ENDIAN
+-#elif defined(__sparc) || defined(__sparc__) || defined(__hppa) || \
+- defined(__ppc__) || defined(__powerpc) || defined(_ARCH_COM) || \
+- defined(__MIPSEB__)
+-# define ICE_BIG_ENDIAN
+-#else
+-# error "Unknown architecture"
++#ifdef __GLIBC__
++ #include <endian.h>
+ #endif
+
++#define ICE_LITTLE_ENDIAN
++
+ //
+ // 32 or 64 bit mode?
+ //
diff --git a/net-libs/ice/files/ice-3.3.0-destdir.patch b/net-libs/ice/files/ice-3.3.0-destdir.patch
new file mode 100644
index 000000000000..8bbc1efb58e0
--- /dev/null
+++ b/net-libs/ice/files/ice-3.3.0-destdir.patch
@@ -0,0 +1,18 @@
+--- Ice-3.3.0/cpp/config/Make.rules.orig 2008-09-16 11:19:04.000000000 +0200
++++ Ice-3.3.0/cpp/config/Make.rules 2008-09-16 11:20:07.000000000 +0200
+@@ -11,13 +11,13 @@
+ # Select an installation base directory. The directory will be created
+ # if it does not exist.
+ #
+-prefix ?= /opt/Ice-$(VERSION)
++prefix ?= DESTDIR_PLACE_HOLDER
+
+ #
+ # The "root directory" for runpath embedded in executables. Can be unset
+ # to avoid adding a runpath to Ice executables.
+ #
+-embedded_runpath_prefix ?= /opt/Ice-$(VERSION_MAJOR).$(VERSION_MINOR)
++#embedded_runpath_prefix ?= /opt/Ice-$(VERSION_MAJOR).$(VERSION_MINOR)
+
+ #
+ # Define OPTIMIZE as yes if you want to build with
diff --git a/net-libs/ice/files/ice-3.3.0-gentoo-db-include.patch b/net-libs/ice/files/ice-3.3.0-gentoo-db-include.patch
new file mode 100644
index 000000000000..a6656ff5a109
--- /dev/null
+++ b/net-libs/ice/files/ice-3.3.0-gentoo-db-include.patch
@@ -0,0 +1,110 @@
+--- ./Ice-3.3.0/cpp/src/Freeze/MapDb.h.orig 2008-09-16 10:46:13.000000000 +0200
++++ ./Ice-3.3.0/cpp/src/Freeze/MapDb.h 2008-09-16 10:48:07.000000000 +0200
+@@ -11,7 +11,7 @@
+ #define FREEZE_MAP_DB_H
+
+ #include <IceUtil/Config.h>
+-#include <db_cxx.h>
++#include <db4.6/db_cxx.h>
+ #include <Freeze/ConnectionI.h>
+ #include <Freeze/Map.h>
+
+--- ./Ice-3.3.0/cpp/src/Freeze/TransactionI.h.orig 2008-09-16 10:46:13.000000000 +0200
++++ ./Ice-3.3.0/cpp/src/Freeze/TransactionI.h 2008-09-16 10:48:07.000000000 +0200
+@@ -12,7 +12,7 @@
+
+ #include <Ice/CommunicatorF.h>
+ #include <Freeze/Transaction.h>
+-#include <db_cxx.h>
++#include <db4.6/db_cxx.h>
+
+ namespace Freeze
+ {
+--- ./Ice-3.3.0/cpp/src/Freeze/ObjectStore.h.orig 2008-09-16 10:46:13.000000000 +0200
++++ ./Ice-3.3.0/cpp/src/Freeze/ObjectStore.h 2008-09-16 10:48:07.000000000 +0200
+@@ -20,7 +20,7 @@
+
+ #include <vector>
+ #include <list>
+-#include <db_cxx.h>
++#include <db4.6/db_cxx.h>
+
+ namespace Freeze
+ {
+--- ./Ice-3.3.0/cpp/src/Freeze/Util.h.orig 2008-09-16 10:46:13.000000000 +0200
++++ ./Ice-3.3.0/cpp/src/Freeze/Util.h 2008-09-16 10:48:07.000000000 +0200
+@@ -12,7 +12,7 @@
+
+ #include <Ice/Ice.h>
+ #include <Freeze/DB.h>
+-#include <db_cxx.h>
++#include <db4.6/db_cxx.h>
+ #include <sys/stat.h>
+
+ #ifdef _WIN32
+--- ./Ice-3.3.0/cpp/src/Freeze/SharedDbEnv.h.orig 2008-09-16 10:46:13.000000000 +0200
++++ ./Ice-3.3.0/cpp/src/Freeze/SharedDbEnv.h 2008-09-16 10:48:07.000000000 +0200
+@@ -12,7 +12,7 @@
+
+ #include <Freeze/Map.h>
+ #include <Ice/Ice.h>
+-#include <db_cxx.h>
++#include <db4.6/db_cxx.h>
+ #include <map>
+ #include <list>
+
+--- ./Ice-3.3.0/cpp/src/FreezeScript/DumpDescriptors.cpp.orig 2008-09-16 10:46:13.000000000 +0200
++++ ./Ice-3.3.0/cpp/src/FreezeScript/DumpDescriptors.cpp 2008-09-16 10:48:07.000000000 +0200
+@@ -14,7 +14,7 @@
+ #include <FreezeScript/Exception.h>
+ #include <FreezeScript/Util.h>
+ #include <IceUtil/InputUtil.h>
+-#include <db_cxx.h>
++#include <db4.6/db_cxx.h>
+ #include <set>
+ #include <climits>
+
+--- ./Ice-3.3.0/cpp/src/FreezeScript/DumpDB.cpp.orig 2008-09-16 10:46:13.000000000 +0200
++++ ./Ice-3.3.0/cpp/src/FreezeScript/DumpDB.cpp 2008-09-16 10:48:07.000000000 +0200
+@@ -12,7 +12,7 @@
+ #include <FreezeScript/Exception.h>
+ #include <IceUtil/OutputUtil.h>
+ #include <IceUtil/Options.h>
+-#include <db_cxx.h>
++#include <db4.6/db_cxx.h>
+ #include <sys/stat.h>
+ #include <fstream>
+ #include <algorithm>
+--- ./Ice-3.3.0/cpp/src/FreezeScript/Util.cpp.orig 2008-09-16 10:46:13.000000000 +0200
++++ ./Ice-3.3.0/cpp/src/FreezeScript/Util.cpp 2008-09-16 10:48:07.000000000 +0200
+@@ -13,7 +13,7 @@
+ #include <Freeze/Connection.h>
+ #include <Freeze/Initialize.h>
+ #include <Slice/Preprocessor.h>
+-#include <db_cxx.h>
++#include <db4.6/db_cxx.h>
+ #include <sys/stat.h>
+
+ using namespace std;
+--- ./Ice-3.3.0/cpp/src/FreezeScript/Transformer.cpp.orig 2008-09-16 10:46:13.000000000 +0200
++++ ./Ice-3.3.0/cpp/src/FreezeScript/Transformer.cpp 2008-09-16 10:48:07.000000000 +0200
+@@ -19,7 +19,7 @@
+ #include <Freeze/Initialize.h>
+ #include <IceXML/Parser.h>
+ #include <IceUtil/InputUtil.h>
+-#include <db_cxx.h>
++#include <db4.6/db_cxx.h>
+ #include <climits>
+
+ using namespace std;
+--- ./Ice-3.3.0/cpp/src/FreezeScript/transformdb.cpp.orig 2008-09-16 10:46:13.000000000 +0200
++++ ./Ice-3.3.0/cpp/src/FreezeScript/transformdb.cpp 2008-09-16 10:48:07.000000000 +0200
+@@ -15,7 +15,7 @@
+ #include <Freeze/Transaction.h>
+ #include <Freeze/Catalog.h>
+ #include <IceUtil/Options.h>
+-#include <db_cxx.h>
++#include <db4.6/db_cxx.h>
+ #include <sys/stat.h>
+ #include <fstream>
+ #include <algorithm>
diff --git a/net-libs/ice/files/ice-3.3.0-makefile.patch b/net-libs/ice/files/ice-3.3.0-makefile.patch
new file mode 100644
index 000000000000..815a9519fbcc
--- /dev/null
+++ b/net-libs/ice/files/ice-3.3.0-makefile.patch
@@ -0,0 +1,50 @@
+--- ./Ice-3.3.0/cpp/config/Make.rules.Linux.orig 2008-09-16 14:05:40.000000000 +0200
++++ ./Ice-3.3.0/cpp/config/Make.rules.Linux 2008-09-16 14:08:25.000000000 +0200
+@@ -18,17 +18,17 @@
+ # Default compiler is c++ (aka g++).
+ #
+ ifeq ($(CXX),)
+- CXX = c++
++ ICXX = c++
+ endif
+
+ ifeq ($(CXX),g++)
+- CXX = c++
++ ICXX = c++
+ endif
+
+ #
+ # icecpp is built with a C compiler
+ #
+-CFLAGS = -O2
++CFLAGS += -O2
+
+ ifeq ($(MACHINE),x86_64)
+ ifeq ($(LP64),yes)
+@@ -38,7 +38,7 @@
+ endif
+ endif
+
+-ifeq ($(CXX),c++)
++ifeq ($(ICXX),c++)
+
+ ifeq ($(MACHINE),sparc64)
+ #
+@@ -78,7 +78,7 @@
+ endif
+ endif
+
+- CXXFLAGS = $(CXXARCHFLAGS) -ftemplate-depth-128 -Wall -D_REENTRANT -I/usr/include/nptl
++ CXXFLAGS += $(CXXARCHFLAGS) -ftemplate-depth-128 -Wall -D_REENTRANT -I/usr/include/nptl
+
+ ifneq ($(GENPIC),no)
+ CXXFLAGS += -fPIC
+@@ -122,7 +122,7 @@
+
+ endif
+
+-ifeq ($(CXX),icpc)
++ifeq ($(ICXX),icpc)
+ $(warning ===================================================================)
+ $(warning Intel C++ is currently not supported. The Ice team does not)
+ $(warning maintain Intel C++ specific portions of the source code or build)
diff --git a/net-libs/ice/files/ice-3.3.0-thread-fix.patch b/net-libs/ice/files/ice-3.3.0-thread-fix.patch
new file mode 100644
index 000000000000..f738e231c52f
--- /dev/null
+++ b/net-libs/ice/files/ice-3.3.0-thread-fix.patch
@@ -0,0 +1,16 @@
+--- ./Ice-3.3.0/cpp/src/IceUtil/Thread.cpp.orig 2008-11-20 16:40:34.000000000 +0200
++++ ./Ice-3.3.0/cpp/src/IceUtil/Thread.cpp 2008-11-20 16:42:41.000000000 +0200
+@@ -438,7 +438,12 @@
+ }
+ else
+ {
+- int rc = pthread_create(&_thread, 0, startHook, this);
++ pthread_attr_t attr;
++ int rc = pthread_attr_init(&attr);
++ if(rc != 0)
++ rc = pthread_attr_setstacksize(&attr, PTHREAD_STACK_MIN);
++ if(rc != 0)
++ rc = pthread_create(&_thread, 0, startHook, this);
+ if(rc != 0)
+ {
+ __decRef();
diff --git a/net-libs/ice/ice-3.3.0.ebuild b/net-libs/ice/ice-3.3.0.ebuild
new file mode 100644
index 000000000000..5d00d0e72eeb
--- /dev/null
+++ b/net-libs/ice/ice-3.3.0.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-libs/ice/ice-3.3.0.ebuild,v 1.1 2009/01/07 15:19:18 b33fc0d3 Exp $
+
+inherit eutils mono multilib toolchain-funcs flag-o-matic
+
+DESCRIPTION="The Internet Communications Engine (Ice) is a modern object-oriented middleware with support for C++, .NET, Java, Python, Ruby, and PHP"
+HOMEPAGE="http://www.zeroc.com/ice.html"
+SRC_URI="http://www.zeroc.com/download/Ice/3.3/Ice-${PV}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~x86 ~arm"
+IUSE="mono"
+
+DEPEND=">=sys-libs/db-4.6.21
+ >=dev-libs/expat-1.95.7
+ >=dev-libs/openssl-0.9.7
+ >=app-arch/bzip2-1.0.0
+ >=dev-cpp/libmcpp-2.7
+ mono? (
+ >=dev-lang/mono-1.1.10
+ )"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/Ice-${PV}
+
+src_unpack() {
+ unpack ${A}
+
+ #epatch "${FILESDIR}/ice-3.3.0-gentoo-db-include.patch" # can be done better
+ epatch "${FILESDIR}/ice-3.3.0-destdir.patch"
+ epatch "${FILESDIR}/ice-3.3.0-makefile.patch"
+ #epatch "${FILESDIR}/ice-3.3.0-thread-fix.patch"
+
+ if tc-is-cross-compiler ; then
+ epatch "${FILESDIR}/ice-3.3.0-cross-compile.patch"
+ fi
+}
+
+src_compile() {
+ if tc-is-cross-compiler ; then
+ # uncomment for kernel with no epoll support
+ # append-flags -DICE_NO_EPOLL
+ export CXX="${CHOST}-g++"
+ fi
+
+ cd "${S}"/cpp;
+ emake || die 'emake [cpp module] failed'
+
+ if use mono; then
+ cd "${S}"/cs;
+ emake || die 'emake [mono module] failed'
+ fi
+}
+
+src_install() {
+ dodir /usr/share/"${PN}"
+
+ cd "${S}"/cpp;
+ sed -i "s/DESTDIR_PLACE_HOLDER/${D//\//\\/}\/usr/" config/Make.rules
+ emake install || die 'emake install failed'
+
+ if use mono; then
+ cd "${S}"/cs/bin;
+ for dll in *.dll; do
+ gacutil -i ${dll} -root "${D}"/usr/$(get_libdir) \
+ -gacdir /usr/$(get_libdir) -package ${P} || die 'gacutil failed'
+ done
+ fi
+
+ cd "${D}"/usr
+ rm -rf LICENSE ICE_LICENSE
+
+ mv "${D}"/usr/config "${D}"/usr/share/"${PN}"
+ mv "${D}"/usr/slice "${D}"/usr/share/"${PN}"
+}
diff --git a/net-libs/ice/metadata.xml b/net-libs/ice/metadata.xml
new file mode 100644
index 000000000000..8d1f45275d9e
--- /dev/null
+++ b/net-libs/ice/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>no-herd</herd>
+ <maintainer>
+ <email>b33fc0d3@gentoo.org</email>
+ <name>Ahmed Ammar</name>
+ </maintainer>
+<longdescription lang="en">The Internet Communications Engine (Ice) is a modern object-oriented middleware with support for C++, .NET, Java, Python, Ruby, and PHP</longdescription>
+</pkgmetadata>
+