The Internet Communications Engine, or Ice, is an object-oriented middleware that provides object-oriented Remote Procedure Call, grid computing and Publish/subscribe functionality developed by ZeroC and dual-licensed under the GNU GPL and a proprietary license. It supports C++, Java, . NET languages (such as C# or Visual Basic), Objective-C, Python, PHP, and Ruby on most major operating systems such as Linux, Solaris, Windows, and Mac OS X. A light variant of ICE runtime, called Ice-e, may run inside mobile phones. As its name indicates, the middleware may be used for internet applications without the need to use the HTTP protocol and is capable of traversing firewalls, unlike most other middleware.

Official Site: ICE
Wikipedia info: Wikipedia ICE info.


DEPRECATED HOW TO, CLICK HERE FOR THE CURRENT INFO.

Preparing the portage tree, more info HERE:

evo ~ # mkdir -p /usr/local/portage/profiles/ evo ~ # echo "Headup Overlay" > /usr/local/portage/profiles/repo_name evo ~ # mkdir -p /usr/local/portage/dev-php5/IcePHP/ evo ~ # echo "PORTDIR_OVERLAY=/usr/local/portage" >> /etc/make.conf evo ~ # cd /usr/local/portage/dev-php5/IcePHP/ evo IcePHP # wget http://headup.sytes.net/zbox/HeadupOverlay/dev-php5/IcePHP/IcePHP-3.2.1.ebuild evo IcePHP # ebuild IcePHP-3.2.1 manifest >>> Downloading 'http://www.zeroc.com/download/Ice/3.2/IcePHP-3.2.1.tar.gz' --2011-12-12 12:26:21-- http://www.zeroc.com/download/Ice/3.2/IcePHP-3.2.1.tar.gz Resolving www.zeroc.com (www.zeroc.com)... 184.73.227.248 Connecting to www.zeroc.com (www.zeroc.com)|184.73.227.248|:80... connected. HTTP request sent, awaiting response... 302 Found Location: http://download.zeroc.com/Ice/3.2/IcePHP-3.2.1.tar.gz [following] --2011-12-12 12:26:21-- http://download.zeroc.com/Ice/3.2/IcePHP-3.2.1.tar.gz Resolving download.zeroc.com (download.zeroc.com)... 216.137.43.110, 216.137.43.163, 216.137.43.119, ... Connecting to download.zeroc.com (download.zeroc.com)|216.137.43.110|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 78072 (76K) [application/x-tar] Saving to: `/usr/portage/distfiles/IcePHP-3.2.1.tar.gz' 100%[=================================================================>] 78,072 103K/s in 0.7s 2011-12-12 12:26:23 (103 KB/s) - `/usr/portage/distfiles/IcePHP-3.2.1.tar.gz' saved [78072/78072] >>> Creating Manifest for /usr/local/portage/dev-php5/IcePHP

Check the files

evo IcePHP # ll total 8 -rw-r--r-- 1 root root 994 Dec 2 15:04 IcePHP-3.2.1.ebuild -rw-r--r-- 1 root root 394 Dec 12 12:26 Manifest

 

Searching in our portage tree and portdir overlay:


evo IcePHP # emerge IcePHP -s Searching... [ Results for search key : IcePHP ] [ Applications found : 1 ] * dev-php5/IcePHP [ Masked ] Latest version available: 3.2.1 Latest version installed: [ Not Installed ] Size of files: 76 kB Homepage: http://www.zeroc.com Description: PHP bindings for the ICE middleware License: GPL-2

Preparing and making our system consistent (good practice):

evo IcePHP # echo dev-php5/IcePHP ~x86 >> /etc/portage/package.keywords evo IcePHP # emerge IcePHP -pv Calculating dependencies... done! >>> Verifying ebuild manifests >>> Emerging (1 of 1) dev-php5/IcePHP-3.2.1 from Headup-Overlay >>> Installing (1 of 1) dev-php5/IcePHP-3.2.1 >>> Jobs: 1 of 1 complete Load avg: 0.82, 1.89, 2.63 * Messages for package dev-php5/IcePHP-3.2.1: * Package: dev-php5/IcePHP-3.2.1 * Repository: Headup-Overlay * USE: elibc_glibc kernel_linux userland_GNU x86 * FEATURES: preserve-libs sandbox userpriv usersandbox * Package: dev-php5/IcePHP-3.2.1 * Repository: Headup-Overlay * USE: elibc_glibc kernel_linux userland_GNU x86 * FEATURES: preserve-libs sandbox userpriv usersandbox * * You must check the extensions configuration under the php.ini * file, and don't forget to restart your apache web server!! * * Removing /usr/share/info >>> Auto-cleaning packages... >>> No outdated packages were found on your system. * IMPORTANT: config file '/etc/dispatch-conf.conf' needs updating. * See the CONFIGURATION FILES section of the emerge * man page to learn how to update config files. * IMPORTANT: 6 news items need reading for repository 'gentoo'. * Use eselect news to read news items.

Configure the ICE extension in the PHP extension language.

evo IcePHP # cat /etc/php/apache2-php5/php.ini ... extension_dir = /etc/php/apache2-php5/ext extension = IcePHP.so ice.profiles = /etc/php/apache2-php5/profiles.ini ...

Configure the project profile.

evo IcePHP # cat /etc/php/apache2-php5/profiles.ini [IceProject] ice.config=/home/to/project/configure/client.configure ice.slice=-I/usr/share/Ice/slice /usr/share/Ice/slice/Glacier2/Router.ice /home/to/project/Slice/project.ice

And restart the apache web server

evo IcePHP # /etc/init.d/apache2 restart * Stopping apache2 ... [ ok ] * Starting apache2 ... [ ok ]