From 3e39bd62bac2fcad9b4940990d0beaa315fdec60 Mon Sep 17 00:00:00 2001
From: Juan RP <xtraeme@gmail.com>
Date: Thu, 24 May 2012 12:00:22 +0200
Subject: [PATCH] Ice: make this build with gcc-4.7.

---
 srcpkgs/Ice/Ice-devel.template                |  8 +++----
 srcpkgs/Ice/libIce.template                   |  1 -
 .../Ice/patches/missing-unistd-header.patch   | 23 +++++++++++++++++++
 srcpkgs/Ice/template                          | 12 ++++------
 4 files changed, 31 insertions(+), 13 deletions(-)
 create mode 100644 srcpkgs/Ice/patches/missing-unistd-header.patch

diff --git a/srcpkgs/Ice/Ice-devel.template b/srcpkgs/Ice/Ice-devel.template
index 39a5a362778..cccc7997b69 100644
--- a/srcpkgs/Ice/Ice-devel.template
+++ b/srcpkgs/Ice/Ice-devel.template
@@ -1,14 +1,12 @@
 # Template file for 'Ice-devel'.
 #
-depends="Ice"
+noarch=yes
+depends="libIce>=$version"
 short_desc="${short_desc} (Development files)"
 long_desc="${long_desc}
 
  This package contains files for development, headers, static libs, etc."
 
-
-
-do_install()
-{
+do_install() {
         vmove usr/include usr
 }
diff --git a/srcpkgs/Ice/libIce.template b/srcpkgs/Ice/libIce.template
index 5b663ec5af2..f47cfd86fa3 100644
--- a/srcpkgs/Ice/libIce.template
+++ b/srcpkgs/Ice/libIce.template
@@ -5,7 +5,6 @@ long_desc="${long_desc}
 
  This package contains the Ice runtime libraries."
 
-
 do_install() {
         vmove usr/lib usr
 }
diff --git a/srcpkgs/Ice/patches/missing-unistd-header.patch b/srcpkgs/Ice/patches/missing-unistd-header.patch
new file mode 100644
index 00000000000..008c3c703e7
--- /dev/null
+++ b/srcpkgs/Ice/patches/missing-unistd-header.patch
@@ -0,0 +1,23 @@
+--- cpp/src/IceUtil/FileUtil.cpp.orig	2012-05-24 11:42:01.584952006 +0200
++++ cpp/src/IceUtil/FileUtil.cpp	2012-05-24 11:42:13.839655835 +0200
+@@ -13,6 +13,7 @@
+ #include <IceUtil/Exception.h>
+ #include <climits>
+ #include <string.h>
++#include <unistd.h>
+ 
+ #ifdef _WIN32
+ #  include <process.h>
+--- cpp/src/Slice/FileTracker.cpp.orig	2012-05-24 11:43:53.797240067 +0200
++++ cpp/src/Slice/FileTracker.cpp	2012-05-24 11:44:09.908850687 +0200
+@@ -9,9 +9,7 @@
+ 
+ #include <Slice/FileTracker.h>
+ 
+-#ifdef __sun
+-#   include <unistd.h>
+-#endif
++#include <unistd.h>
+ 
+ #ifdef _WIN32
+ #   include <direct.h>
diff --git a/srcpkgs/Ice/template b/srcpkgs/Ice/template
index d9561eaf70f..ef8f221e012 100644
--- a/srcpkgs/Ice/template
+++ b/srcpkgs/Ice/template
@@ -4,11 +4,13 @@ version=3.4.2
 revision=5
 build_wrksrc=cpp
 homepage="http://www.zeroc.com"
-distfiles="${homepage}/download/Ice/3.4/${pkgname}-${version}.tar.gz"
+subpackages="lib$pkgname $pkgname-devel"
+# XXX: other language bindings
 makedepends="mcpp-devel db-devel expat-devel openssl-devel"
 short_desc="The Internet Communications Engine (Ice)"
 maintainer="davehome <davehome@redthumb.info.tm>"
 license="GPL-2, ICE"
+distfiles="${homepage}/download/Ice/3.4/${pkgname}-${version}.tar.gz"
 checksum=dcf0484495b6df0849ec90a00e8204fe5fe1c0d3882bb438bf2c1d062f15c979
 long_desc="
  The Internet Communications Engine (Ice) is a modern object-oriented toolkit
@@ -20,10 +22,6 @@ long_desc="
  failed connection attempts (to name but a few of dozens of such low-level
  details)."
 
-subpackages="lib$pkgname $pkgname-devel"
-
-# XXX: other language bindings
-
 do_configure() {
 	sed -i -e "s|^#OPTIMIZE|OPTIMIZE|" config/Make.rules
 	sed -i -e "s|x)/config|x)/lib/Ice/config|" config/Make.rules
@@ -32,14 +30,14 @@ do_configure() {
 }
 
 do_build() {
-	make prefix=/usr ${makejobs}
+	make prefix=/usr CXXFLAGS="$CXXFLAGS -fPIC -DPIC -fpermissive" ${makejobs}
 }
 
 do_install() {
 	if [ "$XBPS_MACHINE" = "x86_64" ]; then
 		vmkdir usr/lib
 		cd ${DESTDIR}/usr && ln -s lib lib64
-		cd ${wrksrc}
+		cd ${wrksrc}/${build_wrksrc}
 	fi
 	make prefix=${DESTDIR}/usr install
 	[ -h ${DESTDIR}/usr/lib64 ] && rm -f ${DESTDIR}/usr/lib64