# HG changeset patch # User Rich Burridge # Date 1492465839 25200 # Node ID 8e2a60e33f89d5a54ee8e885a805f779b557c971 # Parent cd19b4630e4c1fb45ebcb9a4d7000f0626f65573 25643948 Update lcms2 to version 2.8 diff -r cd19b4630e4c -r 8e2a60e33f89 components/lcms2/Makefile --- 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" ' diff -r cd19b4630e4c -r 8e2a60e33f89 components/lcms2/lcms2.p5m --- 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. # 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 diff -r cd19b4630e4c -r 8e2a60e33f89 components/lcms2/patches/01-alignment.patch --- 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 -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) diff -r cd19b4630e4c -r 8e2a60e33f89 components/lcms2/test/results-all.master --- 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.