summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorBuildTools2015-11-01 01:39:56 -0700
committerBuildTools2015-11-01 01:39:56 -0700
commitc82f007b5d33f12fff6806e30aad20014d1ff723 (patch)
tree9872639192cd688d7a17aed1e349e78a62cb4f89
parent3aa0b1683b57b69efb6dda29debb61189a6c0770 (diff)
downloadaur-c82f007b5d33f12fff6806e30aad20014d1ff723.tar.gz
1.14.4
-rw-r--r--.SRCINFO10
-rw-r--r--0031-ad-Win32-boilerplate.patch304
-rw-r--r--PKGBUILD13
3 files changed, 9 insertions, 318 deletions
diff --git a/.SRCINFO b/.SRCINFO
index ae7b9296e7b6..8a1970c9c965 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = mingw-w64-cairo
pkgdesc = Cairo vector graphics library (mingw-w64)
- pkgver = 1.14.2
- pkgrel = 5
+ pkgver = 1.14.4
+ pkgrel = 1
url = http://cairographics.org/
arch = any
license = LGPL
@@ -16,16 +16,14 @@ pkgbase = mingw-w64-cairo
options = !strip
options = !buildflags
options = staticlibs
- source = http://cairographics.org/releases/cairo-1.14.2.tar.xz
+ source = http://cairographics.org/releases/cairo-1.14.4.tar.xz
source = 0009-standalone-headers.mingw.patch
source = 0026-create-argb-fonts.all.patch
source = 0030-add-cairo-API-to-setup-Win32-surface-for-HDC.patch
- source = 0031-ad-Win32-boilerplate.patch
- sha1sums = c8da68aa66ca0855b5d0ff552766d3e8679e1d24
+ sha1sums = 5b44471e7c328f96de6830baf8ea65030de797f9
sha1sums = 58c548d2791ba20dd7f6e328ff596f746df3aa10
sha1sums = 9c0e533614782a41af2c3806a43ab7fe9d6a5431
sha1sums = c0c9546f120133b8e5b116650ba233a15a1e20c4
- sha1sums = f0ce67743fe91668bbbd7bbbabdd2e74b9137026
pkgname = mingw-w64-cairo
diff --git a/0031-ad-Win32-boilerplate.patch b/0031-ad-Win32-boilerplate.patch
deleted file mode 100644
index 90578fe55f12..000000000000
--- a/0031-ad-Win32-boilerplate.patch
+++ /dev/null
@@ -1,304 +0,0 @@
-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?= <lrn1986@gmail.com>
-Date: Sat, 4 Apr 2015 15:58:53 +0000
-Subject: 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 <bryce@osg.samsung.com>
-
-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 <cairo-win32.h>
-
-+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,
-+ _cairo_boilerplate_get_image_surface,
-+ cairo_surface_write_to_png,
-+ 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,
-+ NULL,
-+ NULL,
- _cairo_boilerplate_get_image_surface,
- cairo_surface_write_to_png,
-- NULL, NULL, NULL, FALSE, FALSE, FALSE
-+ _cairo_boilerplate_win32_cleanup_window_surface,
-+ NULL,
-+ NULL,
-+ FALSE, FALSE, FALSE
- },
- };
- CAIRO_BOILERPLATE (win32, targets)
---
-cgit v0.10.2
diff --git a/PKGBUILD b/PKGBUILD
index f6fe64ab1eea..f3303f4d5e04 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,7 +1,7 @@
# Contributor: Xiao-Long Chen <chenxiaolong@cxl.epac.to>
pkgname=mingw-w64-cairo
-pkgver=1.14.2
-pkgrel=5
+pkgver=1.14.4
+pkgrel=1
pkgdesc="Cairo vector graphics library (mingw-w64)"
arch=(any)
url="http://cairographics.org/"
@@ -12,13 +12,11 @@ options=(!strip !buildflags staticlibs)
source=("http://cairographics.org/releases/cairo-${pkgver}.tar.xz"
"0009-standalone-headers.mingw.patch"
"0026-create-argb-fonts.all.patch"
-"0030-add-cairo-API-to-setup-Win32-surface-for-HDC.patch"
-"0031-ad-Win32-boilerplate.patch")
-sha1sums=('c8da68aa66ca0855b5d0ff552766d3e8679e1d24'
+"0030-add-cairo-API-to-setup-Win32-surface-for-HDC.patch")
+sha1sums=('5b44471e7c328f96de6830baf8ea65030de797f9'
'58c548d2791ba20dd7f6e328ff596f746df3aa10'
'9c0e533614782a41af2c3806a43ab7fe9d6a5431'
- 'c0c9546f120133b8e5b116650ba233a15a1e20c4'
- 'f0ce67743fe91668bbbd7bbbabdd2e74b9137026')
+ 'c0c9546f120133b8e5b116650ba233a15a1e20c4')
_architectures="i686-w64-mingw32 x86_64-w64-mingw32"
@@ -27,7 +25,6 @@ prepare() {
patch -p1 -i ${srcdir}/0009-standalone-headers.mingw.patch
patch -p1 -i ${srcdir}/0026-create-argb-fonts.all.patch
patch -p1 -i ${srcdir}/0030-add-cairo-API-to-setup-Win32-surface-for-HDC.patch
- patch -p1 -i ${srcdir}/0031-ad-Win32-boilerplate.patch
autoreconf -fi
}