media-libs/lcms: fix multilocalized profiles, bug #638192
authorSergei Trofimovich <slyfox@gentoo.org>
Fri, 24 Nov 2017 22:36:57 +0000 (22:36 +0000)
committerSergei Trofimovich <slyfox@gentoo.org>
Fri, 24 Nov 2017 22:36:57 +0000 (22:36 +0000)
Reported-by: Rolf Eike Beer
Closes: https://bugs.gentoo.org/638192
Package-Manager: Portage-2.3.16, Repoman-2.3.6

media-libs/lcms/Manifest
media-libs/lcms/files/lcms-2.9-BE-test.patch [new file with mode: 0644]
media-libs/lcms/lcms-2.9.ebuild

index 473514ee3882fd21bda961875c3de8cccd2d395c..52781d41770d743cc07499b141a54d29c411267c 100644 (file)
@@ -1,2 +1,2 @@
-DIST lcms2-2.8.tar.gz 6687005 SHA256 66d02b229d2ea9474e62c2b6cd6720fde946155cd1d0d2bffdab829790a0fb22 SHA512 a9478885b4892c79314a2ef9ab560e6655ac8f2d17abae0805e8b871138bb190e21f0e5c805398449f9dad528dc50baaf9e3cce8b8158eb8ff74179be5733f8f WHIRLPOOL 57c6518fa758ee69da55faeb6810ede6463a3c6b2c70e0d2ccfa789fe09cd8192fdeda04aab9800c7af3b11fea25cb08db8b914a195b48f47f3270025ce8b9b3
-DIST lcms2-2.9.tar.gz 10953949 SHA256 d4ad6f8718f7f9dc8b2a3276c9f237aa3f5eccdcf98b86dedc4262d8a1e7f009 SHA512 d91e320a97ef9d64cce31585b7df7c85accb52a0c46a10ed0f45a0ba46cc2ad6687de5151e59ac62170ea878ab48595c1493125f4afb1872824afe1c3f3c459b WHIRLPOOL 1eac52a026386b7bf8aa3fac66b485c622bd8f659c1351d5dde4acfd1fd0d6a64489b43464e203a84062b7a88a39a4ea41149c6102710016127ab10d36bc3db5
+DIST lcms2-2.8.tar.gz 6687005 BLAKE2B fb187eeb5ffbd5bc9c836fa75c26111605c582281edcdf27c91175248b8b71c69017b9bcd632b5a51360173777c87dff58cab51d209c0e8dda9f329f0d2e3eaf SHA512 a9478885b4892c79314a2ef9ab560e6655ac8f2d17abae0805e8b871138bb190e21f0e5c805398449f9dad528dc50baaf9e3cce8b8158eb8ff74179be5733f8f
+DIST lcms2-2.9.tar.gz 10953949 BLAKE2B 6f22a0a8901562e8a84a82c077f31b0155bf81d2b5023211059fa157061e78ebe170bd4744f6d15ab76c96ff9dae521a7560e9665a230337d149e1f0c9018788 SHA512 d91e320a97ef9d64cce31585b7df7c85accb52a0c46a10ed0f45a0ba46cc2ad6687de5151e59ac62170ea878ab48595c1493125f4afb1872824afe1c3f3c459b
diff --git a/media-libs/lcms/files/lcms-2.9-BE-test.patch b/media-libs/lcms/files/lcms-2.9-BE-test.patch
new file mode 100644 (file)
index 0000000..577c77c
--- /dev/null
@@ -0,0 +1,54 @@
+https://bugs.gentoo.org/638192
+
+From 8aca404f486429e2304bd6572c2a6fb89e43cf2d Mon Sep 17 00:00:00 2001
+From: Marti Maria <info@littlecms.com>
+Date: Mon, 20 Nov 2017 21:59:38 +0100
+Subject: [PATCH] fix for big endian MLU bug
+
+Thanks to Sergei Trofimovic for the fix
+---
+ AUTHORS        |  1 +
+ src/cmsnamed.c | 20 ++++++--------------
+ 2 files changed, 7 insertions(+), 14 deletions(-)
+
+diff --git a/src/cmsnamed.c b/src/cmsnamed.c
+index 95dc18b..773e4d2 100644
+--- a/src/cmsnamed.c
++++ b/src/cmsnamed.c
+@@ -183,27 +183,19 @@ cmsBool AddMLUBlock(cmsMLU* mlu, cmsUInt32Number size, const wchar_t *Block,
+ static
+ cmsUInt16Number strTo16(const char str[3])
+-{
++{   
+     const cmsUInt8Number* ptr8 = (const cmsUInt8Number*)str;
+-    cmsUInt16Number n = (cmsUInt16Number) (((cmsUInt16Number) ptr8[1] << 8) | ptr8[0]);
++    cmsUInt16Number n = (cmsUInt16Number)(((cmsUInt16Number)ptr8[0] << 8) | ptr8[1]);
+-    return _cmsAdjustEndianess16(n);
++    return n;
+ }
+ static
+ void strFrom16(char str[3], cmsUInt16Number n)
+ {
+-    // Assuming this would be aligned
+-    union {
+-
+-       cmsUInt16Number n;
+-       cmsUInt8Number str[2];
+-       
+-    } c;
+-
+-    c.n = _cmsAdjustEndianess16(n);  
+-
+-    str[0] = (char) c.str[0]; str[1] = (char) c.str[1]; str[2] = (char) 0;
++    str[0] = (char)(n >> 8);
++    str[1] = (char)n;
++    str[2] = (char)0;
+ }
+-- 
+2.15.0
+
index 76f32199b4f681bc8a55c72a7d77eb3ec2124cba..91083a71120c1ad9916ade4ee485450369acd3c1 100644 (file)
@@ -22,6 +22,8 @@ DEPEND="${RDEPEND}"
 
 S="${WORKDIR}/lcms2-${PV}"
 
+PATCHES=("${FILESDIR}"/${P}-BE-test.patch)
+
 src_prepare() {
        default
        elibtoolize  # for Prefix/Solaris