diff options
author | Virgil Dupras <vdupras@gentoo.org> | 2018-12-20 20:10:18 -0500 |
---|---|---|
committer | Virgil Dupras <vdupras@gentoo.org> | 2018-12-20 20:10:18 -0500 |
commit | a1b87a4250380f9fbc024147fa32eb679bd76848 (patch) | |
tree | b4347c0a821f87936ffb06219073b48d8da53e28 /app-text/mupdf | |
parent | dev-lang/rust-bin: Version bump to 1.31.1 (diff) | |
download | gentoo-a1b87a4250380f9fbc024147fa32eb679bd76848.tar.gz gentoo-a1b87a4250380f9fbc024147fa32eb679bd76848.tar.bz2 gentoo-a1b87a4250380f9fbc024147fa32eb679bd76848.zip |
app-text/mupdf: fix build errors on big endian arches
Closes: https://bugs.gentoo.org/672998
Signed-off-by: Virgil Dupras <vdupras@gentoo.org>
Package-Manager: Portage-2.3.51, Repoman-2.3.11
Diffstat (limited to 'app-text/mupdf')
-rw-r--r-- | app-text/mupdf/files/mupdf-1.14-fix-big-endian.patch | 125 | ||||
-rw-r--r-- | app-text/mupdf/mupdf-1.14.0-r2.ebuild | 2 |
2 files changed, 127 insertions, 0 deletions
diff --git a/app-text/mupdf/files/mupdf-1.14-fix-big-endian.patch b/app-text/mupdf/files/mupdf-1.14-fix-big-endian.patch new file mode 100644 index 000000000000..dc472153ca6b --- /dev/null +++ b/app-text/mupdf/files/mupdf-1.14-fix-big-endian.patch @@ -0,0 +1,125 @@ +vdupras note: exact same patch as in +https://bugs.ghostscript.com/show_bug.cgi?id=699395 except for tweaked +diff paths. +From 5fb79e6ccb805b3d94c8bb8eb0990d9944ae7602 Mon Sep 17 00:00:00 2001 +Message-Id: <5fb79e6ccb805b3d94c8bb8eb0990d9944ae7602.1528041417.git.mjg@fedoraproject.org> +From: Michael J Gruber <mjg@fedoraproject.org> +Date: Sun, 3 Jun 2018 17:55:46 +0200 +Subject: [PATCH] fix build on big endian + +0dc1153 ("Spread of context into all procedures and removal from +structures", 2017-04-26) missed a few spots that are relevant on big +endian only. + +Add the missing ContextIDs in the call chain so that the build succeeds +again. + +Signed-off-by: Michael J Gruber <mjg@fedoraproject.org> +--- + src/cmsmd5.c | 22 +++++++++++----------- + 1 file changed, 11 insertions(+), 11 deletions(-) + +diff --git a/src/cmsmd5.c b/src/cmsmd5.c +index 4b8f7f9..dd0925a 100644 +--- a/thirdparty/lcms2/src/cmsmd5.c ++++ b/thirdparty/lcms2/src/cmsmd5.c +@@ -29,7 +29,7 @@ + #ifdef CMS_USE_BIG_ENDIAN + + static +-void byteReverse(cmsUInt8Number * buf, cmsUInt32Number longs) ++void byteReverse(cmsContext ContextID, cmsUInt8Number * buf, cmsUInt32Number longs) + { + do { + +@@ -42,7 +42,7 @@ void byteReverse(cmsUInt8Number * buf, cmsUInt32Number longs) + } + + #else +-#define byteReverse(buf, len) ++#define byteReverse(ContextID, buf, len) + #endif + + +@@ -172,7 +172,7 @@ cmsHANDLE MD5alloc(cmsContext ContextID) + + + static +-void MD5add(cmsHANDLE Handle, cmsUInt8Number* buf, cmsUInt32Number len) ++void MD5add(cmsContext ContextID, cmsHANDLE Handle, cmsUInt8Number* buf, cmsUInt32Number len) + { + _cmsMD5* ctx = (_cmsMD5*) Handle; + cmsUInt32Number t; +@@ -196,7 +196,7 @@ void MD5add(cmsHANDLE Handle, cmsUInt8Number* buf, cmsUInt32Number len) + } + + memmove(p, buf, t); +- byteReverse(ctx->in, 16); ++ byteReverse(ContextID, ctx->in, 16); + + MD5_Transform(ctx->buf, (cmsUInt32Number *) ctx->in); + buf += t; +@@ -205,7 +205,7 @@ void MD5add(cmsHANDLE Handle, cmsUInt8Number* buf, cmsUInt32Number len) + + while (len >= 64) { + memmove(ctx->in, buf, 64); +- byteReverse(ctx->in, 16); ++ byteReverse(ContextID, ctx->in, 16); + MD5_Transform(ctx->buf, (cmsUInt32Number *) ctx->in); + buf += 64; + len -= 64; +@@ -216,7 +216,7 @@ void MD5add(cmsHANDLE Handle, cmsUInt8Number* buf, cmsUInt32Number len) + + // Destroy the object and return the checksum + static +-void MD5finish(cmsProfileID* ProfileID, cmsHANDLE Handle) ++void MD5finish(cmsContext ContextID, cmsProfileID* ProfileID, cmsHANDLE Handle) + { + _cmsMD5* ctx = (_cmsMD5*) Handle; + cmsUInt32Number count; +@@ -232,21 +232,21 @@ void MD5finish(cmsProfileID* ProfileID, cmsHANDLE Handle) + if (count < 8) { + + memset(p, 0, count); +- byteReverse(ctx->in, 16); ++ byteReverse(ContextID, ctx->in, 16); + MD5_Transform(ctx->buf, (cmsUInt32Number *) ctx->in); + + memset(ctx->in, 0, 56); + } else { + memset(p, 0, count - 8); + } +- byteReverse(ctx->in, 14); ++ byteReverse(ContextID, ctx->in, 14); + + ((cmsUInt32Number *) ctx->in)[14] = ctx->bits[0]; + ((cmsUInt32Number *) ctx->in)[15] = ctx->bits[1]; + + MD5_Transform(ctx->buf, (cmsUInt32Number *) ctx->in); + +- byteReverse((cmsUInt8Number *) ctx->buf, 4); ++ byteReverse(ContextID, (cmsUInt8Number *) ctx->buf, 4); + memmove(ProfileID ->ID8, ctx->buf, 16); + + _cmsFree(ctx ->ContextID, ctx); +@@ -291,7 +291,7 @@ cmsBool CMSEXPORT cmsMD5computeID(cmsContext ContextID, cmsHPROFILE hProfile) + if (MD5 == NULL) goto Error; + + // Add all bytes +- MD5add(MD5, Mem, BytesNeeded); ++ MD5add(ContextID,MD5, Mem, BytesNeeded); + + // Temp storage is no longer needed + _cmsFree(ContextID, Mem); +@@ -300,7 +300,7 @@ cmsBool CMSEXPORT cmsMD5computeID(cmsContext ContextID, cmsHPROFILE hProfile) + memmove(Icc, &Keep, sizeof(_cmsICCPROFILE)); + + // And store the ID +- MD5finish(&Icc ->ProfileID, MD5); ++ MD5finish(ContextID, &Icc ->ProfileID, MD5); + return TRUE; + + Error: +-- +2.18.0.rc0.294.g786209a621 + diff --git a/app-text/mupdf/mupdf-1.14.0-r2.ebuild b/app-text/mupdf/mupdf-1.14.0-r2.ebuild index 74cadb6f860f..d6f2331ad669 100644 --- a/app-text/mupdf/mupdf-1.14.0-r2.ebuild +++ b/app-text/mupdf/mupdf-1.14.0-r2.ebuild @@ -45,6 +45,8 @@ PATCHES=( "${FILESDIR}"/${PN}-1.10a-add-desktop-pc-xpm-files.patch # See bug #662352 "${FILESDIR}"/${PN}-1.14-openssl-curl-x11.patch + # bug #672998 + "${FILESDIR}"/${PN}-1.14-fix-big-endian.patch ) src_prepare() { |