From d6ac0a8fe73e74245a87ab46776782548e37f167 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: May 07 2019 11:09:42 +0000 Subject: import mingw-cairo-1.14.10-4.el8 --- diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..fca6eb2 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/cairo-1.14.10.tar.xz diff --git a/.mingw-cairo.metadata b/.mingw-cairo.metadata new file mode 100644 index 0000000..89a3974 --- /dev/null +++ b/.mingw-cairo.metadata @@ -0,0 +1 @@ +28c59d85d6b790c21b8b59ece73a6a1dda28d69a SOURCES/cairo-1.14.10.tar.xz diff --git a/SOURCES/0001-win32-Add-cairo-API-to-set-up-a-Win32-surface-for-an.patch b/SOURCES/0001-win32-Add-cairo-API-to-set-up-a-Win32-surface-for-an.patch new file mode 100644 index 0000000..cdd2ca1 --- /dev/null +++ b/SOURCES/0001-win32-Add-cairo-API-to-set-up-a-Win32-surface-for-an.patch @@ -0,0 +1,143 @@ +From 16898ba11b4d6e9e2e64bb2d02d0fb5adbe266e2 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=A0=D1=83=D1=81=D0=BB=D0=B0=D0=BD=20=D0=98=D0=B6=D0=B1?= + =?UTF-8?q?=D1=83=D0=BB=D0=B0=D1=82=D0=BE=D0=B2?= +Date: Thu, 26 Mar 2015 19:33:43 +0000 +Subject: [PATCH 1/2] win32: Add cairo API to set up a Win32 surface for an HDC + with an alpha channel. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Руслан Ижбулатов +Reviewed-by: Bryce Harrington +--- + src/cairo-win32.h | 4 ++ + src/win32/cairo-win32-display-surface.c | 68 +++++++++++++++++++++++++-------- + 2 files changed, 56 insertions(+), 16 deletions(-) + +diff --git a/src/cairo-win32.h b/src/cairo-win32.h +index 3d2e1c6..db4cac6 100644 +--- a/src/cairo-win32.h ++++ b/src/cairo-win32.h +@@ -49,6 +49,10 @@ cairo_public cairo_surface_t * + cairo_win32_surface_create (HDC hdc); + + cairo_public cairo_surface_t * ++cairo_win32_surface_create_with_format (HDC hdc, ++ cairo_format_t format); ++ ++cairo_public cairo_surface_t * + cairo_win32_printing_surface_create (HDC hdc); + + cairo_public cairo_surface_t * +diff --git a/src/win32/cairo-win32-display-surface.c b/src/win32/cairo-win32-display-surface.c +index 965f2c4..1571480 100644 +--- a/src/win32/cairo-win32-display-surface.c ++++ b/src/win32/cairo-win32-display-surface.c +@@ -917,31 +917,41 @@ static const cairo_surface_backend_t cairo_win32_display_surface_backend = { + */ + + /** +- * cairo_win32_surface_create: ++ * cairo_win32_surface_create_with_format: + * @hdc: the DC to create a surface for ++ * @format: format of pixels in the surface to create + * + * Creates a cairo surface that targets the given DC. The DC will be + * queried for its initial clip extents, and this will be used as the +- * size of the cairo surface. The resulting surface will always be of +- * format %CAIRO_FORMAT_RGB24; should you need another surface format, +- * you will need to create one through +- * cairo_win32_surface_create_with_dib(). ++ * size of the cairo surface. + * +- * Return value: the newly created surface ++ * Supported formats are: ++ * %CAIRO_FORMAT_ARGB32 ++ * %CAIRO_FORMAT_RGB24 + * +- * Since: 1.0 ++ * Note: @format only tells cairo how to draw on the surface, not what ++ * the format of the surface is. Namely, cairo does not (and cannot) ++ * check that @hdc actually supports alpha-transparency. ++ * ++ * Return value: the newly created surface, NULL on failure ++ * ++ * Since: 1.14.3 + **/ + cairo_surface_t * +-cairo_win32_surface_create (HDC hdc) ++cairo_win32_surface_create_with_format (HDC hdc, cairo_format_t format) + { + cairo_win32_display_surface_t *surface; + +- cairo_format_t format; + cairo_status_t status; + cairo_device_t *device; + +- /* Assume that everything coming in as a HDC is RGB24 */ +- format = CAIRO_FORMAT_RGB24; ++ switch (format) { ++ default: ++ return _cairo_surface_create_in_error (_cairo_error (CAIRO_STATUS_INVALID_FORMAT)); ++ case CAIRO_FORMAT_ARGB32: ++ case CAIRO_FORMAT_RGB24: ++ break; ++ } + + surface = malloc (sizeof (*surface)); + if (surface == NULL) +@@ -977,6 +987,28 @@ cairo_win32_surface_create (HDC hdc) + } + + /** ++ * cairo_win32_surface_create: ++ * @hdc: the DC to create a surface for ++ * ++ * Creates a cairo surface that targets the given DC. The DC will be ++ * queried for its initial clip extents, and this will be used as the ++ * size of the cairo surface. The resulting surface will always be of ++ * format %CAIRO_FORMAT_RGB24; should you need another surface format, ++ * you will need to create one through ++ * cairo_win32_surface_create_with_format() or ++ * cairo_win32_surface_create_with_dib(). ++ * ++ * Return value: the newly created surface, NULL on failure ++ * ++ * Since: 1.0 ++ **/ ++cairo_surface_t * ++cairo_win32_surface_create (HDC hdc) ++{ ++ return cairo_win32_surface_create_with_format (hdc, CAIRO_FORMAT_RGB24); ++} ++ ++/** + * cairo_win32_surface_create_with_dib: + * @format: format of pixels in the surface to create + * @width: width of the surface, in pixels +@@ -1027,12 +1059,16 @@ cairo_win32_surface_create_with_ddb (HDC hdc, + HDC screen_dc, ddb_dc; + HBITMAP saved_dc_bitmap; + +- if (format != CAIRO_FORMAT_RGB24) ++ switch (format) { ++ default: ++/* XXX handle these eventually */ ++ case CAIRO_FORMAT_A8: ++ case CAIRO_FORMAT_A1: + return _cairo_surface_create_in_error (_cairo_error (CAIRO_STATUS_INVALID_FORMAT)); +-/* XXX handle these eventually +- format != CAIRO_FORMAT_A8 || +- format != CAIRO_FORMAT_A1) +-*/ ++ case CAIRO_FORMAT_ARGB32: ++ case CAIRO_FORMAT_RGB24: ++ break; ++ } + + if (!hdc) { + screen_dc = GetDC (NULL); +-- +2.4.3 + diff --git a/SOURCES/0002-win32-Add-a-win32-boilerplate-that-uses-a-real-windo.patch b/SOURCES/0002-win32-Add-a-win32-boilerplate-that-uses-a-real-windo.patch new file mode 100644 index 0000000..078f831 --- /dev/null +++ b/SOURCES/0002-win32-Add-a-win32-boilerplate-that-uses-a-real-windo.patch @@ -0,0 +1,308 @@ +From e38e942ac0ef6f5366cabdb22df9858fa4c05ea1 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=A0=D1=83=D1=81=D0=BB=D0=B0=D0=BD=20=D0=98=D0=B6=D0=B1?= + =?UTF-8?q?=D1=83=D0=BB=D0=B0=D1=82=D0=BE=D0=B2?= +Date: Sat, 4 Apr 2015 15:58:53 +0000 +Subject: [PATCH 2/2] win32: Add a win32 boilerplate that uses a real window + +This way it uses the codepath for cairo_win32_surface_create_with_format(), +instead of the cairo_win32_surface_create_with_dib(). + +Without the recording tests (which terminate the testsuite) +the testsuite results for win32 are: + +284 Passed, 167 Failed [1 crashed, 9 expected], 23 Skipped +win32 (rgb24): 1 crashed! +win32 (rgb24): 17 error +win32 (rgb24): 155 failed +win32 (argb32): 1 crashed! +win32 (argb32): 17 error +win32 (argb32): 68 failed +win32-window-color (rgb24): 1 crashed! +win32-window-color (rgb24): 17 error +win32-window-color (rgb24): 148 failed +win32-window-coloralpha (argb32): 1 crashed! +win32-window-coloralpha (argb32): 17 error +win32-window-coloralpha (argb32): 66 failed + +Reviewed-by: Bryce Harrington +--- + boilerplate/cairo-boilerplate-win32.c | 242 ++++++++++++++++++++++++++++++++-- + 1 file changed, 228 insertions(+), 14 deletions(-) + +diff --git a/boilerplate/cairo-boilerplate-win32.c b/boilerplate/cairo-boilerplate-win32.c +index 7469cc7..4fd0a10 100644 +--- a/boilerplate/cairo-boilerplate-win32.c ++++ b/boilerplate/cairo-boilerplate-win32.c +@@ -28,15 +28,191 @@ + + #include + ++static const cairo_user_data_key_t win32_closure_key; ++ ++typedef struct _win32_target_closure { ++ HWND wnd; ++ HDC dc; ++ ATOM bpl_atom; ++ cairo_surface_t *surface; ++} win32_target_closure_t; ++ ++static void ++_cairo_boilerplate_win32_cleanup_window_surface (void *closure) ++{ ++ win32_target_closure_t *win32tc = closure; ++ ++ if (win32tc != NULL) ++ { ++ if (win32tc->wnd != NULL && ++ ReleaseDC (win32tc->wnd, win32tc->dc) != 1) ++ fprintf (stderr, ++ "Failed to release DC of a test window when cleaning up.\n"); ++ if (win32tc->wnd != NULL && ++ DestroyWindow (win32tc->wnd) == 0) ++ fprintf (stderr, ++ "Failed to destroy a test window when cleaning up, GLE is %lu.\n", ++ GetLastError ()); ++ if (win32tc->bpl_atom != 0 && ++ UnregisterClassA ((LPCSTR) MAKELPARAM (win32tc->bpl_atom, 0), GetModuleHandle (NULL)) == 0 && ++ GetLastError () != ERROR_CLASS_DOES_NOT_EXIST) ++ fprintf (stderr, ++ "Failed to unregister boilerplate window class, GLE is %lu.\n", ++ GetLastError ()); ++ ++ free (win32tc); ++ } ++} ++ ++static win32_target_closure_t * ++_cairo_boilerplate_win32_create_window (int width, ++ int height) ++{ ++ WNDCLASSEXA wincl; ++ win32_target_closure_t *win32tc; ++ LPCSTR window_class_name; ++ ++ ZeroMemory (&wincl, sizeof (WNDCLASSEXA)); ++ wincl.cbSize = sizeof (WNDCLASSEXA); ++ wincl.hInstance = GetModuleHandle (0); ++ wincl.lpszClassName = "cairo_boilerplate_win32_dummy"; ++ wincl.lpfnWndProc = DefWindowProcA; ++ wincl.style = CS_OWNDC; ++ ++ win32tc = calloc (1, sizeof (win32_target_closure_t)); ++ ++ if (win32tc == NULL) ++ { ++ int error = errno; ++ fprintf (stderr, "Ran out of memory: %d.\n", error); ++ return NULL; ++ } ++ ++ ZeroMemory (win32tc, sizeof (win32_target_closure_t)); ++ ++ win32tc->bpl_atom = RegisterClassExA (&wincl); ++ ++ if (win32tc->bpl_atom == 0 && GetLastError () != ERROR_CLASS_ALREADY_EXISTS) ++ { ++ fprintf (stderr, ++ "Failed to register a boilerplate window class, GLE is %lu.\n", ++ GetLastError ()); ++ _cairo_boilerplate_win32_cleanup_window_surface (win32tc); ++ return NULL; ++ } ++ ++ if (win32tc->bpl_atom == 0) ++ window_class_name = wincl.lpszClassName; ++ else ++ window_class_name = (LPCSTR) MAKELPARAM (win32tc->bpl_atom, 0); ++ ++ win32tc->wnd = CreateWindowExA (WS_EX_TOOLWINDOW, ++ window_class_name, ++ 0, ++ WS_POPUP, ++ 0, ++ 0, ++ width, ++ height, ++ 0, ++ 0, ++ 0, ++ 0); ++ ++ if (win32tc->wnd == NULL) ++ { ++ fprintf (stderr, ++ "Failed to create a test window, GLE is %lu.\n", ++ GetLastError ()); ++ _cairo_boilerplate_win32_cleanup_window_surface (win32tc); ++ return NULL; ++ } ++ ++ win32tc->dc = GetDC (win32tc->wnd); ++ ++ if (win32tc->dc == NULL) ++ { ++ fprintf (stderr, "Failed to get test window DC.\n"); ++ _cairo_boilerplate_win32_cleanup_window_surface (win32tc); ++ return NULL; ++ } ++ ++ SetWindowPos (win32tc->wnd, ++ HWND_BOTTOM, ++ INT_MIN, ++ INT_MIN, ++ width, ++ height, ++ SWP_NOACTIVATE | SWP_SHOWWINDOW); ++ ++ return win32tc; ++} ++ + static cairo_surface_t * +-_cairo_boilerplate_win32_create_surface (const char *name, +- cairo_content_t content, +- double width, +- double height, +- double max_width, +- double max_height, +- cairo_boilerplate_mode_t mode, +- void **closure) ++_cairo_boilerplate_win32_create_window_surface (const char *name, ++ cairo_content_t content, ++ double width, ++ double height, ++ double max_width, ++ double max_height, ++ cairo_boilerplate_mode_t mode, ++ void **closure) ++{ ++ win32_target_closure_t *win32tc; ++ cairo_surface_t *surface; ++ cairo_format_t format; ++ cairo_status_t status; ++ ++ win32tc = _cairo_boilerplate_win32_create_window (width, height); ++ ++ if (win32tc == NULL) ++ return NULL; ++ ++ format = cairo_boilerplate_format_from_content (content); ++ ++ surface = cairo_win32_surface_create_with_format (win32tc->dc, format); ++ ++ win32tc->surface = surface; ++ ++ status = cairo_surface_status (surface); ++ ++ if (status != CAIRO_STATUS_SUCCESS) ++ { ++ fprintf (stderr, ++ "Failed to create the test surface: %s [%d].\n", ++ cairo_status_to_string (status), status); ++ _cairo_boilerplate_win32_cleanup_window_surface (win32tc); ++ return NULL; ++ } ++ ++ status = cairo_surface_set_user_data (surface, &win32_closure_key, win32tc, NULL); ++ ++ if (status != CAIRO_STATUS_SUCCESS) ++ { ++ fprintf (stderr, ++ "Failed to set surface userdata: %s [%d].\n", ++ cairo_status_to_string (status), status); ++ ++ cairo_surface_destroy (surface); ++ _cairo_boilerplate_win32_cleanup_window_surface (win32tc); ++ ++ return NULL; ++ } ++ ++ *closure = win32tc; ++ ++ return surface; ++} ++ ++static cairo_surface_t * ++_cairo_boilerplate_win32_create_dib_surface (const char *name, ++ cairo_content_t content, ++ double width, ++ double height, ++ double max_width, ++ double max_height, ++ cairo_boilerplate_mode_t mode, ++ void **closure) + { + cairo_format_t format; + +@@ -52,12 +228,16 @@ static const cairo_boilerplate_target_t targets[] = { + "win32", "win32", NULL, NULL, + CAIRO_SURFACE_TYPE_WIN32, CAIRO_CONTENT_COLOR, 0, + "cairo_win32_surface_create_with_dib", +- _cairo_boilerplate_win32_create_surface, ++ _cairo_boilerplate_win32_create_dib_surface, + cairo_surface_create_similar, +- NULL, NULL, ++ NULL, ++ NULL, + _cairo_boilerplate_get_image_surface, + cairo_surface_write_to_png, +- NULL, NULL, NULL, TRUE, FALSE, FALSE ++ NULL, ++ NULL, ++ NULL, ++ TRUE, FALSE, FALSE + }, + /* Testing the win32 surface isn't interesting, since for + * ARGB images it just chains to the image backend +@@ -66,12 +246,46 @@ static const cairo_boilerplate_target_t targets[] = { + "win32", "win32", NULL, NULL, + CAIRO_SURFACE_TYPE_WIN32, CAIRO_CONTENT_COLOR_ALPHA, 0, + "cairo_win32_surface_create_with_dib", +- _cairo_boilerplate_win32_create_surface, ++ _cairo_boilerplate_win32_create_dib_surface, + cairo_surface_create_similar, +- NULL, NULL, ++ NULL, ++ NULL, + _cairo_boilerplate_get_image_surface, + cairo_surface_write_to_png, +- NULL, NULL, NULL, FALSE, FALSE, FALSE ++ NULL, ++ NULL, ++ NULL, ++ FALSE, FALSE, FALSE ++ }, ++ { ++ "win32-window-color", "win32", NULL, NULL, ++ CAIRO_SURFACE_TYPE_WIN32, CAIRO_CONTENT_COLOR, 1, ++ "cairo_win32_surface_create", ++ _cairo_boilerplate_win32_create_window_surface, ++ cairo_surface_create_similar, ++ NULL, ++ NULL, ++ _cairo_boilerplate_get_image_surface, ++ cairo_surface_write_to_png, ++ _cairo_boilerplate_win32_cleanup_window_surface, ++ NULL, ++ NULL, ++ FALSE, FALSE, FALSE ++ }, ++ { ++ "win32-window-coloralpha", "win32", NULL, NULL, ++ CAIRO_SURFACE_TYPE_WIN32, CAIRO_CONTENT_COLOR_ALPHA, 1, ++ "cairo_win32_surface_create_with_format", ++ _cairo_boilerplate_win32_create_window_surface, ++ cairo_surface_create_similar, ++ NULL, ++ NULL, ++ _cairo_boilerplate_get_image_surface, ++ cairo_surface_write_to_png, ++ _cairo_boilerplate_win32_cleanup_window_surface, ++ NULL, ++ NULL, ++ FALSE, FALSE, FALSE + }, + }; + CAIRO_BOILERPLATE (win32, targets) +-- +2.4.3 + diff --git a/SPECS/mingw-cairo.spec b/SPECS/mingw-cairo.spec new file mode 100644 index 0000000..06232ee --- /dev/null +++ b/SPECS/mingw-cairo.spec @@ -0,0 +1,424 @@ +%?mingw_package_header + +Name: mingw-cairo +Version: 1.14.10 +Release: 4%{?dist} +Summary: MinGW Windows Cairo library + +License: LGPLv2 or MPLv1.1 +URL: http://cairographics.org +Source0: http://cairographics.org/releases/cairo-%{version}.tar.xz + +# Backported upstream patches to add API required by gtk3 +Patch0: 0001-win32-Add-cairo-API-to-set-up-a-Win32-surface-for-an.patch +Patch1: 0002-win32-Add-a-win32-boilerplate-that-uses-a-real-windo.patch + +BuildArch: noarch +ExclusiveArch: %{ix86} x86_64 + +BuildRequires: mingw32-filesystem >= 95 +BuildRequires: mingw32-gcc +BuildRequires: mingw32-binutils +BuildRequires: mingw32-fontconfig +BuildRequires: mingw32-freetype +BuildRequires: mingw32-libxml2 +BuildRequires: mingw32-pixman +BuildRequires: mingw32-libpng +BuildRequires: mingw32-win-iconv +BuildRequires: mingw32-zlib +BuildRequires: mingw32-glib2 + +BuildRequires: mingw64-filesystem >= 95 +BuildRequires: mingw64-gcc +BuildRequires: mingw64-binutils +BuildRequires: mingw64-fontconfig +BuildRequires: mingw64-freetype +BuildRequires: mingw64-libxml2 +BuildRequires: mingw64-pixman +BuildRequires: mingw64-libpng +BuildRequires: mingw64-win-iconv +BuildRequires: mingw64-zlib +BuildRequires: mingw64-glib2 + +BuildRequires: mingw-w64-tools +BuildRequires: pkgconfig + + +%description +MinGW Windows Cairo library. + + +# Win32 +%package -n mingw32-cairo +Summary: MinGW Windows Cairo library +Requires: mingw32-fontconfig +Requires: mingw32-freetype +Requires: pkgconfig + +%description -n mingw32-cairo +MinGW Windows Cairo library. + +%package -n mingw32-cairo-static +Summary: Static version of the MinGW Windows Cairo library +Requires: mingw32-cairo = %{version}-%{release} + +%description -n mingw32-cairo-static +Static version of the MinGW Windows Cairo library. + +# Win64 +%package -n mingw64-cairo +Summary: MinGW Windows Cairo library +Requires: mingw64-fontconfig +Requires: mingw64-freetype +Requires: pkgconfig + +%description -n mingw64-cairo +MinGW Windows Cairo library. + +%package -n mingw64-cairo-static +Summary: Static version of the MinGW Windows Cairo library +Requires: mingw64-cairo = %{version}-%{release} + +%description -n mingw64-cairo-static +Static version of the MinGW Windows Cairo library. + + +%?mingw_debug_package + + +%prep +%setup -q -n cairo-%{version} +%patch0 -p1 +%patch1 -p1 + + +%build +# Function to generate an import library for delay-loading +gen_delay_lib() +{ + local DLL="$1" + local OUT_IMPLIB="$2" + + gendef - "%{mingw32_bindir}/$DLL" > build_win32/delay_load.def + %{mingw32_dlltool} --def build_win32/delay_load.def --kill-at --output-delaylib "build_win32/$OUT_IMPLIB" + + gendef - "%{mingw64_bindir}/$DLL" > build_win64/delay_load.def + %{mingw64_dlltool} --def build_win64/delay_load.def --kill-at --output-delaylib "build_win64/$OUT_IMPLIB" +} + +mkdir build_win32 +mkdir build_win64 + +# Generate import libs for delay-loading fontconfig and freetype +gen_delay_lib libfontconfig-1.dll libfontconfig-delayed.dll.a +gen_delay_lib libfreetype-6.dll libfreetype-delayed.dll.a + +MINGW_CONFIGURE_ARGS=" \ + ax_cv_c_float_words_bigendian=no \ + --disable-pthread \ + --disable-xlib \ + --disable-xcb \ + --enable-win32 \ + --enable-fc \ + --enable-ft \ + --enable-png \ + --enable-static \ + --enable-gobject \ + --enable-tee" + +# The regular %%mingw_configure macro can't be used here as we need to inject custom +# environment variables which are different between the win32 and win64 build +pushd build_win32 + %mingw32_configure \ + FONTCONFIG_LIBS="-L`pwd` -lfontconfig-delayed" \ + FREETYPE_LIBS="-L`pwd` -lfreetype-delayed" +popd + +pushd build_win64 + %mingw64_configure \ + FONTCONFIG_LIBS="-L`pwd` -lfontconfig-delayed" \ + FREETYPE_LIBS="-L`pwd` -lfreetype-delayed" +popd + +%mingw_make %{?_smp_mflags} V=1 + + +%install +%mingw_make install DESTDIR=$RPM_BUILD_ROOT + +rm -f $RPM_BUILD_ROOT%{mingw32_libdir}/charset.alias +rm -f $RPM_BUILD_ROOT%{mingw64_libdir}/charset.alias + +rm -r $RPM_BUILD_ROOT%{mingw32_datadir}/gtk-doc +rm -r $RPM_BUILD_ROOT%{mingw64_datadir}/gtk-doc + +# Drop all .la files +find $RPM_BUILD_ROOT -name "*.la" -delete + + +# Win32 +%files -n mingw32-cairo +%license COPYING COPYING-LGPL-2.1 COPYING-MPL-1.1 +%{mingw32_bindir}/libcairo-2.dll +%{mingw32_bindir}/libcairo-gobject-2.dll +%{mingw32_bindir}/libcairo-script-interpreter-2.dll +%{mingw32_includedir}/cairo/ +%{mingw32_libdir}/libcairo.dll.a +%{mingw32_libdir}/libcairo-gobject.dll.a +%{mingw32_libdir}/libcairo-script-interpreter.dll.a +%{mingw32_libdir}/pkgconfig/cairo-fc.pc +%{mingw32_libdir}/pkgconfig/cairo-ft.pc +%{mingw32_libdir}/pkgconfig/cairo-gobject.pc +%{mingw32_libdir}/pkgconfig/cairo-pdf.pc +%{mingw32_libdir}/pkgconfig/cairo-png.pc +%{mingw32_libdir}/pkgconfig/cairo-ps.pc +%{mingw32_libdir}/pkgconfig/cairo-script.pc +%{mingw32_libdir}/pkgconfig/cairo-svg.pc +%{mingw32_libdir}/pkgconfig/cairo-tee.pc +%{mingw32_libdir}/pkgconfig/cairo-win32-font.pc +%{mingw32_libdir}/pkgconfig/cairo-win32.pc +%{mingw32_libdir}/pkgconfig/cairo.pc + +%files -n mingw32-cairo-static +%{mingw32_libdir}/libcairo.a +%{mingw32_libdir}/libcairo-gobject.a +%{mingw32_libdir}/libcairo-script-interpreter.a + +# Win64 +%files -n mingw64-cairo +%license COPYING COPYING-LGPL-2.1 COPYING-MPL-1.1 +%{mingw64_bindir}/libcairo-2.dll +%{mingw64_bindir}/libcairo-gobject-2.dll +%{mingw64_bindir}/libcairo-script-interpreter-2.dll +%{mingw64_includedir}/cairo/ +%{mingw64_libdir}/libcairo.dll.a +%{mingw64_libdir}/libcairo-gobject.dll.a +%{mingw64_libdir}/libcairo-script-interpreter.dll.a +%{mingw64_libdir}/pkgconfig/cairo-fc.pc +%{mingw64_libdir}/pkgconfig/cairo-ft.pc +%{mingw64_libdir}/pkgconfig/cairo-gobject.pc +%{mingw64_libdir}/pkgconfig/cairo-pdf.pc +%{mingw64_libdir}/pkgconfig/cairo-png.pc +%{mingw64_libdir}/pkgconfig/cairo-ps.pc +%{mingw64_libdir}/pkgconfig/cairo-script.pc +%{mingw64_libdir}/pkgconfig/cairo-svg.pc +%{mingw64_libdir}/pkgconfig/cairo-tee.pc +%{mingw64_libdir}/pkgconfig/cairo-win32-font.pc +%{mingw64_libdir}/pkgconfig/cairo-win32.pc +%{mingw64_libdir}/pkgconfig/cairo.pc + +%files -n mingw64-cairo-static +%{mingw64_libdir}/libcairo.a +%{mingw64_libdir}/libcairo-gobject.a +%{mingw64_libdir}/libcairo-script-interpreter.a + + +%changelog +* Thu Aug 16 2018 Eduardo Lima (Etrunko) - 1.14.10-4 +- ExclusiveArch: i686, x86_64 + Related: rhbz#1615874 + +* Thu Feb 08 2018 Fedora Release Engineering - 1.14.10-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 1.14.10-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Mon Jun 19 2017 Kalev Lember - 1.14.10-1 +- Update to 1.14.10 + +* Fri Feb 10 2017 Fedora Release Engineering - 1.14.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Thu Apr 21 2016 Kalev Lember - 1.14.6-1 +- Update to 1.14.6 + +* Thu Feb 04 2016 Fedora Release Engineering - 1.14.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Sat Oct 31 2015 Kalev Lember - 1.14.4-1 +- Update to 1.14.4 + +* Sat Aug 22 2015 Kalev Lember - 1.14.2-3 +- Backport upstream patches to add API required by gtk3 + +* Wed Jun 17 2015 Fedora Release Engineering - 1.14.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Mon Apr 20 2015 Kalev Lember - 1.14.2-1 +- Update to 1.14.2 +- Use the license macro for COPYING files + +* Thu Jan 1 2015 Erik van Pienbroek - 1.14.0-1 +- Update to 1.14.0 + +* Thu Jan 1 2015 Erik van Pienbroek - 1.12.18-1 +- Update to 1.12.18 + +* Sat Jun 07 2014 Fedora Release Engineering - 1.12.16-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Sat May 24 2014 Erik van Pienbroek - 1.12.16-2 +- Fix build against gcc 4.9 by disabling LTO + Thanks to LRN for the hint + +* Sat Sep 7 2013 Erik van Pienbroek - 1.12.16-1 +- Update to 1.12.16 + +* Sun Aug 4 2013 Erik van Pienbroek - 1.12.14-5 +- Fix assertion failure when using the latest gtk3 (RHBZ #991829, FD BZ #63787) + +* Sat Aug 03 2013 Fedora Release Engineering - 1.12.14-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Sat Jul 13 2013 Erik van Pienbroek - 1.12.14-3 +- Rebuild against libpng 1.6 + +* Tue Apr 2 2013 Marc-André Lureau - 1.12.14-2 +- Fix corrupted drawing, cherry-picked from upstream (fdo#61876) +- Add a few windows related fixes + +* Fri Mar 29 2013 Kalev Lember - 1.12.14-1 +- Update to 1.12.14 + +* Thu Feb 14 2013 Fedora Release Engineering - 1.12.10-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Wed Jan 16 2013 Erik van Pienbroek - 1.12.10-1 +- Update to 1.12.10 + +* Fri Nov 23 2012 Kalev Lember - 1.12.8-1 +- Update to 1.12.8 + +* Fri Oct 26 2012 Kalev Lember - 1.12.6-1 +- Update to 1.12.6 + +* Fri Jul 20 2012 Fedora Release Engineering - 1.10.2-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Sun Mar 18 2012 Kalev Lember - 1.10.2-13 +- Manually Require fontconfig and freetype, now that they are delay-loaded + +* Sat Mar 17 2012 Erik van Pienbroek - 1.10.2-12 +- Make freetype/fontconfig an optional runtime dependency (delay-load) + +* Sun Mar 11 2012 Erik van Pienbroek - 1.10.2-11 +- Added win64 support +- Enable tee support + +* Tue Mar 06 2012 Erik van Pienbroek - 1.10.2-10 +- Renamed the source package to mingw-cairo (RHBZ #800373) +- Use mingw macros without leading underscore + +* Tue Feb 28 2012 Erik van Pienbroek - 1.10.2-9 +- Rebuild against the mingw-w64 toolchain + +* Thu Feb 09 2012 Kalev Lember - 1.10.2-8 +- Enable cairo-fc and cairo-ft + (needed by e.g. poppler and webkitgtk freetype font backend) + +* Thu Feb 09 2012 Kalev Lember - 1.10.2-7 +- Apply patches recommended by the GTK+ Windows team: +- Fix A1 format win32 surfaces +- Reset clip region when writing fallback results + +* Tue Jan 24 2012 Erik van Pienbroek - 1.10.2-6 +- Rebuild against libpng 1.5 +- Dropped .la files +- Dropped unneeded RPM tags + +* Fri Jan 13 2012 Fedora Release Engineering - 1.10.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Wed Jul 06 2011 Kalev Lember - 1.10.2-4 +- Rebuilt against win-iconv + +* Thu Apr 28 2011 Kalev Lember - 1.10.2-3 +- Really rebuild without proxy-libintl + +* Wed Apr 27 2011 Erik van Pienbroek - 1.10.2-2 +- Dropped the proxy-libintl pieces + +* Mon Apr 25 2011 Kalev Lember - 1.10.2-1 +- Update to 1.10.2 + +* Tue Feb 08 2011 Fedora Release Engineering - 1.10.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Sun Nov 7 2010 Erik van Pienbroek - 1.10.0-2 +- Rebuild in order to have soft dependency on libintl + +* Fri Sep 24 2010 Erik van Pienbroek - 1.10.0-1 +- Update to 1.10.0 +- Added the GObject library +- Fixed a small rpmlint warning + +* Sun Jul 4 2010 Erik van Pienbroek - 1.8.10-2 +- Rebuild for libpng 1.4 + +* Wed Feb 24 2010 Erik van Pienbroek - 1.8.10-1 +- Update to 1.8.10 +- Dropped BR: mingw32-dlfcn as it's unneeded + +* Thu Aug 13 2009 Erik van Pienbroek - 1.8.8-1 +- Update to 1.8.8 +- Automatically generate debuginfo subpackage +- Use %%global instead of %%define + +* Sat Jul 25 2009 Fedora Release Engineering - 1.8.6-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Fri Apr 3 2009 Erik van Pienbroek - 1.8.6-2 +- Fixed %%defattr line +- Added -static subpackage +- Use ./configure --disable-pthread to avoid conflict with native pthread library + +* Tue Mar 10 2009 Richard W.M. Jones - 1.8.6-1 +- Rebase to 1.8.6, same as Fedora native version. +- Source URL corrected. + +* Wed Feb 25 2009 Fedora Release Engineering - 1.8.0-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Fri Feb 20 2009 Richard W.M. Jones - 1.8.0-8 +- Rebuild for mingw32-gcc 4.4 + +* Wed Jan 28 2009 Richard W.M. Jones - 1.8.0-7 +- Remove gtk-doc (Levente Farkas). + +* Mon Jan 26 2009 Richard W.M. Jones - 1.8.0-6 +- Requires pkgconfig (Erik van Pienbroek). + +* Mon Jan 26 2009 Richard W.M. Jones - 1.8.0-5 +- Don't need to remove extra pkgconfig file in install section. + +* Mon Jan 26 2009 Richard W.M. Jones - 1.8.0-4 +- Disable freetype in configure so it doesn't break if freetype + or fontconfig are actually installed. (Erik van Pienbroek). + +* Mon Jan 19 2009 Richard W.M. Jones - 1.8.0-3 +- Include license file in documentation section. +- Disable building static library to save time. +- Remove BRs on mingw32-fontconfig and mingw32-freetype which are + not needed on Win32. +- Use _smp_mflags. +- Added BRs mingw32-dlfcn, mingw32-iconv, mingw32-zlib. + +* Wed Oct 29 2008 Richard W.M. Jones - 1.8.0-2 +- Fix mixed spaces/tabs in specfile. + +* Fri Oct 24 2008 Richard W.M. Jones - 1.8.0-1 +- New upstream version 1.8.0. + +* Wed Sep 24 2008 Richard W.M. Jones - 1.7.4-4 +- Rename mingw -> mingw32. + +* Thu Sep 11 2008 Daniel P. Berrange - 1.7.4-3 +- Added dep on pkgconfig + +* Wed Sep 10 2008 Richard W.M. Jones - 1.7.4-2 +- Remove static libraries. +- Fix source URL. + +* Tue Sep 9 2008 Daniel P. Berrange - 1.7.4-1 +- Initial RPM release