25643948 Update lcms2 to version 2.8
authorRich Burridge <rich.burridge@oracle.com>
Mon, 17 Apr 2017 14:50:39 -0700
changeset 7883 8e2a60e33f89
parent 7882 cd19b4630e4c
child 7884 a8976bcbb84b
25643948 Update lcms2 to version 2.8
components/lcms2/Makefile
components/lcms2/lcms2.p5m
components/lcms2/patches/01-alignment.patch
components/lcms2/test/results-all.master
--- a/components/lcms2/Makefile	Mon Apr 17 14:48:05 2017 -0700
+++ b/components/lcms2/Makefile	Mon Apr 17 14:50:39 2017 -0700
@@ -23,18 +23,19 @@
 # Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 BUILD_BITS= 64_and_32
+COMPILER= gcc
 include ../../make-rules/shared-macros.mk
 
 COMPONENT_NAME =        lcms2
-COMPONENT_VERSION=      2.7
+COMPONENT_VERSION=      2.8
 COMPONENT_PROJECT_URL=  http://www.littlecms.com/
 COMPONENT_ARCHIVE_HASH= \
-    sha256:4524234ae7de185e6b6da5d31d6875085b2198bc63b1211f7dde6e2d197d6a53
+    sha256:66d02b229d2ea9474e62c2b6cd6720fde946155cd1d0d2bffdab829790a0fb22
 COMPONENT_ARCHIVE_URL=  http://sourceforge.net/projects/lcms/files/lcms/$(COMPONENT_VERSION)/$(COMPONENT_ARCHIVE)
 COMPONENT_BUGDB=	utility/lcms
 COMPONENT_ANITYA_ID=	9815
 
-TPNO=			25712
+TPNO=			33986
 
 include $(WS_MAKE_RULES)/common.mk
 
@@ -77,6 +78,7 @@
 	'-e "s|^.*$(CC).*$$|XXX_REMOVE_XXX|g" ' \
 	'-e "s|^.*source=.*libtool=no.*$$|XXX_REMOVE_XXX|g" ' \
 	'-e "s|^.*DEPDIR=.deps.*$$|XXX_REMOVE_XXX|g" ' \
+	'-e "s|^make.*(ignored)*$$|XXX_REMOVE_XXX|g" ' \
 	'-e "s|^make.*: Leaving directory.*$$|XXX_REMOVE_XXX|g" ' \
 	'-e "s|^make.*: Entering directory.*$$|XXX_REMOVE_XXX|g" ' \
 	'-e "/^XXX_REMOVE_XXX$$/d" '
--- a/components/lcms2/lcms2.p5m	Mon Apr 17 14:48:05 2017 -0700
+++ b/components/lcms2/lcms2.p5m	Mon Apr 17 14:50:39 2017 -0700
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 
 <transform file path=usr.*/man/.+ -> default mangler.man.stability "pass-through volatile">
@@ -45,13 +45,13 @@
 file path=usr/bin/transicc
 file path=usr/include/lcms/lcms2.h
 file path=usr/include/lcms/lcms2_plugin.h
-link path=usr/lib/$(MACH64)/liblcms2.so target=liblcms2.so.2.0.7
-link path=usr/lib/$(MACH64)/liblcms2.so.2 target=liblcms2.so.2.0.7
-file path=usr/lib/$(MACH64)/liblcms2.so.2.0.7
+link path=usr/lib/$(MACH64)/liblcms2.so target=liblcms2.so.2.0.8
+link path=usr/lib/$(MACH64)/liblcms2.so.2 target=liblcms2.so.2.0.8
+file path=usr/lib/$(MACH64)/liblcms2.so.2.0.8
 file path=usr/lib/$(MACH64)/pkgconfig/lcms2.pc
-link path=usr/lib/liblcms2.so target=liblcms2.so.2.0.7
-link path=usr/lib/liblcms2.so.2 target=liblcms2.so.2.0.7
-file path=usr/lib/liblcms2.so.2.0.7
+link path=usr/lib/liblcms2.so target=liblcms2.so.2.0.8
+link path=usr/lib/liblcms2.so.2 target=liblcms2.so.2.0.8
+file path=usr/lib/liblcms2.so.2.0.8
 file path=usr/lib/llib-llcms2
 file path=usr/lib/llib-llcms2.ln
 file path=usr/lib/pkgconfig/lcms2.pc
--- a/components/lcms2/patches/01-alignment.patch	Mon Apr 17 14:48:05 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-Patch from upstream git repo to allow us to specify correct alignment to fix
-24494517 lcms2 chunk allocator doesn't align properly for SPARC, causes bus errors
-
-From 51809bd437c159fda9a753959361d208ff47228b Mon Sep 17 00:00:00 2001
-From: Chris Liddell <[email protected]>
-Date: Tue, 24 Mar 2015 09:03:55 +0000
-Subject: [PATCH] Allow ptr alignment to be set at build time
-
-At least some configurations of gcc on UltraSPARC require 8 byte alignment of
-memory pointers (even on 32 bit user space, where sizeof(void *) == 4).
-
-Rather than contaminate the source, provide ability to set the ptr alignment
-on the compiler command line (on Unix, using CFLAGS when calling configure).
----
- src/lcms2_internal.h | 10 +++++++++-
- 1 file changed, 9 insertions(+), 1 deletion(-)
-
-diff --git a/src/lcms2_internal.h b/src/lcms2_internal.h
-index 9fe91ad..1e46740 100644
---- a/src/lcms2_internal.h
-+++ b/src/lcms2_internal.h
-@@ -57,7 +57,15 @@
- #define _cmsALIGNLONG(x) (((x)+(sizeof(cmsUInt32Number)-1)) & ~(sizeof(cmsUInt32Number)-1))
- 
- // Alignment to memory pointer
--#define _cmsALIGNMEM(x)  (((x)+(sizeof(void *) - 1)) & ~(sizeof(void *) - 1))
-+
-+// (Ultra)SPARC with gcc requires ptr alignment of 8 bytes
-+// even though sizeof(void *) is only four: for greatest flexibility
-+// allow the build to specify ptr alignment.
-+#ifndef CMS_PTR_ALIGNMENT
-+# define CMS_PTR_ALIGNMENT sizeof(void *)
-+#endif
-+
-+#define _cmsALIGNMEM(x)  (((x)+(CMS_PTR_ALIGNMENT - 1)) & ~(CMS_PTR_ALIGNMENT - 1))
- 
- // Maximum encodeable values in floating point
- #define MAX_ENCODEABLE_XYZ  (1.0 + 32767.0/32768.0)
--- a/components/lcms2/test/results-all.master	Mon Apr 17 14:48:05 2017 -0700
+++ b/components/lcms2/test/results-all.master	Mon Apr 17 14:50:39 2017 -0700
@@ -1,14 +1,15 @@
 /usr/gnu/bin/make  testcms
-"testcms2.c", line 1739: warning: statement not reached
-"testcms2.c", line 1755: warning: statement not reached
-"testcms2.c", line 1770: warning: statement not reached
-"testcms2.c", line 1785: warning: statement not reached
-"testcms2.c", line 1800: warning: statement not reached
-"testcms2.c", line 1815: warning: statement not reached
+depbase=`echo testcms2.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
+mv -f $depbase.Tpo $depbase.Po
+depbase=`echo testplugin.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
+mv -f $depbase.Tpo $depbase.Po
+depbase=`echo zoo_icc.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
+mv -f $depbase.Tpo $depbase.Po
 if [ $(SOURCE_DIR) != .. ]; then \
 	cp $(SOURCE_DIR)/testbed/*.ic? ../testbed; \
 fi
 cp: $(SOURCE_DIR)/testbed/bad.icc and ../testbed/bad.icc are identical
+cp: $(SOURCE_DIR)/testbed/crayons.icc and ../testbed/crayons.icc are identical
 cp: $(SOURCE_DIR)/testbed/ibm-t61.icc and ../testbed/ibm-t61.icc are identical
 cp: $(SOURCE_DIR)/testbed/new.icc and ../testbed/new.icc are identical
 cp: $(SOURCE_DIR)/testbed/test1.icc and ../testbed/test1.icc are identical
@@ -17,8 +18,7 @@
 cp: $(SOURCE_DIR)/testbed/test4.icc and ../testbed/test4.icc are identical
 cp: $(SOURCE_DIR)/testbed/test5.icc and ../testbed/test5.icc are identical
 cp: $(SOURCE_DIR)/testbed/toosmall.icc and ../testbed/toosmall.icc are identical
-make[1]: [check] Error 2 (ignored)
-./testcms
+LD_LIBRARY_PATH=../src/.libs ./testcms
 
 Installing debug memory plug-in ... done.
 Installing error logger ... done.
@@ -113,6 +113,7 @@
 Checking Named color lists ...Ok.
 Checking Profile creation .............................................Ok.
 Checking Header version ...Ok.
+Checking Multilocalized profile ...Ok.
 Checking Error reporting on bad profiles ...Ok.
 Checking Error reporting on bad transforms ...Ok.
 Checking Curves only transforms .........Ok.
@@ -153,6 +154,8 @@
 Checking Null transform on floats ...Ok.
 Checking Set free a tag ...Ok.
 Checking Matrix simplification ...Ok.
+Checking Planar 8 optimization ...Ok.
+Checking Transform line stride RGB ...Ok.
 Checking Context memory handling ...Ok.
 Checking Simple context functionality ...Ok.
 Checking Alarm codes context ...Ok.