Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 30 Jan 2017 22:29:24 +0000 (UTC)
From:      Michael Gmelin <grembo@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r432888 - in head: . devel/ice devel/ice/files
Message-ID:  <201701302229.v0UMTOad002306@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: grembo
Date: Mon Jan 30 22:29:23 2017
New Revision: 432888
URL: https://svnweb.freebsd.org/changeset/ports/432888

Log:
  Fix 64-bit platform detection for pre C++11 compilers.
  
  In version 3.6.3, Ice started detecting 64 bit platforms by
  checking __WORDSIZE. When using C++98/03, __STDC_LIMIT_MACROS isn't
  set by default and __WORDSIZE is always set to 32, even if the
  required headers weren't included beforehand. Until a proper
  fix is available in base (e.g. not setting __WORDSIZE at all if
  __STDC_LIMIT_MACROS isn't defined), we detect if C++11 or newer
  is used and only rely on __WORDSIZE in this case, otherwise
  we fall back to detecting the platform using other macros.
  
  PR:		216609
  Reported by:	jbeich

Modified:
  head/UPDATING
  head/devel/ice/Makefile
  head/devel/ice/files/patch-cpp-include-IceUtil-Config.h

Modified: head/UPDATING
==============================================================================
--- head/UPDATING	Mon Jan 30 22:09:49 2017	(r432887)
+++ head/UPDATING	Mon Jan 30 22:29:23 2017	(r432888)
@@ -5,6 +5,17 @@ they are unavoidable.
 You should get into the habit of checking this file for changes each time
 you update your ports collection, before attempting any port upgrades.
 
+20170130:
+  AFFECTS: users of devel/ice, devel/py-ice, devel/php5-ice
+  AUTHOR: grembo@FreeBSD.org
+
+  Since __WORDSIZE as defined by <stdint.h> always reports 32 when using
+  C++98/03 (unless __STDC_LIMIT_MACROS is set explictly), Ice 3.6.3 used
+  "long long" for Int64 instead of "long" on 64-bit platforms by mistake.
+  A workaround has been added in version 3.6.3_2 of these three ports,
+  requiring to upgrade all of them at the same time and to rebuild all
+  custom code that links against them.
+
 20170129:
   AFFECTS: users of multimedia/motion
   AUTHOR: jhale@FreeBSD.org

Modified: head/devel/ice/Makefile
==============================================================================
--- head/devel/ice/Makefile	Mon Jan 30 22:09:49 2017	(r432887)
+++ head/devel/ice/Makefile	Mon Jan 30 22:29:23 2017	(r432888)
@@ -3,7 +3,7 @@
 
 PORTNAME=		Ice
 PORTVERSION=		3.6.3
-PORTREVISION=		1
+PORTREVISION=		2
 DISTVERSIONPREFIX=	v
 CATEGORIES=		devel
 

Modified: head/devel/ice/files/patch-cpp-include-IceUtil-Config.h
==============================================================================
--- head/devel/ice/files/patch-cpp-include-IceUtil-Config.h	Mon Jan 30 22:09:49 2017	(r432887)
+++ head/devel/ice/files/patch-cpp-include-IceUtil-Config.h	Mon Jan 30 22:29:23 2017	(r432888)
@@ -1,6 +1,24 @@
---- cpp/include/IceUtil/Config.h.orig	2015-06-27 15:37:32.688102665 +0000
-+++ cpp/include/IceUtil/Config.h	2015-06-27 15:37:34.926179135 +0000
-@@ -49,6 +49,16 @@
+--- cpp/include/IceUtil/Config.h.orig	2016-10-05 16:59:08.000000000 +0200
++++ cpp/include/IceUtil/Config.h	2017-01-30 22:11:08.235308977 +0100
+@@ -80,13 +80,15 @@
+     //
+ #   include <stdint.h>
+ 
+-#   if defined(__WORDSIZE) && (__WORDSIZE == 64)
++#   if (__cplusplus >= 201103L) && defined(__WORDSIZE) && (__WORDSIZE == 64)
+ #      define ICE_64
+-#   elif defined(__WORDSIZE) && (__WORDSIZE == 32)
++#   elif (__cplusplus >= 201103L) && defined(__WORDSIZE) && (__WORDSIZE == 32)
+ #      define ICE_32
+ #   elif defined(__sun) && (defined(__sparcv9) || defined(__x86_64))  || \
+          defined(__linux) && defined(__x86_64)                        || \
+          defined(__APPLE__) && defined(__x86_64)                      || \
++         defined(__FreeBSD__) && defined(__x86_64)                    || \
++         defined(__FreeBSD__) && defined(__LP64__)                    || \
+          defined(__hppa) && defined(__LP64__)                         || \
+          defined(_ARCH_COM) && defined(__64BIT__)                     || \
+          defined(__alpha__)                                           || \
+@@ -98,6 +100,16 @@
  #endif
  
  //



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