summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Lohmaier <lohmaier+LibreOffice@googlemail.com>2012-05-19 04:02:42 +0200
committerPetr Mladek <pmladek@suse.cz>2012-05-21 16:26:09 +0200
commit20987a1d0ec675f3a23a4be58eb7309f60fc62de (patch)
treed35f707fe066c7b86714d29b80ab5541e1b365da
parent6c24c4f0becb40ac0450ccdb49c9af4ebcbd581b (diff)
fdo#47035: Fix loading of jpeg files on Mac/PPC
jpeg_decompress_struct gets padded when compiling libjpeg, but the jpeg filter in svtools assume non-padded size, resulting in a mismatch that makes libjpeg refuse to do its work. Signed-off-by: Petr Mladek <pmladek@suse.cz> Signed-off-by: Tor Lillqvist <tml@iki.fi> Signed-off-by: Fridrich Strba <fridrich.strba@graduateinstitute.ch>
-rw-r--r--jpeg/makefile.mk9
-rw-r--r--jpeg/struct_alignment.patch18
2 files changed, 24 insertions, 3 deletions
diff --git a/jpeg/makefile.mk b/jpeg/makefile.mk
index adc0c664c127..3c6cf4967949 100644
--- a/jpeg/makefile.mk
+++ b/jpeg/makefile.mk
@@ -36,8 +36,8 @@ TARGET=jpeg
.IF "$(SYSTEM_JPEG)" == "YES"
all:
- @echo "An already available installation of libjpeg should exist on your system."
- @echo "Therefore the version provided here does not need to be built in addition."
+ @echo "An already available installation of libjpeg should exist on your system."
+ @echo "Therefore the version provided here does not need to be built in addition."
.ENDIF
# --- Files --------------------------------------------------------
@@ -50,6 +50,9 @@ TARFILE_MD5=a2c10c04f396a9ce72894beb18b4e1f9
#PATCH_FILES=jpeg-6b.patch
PATCH_FILES=jpeg-8c.patch
+.IF "$(OS)$(CPU)"=="MACOSXP"
+PATCH_FILES+=struct_alignment.patch
+.ENDIF
ADDITIONAL_FILES=makefile.mk jconfig.h
@@ -58,7 +61,7 @@ ADDITIONAL_FILES=makefile.mk jconfig.h
BUILD_DIR=$(CONFIGURE_DIR)
BUILD_ACTION=dmake $(MFLAGS) $(CALLMACROS)
-OUT2INC= jconfig.h \
+OUT2INC= jconfig.h \
jerror.h \
jmorecfg.h \
jpegint.h \
diff --git a/jpeg/struct_alignment.patch b/jpeg/struct_alignment.patch
new file mode 100644
index 000000000000..2eb41bf1ff17
--- /dev/null
+++ b/jpeg/struct_alignment.patch
@@ -0,0 +1,18 @@
+without this patch, the jpeg_decompress_struct will be padded, this in turn
+results in a mismatch when the jpeg filter in svtools is built, where no
+padding is assumed. Only affects Mac/PPC apparenlty, see fdo#47035
+--- misc/jpeg-8c/jpeglib.h 2010-11-17 22:01:56.000000000 +0100
++++ misc/build/jpeg-8c/jpeglib.h 2012-05-19 03:38:44.000000000 +0200
+@@ -583,11 +583,11 @@
+ /* Data copied from JFIF marker; only valid if saw_JFIF_marker is TRUE: */
+ UINT8 JFIF_major_version; /* JFIF version number */
+ UINT8 JFIF_minor_version;
++ UINT8 Adobe_transform; /* Color transform code from Adobe marker */
+ UINT8 density_unit; /* JFIF code for pixel size units */
+ UINT16 X_density; /* Horizontal pixel density */
+ UINT16 Y_density; /* Vertical pixel density */
+ boolean saw_Adobe_marker; /* TRUE iff an Adobe APP14 marker was found */
+- UINT8 Adobe_transform; /* Color transform code from Adobe marker */
+
+ boolean CCIR601_sampling; /* TRUE=first samples are cosited */
+