guibuilder_pel7ppc64lebuilder0
5 years ago
4 changed files with 269 additions and 3 deletions
@ -0,0 +1,126 @@
@@ -0,0 +1,126 @@
|
||||
From bf597b89288b6271f56031d5a20bfaf59f146d4c Mon Sep 17 00:00:00 2001 |
||||
From: Bryce Harrington <bryce@bryceharrington.org> |
||||
Date: Tue, 16 Oct 2018 09:13:23 -0700 |
||||
Subject: [PATCH] Revert "Correctly decode Adobe CMYK JPEGs in PDF export" |
||||
|
||||
From further testing and investigation it appears that many PDF viewers |
||||
already have a workaround to invert Adobe CMYK JPEGs, so our generated |
||||
PDFs display incorrectly with those viewers due to double-inversion. |
||||
|
||||
Further investigation will be needed to find a better solution that |
||||
doesn't cause regression for some PDF viewers; perhaps PDF viewers that |
||||
lack this inversion workaround should be changed to include it. For now |
||||
we'll drop the patch to avoid shipping the regression in 1.16.0. |
||||
|
||||
This reverts commit b207a932a2d3740984319dffd58a0791580597cd. |
||||
|
||||
Reference: https://bugs.freedesktop.org/show_bug.cgi?id=97612 |
||||
Fixes: https://gitlab.freedesktop.org/cairo/cairo/issues/156 |
||||
--- |
||||
src/cairo-image-info-private.h | 1 - |
||||
src/cairo-image-info.c | 21 --------------------- |
||||
src/cairo-pdf-surface.c | 2 -- |
||||
3 files changed, 24 deletions(-) |
||||
|
||||
diff --git a/src/cairo-image-info-private.h b/src/cairo-image-info-private.h |
||||
index 99cbbcc02..e64928e40 100644 |
||||
--- a/src/cairo-image-info-private.h |
||||
+++ b/src/cairo-image-info-private.h |
||||
@@ -43,7 +43,6 @@ typedef struct _cairo_image_info { |
||||
int height; |
||||
int num_components; |
||||
int bits_per_component; |
||||
- int is_adobe_jpeg; |
||||
} cairo_image_info_t; |
||||
|
||||
cairo_private cairo_int_status_t |
||||
diff --git a/src/cairo-image-info.c b/src/cairo-image-info.c |
||||
index 3b4cf6edb..d147e3723 100644 |
||||
--- a/src/cairo-image-info.c |
||||
+++ b/src/cairo-image-info.c |
||||
@@ -67,9 +67,6 @@ |
||||
#define SOF14 0xce |
||||
#define SOF15 0xcf |
||||
|
||||
-/* Start of tag markers */ |
||||
-#define APP14 0xee /* Adobe */ |
||||
- |
||||
static const unsigned char * |
||||
_jpeg_skip_segment (const unsigned char *p) |
||||
{ |
||||
@@ -97,8 +94,6 @@ _cairo_image_info_get_jpeg_info (cairo_image_info_t *info, |
||||
{ |
||||
const unsigned char *p = data; |
||||
|
||||
- info->is_adobe_jpeg = FALSE; |
||||
- |
||||
while (p + 1 < data + length) { |
||||
if (*p != 0xff) |
||||
return CAIRO_INT_STATUS_UNSUPPORTED; |
||||
@@ -136,18 +131,6 @@ _cairo_image_info_get_jpeg_info (cairo_image_info_t *info, |
||||
_jpeg_extract_info (info, p); |
||||
return CAIRO_STATUS_SUCCESS; |
||||
|
||||
- case APP14: |
||||
- /* "Adobe" tags segment indicates inverted CMYK (in |
||||
- * CMYK images). */ |
||||
- if (p + 12 > data + length) |
||||
- return CAIRO_INT_STATUS_UNSUPPORTED; |
||||
- |
||||
- info->is_adobe_jpeg = |
||||
- (0 == strncmp((const char *)(p + 3), "Adobe", 5)); |
||||
- |
||||
- p = _jpeg_skip_segment(p); |
||||
- break; |
||||
- |
||||
default: |
||||
if (*p >= RST_begin && *p <= RST_end) { |
||||
p++; |
||||
@@ -223,7 +206,6 @@ _jpx_extract_info (const unsigned char *p, cairo_image_info_t *info) |
||||
info->width = get_unaligned_be32 (p + 4); |
||||
info->num_components = (p[8] << 8) + p[9]; |
||||
info->bits_per_component = p[10]; |
||||
- info->is_adobe_jpeg = FALSE; |
||||
} |
||||
|
||||
cairo_int_status_t |
||||
@@ -301,8 +283,6 @@ _cairo_image_info_get_png_info (cairo_image_info_t *info, |
||||
p += 4; |
||||
info->height = get_unaligned_be32 (p); |
||||
|
||||
- info->is_adobe_jpeg = FALSE; |
||||
- |
||||
return CAIRO_STATUS_SUCCESS; |
||||
} |
||||
|
||||
@@ -415,7 +395,6 @@ _jbig2_extract_info (cairo_image_info_t *info, const unsigned char *p) |
||||
info->height = get_unaligned_be32 (p + 4); |
||||
info->num_components = 1; |
||||
info->bits_per_component = 1; |
||||
- info->is_adobe_jpeg = FALSE; |
||||
} |
||||
|
||||
cairo_int_status_t |
||||
diff --git a/src/cairo-pdf-surface.c b/src/cairo-pdf-surface.c |
||||
index ab6781340..7eb61aa1e 100644 |
||||
--- a/src/cairo-pdf-surface.c |
||||
+++ b/src/cairo-pdf-surface.c |
||||
@@ -3169,7 +3169,6 @@ _cairo_pdf_surface_emit_jpeg_image (cairo_pdf_surface_t *surface, |
||||
" /Height %d\n" |
||||
" /ColorSpace %s\n" |
||||
" /Interpolate %s\n" |
||||
- "%s" |
||||
" /BitsPerComponent %d\n" |
||||
"%s" |
||||
" /Filter /DCTDecode\n", |
||||
@@ -3177,7 +3176,6 @@ _cairo_pdf_surface_emit_jpeg_image (cairo_pdf_surface_t *surface, |
||||
info.height, |
||||
colorspace, |
||||
surface_entry->interpolate ? "true" : "false", |
||||
- info.is_adobe_jpeg && info.num_components == 4 ? " /Decode [ 1 0 1 0 1 0 1 0 ]\n" : "", |
||||
info.bits_per_component, |
||||
smask_buf); |
||||
} |
||||
-- |
||||
2.20.1 |
||||
|
@ -0,0 +1,36 @@
@@ -0,0 +1,36 @@
|
||||
diff -up ./configure.upstream_werror ./configure |
||||
--- ./configure.upstream_werror 2016-09-19 09:23:28.000000000 -0400 |
||||
+++ ./configure 2019-03-08 20:35:22.017458006 -0500 |
||||
@@ -13672,7 +13672,7 @@ fi |
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for PySignal_SetWakeupFd in Python.h" >&5 |
||||
$as_echo_n "checking for PySignal_SetWakeupFd in Python.h... " >&6; } |
||||
old_CPPFLAGS=$CPPFLAGS |
||||
-CPPFLAGS="-Wall -Werror $PYTHON_INCLUDES" |
||||
+CPPFLAGS="-Wall $PYTHON_INCLUDES" |
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
||||
/* end confdefs.h. */ |
||||
#include <Python.h> |
||||
@@ -14856,14 +14856,6 @@ fi |
||||
" |
||||
|
||||
base_error_flags=" \ |
||||
- -Werror=missing-prototypes \ |
||||
- -Werror=implicit-function-declaration \ |
||||
- -Werror=pointer-arith \ |
||||
- -Werror=init-self \ |
||||
- -Werror=format-security \ |
||||
- -Werror=format=2 \ |
||||
- -Werror=missing-include-dirs \ |
||||
- -Werror=return-type \ |
||||
" |
||||
|
||||
additional_flags="" |
||||
@@ -14884,7 +14876,7 @@ fi |
||||
esac |
||||
|
||||
if test "$enable_compile_warnings" = "error" ; then |
||||
- warning_flags="$warning_flags -Werror" |
||||
+ warning_flags="$warning_flags " |
||||
fi |
||||
|
||||
for option in $warning_flags; do |
@ -0,0 +1,104 @@
@@ -0,0 +1,104 @@
|
||||
# Last updated for version 3.18.0 |
||||
%global glib2_version 2.38.0 |
||||
%global gobject_introspection_version 1.46.0 |
||||
%global confopts --disable-silent-rules --srcdir=.. |
||||
|
||||
Name: python3-gobject3 |
||||
Version: 3.22.0 |
||||
Release: 6%{?dist} |
||||
Summary: Python %{python3_version} bindings for GObject Introspection |
||||
License: LGPLv2+ and MIT |
||||
URL: https://wiki.gnome.org/Projects/PyGObject |
||||
Source0: https://download.gnome.org/sources/pygobject/3.22/pygobject-%{version}.tar.xz |
||||
# https://bugzilla.redhat.com/1247996 |
||||
# which reverts https://bugzilla.gnome.org/709183 |
||||
Patch1: pygobject-3.22.0-allow-static-module-import.patch |
||||
Patch2: pygobject-3.22.0-remove-Werror.patch |
||||
BuildRequires: glib2-devel >= %{glib2_version} |
||||
BuildRequires: gobject-introspection-devel >= %{gobject_introspection_version} |
||||
BuildRequires: python3-devel |
||||
BuildRequires: python3-cairo-devel |
||||
BuildRequires: cairo-gobject-devel |
||||
|
||||
|
||||
%description |
||||
The %{name} package provides a convenient wrapper for the GObject |
||||
library and and other libraries that are compatible with GObject Introspection, |
||||
for use in Python %{python3_version} programs. |
||||
|
||||
|
||||
%package -n python3-gobject |
||||
Summary: Python 3 bindings for GObject Introspection |
||||
Requires: python3-gobject-base%{?_isa} = %{version}-%{release} |
||||
Requires: python3-cairo%{?_isa} |
||||
%description -n python3-gobject |
||||
The %{name} package provides a convenient wrapper for the GObject |
||||
library and and other libraries that are compatible with GObject Introspection, |
||||
for use in Python %{python3_version} programs. |
||||
|
||||
|
||||
%package -n python3-gobject-base |
||||
Summary: Python %{python3_version} bindings for GObject Introspection base package |
||||
Requires: gobject-introspection%{?_isa} >= %{gobject_introspection_version} |
||||
%description -n python%{python3_pkgversion}-gobject-base |
||||
This package provides the non-cairo specific bits of the GObject Introspection |
||||
library. |
||||
|
||||
|
||||
%package -n python3-gobject-devel |
||||
Summary: Development files for embedding Python %{python3_version} GObject introspection support |
||||
Requires: python%{python3_pkgversion}-gobject%{?_isa} = %{version}-%{release} |
||||
Requires: gobject-introspection-devel%{?_isa} |
||||
%description -n python%{python3_pkgversion}-gobject-devel |
||||
This package contains files required to embed Python %{python3_version} PyGObject. |
||||
|
||||
|
||||
%prep |
||||
%autosetup -n pygobject-%{version} -p 1 |
||||
%{_bindir}/find . -name '*.py' | %{_bindir}/xargs %{__sed} -i '1s|^#!python|#!%{__python3}|' |
||||
|
||||
|
||||
%build |
||||
%{__mkdir} -p python3 |
||||
pushd python3 |
||||
export PYTHON=%{__python3} |
||||
%{__ln_s} ../configure configure |
||||
%configure %{confopts} |
||||
make %{?_smp_mflags} V=1 |
||||
popd |
||||
|
||||
|
||||
%install |
||||
export PYTHON=%{__python3} |
||||
%make_install -C python3 |
||||
%{_bindir}/find %{buildroot} -name '*.la' -delete |
||||
# Don't include makefiles in the installed docs, in order to avoid creating |
||||
# multilib conflicts |
||||
%{__rm} -fr _docs |
||||
%{__mkdir} _docs |
||||
%{__cp} -a examples _docs |
||||
%{__rm} _docs/examples/Makefile* |
||||
|
||||
|
||||
%files -n python3-gobject |
||||
%{python3_sitearch}/gi/_gi_cairo*.so |
||||
|
||||
|
||||
%files -n python3-gobject-base |
||||
%license COPYING |
||||
%doc AUTHORS NEWS README |
||||
%dir %{python3_sitearch}/gi |
||||
%{python3_sitearch}/gi/* |
||||
%exclude %{python3_sitearch}/gi/_gi_cairo*.so |
||||
%{python3_sitearch}/pygobject-*.egg-info |
||||
%{python3_sitearch}/pygtkcompat/ |
||||
|
||||
|
||||
%files -n python3-gobject-devel |
||||
%doc _docs/* |
||||
%dir %{_includedir}/pygobject-3.0/ |
||||
%{_includedir}/pygobject-3.0/pygobject.h |
||||
%{_libdir}/pkgconfig/pygobject-3.0.pc |
||||
|
||||
|
||||
%changelog |
Loading…
Reference in new issue